:root{--ink:#17233a;--muted:#667085;--line:#e6eaf0;--surface:#fff;--canvas:#f5f7fa;--blue:#2563eb;--blue-soft:#eaf1ff;--green:#0b8f62;--green-soft:#e8f7f1;--amber:#b76e00;--amber-soft:#fff5dc}*{box-sizing:border-box}html,body{min-height:100%}body{background:var(--canvas);color:var(--ink);margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}.app-shell{grid-template-rows:68px minmax(0,1fr);grid-template-columns:248px minmax(0,1fr);min-height:100vh;display:grid}.topbar{border-bottom:1px solid var(--line);z-index:5;background:#fff;grid-column:1/-1;justify-content:space-between;align-items:center;padding:0 28px 0 22px;display:flex;position:sticky;top:0}.brand{align-items:center;gap:11px;display:flex}.brand-mark{color:#fff;background:linear-gradient(145deg,#2463eb,#173b8f);border-radius:11px;place-items:center;width:36px;height:36px;font-weight:800;display:grid;box-shadow:0 6px 14px #2563eb35}.brand div{flex-direction:column;line-height:1.15;display:flex}.brand strong{letter-spacing:-.01em;font-size:14px}.brand span:not(.brand-mark){color:var(--muted);margin-top:3px;font-size:11px}.topbar-actions{align-items:center;gap:14px;display:flex}.sync-pill{color:#596579;border:1px solid var(--line);background:#f7f9fb;border-radius:20px;align-items:center;gap:7px;padding:8px 11px;font-size:11px;display:flex}.sync-pill span{background:#19a974;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 3px #dff6ed}.icon-button{color:#fff;background:#ef6257;border:0;border-radius:50%;width:34px;height:34px;font-size:11px;font-weight:700}.user-chip{align-items:center;gap:9px;padding-left:4px;display:flex}.user-chip>span{color:#214e8a;background:#dfe8f7;border-radius:10px;place-items:center;width:34px;height:34px;font-size:11px;font-weight:700;display:grid}.user-chip div{flex-direction:column;display:flex}.user-chip strong{font-size:11px}.user-chip small{color:var(--muted);margin-top:3px;font-size:9px}.sidebar{border-right:1px solid var(--line);background:#fff;flex-direction:column;grid-area:2/1;justify-content:space-between;padding:24px 14px 18px;display:flex}.nav-label{color:#98a2b3;letter-spacing:.11em;text-transform:uppercase;margin:0 12px 9px;font-size:9px;font-weight:800}.nav-label.secondary{margin-top:28px}.nav-item{color:#4f5e73;border-radius:10px;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;min-height:42px;padding:0 11px;font-size:12px;font-weight:550;text-decoration:none;display:grid}.nav-item+.nav-item{margin-top:3px}.nav-item i{place-items:center;width:25px;height:25px;font-size:15px;font-style:normal;display:grid}.nav-item b,.nav-item em{color:#7a8799;text-align:center;background:#eef2f6;border-radius:9px;min-width:22px;padding:3px 6px;font-size:9px;font-style:normal}.nav-item em{color:#d55a19;background:#fff0e7}.nav-item:hover{background:#f5f8fc}.nav-item.active{background:var(--blue-soft);color:#1d59c9;font-weight:700}.nav-item.active i{color:var(--blue)}.sidebar-footer{background:#f6f9fc;border-radius:12px;gap:10px;margin:0 7px;padding:14px 10px;display:flex}.shield{height:27px;color:var(--green);background:var(--green-soft);border-radius:9px;flex:0 0 27px;place-items:center;font-weight:800;display:grid}.sidebar-footer div{flex-direction:column;min-width:0;display:flex}.sidebar-footer strong{font-size:10px}.sidebar-footer small{color:var(--muted);margin-top:3px;font-size:8.5px;line-height:1.35}.workspace{grid-area:2/2;min-width:0;padding:31px 34px 48px}.page-heading{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.eyebrow{color:var(--blue);letter-spacing:.12em;text-transform:uppercase;margin:0 0 7px;font-weight:800;font-size:9px!important}.page-heading h1{letter-spacing:-.035em;margin:0;font-size:27px}.page-heading p{color:var(--muted);margin:8px 0 0;font-size:12px}.heading-actions{gap:9px;margin-top:4px;display:flex}.button{cursor:pointer;border-radius:9px;height:38px;padding:0 15px;font-size:11px;font-weight:700}.button.secondary{color:#354156;background:#fff;border:1px solid #d9dee7}.button.primary{border:1px solid var(--blue);background:var(--blue);color:#fff;box-shadow:0 5px 12px #2563eb25}.button.wide{width:100%}.period-row{align-items:center;gap:18px;margin-top:27px;display:flex}.period-switch{border:1px solid var(--line);background:#fff;border-radius:9px;align-items:center;height:36px;display:flex;overflow:hidden}.period-switch button{color:#738096;background:0 0;border:0;width:32px;height:100%;font-size:18px}.period-switch strong{text-align:center;min-width:122px;font-size:11px}.mode-tabs{background:#e9edf2;border-radius:9px;align-items:center;height:36px;padding:3px;display:flex}.mode-tabs button{color:#677489;background:0 0;border:0;border-radius:7px;height:30px;padding:0 13px;font-size:10px;font-weight:650}.mode-tabs button.selected{color:#23324b;background:#fff;box-shadow:0 1px 5px #17233a12}.filter-button{border:1px solid var(--line);color:#526075;background:#fff;border-radius:9px;height:36px;margin-left:auto;padding:0 12px;font-size:10px}.filter-button span{background:var(--blue-soft);color:var(--blue);border-radius:6px;margin-left:5px;padding:2px 5px;font-weight:800}.notice{background:#f3f7ff;border:1px solid #cdddfb;border-radius:11px;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:12px;margin-top:18px;padding:12px 14px;display:grid}.notice-icon{width:29px;height:29px;color:var(--blue);background:#dce8ff;border-radius:9px;place-items:center;font-weight:800;display:grid}.notice strong{font-size:11px;display:block}.notice p{color:#64748b;margin:3px 0 0;font-size:9.5px}.notice button{color:#1f5aca;background:0 0;border:0;font-size:10px;font-weight:750}.metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-top:17px;display:grid}.metrics article{border:1px solid var(--line);background:#fff;border-radius:12px;min-width:0;padding:16px 17px}.metrics article>span{color:#7c889a;font-size:9px;font-weight:650;display:block}.metrics strong{letter-spacing:-.025em;margin-top:7px;font-size:20px;display:block}.metrics small{color:#98a2b3;margin-top:5px;font-size:8.5px;display:block}.metrics .positive{color:var(--green)}.metrics .payroll-card{background:linear-gradient(145deg,#f7fffb,#ecfaf4);border-color:#a9ddca}.metrics .payroll-card>span,.metrics .payroll-card small{color:#477663}.content-grid{grid-template-columns:minmax(0,1fr) 275px;align-items:start;gap:16px;margin-top:17px;display:grid}.panel{border:1px solid var(--line);background:#fff;border-radius:13px;overflow:hidden;box-shadow:0 3px 12px #17233a07}.panel-head{justify-content:space-between;align-items:center;gap:14px;padding:17px 18px 14px;display:flex}.panel-head.compact{padding-bottom:11px}.panel h2{letter-spacing:-.01em;margin:0;font-size:13px}.panel-head p{color:var(--muted);margin:4px 0 0;font-size:9px}.search{border:1px solid var(--line);color:#a2aab6;border-radius:8px;min-width:180px;padding:8px 10px;font-size:9px}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%}th{color:#8792a4;border-top:1px solid var(--line);border-bottom:1px solid var(--line);text-align:left;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;background:#fafbfc;padding:9px 12px;font-size:8px;font-weight:750}td{vertical-align:middle;border-bottom:1px solid #edf0f4;padding:10px 12px;font-size:9.5px}td:first-child{min-width:190px}td strong{font-size:10px;display:block}td>span:not(.tag){color:#8994a5;margin-top:3px;font-size:8px;display:block}code{color:#4c5a70;background:#f0f3f7;border-radius:6px;padding:4px 6px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:8px}.money{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.money.muted{color:#7f8a9c}.money.available{color:#087754;font-weight:750}.tag{color:#6f7b8d;white-space:nowrap;background:#eef2f6;border-radius:8px;padding:4px 7px;font-size:8px;font-weight:700;display:inline-flex}.tag.payroll{background:var(--green-soft);color:var(--green)}.row-menu{color:#98a2b3;letter-spacing:1px;background:0 0;border:0}.panel-footer{color:#8a95a6;justify-content:space-between;align-items:center;padding:12px 17px;font-size:9px;display:flex}.panel-footer button{color:#2862ca;background:0 0;border:0;font-size:9px;font-weight:700}.right-column{gap:14px;display:grid}.count{color:#ce521d;background:#fff0e9;border-radius:8px;place-items:center;width:25px;height:25px;font-size:10px;font-weight:800;display:grid}.attention-item{border-top:1px solid #edf0f4;grid-template-columns:29px minmax(0,1fr);gap:10px;padding:11px 17px;display:grid}.attention-item>span{color:#3768c5;background:#edf3ff;border-radius:8px;place-items:center;width:27px;height:27px;font-size:11px;font-weight:800;display:grid}.attention-item.warning>span{background:var(--amber-soft);color:var(--amber)}.attention-item.success>span{background:var(--green-soft);color:var(--green)}.attention-item strong{font-size:9.5px;display:block}.attention-item p{color:#818c9d;margin:4px 0 0;font-size:8.5px;line-height:1.35}.quick-action{padding:17px}.quick-icon{background:var(--blue-soft);width:35px;height:35px;color:var(--blue);border-radius:10px;place-items:center;font-size:17px;display:grid}.quick-action h2{margin-top:13px}.quick-action p{color:var(--muted);margin:6px 0 14px;font-size:9px;line-height:1.55}.quick-action small{color:#8a95a6;margin-top:10px;font-size:8px;line-height:1.4;display:block}@media (max-width:1050px){.app-shell{grid-template-columns:74px minmax(0,1fr)}.sidebar{padding-inline:10px}.nav-label,.nav-item span,.nav-item b,.nav-item em,.sidebar-footer div{display:none}.nav-item{grid-template-columns:1fr;place-items:center;padding:0}.nav-item i{font-size:17px}.sidebar-footer{justify-content:center;padding:10px 0}.content-grid{grid-template-columns:1fr}.right-column{grid-template-columns:1fr 1fr}}@media (max-width:760px){.app-shell{display:block}.topbar{height:62px;padding:0 15px}.sync-pill,.user-chip div,.sidebar{display:none}.workspace{padding:23px 15px 40px}.page-heading{display:block}.heading-actions{margin-top:17px}.period-row{flex-wrap:wrap;gap:10px}.filter-button{margin-left:0}.notice{grid-template-columns:32px 1fr}.notice button{grid-column:2;justify-self:start;padding:0}.metrics{grid-template-columns:1fr 1fr}.right-column{grid-template-columns:1fr}.panel-head{flex-direction:column;align-items:flex-start}.search{width:100%}}.nav-item{text-align:left;cursor:pointer;background:0 0;border:0;width:100%}.nav-item:disabled{opacity:.45;cursor:not-allowed}.button{justify-content:center;align-items:center;display:inline-flex}.button.primary:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.link-button{text-decoration:none}.workflow-notice .notice-icon{color:#fff;background:#173b8f}.articles-panel{margin-top:18px}.articles-panel td:nth-child(2){min-width:280px}.tag.draft{color:#a45f00;background:#fff2d7}.tag.active{color:#087754;background:#e8f7f1}.modal-backdrop{z-index:30;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#1421398c;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.modal{background:#fff;border:1px solid #dfe5ee;border-radius:17px;width:min(680px,100%);max-height:calc(100vh - 48px);padding:23px;overflow:auto;box-shadow:0 24px 80px #08122655}.article-modal{width:min(560px,100%)}.modal-head{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:20px;display:flex}.modal-head h2{letter-spacing:-.025em;margin:0;font-size:20px}.modal-close{color:#6d7889;cursor:pointer;background:#f2f5f8;border:0;border-radius:9px;width:34px;height:34px;font-size:22px}.upload-zone{text-align:center;cursor:pointer;background:#f6f9ff;border:1.5px dashed #9eb7e4;border-radius:14px;place-items:center;min-height:190px;padding:28px;display:grid}.upload-zone>span{color:#2563eb;background:#e4edff;border-radius:13px;place-items:center;width:44px;height:44px;font-size:23px;display:grid}.upload-zone strong{margin-top:13px;font-size:13px}.upload-zone p{color:#7b8799;margin:5px 0 0;font-size:10px}.hidden-input{display:none}.import-rules{background:#f7f9fc;border-radius:12px;margin-top:16px;padding:14px 16px}.import-rules strong{font-size:10px}.import-rules ul{color:#68758a;grid-template-columns:1fr 1fr;gap:7px 20px;margin:9px 0 0;padding-left:18px;font-size:9px;display:grid}.loading-state,.result-state{text-align:center;place-items:center;min-height:260px;display:grid}.loading-state strong,.result-state h3{margin-top:15px;font-size:14px}.loading-state p,.result-state p{color:#7c8798;margin:6px 0 0;font-size:10px}.spinner{border:4px solid #dbe5f6;border-top-color:#2563eb;border-radius:50%;width:36px;height:36px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.error-state>span{color:#d34b3e;background:#fff0ed;border-radius:13px;place-items:center;width:42px;height:42px;font-size:18px;font-weight:800;display:grid}.error-state .button{margin-top:18px}.import-summary{border-radius:12px;justify-content:space-between;align-items:center;padding:13px 15px;display:flex}.import-summary>div{align-items:center;gap:11px;display:flex}.import-summary>div>span{border-radius:9px;place-items:center;width:32px;height:32px;font-weight:800;display:grid}.import-summary strong{font-size:11px;display:block}.import-summary p{color:#7c8798;margin:3px 0 0;font-size:9px}.import-summary button{color:#2862ca;background:0 0;border:0;font-size:9px;font-weight:750}.import-summary.is-ready{background:#eaf8f2}.import-summary.is-ready>div>span{color:#087754;background:#d2f0e4}.import-summary.has-errors{background:#fff1ed}.import-summary.has-errors>div>span{color:#c94636;background:#ffded7}.import-metrics{grid-template-columns:repeat(3,1fr);gap:10px;margin-top:13px;display:grid}.import-metrics article{border:1px solid #e5eaf1;border-radius:11px;padding:12px}.import-metrics span{color:#7e899a;font-size:8.5px;display:block}.import-metrics strong{margin-top:5px;font-size:15px;display:block}.danger{color:#c94636}.issue-list{color:#9d3d31;background:#fff1ed;border-radius:11px;margin-top:13px;padding:12px 14px}.issue-list.warning-list{color:#8b5a03;background:#fff6df}.issue-list strong{font-size:10px}.issue-list p{margin:6px 0 0;font-size:9px}.preview-table{border:1px solid #e5eaf1;border-radius:11px;max-height:190px;margin-top:13px;overflow:auto}.preview-table th{border-top:0}.modal-actions{border-top:1px solid #e8ecf2;justify-content:flex-end;gap:9px;margin-top:18px;padding-top:16px;display:flex}.field{gap:7px;margin-top:14px;display:grid}.field>span{color:#576478;font-size:10px;font-weight:700}.field input{border:1px solid #dbe1ea;border-radius:9px;outline:none;height:40px;padding:0 12px;font-size:11px}.field input:focus{border-color:#7da2ec;box-shadow:0 0 0 3px #eaf1ff}.field-row{grid-template-columns:1fr 150px;gap:12px;display:grid}.form-note{background:#f4f7fb;border-radius:11px;margin-top:18px;padding:13px 14px}.form-note strong{font-size:10px}.form-note p{color:#758195;margin:4px 0 0;font-size:9px;line-height:1.45}@media (max-width:760px){.modal-backdrop{padding:10px}.modal{max-height:calc(100vh - 20px);padding:18px}.import-rules ul,.import-metrics,.field-row{grid-template-columns:1fr}}.money.planned{color:#8b5a03;background:#fffaf0}.recurring-notice{background:#f2fbf7;border-color:#a9ddca}.recurring-notice .notice-icon{color:#087754;background:#d9f3e8}.recurring-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.recurring-panel{margin-top:17px}.recurring-panel td:first-child{min-width:220px}.recurring-panel td:nth-child(2){min-width:210px}.recurring-panel td:nth-child(3){min-width:190px}.tag.route{color:#1f5aca;background:#eaf1ff}.import-metrics.four{grid-template-columns:repeat(4,1fr)}.import-footnote{color:#627085;background:#f4f7fb;border-radius:10px;margin-top:12px;padding:10px 12px;font-size:9px}.import-footnote strong{color:#253754}.recurring-modal{width:min(760px,100%)}.form-grid{grid-template-columns:1fr 1fr;gap:0 13px;display:grid}.field.span-2{grid-column:1/-1}.field select{color:#26364e;background:#fff;border:1px solid #dbe1ea;border-radius:9px;outline:none;height:40px;padding:0 12px;font-size:11px}.field select:focus{border-color:#7da2ec;box-shadow:0 0 0 3px #eaf1ff}@media (max-width:760px){.recurring-metrics{grid-template-columns:1fr 1fr}.import-metrics.four,.form-grid{grid-template-columns:1fr}.field.span-2{grid-column:auto}}.budget-panel,.articles-panel,.recurring-panel{margin-top:17px}.button.small{height:30px;padding:0 10px;font-size:9px}.data-state{color:#7c889a;font-size:9px}.status-message{border-radius:10px;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;margin-top:18px;padding:11px 14px;font-size:10px;display:grid}.status-message.success{color:#086c4d;background:#eaf8f2;border:1px solid #b9e5d2}.status-message.error{color:#a53d32;background:#fff1ed;border:1px solid #f2c9c1}.status-message button{color:inherit;cursor:pointer;background:0 0;border:0;font-size:18px}.empty-state{color:#7c889a;text-align:center;padding:34px;font-size:10px}.error-cell{color:#a04439;max-width:250px;line-height:1.4}.locked-screen{text-align:center;background:radial-gradient(circle at 50% 20%,#fff,#eef3f9);place-content:center;justify-items:center;min-height:100vh;padding:40px;display:grid}.locked-screen h1{letter-spacing:-.03em;max-width:600px;margin:18px 0 0;font-size:25px}.locked-screen p{color:#667085;max-width:520px;margin:9px 0 0;font-size:12px;line-height:1.55}.lock-mark{color:#fff;background:#173b8f;border-radius:18px;place-items:center;width:58px;height:58px;font-size:31px;display:grid;box-shadow:0 12px 30px #173b8f35}.table-wrap a{color:#1f5aca;font-weight:700;text-decoration:none}.table-wrap a:hover{text-decoration:underline}
