/* Final presentation pass: restrained off-white glass, app green accents. */
:root{--green:#00a86b;--green-dark:#006c45;--green-soft:#e1f2e9;--ink:#203a31;--muted:#60746a;--surface:rgba(255,255,255,.65);--bg:#f5f6f2}
body{background:#f5f6f2}body:before{opacity:.14;filter:blur(85px) saturate(.35)}body:after{background:linear-gradient(135deg,#fafbf788,#f2f7f149 65%,#e3eee37a)}
.sidebar{background:#f7faf5a6;backdrop-filter:blur(26px) saturate(135%)}.topbar{background:linear-gradient(120deg,#00774edb,#00a86bb8);backdrop-filter:blur(26px) saturate(135%);box-shadow:inset 0 -1px 0 #ffffff60,0 5px 22px #284e3810}
.card,.quick-item,.board-card,.parent-overview,.assignment-detail-card,.google-course,.google-work-card{background:rgba(255,255,255,.65);border-color:#ffffffe6;backdrop-filter:blur(24px) saturate(135%);box-shadow:inset 0 1px 2px #fff,0 7px 24px #2143340a;border-radius:24px}
.quick-item:has(.green),.quick-item:has(.blue),.quick-item:has(.violet),.quick-item:has(.sand),.quick-item:has(.rose){background:rgba(255,255,255,.65)}
.icon-tile.green,.icon-tile.blue,.icon-tile.violet,.icon-tile.sand,.icon-tile.rose{background:linear-gradient(140deg,#fafffcc7,#d9eee2a1);color:#008454;border-color:#fff}.badge.blue,.badge.violet,.badge.neutral{background:#edf4efb3;color:#406353}
.primary-nav .nav-item.active{background:linear-gradient(145deg,#f6fff9be,#00a86b24);color:#007b4e;border-color:#ffffffde}.primary-button{background:linear-gradient(145deg,#16b67bd9,#00a86be8);border:1px solid #ffffffa6;border-radius:18px;box-shadow:inset 0 1px 2px #ffffffa6,inset 0 -1px 3px #006f4526,0 5px 15px #00845420;color:#fff}.secondary-button{border-radius:18px;background:#ffffffa6;border:1px solid #ffffffe8;backdrop-filter:blur(22px);box-shadow:inset 0 1px 1px #fff,0 4px 14px #1d492f0b}
button{touch-action:manipulation}button:not(:disabled):active{scale:.975}button{transition:scale .18s,box-shadow .2s,background-color .2s}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid #008654;outline-offset:3px}
.sheet{background:rgba(250,253,248,.78);backdrop-filter:blur(28px) saturate(135%);border:1px solid #ffffffed;box-shadow:inset 0 1px 2px #fff,0 22px 70px #173f3726;border-radius:30px;animation:none}.sheet-header{background:#f6fbf5a6;border-color:#ffffffb9}.sheet::backdrop{background:#173c3429;backdrop-filter:blur(4px)}
.segmented,.day-picker,.child-switch{background:#ffffff80;border:1px solid #ffffffed;box-shadow:inset 0 1px 2px #fff,0 4px 18px #24493409;backdrop-filter:blur(24px);border-radius:23px}.segmented button.active,.day-picker button.selected,.child-switch button.active{color:#008554;background:linear-gradient(145deg,#ffffffdb,#ddf1e3b5);border-radius:18px;box-shadow:inset 0 1px 3px #fff,0 3px 12px #164b2d12}.schedule-entry,.week-lesson{transition:box-shadow .25s,transform .25s}.schedule-entry:has(button:hover){box-shadow:0 6px 18px #164b2d0c}.schedule-row{border-radius:18px}.current-lesson{background:linear-gradient(135deg,#ffffffbd,#e1f0e4a6);border-radius:28px}
/* Inputs remain real form controls for keyboard, validation and autofill. */
body input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=hidden]):not(.glass-native-control),body textarea:not(.study-liquid textarea){background:rgba(255,255,255,.65);border:1px solid #ffffffed;border-radius:17px;box-shadow:inset 0 1px 2px #fff,0 3px 12px #2846340c;backdrop-filter:blur(22px);color:#203e30;transition:box-shadow .2s,border-color .2s;min-height:44px;padding:11px 14px;font-family:inherit}
body input:not([type=checkbox]):not([type=radio]):focus,body textarea:not(.study-liquid textarea):focus{border-color:#00a86b70;box-shadow:inset 0 1px 2px #fff,0 0 0 3px #00a86b16}
input[type=file]::file-selector-button{background:#f4fff8ab;color:#007348;border:1px solid #fff;border-radius:15px;padding:10px 14px;font:inherit;margin-inline-end:12px;cursor:pointer}
input[type=checkbox]:not(.toggle),input[type=radio]{appearance:none;display:inline-grid;place-content:center;width:21px;height:21px;min-width:21px;margin:0;vertical-align:middle;border:1px solid #9dbdac;border-radius:7px;background:#ffffffad;box-shadow:inset 0 1px 2px #fff;transition:background .18s,box-shadow .18s;cursor:pointer}input[type=checkbox]:not(.toggle):checked,input[type=radio]:checked{background:#00a86b;border-color:#00a86b;box-shadow:inset 0 1px 2px #ffffff8a}input[type=checkbox]:not(.toggle):checked:after{content:'✓';color:#fff;font-size:15px;font-weight:700}input[type=radio]{border-radius:50%}input[type=radio]:checked:after{content:'';width:7px;height:7px;border-radius:50%;background:#fff}.toggle:checked{background:#00a86b}input:disabled,button:disabled{cursor:default}
.glass-control{position:relative;display:block;min-width:0;width:100%;text-align:start}.glass-native-control{position:absolute!important;width:1px!important;height:1px!important;min-height:0!important;opacity:0!important;pointer-events:none!important;padding:0!important;border:0!important;clip-path:inset(50%)}
.glass-select-trigger{display:block;width:100%;text-align:start;min-height:44px;padding:11px 14px 11px 36px;border:1px solid #ffffffed;border-radius:17px;background:rgba(255,255,255,.65);color:#234635;font:inherit;line-height:1.45;box-shadow:inset 0 1px 2px #fff,0 4px 14px #2646350b;backdrop-filter:blur(24px);position:relative}.glass-select-trigger:after{content:'';position:absolute;left:17px;top:17px;width:7px;height:7px;border-left:1.5px solid #008254;border-bottom:1.5px solid #008254;transform:rotate(-45deg);transition:transform .2s}.glass-select-trigger[aria-expanded=true]:after{transform:rotate(135deg)}.glass-select-trigger[aria-expanded=true]{box-shadow:inset 0 1px 2px #fff,0 0 0 2px #00a86b25}.glass-select-trigger[aria-invalid=true]{border-color:#b84c42}.glass-select-trigger:disabled{opacity:.45}
.glass-picker{position:fixed;inset:auto;margin:0;padding:7px;border-radius:23px;border:1px solid #ffffffed;background:rgba(249,253,247,.8);backdrop-filter:blur(28px) saturate(140%);box-shadow:inset 0 1px 2px #fff,0 16px 48px #193b2c26;color:#204333;overflow:auto;scrollbar-width:none;font-family:inherit;z-index:100;box-sizing:border-box;transform-origin:top right;overscroll-behavior:contain}.glass-picker::backdrop{background:transparent}.glass-picker button{font:inherit;color:inherit;cursor:pointer;border:1px solid transparent;background:transparent;border-radius:16px;min-height:42px;padding:10px 13px}.glass-picker [role=option]{width:100%;text-align:start;display:block;font-size:14px}.glass-picker [role=option][aria-selected=true],.glass-picker button[aria-pressed=true]{background:#00a86b20;color:#006e46;border-color:#ffffffeb;box-shadow:inset 0 1px 2px #fff}.glass-picker button:hover,.glass-picker button:focus-visible{background:#ffffffaf}.glass-picker button:disabled{opacity:.4}
.glass-calendar-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:5px}.glass-calendar-head strong{font-size:14px}.glass-calendar-head button{font-size:22px;min-width:38px}.glass-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.glass-calendar-grid small{text-align:center;padding:8px 0;color:#5c7366}.glass-calendar-grid button{min-height:34px;padding:6px;font-size:13px;border-radius:50%}.glass-calendar .glass-date-apply{width:100%;background:#00a86b;color:#fff;margin-top:9px}.glass-calendar .glass-date-clear{width:100%;font-size:12px}.glass-time-fields{display:flex;gap:9px;padding:8px}.glass-time-fields label{flex:1;min-width:0;font-size:12px}.glass-time-fields input{width:100%;direction:ltr;text-align:center;font-size:17px!important}
@media(max-width:760px){.topbar{background:linear-gradient(115deg,#087e55d9,#00a86bb5)}.bottom-nav{background:rgba(255,255,255,.65);border:1px solid #ffffffed;backdrop-filter:blur(28px) saturate(155%);border-radius:31px;height:72px;box-shadow:inset 0 1px 2px #fff,inset 0 -1px 2px #2d714a14,0 9px 35px #2147351a}.bottom-nav .nav-item.active{color:#00a86b}.nav-pill{border-radius:25px;background:linear-gradient(145deg,#f5fff8cc,#00a86b24);border:1px solid #fff;box-shadow:inset 0 1px 3px #fff,0 3px 10px #1d633611;transition:transform .28s cubic-bezier(.22,.85,.3,1.06)}.sheet{border-radius:30px 30px 0 0}.glass-select-trigger{font-size:16px}body input:not([type=checkbox]):not([type=radio]),body textarea{font-size:max(16px,1em)}}
.high-contrast .glass-select-trigger,.high-contrast .glass-picker,.high-contrast .card,.high-contrast .sheet,.high-contrast .secondary-button{background:#fff;color:#163e29;border-color:#276840}.high-contrast .primary-button{background:#00774b}.high-contrast input,.high-contrast textarea{background:#fff!important;border-color:#276840!important}.reduce-motion *{scroll-behavior:auto!important;transition-duration:.08s!important;animation-duration:.08s!important}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition-duration:.08s!important;animation-duration:.08s!important}}
/* Shared material across the school and Google workspaces. */
:root{--glass-fill:rgba(255,255,255,.65);--glass-edge:rgba(255,255,255,.92);--glass-shine:inset 0 1.5px 1px #fff,inset 0 -1px 2px #55816b18;--glass-lift:0 10px 30px #234b3610,0 1px 4px #234b3609;--glass-blur:blur(26px) saturate(145%)}
:is(.card,.quick-item,.board-card,.parent-overview,.assignment-detail-card,.google-course,.google-work-card,.school-card,.school-thread,.request-card,.submission-student,.submission-bundle,.workflow-strip,.workspace-mywork,.workspace-metadata,.behavior-inbox,.attendance-home){background:var(--glass-fill);border:1px solid var(--glass-edge);box-shadow:var(--glass-shine),var(--glass-lift);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border-radius:26px}
:is(.school-filters,.google-filters,.attendance-toolbar,.document-toolbar,.workflow-source,.workspace-upload){background:#ffffff80;border:1px solid var(--glass-edge);border-radius:24px;box-shadow:var(--glass-shine),0 5px 18px #234b360b;backdrop-filter:blur(22px) saturate(135%);-webkit-backdrop-filter:blur(22px) saturate(135%)}
:is(.attendance-totals>div,.summary-grid>div,.school-home-summary>div,.parent-facts>div){background:linear-gradient(145deg,#ffffffa8,#eaf5ed73);border:1px solid #ffffffd9;border-radius:20px;box-shadow:inset 0 1px 1px white}
:is(.school-document,.school-feedback,.google-material,.google-submission,.submission-file,.workspace-attachment,.workspace-metadata,.conversation-message,.behavior-mini,.request-explanation,.behavior-explanation,.update-context){background:#ffffff8c;border:1px solid #ffffffd9;border-radius:21px;box-shadow:inset 0 1px 2px #fff,0 4px 12px #234b3608}
.conversation-message.teacher-message{background:linear-gradient(140deg,#effff1c2,#c9e9d897);border-color:#f3fff6}.school-document{line-height:1.85}.school-feedback{border-inline-start:3px solid #00a86b5e}
:is(.primary-button,.secondary-button,.lesson-edit-button,.submission-view-button,.attachment-link,.workspace-upload>button){min-height:44px;border-radius:22px;box-shadow:inset 0 1.5px 2px #ffffffba,inset 0 -1px 2px #17613f16,0 5px 16px #244b3612;backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px)}
:is(.secondary-button,.lesson-edit-button,.attachment-link){background:linear-gradient(150deg,#ffffffb8,#f1faf3a6);border:1px solid #fffffff0;color:#176a4b}
:is(.primary-button,.submission-view-button){background:linear-gradient(150deg,#4acda0d1,#00a86be8);border:1px solid #ffffffb8;color:#fff}.submission-view-button:before{opacity:.6}.submission-view-button:hover{background:linear-gradient(150deg,#38c695de,#009d64e8)}
:is(.primary-button,.secondary-button,.quick-item,.google-course,.school-card,.request-card,.submission-view-button):not(:disabled):hover{box-shadow:inset 0 1.5px 2px #fff,0 10px 26px #1e624b1c;border-color:white}
.topbar{background:linear-gradient(115deg,#067952c9,#00a86b9c);border-bottom:1px solid #ffffffab;box-shadow:inset 0 -1px 1px #ffffff4d,0 7px 30px #245b3714;backdrop-filter:blur(28px) saturate(145%);-webkit-backdrop-filter:blur(28px) saturate(145%)}
.sidebar{background:linear-gradient(160deg,#ffffffad,#edf6efa1);backdrop-filter:blur(26px);-webkit-backdrop-filter:blur(26px)}.search-trigger,.notification-button{box-shadow:inset 0 1px 1px #ffffff38;border-color:#ffffff61}.primary-nav .nav-item.active{color:#008b59;background:linear-gradient(145deg,#ffffffbb,#00a86b26);border-radius:21px;box-shadow:inset 0 1px 2px #fff,0 3px 12px #146e4812}
/* Timetable entries each have their own material, rather than one flat list. */
.schedule-list.card{background:transparent;border:0;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;padding:0;display:grid;gap:12px}.schedule-entry,.week-lesson{background:var(--glass-fill);border:1px solid #ffffffed;border-radius:25px;box-shadow:var(--glass-shine),0 7px 24px #1c513d0d;backdrop-filter:blur(23px);-webkit-backdrop-filter:blur(23px);overflow:hidden}.schedule-entry .schedule-row{padding:20px 22px;border:0;margin:0;width:100%;background:transparent;min-height:88px}.schedule-entry:has(.lesson-edit-button){padding:0 0 10px}.schedule-entry .lesson-edit-button{margin-inline:20px;min-height:35px;padding:7px 15px}.schedule-entry .schedule-row.now:before{right:0;border-radius:8px;background:#00a86b}.schedule-entry.cancelled{background:#faf6f3a6}.week-lesson{padding:14px;margin-bottom:10px}.week-scroll{background:#ffffff40;border:1px solid #ffffffc9;border-radius:26px;padding:12px}
.current-lesson{box-shadow:inset 0 2px 2px #fff,0 12px 38px #0a78481a;background:linear-gradient(125deg,#ffffffc2,#dcf0e5a6);border-radius:30px;border-color:white}.lesson-kicker{background:#ffffff91;color:#127a53;border:1px solid #ffffffb8;border-radius:25px}.current-status{border-radius:24px}.math-art{background:linear-gradient(145deg,#83e2b5b3,#00a86bcd);box-shadow:inset 0 2px 5px #ffffffb3,0 0 0 7px #ffffff50,0 8px 24px #00895724}
/* One selection surface travels beneath the labels. */
.glass-segments{position:relative;isolation:isolate}.glass-segments>.glass-selection-track{position:absolute;z-index:0;pointer-events:none;border-radius:inherit;background:linear-gradient(145deg,#ffffffe0,#cfeadbaf);border:1px solid #ffffffed;box-shadow:inset 0 1.5px 2px #fff,0 4px 13px #135d3714}.glass-segments>button{position:relative;z-index:1}.glass-segments>button:is(.active,.selected,[aria-pressed=true]){background:transparent!important;box-shadow:none!important;border-color:transparent;color:#008653}.day-picker.glass-segments>.glass-selection-track{border-radius:21px}.segmented.glass-segments>.glass-selection-track{border-radius:19px}.submission-file-tabs.glass-segments>.glass-selection-track{border-radius:20px}.submission-file-tabs{padding:5px;border-radius:25px;background:#ffffff80;border:1px solid white}
.sheet{background:linear-gradient(145deg,#ffffffb3,#eef6efad);border:1px solid white;box-shadow:inset 0 2px 2px #fff,0 25px 85px #173f3730;backdrop-filter:blur(28px) saturate(145%);-webkit-backdrop-filter:blur(28px) saturate(145%)}.sheet-header{background:#ffffff7a;border-color:#ffffffbd}.sheet-header .icon-button{background:#ffffff94;border:1px solid #fff;border-radius:50%;box-shadow:inset 0 1px 1px white,0 4px 12px #254f3710}.all-tools-grid .quick-item{border-radius:24px}.document-glass-header{background:#f9fffac4;border-bottom:1px solid white;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}.document-toolbar button{border-radius:14px;background:#ffffff9e;border:1px solid #fff}.document-paper{background:white}/* Real document paper stays legible. */
:is(.role-option,.identity-options,.login-panel fieldset){border-radius:24px;border-color:#ffffffde;background:#ffffff65;box-shadow:inset 0 1px 2px #fff}.role-option.selected{border-color:#00a86b66;background:linear-gradient(140deg,#ffffffb8,#d4efdf96);box-shadow:inset 0 1px 2px #fff,0 0 0 3px #00a86b0c}.role-option .radio-dot{color:#00a86b}.welcome-story,.welcome-form{background:#ffffff70;backdrop-filter:blur(25px);-webkit-backdrop-filter:blur(25px)}
input[type=range]{appearance:none;height:7px;border-radius:10px;background:#d7e9df;accent-color:#00a86b}input[type=range]::-webkit-slider-thumb{appearance:none;width:24px;height:24px;border-radius:50%;background:linear-gradient(140deg,#fff,#e3f8ea);border:1px solid white;box-shadow:0 2px 7px #234b3640}input[type=range]::-moz-range-thumb{width:24px;height:24px;border-radius:50%;background:#effff4;border:1px solid white;box-shadow:0 2px 7px #234b3640}.toggle{box-shadow:inset 0 1px 2px #fff9,0 2px 7px #234b3612}.toggle:after{box-shadow:inset 0 1px 1px white,0 2px 6px #234b3626}
@media(max-width:760px){.bottom-nav{background:linear-gradient(150deg,#ffffffad,#ecf6efa6);backdrop-filter:blur(28px) saturate(160%);-webkit-backdrop-filter:blur(28px) saturate(160%);border:1px solid white;box-shadow:inset 0 2px 2px #fff,inset 0 -1px 2px #2e71451c,0 10px 32px #234b3626}.bottom-nav .nav-pill{background:linear-gradient(145deg,#ffffffbf,#00a86b30);border:1px solid #fff;box-shadow:inset 0 2px 2px white,0 4px 15px #08603d14}.schedule-entry .schedule-row{padding:17px 16px}.schedule-entry .lesson-edit-button{margin-inline:16px}.card{border-radius:26px}.sheet{border-radius:30px 30px 0 0}.day-picker{gap:3px;padding:5px}.day-picker button{padding-inline:5px;min-width:0}.calendar-day{min-height:45px}}
.high-contrast :is(.school-card,.school-thread,.request-card,.submission-student,.submission-bundle,.workflow-strip,.workspace-mywork,.workspace-metadata,.behavior-inbox,.schedule-entry,.week-lesson,.glass-selection-track){background:#fff;border-color:#235c40;color:#173b2a}.high-contrast .glass-segments>button:is(.active,.selected,[aria-pressed=true]){color:#005a36!important;text-decoration:underline;text-underline-offset:4px}
/* Custom attachment entry point; the system picker still handles file selection. */
.glass-file-trigger{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:52px;padding:13px 18px;border-radius:20px;border:1px solid #fff;background:linear-gradient(140deg,#ffffffac,#dff4e787);box-shadow:var(--glass-shine),0 4px 15px #234b360b;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);font:inherit;color:#127b52;overflow-wrap:anywhere;text-align:start}.glass-file-trigger:before{content:'＋';display:grid;place-items:center;flex-shrink:0;width:28px;height:28px;border-radius:50%;background:#ffffff91;border:1px solid white;font-size:22px}.glass-file-trigger:disabled{opacity:.45}.sheet,.sidebar,.week-scroll,.document-workspace{scrollbar-width:none}.sheet::-webkit-scrollbar,.sidebar::-webkit-scrollbar,.week-scroll::-webkit-scrollbar,.document-workspace::-webkit-scrollbar{display:none}.high-contrast .glass-file-trigger{background:white;color:#005a36;border-color:#235c40}
.role-option.selected .radio-dot{color:#fff}
/* Desktop navigation is the same moving glass object, not per-button fills. */
.sidebar{isolation:isolate}.sidebar-glass-pill{position:absolute;z-index:0;pointer-events:none;transform-origin:center;border-radius:23px;background:linear-gradient(130deg,#ffffffe3,#bdebd6c2 60%,#00a86b33);border:1px solid #fff;box-shadow:inset 0 2px 2px #fff,inset 0 -2px 5px #00a86b16,0 5px 18px #0a714b1b;backdrop-filter:blur(25px);-webkit-backdrop-filter:blur(25px)}.sidebar-glass-pill[hidden]{display:none}.sidebar :is(.primary-nav,.secondary-nav){position:relative;z-index:1}.sidebar :is(.primary-nav,.secondary-nav) button.active{background:transparent!important;box-shadow:none!important;border-color:transparent!important;color:#007f51;font-weight:650}.sidebar :is(.primary-nav,.secondary-nav) button{transition:color .2s,scale .18s;background:transparent;border:1px solid transparent;min-height:44px;border-radius:23px}.sidebar :is(.primary-nav,.secondary-nav) button:hover:not(.active){background:#ffffff55;box-shadow:inset 0 1px 1px #ffffff9c}
.high-contrast .sidebar-glass-pill{background:#e0f7e9;border-color:#007347}
