*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;background:#f5f7fb;color:#1f2937}a{text-decoration:none;color:inherit}.brand{display:flex;align-items:center;gap:12px}.brand.center{justify-content:center;margin-bottom:24px}.brand-mark{width:44px;height:44px;border-radius:14px;background:#24324a;color:#fff;display:grid;place-items:center;font-weight:800}.brand small{display:block;color:#8a94a6;margin-top:3px}.login-page,.installer{min-height:100vh;display:grid;place-items:center;padding:24px}.login-card,.install-card{width:min(100%,460px);background:white;border:1px solid #e7eaf0;border-radius:24px;padding:30px;box-shadow:0 18px 50px rgba(28,39,60,.08)}.install-card{width:min(100%,620px)}h1{font-size:24px;margin:0 0 8px}h2{font-size:19px}.brand h1{font-size:18px;margin:0}label{display:block;font-size:13px;font-weight:650;margin:14px 0 6px}input,textarea,select{width:100%;padding:13px 14px;border:1px solid #d9dee8;border-radius:12px;font:inherit;background:#fff;outline:none}textarea{min-height:90px}input:focus,textarea:focus{border-color:#7689ad;box-shadow:0 0 0 3px rgba(118,137,173,.12)}button,.button{display:inline-flex;justify-content:center;width:100%;margin-top:18px;padding:13px 16px;border:0;border-radius:12px;background:#24324a;color:#fff;font-weight:750;cursor:pointer}.alert{padding:12px 14px;border-radius:12px;margin:16px 0;font-size:14px}.error{background:#fff1f2;color:#a11d33}.success-box{background:#ecfdf3;color:#17663a;padding:16px;border-radius:14px;margin:18px 0}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.checks{display:grid;gap:9px;margin:20px 0}.checks div{padding:12px 14px;background:#f8fafc;border-radius:12px}.steps{margin:18px 0;color:#768196;font-size:13px}.app{display:flex;min-height:100vh}.sidebar{width:255px;background:#182338;color:#d8deea;padding:22px 16px;position:fixed;inset:0 auto 0 0;overflow:auto}.sidebar .brand{padding:4px 8px 20px;border-bottom:1px solid rgba(255,255,255,.08)}nav{display:grid;gap:4px;margin-top:18px}nav span{font-size:10px;letter-spacing:.15em;color:#70809d;margin:20px 10px 6px}nav a{padding:10px 12px;border-radius:10px;font-size:14px}nav a.active,nav a:hover{background:#26344f;color:#fff}nav em{font-size:8px;font-style:normal;float:right;background:#344666;color:#bec9d9;padding:3px 5px;border-radius:6px}.content{margin-left:255px;width:calc(100% - 255px);padding:28px}.content header{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.content header p{margin:6px 0;color:#7a8495}.logout{background:#fff;border:1px solid #e0e4eb;padding:9px 13px;border-radius:10px}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.stat,.panel{background:#fff;border:1px solid #e6e9ef;border-radius:18px;padding:20px}.stat small{display:block;color:#778196;margin-bottom:16px}.stat strong{font-size:28px}.panel{margin-top:18px}.panel p{color:#687386}.quick{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.quick a{padding:10px 13px;background:#f1f5f9;border-radius:10px;font-size:13px}.health{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.health div{background:#f8fafc;padding:14px;border-radius:12px}.health b,.health span{display:block}.health span{font-size:12px;color:#16834a;margin-top:6px}@media(max-width:800px){.grid2{grid-template-columns:1fr}.sidebar{display:none}.content{margin:0;width:100%;padding:18px}.stat-grid{grid-template-columns:1fr 1fr}.health{grid-template-columns:1fr 1fr}.content header{align-items:flex-start}.stat strong{font-size:23px}}
.success{background:#ecfdf3;color:#17663a}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.form-grid label{margin:0}.form-action{display:flex;align-items:end}.form-action button{margin:0}.panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.panel-head h2,.panel-head p{margin-top:0}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:14px}th,td{text-align:left;padding:13px 12px;border-bottom:1px solid #edf0f4;vertical-align:top}th{font-size:11px;letter-spacing:.04em;color:#7c8798;text-transform:uppercase}td small{display:block;color:#8a94a6;margin-top:4px}.badge{display:inline-flex;padding:5px 8px;border-radius:999px;background:#eef2f7;font-size:11px;font-weight:750}.badge.ok{background:#e9f9ef;color:#187244}.badge.muted{background:#f2f3f5;color:#6f7785}.row-actions{display:flex;gap:7px;align-items:flex-start}.row-actions form{margin:0}.btn-small{width:auto;margin:0;padding:7px 9px;border-radius:8px;font-size:11px}.btn-small.secondary{background:#eef2f7;color:#39465c}.row-actions details{position:relative}.row-actions summary{list-style:none;cursor:pointer;background:#24324a;color:#fff}.popover{position:absolute;right:0;z-index:5;background:#fff;border:1px solid #e4e8ee;border-radius:12px;padding:10px;box-shadow:0 12px 35px rgba(20,30,50,.12);display:flex;gap:6px;min-width:260px}.popover input{padding:8px}.permission-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.permission-group{background:#f8fafc;border:1px solid #edf0f4;border-radius:14px;padding:14px}.permission-group h3{margin:0 0 10px;font-size:13px}.check-row{display:flex;gap:9px;align-items:flex-start;margin:8px 0;font-weight:400}.check-row input{width:17px;height:17px;margin:2px 0 0}.check-row span{display:block}.check-row b{display:block;font-size:12px}.check-row small{display:block;font-size:10px;color:#8590a3;margin-top:2px}.save-role{width:auto}.role-card{margin-top:14px}@media(max-width:950px){.permission-grid{grid-template-columns:1fr 1fr}}@media(max-width:800px){.form-grid,.permission-grid{grid-template-columns:1fr}.panel-head{align-items:flex-start}.row-actions{min-width:210px}}

/* v0.2.1 — fixed sidebar user/logout */
.sidebar{display:flex;flex-direction:column;overflow:hidden}
.sidebar nav{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding-right:3px;padding-bottom:14px;scrollbar-width:thin;scrollbar-color:#344666 transparent}
.sidebar nav::-webkit-scrollbar{width:6px}.sidebar nav::-webkit-scrollbar-thumb{background:#344666;border-radius:999px}.sidebar nav::-webkit-scrollbar-track{background:transparent}
.sidebar-footer{flex:0 0 auto;margin:10px -16px -22px;padding:14px 16px 16px;border-top:1px solid rgba(255,255,255,.08);background:#152034;box-shadow:0 -12px 28px rgba(8,15,28,.16)}
.sidebar-user{display:flex;align-items:center;gap:10px;padding:0 7px 12px}
.sidebar-avatar{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:#2b3b58;color:#fff;font-weight:800;font-size:13px;flex:0 0 auto}
.sidebar-user-meta{min-width:0}.sidebar-user-meta b,.sidebar-user-meta small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user-meta b{font-size:12px;color:#f5f7fb}.sidebar-user-meta small{font-size:10px;color:#8998b2;margin-top:3px}
.sidebar-logout{display:flex;align-items:center;justify-content:flex-start;gap:9px;padding:11px 12px;border-radius:10px;background:rgba(255,255,255,.06);color:#f7d8dd;font-size:13px;font-weight:750;border:1px solid rgba(255,255,255,.05)}
.sidebar-logout:hover{background:#402a38;color:#fff}
@media(min-width:801px){.content header .logout{display:none}}
@media(max-width:800px){.content header .logout{display:inline-flex;flex:0 0 auto}}

/* v0.3.0 academic master data */
.filter-row{display:grid;grid-template-columns:minmax(140px,190px) minmax(140px,190px) 1fr auto;gap:10px;align-items:center}.filter-row input,.filter-row select{margin:0}.btn-inline{width:auto;margin:0;white-space:nowrap}.full{grid-column:1/-1}.person-cell{display:flex;align-items:center;gap:10px;min-width:190px}.person-cell img,.avatar-soft{width:42px;height:42px;border-radius:12px;object-fit:cover;flex:0 0 auto}.avatar-soft{display:grid;place-items:center;background:#edf2f7;color:#43506a;font-weight:800}.person-cell b,.person-cell small{display:block}.person-cell small{color:#8a94a6;margin-top:3px}.panel h2{margin-top:0}@media(max-width:800px){.filter-row{grid-template-columns:1fr}.filter-row .btn-inline{width:100%}.full{grid-column:auto}}

/* v0.4.0 parents & authorized pickups */
.parent-filter{grid-template-columns:1fr auto}.pickup-filter{grid-template-columns:minmax(220px,320px) 1fr auto}.relation-box{margin-top:16px;padding:16px;border:1px solid #edf0f4;border-radius:14px;background:#f8fafc}.relation-box h3{margin:0 0 12px;font-size:14px}.student-check-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:14px}.student-check-grid .check-row{background:#fff;border:1px solid #e6e9ef;border-radius:10px;padding:10px;margin:0}@media(max-width:950px){.student-check-grid{grid-template-columns:1fr 1fr}}@media(max-width:800px){.parent-filter,.pickup-filter,.student-check-grid{grid-template-columns:1fr}}

/* v0.5.0 — attendance */
.attendance-filter{display:grid;grid-template-columns:minmax(150px,200px) minmax(210px,1fr) auto;gap:10px;align-items:center}.attendance-filter input,.attendance-filter select{margin:0}.attendance-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-top:18px}.attendance-stats .stat{padding:16px}.attendance-stats .stat small{margin-bottom:9px}.attendance-stats .stat strong{font-size:24px}.report-filter{display:grid;grid-template-columns:155px 155px minmax(170px,1fr) minmax(180px,1fr) auto;gap:10px;align-items:center}.report-filter input,.report-filter select{margin:0}.badge.attendance-present{background:#e9f9ef;color:#187244}.badge.attendance-late{background:#fff6df;color:#906612}.badge.attendance-permit{background:#edf4ff;color:#315f9c}.badge.attendance-sick{background:#f4efff;color:#65449b}.badge.attendance-absent{background:#fff0f1;color:#a23a47}.table-wrap input[type=time],.table-wrap input[name*='note'],.table-wrap select{min-width:110px;padding:9px 10px;border-radius:9px;font-size:13px}.table-wrap input[name*='note']{min-width:160px}@media(max-width:950px){.attendance-stats{grid-template-columns:repeat(3,1fr)}.report-filter{grid-template-columns:1fr 1fr}}@media(max-width:800px){.attendance-filter,.report-filter{grid-template-columns:1fr}.attendance-stats{grid-template-columns:1fr 1fr}.attendance-filter .btn-inline,.report-filter .btn-inline{width:100%}}

/* v0.6.0 — NFC Smart Attendance */
.api-key-box{margin:0 0 18px;background:#182338;color:#eef4ff;border-radius:16px;padding:18px;border:1px solid #263650}.api-key-box small{display:block;color:#9fb0cc;font-size:10px;letter-spacing:.12em}.api-key-box code{display:block;margin:9px 0;padding:12px 14px;background:#0f1727;border-radius:10px;font-size:14px;word-break:break-all}.api-key-box p{margin:6px 0 0;color:#b9c5d8;font-size:12px}.endpoint-list{display:grid;gap:9px}.endpoint-list code{padding:12px 14px;border-radius:10px;background:#f8fafc;border:1px solid #edf0f4;overflow-wrap:anywhere}.owner{display:none}

/* v0.8.0 — Jurnal Harian Anak */
.journal-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:18px}.journal-stats .stat{padding:16px}.journal-stats .stat small{margin-bottom:8px}.journal-stats .stat strong{font-size:24px}.journal-filter{grid-template-columns:160px minmax(190px,240px) 1fr auto}.journal-editor{border-color:#dfe7f1}.journal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:14px 0}.journal-grid label{margin:0}.journal-photo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.journal-photo{border:1px solid #e6e9ef;border-radius:12px;overflow:hidden;background:#fff}.journal-photo img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}.journal-photo span{display:flex;gap:7px;align-items:center;padding:9px;font-size:11px}.journal-photo input[type=checkbox]{width:16px;height:16px;margin:0}@media(max-width:950px){.journal-grid{grid-template-columns:1fr 1fr}.journal-photo-grid{grid-template-columns:1fr 1fr}.journal-filter{grid-template-columns:1fr 1fr}}@media(max-width:800px){.journal-stats,.journal-grid,.journal-photo-grid,.journal-filter{grid-template-columns:1fr}.journal-filter .btn-inline{width:100%}}
/* v0.9.0 Perkembangan Anak */
.badge.muted{background:#f1f5f9;color:#475569}.btn-small.danger{background:#fff1f2;color:#be123c;border:1px solid #fecdd3;margin-left:6px}

/* v1.0.0 — Portal Orang Tua */
.parent-portal{margin:0;background:#f5f7fb;color:#24324a;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.parent-shell{max-width:720px;margin:0 auto;min-height:100vh;padding-bottom:88px}.parent-top{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:20px 18px 16px;background:rgba(245,247,251,.96);backdrop-filter:blur(10px)}.parent-top small{color:#7a8495;font-size:11px}.parent-top h1{font-size:23px;margin:3px 0 0}.parent-top p{margin:5px 0 0;color:#7a8495;font-size:12px}.parent-avatar{width:44px;height:44px;border-radius:15px;display:grid;place-items:center;background:#24324a;color:#fff;font-weight:800}.parent-content{padding:0 14px 24px}.parent-card,.parent-child-card{background:#fff;border:1px solid #e6e9ef;border-radius:20px;padding:17px;margin-bottom:13px;box-shadow:0 3px 16px rgba(28,42,68,.035)}.parent-card h2,.parent-child-card h2{margin:0 0 5px;font-size:17px}.parent-child-head{display:flex;align-items:center;gap:12px}.parent-child-head img,.parent-child-placeholder{width:56px;height:56px;border-radius:17px;object-fit:cover}.parent-child-placeholder{display:grid;place-items:center;background:#edf2f7;font-weight:800}.parent-child-head p{margin:3px 0;color:#7a8495;font-size:12px}.parent-summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:15px}.parent-summary-grid>div{background:#f8fafc;border-radius:13px;padding:11px;min-width:0}.parent-summary-grid small,.parent-summary-grid strong,.parent-summary-grid span{display:block}.parent-summary-grid small{font-size:10px;color:#8490a3}.parent-summary-grid strong{font-size:12px;margin-top:5px}.parent-summary-grid span{font-size:10px;color:#7b8595;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.teacher-message{margin-top:13px;padding:13px;border-radius:13px;background:#fff8e8}.teacher-message small{font-size:10px;color:#9a741b;font-weight:700}.teacher-message p{margin:5px 0 0;font-size:13px}.parent-quick{display:grid;grid-template-columns:1fr 1fr;gap:9px}.parent-quick a{background:#fff;border:1px solid #e6e9ef;border-radius:16px;padding:15px;font-weight:750;display:flex;gap:9px;align-items:center}.parent-bottom-nav{position:fixed;z-index:20;left:50%;bottom:0;transform:translateX(-50%);width:min(720px,100%);display:grid;grid-template-columns:repeat(5,1fr);padding:8px 8px max(8px,env(safe-area-inset-bottom));background:rgba(255,255,255,.97);border-top:1px solid #e8ebf0;box-shadow:0 -8px 30px rgba(30,43,66,.06)}.parent-bottom-nav a{text-align:center;color:#8993a2;padding:6px 2px;border-radius:12px}.parent-bottom-nav a span,.parent-bottom-nav a small{display:block}.parent-bottom-nav a span{font-size:18px;line-height:20px}.parent-bottom-nav a small{font-size:9px;margin-top:3px}.parent-bottom-nav a.active{color:#24324a;background:#eef2f7;font-weight:800}.parent-filter{display:grid;grid-template-columns:1fr 1fr auto;gap:9px;align-items:end}.parent-filter label{font-size:10px;color:#7a8495;margin:0}.parent-filter input{margin:5px 0 0}.parent-filter button{width:auto;margin:0}.parent-list article{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 0;border-bottom:1px solid #edf0f4}.parent-list article:last-child{border-bottom:0}.parent-list b,.parent-list small{display:block}.parent-list small{color:#8490a3;font-size:10px;margin-top:4px}.parent-list-right{text-align:right;flex:0 0 auto}.journal-view-head,.development-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.journal-view-head h2,.development-head h2{margin-top:2px}.journal-view-head>span{font-size:12px;background:#f5f7fb;padding:7px 9px;border-radius:999px}.journal-chips{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0}.journal-chips span{font-size:10px;padding:6px 8px;border-radius:999px;background:#f5f7fb}.journal-section{margin-top:13px}.journal-section small{font-size:10px;color:#7d8798;font-weight:750}.journal-section p{margin:5px 0 0;font-size:13px;line-height:1.55}.portal-photo-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:7px;margin-top:13px}.portal-photo-grid img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:12px}.development-head p{margin:3px 0;color:#7a8495;font-size:11px}.achievement{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;font-size:11px;font-weight:900;background:#edf4ff;color:#315f9c}.achievement.bsb{background:#e9f9ef;color:#187244}.achievement.bsh{background:#edf4ff;color:#315f9c}.achievement.mb{background:#fff6df;color:#906612}.achievement.bb{background:#fff0f1;color:#a23a47}.development-view h3{font-size:14px;margin:14px 0 5px}.achievement-text{font-size:11px;color:#667185}.profile-lines>div{padding:10px 0;border-bottom:1px solid #edf0f4}.profile-lines>div:last-child{border:0}.profile-lines small,.profile-lines b{display:block}.profile-lines small{font-size:10px;color:#8590a3}.profile-lines b{font-size:13px;margin-top:3px}.parent-logout{display:block;text-align:center;padding:14px;border-radius:14px;background:#fff0f1;color:#a23a47;font-weight:800;border:1px solid #ffd9dd}.parent-card code{background:#f1f5f9;padding:3px 6px;border-radius:6px}@media(max-width:520px){.parent-summary-grid{grid-template-columns:1fr}.parent-filter{grid-template-columns:1fr}.parent-filter button{width:100%}}

/* v1.0.1 — Flat colorful collapsible sidebar */
.sidebar{width:270px;background:#fff;color:#172554;padding:18px 14px;border-right:1px solid #e8edf5;box-shadow:10px 0 35px rgba(30,64,175,.035)}
.sidebar .brand{padding:4px 8px 18px;border-bottom:1px solid #eef2f7;gap:11px}
.sidebar .brand-mark{width:42px;height:42px;border-radius:13px;background:linear-gradient(135deg,#2563eb 0 55%,#f59e0b 55% 100%);color:#fff;box-shadow:0 7px 18px rgba(37,99,235,.16)}
.brand-copy{min-width:0;flex:1}.brand-copy b{display:block;color:#172554;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.brand-copy small{font-size:9px;color:#94a3b8}
.sidebar-close{display:none;width:32px;height:32px;padding:0;margin:0;border-radius:9px;background:#f8fafc;color:#475569;font-size:22px;line-height:1}
.admin-nav{display:block;margin-top:14px;padding:0 2px 14px;overflow-y:auto!important}
.admin-nav a,.admin-nav button{font-family:inherit}
.top-menu,.nav-group-toggle,.submenu-link{display:flex;align-items:center;gap:11px;width:100%;min-height:44px;padding:9px 10px;border:0;border-radius:11px;background:transparent;color:#334155;font-size:13px;text-align:left;cursor:pointer;transition:background .18s ease,color .18s ease}
.top-menu{font-weight:750;margin-bottom:5px}.top-menu:hover,.top-menu.active{background:#eaf2ff;color:#1d4ed8}
.menu-icon{width:26px;height:26px;display:grid;place-items:center;flex:0 0 26px;border-radius:8px;background:color-mix(in srgb,var(--icon-color) 12%,white)}
.menu-icon svg{width:17px;height:17px;fill:none;stroke:var(--icon-color);stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.nav-group{margin:4px 0}.nav-group-toggle{justify-content:space-between;font-weight:780;color:#1e293b}.nav-group-toggle:hover,.nav-group.open>.nav-group-toggle{background:#f8fafc}
.group-main{display:flex;align-items:center;gap:11px;min-width:0}.chevron{font-size:17px;color:#94a3b8;transition:transform .2s ease}.nav-group.open .chevron{transform:rotate(180deg)}
.nav-submenu{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .22s ease,opacity .18s ease}.nav-submenu>*{overflow:hidden}.nav-group.open .nav-submenu{grid-template-rows:1fr;opacity:1}.nav-submenu:before{content:"";display:block;min-height:0}
/* Wrapper-less grid animation fallback: submenu uses max height too */
.nav-submenu{max-height:0;overflow:hidden;padding-left:8px}.nav-group.open .nav-submenu{max-height:620px;padding-top:3px;padding-bottom:4px}
.submenu-link{position:relative;min-height:40px;padding:7px 9px 7px 14px;font-size:12.5px;color:#475569}.submenu-link:before{content:"";position:absolute;left:1px;top:10px;bottom:10px;width:2px;background:#edf2f7;border-radius:2px}.submenu-link:hover{background:#f8fafc;color:#1e293b}.submenu-link.active{background:#eef5ff;color:#1d4ed8;font-weight:750}.submenu-link.active:before{background:#3b82f6}.submenu-link .menu-icon{width:23px;height:23px;flex-basis:23px;border-radius:7px}.submenu-link .menu-icon svg{width:15px;height:15px}.menu-label{min-width:0;flex:1}.submenu-link em{float:none;margin-left:auto;background:#f1f5f9;color:#94a3b8;font-size:7px;padding:3px 5px;border-radius:5px;letter-spacing:.04em}
.sidebar-footer{margin:10px -14px -18px;padding:13px 14px 14px;border-top:1px solid #eef2f7;background:#fff;box-shadow:0 -10px 24px rgba(30,64,175,.03)}
.sidebar-user{padding:0 5px 11px}.sidebar-avatar{background:#eaf2ff;color:#2563eb}.sidebar-user-meta b{color:#172554}.sidebar-user-meta small{color:#94a3b8}
.sidebar-logout{background:#fff5f5;color:#dc2626;border:1px solid #fee2e2;padding:10px 11px}.sidebar-logout:hover{background:#fee2e2;color:#b91c1c}
.content{margin-left:270px;width:calc(100% - 270px)}
.admin-header .header-left{display:flex;align-items:center;gap:12px}.mobile-menu-button{display:none;width:40px;height:40px;margin:0;padding:0;border-radius:11px;background:#fff;color:#1e3a8a;border:1px solid #e2e8f0;font-size:20px}
.sidebar-backdrop{display:none}
@media(max-width:800px){
  .sidebar{display:flex;transform:translateX(-104%);transition:transform .23s ease;z-index:80;width:min(86vw,300px);box-shadow:18px 0 55px rgba(15,23,42,.18)}
  .sidebar-open .sidebar{transform:translateX(0)}
  .sidebar-backdrop{display:block;position:fixed;inset:0;background:rgba(15,23,42,.34);opacity:0;pointer-events:none;transition:opacity .2s ease;z-index:70}
  .sidebar-open .sidebar-backdrop{opacity:1;pointer-events:auto}
  .sidebar-close{display:grid;place-items:center}
  .content{margin:0;width:100%;padding:16px}
  .mobile-menu-button{display:grid;place-items:center}
  .admin-header{gap:10px}.admin-header .header-left{min-width:0}.admin-header .header-left>div{min-width:0}.admin-header h1{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
}
