:root{--bg:#f5f7fb;--card:#fff;--text:#172033;--muted:#6d7788;--line:#e8ecf2;--primary:#1f6feb;--primary2:#174ea6;--dark:#0f172a;--success:#16794b;--danger:#b42318}*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text);background:var(--bg)}a{color:inherit}.auth-page{min-height:100vh;background:linear-gradient(135deg,#0f172a 0,#182f59 55%,#1f6feb 100%);display:grid;place-items:center;padding:32px}.auth-shell{width:min(1040px,100%);display:grid;grid-template-columns:1.1fr .9fr;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:28px;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.25)}.auth-shell.single{grid-template-columns:1fr;width:min(560px,100%)}.auth-brand{padding:64px;color:#fff;display:flex;flex-direction:column;justify-content:center}.auth-brand h1{font-size:48px;line-height:1.03;margin:14px 0 18px}.auth-brand p{font-size:18px;line-height:1.7;color:#dbe7ff;max-width:560px}.eyebrow{font-size:12px;font-weight:800;letter-spacing:.14em;color:#6da8ff}.brand-badge,.role-pill{display:inline-flex;width:max-content;padding:8px 12px;border-radius:999px;font-size:12px;font-weight:800}.brand-badge{background:rgba(255,255,255,.12);margin-top:18px}.auth-card{background:#fff;padding:54px}.auth-card.wide{width:100%}.auth-card-head h2{font-size:34px;margin:0 0 8px}.auth-card-head p{color:var(--muted);margin:0 0 28px}form{display:grid;gap:18px}label{font-size:14px;font-weight:700;display:grid;gap:8px}input{width:100%;border:1px solid #d8dee8;border-radius:12px;padding:14px 15px;font:inherit;outline:none;background:#fbfcfe}input:focus{border-color:var(--primary);box-shadow:0 0 0 4px rgba(31,111,235,.1)}.btn{border:0;border-radius:12px;padding:14px 18px;font-weight:800;font-size:15px;cursor:pointer}.btn.primary{background:var(--primary);color:#fff}.btn.primary:hover{background:var(--primary2)}.alert{padding:13px 15px;border-radius:12px;margin-bottom:18px;font-size:14px}.alert.error{background:#fff1f0;color:var(--danger);border:1px solid #ffd7d3}.alert.success{background:#ecfdf3;color:var(--success);border:1px solid #c6f0d8}.auth-help{font-size:13px;color:var(--muted);margin-top:24px}.auth-help a{color:var(--primary);font-weight:700}.app-layout{min-height:100vh;display:grid;grid-template-columns:250px 1fr}.sidebar{background:var(--dark);padding:28px 20px;display:flex;flex-direction:column;color:#cbd5e1}.logo{font-weight:900;font-size:20px;color:#fff;margin:0 12px 30px}.logo span{color:#6da8ff}.sidebar nav{display:grid;gap:8px}.sidebar nav a,.logout{padding:12px 14px;text-decoration:none;border-radius:10px;font-size:14px;font-weight:700}.sidebar nav a small{float:right;font-size:9px;color:#7f8ba3}.sidebar nav a.active,.sidebar nav a:hover{background:#1e293b;color:#fff}.logout{margin-top:auto;background:#1e293b}.main{padding:32px 38px}.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px}.topbar h1{font-size:29px;margin:7px 0 0}.role-pill{background:#eaf2ff;color:var(--primary)}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.stats.three{grid-template-columns:repeat(3,1fr)}.stats article,.panel{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:22px;box-shadow:0 8px 25px rgba(15,23,42,.04)}.stats article span{font-size:13px;color:var(--muted);font-weight:700}.stats article strong{display:block;font-size:23px;margin:10px 0 8px}.stats article small{font-size:12px;color:#98a2b3}.panel{margin-top:20px;min-height:200px;display:flex;align-items:center}.panel h2{font-size:25px;margin:8px 0}.panel p{color:var(--muted);line-height:1.7;max-width:760px}@media(max-width:900px){.auth-shell{grid-template-columns:1fr}.auth-brand{display:none}.stats,.stats.three{grid-template-columns:1fr 1fr}.app-layout{grid-template-columns:1fr}.sidebar{position:static}.sidebar nav{grid-template-columns:repeat(2,1fr)}.logout{margin-top:20px}.main{padding:24px}}@media(max-width:560px){.auth-page{padding:14px}.auth-card{padding:30px 22px}.stats,.stats.three{grid-template-columns:1fr}.topbar{align-items:flex-start;gap:12px}.topbar h1{font-size:23px}.sidebar nav{grid-template-columns:1fr}.main{padding:18px}}
.btn-link{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.btn.secondary{background:#eef2f7;color:#344054}.btn.danger{background:#fff1f0;color:var(--danger);border:1px solid #ffd7d3}.btn.small{padding:8px 11px;border-radius:9px;font-size:12px}.panel.panel-block{display:block;min-height:0}.table-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}.table-head h2{margin:0 0 5px}.table-head p{margin:0}.count-pill{background:#f2f4f7;padding:7px 10px;border-radius:999px;font-size:12px;font-weight:800;color:#475467}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:14px}table{width:100%;border-collapse:collapse;min-width:880px;background:#fff}th,td{padding:15px 14px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;font-size:13px}th{font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:#667085;background:#f9fafb}tbody tr:last-child td{border-bottom:0}.cell-sub{display:block;color:#98a2b3;margin-top:4px}.status{display:inline-flex;padding:6px 9px;border-radius:999px;font-size:11px;font-weight:800}.status.active{background:#ecfdf3;color:var(--success)}.status.inactive{background:#f2f4f7;color:#667085}.actions{white-space:nowrap}.actions form{display:inline-block;margin-left:5px}.text-right{text-align:right}.empty-cell{text-align:center!important;padding:34px;color:var(--muted)}.form-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:26px;box-shadow:0 8px 25px rgba(15,23,42,.04)}.form-section{padding-bottom:24px;margin-bottom:24px;border-bottom:1px solid var(--line)}.form-section h2{margin:0 0 6px;font-size:20px}.form-section>p{margin:0 0 20px;color:var(--muted);font-size:14px}.form-grid{display:grid;gap:18px}.form-grid.two{grid-template-columns:1fr 1fr}select,textarea{width:100%;border:1px solid #d8dee8;border-radius:12px;padding:14px 15px;font:inherit;outline:none;background:#fbfcfe}select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 4px rgba(31,111,235,.1)}textarea{resize:vertical}.form-actions{display:flex;justify-content:flex-end;gap:10px}@media(max-width:700px){.form-grid.two{grid-template-columns:1fr}.table-head{align-items:flex-start;flex-direction:column}.form-card{padding:20px}.topbar{flex-wrap:wrap}}
.alert.warning{background:#fff8e6;color:#8a5a00;border:1px solid #f6d98b}.alert.warning a{font-weight:800}.btn.warning{background:#f79009;color:#fff}.top-actions{display:flex;align-items:center;gap:10px}.upgrade-nav{background:#7c2d12!important;color:#fff!important}.quick-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:20px}.quick-actions a{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;text-decoration:none;display:grid;gap:5px;box-shadow:0 8px 25px rgba(15,23,42,.04)}.quick-actions a strong{font-size:15px}.quick-actions a span{font-size:12px;color:var(--muted)}.status.expense{background:#fff1f0;color:var(--danger)}.filter-inline{display:flex;grid-template-columns:none;gap:8px;align-items:center}.filter-inline input{width:auto;padding:9px 11px}.text-link{color:var(--primary);font-weight:800;text-decoration:none}.field-help{font-weight:500;color:var(--muted);line-height:1.5}.version-box{display:grid;grid-template-columns:1fr auto;gap:10px;padding:15px;border:1px solid var(--line);border-radius:12px;margin:18px 0;color:var(--muted)}.version-box strong{color:var(--text)}@media(max-width:700px){.quick-actions{grid-template-columns:1fr}.top-actions{align-items:flex-end;flex-direction:column}.filter-inline{width:100%}.filter-inline input{flex:1;min-width:0}}
.status.closed{background:#eaf2ff;color:#174ea6}.status.draft{background:#fff8e6;color:#8a5a00}.period-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;background:linear-gradient(135deg,#fff,#f4f8ff);border:1px solid var(--line);border-radius:18px;padding:24px;margin-bottom:20px}.period-hero h2{font-size:28px;margin:6px 0}.period-hero p{margin:0;color:var(--muted)}.period-hero .status{font-size:12px;padding:9px 13px}.close-form{max-width:760px}.closed-detail{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:20px}.closed-detail>div{border:1px solid var(--line);border-radius:12px;padding:14px;display:grid;gap:6px}.closed-detail span{font-size:12px;color:var(--muted)}.closed-detail strong{font-size:13px}.negative{color:var(--danger)}.quick-actions{grid-template-columns:repeat(4,1fr)}@media(max-width:900px){.quick-actions{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.period-hero{align-items:flex-start;flex-direction:column}.closed-detail{grid-template-columns:1fr}.quick-actions{grid-template-columns:1fr}}
