*{box-sizing:border-box}
:root{
 --bg:#f4f7fb;--card:#fff;--text:#162033;--muted:#7a8599;--line:#e7edf5;
 --primary:#3155d9;--primary2:#6381ff;--nav:#152450;--nav2:#203a78;
 --success:#16825d;--warning:#b7791f;--danger:#c53b3b;
 --shadow:0 14px 36px rgba(26,43,90,.08);--radius:22px
}
html{scroll-behavior:smooth}body{margin:0;font-family:Tahoma,Arial,sans-serif;background:linear-gradient(180deg,#f7faff,#f3f6fb);color:var(--text);min-height:100vh}
.sidebar{position:fixed;right:0;top:0;bottom:0;width:285px;background:linear-gradient(180deg,var(--nav),var(--nav2));color:#fff;padding:22px 18px;display:flex;flex-direction:column;gap:18px;z-index:10}
.brand-box{display:flex;gap:13px;align-items:center;padding:8px}.brand-mark{width:56px;height:56px;border-radius:18px;background:#fff;color:var(--primary);display:grid;place-items:center;font-size:30px;font-weight:800;box-shadow:0 12px 28px rgba(0,0,0,.16)}.brand-mark.large{width:74px;height:74px;margin:0 auto 16px;font-size:38px}.brand-box h2{margin:0 0 4px;font-size:23px}.brand-box p{margin:0;color:#c9d5ff;font-size:12px}
.sidebar-nav{display:grid;gap:6px;overflow:auto}.sidebar-nav a{color:#dce5ff;text-decoration:none;padding:12px 14px;border-radius:13px;transition:.2s;font-size:14px}.sidebar-nav a:hover,.sidebar-nav a.active{background:rgba(255,255,255,.13);color:#fff}.sidebar-footer{margin-top:auto;background:rgba(255,255,255,.08);padding:14px;border-radius:16px}.sidebar-footer span,.sidebar-footer small{display:block;color:#cbd6f8;font-size:11px}.sidebar-footer strong{display:block;margin:5px 0}
.main-shell{margin-right:285px;padding:26px;min-height:100vh}.topbar{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:22px}.topbar h1{margin:3px 0 6px;font-size:30px}.topbar p{margin:0;color:var(--muted)}.eyebrow{font-size:11px;letter-spacing:1.6px;color:#6d7aa0;font-weight:800}.eyebrow.center{text-align:center}.topbar-badges{display:flex;gap:9px;flex-wrap:wrap}.user-chip{background:#eaf0ff;color:var(--primary);padding:9px 13px;border-radius:999px;font-weight:700}.user-chip.ghost{background:#fff;border:1px solid var(--line);color:#68758f}
.hero-card{background:linear-gradient(135deg,#1f3f94,#3155d9 60%,#6d88ff);color:#fff;border-radius:28px;padding:25px 28px;margin-bottom:18px;display:flex;justify-content:space-between;align-items:center;gap:20px;box-shadow:0 18px 45px rgba(49,85,217,.22);overflow:hidden;position:relative}.hero-card:after{content:"";position:absolute;width:220px;height:220px;border-radius:50%;background:rgba(255,255,255,.08);left:-50px;top:-80px}.hero-card h2{font-size:28px;margin:6px 0}.hero-card p{margin:0;color:#e1e7ff}.hero-card .eyebrow{color:#d6deff}.hero-score{text-align:center;min-width:120px}.hero-score strong{font-size:40px;display:block}.hero-score span{font-size:12px;color:#dce5ff}.parent-hero{background:linear-gradient(135deg,#6a54c8,#825ce6)}
.card{background:var(--card);border:1px solid #edf1f7;border-radius:var(--radius);padding:21px;box-shadow:var(--shadow);margin-bottom:18px}.section-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:17px}.section-head h2{margin:0 0 5px;font-size:21px}.section-head p{margin:0;color:var(--muted);font-size:13px}
.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-bottom:18px}.stat-card{background:#fff;border:1px solid #edf1f7;border-radius:21px;padding:18px;box-shadow:var(--shadow);position:relative;overflow:hidden}.stat-card:after{content:"";position:absolute;width:90px;height:90px;border-radius:50%;background:rgba(49,85,217,.05);left:-25px;bottom:-35px}.stat-card span{color:#66738d;font-size:13px;display:block}.stat-card strong{display:block;font-size:31px;margin:10px 0 5px;color:#18264d}.stat-card small{color:#8b95a9}.accent-1{background:linear-gradient(135deg,#fff,#eef3ff)}.accent-2{background:linear-gradient(135deg,#fff,#effaf5)}.accent-3{background:linear-gradient(135deg,#fff,#fff6eb)}.accent-4{background:linear-gradient(135deg,#fff,#f7efff)}.accent-5{background:linear-gradient(135deg,#fff,#eefbff)}
.two-col{display:grid;grid-template-columns:1.15fr .85fr;gap:17px}.dashboard-grid{display:grid;grid-template-columns:2fr 1fr;gap:17px}.dashboard-grid .wide{min-height:280px}
.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.stack-form{display:grid;gap:12px}.mini-form{display:grid;gap:8px;margin-top:10px;min-width:250px}.inline-form{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
input,select,textarea,button{width:100%;padding:11px 12px;border:1px solid #dce5f1;border-radius:13px;font:inherit;background:#fff;color:var(--text)}textarea{min-height:90px}button{background:linear-gradient(135deg,var(--primary),var(--primary2));color:#fff;border:0;font-weight:800;cursor:pointer}button:hover{filter:brightness(.98);transform:translateY(-1px)}
.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{padding:12px;border-bottom:1px solid #edf1f6;text-align:right;white-space:nowrap}th{color:#5d6a82;background:#fafcff;font-size:13px;position:sticky;top:0}tr:hover td{background:#fbfdff}
.tiles-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px}.tile-card{border:1px solid var(--line);border-radius:18px;padding:17px;background:linear-gradient(180deg,#fff,#fbfcff)}.tile-card h3{margin:10px 0}.big-number{font-size:33px;color:var(--primary);font-weight:800}.pill,.status{display:inline-block;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:700}.pill{background:#edf1ff;color:#3558d8}.status.success{background:#eaf8f2;color:var(--success)}.status.warning{background:#fff6e8;color:var(--warning)}
.check-row{display:flex;gap:8px;align-items:center}.check-row input{width:auto}.muted{color:var(--muted)}.note-box{background:#f8faff;border:1px solid #e4ebf9;padding:15px;border-radius:16px}.success-box{background:#eaf8f2;color:#14664a;padding:13px;border-radius:14px;margin-bottom:14px}.alert{background:#fff0f1;color:#b12b39;padding:12px;border-radius:14px;margin-bottom:12px}.empty-state{text-align:center;padding:40px}
.quick-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.quick-btn{text-decoration:none;border:1px solid #e0e8ff;background:#f6f9ff;color:#2e50c0;padding:14px;border-radius:15px;text-align:center;font-weight:800}.quick-btn:hover{background:#edf3ff}
.chart-line{height:190px;color:var(--primary);background:linear-gradient(180deg,#f5f8ff,#fff);border-radius:18px;padding:12px}.chart-svg{width:100%;height:100%}
.bar-chart{height:230px;display:flex;align-items:flex-end;gap:10px;padding:10px 4px 0}.bar-col{flex:1;height:100%;display:grid;grid-template-rows:auto 1fr auto;gap:6px;text-align:center;min-width:35px}.bar-value{font-size:11px;color:#68758f}.bar-track{height:100%;background:#f0f3f8;border-radius:10px;display:flex;align-items:flex-end;overflow:hidden}.bar-track i{width:100%;display:block;background:linear-gradient(180deg,#6682ff,#3155d9);border-radius:10px 10px 0 0}.bar-col small{font-size:10px;color:#79859a;overflow:hidden;text-overflow:ellipsis}
.radial{--p:0;width:180px;height:180px;margin:10px auto;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--primary) calc(var(--p)*1%),#edf1f7 0);position:relative}.radial:after{content:"";position:absolute;inset:16px;border-radius:50%;background:#fff}.radial>div{position:relative;z-index:1;text-align:center}.radial strong{font-size:31px;display:block}.radial span{font-size:12px;color:var(--muted)}
.finance-summary{display:grid;gap:12px}.finance-summary p{margin:0;padding:13px;border:1px solid var(--line);border-radius:14px;display:flex;justify-content:space-between}.report-cover{display:flex;justify-content:space-between;gap:15px;align-items:center;background:linear-gradient(135deg,#152450,#274ba9);color:#fff}.report-cover .eyebrow,.report-cover p{color:#d7e0ff}.report-cover h2{font-size:28px;margin:5px 0}.report-cover button{width:auto;background:#fff;color:#23469f;padding-inline:18px}
.inline-details summary{cursor:pointer;color:var(--primary);font-weight:700}.parent-child-card{border-right:5px solid #735bd5}
.login-screen{min-height:100vh;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at 80% 10%,#e4ebff,#f6f8fd 45%,#eef2f8)}.login-card{width:min(450px,100%);background:#fff;padding:34px;border-radius:30px;box-shadow:0 22px 55px rgba(23,37,84,.14);text-align:center}.login-card h1{margin:5px 0 8px}.login-card .stack-form{text-align:right;margin-top:20px}
@media(max-width:1100px){.two-col,.dashboard-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr 1fr}}
@media(max-width:900px){.sidebar{position:static;width:100%;min-height:auto}.main-shell{margin:0;padding:17px}.topbar{flex-direction:column}.sidebar-nav{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.form-grid,.quick-grid,.sidebar-nav{grid-template-columns:1fr}.hero-card{align-items:flex-start;flex-direction:column}.stats-grid{grid-template-columns:1fr 1fr}.bar-chart{overflow-x:auto}.topbar h1{font-size:25px}}
@media(max-width:420px){.stats-grid{grid-template-columns:1fr}}
@media print{.sidebar,.topbar-badges,.no-print,form,button,.quick-grid{display:none!important}.main-shell{margin:0;width:100%;padding:0}.card,.stat-card{box-shadow:none;border:1px solid #ccc}.report-cover{background:#fff;color:#111;border:1px solid #ccc}.report-cover p,.report-cover .eyebrow{color:#555}}

.actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.actions form{margin:0}.btn-secondary{background:#eef3ff;color:#3155d9}.btn-danger{background:#c53b3b}.link-btn{display:inline-block;text-decoration:none;background:#eef3ff;color:#3155d9;padding:8px 10px;border-radius:10px;font-weight:700}.profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.profile-grid p{margin:0;padding:12px;border:1px solid var(--line);border-radius:14px}.profile-grid span{display:block;color:var(--muted);font-size:12px;margin-bottom:4px}.copy-row{display:flex;gap:8px;margin:10px 0}.copy-row input{flex:1}.copy-row button{width:auto}.share-links{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}.share-links a{background:#f1f5ff;color:#3155d9;text-decoration:none;padding:9px 12px;border-radius:12px}.perm-grid{display:grid;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:14px;overflow:hidden;margin-bottom:14px}.perm-row{display:grid;grid-template-columns:2fr repeat(4,1fr);gap:0;background:#fff;align-items:center}.perm-row>*{padding:10px;text-align:center}.perm-row.head{background:#f7f9fc}.perm-row input{width:auto}.note-box{margin-top:12px}
@media(max-width:700px){.profile-grid{grid-template-columns:1fr}.copy-row{flex-direction:column}.perm-row{grid-template-columns:1.5fr repeat(4,.7fr);font-size:11px}}
