/* v10: small local SVGs, bounded blur and no background animation. */
.brand-logo{width:46px;height:46px;flex:none;border-radius:14px}.login-logo{width:80px;height:80px;margin-bottom:18px;border-radius:24px;box-shadow:0 12px 28px #051f2020}.ui-icon{width:23px;height:23px;flex:none;vertical-align:middle}.account-actions a{display:inline-flex;align-items:center;gap:7px}.site-menu a{transition:background .15s ease,transform .15s ease}.site-menu a[aria-current=page]{box-shadow:inset 0 0 0 1px #8eb69b70}.card-bubble .ui-icon{width:23px;height:23px}.stat-card{filter:drop-shadow(0 8px 12px #051f2009)}.ledger-table tbody tr{transition:background .15s}.ledger-table tbody tr:hover{background:var(--glass-inner)}.topbar{border-radius:24px}.auth{border-radius:28px}.module-readonly{margin:16px}.site-menu a:focus-visible,button:focus-visible{outline:3px solid #8eb69b;outline-offset:3px}main>h1{letter-spacing:-.025em}@media(max-width:600px){.brand-logo{width:38px;height:38px}.topbar{border-radius:18px}.login-logo{width:64px;height:64px}.account-actions a{gap:4px}.ui-icon{width:21px;height:21px}}@media(prefers-reduced-motion:reduce){.site-menu a,.ledger-table tbody tr{transition:none}}

/* 10.0.1 — pastel accents; forest background and custom branding preserved. */
:root{--tone-blue:#245c91;--wash-blue:#dbeeff;--tone-purple:#654296;--wash-purple:#ece2ff;--tone-peach:#8b491d;--wash-peach:#ffead6;--tone-teal:#17664f;--wash-teal:#d5f3e7;--tone-rose:#934767;--wash-rose:#fce2ee}
html[data-theme=dark]{--tone-blue:#b6dcff;--wash-blue:#23445f;--tone-purple:#dac5ff;--wash-purple:#44335c;--tone-peach:#ffd3a6;--wash-peach:#5c402c;--tone-teal:#b0edce;--wash-teal:#224e40;--tone-rose:#ffc6e0;--wash-rose:#563748}
.site-menu a{--icon-ink:var(--tone-teal);--icon-wash:var(--wash-teal)}
.site-menu a[href*="parents"],.site-menu a[href*="users.php"]{--icon-ink:var(--tone-blue);--icon-wash:var(--wash-blue)}
.site-menu a[href*="reports"],.site-menu a[href*="tasks.php"],.site-menu a[href*="modules.php"]{--icon-ink:var(--tone-purple);--icon-wash:var(--wash-purple)}
.site-menu a[href*="supplies.php"],.site-menu a[href*="import.php"]{--icon-ink:var(--tone-peach);--icon-wash:var(--wash-peach)}
.site-menu a[href*="my-child.php"],.site-menu a[href*="announcements.php"]{--icon-ink:var(--tone-rose);--icon-wash:var(--wash-rose)}
.site-menu .nav-icon{display:inline-grid;place-items:center;width:29px;height:29px;border-radius:9px;background:var(--icon-wash);color:var(--icon-ink);box-shadow:inset 0 1px 0 #ffffff40}
.site-menu .nav-icon .ui-icon{width:20px;height:20px}
.profile-tab .profile-avatar{background:linear-gradient(135deg,var(--wash-purple),var(--wash-blue));color:var(--tone-purple);border:1px solid var(--edge)}
.account-actions a[href="notifications.php"] .ui-icon{color:var(--tone-peach)}
html body .stat-card:nth-child(2) article{background:linear-gradient(130deg,var(--wash-teal),transparent 85%),var(--glass)}
html body .stat-card:nth-child(3) article{background:linear-gradient(130deg,var(--wash-peach),transparent 85%),var(--glass)}
.stat-card:nth-child(1) .card-bubble{background:var(--wash-purple);color:var(--tone-purple)}
.stat-card:nth-child(2) .card-bubble{background:var(--wash-teal);color:var(--tone-teal)}
.stat-card:nth-child(3) .card-bubble{background:var(--wash-peach);color:var(--tone-peach)}
html body .stat-icon.green{background:var(--wash-teal);color:var(--tone-teal)}
html body .stat-icon.orange{background:var(--wash-peach);color:var(--tone-peach)}
html body .responsible-group:first-child{background:linear-gradient(115deg,var(--wash-purple),transparent 78%),var(--glass)}
html body .responsible-group:nth-child(2){background:linear-gradient(115deg,var(--wash-blue),transparent 78%),var(--glass)}
html body .box-tile:nth-child(3n+1){background:linear-gradient(145deg,var(--wash-blue),transparent 75%),var(--glass)}
html body .box-tile:nth-child(3n+2){background:linear-gradient(145deg,var(--wash-peach),transparent 75%),var(--glass)}
html body .box-tile:nth-child(3n){background:linear-gradient(145deg,var(--wash-purple),transparent 75%),var(--glass)}
html body .box-tile .role-badge{background:var(--glass);color:var(--ink);border:1px solid var(--edge)}
@media print{html body .site-menu .nav-icon,html body .stat-icon,html body .card-bubble{background:white;color:black}}

/* 10.1 modules: forms and readable cards, including narrow phones. */
.suite>.panel,.suite>.box-grid>.panel{padding:20px;margin-bottom:16px}
.suite>form{padding:18px;background:var(--glass);border:1px solid var(--edge);border-radius:18px;margin:16px 0}
.suite .panel form{margin:14px 0}.suite details>summary{cursor:pointer;font-weight:600;padding:8px 0}
.suite .panel h2{margin-top:8px}.suite .panel{overflow-wrap:anywhere;min-width:0}
.suite .form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.site-menu a[href*="module=calendar"],.site-menu a[href*="module=documents"]{--icon-ink:var(--tone-blue);--icon-wash:var(--wash-blue)}
.site-menu a[href*="module=polls"],.site-menu a[href*="module=annual-report"]{--icon-ink:var(--tone-purple);--icon-wash:var(--wash-purple)}
.site-menu a[href*="module=approvals"],.site-menu a[href*="module=inventory"]{--icon-ink:var(--tone-peach);--icon-wash:var(--wash-peach)}
.site-menu a[href*="module=personal-reminders"]{--icon-ink:var(--tone-rose);--icon-wash:var(--wash-rose)}
@media(max-width:540px){.suite .form-grid{grid-template-columns:1fr}.suite>.panel,.suite>.box-grid>.panel{padding:16px}}

/* 10.1.1 — six compact destinations; no sidebar or layout preferences. */
html body.has-navigation{padding-left:0}
.group-navigation{position:relative;z-index:25;display:flex;gap:6px;margin:14px 24px;padding:7px;background:var(--glass);border:1px solid var(--edge);border-radius:20px;box-shadow:var(--shadow)}
.group-navigation>.nav-home,.group-navigation>.nav-group{flex:1;min-width:0}
.group-navigation .nav-home,.group-navigation summary{display:flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:10px 12px;border-radius:13px;color:var(--ink);font-size:14px;font-weight:600;text-decoration:none;cursor:pointer;list-style:none}
.group-navigation summary::-webkit-details-marker{display:none}
.group-navigation .ui-icon{width:21px;height:21px;flex-shrink:0}
.group-navigation summary:hover,.group-navigation .nav-home:hover{background:var(--glass-inner)}
.group-navigation .has-current>summary,.group-navigation [aria-current=page]{background:var(--wash-teal);color:var(--tone-teal)}
.group-navigation .nav-group[open]>summary{background:var(--wash-purple);color:var(--tone-purple)}
.nav-chevron{font-size:15px}.nav-group[open] .nav-chevron{transform:rotate(180deg)}
.group-navigation .nav-popup{position:absolute;top:calc(100% + 8px);left:0;right:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;background:#edf6effa;border:1px solid var(--edge);border-radius:18px;padding:12px;box-shadow:0 16px 40px #051f2033;max-height:60dvh;overflow-y:auto;overscroll-behavior:contain}
html[data-theme=dark] .group-navigation .nav-popup{background:#12342efa}
.nav-popup a{display:flex;align-items:center;gap:12px;min-height:48px;padding:10px 14px;border-radius:12px;text-decoration:none;color:var(--ink);font-size:14px}
.nav-popup a:hover{background:var(--glass-inner)}
.nav-popup a[aria-current=page]{font-weight:700;box-shadow:inset 3px 0 var(--tone-teal)}
.nav-money .ui-icon{color:var(--tone-teal)}.nav-family .ui-icon{color:var(--tone-blue)}.nav-activities .ui-icon{color:var(--tone-peach)}.nav-communication .ui-icon{color:var(--tone-rose)}.nav-admin .ui-icon{color:var(--tone-purple)}
.group-navigation summary:focus-visible,.nav-popup a:focus-visible,.name-picker summary:focus-visible,.name-result:focus-visible{outline:3px solid var(--tone-blue);outline-offset:2px}
.name-picker{margin:4px 0 16px;min-width:0;width:100%}
.name-picker>summary{list-style:none;display:block;cursor:pointer;padding:13px 15px;border:1px solid var(--line);border-radius:12px;background:var(--field);color:var(--ink);min-height:48px;overflow-wrap:anywhere}
.name-picker>summary::-webkit-details-marker{display:none}
.name-picker-panel{margin-top:6px;padding:12px;border:1px solid var(--line);background:var(--glass);border-radius:14px}
.name-picker-panel input{width:100%;margin:0}.name-picker-panel .hint{margin:8px 0;font-size:13px}
.name-results{max-height:240px;overflow-y:auto;overscroll-behavior:contain;display:grid;gap:4px}
html body .name-result{display:block;width:100%;text-align:left;min-height:44px;padding:10px 12px;border:1px solid transparent;border-radius:10px;background:var(--glass-inner);color:var(--ink);font-size:15px;font-weight:400;white-space:normal;overflow-wrap:anywhere;box-shadow:none}
html body .name-result[aria-pressed=true]{background:var(--wash-teal);color:var(--tone-teal);border-color:var(--tone-teal)}
html body .name-result:hover{border-color:var(--tone-blue)}
.name-picker-panel>.secondary{margin-top:8px;font-size:13px}.name-picker.is-disabled{opacity:.65}
html body select.search-native{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip-path:inset(50%)!important;padding:0!important;margin:0!important;border:0!important;opacity:0}
.name-list-search{grid-column:1/-1;flex-basis:100%;margin-bottom:10px}.name-list-search input{width:100%}.name-filtered{display:none!important}
@media(max-width:700px){.group-navigation{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:12px 12px;gap:4px;padding:5px;border-radius:16px}.group-navigation summary,.group-navigation .nav-home{padding:8px 4px;min-height:48px;gap:4px;font-size:12px}.group-navigation .ui-icon{width:18px;height:18px}.nav-chevron{font-size:12px}.nav-popup a{padding:9px 8px;gap:7px;font-size:13px}.group-navigation .nav-popup{padding:8px;gap:4px}.name-picker-panel{padding:9px}.name-picker-panel input{font-size:16px}}
@media print{.group-navigation,.name-list-search,.name-picker{display:none!important}}
/* Dropdowns must also fit short pages such as an empty cashbox. */
.app-shell{overflow:visible}
/* A vertical icon/label arrangement avoids crowding on 320px screens. */
@media(max-width:700px){.group-navigation summary,.group-navigation .nav-home{flex-direction:column;gap:3px;min-height:60px;padding:6px 2px;font-size:11px;line-height:1.3;text-align:center}.group-navigation .nav-chevron{display:none}.group-navigation summary>span:not(.nav-chevron),.group-navigation .nav-home>span{max-width:100%;overflow-wrap:anywhere}}
/* Clear ledger and visible cashbox subscription. */
.box-plan-strip,.ledger-summary{display:flex;gap:12px;flex-wrap:wrap;align-items:center;padding:12px 20px;font-size:.9rem}
.box-plan-strip{margin:12px 0;border:1px solid currentColor;border-radius:16px;background:var(--surface,rgba(160,210,180,.14))}
.ledger-filters{display:grid;grid-template-columns:2fr 1fr 2fr 1fr 1fr;gap:12px;padding:20px;align-items:end}
.ledger-filters input,.ledger-filters select{width:100%;min-width:0}
.ledger-labels,.ledger-row{display:grid;grid-template-columns:110px minmax(180px,2fr) minmax(150px,1.4fr) 140px 100px;gap:16px;padding:16px 20px;align-items:start}
.ledger-labels{font-size:.8rem;font-weight:700;border-bottom:2px solid rgba(100,150,130,.35)}
.ledger-row{border-bottom:1px solid rgba(100,150,130,.3)}
.ledger-row:nth-child(even){background:rgba(140,190,160,.08)}
.ledger-row small{display:block;margin-top:5px;font-size:.85rem;overflow-wrap:anywhere}
.ledger-row strong{overflow-wrap:anywhere}.ledger-purpose{font-weight:600}.ledger-amount{white-space:nowrap;text-align:right;font-variant-numeric:tabular-nums}
.ledger-out{color:#a23e19}.ledger-actions{display:grid;gap:10px;margin-top:12px}.ledger-row summary{cursor:pointer}
[data-theme=dark] .ledger-out{color:#ffb299}
@media(max-width:1000px){.ledger-filters{grid-template-columns:1fr 1fr}.ledger-labels{display:none}.ledger-row{grid-template-columns:1fr 2fr 1fr}.ledger-row>div:nth-child(3){grid-column:2}.ledger-amount{grid-column:3;grid-row:1}.ledger-row>details{grid-column:1/-1}}
@media(max-width:560px){.ledger-filters{grid-template-columns:1fr}.ledger-row{grid-template-columns:minmax(0,1fr) auto;gap:10px}.ledger-row>div:nth-child(1){grid-column:1;grid-row:1}.ledger-row>div:nth-child(2),.ledger-row>div:nth-child(3){grid-column:1/-1}.ledger-amount{grid-column:2;grid-row:1}.ledger-row>details{grid-column:1/-1}.ledger-summary{gap:8px}}

.ledger-filter-panel>summary{padding:14px 20px;cursor:pointer;font-weight:700}
