:root{--bg:#f7f8fb;--surface:#fff;--surface2:#fbfcfe;--text:#172033;--muted:#697386;--line:#e6e9ef;--brand:#2563eb;--brand-dark:#1d4ed8;--nav:#101827;--nav2:#1a2639;--navtext:#cbd5e1;--success:#0f9f6e;--warning:#b7791f;--danger:#c53030;--shadow:0 6px 22px rgba(16,24,40,.06)}*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:var(--text);background:var(--bg);font-size:14px}a{color:inherit}button,input,select,textarea{font:inherit}button{cursor:pointer}.app{min-height:100vh;display:flex}.sidebar{position:fixed;z-index:20;left:0;top:0;bottom:0;width:250px;background:var(--nav);color:#fff;padding:18px 13px;display:flex;flex-direction:column;overflow:auto}.brand{display:flex;align-items:center;gap:11px;padding:6px 9px 18px}.brandmark{width:38px;height:38px;border-radius:11px;background:linear-gradient(135deg,#3b82f6,#1d4ed8);display:grid;place-items:center;font-weight:800;font-size:13px;box-shadow:0 6px 16px rgba(37,99,235,.25)}.brand b{display:block;font-size:15px;line-height:1.2}.brand small{display:block;color:#94a3b8;font-size:11px;margin-top:3px}.orgswitch{margin:0 4px 17px;padding:10px 12px;border:1px solid #27364e;background:#131e31;border-radius:9px;color:#dbe4f0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px}nav{display:flex;flex-direction:column;gap:2px}nav a,.sidebarbottom a{display:flex;align-items:center;gap:10px;padding:9px 11px;color:var(--navtext);text-decoration:none;border-radius:8px;font-weight:500}nav a:hover,nav a.active,.sidebarbottom a:hover{background:var(--nav2);color:#fff}nav a span{width:19px;text-align:center;opacity:.9}.sidebarbottom{margin-top:auto;padding-top:14px;border-top:1px solid #253247}.main{margin-left:250px;width:calc(100% - 250px);min-width:0;padding:25px 32px 50px}header{height:55px;display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.eyebrow{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-weight:700}.main h1{font-size:26px;line-height:1.15;margin:5px 0 0;letter-spacing:-.02em}.headright{display:flex;align-items:center;gap:12px;color:#4b5563}.rolebadge,.pill{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;background:#eef2ff;color:#3730a3;font-size:11px;font-weight:700}.metricgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:18px}.metric{background:var(--surface);border:1px solid var(--line);border-radius:13px;padding:18px;box-shadow:var(--shadow)}.metric span,.metric small{display:block;color:var(--muted);font-size:12px}.metric b{display:block;font-size:24px;margin:9px 0 3px;letter-spacing:-.02em}.grid2{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,1fr);gap:18px}.panel{background:var(--surface);border:1px solid var(--line);border-radius:13px;padding:20px;margin-bottom:18px;box-shadow:var(--shadow)}.panel.inner{background:var(--surface2);box-shadow:none}.panelhead{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.panelhead h2,h2{margin:0 0 5px;font-size:17px;letter-spacing:-.01em}.panelhead small,.muted{color:var(--muted)}.toolbar{display:flex;align-items:center;gap:9px;margin-bottom:15px;flex-wrap:wrap}.button,button{border:1px solid #d7dce5;background:#fff;color:var(--text);padding:9px 13px;border-radius:8px;text-decoration:none;font-weight:650;line-height:1.2}.button:hover,button:hover{border-color:#b8c1cf;background:#f8fafc}.button.primary,button.primary{background:var(--brand);border-color:var(--brand);color:#fff}.button.primary:hover,button.primary:hover{background:var(--brand-dark);border-color:var(--brand-dark)}.wide{width:100%}.quick{display:grid;grid-template-columns:1fr 1fr;gap:10px}.quick a{padding:14px;border:1px solid var(--line);border-radius:9px;text-decoration:none;color:var(--text);background:#fbfcfe;font-weight:600}.quick a:hover{border-color:#bfdbfe;background:#eff6ff}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:12px 10px;border-bottom:1px solid var(--line);vertical-align:middle}th{font-size:11px;text-transform:uppercase;color:var(--muted);letter-spacing:.05em;font-weight:750}td{font-size:13px}td a{color:var(--brand);text-decoration:none}td a:hover{text-decoration:underline}form label{display:block;font-weight:650;color:#334155;margin:0 0 13px}input,select,textarea{display:block;width:100%;border:1px solid #d7dce5;background:#fff;border-radius:8px;padding:10px 11px;margin-top:6px;color:var(--text);outline:none}input:focus,select:focus,textarea:focus{border-color:#93b4f8;box-shadow:0 0 0 3px rgba(37,99,235,.10)}textarea{min-height:95px;resize:vertical}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:18px}.full{grid-column:1/-1}.alert{padding:12px 14px;background:#ecfdf5;color:#065f46;border:1px solid #a7f3d0;border-radius:10px;margin-bottom:15px}.alert.bad{background:#fef2f2;color:#991b1b;border-color:#fecaca}.notice{padding:14px 16px;background:#eff6ff;border:1px solid #bfdbfe;color:#1e40af;border-radius:10px;margin:14px 0}.scroll{overflow:auto}.icon{border:0;background:none;font-size:20px;color:#64748b}.inline{display:inline}.inline select{width:auto;margin:0;padding:6px}.totals{max-width:420px;margin:18px 0 0 auto;text-align:right}.totals>div,.totals>label{display:flex;justify-content:space-between;align-items:center;margin:8px 0}.totals label{font-weight:400}.totals label input{max-width:150px}.grand{font-size:17px;border-top:2px solid var(--line);padding-top:12px}.invoice{max-width:980px;margin:auto;background:#fff;border:1px solid var(--line);padding:46px;box-shadow:0 12px 40px rgba(16,24,40,.08)}.invhead{display:flex;justify-content:space-between;gap:30px;border-bottom:1px solid var(--line);padding-bottom:28px}.logo{width:44px;height:44px;background:#2563eb;color:#fff;border-radius:12px;display:grid;place-items:center;font-weight:800}.right{text-align:right}.taxlabel{font-size:22px;font-weight:800;margin-bottom:10px}.billto{padding:25px 0}.billto small{display:block;color:var(--muted);font-weight:700;margin-bottom:6px}.billto b{display:block;font-size:16px;margin-bottom:4px}.invbottom{display:grid;grid-template-columns:1fr 340px;gap:30px;margin-top:25px}.invtotal{text-align:right}.invtotal>div{display:flex;justify-content:space-between;padding:8px}.invtotal .grand{font-size:18px}.auth{min-height:100vh;display:grid;place-items:center;padding:30px;background:radial-gradient(circle at 20% 20%,#eef4ff 0,#f7f9fc 38%,#f3f5f9 100%)}.authbox{width:min(440px,94vw);background:#fff;border:1px solid var(--line);padding:36px;border-radius:18px;box-shadow:0 22px 70px rgba(15,23,42,.10)}.authbox .brand{justify-content:center;padding-bottom:5px}.authbox .brand b{font-size:16px}.authbox h1{font-size:27px;margin:28px 0 6px}.authbox>p{color:var(--muted);margin:0 0 23px}.authbox form{display:block}.authbox label{margin:0 0 16px}.authbox input{height:44px}.authbox button{height:44px;margin-top:5px}.authlink{text-align:center!important;margin-top:20px!important;color:var(--muted)!important}.authlink a{color:var(--brand);font-weight:650}.center{justify-content:center}@media(max-width:1050px){.metricgrid{grid-template-columns:1fr 1fr}.grid2{grid-template-columns:1fr}}@media(max-width:760px){.sidebar{position:static;width:100%;min-height:auto}.app{display:block}.main{margin:0;width:100%;padding:17px}.sidebar nav{display:grid;grid-template-columns:1fr 1fr}.sidebarbottom{display:none}.metricgrid,.formgrid{grid-template-columns:1fr}.full{grid-column:auto}.invoice{padding:20px}.invhead,.invbottom{display:block}.right{text-align:left;margin-top:20px}.headright{display:none}.quick{grid-template-columns:1fr}}@media print{body{background:#fff}.sidebar,header,.toolbar,.alert{display:none!important}.main{margin:0;padding:0;width:100%}.invoice{border:0;box-shadow:none;max-width:none;padding:20px}}

/* LOGIN FALLBACK / COMPATIBILITY */
body:has(form) { background: #f4f7fb !important; }
body:has(form) > * { }
form { max-width: 460px !important; margin: 26px auto !important; padding: 28px !important; background: #fff !important; border: 1px solid #e5e7eb !important; border-radius: 16px !important; box-shadow: 0 12px 35px rgba(15,23,42,.08) !important; }
form label { display:block !important; margin: 14px 0 7px !important; color:#344054 !important; font-weight:600 !important; }
form input, form select, form textarea { width:100% !important; min-height:44px !important; padding:10px 12px !important; border:1px solid #d0d5dd !important; border-radius:8px !important; outline:none !important; background:#fff !important; }
form input:focus, form select:focus, form textarea:focus { border-color:#2563eb !important; box-shadow:0 0 0 3px rgba(37,99,235,.12) !important; }
form button, form input[type=submit] { width:100% !important; min-height:44px !important; margin-top:18px !important; border:0 !important; border-radius:8px !important; background:#2563eb !important; color:#fff !important; font-weight:700 !important; }
