/* Local typography: no external network request */
@font-face{font-family:'Tajawal';src:url('../fonts/Tajawal-Regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Tajawal';src:url('../fonts/Tajawal-Medium.ttf') format('truetype');font-weight:500 600;font-style:normal;font-display:swap}
@font-face{font-family:'Tajawal';src:url('../fonts/Tajawal-Bold.ttf') format('truetype');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:'Tajawal';src:url('../fonts/Tajawal-ExtraBold.ttf') format('truetype');font-weight:800 900;font-style:normal;font-display:swap}

/* Canonical design tokens */
:root{
    --green:#12654f;
    --green-hover:#105b43;
    --green-active:#0b4a36;
    --green2:#e8f5ef;
    --ink:#17332a;
    --muted:#60756d;
    --muted-soft:#788a83;
    --line:#d7e5de;
    --bg:#f4f6f1;
    --cream:#fbfaf5;
    --gold:#c89d48;
    --gold-strong:#896116;
    --danger:#a64040;
    --danger-hover:#8f3434;
    --warning:#896116;
    --warning-hover:#705014;
    --focus:#2f8f70;
    --surface:#fff;
    --surface-subtle:#f6faf8;
    --glass:rgba(255,255,255,.78);
    --glass-strong:rgba(255,255,255,.92);
    --radius-hero:22px;
    --radius-section:18px;
    --radius-inner:12px;
    --shadow-soft:0 8px 24px rgba(24,71,56,.07);
    --shadow-hover:0 14px 34px rgba(24,71,56,.12);
}

/* Semantic interactive states */
button,.primary-btn,.secondary-btn,.danger-btn,.table-action,.table-link,.alert-student,.logout-btn,.role-dashboard .actions>a{transition:background-color .16s ease,border-color .16s ease,color .16s ease,transform .08s ease,box-shadow .16s ease}
.primary-btn:not(:disabled):hover,.role-dashboard .actions>a.primary-btn:hover{background:var(--green-hover)!important;border-color:var(--green-hover)!important;color:#fff!important;box-shadow:0 5px 14px #105b4329}.primary-btn:not(:disabled):active,.role-dashboard .actions>a.primary-btn:active{background:var(--green-active)!important;border-color:var(--green-active)!important;color:#fff!important;transform:translateY(1px);box-shadow:none}
.secondary-btn:not(:disabled):hover,.logout-btn:hover,.role-dashboard .actions>a.secondary-btn:hover,.week-navigation .secondary-btn:hover{background:var(--green2)!important;border-color:#9fcfba!important;color:var(--green)!important;box-shadow:0 3px 10px #176b5017}.secondary-btn:not(:disabled):active,.logout-btn:active,.role-dashboard .actions>a.secondary-btn:active,.week-navigation .secondary-btn:active{background:#d8eee4!important;border-color:#78b89d!important;color:var(--green-active)!important;transform:translateY(1px);box-shadow:none}
.danger-btn:not(:disabled):hover,.table-action.reject:hover{background:#f9dddd!important;border-color:#d48787!important;color:var(--danger-hover)!important;box-shadow:0 3px 10px #a640401c}.danger-btn:not(:disabled):active,.table-action.reject:active{background:#f3c9c9!important;border-color:#c96f6f!important;color:#742828!important;transform:translateY(1px);box-shadow:none}
.table-action:not(.reject):not(.approve):hover,.table-link:hover,.edit-action:hover{background:var(--green2)!important;border-color:#b7d9ca!important;color:var(--green)!important;box-shadow:none}.table-action.approve:hover{background:#e5f4ed!important;border-color:#9fcfba!important;color:#105b43!important;box-shadow:none}.table-action,.table-link{border-radius:7px;padding:6px 9px}
.segmented button:not(.selected):hover,.alert-student:hover{background:#fff8df!important;border-color:#d9bd6a!important;color:#705718!important;box-shadow:none}.segmented button.selected:hover{background:var(--green-hover)!important;border-color:var(--green-hover)!important;color:#fff!important;box-shadow:none}.segmented button.selected.danger:hover{background:var(--danger-hover)!important;border-color:var(--danger-hover)!important}.segmented button.selected.warning:hover{background:var(--warning-hover)!important;border-color:var(--warning-hover)!important}.segmented button.selected.neutral:hover{background:#495a54!important;border-color:#495a54!important}
.notification-trigger:hover,.mobile-nav-trigger:hover{background:var(--green2)!important;border-color:#9fcfba!important;color:var(--green)!important;box-shadow:0 3px 10px #176b5017}.plan-step:hover{background:#f4faf7!important;color:var(--green)!important;border-color:#9fcfba!important;box-shadow:none!important}.plan-step.current:hover{background:transparent!important;border-color:var(--green)!important}button:disabled,.primary-btn:disabled,.secondary-btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none!important;transform:none!important}

/* Accessibility and keyboard navigation */
.skip-link{position:fixed;top:8px;right:50%;z-index:1000;transform:translate(50%,-160%);background:var(--ink);color:#fff;padding:10px 16px;border-radius:8px;font-weight:700;transition:transform .15s ease}.skip-link:focus{transform:translate(50%,0)}:where(a,button,input,select,textarea,[role="button"]):focus-visible{outline:3px solid var(--focus)!important;outline-offset:3px;box-shadow:0 0 0 4px #2f8f7026!important}input:focus,select:focus,textarea:focus{border-color:var(--focus)}.nav-link:focus-visible{outline-color:#f2ce78!important;outline-offset:-2px}.content:focus{outline:none}@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media(forced-colors:active){button,.primary-btn,.secondary-btn,.danger-btn,.panel,.stat-card,input,select,textarea{border:1px solid ButtonText}.status-pill,.result-count{border:1px solid currentColor}}

/* Dashboard KPI clarity */
.stat-card>div{min-width:0;flex:1}.kpi-state{display:inline-flex;margin-top:7px;padding:3px 8px;border-radius:20px;background:#e5f4ed;color:#176b50;font-size:10px;font-weight:700}.status-medium .kpi-state{background:#fff3d5;color:#896116}.status-low .kpi-state{background:#fbecec;color:#8f3434}.status-neutral .kpi-state{background:#eef2f0;color:#62716b}.status-meter[role="progressbar"]{width:100%;max-width:180px}.stat-card.status-good,.stat-card.status-medium,.stat-card.status-low,.stat-card.status-neutral{position:relative;overflow:hidden}.stat-card.status-good::after,.stat-card.status-medium::after,.stat-card.status-low::after,.stat-card.status-neutral::after{content:"";position:absolute;inset-block:0;right:0;width:4px;background:var(--green)}.stat-card.status-medium::after{background:var(--warning)}.stat-card.status-low::after{background:var(--danger)}.stat-card.status-neutral{border-color:#d7e2dd}.stat-card.status-neutral::after,.status-neutral .status-meter span{background:#9baca5}

/* Report preview and filters */
.report-filters{align-items:end}.filter-actions{display:flex;align-items:center;justify-content:center;min-height:44px}.filter-actions .secondary-btn{width:auto;min-width:132px;margin-inline:auto}.filter-chip{background:#f1f5f3;border:1px solid var(--line);border-radius:20px;padding:5px 10px;font-size:11px;color:var(--muted)}.report-loading{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:16px;padding:12px;border:1px solid #cfe8dc;border-radius:10px;background:#f5fbf8;color:var(--green);font-size:12px}.loading-spinner{width:18px;height:18px;border:2px solid #b7d9ca;border-top-color:var(--green);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}

/* Helpful empty states */
.smart-empty{display:flex;align-items:center;gap:14px;padding:24px;border:1px dashed #cbd9d3;border-radius:12px;background:#fafcfa;color:var(--muted)}.smart-empty-icon{width:44px;height:44px;border-radius:12px;background:var(--green2);color:var(--green);display:grid;place-items:center;font-size:22px;flex:0 0 auto}.smart-empty>div{flex:1}.smart-empty b{display:block;color:var(--ink);margin-bottom:4px}.smart-empty p{font-size:12px!important;line-height:1.7}.smart-empty .secondary-btn{white-space:nowrap}

/* Account menu */
.account-menu{position:relative}.account-menu[open]{z-index:201}.account-menu summary{list-style:none;display:flex;align-items:center;gap:10px;padding:5px 7px;border:1px solid transparent;border-radius:12px;cursor:pointer;transition:background-color .18s ease,border-color .18s ease,border-radius .18s ease,box-shadow .18s ease}.account-menu summary::-webkit-details-marker{display:none}.account-menu summary:hover{background:var(--green2);border-color:#cfe8dc}.account-menu[open] summary{border-color:#8fc4aa;border-radius:14px 14px 8px 8px;background:#e1f2e9;box-shadow:0 7px 18px rgba(18,101,79,.13)}.account-menu summary:focus{outline:none}.account-menu summary:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.account-greeting{display:grid;gap:1px}.account-greeting strong{font-size:13px}.account-greeting small{font-size:10px;color:var(--muted)}.account-chevron{display:grid;width:28px;height:28px;flex:0 0 28px;place-items:center;border:1px solid #cfe4da;border-radius:50%;background:#edf7f2;color:var(--green);transition:background-color .2s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease}.account-chevron .app-icon{display:block;width:13px;height:13px;transition:transform .2s ease}.account-menu summary:hover .account-chevron,.account-menu[open] .account-chevron{border-color:#d6ae59;background:#fff4d8;color:#9a6d16;box-shadow:0 4px 12px rgba(200,157,72,.2)}.account-menu[open] .account-chevron .app-icon{transform:rotate(180deg)}.account-popover{position:absolute;top:calc(100% + 8px);left:0;width:230px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 14px 36px #173e3026;overflow:hidden;z-index:202}.account-popover-head{padding:14px 16px;background:#f7faf8;border-bottom:1px solid var(--line)}.account-popover-head b,.account-popover-head small{display:block}.account-popover-head b{font-size:13px}.account-popover-head small{margin-top:3px;color:var(--green);font-size:10px}.account-popover>a,.account-popover button{display:block;width:100%;border:0;background:#fff;color:var(--ink);padding:12px 16px;text-align:right;font:inherit;font-size:12px;cursor:pointer}.account-popover>a:hover,.account-popover button:hover{background:var(--green2)!important;color:var(--green)!important;box-shadow:none!important}.account-popover form{border-top:1px solid var(--line)}.account-popover form button{color:var(--danger)}
.top-row:has(.account-menu[open],.notification-menu[open]){z-index:200}

@media(max-width:820px){.active-filter{align-items:flex-start;flex-wrap:wrap}.active-filter .result-count{margin-right:0}.filter-chip{max-width:100%}.filter-actions{grid-column:1/-1}.smart-empty{align-items:stretch;flex-direction:column}.smart-empty .secondary-btn{text-align:center}.account-menu{margin-right:auto}.account-menu .account-greeting,.account-chevron{display:none}.account-menu summary{padding:3px}.account-popover{position:fixed;top:61px;left:14px;right:auto;width:220px}}

/* Hybrid Soft Glass theme */
html{background:#edf2ee}
body{min-height:100vh;background:
    radial-gradient(circle at 12% 8%,rgba(200,157,72,.11),transparent 26rem),
    radial-gradient(circle at 82% 34%,rgba(30,127,96,.10),transparent 30rem),
    linear-gradient(145deg,#f7f8f3 0%,#eef4f0 48%,#f8f6ef 100%);background-attachment:fixed}
.page::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;opacity:.28;background-image:linear-gradient(30deg,rgba(18,101,79,.045) 12%,transparent 12.5%,transparent 87%,rgba(18,101,79,.045) 87.5%),linear-gradient(150deg,rgba(18,101,79,.045) 12%,transparent 12.5%,transparent 87%,rgba(18,101,79,.045) 87.5%);background-size:46px 80px}

/* Navigation shell */
.sidebar{width:282px;height:100dvh;display:flex;flex-direction:column;overflow:hidden;background:linear-gradient(180deg,rgba(10,67,52,.98),rgba(8,55,43,.98));border-left:1px solid rgba(255,255,255,.09);box-shadow:-18px 0 48px rgba(10,51,40,.16);transition:width .22s ease,transform .22s ease}
.nav-scrollable{flex:1;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:auto;scrollbar-color:auto}
.nav-scrollable::-webkit-scrollbar{width:12px}
.nav-scrollable::-webkit-scrollbar-track{margin-block:10px;border-radius:999px;background:rgba(255,255,255,.035)}
.nav-scrollable::-webkit-scrollbar-thumb{min-height:64px;border:2px solid transparent;border-radius:999px;background:linear-gradient(180deg,#e4c276,#bd8f39);background-clip:padding-box;box-shadow:inset 0 0 0 1px rgba(255,255,255,.16)}
.nav-scrollable::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#efd28d,#d0a348);background-clip:padding-box}
.nav-scrollable::-webkit-scrollbar-button,
.nav-scrollable::-webkit-scrollbar-button:single-button,
.nav-scrollable::-webkit-scrollbar-button:vertical:start:decrement,
.nav-scrollable::-webkit-scrollbar-button:vertical:end:increment{-webkit-appearance:none!important;display:none!important;width:0!important;height:0!important;background:transparent!important}
@supports not selector(::-webkit-scrollbar){.nav-scrollable{scrollbar-width:thin;scrollbar-color:#d4ab58 transparent}}
main{margin-right:282px;width:calc(100% - 282px);transition:margin-right .22s ease,width .22s ease}
.brand{position:relative;z-index:3;flex:0 0 auto;height:108px;padding:24px 22px;background:linear-gradient(135deg,rgba(255,255,255,.07),rgba(255,255,255,.015));border-bottom-color:rgba(255,255,255,.1)}
.brand .brand-logo{width:52px;height:52px;padding:9px;border-radius:16px;background:linear-gradient(145deg,#e1bd70,#bd8d34);color:#fff;filter:drop-shadow(0 8px 14px rgba(0,0,0,.18))}
.brand b{font-size:17px;letter-spacing:.1px}.brand small{margin-top:3px;color:#bfd4cb;font-size:10px}
.nav{padding:24px 15px}.nav-item{margin-bottom:4px}.nav-link{position:relative;min-height:48px;padding:13px 15px;border:1px solid transparent;border-radius:14px;color:#d4e4de!important;transition:background .18s ease,border-color .18s ease,transform .18s ease,color .18s ease}
.nav-link span{display:grid;width:28px;height:28px;place-items:center;border-radius:9px;background:rgba(255,255,255,.055);color:#e3c67d;font-size:16px;transition:background .18s ease,transform .18s ease}
.nav-link:hover{background:rgba(255,255,255,.075);border-color:rgba(255,255,255,.08);transform:translateX(-2px)}
.nav-link.active{background:linear-gradient(100deg,rgba(255,255,255,.17),rgba(255,255,255,.085));border-color:rgba(255,255,255,.12);box-shadow:0 9px 22px rgba(0,0,0,.10);color:#fff!important}
.nav-link.active::after{content:"";position:absolute;right:-15px;top:12px;bottom:12px;width:4px;border-radius:4px 0 0 4px;background:#e2bb68;box-shadow:0 0 14px rgba(226,187,104,.5)}
.nav-link.active span{background:#d6ae59;color:#fff;transform:rotate(-3deg)}
.sidebar-nav-tooltip{position:fixed;z-index:1200;display:block;max-width:220px;padding:8px 12px;border:1px solid rgba(225,189,112,.48);border-radius:10px;background:linear-gradient(135deg,#174f3f,#0d3d31);color:#fff;font-size:12px;font-weight:700;line-height:1.35;white-space:nowrap;box-shadow:0 10px 28px rgba(5,35,27,.24);opacity:0;visibility:hidden;pointer-events:none;transform:translateX(5px);transition:opacity .14s ease,transform .14s ease,visibility .14s ease}
.sidebar-nav-tooltip.is-visible{opacity:1;visibility:visible;transform:translateX(0)}
.nav-footer{padding:17px 18px;border-color:rgba(255,255,255,.12);border-radius:16px;background:linear-gradient(145deg,rgba(255,255,255,.085),rgba(255,255,255,.035));backdrop-filter:blur(14px)}
.nav-footer b{color:#fff}.nav-footer small,.nav-footer span{color:#b8d0c7}

/* Glass top bar and content rhythm */
.top-row{height:98px;padding:0 38px;justify-content:flex-start;background:transparent;border-bottom:1px solid transparent;box-shadow:none;backdrop-filter:none;position:sticky;top:0;z-index:35;transition:transform .24s ease,opacity .18s ease}
.mobile-nav-trigger{display:flex;width:40px;height:40px;flex:0 0 auto;flex-direction:column;align-items:center;justify-content:center;gap:4px;border:1px solid #cbded5;border-radius:11px;background:rgba(255,255,255,.82);color:var(--green);cursor:pointer;box-shadow:0 5px 16px rgba(18,101,79,.06)}
.mobile-nav-trigger span{display:block;width:18px;height:2px;border-radius:2px;background:currentColor}
.content{padding:34px 38px 54px;max-width:1540px}
.notification-trigger,.account-menu summary{background:rgba(255,255,255,.72);border-color:rgba(191,212,203,.72);backdrop-filter:blur(12px)}
.avatar{background:linear-gradient(145deg,#e9f6f0,#d9eee5);border:1px solid #cce5da;color:var(--green);box-shadow:inset 0 1px 0 #fff}
.account-popover,.notification-popover{background:rgba(255,255,255,.94);border-color:rgba(191,212,203,.8);box-shadow:0 22px 60px rgba(22,64,50,.18);backdrop-filter:blur(22px) saturate(140%)}

/* Page hero */
.page-heading{position:relative;isolation:isolate;overflow:hidden;align-items:center;padding:27px 30px;margin-bottom:24px;border:1px solid rgba(197,216,208,.72);border-radius:var(--radius-hero);background:linear-gradient(118deg,rgba(255,255,255,.88),rgba(250,252,248,.68));box-shadow:var(--shadow-soft);backdrop-filter:blur(15px) saturate(120%)}
.page-heading::before{content:"";position:absolute;z-index:-1;left:-55px;top:-78px;width:230px;height:230px;border-radius:50%;background:radial-gradient(circle,rgba(200,157,72,.18),transparent 68%)}
.page-heading::after{content:"";position:absolute;z-index:-1;right:42%;bottom:-82px;width:250px;height:145px;border-radius:50%;background:radial-gradient(circle,rgba(34,133,102,.11),transparent 70%)}
.page-heading h1{font-size:31px;letter-spacing:-.35px;color:#173b30}.page-heading p{max-width:760px;line-height:1.8}
.eyebrow{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border:1px solid #cfe4da;border-radius:20px;background:rgba(232,245,239,.78);color:#176c53;font-weight:700}

/* Surfaces */
.panel,.stat-card{border-color:rgba(202,219,211,.78);box-shadow:var(--shadow-soft)}
.panel{border-radius:var(--radius-section);background:var(--glass-strong)}
.panel .panel{border-color:var(--line);border-radius:var(--radius-inner);background:var(--surface-subtle);box-shadow:none}
.stat-card{position:relative;min-height:142px;padding:22px;border-radius:var(--radius-section);background:linear-gradient(145deg,rgba(255,255,255,.9),rgba(255,255,255,.68));backdrop-filter:blur(15px) saturate(125%);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.stat-card:hover{transform:translateY(-4px);border-color:#bdd9cc;box-shadow:var(--shadow-hover)}
.dashboard-kpi-link{color:inherit;text-decoration:none;cursor:pointer}
.dashboard-kpi-link:visited{color:inherit}
.dashboard-kpi-link:focus-visible{border-color:#86bba4}
.stat-card .stat-icon{width:50px;height:50px;border-radius:15px;box-shadow:inset 0 1px 0 rgba(255,255,255,.9)}
.stat-card strong{font-size:30px;color:#153f32}.stat-card em{margin-top:2px;line-height:1.55}
.stats-grid{gap:18px}.status-meter{height:6px;background:#e7eeea}.status-meter span{background:linear-gradient(90deg,#258b6b,#12654f)}
.dashboard-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.attendance-kpi{align-items:flex-start}.attendance-breakdown{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}.attendance-breakdown span{padding:3px 7px;border-radius:20px;font-size:10px;font-weight:700}.attendance-breakdown .present{background:#e5f4ed;color:#176b50}.attendance-breakdown .late{background:#fff3d5;color:#896116}.attendance-breakdown .absent{background:#fbecec;color:#8f3434}
.role-dashboard{overflow:hidden;background:linear-gradient(120deg,rgba(255,255,255,.94),rgba(238,247,242,.87));border-color:#cfe2d9}.role-dashboard h2{color:#174d3c}.role-dashboard .actions>a{border-radius:12px}

/* Controls */
.primary-btn,.secondary-btn,.danger-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:43px;border-radius:12px;padding:10px 18px;font:inherit;font-size:13px;font-weight:700;line-height:1.2;white-space:nowrap;cursor:pointer}.primary-btn{background:linear-gradient(135deg,#17765a,#105943);border:1px solid #105943;box-shadow:0 8px 18px rgba(18,101,79,.16);animation:none!important;transition:none!important;will-change:auto}
.secondary-btn{background:rgba(255,255,255,.82);border-color:#cbded5;backdrop-filter:blur(8px)}
.stable-submit:disabled,.stable-submit[aria-hidden="true"]{opacity:1;background:linear-gradient(135deg,#17765a,#105943);color:#fff}.dashboard-loading-placeholder{min-height:198px}
.row-actions{min-width:0}.row-actions :where(.primary-btn,.secondary-btn,.danger-btn,.table-action,.edit-action),.table-action,.edit-action{display:inline-flex;align-items:center;justify-content:center;min-height:34px;width:auto;margin:0;border-radius:8px;padding:6px 10px;font:inherit;font-size:11px;font-weight:700;line-height:1.2;white-space:nowrap;cursor:pointer}.row-actions .danger-btn{background:#fff0f0;border:1px solid #e7b1b1;color:var(--danger)}
input,select,textarea{min-height:44px;border-color:#d5e3dc;border-radius:11px;background:rgba(255,255,255,.9);box-shadow:inset 0 1px 2px rgba(23,68,53,.025)}
input:hover,select:hover,textarea:hover{border-color:#b8d4c7}input:focus,select:focus,textarea:focus{background:#fff}
select:not([multiple]){
    appearance:none;
    -webkit-appearance:none;
    padding-left:42px;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%2312654f' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.8' d='m4 6 4 4 4-4'/%3E%3C/svg%3E");
    background-repeat:no-repeat;
    background-position:left 14px center;
    background-size:14px;
    color:var(--ink);
    cursor:pointer;
    transition:border-color .18s ease,background-color .18s ease,box-shadow .18s ease;
}
select:not([multiple]):hover{border-color:#8fc4aa;background-color:#fbfdfc}
select:not([multiple]):focus{border-color:#2f8f70;box-shadow:0 0 0 3px rgba(47,143,112,.13)}
select option{background:#fff;color:var(--ink)}
select option:checked{background:#12654f linear-gradient(0deg,#12654f,#12654f);color:#fff}
select:disabled{cursor:not-allowed;opacity:.58;background-color:#f1f4f2}

@supports (appearance:base-select){
    select:not([multiple]){
        appearance:base-select;
        -webkit-appearance:base-select;
        align-items:center;
        padding-left:42px;
    }
    select:not([multiple])::picker-icon{display:none}
    ::picker(select){appearance:base-select;margin-top:7px;padding:6px;border:1px solid #c4dbd0;border-radius:14px;background:rgba(255,255,255,.98);box-shadow:0 18px 45px rgba(20,68,52,.18)}
    ::picker(select){scrollbar-width:none;-ms-overflow-style:none}
    ::picker(select)::-webkit-scrollbar{display:none;width:0;height:0}
    select option{display:flex;align-items:center;gap:9px;min-height:40px;margin:2px;padding:9px 11px;border:0;border-radius:9px;background:#fff;color:var(--ink);cursor:pointer;transition:background-color .14s ease,color .14s ease}
    select option:hover,select option:focus{outline:0;background:#edf7f2;color:var(--green)}
    select option:checked{outline:0;background:#12654f;color:#fff;font-weight:700}
    select option::checkmark{display:none}
}
.form-panel{background:rgba(255,255,255,.9)}.form-note{border:1px solid #d2e7dd;background:linear-gradient(120deg,#edf8f3,#f7fbf9)}
.announcement-compose{max-width:980px}.announcement-compose-heading{display:flex;align-items:center;gap:14px;margin-bottom:22px}.announcement-compose-heading h2{margin:0 0 4px}.announcement-scope-note{display:flex;align-items:center;gap:8px;margin:16px 0;color:var(--green);font-size:13px}.announcement-scope-note svg{width:18px;height:18px}.announcement-confirmation{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 18px;border:1px solid #dfc46e;border-radius:16px;background:#fffaf0}.announcement-confirmation p{margin:5px 0 0;color:var(--muted)}.announcement-confirmation .actions{margin:0;flex-shrink:0}.dashboard-announcements{border-color:#ead89d;background:linear-gradient(135deg,#fffdf6,#fff)}.dashboard-announcement-list{display:grid;gap:10px;margin-top:18px}.dashboard-announcement-card{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;padding:16px;border:1px solid #eee2bc;border-radius:14px;background:#fff}.dashboard-announcement-card p{white-space:pre-line;margin-top:7px}.dashboard-announcement-meta{display:flex;align-items:center;justify-content:space-between;gap:12px}.dashboard-announcement-meta small{color:var(--muted)}
@media(max-width:640px){.announcement-confirmation{align-items:stretch;flex-direction:column}.announcement-confirmation .actions{display:grid}.announcement-confirmation .actions button{width:100%}}
@media(max-width:700px){.dashboard-announcement-card{grid-template-columns:auto 1fr}.dashboard-announcement-card>button{grid-column:1/-1;width:100%}.dashboard-announcement-meta{align-items:flex-start;flex-direction:column;gap:3px}}
.student-guardian-management{display:grid;gap:14px;margin:20px 0;padding:18px;border:1px solid #d8e7df;border-radius:18px;background:linear-gradient(145deg,#fbfdfc,#f5faf7)}.student-guardian-management .weekly-header h2{margin:3px 0}.student-guardian-management .weekly-header p{margin:3px 0 0;color:var(--muted);font-size:11px}.student-guardian-list{display:grid;gap:8px}.student-guardian-list article{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:11px 13px;border:1px solid #dde9e3;border-radius:13px;background:#fff}.student-guardian-list article>div{display:grid;min-width:0;gap:2px}.student-guardian-list small{overflow:hidden;color:var(--muted);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.guardian-add-form{padding-top:13px;border-top:1px solid #dce8e2}@media(max-width:600px){.student-guardian-management{padding:14px}.student-guardian-management .weekly-header{align-items:stretch;flex-direction:column}.student-guardian-list article{grid-template-columns:1fr auto}.student-guardian-list article .table-action{grid-column:1/-1;width:100%}}
.student-existing-plan{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:7px 12px;padding:13px 15px;border:1px solid #e5cb88;border-radius:14px;background:linear-gradient(120deg,#fff9e9,#f8fbf8)}.student-existing-plan div{display:grid;gap:2px}.student-existing-plan div>b{color:#315448;font-size:13px}.student-existing-plan div>small{color:#7d6b3e;font-size:11px}.student-existing-plan p{grid-column:1/-1;margin:0;color:#75694e;font-size:11px;line-height:1.7}

/* Keep dense data clear */
.table-panel{background:var(--surface);box-shadow:var(--shadow-soft)}
.data-table-toolbar{padding:18px 20px;background:#f8fbf9}.data-table thead th{background:#f3f7f5;color:#60756d}.data-table tbody tr:hover{background:#f5faf7}.data-table tbody td{background:transparent}
.result-count,.filter-chip,.scope-lock{background:#f7faf8;border-color:#d6e4de}.table-pager{background:#f8fbf9}
.status-pill,.success-pill,.surah-pill{font-weight:700}

/* Readable secondary text and a quieter inner hierarchy */
.page-heading p,.panel p,.field-hint,.block,.form-grid label,.filters label,.data-table-toolbar label,
.active-filter,.dashboard-announcement-meta small,.student-guardian-list small,.student-existing-plan div>small,
.student-existing-plan p{color:var(--muted)}
.field-hint,.block,.data-table-toolbar label,.dashboard-announcement-meta small,
.student-guardian-list small,.student-existing-plan div>small,.student-existing-plan p{font-size:11px}
.directory-stage.is-open{box-shadow:none}
.directory-stage-content,.account-stage-circles{background:var(--surface-subtle)}
.directory-stage .directory-circle{border-radius:var(--radius-inner)}
.panel :is(.teacher-permissions,.permission-presets,.student-guardian-management){box-shadow:none}

/* Login */
.login-page{background:radial-gradient(circle at 15% 15%,rgba(200,157,72,.2),transparent 28rem),radial-gradient(circle at 90% 70%,rgba(30,127,96,.18),transparent 30rem),linear-gradient(145deg,#edf5f0,#f8f5ec)}
.login-card{border-color:rgba(255,255,255,.8);border-radius:26px;background:rgba(255,255,255,.8);box-shadow:0 28px 80px rgba(17,65,49,.16);backdrop-filter:blur(22px) saturate(130%)}
.login-brand .brand-logo{padding:8px;border-radius:17px;background:linear-gradient(145deg,#e9c778,#c3953d);color:#fff;box-shadow:0 12px 24px rgba(149,108,34,.2)}
.welcome-login-page{position:relative;isolation:isolate;overflow:hidden;padding:96px 20px 24px;background:radial-gradient(circle at 12% 12%,rgba(213,170,77,.19),transparent 28rem),radial-gradient(circle at 86% 34%,rgba(23,126,93,.18),transparent 34rem),linear-gradient(145deg,#f8faf6,#eef6f1 50%,#fbf7ed)}
.welcome-login-page::after{content:"";position:absolute;z-index:-1;inset:0;background:rgba(247,250,247,.42);backdrop-filter:blur(1.5px)}
.welcome-login-page .login-card{position:relative;z-index:2;background:rgba(255,255,255,.86);border-color:rgba(255,255,255,.9);box-shadow:0 30px 85px rgba(17,65,49,.19)}
.forgot-password-help{margin-top:14px;border:1px solid #d8e8e0;border-radius:14px;background:rgba(246,251,248,.8);padding:10px 13px;color:#315c4d}.forgot-password-help summary{cursor:pointer;color:var(--green);font-size:13px;font-weight:800;list-style-position:inside}.forgot-password-help p{margin:9px 0 4px;font-size:12px;line-height:1.8}.forgot-password-help small{color:var(--muted);font-size:11px}.account-status{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:4px 9px;border:1px solid transparent;border-radius:999px;font-size:11px;font-weight:800;white-space:nowrap}.account-status.is-active{background:#e8f5ef;border-color:#c7e4d7;color:#126349}.account-status.is-locked{background:#fff6df;border-color:#ecd598;color:#8a6415}.account-status.is-disabled{background:#fff0f0;border-color:#e7b1b1;color:#a64040}
.plan-delete-backdrop{position:fixed;z-index:1000;inset:0;display:grid;place-items:center;padding:20px;background:rgba(10,35,28,.48);backdrop-filter:blur(5px)}
.plan-delete-dialog{display:grid;grid-template-columns:auto minmax(0,1fr);gap:16px;width:min(100%,480px);padding:25px;border:1px solid rgba(255,255,255,.85);border-radius:23px;background:#fff;box-shadow:0 28px 80px rgba(8,38,29,.28)}
.plan-delete-icon{display:grid;width:48px;height:48px;place-items:center;border-radius:15px;background:#fdeaea;color:#a64040}.plan-delete-icon .app-icon{width:22px;height:22px}
.plan-delete-dialog h2{margin:5px 0 7px;font-size:21px}.plan-delete-dialog p{margin:0;color:var(--muted);font-size:13px;line-height:1.85}.plan-delete-dialog .actions{grid-column:1/-1;justify-content:flex-start;margin-top:4px}
@media(max-width:520px){.plan-delete-dialog{grid-template-columns:1fr;padding:21px}.plan-delete-dialog .actions{display:grid;grid-template-columns:1fr}.plan-delete-dialog .actions button{width:100%}}
.login-home-mark{position:fixed;z-index:4;top:0;right:0;left:0;display:flex;align-items:center;gap:11px;min-height:98px;width:100%;padding:20px clamp(20px,4vw,64px);border:0;border-radius:0;background:transparent;color:#174638;box-shadow:none;backdrop-filter:none;transition:transform .24s ease,opacity .18s ease,color .18s ease}
.login-home-mark:hover{background:transparent;color:#0f6b50}
.login-home-mark .brand-logo{width:42px;height:42px;color:#176b50}
.login-home-mark span{display:grid;gap:1px}.login-home-mark b{font-size:12px}.login-home-mark small{color:#71827c;font-size:9px}
.login-welcome-backdrop{position:absolute;z-index:-1;inset:0;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:100px;padding:9vw;opacity:.22;filter:saturate(.75);pointer-events:none;user-select:none}
.login-backdrop-copy{display:grid;gap:15px;max-width:480px}.login-backdrop-copy>span{width:max-content;padding:7px 12px;border:1px solid #99c6b2;border-radius:999px;color:#176b50;font-size:12px;font-weight:800}.login-backdrop-copy strong{color:#103f33;font-size:clamp(39px,4.5vw,68px);line-height:1.25}.login-backdrop-copy p{margin:0;color:#597068;font-size:16px}
.login-backdrop-visual{position:relative;display:grid;place-items:center;min-height:470px}.login-orbit{position:absolute;border:1px solid #72ad95;border-radius:50%}.login-orbit-one{width:430px;height:430px}.login-orbit-two{width:315px;height:315px;border-color:#c6a45a}
.login-backdrop-card{position:absolute;display:flex;align-items:center;gap:10px;padding:15px 18px;border:1px solid #9ec9b6;border-radius:19px;background:rgba(255,255,255,.78);color:#164c3b}.login-backdrop-card .app-icon{width:22px;height:22px}.login-backdrop-card.main{position:relative;display:grid;width:250px;padding:28px}.login-backdrop-card.main small{color:#637971}.login-backdrop-card.main b{font-size:27px}.login-backdrop-card.main span{height:8px;border-radius:999px;background:linear-gradient(90deg,#1b7f60 74%,#dfeae5 74%)}.login-backdrop-card.attendance{top:42px;right:2%}.login-backdrop-card.progress{bottom:52px;left:0}
@media(max-width:900px){.login-welcome-backdrop{grid-template-columns:1fr;padding:9vw}.login-backdrop-copy{display:none}.login-backdrop-visual{min-height:520px;opacity:.7}}
@media(max-width:600px){.welcome-login-page{align-items:start;padding:96px 14px 24px;overflow-y:auto}.login-home-mark{min-height:78px;padding:14px}.login-home-mark .brand-logo{width:36px;height:36px}.login-home-mark small{display:none}.login-welcome-backdrop{display:none}.welcome-login-page .login-card{width:100%;padding:27px 21px;border-radius:22px}.welcome-login-page .login-brand{gap:11px}.welcome-login-page .login-brand .brand-logo{width:50px;height:50px}.welcome-login-page .login-brand h1{font-size:21px}.welcome-login-page .login-brand p{font-size:11px}}

@media(max-width:1100px) and (min-width:821px){
    .sidebar{width:238px}
    main{margin-right:238px;width:calc(100% - 238px)}
    .content{min-width:0;padding-inline:22px}
    .page-heading{padding:24px}
    .dashboard-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .table-panel{max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain}
    .table-panel :is(.data-table,.report-desktop-table){min-width:720px}
    .data-table-toolbar{display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,220px) auto;align-items:end}
    .data-table-toolbar .table-search{grid-column:1/-1;width:100%;max-width:none}
    .data-table-toolbar label{min-width:0}
    .data-table-toolbar .result-count{margin:0;align-self:end;justify-self:end}
    .report-filters.panel,.filters.panel{grid-template-columns:repeat(2,minmax(0,1fr))}
    .report-filters .filter-actions{grid-column:1/-1}
}
@media(min-width:821px){
    .mobile-nav-toggle:checked~.sidebar{width:78px;transform:none}
    .mobile-nav-toggle:checked~main{margin-right:78px;width:calc(100% - 78px)}
    .mobile-nav-toggle:checked~.sidebar .brand{height:92px;padding:20px 10px}
    .mobile-nav-toggle:checked~.sidebar .brand a{justify-content:center;gap:0}
    .mobile-nav-toggle:checked~.sidebar .brand a>span:last-child{display:none}
    .mobile-nav-toggle:checked~.sidebar .brand .brand-logo{width:42px;height:42px}
    .mobile-nav-toggle:checked~.sidebar .nav{padding:20px 10px}
    .mobile-nav-toggle:checked~.sidebar .nav-link{justify-content:center;gap:0;min-height:48px;padding:9px;font-size:0}
    .mobile-nav-toggle:checked~.sidebar .nav-link span{width:34px;height:34px;flex:0 0 34px;border-radius:11px;font-size:16px}
    .mobile-nav-toggle:checked~.sidebar .nav-link:hover{transform:none}
    .mobile-nav-toggle:checked~.sidebar .nav-link.active::after{right:-10px;top:10px;bottom:10px}
    .mobile-nav-toggle:checked~.sidebar .nav-footer{display:none}
    .mobile-nav-backdrop,.mobile-nav-close{display:none!important}
}
@media(max-width:820px){
    html,body{width:100%;max-width:100%;overflow-x:hidden}
    .page{display:block}
    .sidebar{width:min(84vw,300px);transform:translateX(105%);overflow:hidden;z-index:60;border-radius:22px 0 0 22px}.sidebar .nav-link.active::after{right:-12px}
    .mobile-nav-toggle:checked~.sidebar{transform:translateX(0)}
    main{margin-right:0;width:100%;max-width:100%;overflow-x:hidden}
    .top-row{height:78px;padding:0 14px;justify-content:flex-start;gap:10px;background:transparent}
    .content{width:100%;max-width:100%;padding:20px 14px 48px;overflow-x:hidden}
    .page-heading{padding:22px 19px;border-radius:18px}.page-heading h1{font-size:25px}.page-heading::before{left:-105px;top:-110px}
    .stat-card{min-height:124px;padding:18px}.stat-card:hover{transform:none}.stats-grid{gap:12px}.dashboard-kpi-grid{grid-template-columns:1fr}
    .panel{border-radius:16px}.role-dashboard{padding:20px}.data-table-toolbar{padding:14px}
}

/* Official Bootstrap SVG icons and restored original logo */
.app-icon{display:inline-block;width:1em;height:1em;fill:currentColor;vertical-align:-.125em;overflow:visible}.nav-link .app-icon{width:17px;height:17px}.stat-icon .app-icon{width:22px;height:22px}.bell-icon{display:grid;place-items:center}.bell-icon .app-icon{width:18px;height:18px}.scope-lock{display:inline-flex;align-items:center;gap:5px}.scope-lock .app-icon{width:12px;height:12px}.smart-empty-icon .app-icon{width:23px;height:23px}
.brand-logo{padding:0!important;border-radius:0!important;background:none!important;filter:none!important;box-shadow:none!important}.brand .brand-logo{width:46px;height:46px}.login-brand .brand-logo{width:58px;height:58px}.report-header .brand-logo{padding:0}

/* Final interaction contract: green for primary, pale green for secondary, red for destructive. */
.page .primary-btn:not(:disabled):hover,
.page .role-dashboard .actions > a.primary-btn:hover {
    background:var(--green-hover) !important;
    border-color:var(--green-hover) !important;
    color:#fff !important;
    box-shadow:0 5px 14px #105b4329 !important;
}

.page .primary-btn:not(:disabled):active,
.page .role-dashboard .actions > a.primary-btn:active {
    background:var(--green-active) !important;
    border-color:var(--green-active) !important;
    color:#fff !important;
    box-shadow:none !important;
    transform:translateY(1px) !important;
}

.page :is(.secondary-btn,.logout-btn):not(:disabled):hover,
.page .week-navigation .secondary-btn:not(:disabled):hover {
    background:var(--green2) !important;
    border-color:#9fcfba !important;
    color:var(--green) !important;
    box-shadow:0 3px 10px #176b5017 !important;
}

.page :is(.secondary-btn,.logout-btn):not(:disabled):active,
.page .week-navigation .secondary-btn:not(:disabled):active {
    background:#d8eee4 !important;
    border-color:#78b89d !important;
    color:var(--green-active) !important;
    box-shadow:none !important;
    transform:translateY(1px) !important;
}

.page .danger-btn:not(:disabled):hover,
.page .table-action.reject:not(:disabled):hover {
    background:#f9dddd !important;
    border-color:#d48787 !important;
    color:var(--danger-hover) !important;
    box-shadow:0 3px 10px #a640401c !important;
}

.page .danger-btn:not(:disabled):active,
.page .table-action.reject:not(:disabled):active {
    background:#f3c9c9 !important;
    border-color:#c96f6f !important;
    color:#742828 !important;
    box-shadow:none !important;
    transform:translateY(1px) !important;
}

.mobile-header-context{display:none}

/* Home dashboard: modern soft-glass motion and richer editorial content */
.dashboard-home{position:relative;isolation:isolate;max-width:100%;overflow-x:clip;--mouse-x:50%;--mouse-y:50%}
.dashboard-home::before,.dashboard-home::after{content:"";position:absolute;z-index:-1;pointer-events:none;border-radius:50%;filter:blur(12px);animation:dashboard-float 9s ease-in-out infinite alternate}
.dashboard-home::before{width:310px;height:310px;top:80px;left:-80px;background:radial-gradient(circle,rgba(211,169,83,.15),transparent 69%)}
.dashboard-home::after{width:390px;height:390px;top:430px;right:-145px;background:radial-gradient(circle,rgba(21,125,91,.12),transparent 70%);animation-delay:-4s}
.dashboard-home :is(.dashboard-hero,.stat-card,.panel,.dashboard-value){transform:translateY(0);transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease;background-image:radial-gradient(circle at 50% 50%,rgba(255,255,255,.72),transparent 34%),linear-gradient(145deg,rgba(255,255,255,.91),rgba(246,250,247,.68))}
.dashboard-home :is(.dashboard-hero,.stat-card,.panel,.dashboard-value):hover{transform:translateY(-4px);border-color:rgba(170,207,191,.95);box-shadow:0 22px 55px rgba(22,79,60,.13)}
.dashboard-home .dashboard-hero{min-height:188px;padding:34px 36px;background-image:radial-gradient(circle at var(--mouse-x,50%) var(--mouse-y,50%),rgba(255,255,255,.86),transparent 32%),linear-gradient(120deg,rgba(255,255,255,.92),rgba(235,247,241,.71))}
.dashboard-home .dashboard-hero h1{max-width:780px;font-size:clamp(29px,3vw,42px);line-height:1.25}
.dashboard-home .dashboard-hero p{max-width:820px;font-size:15px}
.dashboard-home .dashboard-hero>*{position:relative;z-index:1}
.dashboard-story{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);gap:34px;margin-top:24px;padding:32px;border:1px solid rgba(190,216,204,.82);border-radius:25px;background:linear-gradient(125deg,rgba(255,255,255,.88),rgba(234,246,240,.66));box-shadow:var(--shadow-soft);backdrop-filter:blur(18px) saturate(130%)}
.dashboard-story-copy{align-self:center;padding:8px 6px}.dashboard-story-copy h2{margin:14px 0 10px;color:#153f32;font-size:clamp(24px,2.5vw,34px)}
.dashboard-story-copy>p{max-width:660px;margin:0;color:var(--muted);font-size:14px;line-height:2}
.dashboard-quote{display:block;margin-top:20px;padding-right:15px;border-right:3px solid #d3aa55;color:#826521;font-size:13px;font-weight:700;line-height:1.8}
.dashboard-values{display:grid;gap:11px}.dashboard-value{display:flex;align-items:center;gap:14px;padding:17px 18px;border:1px solid rgba(199,220,210,.78);border-radius:17px;background:rgba(255,255,255,.6);box-shadow:0 8px 25px rgba(24,71,56,.055);backdrop-filter:blur(12px)}
.dashboard-value>span{display:grid;width:43px;height:43px;flex:0 0 auto;place-items:center;border-radius:13px;background:linear-gradient(145deg,#e5f4ed,#f6eed9);color:var(--green);box-shadow:inset 0 1px 0 #fff}
.dashboard-value .app-icon{width:20px;height:20px}.dashboard-value b{display:block;color:#174638;font-size:13px}.dashboard-value p{margin:3px 0 0!important;color:var(--muted);font-size:11px;line-height:1.65}
@keyframes dashboard-float{from{transform:translate3d(0,-8px,0) scale(.96)}to{transform:translate3d(18px,15px,0) scale(1.05)}}
@media(max-width:900px){.dashboard-story{grid-template-columns:1fr;gap:22px}}
@media(max-width:820px){.dashboard-home .dashboard-hero{min-height:0;padding:20px 18px}.dashboard-home .dashboard-hero h1{font-size:27px}.dashboard-home .dashboard-hero p{font-size:13px}.dashboard-home .stat-card{min-height:106px;padding:14px 15px}.dashboard-home .stat-card .stat-icon{width:44px;height:44px;border-radius:13px}.dashboard-home .stat-card strong{font-size:27px}.dashboard-story{display:none}.dashboard-value{padding:14px}.dashboard-home :is(.dashboard-hero,.stat-card,.panel,.dashboard-value),.dashboard-home .stat-card:hover{transform:none}}
@media(prefers-reduced-motion:reduce){.dashboard-home::before,.dashboard-home::after{animation:none}.dashboard-home :is(.dashboard-hero,.stat-card,.panel,.dashboard-value){transform:none!important}}

/* Public landing page */
.public-home{min-height:100vh;overflow:clip;color:#143d31;background:radial-gradient(circle at 12% 12%,rgba(213,170,77,.19),transparent 28rem),radial-gradient(circle at 86% 34%,rgba(23,126,93,.18),transparent 34rem),linear-gradient(145deg,#f8faf6,#eef6f1 50%,#fbf7ed)}
.public-home>main{width:100%;margin:0}
.public-home :is(.public-glass){--tilt-x:0deg;--tilt-y:0deg;--mouse-x:50%;--mouse-y:50%;transform:perspective(1200px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y));transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease;background-image:radial-gradient(circle at var(--mouse-x) var(--mouse-y),rgba(255,255,255,.88),transparent 35%),linear-gradient(145deg,rgba(255,255,255,.8),rgba(242,249,245,.58));backdrop-filter:blur(20px) saturate(135%)}
.public-nav{position:sticky;top:0;z-index:20;display:flex;align-items:center;width:100%;max-width:none;margin:0;padding:22px max(20px,calc((100vw - 1280px)/2 + 20px));border:0;border-radius:0;box-shadow:none}
.public-home .public-nav{transform:none!important;background:transparent;background-image:none;backdrop-filter:none;transition:transform .24s ease,opacity .18s ease}
.top-row.site-header-hidden,
.login-home-mark.site-header-hidden,
.public-home .public-nav.site-header-hidden{transform:translateY(-115%)!important;opacity:0;pointer-events:none}
html{scrollbar-width:auto;scrollbar-color:auto}
html::-webkit-scrollbar{width:7px}
html::-webkit-scrollbar-track{background:#000}
html::-webkit-scrollbar-thumb{min-height:64px;border:1px solid transparent;border-radius:999px;background:linear-gradient(180deg,#e4c276,#bd8f39);background-clip:padding-box}
html::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#efd28d,#d0a348);background-clip:padding-box}
html::-webkit-scrollbar-button,
html::-webkit-scrollbar-button:single-button,
html::-webkit-scrollbar-button:vertical:start:decrement,
html::-webkit-scrollbar-button:vertical:end:increment,
html::-webkit-scrollbar-button:vertical:decrement,
html::-webkit-scrollbar-button:vertical:increment{-webkit-appearance:none!important;appearance:none!important;display:none!important;width:0!important;height:0!important;min-width:0!important;min-height:0!important;background:none!important}
*::-webkit-scrollbar-button,
*::-webkit-scrollbar-button:single-button,
*::-webkit-scrollbar-button:vertical:start:decrement,
*::-webkit-scrollbar-button:vertical:end:increment,
*::-webkit-scrollbar-button:vertical:decrement,
*::-webkit-scrollbar-button:vertical:increment,
*::-webkit-scrollbar-button:horizontal:start:decrement,
*::-webkit-scrollbar-button:horizontal:end:increment,
*::-webkit-scrollbar-button:horizontal:decrement,
*::-webkit-scrollbar-button:horizontal:increment{
    -webkit-appearance:none!important;
    appearance:none!important;
    display:none!important;
    width:0!important;
    height:0!important;
    min-width:0!important;
    min-height:0!important;
    border:0!important;
    background:transparent!important;
}
@supports not selector(::-webkit-scrollbar){html{scrollbar-width:thin;scrollbar-color:#d4ab58 #000}}
.public-brand{display:flex;align-items:center;gap:10px;color:#143d31}.public-brand .brand-logo{width:43px;height:43px;color:#c3963e}.public-brand b,.public-brand small{display:block}.public-brand b{font-size:14px}.public-brand small{color:#71837c;font-size:9px;margin-top:2px}
.public-nav nav{display:flex;gap:28px;margin-inline:auto}.public-nav nav a{color:#536e64;font-size:12px;font-weight:700}.public-nav nav a:hover{color:var(--green)}
.public-hero{position:relative;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(410px,.92fr);align-items:center;gap:60px;max-width:1260px;min-height:690px;margin:auto;padding:70px 28px 90px}
.public-hero-copy{position:relative;z-index:2}.public-kicker{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border:1px solid #cde3d8;border-radius:22px;background:rgba(255,255,255,.65);color:#26755d;font-size:11px;font-weight:700;box-shadow:0 7px 18px rgba(23,91,69,.06)}.public-kicker i{width:7px;height:7px;border-radius:50%;background:#d5aa50;box-shadow:0 0 0 5px rgba(213,170,80,.15);animation:public-pulse 2s ease-in-out infinite}
.public-hero h1{margin:24px 0 20px;color:#103f33;font-size:clamp(43px,5.2vw,72px);font-weight:800;line-height:1.18;letter-spacing:-1.6px}.public-hero h1 em{color:#b98a32;font-style:normal}.public-hero-copy>p{max-width:660px;margin:0;color:#667b73;font-size:16px;line-height:2}
.public-actions{display:flex;align-items:center;gap:25px;margin-top:30px}.public-main-action{min-height:52px;padding-inline:24px;border-radius:15px;font-size:14px}.public-main-action span{font-size:20px}.public-text-action{padding-bottom:4px;border-bottom:1px solid #adcbbd;color:#285f4e;font-size:13px;font-weight:700}
.public-trust{display:flex;flex-wrap:wrap;gap:18px;margin-top:37px;color:#587168;font-size:11px;font-weight:700}.public-trust span{display:flex;align-items:center;gap:6px}.public-trust .app-icon{color:#b98a32}
.public-visual{position:relative;min-height:470px;display:grid;place-items:center}.public-orbit{position:absolute;border:1px solid rgba(37,124,96,.15);border-radius:50%;animation:public-spin 24s linear infinite}.orbit-one{width:420px;height:420px}.orbit-two{width:325px;height:325px;border-style:dashed;animation-direction:reverse;animation-duration:18s}.public-orbit::before{content:"";position:absolute;top:50%;right:-6px;width:12px;height:12px;border-radius:50%;background:#d5aa50;box-shadow:0 0 0 9px rgba(213,170,80,.12);transform:translateY(-50%)}
.public-visual-card{position:absolute;border:1px solid rgba(186,215,202,.86);box-shadow:0 25px 70px rgba(19,75,57,.14)}.visual-main{z-index:2;width:295px;padding:28px;border-radius:27px}.visual-label{color:#729087;font-size:10px}.visual-main>strong{display:block;margin:12px 0 17px;font-size:26px}.visual-progress{height:9px;overflow:hidden;border-radius:20px;background:#dfeae5}.visual-progress span{display:block;width:76%;height:100%;border-radius:inherit;background:linear-gradient(90deg,#d2aa54,#178061);animation:public-progress 1.3s ease both}.visual-main>small{display:block;margin-top:9px;color:#58756a}.visual-days{display:flex;justify-content:space-between;margin-top:25px}.visual-days i{display:grid;width:35px;height:35px;place-items:center;border-radius:11px;background:#edf2ef;color:#7a8d86;font-style:normal;font-size:11px;font-weight:700}.visual-days i.done{background:#e2f3eb;color:#176b50}
.visual-float{z-index:3;display:flex;align-items:center;gap:11px;width:210px;padding:15px;border-radius:18px;animation:public-float 4.5s ease-in-out infinite}.visual-float-one{top:70px;right:-4px}.visual-float-two{bottom:62px;left:-4px;animation-delay:-2.2s}.visual-icon{display:grid;width:39px;height:39px;place-items:center;border-radius:12px;background:#e2f3eb;color:#176b50}.visual-icon.gold{background:#f7edd4;color:#a67924}.visual-float b,.visual-float small{display:block}.visual-float b{font-size:12px}.visual-float small{margin-top:3px;color:#71857d;font-size:9px}
.public-section{max-width:1260px;margin:auto;padding:90px 28px;scroll-margin-block:70px}.public-section-heading{text-align:center}.public-section-heading>span{color:#b48631;font-size:11px;font-weight:800}.public-section-heading h2{max-width:720px;margin:12px auto;color:#133f32;font-size:clamp(28px,3.4vw,43px)}.public-section-heading p{max-width:650px;margin:auto;color:#71827c;font-size:13px;line-height:1.9}
.public-feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:45px}.public-feature{min-height:240px;padding:28px;border:1px solid rgba(190,216,204,.85);border-radius:23px;box-shadow:0 14px 42px rgba(21,76,58,.07)}.public-feature:hover{box-shadow:0 25px 55px rgba(21,76,58,.13)}.public-feature>span{display:grid;width:52px;height:52px;place-items:center;margin-bottom:27px;border-radius:16px;background:linear-gradient(145deg,#e3f3eb,#f6ecd4);color:#176b50}.public-feature>span .app-icon{width:24px;height:24px}.public-feature b{display:block;font-size:17px}.public-feature p{margin:10px 0 0;color:#71827c;font-size:12px;line-height:1.9}
.public-journey{display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:50px;max-width:1205px;margin:25px auto 110px;padding:45px;border:1px solid rgba(185,215,202,.86);border-radius:29px;box-shadow:0 22px 65px rgba(21,76,58,.1);scroll-margin-block:70px}.public-journey h2{margin:17px 0 10px;font-size:31px}.public-journey p{margin:0;color:#71827c;font-size:13px;line-height:1.9}.public-journey ol{display:grid;gap:10px;margin:0;padding:0;list-style:none}.public-journey li{display:flex;align-items:center;gap:14px;padding:15px;border-bottom:1px solid #dce9e3}.public-journey li:last-child{border-bottom:0}.public-journey li span{color:#c0943f;font-size:11px;font-weight:800}.public-journey li b{font-size:13px}
.public-contact{display:flex;align-items:center;justify-content:space-between;gap:45px;max-width:1205px;margin:-55px auto 105px;padding:35px 40px;border:1px solid rgba(185,215,202,.86);border-radius:27px;box-shadow:0 20px 58px rgba(21,76,58,.09);scroll-margin-block:70px}.public-contact>div>span{color:#b48631;font-size:10px;font-weight:800}.public-contact h2{margin:8px 0 6px;font-size:28px}.public-contact p{max-width:560px;margin:0;color:#71827c;font-size:12px;line-height:1.8}.public-email{display:flex;align-items:center;gap:13px;min-width:365px;padding:15px 17px;border:1px solid #c8dfd4;border-radius:18px;background:rgba(255,255,255,.68);color:#174638;box-shadow:0 10px 28px rgba(21,76,58,.07);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.public-email:hover{transform:translateY(-3px);border-color:#95c5af;box-shadow:0 17px 35px rgba(21,76,58,.13)}.public-email-icon{display:grid;width:48px;height:48px;flex:0 0 auto;place-items:center;border-radius:15px;background:linear-gradient(145deg,#e0f3e9,#f7ebcf);color:#176b50}.public-email-icon .app-icon{width:24px;height:24px}.public-email small,.public-email b{display:block}.public-email small{color:#71827c;font-size:9px}.public-email b{margin-top:3px;font-size:13px}.public-email>i{margin-right:auto;color:#b48631;font-size:20px;font-style:normal}
.public-footer{display:flex;align-items:center;gap:30px;padding:30px max(28px,calc((100vw - 1205px)/2));border-top:1px solid rgba(185,215,202,.7);background:rgba(255,255,255,.42)}.public-footer p{margin:auto;color:#71827c;font-size:11px}.public-footer-links{display:flex;gap:18px}.public-footer-links a{color:#176b50;font-size:12px;font-weight:800}
@keyframes public-spin{to{transform:rotate(360deg)}}@keyframes public-float{50%{transform:translateY(-12px)}}@keyframes public-pulse{50%{box-shadow:0 0 0 9px rgba(213,170,80,.08)}}@keyframes public-progress{from{width:0}}
@media(max-width:900px){.public-nav{margin:0;padding-inline:14px}.public-nav nav{display:none}.public-hero{grid-template-columns:1fr;padding-top:60px;text-align:center}.public-hero-copy>p{margin-inline:auto}.public-actions,.public-trust{justify-content:center}.public-visual{min-height:440px}.public-feature-grid{grid-template-columns:1fr}.public-feature{min-height:0}.public-journey{grid-template-columns:1fr;margin-inline:18px}.public-contact{align-items:stretch;flex-direction:column;margin-inline:18px}.public-email{min-width:0}.public-footer{flex-wrap:wrap}.public-footer p{order:3;width:100%;text-align:center}}
@media(max-width:600px){.public-nav{padding:17px 10px}.public-brand small{display:none}.public-nav>.primary-btn{min-height:39px;padding:8px 13px}.public-hero{min-height:auto;padding:55px 18px 70px}.public-hero h1{font-size:39px;letter-spacing:-.8px}.public-hero-copy>p{font-size:14px}.public-actions{flex-direction:column;gap:16px}.public-trust{gap:10px}.public-visual{min-height:410px;transform:scale(.86);margin-inline:-30px}.public-section{padding:70px 18px}.public-feature-grid{margin-top:30px}.public-journey{padding:27px 20px}.public-journey h2{font-size:25px}.public-contact{margin-top:-65px;padding:25px 20px}.public-email{align-items:flex-start;flex-wrap:wrap}.public-email>i{display:none}.public-email b{font-size:11px}.public-footer{justify-content:center}.public-footer-links{margin-right:auto}}
@media(prefers-reduced-motion:reduce){.public-home :is(.public-glass){transform:none!important}.public-orbit,.visual-float,.public-kicker i,.visual-progress span{animation:none!important}}

@media(max-width:600px){
    .public-home{overflow-x:hidden}
    .public-nav{top:0;margin:0;padding-inline:10px;border-radius:0}
    .public-brand .brand-logo{width:37px;height:37px}
    .public-hero{gap:24px;padding:42px 15px 52px}
    .public-hero h1{font-size:clamp(31px,9.5vw,39px);line-height:1.24}
    .public-actions{width:100%}
    .public-actions .public-main-action{width:100%;max-width:330px}
    .public-visual{width:100%;min-height:350px;margin-inline:0;overflow:hidden;transform:none}
    .orbit-one{width:min(96%,360px);height:auto;aspect-ratio:1}
    .orbit-two{width:min(73%,275px);height:auto;aspect-ratio:1}
    .visual-main{width:min(78%,280px);padding:21px;border-radius:22px}
    .visual-main>strong{font-size:22px}
    .visual-days{margin-top:18px}
    .visual-days i{width:31px;height:31px}
    .visual-float{width:165px;padding:11px;border-radius:14px}
    .visual-float-one{top:34px;right:2px}
    .visual-float-two{bottom:35px;left:2px}
    .visual-icon{width:34px;height:34px}
    .public-section{padding-block:58px}
    .public-feature{padding:22px}
}
@media(max-width:360px){
    .public-nav>.primary-btn{padding-inline:10px;font-size:11px}
    .public-visual{min-height:325px}
    .visual-main{width:82%;padding:18px}
    .visual-float{width:150px}
    .visual-float-one{right:-4px}
    .visual-float-two{left:-4px}
}
@media(max-width:480px){
    .public-nav{justify-content:space-between;gap:10px}
    .public-brand{flex:1 1 auto;min-width:0;gap:7px}
    .public-brand .brand-logo{width:35px;height:35px;flex:0 0 35px}
    .public-brand>span:last-child{display:block;min-width:0}
    .public-brand b{overflow:hidden;font-size:clamp(10px,3vw,12px);text-overflow:ellipsis;white-space:nowrap}
    .public-brand small{display:none}
    .public-nav>.primary-btn{flex:0 0 auto;min-height:39px;margin:0;padding:8px 11px;font-size:11px;white-space:nowrap}
}

/* Polished RTL dropdowns */
select {
    appearance:none;
    -webkit-appearance:none;
    min-height:46px;
    padding:10px 14px 10px 44px !important;
    border:1px solid #d1e1da !important;
    border-radius:12px !important;
    background-color:rgba(255,255,255,.94) !important;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%2312654f' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3C/svg%3E") !important;
    background-repeat:no-repeat !important;
    background-position:left 14px center !important;
    background-size:18px 18px !important;
    color:var(--ink) !important;
    font-weight:600;
    line-height:1.35;
    cursor:pointer;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 3px 10px rgba(24,71,56,.035);
    transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease;
}
select:hover:not(:disabled) {
    border-color:#9fcfba !important;
    background-color:#fff !important;
    box-shadow:0 5px 15px rgba(24,71,56,.08);
}
select:focus {
    border-color:var(--focus) !important;
    background-color:#fff !important;
    box-shadow:0 0 0 4px rgba(47,143,112,.13),0 5px 15px rgba(24,71,56,.07) !important;
    outline:none !important;
}
select:disabled {
    border-color:#e1e8e4 !important;
    background-color:#f2f5f3 !important;
    color:#98a59f !important;
    cursor:not-allowed;
    box-shadow:none;
    opacity:.82;
}
select option { background:#fff;color:var(--ink);font-weight:500 }
select optgroup { color:var(--green);font-weight:800 }
select[multiple] { padding:10px 14px !important;background-image:none !important }

/* Review plan builder */
.review-config{display:grid;gap:18px}
.review-config-card{padding:18px;border:1px solid rgba(15,118,110,.18);border-radius:20px;background:rgba(255,255,255,.72);box-shadow:0 10px 30px rgba(15,76,70,.055)}
.review-config-card-header{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:16px}.review-config-card-header span,.review-config-card-header b{display:block}.review-config-card-header span{color:var(--muted);font-size:.75rem}.review-config-card-header b{margin-top:3px;color:var(--green);font-size:1rem}
.review-config-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.review-first-day{padding:18px;border:1px solid rgba(15,118,110,.18);border-radius:20px;background:linear-gradient(145deg,rgba(240,253,250,.92),rgba(255,251,235,.75));display:grid;gap:12px}
.review-ward-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.review-ward-card{padding:13px 14px;border:1px solid rgba(15,118,110,.16);border-radius:16px;background:rgba(255,255,255,.88);display:grid;gap:5px;box-shadow:0 8px 24px rgba(15,76,70,.06)}
.review-ward-card span{font-size:.78rem;color:var(--gold-strong);font-weight:800}
.review-ward-card b{font-size:.9rem;color:var(--ink)}
.review-ward-card small{color:var(--muted);line-height:1.55}
.review-plan-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:10px 0 16px}
.review-plan-summary>div{padding:14px;border-radius:16px;background:rgba(240,253,250,.8);border:1px solid rgba(15,118,110,.14);display:grid;gap:4px}
.review-plan-summary small{color:var(--muted)}
.review-definition-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 16px}.review-definition-card{display:grid;gap:5px;padding:14px;border:1px solid rgba(15,118,110,.14);border-radius:16px;background:rgba(255,255,255,.84)}.review-definition-card span{color:var(--gold-strong);font-size:.78rem;font-weight:800}.review-definition-card b{font-size:.88rem}.review-definition-card small{color:var(--muted)}
.review-day-wards{display:grid;gap:8px}.review-monthly-plan .monthly-day{align-content:start}.review-monthly-plan .review-ward-card{padding:10px;box-shadow:none}.review-monthly-plan .review-ward-card b{font-size:.78rem}.review-monthly-plan .review-ward-card small{font-size:.7rem}
.review-schedule-table{max-height:560px;overflow:auto}
.review-schedule-table td:first-child{width:135px;vertical-align:top}
.review-schedule-table .review-ward-list{grid-template-columns:repeat(3,minmax(180px,1fr))}
@media(max-width:900px){.review-ward-list,.review-plan-summary,.review-definition-list,.review-schedule-table .review-ward-list{grid-template-columns:1fr}.review-schedule-table td:first-child{width:auto}}
.hijri-date-picker{--hijri-date-menu-height:clamp(180px,42dvh,292px);position:relative;z-index:1;display:grid;grid-template-rows:auto 46px 18px;align-self:end;gap:.35rem;min-width:0;width:100%;max-width:100%;min-height:91px}
.hijri-date-picker.menu-open{z-index:70}
.hijri-date-label{display:flex;align-items:center;min-height:17px;font-size:.84rem;line-height:1.2;color:var(--muted,#71837c)}
.hijri-date-fields{display:grid;grid-template-columns:.72fr 1.35fr 1fr;direction:rtl;overflow:visible;border:1px solid var(--line,#d7e7df);border-radius:12px;background:#fff;height:46px;min-height:46px;width:100%;box-shadow:0 5px 16px rgba(18,101,79,.05)}
.hijri-picker-segment{position:relative;z-index:8;min-width:0;height:44px;direction:rtl}
.hijri-picker-trigger{display:flex;align-items:center;justify-content:space-between;gap:.35rem;width:100%;height:44px;margin:0;padding:.5rem .72rem;border:0;border-left:1px solid var(--line,#d7e7df);border-radius:0;background:transparent;color:var(--ink,#173f34);font:inherit;font-size:.9rem;cursor:pointer}
.hijri-picker-segment.day .hijri-picker-trigger{border-radius:0 11px 11px 0}.hijri-picker-segment.year .hijri-picker-trigger{border-left:0;border-radius:11px 0 0 11px}
.hijri-picker-trigger:is(:hover,:focus-visible){background:#f0f8f4;outline:0;box-shadow:inset 0 0 0 2px rgba(27,126,95,.15)}
.hijri-picker-trigger:disabled{cursor:not-allowed}
.hijri-picker-chevron{flex:0 0 18px;width:18px;height:18px;fill:none;stroke:var(--primary,#12664f);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;transition:transform .18s ease}
.hijri-picker-trigger[aria-expanded="true"] .hijri-picker-chevron{transform:rotate(180deg)}
.hijri-picker-menu{position:absolute;z-index:2;inset-inline:0;top:calc(100% + 8px);display:grid;gap:.2rem;max-height:var(--hijri-date-menu-height);padding:.42rem;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch;border:1px solid #b9d8c9;border-radius:14px;background:#fff;box-shadow:0 18px 42px rgba(20,67,51,.18);scrollbar-width:none;-ms-overflow-style:none}
.hijri-picker-menu::-webkit-scrollbar{display:none;width:0;height:0}
.hijri-picker-menu button{display:grid;place-items:center;min-height:36px;padding:.35rem;border:0;border-radius:10px;background:transparent;color:var(--ink,#173f34);font:inherit;font-weight:700;cursor:pointer}
.hijri-picker-menu button:hover{background:#edf7f2;color:#12664f}.hijri-picker-menu button.selected{background:#126f58;color:#fff;box-shadow:0 5px 14px rgba(18,111,88,.2)}
.hijri-date-picker small{display:block;min-height:18px;overflow:hidden;color:var(--primary,#12664f);font-size:.74rem;line-height:18px;white-space:nowrap;text-overflow:ellipsis}
.hijri-date-picker.disabled{opacity:.68}
@media(max-width:600px){.hijri-date-fields{grid-template-columns:.7fr 1.45fr 1fr}.hijri-picker-trigger{padding-inline:.45rem;font-size:.8rem}.hijri-date-picker{width:100%}}
.plan-checkin-panel{display:grid;gap:1.25rem}.checkin-date{width:min(100%,560px);margin-inline:auto}.checkin-date.date-stepper{display:grid;grid-template-columns:auto minmax(320px,560px) auto;align-items:start;justify-content:center;gap:.7rem;width:min(100%,850px)}.date-step-btn{align-self:start;min-width:104px;min-height:46px;margin-top:22px;white-space:nowrap}.plan-day-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-top:.25rem;border-top:1px solid var(--line,#d8e7df)}.plan-day-heading h3{margin:.25rem 0 0}.plan-requirement-checks{display:grid;gap:.75rem}.plan-requirement-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:.75rem;padding:.35rem;border:1px solid #d7e5de;border-radius:18px;background:rgba(255,255,255,.72);transition:.2s ease}.plan-requirement-row:hover{border-color:#86b6a2;transform:translateY(-1px)}.plan-requirement-row.completed{background:#edf8f1;border-color:#8fc4a6}.plan-requirement-check{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;padding:.75rem;cursor:pointer}.plan-requirement-check input{width:1.35rem;height:1.35rem;accent-color:#17674f}.plan-requirement-check span,.progress-passage{display:grid;gap:.3rem}.plan-requirement-check small,.progress-passage small{color:#687b73}.plan-requirement-check strong{font-size:.82rem;color:#8a4c43}.plan-requirement-row.completed .plan-requirement-check strong{color:#17674f}.assessment-trigger{margin-inline-end:.4rem}.inline-assessment{display:grid;gap:1rem;padding:1.1rem;border:1px solid #bddbcd;border-radius:18px;background:linear-gradient(145deg,#f7fcf9,#fffaf0)}.inline-assessment .weekly-header h3{margin:0}.assessment-passage{display:grid;gap:.35rem;padding:.85rem 1rem;border-radius:12px;background:#eef7f2;color:var(--green)}.assessment-passage span{color:#546b61;line-height:1.7}@media(max-width:680px){.checkin-date.date-stepper{grid-template-columns:1fr 1fr}.date-stepper .hijri-date-picker{grid-column:1/-1;grid-row:1}.date-step-btn{grid-row:2;width:100%;margin-top:0}.plan-requirement-row{grid-template-columns:1fr}.plan-requirement-check{grid-template-columns:auto 1fr}.plan-requirement-check>strong{grid-column:2}.assessment-trigger{margin:0 .5rem .5rem}.inline-assessment .weekly-header{align-items:stretch;flex-direction:column}}
.student-navigator{display:grid;grid-template-columns:auto minmax(180px,1fr) auto;align-items:center;gap:.8rem;padding:.75rem;border:1px solid #d7e5de;border-radius:16px;background:#f8fcfa}.student-navigator>div{display:grid;text-align:center;gap:.15rem}.student-navigator small,.student-navigator span{color:var(--muted);font-size:.75rem}.student-navigator strong{color:var(--green);font-size:1rem}@media(max-width:560px){.student-navigator{grid-template-columns:1fr 1fr}.student-navigator>div{grid-column:1/-1;grid-row:1}.student-navigator .secondary-btn{width:100%}}
.plan-empty-state{display:flex;align-items:center;justify-content:center;gap:1rem;flex-wrap:wrap}.plan-empty-state .primary-btn{width:auto}
.plan-alert-content{flex:1;min-width:0}.plan-alert-summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:100%;margin-top:.6rem;padding:.75rem 1rem;border:1px solid #e2c76f;border-radius:12px;background:#fffdf6;color:#705718;font:inherit;cursor:pointer;text-align:right}.plan-alert-summary strong{font-size:1rem}.plan-alert-summary small{white-space:nowrap;color:#8a6a19}.plan-alert-list{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:.5rem!important}.alert-student{display:flex;align-items:center;justify-content:space-between;gap:.6rem;text-align:right}.alert-student small{white-space:nowrap}@media(max-width:560px){.plan-alert-summary{align-items:flex-start;flex-direction:column;gap:.25rem}.plan-alert-list{grid-template-columns:1fr}}
.plan-wizard{scroll-margin-top:1rem}
.plan-wizard:has(.hijri-date-picker.menu-open){position:relative;z-index:20;overflow:visible}
.optional-plan-field.is-disabled{opacity:.58;cursor:not-allowed}
.optional-plan-field.is-disabled input{background:var(--surface-subtle);color:var(--muted);border-color:var(--line);cursor:not-allowed;box-shadow:none}
.flexible-plan-builder{display:grid;gap:16px}.flexible-plan-toolbar{display:grid;grid-template-columns:auto minmax(260px,1fr) auto;align-items:center;gap:14px;padding:14px;border:1px solid var(--line);border-radius:16px;background:var(--surface-subtle)}.flexible-plan-toolbar>div{display:grid;justify-items:center;gap:3px;text-align:center}.flexible-plan-toolbar b{color:var(--green)}.flexible-plan-toolbar small{color:var(--muted);font-size:11px}.flexible-week-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.flexible-day-card{display:grid;align-content:start;gap:10px;min-height:130px;padding:13px;border:1px dashed var(--line);border-radius:16px;background:var(--surface-subtle)}.flexible-day-card.has-items{border-style:solid;border-color:color-mix(in srgb,var(--green) 36%,var(--line));background:var(--surface)}.flexible-day-card>header{display:flex;align-items:center;justify-content:space-between;gap:10px}.flexible-day-card>header>div{display:grid;gap:2px}.flexible-day-card>header small{color:var(--muted);font-size:10px}.flexible-item-editor{display:grid;gap:10px;padding:12px;border:1px solid var(--line);border-radius:13px;background:var(--surface-subtle)}.flexible-item-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px}.flexible-range-grid{display:grid;grid-template-columns:minmax(140px,1.3fr) minmax(72px,.55fr) minmax(140px,1.3fr) minmax(72px,.55fr);gap:8px}.flexible-item-editor label{display:grid;gap:5px;color:var(--muted);font-size:10px}.flexible-item-editor .check-item{display:flex}.flexible-review-preview{display:grid;gap:10px;padding:14px;border:1px solid var(--line);border-radius:16px;background:var(--surface-subtle)}.flexible-review-preview>header{display:flex;align-items:center;justify-content:space-between;gap:12px}.flexible-review-preview>header span{color:var(--muted);font-size:11px}.flexible-review-preview>article{display:grid;grid-template-columns:minmax(130px,.35fr) minmax(0,1fr);gap:12px;padding:11px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.flexible-review-preview>article>div{display:grid;align-content:start;gap:3px}.flexible-review-preview small{color:var(--muted);font-size:10px}.flexible-review-preview ul{display:grid;gap:6px;margin:0;padding:0;list-style:none}.flexible-review-preview li{display:grid;grid-template-columns:minmax(110px,.3fr) minmax(0,1fr) auto;align-items:center;gap:8px;padding:7px 9px;border-radius:9px;background:var(--surface-subtle);font-size:11px}.flexible-review-preview li span{color:var(--muted)}.flexible-review-preview li em{padding:3px 7px;border-radius:999px;background:color-mix(in srgb,var(--gold) 18%,transparent);color:var(--gold-strong);font-size:9px;font-style:normal;font-weight:800}
@media(max-width:900px){.flexible-week-grid{grid-template-columns:1fr}.flexible-range-grid{grid-template-columns:minmax(120px,1fr) 76px}.flexible-plan-toolbar{grid-template-columns:1fr 1fr}.flexible-plan-toolbar>div{grid-column:1/-1;grid-row:1}.flexible-plan-toolbar>button{grid-row:2}.flexible-review-preview>article{grid-template-columns:1fr}.flexible-review-preview li{grid-template-columns:1fr}.flexible-review-preview li em{justify-self:start}}
.check-item:not(.switch-item)>input[type="checkbox"]{-webkit-appearance:none;appearance:none;display:grid;place-content:center;width:22px!important;height:22px!important;min-width:22px!important;min-height:22px!important;max-width:22px!important;max-height:22px!important;margin:0!important;padding:0!important;border:2px solid color-mix(in srgb,var(--green) 48%,var(--line));border-radius:7px;background:var(--surface);box-shadow:inset 0 1px 2px rgba(13,69,52,.07);cursor:pointer;transition:border-color .16s ease,background-color .16s ease,box-shadow .16s ease,transform .1s ease}
.check-item:not(.switch-item)>input[type="checkbox"]::after{content:"";width:6px;height:11px;margin-top:-2px;border:solid #fff;border-width:0 2px 2px 0;opacity:0;transform:rotate(45deg) scale(.55);transition:opacity .14s ease,transform .14s ease}
.check-item:not(.switch-item)>input[type="checkbox"]:checked{border-color:var(--green);background:var(--green);box-shadow:0 0 0 3px color-mix(in srgb,var(--green) 15%,transparent)}
.check-item:not(.switch-item)>input[type="checkbox"]:checked::after{opacity:1;transform:rotate(45deg) scale(1)}
.check-item:not(.switch-item)>input[type="checkbox"]:hover:not(:disabled){border-color:var(--gold);box-shadow:0 0 0 4px color-mix(in srgb,var(--gold) 18%,transparent)}
.check-item:not(.switch-item)>input[type="checkbox"]:active:not(:disabled){transform:scale(.94)}
.check-item:not(.switch-item)>input[type="checkbox"]:focus-visible{outline:3px solid color-mix(in srgb,var(--gold) 32%,transparent);outline-offset:3px}
.check-item:not(.switch-item)>input[type="checkbox"]:disabled{cursor:not-allowed;opacity:.55}
.plan-requirement-row.extra-achievement{border-color:#d8b45c;background:linear-gradient(135deg,#fffaf0,#f2faf5)}
.extra-achievement-panel{display:grid;gap:.8rem;padding:1rem;border:1px dashed #b7d2c5;border-radius:16px;background:rgba(245,251,248,.78)}
.extra-achievement-panel>div:first-child{display:grid;gap:.25rem}.extra-achievement-actions{display:flex;gap:.55rem;flex-wrap:wrap}
.progress-ward-actions{justify-content:space-between;flex-wrap:wrap}
.progress-ward-actions>.actions{display:flex;gap:.65rem;margin-inline-start:auto}
.next-ward-btn{border-color:#d6b35f;background:#fffaf0;color:#785916}
.next-ward-btn:hover:not(:disabled){border-color:#c89b38;background:#fff3cf;color:#65480d}
@media(max-width:560px){.extra-achievement-actions{display:grid;grid-template-columns:1fr 1fr}.extra-achievement-actions .secondary-btn{width:100%}}
@media(max-width:680px){.progress-ward-actions{align-items:stretch;flex-direction:column}.progress-ward-actions>.actions{display:grid;grid-template-columns:1fr;width:100%;margin:0}.progress-ward-actions button{width:100%}}

.supervisor-achievement-dashboard{display:grid;gap:1.15rem}
.dashboard-home .supervisor-achievement-dashboard,.dashboard-home .supervisor-achievement-dashboard:hover{transform:none!important;box-shadow:0 10px 28px rgba(22,79,60,.08);transition:border-color .18s ease,box-shadow .18s ease}
.supervisor-week-overview,.student-dashboard-rings{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap}
.metric-ring{--metric-rate:0;position:relative;display:grid;place-items:center;width:104px;aspect-ratio:1;border-radius:50%;background:conic-gradient(#18815f calc(var(--metric-rate)*1%),#e5eee9 0);box-shadow:0 12px 30px rgba(22,91,69,.12)}
.metric-ring.attendance{background:conic-gradient(#c79b3e calc(var(--metric-rate)*1%),#f0eadc 0)}
.metric-ring::before{content:"";position:absolute;inset:9px;border-radius:50%;background:#fff}
.metric-ring>span{position:relative;z-index:1;display:grid;text-align:center;line-height:1.15}
.metric-ring b{font-size:1.08rem;color:#104c3c}
.metric-ring small{font-size:.7rem;color:#73847d}
.supervisor-week-selector{grid-template-columns:repeat(6,minmax(125px,1fr))}
.supervisor-week-selector .personal-week-card{min-height:76px;padding:.75rem;text-align:center}
.supervisor-week-selector .personal-week-card:hover{transform:none;border-color:#b8d8ca;background:#f8fcfa;box-shadow:0 4px 12px rgba(20,80,61,.06)}
.supervisor-week-selector .personal-week-card.active:hover{border-color:#176b50;background:#fff;box-shadow:0 0 0 2px rgba(23,107,80,.1)}
.supervisor-student-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}
.supervisor-student-card{border:1px solid #d5e5dc;border-radius:18px;background:rgba(255,255,255,.78);overflow:hidden;transition:border-color .2s ease,box-shadow .2s ease}
.supervisor-student-card[open]{grid-column:1/-1;border-color:#91c3ae;box-shadow:0 16px 38px rgba(18,92,69,.11)}
.supervisor-student-card>summary{display:grid;grid-template-columns:minmax(0,1fr) auto 24px;align-items:center;gap:.8rem;padding:.85rem 1rem;cursor:pointer;list-style:none}
.supervisor-student-card>summary::-webkit-details-marker{display:none}
.supervisor-student-card .report-card-chevron{width:22px;height:22px;flex-basis:22px;border:0;border-radius:0;background:transparent;color:var(--green);box-shadow:none}
.student-compact-identity{display:grid;min-width:0}
.student-compact-identity b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#123f33}
.student-compact-identity small{color:#7a8b84}
.student-compact-rates{display:flex;gap:.45rem}
.student-compact-rates em{padding:.3rem .52rem;border-radius:999px;background:#edf7f2;color:#17684f;font-size:.76rem;font-style:normal;white-space:nowrap}
.student-compact-rates em+em{background:#fbf4e5;color:#8a6721}
.supervisor-student-card[open] .report-card-chevron{transform:rotate(180deg)}
.supervisor-student-details{display:grid;grid-template-columns:auto minmax(260px,1fr) auto;align-items:center;gap:1.2rem;padding:1rem;border-top:1px solid #e1ebe6;background:linear-gradient(145deg,#fbfdfc,#f5faf7)}
.student-component-rates{display:grid;gap:.72rem}
.metric-bar-row{display:grid;gap:.3rem}
.metric-bar-row>div:first-child{display:flex;justify-content:space-between;gap:1rem;color:#48665c}
.metric-bar-row b{color:#165b47}
.metric-bar-track{height:8px;border-radius:999px;background:#e2ece7;overflow:hidden}
.metric-bar-track>span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#1b7f60,#46ad86);transition:width .3s ease}
.attendance-count{display:flex;justify-content:space-between;gap:1rem;padding-top:.25rem;color:#667d74}
.attendance-count b{color:#8a6721}
@media(max-width:900px){.supervisor-week-selector{grid-template-columns:repeat(3,minmax(110px,1fr))}.supervisor-student-list{grid-template-columns:1fr}.supervisor-student-card[open]{grid-column:auto}.supervisor-student-details{grid-template-columns:1fr}.student-dashboard-rings{justify-content:center}.supervisor-student-details>.secondary-btn{width:100%;text-align:center}}
@media(max-width:560px){.supervisor-achievement-dashboard .weekly-header{align-items:flex-start}.supervisor-week-overview{width:100%;justify-content:center}.supervisor-week-selector{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.supervisor-student-card>summary{grid-template-columns:minmax(0,1fr) 22px}.student-compact-rates{grid-column:1/-1;grid-row:2}.supervisor-student-card>summary>.report-card-chevron{grid-column:2;grid-row:1}.metric-ring{width:92px}.student-dashboard-rings{gap:1.2rem}}
.personal-weeks-panel,.selected-personal-week{display:grid;gap:1rem}.achievement-legend{display:flex;flex-wrap:wrap;gap:.5rem}.achievement-legend span,.achievement-status{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .7rem;border-radius:999px;font-size:.75rem;font-weight:800}.achievement-legend span::before{content:"";width:.55rem;height:.55rem;border-radius:50%;background:currentColor}.achievement-legend .done,.achievement-status.done{background:#e5f5ec;color:#176b50}.achievement-legend .late,.achievement-status.late{background:#fff4d6;color:#946a10}.achievement-legend .missed,.achievement-status.missed{background:#fde9e9;color:#a64040}.achievement-legend .upcoming,.achievement-status.upcoming{background:#eef2f0;color:#687b73}.personal-week-selector{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:.75rem}.personal-week-card{display:grid;gap:.4rem;text-align:right;padding:1rem;border:1px solid #d7e5de;border-radius:16px;background:#fff;color:var(--ink);font:inherit;cursor:pointer;box-shadow:0 5px 16px rgba(20,80,61,.04)}.personal-week-card:hover{transform:translateY(-2px)}.personal-week-card.active{border-color:#176b50;box-shadow:0 0 0 3px rgba(23,107,80,.13)}.personal-week-card>span{font-weight:900;color:var(--green)}.personal-week-card>small{color:var(--muted);font-size:.72rem}.personal-week-card>b{font-size:.75rem;color:var(--muted)}.personal-week-card.done{border-inline-start:5px solid #2b8c6c}.personal-week-card.late{border-inline-start:5px solid #d2a13b}.personal-week-card.missed{border-inline-start:5px solid #c95656}.personal-week-card.upcoming,.personal-week-card.empty{border-inline-start:5px solid #aebbb5}.week-mini-progress{display:grid;grid-template-columns:repeat(3,1fr);gap:.25rem;margin-top:.25rem}.week-mini-progress span{padding:.3rem;border-radius:7px;background:#f2f7f4;color:#536a60;font-size:.68rem;text-align:center}.personal-week-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}.personal-week-summary article{display:grid;grid-template-columns:1fr auto;align-items:end;gap:.25rem .75rem;padding:1rem;border:1px solid #d8e7df;border-radius:14px;background:linear-gradient(145deg,#fff,#f7fbf8)}.personal-week-summary small{grid-column:1/-1;color:var(--muted)}.personal-week-summary strong{font-size:1.8rem;color:var(--green)}.personal-week-summary span{color:var(--muted);font-size:.8rem}.personal-week-table-wrap{overflow-x:auto;border:1px solid #dbe8e1;border-radius:14px}.personal-week-table{margin:0;min-width:700px}.personal-week-table td:nth-child(3){max-width:480px;line-height:1.7}.achievement-row.done{background:#f0faf4}.achievement-row.late{background:#fffaf0}.achievement-row.missed{background:#fff4f4}.achievement-row.upcoming{background:#fafcfb}@media(max-width:1050px){.personal-week-selector{grid-template-columns:repeat(3,minmax(150px,1fr))}}@media(max-width:760px){.personal-week-selector{grid-template-columns:repeat(2,minmax(0,1fr))}.personal-week-summary{grid-template-columns:1fr}.achievement-legend{justify-content:flex-start}}@media(max-width:440px){.personal-week-selector{grid-template-columns:1fr}}

/* Final identity and contrast contract */
.kpi-state,.attendance-breakdown .present,.login-home-mark .brand-logo,.login-backdrop-copy>span,
.visual-days i.done,.visual-icon,.public-feature>span,.public-email-icon,.public-footer-links a,
.achievement-legend .done,.achievement-status.done{color:var(--green)}
.status-meter span{background:linear-gradient(90deg,#258b6b,var(--green))}
select option:checked{background:var(--green) linear-gradient(0deg,var(--green),var(--green));color:#fff}
.login-home-mark small,.public-section-heading p,.public-feature p,.public-journey p,.public-contact p,
.public-email small,.public-footer p,.visual-float small{color:var(--muted)}
.account-greeting small,.account-popover-head small{font-size:11px}

/* Long-page navigation and report filters */
.report-filters.panel{grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}
.reports-page .page-heading .actions{flex-wrap:wrap;justify-content:flex-end}
.report-scope-summary{margin:0 0 16px;padding:12px 15px;border:1px solid #cfe2d8;border-radius:14px;background:linear-gradient(135deg,rgba(232,245,239,.94),rgba(251,250,245,.96));box-shadow:inset 0 3px 0 rgba(200,157,72,.78),0 8px 22px rgba(24,71,56,.055)}
.report-scope-summary>b{color:var(--green)}
.report-scope-summary .result-count{border-color:#c7ddd2;background:rgba(255,255,255,.74);color:var(--green)}
.report-filter-dock{border-color:#cbded5;background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(239,247,243,.92));box-shadow:inset 0 3px 0 rgba(200,157,72,.8),0 12px 30px rgba(24,71,56,.08)}
.report-filter-dock :is(label,.report-filter-date-range>span,.personal-period-panel>span){color:var(--green);font-weight:800}
.report-filter-dock select:not([multiple]){padding:10px 14px!important;border-color:#bed8cc!important;background-color:rgba(255,255,255,.88)!important;background-image:none!important;color:var(--ink)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.9)}
.report-filter-dock select:not([multiple]):hover:not(:disabled){border-color:#87bca5!important;background-color:#fff!important}
.report-filter-dock select:not([multiple]):focus{border-color:var(--green)!important;background-color:#fff!important;box-shadow:0 0 0 3px rgba(18,101,79,.13)!important}
.report-filter-dock select:not([multiple])::picker-icon{display:none!important}
.report-filter-date-range{display:grid;grid-column:span 2;gap:6px;min-width:0;color:var(--muted);font-size:12px}
.report-filter-date-range>span{font-weight:700}
.report-filter-date-range>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.report-filters .filter-actions{align-self:end}
.period-buttons{max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;padding-block:2px 5px;scrollbar-width:thin}
.personal-period-panel .report-date-range{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}
.personal-period-panel .report-date-range>*{min-width:0}
@media(min-width:1101px){
    .reports-page .report-filters{position:sticky;z-index:24;top:92px;box-shadow:0 12px 30px rgba(24,71,56,.1)}
    .top-row.site-header-hidden~.content .reports-page .report-filters{top:12px}
    .account-directory{overflow:visible}
    .account-directory>.data-table-toolbar{position:sticky;z-index:22;top:108px;border:1px solid var(--line);border-radius:var(--radius-inner);box-shadow:0 8px 22px rgba(24,71,56,.08)}
    .top-row.site-header-hidden~.content .account-directory>.data-table-toolbar{top:12px}
}

/* Decision-oriented report dashboard */
.report-executive-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}
.report-executive-kpis .stat-card{min-width:0}
.compact-report-kpi{min-height:118px}.report-kind-dot{width:13px;height:52px;flex:0 0 13px;border-radius:999px;background:var(--green)}
.report-kind-dot.minor{background:#347bb2}.report-kind-dot.major1,.report-kind-dot.major2{background:var(--gold)}.report-kind-dot.review{background:#8c6ab0}
.report-comparison{display:inline-flex;margin-top:7px;padding:3px 8px;border-radius:999px;font-size:10px;font-weight:800}.report-comparison.up{background:#e6f5ed;color:#176b50}.report-comparison.down{background:#fde9e9;color:#a64040}.report-comparison.same{background:var(--surface-subtle);color:var(--muted)}
.report-kpi-action{width:100%;font:inherit;color:inherit;text-align:inherit;cursor:pointer}.report-kpi-action:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(24,71,56,.1)}.report-kpi-action:focus-visible{outline:3px solid rgba(23,107,80,.2);outline-offset:2px}.report-kpi-action[aria-expanded="true"],.report-kpi-action[aria-pressed="true"]{border-color:var(--green);box-shadow:0 0 0 3px rgba(23,107,80,.1)}
.report-status-kpi.excellent{border-color:#bfe3d2}.report-status-kpi.attention{border-color:#e7b1b1}.report-status-kpi.attention strong{color:#b24d4d}
.report-calculation-details{padding:0;overflow:hidden}.report-calculation-toggle{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;padding:18px 22px;border:0;background:transparent;color:inherit;font:inherit;text-align:inherit;cursor:pointer}.report-calculation-toggle>span:first-child{display:grid;gap:3px}.report-calculation-toggle small{color:var(--muted);font-weight:500}.report-calculation-details.is-open .report-card-chevron{transform:rotate(180deg)}
.report-calculation-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;padding:0 22px 22px}.report-calculation-grid article{display:grid;gap:5px;padding:15px;border:1px solid var(--line);border-radius:13px;background:var(--surface-subtle)}.report-calculation-grid small,.report-calculation-grid span{color:var(--muted)}.report-calculation-grid b{font-size:24px;color:var(--green)}.report-calculation-grid .extra b{color:var(--gold-strong)}
.report-followup-panel .report-header{align-items:flex-start}.attention-count{padding:6px 11px;border-radius:999px;background:#fde9e9;color:#a64040;font-size:12px;font-weight:900}.report-positive-state{padding:16px;border:1px solid #cce5d8;border-radius:13px;background:#f2faf6;color:var(--green);font-weight:800}.followup-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:10px}.followup-grid article{display:grid;gap:7px;padding:15px;border:1px solid #eccaca;border-inline-start:4px solid #c95656;border-radius:13px;background:var(--surface-subtle)}.followup-grid article>div{display:grid}.followup-grid small,.followup-grid em{color:var(--muted);font-size:11px;font-style:normal}.followup-grid span{color:#a64040;font-size:12px;font-weight:800}
.report-status-summary{display:flex;flex-wrap:wrap;gap:7px}.report-status-summary span,.student-report-status{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:900;white-space:nowrap}.report-status-summary .excellent,.student-report-status.excellent{background:#e5f5ec;color:#176b50}.report-status-summary .regular,.student-report-status.regular{background:#e8f1f8;color:#3068a2}.report-status-summary .attention,.student-report-status.attention{background:#fde9e9;color:#a64040}.student-report-status.neutral{background:var(--surface-subtle);color:var(--muted)}
.report-student-list-panel{display:grid;gap:16px}.report-student-list-tools{display:grid;grid-template-columns:minmax(260px,1fr) auto auto;align-items:end;gap:12px;padding:13px;border:1px solid var(--line);border-radius:14px;background:var(--surface-subtle)}.report-student-list-tools label{display:grid;gap:6px}.report-student-list-tools label>span{color:var(--muted);font-size:11px;font-weight:800}.report-student-list-tools label input{width:100%}.report-student-list-tools>div{display:flex;align-items:center;gap:8px}.report-student-list-tools>b{color:var(--green);font-size:12px;white-space:nowrap}.report-student-scroll{display:grid;gap:8px;max-height:812px;overflow-y:auto;overscroll-behavior:contain;padding-inline-end:5px;scrollbar-width:thin;scrollbar-color:var(--green) transparent}.report-student-scroll::-webkit-scrollbar{width:8px}.report-student-scroll::-webkit-scrollbar-track{border-radius:999px;background:transparent}.report-student-scroll::-webkit-scrollbar-thumb{min-height:56px;border:2px solid transparent;border-radius:999px;background:var(--green);background-clip:padding-box}.report-student-list-row{display:grid;grid-template-columns:minmax(190px,1.45fr) repeat(5,minmax(82px,.72fr));align-items:center;gap:10px;min-height:74px;padding:11px 13px;border:1px solid var(--line);border-inline-start:4px solid var(--line);border-radius:13px;background:var(--surface)}.report-student-list-row.excellent{border-inline-start-color:var(--green)}.report-student-list-row.regular{border-inline-start-color:#4d83b5}.report-student-list-row.attention{border-inline-start-color:#c95656}.report-student-list-row>div{display:grid;gap:3px;min-width:0}.report-student-list-row>div>small{color:var(--muted);font-size:10px}.report-student-list-row>div>b{overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.report-student-identity>b{font-size:14px!important}.report-student-identity .student-report-status{justify-self:start;margin-top:3px}.report-student-list-panel .report-positive-state{text-align:center}
.report-detail-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.report-detail-collapsed{display:flex;align-items:center;justify-content:center;gap:12px;min-height:88px;padding:18px;border:1px dashed var(--line);border-radius:14px;background:var(--surface-subtle);color:var(--muted);text-align:center}.report-detail-collapsed>span{display:grid;place-items:center;width:38px;height:38px;flex:0 0 38px;border-radius:11px;background:var(--green-soft);color:var(--green)}.report-detail-collapsed .app-icon{width:19px;height:19px}.report-detail-collapsed p{margin:0;font-size:12px;font-weight:700}
.report-wide-table{overflow-x:auto}.report-student-overview table{min-width:1180px}.report-student-overview td:not(:first-child){white-space:nowrap}.report-student-overview .report-mobile-list{display:none}
.circle-timeline-report{display:grid;gap:18px}.circle-timeline-report>.report-header{padding-bottom:0}.circle-matrix-week{overflow:hidden;border:1px solid var(--line);border-radius:16px;background:var(--surface)}.circle-matrix-week>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;background:var(--surface-subtle);border-bottom:1px solid var(--line)}.circle-matrix-week>header b{color:var(--green)}.circle-matrix-week>header small{color:var(--muted)}
.circle-matrix-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 16px 8px}.circle-matrix-heading.ward{margin-top:6px;border-top:1px solid var(--line)}.circle-matrix-heading h3{margin:0;font-size:15px}.circle-matrix-legend{display:flex;flex-wrap:wrap;gap:5px}.circle-matrix-legend span{padding:3px 7px;border-radius:999px;font-size:9px;font-weight:800}.circle-matrix-legend .present,.matrix-status.present{background:#e4f5ec;color:#176b50}.circle-matrix-legend .late,.matrix-status.late,.circle-matrix-legend .partial,.matrix-ward.partial{background:#fff3d9;color:#8a6515}.circle-matrix-legend .absent,.matrix-status.absent,.circle-matrix-legend .pending,.matrix-ward.pending{background:#fde9e9;color:#a64040}.circle-matrix-legend .excused,.matrix-status.excused{background:#e8f1f8;color:#3068a2}.circle-matrix-legend .completed,.matrix-ward.completed{background:#e4f5ec;color:#176b50}.circle-matrix-legend .unmarked,.matrix-status.unmarked,.matrix-ward.unmarked{background:var(--surface-subtle);color:var(--muted)}
.circle-matrix-wrap{overflow:hidden;padding:0 12px 14px}.circle-matrix-table{width:100%;table-layout:fixed;border:1px solid var(--line);border-radius:12px;border-collapse:separate;border-spacing:0;overflow:hidden}.circle-matrix-table .student-column{width:18%}.circle-matrix-table th,.circle-matrix-table td{padding:8px 5px;text-align:center;border-inline-start:1px solid var(--line);border-bottom:1px solid var(--line);vertical-align:middle}.circle-matrix-table tr:last-child>*{border-bottom:0}.circle-matrix-table tr>*:last-child{border-inline-start:0}.circle-matrix-table thead th{background:var(--surface-subtle)}.circle-matrix-table thead th b,.circle-matrix-table thead th small,.circle-matrix-table tbody th b,.circle-matrix-table tbody th small{display:block}.circle-matrix-table thead th b{font-size:10px;color:var(--green)}.circle-matrix-table thead th small{font-size:8px;color:var(--muted);margin-top:2px}.circle-matrix-table tbody th{text-align:right;background:var(--surface-subtle)}.circle-matrix-table tbody th b{font-size:11px}.circle-matrix-table tbody th small{font-size:8px;color:var(--muted);margin-top:2px}.matrix-status,.matrix-ward{display:grid;place-items:center;gap:2px;min-height:42px;padding:5px 3px;border-radius:9px}.matrix-status i{display:none;font-style:normal;font-weight:900}.matrix-status em,.matrix-ward small,.matrix-ward em{font-size:8px;font-style:normal}.matrix-ward b{font-size:12px}.matrix-ward em{color:var(--gold-strong);font-weight:800}
@media(max-width:700px){.circle-matrix-week>header,.circle-matrix-heading{align-items:flex-start;flex-direction:column}.circle-matrix-wrap{padding-inline:5px}.circle-matrix-table .student-column{width:25%}.circle-matrix-table th,.circle-matrix-table td{padding:5px 2px}.circle-matrix-table thead th b{font-size:8px}.circle-matrix-table thead th small{font-size:7px}.circle-matrix-table tbody th b{font-size:9px}.circle-matrix-table tbody th small,.matrix-status em,.matrix-ward small{display:none}.matrix-status i{display:block}.matrix-status,.matrix-ward{min-height:32px;padding:3px 1px}.matrix-ward b{font-size:9px}.matrix-ward em{font-size:6px}}
@media(max-width:1100px){.report-student-list-row{grid-template-columns:minmax(180px,1.3fr) repeat(4,minmax(82px,.75fr))}.report-student-list-row>div:nth-child(6),.report-student-list-row>div:nth-child(7),.report-student-list-row>div:nth-child(8){display:none}}
@media(max-width:1180px){.report-executive-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:820px){.reports-page .page-heading>.actions{grid-template-columns:1fr}.report-status-summary{margin-top:10px}.report-student-list-panel .report-header{display:block}.report-student-list-tools{grid-template-columns:1fr}.report-student-list-tools>div{justify-content:space-between}.report-student-list-row{grid-template-columns:minmax(150px,1.2fr) repeat(2,minmax(80px,.8fr))}.report-student-list-row>div:nth-child(n+4){display:none}.report-student-scroll{max-height:680px}}
@media(max-width:620px){.report-executive-kpis{grid-template-columns:1fr}}

@media print{
    .report-print-breakdown{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.report-print-breakdown article{display:grid;gap:2px;padding:8px;border:1px solid #d7e5de;border-radius:8px;background:#fbfdfc;text-align:center}.report-print-breakdown small,.report-print-breakdown span{color:#60756d;font-size:8px}.report-print-breakdown b{color:#176b50;font-size:15px}
    .report-print-status{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.report-print-status>div{display:flex;align-items:center;justify-content:space-between;padding:9px 11px;border:1px solid #d7e5de;border-radius:9px;background:#f7faf8}.report-print-status small{color:#60756d;font-size:9px}.report-print-status b{color:#176b50;font-size:17px}.report-print-status .attention b{color:#a64040}
    .report-print-exceptions{overflow:hidden;border:1px solid #e4d5c1;border-radius:10px;background:#fff}.report-print-exceptions>header{display:flex;align-items:center;justify-content:space-between;padding:8px 11px;background:#fff8e9;color:#795b1b;font-size:9px}.report-print-exceptions>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px;padding:5px 11px}.report-print-exceptions>div>span{display:grid;gap:1px;padding:5px 0;border-bottom:1px solid #edf1ef}.report-print-exceptions>div b{font-size:9px;color:#17221e}.report-print-exceptions>div small,.report-print-exceptions p,.report-print-exceptions em{color:#60756d;font-size:8px;font-style:normal}.report-print-exceptions p,.report-print-exceptions em{display:block;margin:0;padding:8px 11px}
}
@media(min-width:821px){.top-row.site-header-hidden~.content .exam-navigation{top:12px}}
@media(max-width:1100px){
    .report-filters.panel{grid-template-columns:repeat(2,minmax(0,1fr))}
    .report-filter-date-range{grid-column:1/-1}
    .report-filters .filter-actions{grid-column:1/-1}
}
@media(max-width:700px){
    .report-filters.panel{grid-template-columns:1fr}
    .report-filter-date-range{grid-column:auto}
    .report-filter-date-range>div,.personal-period-panel .report-date-range{grid-template-columns:1fr}
}

/* Branded completion checkbox for daily plan requirements. */
.plan-requirement-check input[type="checkbox"] {
    -webkit-appearance: none;
    appearance: none;
    display: grid;
    width: 24px;
    height: 24px;
    flex: 0 0 24px;
    place-content: center;
    margin: 0;
    border: 2px solid #9bbfb0;
    border-radius: 7px;
    background: #fff;
    box-shadow: inset 0 1px 2px rgba(13, 69, 52, .06);
    cursor: pointer;
    transition: border-color .16s ease, background-color .16s ease, box-shadow .16s ease, transform .1s ease;
}

.plan-requirement-check input[type="checkbox"]::after {
    content: "";
    width: 6px;
    height: 11px;
    margin-top: -2px;
    border: solid #fff;
    border-width: 0 2px 2px 0;
    opacity: 0;
    transform: rotate(45deg) scale(.55);
    transition: opacity .14s ease, transform .14s ease;
}

.plan-requirement-check input[type="checkbox"]:checked {
    border-color: #176b50;
    background: #176b50;
    box-shadow: 0 0 0 3px rgba(23, 107, 80, .12);
}

.plan-requirement-check input[type="checkbox"]:checked::after {
    opacity: 1;
    transform: rotate(45deg) scale(1);
}

.plan-requirement-check input[type="checkbox"]:hover:not(:disabled) {
    border-color: #c89b38;
    box-shadow: 0 0 0 4px rgba(200, 155, 56, .14);
}

.plan-requirement-check input[type="checkbox"]:active:not(:disabled) { transform: scale(.94); }
.plan-requirement-check input[type="checkbox"]:focus-visible {
    outline: 3px solid var(--focus);
    outline-offset: 3px;
}
.plan-requirement-check input[type="checkbox"]:disabled { cursor: not-allowed; opacity: .55; }

/* Compact mobile header: navigation, identity, notifications, then account. */
@media(max-width:820px){
    .top-row{display:flex;height:76px;padding-inline:10px;gap:7px}
    .mobile-header-context{display:flex;align-items:center;gap:8px;min-width:0;flex:1;color:var(--ink)}
    .mobile-header-context .brand-logo{width:34px;height:34px;flex:0 0 34px;color:var(--gold)}
    .mobile-header-context>span{display:grid;min-width:0;gap:1px}
    .mobile-header-context strong,.mobile-header-context small{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
    .mobile-header-context strong{font-size:12px;color:var(--ink)}
    .mobile-header-context small{font-size:9px;color:var(--muted)}
    .top-row>.notification-menu,.top-row>.account-menu{margin:0!important;flex:0 0 auto}
    .top-row .mobile-nav-trigger{width:40px;height:40px;flex:0 0 40px}
    .top-row .notification-trigger{width:38px;height:38px}
    .top-row .account-menu summary{min-width:42px;min-height:42px;justify-content:center}
    .top-row .avatar{width:36px;height:36px}
    .account-popover,.notification-popover{top:70px}
}

@media(max-width:390px){
    .top-row{gap:5px;padding-inline:8px}
    .mobile-header-context{gap:5px}
    .mobile-header-context .brand-logo{width:30px;height:30px;flex-basis:30px}
    .mobile-header-context small{display:none}
    .mobile-header-context strong{font-size:11px}
}

/* Student record: weekly ledger, calendar, attendance and historical plans */
.student-record-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.student-record-week{gap:18px}.student-record-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px}.student-record-week-nav{display:grid;grid-template-columns:auto minmax(220px,1fr) auto;align-items:center;gap:12px}.student-record-week-nav>div{text-align:center}.student-record-week-nav h2{margin:3px 0 0}.student-record-view-switch{display:flex;padding:4px;border:1px solid var(--line);border-radius:12px;background:var(--surface-subtle)}.student-record-view-switch button{min-height:36px;padding:7px 13px;border:0;border-radius:9px;background:transparent;color:var(--muted);font:inherit;font-size:12px;font-weight:800;cursor:pointer}.student-record-view-switch button.selected{background:var(--green);color:#fff;box-shadow:0 5px 14px rgba(23,107,80,.17)}.student-record-week-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.student-record-week-kpis article{display:grid;gap:4px;padding:13px 15px;border:1px solid var(--line);border-radius:14px;background:var(--surface-subtle)}.student-record-week-kpis small,.student-record-week-kpis span{color:var(--muted)}.student-record-week-kpis strong{color:var(--green);font-size:24px}.student-record-week-kpis span{font-size:11px}.student-record-attendance-strip{display:grid;grid-template-columns:repeat(7,minmax(105px,1fr));gap:8px;overflow-x:auto;padding-block:2px 6px}.student-record-attendance-strip article{display:grid;gap:3px;min-width:105px;padding:11px;border:1px solid var(--line);border-block-start:4px solid #9aaba4;border-radius:12px;background:var(--surface)}.student-record-attendance-strip article.present{border-block-start-color:#258b6b}.student-record-attendance-strip article.late{border-block-start-color:#d2a13b}.student-record-attendance-strip article.absent{border-block-start-color:#c95656}.student-record-attendance-strip article.excused{border-block-start-color:#5a87b4}.student-record-attendance-strip small,.student-record-attendance-strip em{color:var(--muted);font-size:10px;font-style:normal}.student-record-attendance-strip span{font-size:11px;font-weight:800}.record-plan-link{padding:0;border:0;background:transparent;color:var(--green);font:inherit;font-size:12px;font-weight:800;text-align:right;text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--green) 35%,transparent);text-underline-offset:3px;cursor:pointer}.student-record-calendar{display:grid;grid-template-columns:repeat(7,minmax(170px,1fr));gap:10px;overflow-x:auto;padding-block:2px 8px}.student-record-day{display:grid;align-content:start;gap:9px;min-width:170px;min-height:235px;padding:12px;border:1px solid var(--line);border-block-start:4px solid #9aaba4;border-radius:14px;background:var(--surface)}.student-record-day.present{border-block-start-color:#258b6b}.student-record-day.late{border-block-start-color:#d2a13b}.student-record-day.absent{border-block-start-color:#c95656}.student-record-day.excused{border-block-start-color:#5a87b4}.student-record-day>header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;padding-bottom:8px;border-bottom:1px solid var(--line)}.student-record-day>header div{display:grid;gap:2px}.student-record-day>header small,.student-record-day>p{color:var(--muted);font-size:10px}.student-record-day>header span{padding:3px 7px;border-radius:999px;background:var(--surface-subtle);font-size:9px;font-weight:800}.record-calendar-item{display:grid;gap:3px;padding:9px;border-inline-start:3px solid #9aaba4;border-radius:9px;background:var(--surface-subtle)}.record-calendar-item.done{border-inline-start-color:#258b6b}.record-calendar-item.late{border-inline-start-color:#d2a13b}.record-calendar-item.missed{border-inline-start-color:#c95656}.record-calendar-item small,.record-calendar-item span{color:var(--muted);font-size:9px}.record-calendar-item b{font-size:11px}.record-calendar-item em{color:var(--green);font-size:9px;font-style:normal;font-weight:800}.student-record-plans{display:grid;gap:12px;padding-top:16px;border-top:1px solid var(--line)}.student-record-plans h3{margin:0}.student-record-plan-list{display:grid;gap:10px}.student-record-plan-list>article{overflow:hidden;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.student-record-plan-list>article.is-open{border-color:color-mix(in srgb,var(--green) 55%,var(--line));box-shadow:0 8px 24px rgba(18,84,63,.08)}.student-record-plan-summary{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;padding:14px 16px;border:0;background:transparent;color:inherit;font:inherit;text-align:right;cursor:pointer}.student-record-plan-summary>span{display:grid;gap:3px}.student-record-plan-summary>span:last-child{text-align:left}.student-record-plan-summary small,.student-record-plan-summary em{color:var(--muted);font-size:10px;font-style:normal}.student-record-plan-summary strong{color:var(--green);font-size:20px}.student-record-plan-detail{display:grid;gap:12px;padding:14px 16px;border-top:1px solid var(--line);background:var(--surface-subtle)}.student-record-plan-detail>p{margin:0}.student-record-plan-detail>div{display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--muted);font-size:11px}.student-record-plan-detail>div b{color:var(--ink)}.student-record-plan-detail .plan-timeline{margin:0;background:var(--surface)}
@media(max-width:1050px){.student-record-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.student-record-toolbar{grid-template-columns:1fr}.student-record-view-switch{justify-self:center}.student-record-week-kpis{grid-template-columns:repeat(3,minmax(140px,1fr));overflow-x:auto}}
@media(max-width:700px){.student-record-stats{grid-template-columns:1fr 1fr}.student-record-week-nav{grid-template-columns:1fr 1fr}.student-record-week-nav>div{grid-column:1/-1;grid-row:1}.student-record-week-nav button{grid-row:2}.student-record-view-switch{width:100%}.student-record-view-switch button{flex:1}.student-record-week-kpis{grid-template-columns:1fr}.student-record-plan-summary{align-items:flex-start;flex-direction:column}.student-record-plan-summary>span:last-child{text-align:right}.student-record-calendar{scroll-snap-type:inline mandatory}.student-record-day{scroll-snap-align:start}.student-record-attendance-strip{grid-template-columns:repeat(7,minmax(120px,1fr))}}

/* Compact flexible-plan week with an in-page editor for each day. */
.flexible-week-grid{display:grid;grid-template-columns:repeat(7,minmax(118px,1fr));gap:8px;overflow-x:auto;padding:2px 1px 7px;scroll-snap-type:inline proximity}
.flexible-day-card{min-width:118px;min-height:0;padding:0;overflow:hidden;border:1px solid var(--line);border-radius:14px;background:var(--surface-subtle);scroll-snap-align:start}
.flexible-day-card.has-items{border-color:color-mix(in srgb,var(--green) 48%,var(--line));background:var(--surface)}
.flexible-day-card.outside-range{opacity:.5}
.flexible-day-trigger{display:grid;width:100%;min-height:106px;gap:8px;padding:11px;border:0;background:transparent;color:var(--ink);font:inherit;text-align:right;cursor:pointer}
.flexible-day-trigger:disabled{cursor:not-allowed}
.flexible-day-trigger>span:first-child{display:flex;align-items:center;justify-content:space-between;gap:6px}
.flexible-day-trigger b{font-size:12px}.flexible-day-trigger small{color:var(--muted);font-size:9px}
.flexible-day-trigger>strong{color:var(--green);font-size:10px}
.flexible-day-kinds{display:flex;align-items:center;gap:4px;flex-wrap:wrap}
.flexible-day-kinds em{padding:2px 5px;border:1px solid var(--line);border-radius:999px;background:var(--surface-subtle);color:var(--muted);font-size:8px;font-style:normal;font-weight:800}
.flexible-day-kinds em.enabled{border-color:color-mix(in srgb,var(--green) 45%,var(--line));background:color-mix(in srgb,var(--green2) 82%,transparent);color:var(--green)}
.flexible-day-dialog-backdrop{position:fixed;inset:0;z-index:160;display:grid;place-items:center;padding:20px;background:rgba(7,28,22,.58);backdrop-filter:blur(5px)}
.flexible-day-dialog{display:grid;grid-template-rows:auto minmax(0,1fr) auto;width:min(760px,94vw);max-height:min(780px,92dvh);overflow:hidden;border:1px solid var(--line);border-radius:20px;background:var(--surface);color:var(--ink);box-shadow:0 26px 72px rgba(7,28,22,.28)}
.flexible-day-dialog>header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:17px 19px;border-bottom:1px solid var(--line);background:var(--surface-subtle)}
.flexible-day-dialog>header h3{margin:3px 0;font-size:18px}.flexible-day-dialog>header p{margin:0;color:var(--muted);font-size:11px}
.flexible-dialog-close{display:grid;width:36px;height:36px;flex:0 0 36px;place-items:center;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink);font:inherit;font-size:23px;cursor:pointer}
.flexible-day-options{display:grid;gap:8px;overflow:auto;padding:13px 15px;overscroll-behavior:contain}
.flexible-kind-option{overflow:hidden;border:1px solid var(--line);border-radius:13px;background:var(--surface-subtle)}
.flexible-kind-option.enabled{border-color:color-mix(in srgb,var(--green) 42%,var(--line));background:var(--surface)}
.flexible-kind-toggle{display:flex!important;align-items:center;gap:10px;padding:11px 13px;color:var(--ink)!important;cursor:pointer}
.flexible-kind-toggle>input{-webkit-appearance:none;appearance:none;display:grid;place-content:center;width:18px!important;height:18px!important;min-width:18px;flex:0 0 18px;margin:0!important;padding:0!important;border:1.5px solid color-mix(in srgb,var(--green) 52%,var(--line));border-radius:5px;background:var(--surface);box-shadow:inset 0 1px 2px rgba(13,69,52,.08);cursor:pointer;transition:border-color .16s ease,background-color .16s ease,box-shadow .16s ease,transform .1s ease}
.flexible-kind-toggle>input::after{content:"";width:5px;height:9px;margin-top:-2px;border:solid #fff;border-width:0 1.7px 1.7px 0;opacity:0;transform:rotate(45deg) scale(.55);transition:opacity .14s ease,transform .14s ease}
.flexible-kind-toggle>input:checked{border-color:var(--green);background:var(--green);box-shadow:0 0 0 2px color-mix(in srgb,var(--green) 16%,transparent)}
.flexible-kind-toggle>input:checked::after{opacity:1;transform:rotate(45deg) scale(1)}
.flexible-kind-toggle>input:hover{border-color:var(--gold);box-shadow:0 0 0 3px color-mix(in srgb,var(--gold) 18%,transparent)}
.flexible-kind-toggle>input:active{transform:scale(.94)}
.flexible-kind-toggle>input:focus-visible{outline:3px solid color-mix(in srgb,var(--gold) 32%,transparent);outline-offset:3px}
.flexible-kind-toggle>span{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%}
.flexible-kind-toggle b{font-size:12px}.flexible-kind-toggle small{color:var(--muted);font-size:9px}
.flexible-item-editor.compact{gap:9px;margin:0 11px 11px;padding:11px;border-radius:11px}
.flexible-item-editor.compact .flexible-range-grid{grid-template-columns:minmax(125px,1.3fr) 70px minmax(125px,1.3fr) 70px minmax(110px,.8fr);gap:7px}
.flexible-pages-field input{color:var(--green);font-weight:800}
.flexible-item-more{border-top:1px solid var(--line);padding-top:8px}.flexible-item-more summary{color:var(--green);font-size:10px;font-weight:800;cursor:pointer}
.flexible-item-more>div{display:grid;grid-template-columns:auto minmax(180px,1fr);align-items:end;gap:12px;padding-top:9px}
.flexible-item-more .check-item{margin:0}.flexible-day-dialog>footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-top:1px solid var(--line);background:var(--surface-subtle)}
.flexible-day-dialog>footer span{color:var(--muted);font-size:11px;font-weight:700}
@media(max-width:900px){.flexible-week-grid{grid-template-columns:repeat(7,minmax(126px,1fr))}.flexible-item-editor.compact .flexible-range-grid{grid-template-columns:minmax(118px,1fr) 70px}.flexible-pages-field{grid-column:1/-1}.flexible-item-more>div{grid-template-columns:1fr}.flexible-day-dialog-backdrop{padding:8px}.flexible-day-dialog{width:100%;max-height:96dvh}.flexible-kind-toggle>span{align-items:flex-start;flex-direction:column;gap:2px}}
