*,:before,:after{box-sizing:border-box}body{color:#e2e8f0;-webkit-font-smoothing:antialiased;background:#0b1120;margin:0;font-family:Inter,system-ui,-apple-system,sans-serif}a{color:inherit}:root{--navy:#0b1120;--slate:#141e30;--blue:#2563eb;--cyan:#06b6d4;--text:#e2e8f0;--muted:#94a3b8;--border:#1e3a5f;--error:#ef4444}.login-page{background:var(--navy);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.login-card{background:var(--slate);border:1px solid var(--border);border-radius:12px;width:100%;max-width:400px;padding:40px}.login-logo{flex-direction:column;align-items:center;margin-bottom:32px;display:flex}.login-logo-text{color:var(--text);letter-spacing:-.02em;font-size:1.5rem;font-weight:700}.login-logo-sub{color:var(--cyan);letter-spacing:.05em;text-transform:uppercase;margin-top:4px;font-size:.85rem}.login-form{flex-direction:column;gap:16px;display:flex}.form-group{flex-direction:column;gap:6px;display:flex}.form-group label{color:var(--muted);font-size:.85rem}.form-group input{background:var(--navy);border:1px solid var(--border);color:var(--text);border-radius:8px;outline:none;padding:10px 14px;font-size:.95rem;transition:border-color .2s}.form-group input:focus{border-color:var(--cyan)}.btn-primary{background:var(--cyan);color:var(--navy);cursor:pointer;border:none;border-radius:8px;margin-top:4px;padding:12px;font-size:.95rem;font-weight:600;transition:opacity .2s}.btn-primary:hover{opacity:.9}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.login-divider{color:var(--muted);align-items:center;gap:12px;margin:20px 0;font-size:.85rem;display:flex}.login-divider:before,.login-divider:after{content:"";background:var(--border);flex:1;height:1px}.btn-google{color:#1a1a1a;cursor:pointer;background:#fff;border:none;border-radius:8px;justify-content:center;align-items:center;gap:10px;width:100%;padding:11px;font-size:.95rem;font-weight:500;transition:opacity .2s;display:flex}.btn-google:hover{opacity:.9}.btn-link{color:var(--cyan);cursor:pointer;text-align:center;background:0 0;border:none;width:100%;margin-top:16px;font-size:.85rem;display:block}.login-error{color:var(--error);margin:0;font-size:.85rem}.reset-instructions{color:var(--muted);margin:0 0 8px;font-size:.9rem}.reset-sent{color:var(--cyan);text-align:center;padding:16px 0}:root{--navy:#0b1120;--slate:#141e30;--blue:#2563eb;--cyan:#06b6d4;--text:#e2e8f0;--muted:#94a3b8;--border:#1e3a5f}body{background:var(--navy);color:var(--text);margin:0;font-family:Inter,sans-serif}.loading{height:100vh;color:var(--muted);justify-content:center;align-items:center;display:flex}.dashboard-header{background:var(--slate);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:16px 32px;display:flex}.dashboard-brand{color:var(--text);font-size:1.1rem;font-weight:700}.dashboard-brand span{color:var(--cyan);margin-left:6px;font-weight:400}.dashboard-user{color:var(--muted);align-items:center;gap:16px;font-size:.88rem;display:flex}.btn-signout{border:1px solid var(--border);color:var(--muted);cursor:pointer;background:0 0;border-radius:6px;padding:6px 14px;font-size:.85rem;transition:border-color .2s}.btn-signout:hover{border-color:var(--cyan);color:var(--text)}.dashboard-main{max-width:1000px;margin:0 auto;padding:40px 24px}.dashboard-welcome h1{margin:0 0 4px;font-size:1.6rem;font-weight:700}.dashboard-welcome p{color:var(--muted);margin:0 0 32px}.invoices-section h2{color:var(--text);margin:0 0 16px;font-size:1.1rem;font-weight:600}.no-invoices{color:var(--muted)}.invoices-table-wrap{border:1px solid var(--border);border-radius:10px;overflow-x:auto}.invoices-table{border-collapse:collapse;width:100%;font-size:.9rem}.invoices-table th{background:var(--slate);text-align:left;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;padding:12px 16px;font-size:.8rem;font-weight:500}.invoices-table td{border-top:1px solid var(--border);color:var(--text);padding:14px 16px}.invoices-table tr:hover td{background:var(--slate)}.btn-view{border:1px solid var(--cyan);color:var(--cyan);cursor:pointer;background:0 0;border-radius:6px;padding:5px 14px;font-size:.83rem;transition:background .2s}.btn-view:hover{background:var(--cyan);color:var(--navy)}input[type=date]::-webkit-calendar-picker-indicator{filter:invert(.6)sepia()saturate(3)hue-rotate(160deg);cursor:pointer}
