@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');
:root{--accent:#2563eb;--accent-soft:#eff6ff;--bg:#f5f7fb;--surface:#fff;--surface2:#f8fafc;--text:#0f172a;--muted:#64748b;--border:#e5eaf1;--sidebar:#0b1220;--sidebar2:#111b2e;--green:#059669;--amber:#d97706;--red:#dc2626;--shadow:0 8px 30px rgba(15,23,42,.06)}
*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,sans-serif;background:var(--bg);color:var(--text);font-size:14px}.hidden{display:none!important}button,input,select,textarea{font:inherit}button{cursor:pointer}.login-shell{min-height:100vh;display:grid;grid-template-columns:1.08fr .92fr;background:#fff}.login-brand{padding:8vw;display:flex;flex-direction:column;justify-content:center;gap:28px;color:#fff;background:radial-gradient(circle at 15% 20%,#1d4ed8 0,transparent 32%),radial-gradient(circle at 90% 90%,#0f766e 0,transparent 30%),#07101f}.brand-mark{width:62px;height:62px;border-radius:18px;display:grid;place-items:center;background:linear-gradient(135deg,#3b82f6,#14b8a6);color:#fff;font-weight:800;letter-spacing:-1px;box-shadow:0 10px 30px rgba(37,99,235,.28)}.brand-mark.small{width:40px;height:40px;border-radius:12px}.eyebrow{font-size:11px;font-weight:800;letter-spacing:.14em;color:#3b82f6}.login-brand .eyebrow{color:#93c5fd}.login-brand h1{font-size:52px;line-height:1.02;margin:8px 0 18px;letter-spacing:-2px;max-width:620px}.login-brand p{font-size:17px;line-height:1.7;color:#b8c5d8;max-width:620px}.login-kpis{display:flex;gap:12px}.login-kpis div{padding:16px 18px;border:1px solid rgba(255,255,255,.12);border-radius:14px;background:rgba(255,255,255,.05);display:flex;flex-direction:column;gap:5px}.login-kpis span{font-size:12px;color:#a9b8ce}.login-panel{display:grid;place-items:center;padding:40px;background:#f8fafc}.login-card{width:min(440px,100%);background:#fff;border:1px solid var(--border);box-shadow:var(--shadow);border-radius:24px;padding:36px}.login-card h2{font-size:30px;margin:18px 0 8px}.login-card>p{color:var(--muted);margin:0 0 28px}.login-card label,.settings-card label,.modal-card label{display:flex;flex-direction:column;gap:8px;font-size:12px;font-weight:700;margin:16px 0;color:var(--text)}input,select,textarea{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:10px;padding:12px 13px;outline:none;transition:.2s}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 12%,transparent)}.row-between{display:flex;align-items:center;justify-content:space-between;margin:14px 0 20px}.check{flex-direction:row!important;align-items:center;margin:0!important;font-weight:500!important}.check input{width:auto}.primary,.secondary{border:0;border-radius:10px;padding:11px 14px;font-weight:700}.primary{background:var(--accent);color:#fff;box-shadow:0 5px 14px color-mix(in srgb,var(--accent) 24%,transparent)}.secondary{background:var(--surface);color:var(--text);border:1px solid var(--border)}.wide{width:100%;padding:13px}.link-btn{border:0;background:none;color:var(--accent);font-weight:700;padding:0}.login-card small{display:block;text-align:center;color:#94a3b8;margin-top:16px}.pill{display:inline-flex;width:max-content;border-radius:999px;padding:6px 9px;background:var(--accent-soft);color:var(--accent);font-size:10px;font-weight:800;letter-spacing:.06em}.mobile-brand{display:none}.app{display:flex;min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:244px;background:linear-gradient(180deg,var(--sidebar),var(--sidebar2));color:#cbd5e1;padding:18px 12px;display:flex;flex-direction:column;z-index:20}.sidebar-brand{display:flex;gap:11px;align-items:center;padding:4px 8px 20px}.sidebar-brand strong,.sidebar-brand span{display:block}.sidebar-brand strong{color:#fff}.sidebar-brand span{font-size:11px;color:#7890ad;margin-top:3px}.sidebar nav{overflow:auto;flex:1}.nav-item{width:100%;display:flex;gap:12px;align-items:center;padding:10px 12px;margin:2px 0;border:0;border-radius:9px;background:transparent;color:#9fb0c5;text-align:left}.nav-item:hover{background:rgba(255,255,255,.05);color:#fff}.nav-item.active{background:color-mix(in srgb,var(--accent) 22%,transparent);color:#fff}.nav-label{font-size:9px;font-weight:800;letter-spacing:.12em;color:#53657c;margin:20px 12px 7px}.sidebar-footer{display:flex;align-items:center;gap:9px;padding:13px 8px 3px;border-top:1px solid rgba(255,255,255,.07)}.avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#1e293b;color:#fff;font-size:11px;font-weight:800}.sidebar-footer div:nth-child(2){flex:1}.sidebar-footer b,.sidebar-footer span{display:block;font-size:10px}.sidebar-footer b{color:#fff}.sidebar-footer span{color:#71839b;margin-top:2px}.sidebar-footer button{border:0;background:none;color:#71839b}.main{margin-left:244px;min-width:0;flex:1}.topbar{height:66px;position:sticky;top:0;z-index:15;background:color-mix(in srgb,var(--surface) 94%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 28px}.breadcrumbs{font-size:12px;color:var(--muted)}.breadcrumbs span{margin:0 7px;color:#cbd5e1}.breadcrumbs b{color:var(--text)}.top-actions{display:flex;align-items:center;gap:9px}.search{height:38px;display:flex;align-items:center;gap:8px;background:var(--surface2);border:1px solid var(--border);border-radius:9px;padding:0 10px;color:#94a3b8}.search input{border:0;padding:0;background:transparent;width:220px;box-shadow:none!important}.icon-btn{width:38px;height:38px;border-radius:9px;border:1px solid var(--border);background:var(--surface);color:var(--text);position:relative}.icon-btn i{position:absolute;width:6px;height:6px;background:#ef4444;border-radius:50%;top:7px;right:7px}.content{padding:28px;max-width:1700px;margin:auto}.page{display:none}.page.active{display:block}.page-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:22px;gap:20px}.page-head h1{font-size:26px;letter-spacing:-.7px;margin:6px 0}.page-head p{margin:0;color:var(--muted);font-size:13px}.page-actions{display:flex;gap:8px}.alert{display:flex;align-items:center;gap:12px;border:1px solid #bbf7d0;background:#f0fdf4;border-radius:11px;padding:11px 14px;margin-bottom:16px;color:#166534}.alert>span{width:26px;height:26px;border-radius:50%;background:#dcfce7;display:grid;place-items:center;font-weight:800}.alert div{flex:1}.alert b,.alert small{display:block}.alert small{font-size:11px;margin-top:2px;color:#4d7c5b}.alert button{border:0;background:none;color:#86a88e}.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.kpi,.card,.mini-stat{background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow)}.kpi{padding:18px;min-height:154px;position:relative;overflow:hidden}.kpi-top{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:11px;font-weight:700}.kpi-top em{font-style:normal;width:30px;height:30px;display:grid;place-items:center;border-radius:8px;background:var(--accent-soft);color:var(--accent)}.kpi h2{font-size:25px;margin:13px 0 8px;letter-spacing:-.8px}.trend{font-size:11px;font-weight:800}.trend span{font-weight:500;color:var(--muted)}.up{color:var(--green)}.warn{color:var(--amber)}.spark{position:absolute;right:15px;bottom:14px;width:92px;height:36px;display:flex;align-items:end;gap:4px}.spark i{flex:1;background:color-mix(in srgb,var(--accent) 25%,transparent);border-radius:3px 3px 0 0}.progress,.split{height:5px;background:#eef2f7;border-radius:99px;overflow:hidden;margin:15px 0 8px;display:flex}.progress i,.split i{display:block;background:var(--accent);border-radius:99px}.split b{background:#f59e0b}.kpi small{color:var(--muted);font-size:10px}.grid-2{display:grid;grid-template-columns:1.25fr 1fr;gap:14px;margin-top:14px}.grid-3{display:grid;grid-template-columns:1.1fr .8fr 1fr;gap:14px;margin:14px 0}.card{padding:18px}.card-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}.card h3{font-size:14px;margin:0 0 4px}.card p{font-size:10px;color:var(--muted);margin:0}.dots{border:0;background:none;color:var(--muted)}.pill.green{background:#ecfdf5;color:#047857}.chart-wrap{height:245px}.donut-layout{display:flex;align-items:center;gap:20px}.donut{width:145px;height:145px;position:relative}.donut-center{position:absolute;inset:0;display:grid;place-content:center;text-align:center;pointer-events:none}.donut-center b{font-size:20px}.donut-center span{font-size:9px;color:var(--muted)}.legend{flex:1}.legend div{display:grid;grid-template-columns:9px 1fr auto;align-items:center;gap:8px;padding:6px 0;font-size:10px}.legend i{width:7px;height:7px;border-radius:50%;background:var(--accent)}.legend div:nth-child(2) i{opacity:.7}.legend div:nth-child(3) i{background:#f59e0b}.legend div:nth-child(4) i{background:#ef4444}.legend span{color:var(--muted)}.budget-ring{width:118px;height:118px;border-radius:50%;margin:12px auto 18px;background:conic-gradient(var(--accent) 64%,#e8edf4 0);display:grid;place-items:center}.budget-ring>div{width:84px;height:84px;border-radius:50%;background:var(--surface);display:grid;place-content:center;text-align:center}.budget-ring span{font-size:22px;font-weight:800}.budget-ring small{font-size:9px;color:var(--muted)}.budget-row{display:flex;justify-content:space-between;border-top:1px solid var(--border);padding:8px 0;font-size:10px}.budget-row span{color:var(--muted)}.badge{min-width:22px;height:22px;padding:0 6px;border-radius:99px;background:#fef2f2;color:#dc2626;display:grid;place-items:center;font-size:10px;font-weight:800}.attention>div{display:flex;align-items:center;gap:10px;padding:11px 0;border-top:1px solid var(--border)}.attention em{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;font-style:normal;font-weight:800}.attention .red{background:#fef2f2;color:#dc2626}.attention .amber{background:#fffbeb;color:#d97706}.attention .blue{background:#eff6ff;color:#2563eb}.attention div div{flex:1}.attention b,.attention span{display:block;font-size:10px}.attention span{color:var(--muted);margin-top:3px}.attention strong{color:#94a3b8}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:760px}th{text-align:left;font-size:9px;letter-spacing:.05em;color:#94a3b8;padding:10px;border-bottom:1px solid var(--border)}td{padding:12px 10px;border-bottom:1px solid var(--border);font-size:10px}td b,td small{display:block}td small{color:var(--muted);margin-top:3px}.positive{color:var(--green);font-weight:700}.status{display:inline-flex;padding:5px 8px;border-radius:99px;font-weight:700}.paid{background:#ecfdf5;color:#047857}.pending{background:#fff7ed;color:#c2410c}.review{background:#eff6ff;color:#1d4ed8}.stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:14px}.mini-stat{padding:16px}.mini-stat span,.mini-stat b{display:block}.mini-stat span{font-size:10px;color:var(--muted)}.mini-stat b{font-size:20px;margin-top:6px}.toolbar{display:flex;justify-content:space-between;gap:12px;margin-bottom:14px}.wide-search{width:min(420px,100%)}.wide-search input{width:100%}.toolbar select{padding:9px}.user-cell{display:flex;align-items:center;gap:9px}.user-avatar{width:32px;height:32px;border-radius:50%;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center;font-weight:800}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.settings-card>p{margin-bottom:18px}.settings-card.full{grid-column:1/-1}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.upload-row{display:flex;align-items:center;gap:14px;padding:13px 0;border-top:1px solid var(--border)}.asset-preview{width:50px;height:50px;border-radius:10px;border:1px dashed #b8c4d3;display:grid;place-items:center;background:var(--surface2);font-weight:800;overflow:hidden}.asset-preview img{width:100%;height:100%;object-fit:contain}.logo-preview{width:72px}.asset-preview.rounded{border-radius:14px}.upload-row>div:nth-child(2){display:flex;flex-direction:column;align-items:flex-start;gap:4px}.upload-row span{font-size:10px;color:var(--muted)}.file-btn{font-size:10px;padding:7px 9px;margin-top:5px}.file-btn input{display:none}.theme-options{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.theme-card{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:12px;padding:10px;text-align:left}.theme-card.selected{border:2px solid var(--accent);padding:9px}.theme-card b,.theme-card small{display:block;margin-top:8px}.theme-card small{color:var(--muted);font-size:9px;margin-top:2px}.theme-mock{height:90px;border-radius:8px;padding:8px;display:grid;grid-template-columns:25% 1fr;grid-template-rows:25% 1fr;gap:5px;overflow:hidden}.theme-mock i{grid-row:1/-1;border-radius:4px}.theme-mock span{border-radius:4px}.light-mock{background:#f4f7fb}.light-mock i{background:#0f172a}.light-mock span{background:#fff}.dark-mock{background:#111827}.dark-mock i{background:#050b16}.dark-mock span{background:#263244}.midnight-mock{background:#071425}.midnight-mock i{background:#102b4c}.midnight-mock span{background:#12345a}.accent-row{display:flex;align-items:center;justify-content:space-between;margin-top:20px;padding-top:18px;border-top:1px solid var(--border)}.accent-row b,.accent-row span{display:block}.accent-row span{font-size:10px;color:var(--muted);margin-top:4px}.color-picks{display:flex;align-items:center;gap:8px}.color-picks button{width:28px;height:28px;border-radius:50%;background:var(--c);border:3px solid var(--surface);box-shadow:0 0 0 1px var(--border)}.color-picks button.selected{box-shadow:0 0 0 2px var(--text)}#customColor{width:32px;height:32px;padding:0;border-radius:50%;overflow:hidden}dialog{border:0;padding:0;background:transparent}dialog::backdrop{background:rgba(2,6,23,.55);backdrop-filter:blur(3px)}.modal-card{width:min(520px,calc(100vw - 30px));background:var(--surface);color:var(--text);border-radius:18px;padding:22px}.modal-head{display:flex;justify-content:space-between;align-items:flex-start}.modal-head h2{margin:8px 0}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.toast{position:fixed;right:24px;bottom:24px;padding:12px 16px;background:#0f172a;color:#fff;border-radius:10px;box-shadow:var(--shadow);z-index:100;transform:translateY(100px);opacity:0;transition:.25s}.toast.show{transform:none;opacity:1}.mobile-only{display:none}
body[data-theme="dark"]{--bg:#0b1220;--surface:#111827;--surface2:#172033;--text:#e5edf8;--muted:#8fa1b8;--border:#263349;--accent-soft:#172554;--shadow:none}
body[data-theme="midnight"]{--bg:#06111f;--surface:#0b1d31;--surface2:#102944;--text:#e7f2ff;--muted:#8da9c5;--border:#173755;--accent-soft:#0d3157;--sidebar:#030a13;--sidebar2:#07172a;--shadow:none}
@media(max-width:1100px){.kpi-grid{grid-template-columns:repeat(2,1fr)}.grid-2,.grid-3{grid-template-columns:1fr}.grid-3{grid-template-columns:repeat(2,1fr)}.grid-3 .card:last-child{grid-column:1/-1}.login-brand{padding:6vw}.login-brand h1{font-size:42px}.search{display:none}}
@media(max-width:760px){.login-shell{grid-template-columns:1fr}.login-brand{display:none}.login-panel{min-height:100vh;padding:20px}.mobile-brand{display:flex;align-items:center;gap:10px;margin-bottom:24px}.mobile-brand .brand-mark{width:42px;height:42px;border-radius:12px}.sidebar{transform:translateX(-100%);transition:.25s}.sidebar.open{transform:none}.main{margin-left:0}.mobile-only{display:inline-grid}.topbar{padding:0 14px}.top-actions .primary{display:none}.content{padding:18px 14px}.page-head{align-items:flex-start;flex-direction:column}.kpi-grid,.grid-3,.stats-row,.settings-grid,.theme-options{grid-template-columns:1fr}.grid-3 .card:last-child,.settings-card.full{grid-column:auto}.form-grid{grid-template-columns:1fr}.page-actions{width:100%}.page-actions button{flex:1}.donut-layout{flex-direction:column}.legend{width:100%}.toolbar{flex-direction:column}.accent-row{align-items:flex-start;gap:14px;flex-direction:column}.login-card{padding:26px 22px}}

/* REAL ACCOUNTING WORKSPACE */
.accounting-panel{display:none}
.accounting-panel.active{display:block}
.accounting-tab.active{
  background:var(--accent);
  color:#fff;
  border-color:var(--accent)
}
.accounting-message{
  margin-bottom:14px;
  padding:12px 14px;
  border-radius:10px;
  border:1px solid var(--border);
  background:var(--surface);
  font-size:12px
}
.accounting-message.error{
  display:block!important;
  border-color:#fecaca;
  background:#fef2f2;
  color:#b91c1c
}
.accounting-message.success{
  display:block!important;
  border-color:#bbf7d0;
  background:#f0fdf4;
  color:#166534
}
.coa-card-head{align-items:center}
.coa-code{font-weight:800;font-variant-numeric:tabular-nums}
.coa-name{font-weight:700}
.coa-subtype{color:var(--muted)}
.coa-actions{display:flex;gap:5px}
.coa-actions button{
  border:1px solid var(--border);
  background:var(--surface);
  color:var(--text);
  border-radius:7px;
  padding:6px 8px;
  font-size:9px;
  font-weight:700
}
.coa-actions button:hover{border-color:var(--accent);color:var(--accent)}
.coa-actions .danger:hover{border-color:#ef4444;color:#dc2626}
.account-type{
  display:inline-flex;
  text-transform:capitalize;
  font-weight:700;
  font-size:9px;
  padding:5px 7px;
  border-radius:99px;
  background:var(--surface2)
}
.account-checks{
  display:flex;
  flex-wrap:wrap;
  gap:20px;
  margin-top:18px;
  padding:14px;
  border:1px solid var(--border);
  border-radius:10px;
  background:var(--surface2)
}
.account-checks .check{font-size:11px}
#coaTable tbody tr.inactive-row{opacity:.48}
#coaTable tbody tr.header-row td{background:var(--surface2)}
#coaTable tbody tr.header-row .coa-name{font-weight:800}

@media(max-width:760px){
  #accounting .page-actions{
    overflow:auto;
    padding-bottom:4px
  }
  #accounting .page-actions button{
    min-width:max-content
  }
}
