body{background:#f4f6fb;font-size:15px}
.topbar{background:var(--brand);color:#fff;height:56px;position:sticky;top:0;z-index:20}
.side{width:240px;flex-shrink:0;min-height:calc(100vh - 56px);background:#fff;border-right:1px solid #e5e7eb;padding:10px 8px;position:sticky;top:56px;height:calc(100vh - 56px);overflow:auto}
.side a,.side .soon{display:flex;gap:10px;align-items:center;padding:8px 12px;border-radius:8px;color:#374151;text-decoration:none;margin-bottom:2px}
.side a:hover{background:#f3f4f6}.side a.active{background:var(--brand);color:#fff}
.side .soon{color:#9ca3af;font-size:13px}
.side-h{font-size:11px;text-transform:uppercase;color:#9ca3af;margin:14px 12px 6px;letter-spacing:.04em}
.content{padding:22px;min-width:0}
.card{border:0;box-shadow:0 1px 3px rgba(0,0,0,.07);border-radius:12px}
.stat .ic{width:46px;height:46px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:22px;color:#fff}
.btn-brand{background:var(--brand);color:#fff}.btn-brand:hover{filter:brightness(.92);color:#fff}
.att-btn input{display:none}.att-btn label{cursor:pointer;min-width:38px}
.att-btn input:checked+label.p{background:#16a34a;color:#fff}.att-btn input:checked+label.a{background:#dc2626;color:#fff}
.att-btn input:checked+label.l{background:#f59e0b;color:#fff}.att-btn input:checked+label.h{background:#6b7280;color:#fff}
.photo{width:44px;height:44px;border-radius:50%;object-fit:cover;background:#e5e7eb}
@media (max-width:767px){.side{position:fixed;left:-260px;z-index:30;transition:.2s}.show-side .side{left:0}}
@media print{.no-print,.side,.topbar{display:none!important}.content{padding:0}body{background:#fff}.card{box-shadow:none}}
.side a.grp{font-weight:500}.side a.grp .bi-chevron-down{transition:.2s}.side a.grp.collapsed .bi-chevron-down{transform:rotate(-90deg)}
.side a.sub{padding:6px 12px 6px 44px;font-size:14px;color:#4b5563}.side a.sub.active{background:color-mix(in srgb,var(--brand) 14%,#fff);color:var(--brand);font-weight:600}
.pub-hero{background:linear-gradient(135deg,var(--brand),#111827);color:#fff}
