*,:before,:after,::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border:0 solid #e5e7eb}:before,:after{--tw-content:""}html,:host{-webkit-text-size-adjust:100%;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}body{line-height:inherit;margin:0}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-feature-settings:normal;font-variation-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-feature-settings:inherit;font-variation-settings:inherit;font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:#0000;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{margin:0;padding:0;list-style:none}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder{opacity:1;color:#9ca3af}textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.\!container{width:100%!important;margin-left:auto!important;margin-right:auto!important;padding-left:2rem!important;padding-right:2rem!important}.container{width:100%;margin-left:auto;margin-right:auto;padding-left:2rem;padding-right:2rem}@media (width>=1400px){.\!container{max-width:1400px!important}.container{max-width:1400px}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.\!visible{visibility:visible!important}.visible{visibility:visible}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.left-1\/2{left:50%}.top-\[18px\]{top:18px}.isolate{isolation:isolate}.z-0{z-index:0}.z-10{z-index:10}.z-50{z-index:50}.z-\[9999\]{z-index:9999}.m-1{margin:.25rem}.m-2{margin:.5rem}.m-3{margin:.75rem}.m-4{margin:1rem}.my-5{margin-top:1.25rem;margin-bottom:1.25rem}.mb-1{margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-6{margin-top:1.5rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.\!table{display:table!important}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.h-1\.5{height:.375rem}.h-3{height:.75rem}.h-\[1px\]{height:1px}.h-full{height:100%}.min-h-\[100dvh\]{min-height:100dvh}.w-1\.5{width:.375rem}.w-3{width:.75rem}.w-full{width:100%}.max-w-\[360px\]{max-width:360px}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.-translate-x-1\/2{--tw-translate-x:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.animate-\[fadeIn_0\.35s_ease_both\]{animation:.35s both fadeIn}@keyframes bounce{0%,to{animation-timing-function:cubic-bezier(.8,0,1,1);transform:translateY(-25%)}50%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:none}}.animate-bounce{animation:1s infinite bounce}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:2s cubic-bezier(.4,0,.6,1) infinite pulse}@keyframes spin{to{transform:rotate(360deg)}}.cursor-default{cursor:default}.select-none{-webkit-user-select:none;user-select:none}.resize{resize:both}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.overflow-hidden{overflow:hidden}.whitespace-nowrap{white-space:nowrap}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.border{border-width:1px}.border-amber-500\/30{border-color:#f59e0b4d}.border-blue-500\/30{border-color:#3b82f64d}.border-emerald-500\/30{border-color:#10b9814d}.bg-\[var\(--bg-base\)\]{background-color:var(--bg-base)}.bg-\[var\(--status-safe\)\]{background-color:var(--status-safe)}.bg-amber-950\/75{background-color:#451a03bf}.bg-blue-950\/75{background-color:#172554bf}.bg-emerald-950\/75{background-color:#022c22bf}.bg-white\/10{background-color:#ffffff1a}.object-contain{-o-object-fit:contain;object-fit:contain}.px-3{padding-left:.75rem;padding-right:.75rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-8{padding-top:2rem;padding-bottom:2rem}.text-center{text-align:center}.text-\[10px\]{font-size:10px}.text-\[12px\]{font-size:12px}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-\[1\.7\]{line-height:1.7}.tracking-\[-0\.6px\]{letter-spacing:-.6px}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}.text-\[\#FCEBEB\]{--tw-text-opacity:1;color:rgb(252 235 235/var(--tw-text-opacity,1))}.text-\[var\(--accent-primary\)\]{color:var(--accent-primary)}.text-\[var\(--text-muted\)\]{color:var(--text-muted)}.text-\[var\(--text-primary\)\]{color:var(--text-primary)}.text-\[var\(--text-secondary\)\]{color:var(--text-secondary)}.text-amber-200{--tw-text-opacity:1;color:rgb(253 230 138/var(--tw-text-opacity,1))}.text-blue-200{--tw-text-opacity:1;color:rgb(191 219 254/var(--tw-text-opacity,1))}.text-emerald-200{--tw-text-opacity:1;color:rgb(167 243 208/var(--tw-text-opacity,1))}.text-inherit{color:inherit}.text-muted{color:var(--bg-card)}.underline{text-decoration-line:underline}.line-through{text-decoration-line:line-through}.decoration-\[rgba\(116\,124\,144\,0\.4\)\]{text-decoration-color:#747c9066}.underline-offset-\[3px\]{text-underline-offset:3px}.opacity-70{opacity:.7}.shadow-\[0_0_15px_rgba\(16\,185\,129\,0\.15\)\]{--tw-shadow:0 0 15px #10b98126;--tw-shadow-colored:0 0 15px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-\[0_0_15px_rgba\(245\,158\,11\,0\.15\)\]{--tw-shadow:0 0 15px #f59e0b26;--tw-shadow-colored:0 0 15px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-\[0_0_15px_rgba\(59\,130\,246\,0\.15\)\]{--tw-shadow:0 0 15px #3b82f626;--tw-shadow-colored:0 0 15px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.outline{outline-style:solid}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.blur{--tw-blur:blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow{--tw-drop-shadow:drop-shadow(0 1px 2px #0000001a) drop-shadow(0 1px 1px #0000000f);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.grayscale{--tw-grayscale:grayscale(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.invert{--tw-invert:invert(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.sepia{--tw-sepia:sepia(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-md{--tw-backdrop-blur:blur(12px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-property:all;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-transform{transition-property:transform;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-150{transition-duration:.15s}.duration-300{transition-duration:.3s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0), var(--tw-enter-translate-y,0), 0) scale3d(var(--tw-enter-scale,1), var(--tw-enter-scale,1), var(--tw-enter-scale,1)) rotate(var(--tw-enter-rotate,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0), var(--tw-exit-translate-y,0), 0) scale3d(var(--tw-exit-scale,1), var(--tw-exit-scale,1), var(--tw-exit-scale,1)) rotate(var(--tw-exit-rotate,0))}}.fade-in{--tw-enter-opacity:0}.zoom-in{--tw-enter-scale:0}.duration-150{animation-duration:.15s}.duration-300{animation-duration:.3s}.ease-in-out{animation-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{animation-timing-function:cubic-bezier(0,0,.2,1)}.running{animation-play-state:running}:root{--bg-base:#0f0f11;--bg-surface:#17171a;--bg-elevated:#1f1f24;--bg-overlay:#28282e;--glass-blur:blur(24px) saturate(180%);--glass-blur-heavy:blur(32px) saturate(200%);--accent-primary:#818cf8;--accent-primary-glow:#818cf81a;--accent-primary-muted:#818cf826;--accent-secondary:#6ee7b7;--status-critical:#f87171;--status-critical-bg:#f8717117;--status-warning:#fbbf24;--status-warning-bg:#fbbf2417;--status-safe:#34d399;--status-safe-bg:#34d39917;--status-info:#60a5fa;--status-info-bg:#60a5fa17;--status-announcement:#a78bfa;--status-announcement-bg:#a78bfa17;--text-primary:#e8e8ea;--text-secondary:#9ca3af;--text-muted:#8e939e;--text-tertiary:#6b7280;--text-accent:#818cf8;--border-default:#ffffff0a;--border-active:#818cf866;--shadow-card:none;--shadow-glow-blue:0 0 0 2px #c4b5fd40;--shadow-glow-red:0 0 0 2px #f8717140;--shadow-glow-green:0 0 0 2px #34d39940;--shadow-elevated:0 10px 30px #0006;--radius-sm:8px;--radius-md:14px;--radius-lg:20px;--radius-xl:24px;--radius-pill:100px;--radius:12px;--font-display:"Plus Jakarta Sans", "Inter", sans-serif;--font-body:"Inter", sans-serif;--font-mono:"JetBrains Mono", monospace;--text-xs:.75rem;--text-sm:.8125rem;--text-base:.9375rem;--text-md:1.0625rem;--text-lg:1.3125rem;--text-2xl:1.75rem;--weight-body:400;--weight-label:500;--weight-subheading:600;--weight-heading:700;--leading-tight:1.1;--leading-compact:1.2;--leading-normal:1.45;--tracking-tight:-.02em;--tracking-normal:0;--tracking-wide:.04em;--transition-fast:.12s cubic-bezier(.16, 1, .3, 1);--transition-base:.2s cubic-bezier(.16, 1, .3, 1);--transition-slow:.28s cubic-bezier(.16, 1, .3, 1);--bg-card:var(--bg-surface);--bg-input:var(--bg-elevated);--accent:var(--accent-primary);--accent-dim:var(--accent-primary-glow);--green:var(--status-safe);--red:var(--status-critical);--border:var(--border-default);--text-xl:var(--text-lg);--frame-w:480px}:focus-visible{outline-offset:2px;outline:2px solid var(--accent-primary)!important}.t-transition-transform-opacity{transition:transform var(--transition-base), opacity var(--transition-base)}.t-transition-colors{transition:background-color var(--transition-base), border-color var(--transition-base), color var(--transition-base), box-shadow var(--transition-base)}::-webkit-scrollbar{width:6px!important;height:6px!important}::-webkit-scrollbar-track{background:0 0!important}::-webkit-scrollbar-thumb{-webkit-transition:background-color var(--transition-fast);transition:background-color var(--transition-fast);background:#ffffff14!important;border-radius:3px!important}::-webkit-scrollbar-thumb:hover{background:#ffffff29!important}.carousel::-webkit-scrollbar{height:4px!important;display:block!important}.carousel::-webkit-scrollbar-track{background:0 0!important}.carousel::-webkit-scrollbar-thumb{background:#ffffff14!important;border-radius:2px!important}.carousel::-webkit-scrollbar-thumb:hover{background:#ffffff29!important}*,:before,:after{box-sizing:border-box;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;margin:0;padding:0}input,textarea{-webkit-user-select:text;user-select:text}button{cursor:pointer}a{text-decoration:none}@keyframes pwaSlideUp{0%{opacity:0;transform:translate(-50%,24px)}to{opacity:1;transform:translate(-50%)}}@keyframes pwaFadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.animate-slide-down{animation:.35s cubic-bezier(.16,1,.3,1) forwards slideDown}.install-banner-slide{animation:.4s cubic-bezier(.16,1,.3,1) forwards pwaSlideUp}.install-overlay-fade{animation:.25s cubic-bezier(.16,1,.3,1) forwards pwaFadeIn}html{background:var(--bg-base);font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-normal);letter-spacing:var(--tracking-normal);-webkit-font-smoothing:antialiased;color:var(--text-primary);height:100%}body{background:var(--bg-base);justify-content:center;min-height:100%;display:flex}#root{width:100%;max-width:var(--frame-w);background:var(--bg-base);min-height:100dvh;position:relative;overflow-x:clip;box-shadow:0 0 0 1px #ffffff0a}@media (width>=520px){body{align-items:flex-start;padding:0}#root{min-height:100vh}}::selection{background:var(--accent-primary-glow);color:#fff}.t-hero{font:var(--weight-heading) var(--text-2xl)/var(--leading-tight) var(--font-display);letter-spacing:var(--tracking-tight)}.t-feature{font:var(--weight-heading) var(--text-xl)/var(--leading-tight) var(--font-display);letter-spacing:var(--tracking-tight)}.t-page-title{font:var(--weight-subheading) var(--text-lg)/var(--leading-tight) var(--font-display);letter-spacing:var(--tracking-tight)}.t-card-title{font:var(--weight-subheading) var(--text-md)/var(--leading-tight) var(--font-display);letter-spacing:var(--tracking-tight)}.t-subtitle{font:var(--weight-subheading) var(--text-base)/var(--leading-tight) var(--font-display);letter-spacing:var(--tracking-tight)}.t-body{font:var(--weight-body) var(--text-base)/var(--leading-normal) var(--font-body)}.t-body-medium{font:var(--weight-label) var(--text-base)/var(--leading-normal) var(--font-body)}.t-label{font:var(--weight-label) var(--text-sm)/var(--leading-compact) var(--font-body);letter-spacing:.01em}.t-caption{font:var(--weight-body) var(--text-sm)/var(--leading-compact) var(--font-body);letter-spacing:.01em}.t-button{font:var(--weight-subheading) var(--text-base)/1 var(--font-body);letter-spacing:.005em}.t-input{font:var(--weight-body) var(--text-base)/var(--leading-compact) var(--font-body)}.t-badge{font:var(--weight-subheading) var(--text-xs)/var(--leading-compact) var(--font-body);letter-spacing:var(--tracking-wide)}.t-mono{font:var(--weight-body) var(--text-sm)/var(--leading-compact) var(--font-mono);letter-spacing:.02em;font-variant-numeric:tabular-nums}.t-mono-sm{font:var(--weight-body) var(--text-xs)/var(--leading-compact) var(--font-mono);letter-spacing:.02em}.ann-category-tag{letter-spacing:.05em}.t-helper{font:var(--weight-body) var(--text-xs)/var(--leading-normal) var(--font-mono);letter-spacing:.02em}.text-display{font:var(--weight-heading) var(--text-2xl)/var(--leading-tight) var(--font-display);letter-spacing:var(--tracking-tight)}.text-heading{font:var(--weight-subheading) var(--text-xl)/var(--leading-tight) var(--font-display);letter-spacing:var(--tracking-tight)}.text-body{font:var(--weight-body) var(--text-base)/var(--leading-normal) var(--font-body)}.text-micro{font:var(--weight-label) var(--text-xs)/var(--leading-compact) var(--font-mono);letter-spacing:.02em}.page-shell{background:var(--bg-base);min-height:100dvh;padding-bottom:calc(64px + env(safe-area-inset-bottom,0px));flex-direction:column;display:flex;position:relative;overflow-x:clip}.page-content{flex-direction:column;flex:1;gap:16px;padding:16px;display:flex}.card{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);transition:border-color var(--transition-fast), background var(--transition-fast);padding:16px;position:relative;overflow:hidden}.card:hover{background:var(--bg-elevated);border-color:#ffffff1f}.card:active{transform:scale(.99)}.card-glare,.card-shimmer{display:none}.badge{border-radius:var(--radius-pill);font-size:12px;font-weight:600;font-family:var(--font-body);white-space:nowrap;letter-spacing:.05em;align-items:center;gap:4px;padding:3px 10px;display:inline-flex}.badge-critical{background:var(--status-critical-bg);color:var(--status-critical)}.badge-warning{background:var(--status-warning-bg);color:var(--status-warning)}.badge-safe{background:var(--status-safe-bg);color:var(--status-safe)}.badge-info{background:var(--status-info-bg);color:var(--status-info)}.input{background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-md);width:100%;min-height:48px;color:var(--text-primary);font:400 15px var(--font-body);transition:border-color var(--transition-fast), box-shadow var(--transition-fast), background var(--transition-fast);outline:none;padding:13px 16px}.input:hover:not(:focus):not(.input-error){border-color:#ffffff1f}.input:focus{border-color:var(--accent-primary);background:var(--bg-base);box-shadow:0 0 0 2px var(--accent-primary-glow)}.input::placeholder{color:var(--text-muted)}.input.mono{font-family:var(--font-mono);letter-spacing:.15em;text-transform:uppercase}.input-error{border-color:var(--status-critical)!important;box-shadow:0 0 0 2px #f8717133!important}.btn-primary{background:var(--accent-primary);color:#1e1b4b;border-radius:var(--radius-md);width:100%;min-height:48px;font:600 15px var(--font-body);transition:opacity var(--transition-fast), transform var(--transition-fast);box-shadow:none;border:none;justify-content:center;align-items:center;gap:8px;padding:14px;display:flex}.btn-primary:hover:not(:disabled){opacity:.9}.btn-primary:active:not(:disabled){opacity:.95;transform:scale(.98)}.btn-primary:disabled{opacity:.45;cursor:not-allowed}.btn-secondary{background:var(--bg-elevated);min-height:44px;color:var(--text-primary);border-radius:var(--radius-md);font:500 14px var(--font-body);transition:border-color var(--transition-fast), transform var(--transition-fast), box-shadow var(--transition-fast), background var(--transition-fast);border:1px solid #ffffff17;border-top-color:#ffffff21;justify-content:center;align-items:center;gap:8px;padding:11px 20px;display:flex;box-shadow:0 2px 8px #00000040}.btn-secondary:hover:not(:disabled){background:#ffffff08;border-color:#fff3;box-shadow:0 4px 14px #00000059}.btn-secondary:active:not(:disabled){border-color:var(--accent-primary-glow);transform:scale(.98)}.google-btn{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-md);width:100%;height:52px;font-family:var(--font-body);color:var(--text-primary);transition:transform var(--transition-fast), opacity var(--transition-fast), background var(--transition-fast), border-color var(--transition-fast);cursor:pointer;align-items:center;gap:10px;padding:0 18px;font-size:14px;font-weight:500;display:flex;position:relative;overflow:hidden}.google-btn:hover:not(.loading){background:var(--bg-elevated);border-color:#ffffff1f}.google-btn:active:not(.loading){transform:scale(.98)}.google-btn.loading{opacity:.65;cursor:not-allowed}.btn-ripple{pointer-events:none;background:#ffffff14;border-radius:50%;animation:.55s cubic-bezier(.22,1,.36,1) forwards ripple;position:absolute;transform:scale(0)}.navbar{width:100%;max-width:var(--frame-w);height:calc(64px + env(safe-area-inset-bottom,0px));z-index:100;padding-bottom:env(safe-area-inset-bottom,0px);-webkit-backdrop-filter:blur(32px)saturate(200%);backdrop-filter:blur(32px)saturate(200%);background:#0d0f1473;border-top:1px solid #ffffff1a;align-items:stretch;margin:0 auto;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -8px 32px #00000080,inset 0 1px #ffffff0f}.navbar-tab{color:var(--text-muted);font:500 10px var(--font-body);transition:color var(--transition-fast);background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;padding:8px 4px;display:flex;position:relative}.navbar-tab.active{color:var(--accent-primary)}.navbar-tab.active .nav-icon{transform:scale(1.08)}.nav-icon{transition:transform var(--transition-fast), filter var(--transition-fast);display:flex}.navbar-active-pill{background:var(--accent-primary);width:28px;height:2px;box-shadow:none;border-radius:0 0 3px 3px;position:absolute;top:0;left:50%;transform:translate(-50%)}.sheet-backdrop{z-index:1000;-webkit-backdrop-filter:blur(8px);background:#000000bf;position:fixed;inset:0}.sheet-panel{width:100%;max-width:var(--frame-w);z-index:1001;max-height:85vh;padding-bottom:calc(16px + env(safe-area-inset-bottom,0px));background:linear-gradient(#121216fa 0%,#0a0a0c 100%);border-top:1px solid #ffffff14;border-radius:24px 24px 0 0;position:fixed;bottom:0;left:50%;overflow-y:auto;box-shadow:0 -10px 40px #0009}.sheet-handle{cursor:pointer;background-color:#ffffff26;border-radius:2px;width:40px;height:4px;margin:12px auto 16px}.section-header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.section-title{font:600 14px var(--font-display);color:var(--text-primary)}.section-link{font:500 12px var(--font-body);color:var(--accent-primary);background:0 0;border:none;padding:4px 0}.dashboard-focus-strip{display:block}.top-status-row{gap:10px;display:flex}.status-card{align-items:center;gap:12px;padding:12px;display:flex}.status-card .value{font:700 16px var(--font-display);color:var(--text-primary)}.dashboard-focus-card{flex-direction:column;gap:18px;padding:18px;display:flex}.focus-card-header{font:600 12px var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--accent-primary)}.focus-card-grid{gap:12px;display:grid}@media (width>=640px){.focus-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.focus-segment{border-radius:var(--radius-lg);background:var(--bg-surface);min-height:156px;-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--border-default);transition:transform var(--transition-fast), border-color var(--transition-fast), box-shadow var(--transition-fast);text-align:left;flex-direction:column;justify-content:space-between;gap:12px;padding:16px;display:flex}.focus-segment:hover{box-shadow:0 8px 24px #0006, 0 0 0 1px var(--accent-primary-glow);border-color:#ffffff29;transform:translateY(-2px)}.focus-segment-top{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.focus-segment-label{font:500 12px var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);margin-bottom:6px;display:block}.focus-segment-main{font:600 16px var(--font-display);color:var(--text-primary);line-height:1.25}.focus-segment-detail{font:400 13px var(--font-body);color:var(--text-secondary)}.focus-segment-footer{justify-content:space-between;align-items:center;gap:12px;display:flex}.focus-segment-icon{width:32px;height:32px;color:var(--text-muted);justify-content:center;align-items:center;display:inline-flex}.focus-segment-lead{font:500 12px var(--font-body);color:var(--accent-primary)}.carousel{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;gap:10px;padding:2px 0 8px;display:flex;overflow-x:auto}.carousel::-webkit-scrollbar{display:none}.carousel>*{scroll-snap-align:start;flex-shrink:0}.critical-banner{background:var(--status-critical-bg);border:1px solid #f8717140;border-left:3px solid var(--status-critical);border-radius:var(--radius-md);cursor:pointer;align-items:flex-start;gap:10px;padding:12px 14px;display:flex;box-shadow:none!important;animation:none!important}.donut-ring{transform:rotate(-90deg)}.donut-track{fill:none;stroke:var(--bg-elevated)}.donut-progress{fill:none;stroke-linecap:round;transition:stroke-dashoffset .6s ease-out}.filter-tabs{gap:8px;padding-bottom:2px;display:flex;overflow-x:auto}.filter-tabs::-webkit-scrollbar{display:none}.filter-tab{border-radius:var(--radius-pill);font:500 12px var(--font-body);white-space:nowrap;border:1px solid var(--border-default);color:var(--text-secondary);transition:border-color var(--transition-fast), background-color var(--transition-fast), color var(--transition-fast);background:0 0;padding:7px 14px}.filter-tab.active{background:var(--accent-primary-glow);border-color:var(--accent-primary);color:var(--accent-primary)}.vote-bar-wrap{flex-direction:column;gap:8px;margin-top:8px;display:flex}.vote-option{background:var(--bg-elevated);border:1.5px solid var(--border-default);border-radius:var(--radius-md);transition:border-color var(--transition-fast), background-color var(--transition-fast);align-items:center;gap:10px;padding:10px 12px;display:flex;position:relative}.vote-option.selected{border-color:var(--accent-primary);background:var(--accent-primary-glow)}.vote-option.voted.selected{background:0 0}.vote-option:not(.voted):hover{border-color:var(--border-active)}.vote-option-fill{z-index:0;pointer-events:none;border-radius:inherit;position:absolute;top:0;bottom:0;left:0}.vote-bar-fill{background:var(--accent-primary);border-radius:2px;height:4px;transition:width .6s cubic-bezier(.16,1,.3,1)}.fab{bottom:calc(80px + env(safe-area-inset-bottom));right:max(20px, calc(50vw - var(--frame-w)/2 + 20px));background:var(--accent-primary);color:#1e1b4b;width:52px;height:52px;transition:transform var(--transition-fast), opacity var(--transition-fast);z-index:90;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:22px;display:flex;position:fixed;box-shadow:0 2px 8px #0000004d}.fab:hover{transform:translateY(-1px);box-shadow:0 6px 24px #00000080,inset 0 0 0 1px #ffffff2e}.fab:active{transform:scale(.92);box-shadow:0 2px 10px #60a5fa4d}.avatar{-o-object-fit:cover;object-fit:cover;border:2px solid var(--accent-primary-glow);border-radius:50%;width:72px;height:72px}.avatar-initials{background:radial-gradient(circle at 35% 35%, #60a5fa33 0%, var(--accent-primary-muted) 100%);width:72px;height:72px;font:700 26px var(--font-display);color:var(--accent-primary);border:2px solid #60a5fa40;border-radius:50%;justify-content:center;align-items:center;display:flex;box-shadow:0 4px 12px #00000059}.list-row{border-radius:var(--radius-md);min-height:56px;transition:border-color var(--transition-fast), transform var(--transition-fast), background var(--transition-fast);align-items:center;gap:12px;padding:14px 16px;display:flex;background:#121520!important;border:1px solid #ffffff14!important}.list-row:hover{background:#171b27!important;border-color:#ffffff29!important}.list-row:active{transform:scale(.985);background:#121520!important}.onboarding-card{background:var(--bg-surface);border-radius:var(--radius-xl);cursor:pointer;transition:border-color var(--transition-fast), transform var(--transition-base), box-shadow var(--transition-base), background var(--transition-fast);border:1px solid #ffffff12;border-top-color:#ffffff1f;align-items:center;gap:16px;padding:20px;display:flex;box-shadow:0 4px 20px #00000059}.onboarding-card:hover{box-shadow:var(--shadow-glow-blue), 0 8px 32px #00000073;background:#ffffff05;border-color:#fff3;transform:translateY(-3px)}.onboarding-card:hover .chevron-icon{color:var(--text-primary);transform:translate(4px)}.onboarding-card:active{transform:scale(.97)}.divider{align-items:center;display:flex}.divider-line{background:#ffffff14;flex:1;height:1px}.schedule-timeline{min-height:200px;position:relative}.schedule-hour-mark{pointer-events:none;align-items:flex-start;width:100%;display:flex;position:absolute;left:0}.schedule-hour-label{width:44px;font:500 10px var(--font-mono);color:var(--text-muted);text-align:right;flex-shrink:0;padding-right:8px;transform:translateY(-6px)}.schedule-hour-line{background:#ffffff14;flex:1;height:1px}.schedule-card{border-radius:var(--radius-md);background:var(--bg-surface);border:1px solid var(--border-default);cursor:pointer;transition:border-color var(--transition-fast), box-shadow var(--transition-fast), opacity var(--transition-fast);touch-action:pan-y;animation:.3s both fadeSlideUp;display:flex;position:absolute;left:52px;right:8px;overflow:hidden}.schedule-card-wrapper .schedule-card{width:100%;height:100%;position:relative;left:0;right:0}.schedule-card:active{transform:scale(.985)}.schedule-card.is-past{opacity:.45}.schedule-card.is-now{border-color:#60a5fa66;box-shadow:0 0 16px #60a5fa1f,0 4px 12px #0000004d}.schedule-card-accent{border-radius:3px 0 0 3px;flex-shrink:0;width:3.5px}.schedule-card-body{flex-direction:column;flex:1;justify-content:center;min-width:0;padding:8px 12px;display:flex}.schedule-card-body .schedule-subject{font:600 13px var(--font-display);color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;margin-bottom:2px;line-height:1.25;overflow:hidden}.schedule-card-body .schedule-meta{font:400 10px var(--font-mono);color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;line-height:1.4;overflow:hidden}.schedule-card-body .schedule-type{font:500 9px var(--font-mono);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;margin-top:2px}.schedule-now-line{z-index:10;pointer-events:none;background:#fff;height:2px;position:absolute;left:44px;right:0}.schedule-now-line:before{content:"";background:#fff;border-radius:50%;width:8px;height:8px;position:absolute;top:-3px;left:0;box-shadow:0 0 6px #fff6}.schedule-gap{pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;left:52px;right:8px}.schedule-gap-label{font:500 10px var(--font-mono);color:var(--status-safe);background:var(--status-safe-bg);border-radius:var(--radius-pill);opacity:.9;border:1px dashed #34d39938;padding:2.5px 11px;box-shadow:0 2px 8px #00000026}.jump-to-now{bottom:calc(88px + env(safe-area-inset-bottom));z-index:80;background:var(--accent-primary);color:#fff;border-radius:var(--radius-pill);font:600 11px var(--font-body);cursor:pointer;transition:transform var(--transition-fast), opacity var(--transition-fast);border:none;align-items:center;gap:6px;padding:8px 16px;animation:.25s both fadeSlideUp;display:flex;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 4px 16px #60a5fa59,inset 0 0 0 1px #ffffff1a}.jump-to-now:active{transform:translate(-50%)scale(.94)}.schedule-card-swipe-container{border-radius:var(--radius-md);position:absolute;left:52px;right:8px;overflow:hidden}.swipe-delete-zone{width:72px;color:var(--status-critical);border-radius:0 var(--radius-md) var(--radius-md) 0;background:#f8717133;justify-content:center;align-items:center;display:flex;position:absolute;top:0;bottom:0;right:0}.day-tabs{gap:4px;display:flex;overflow-x:auto}.day-tabs::-webkit-scrollbar{display:none}.day-tab{border-radius:var(--radius-md);min-width:44px;font:500 12px var(--font-body);text-align:center;color:var(--text-secondary);transition:border-color var(--transition-fast), background-color var(--transition-fast), color var(--transition-fast);background:0 0;border:1px solid #0000;flex-direction:column;align-items:center;gap:2px;padding:7px 10px 4px;display:flex;position:relative}.day-tab.active{background:var(--accent-primary-glow);border-color:var(--accent-primary);color:var(--accent-primary)}.day-tab .day-badge{font:600 9px var(--font-mono);color:var(--text-muted);border-radius:var(--radius-pill);text-align:center;background:#ffffff0d;min-width:16px;padding:1px 6px}.day-tab.active .day-badge{color:var(--accent-primary);background:#60a5fa1f}.day-dot{background:0 0;border-radius:50%;width:4px;height:4px;margin:0 auto}.day-tab.today .day-dot{background:currentColor}.legend-collapsible{opacity:0;max-height:0;padding:0 20px;transition:max-height .3s,opacity .2s,padding .3s;overflow:hidden}.legend-collapsible.open{opacity:1;max-height:60px;padding:8px 20px}@keyframes slideInFromRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes slideInFromLeft{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}.schedule-slide-right{animation:.25s both slideInFromRight}.schedule-slide-left{animation:.25s both slideInFromLeft}.mini-timeline{flex-direction:column;gap:4px;padding:8px 0;display:flex}.mini-timeline-slot{border-radius:var(--radius-sm);font:400 11px var(--font-body);color:var(--text-secondary);background:#ffffff08;border:1px solid #ffffff0f;align-items:center;gap:8px;padding:6px 10px;display:flex}.mini-timeline-slot .slot-accent{border-radius:1.5px;flex-shrink:0;width:3px;height:20px}.schedule-empty-icon{background:#34d39914;border:1px solid #34d39926;border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;margin:0 auto 16px;display:flex}.success-ring{background:var(--status-safe-bg);border:1px solid #34d39940;border-radius:50%;justify-content:center;align-items:center;width:68px;height:68px;animation:.45s cubic-bezier(.34,1.56,.64,1) both popIn;display:flex;box-shadow:0 0 24px #34d39933}.logo-wrap{width:88px;height:88px;animation:.6s cubic-bezier(.22,1,.36,1) both fadeUp}.error-banner{background:var(--status-critical-bg);border:.5px solid #f8717140;border-left:2px solid var(--status-critical);border-radius:10px;align-items:flex-start;gap:10px;margin-bottom:16px;padding:10px 14px;animation:.25s both slideDown;display:flex}.domain-badge{background:var(--accent-primary-glow);border:.5px solid #60a5fa33;border-radius:10px;align-items:center;gap:8px;padding:10px 14px;display:flex}.auth-bg{background-image:radial-gradient(circle,#c4b5fd0d 0%,#0000 70%),linear-gradient(#c4b5fd04 1px,#0000 1px),linear-gradient(90deg,#c4b5fd04 1px,#0000 1px);background-position:50%;background-size:100% 100%,36px 36px,36px 36px;position:relative;background-color:var(--bg-base)!important}.stagger-1{animation:.6s cubic-bezier(.22,1,.36,1) 50ms both fadeUp}.stagger-2{animation:.6s cubic-bezier(.22,1,.36,1) .1s both fadeUp}.stagger-3{animation:.6s cubic-bezier(.22,1,.36,1) .15s both fadeUp}.stagger-4{animation:.6s cubic-bezier(.22,1,.36,1) .2s both fadeUp}.stagger-5{animation:.6s cubic-bezier(.22,1,.36,1) .25s both fadeUp}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.nowrap{white-space:nowrap}.sr-only{clip:rect(0, 0, 0, 0);width:1px;height:1px;position:absolute;overflow:hidden}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translate(-50%)translateY(100%)}to{transform:translate(-50%)translateY(0)}}@keyframes popIn{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1)}}@keyframes shimmerPulse{0%,to{opacity:.3}50%{opacity:1}}@keyframes breathe{0%,to{opacity:.5;transform:scale(1)}50%{opacity:1;transform:scale(1.08)}}@keyframes scanDown{0%{opacity:0;top:-2px}5%{opacity:1}95%{opacity:.4}to{opacity:0;top:100%}}@keyframes ripple{to{opacity:0;transform:scale(1)}}@keyframes criticalPulse{0%,to{box-shadow:0 0 0 1px #f8717126,0 0 20px #f8717133}50%{box-shadow:0 0 0 1px #f8717140,0 0 32px #f8717159}}@keyframes nowPulse{0%,to{opacity:1}50%{opacity:.55}}@keyframes barFill{0%{width:0}}.animate-spin{animation:1s linear infinite spin}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.segment-switcher{border:1px solid var(--border-default);background:#ffffff08;border-radius:20px;align-items:center;width:fit-content;padding:2px;display:flex}.segment-btn{font:600 10px var(--font-body);color:var(--text-secondary);cursor:pointer;transition:background-color var(--transition-fast), color var(--transition-fast), box-shadow var(--transition-fast);background:0 0;border:none;border-radius:18px;align-items:center;gap:4px;padding:4px 10px;display:flex}.segment-btn.active{color:var(--text-primary);background:#ffffff14;box-shadow:0 2px 8px #00000040}.segment-btn:hover:not(.active){color:var(--text-primary)}.glass-progress-track{background:#ffffff0a;border:1px solid #ffffff0f;border-radius:4px;height:8px;position:relative;overflow:hidden}.glass-progress-fill{background:linear-gradient(90deg, var(--accent-primary) 0%, #3b82f6 100%);border-radius:4px;height:100%;transition:width .8s cubic-bezier(.16,1,.3,1);box-shadow:0 0 10px #3b82f640}.attendance-elite{--tier-color:#10b981;--tier-bg-glow:#10b9810d;--tier-border:#10b98140;--tier-shadow:0 0 20px #10b98126}.attendance-safe{--tier-color:#3b82f6;--tier-bg-glow:#3b82f60d;--tier-border:#3b82f640;--tier-shadow:0 0 20px #3b82f626}.attendance-warning{--tier-color:#f59e0b;--tier-bg-glow:#f59e0b0d;--tier-border:#f59e0b40;--tier-shadow:0 0 20px #f59e0b26}.attendance-danger{--tier-color:#f97316;--tier-bg-glow:#f973160d;--tier-border:#f9731640;--tier-shadow:0 0 20px #f9731626}.attendance-critical{--tier-color:#ef4444;--tier-bg-glow:#ef44440d;--tier-border:#ef444440;--tier-shadow:0 0 20px #ef444426}.tier-glass-card{background:var(--bg-surface);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--tier-border,var(--border-default));box-shadow:var(--tier-shadow,var(--shadow-card));border-radius:var(--radius-lg);transition:border-color var(--transition-base), box-shadow var(--transition-base), background-color var(--transition-base);padding:18px;position:relative;overflow:hidden}.sandbox-tabs{border:1px solid var(--border-default);background:#ffffff05;border-radius:12px;gap:3px;padding:3px;display:flex;overflow-x:auto}.sandbox-tab{font:600 11px var(--font-body);color:var(--text-secondary);cursor:pointer;white-space:nowrap;transition:background var(--transition-fast), color var(--transition-fast), box-shadow var(--transition-fast);background:0 0;border:none;border-radius:9px;flex:1;justify-content:center;align-items:center;gap:6px;padding:8px 12px;display:flex}.sandbox-tab.active{color:var(--text-primary);background:#ffffff14;box-shadow:0 2px 8px #0003}.glass-slider{appearance:none;background:#ffffff0d;border:1px solid #ffffff0f;border-radius:3px;outline:none;width:100%;height:6px;margin:12px 0}.glass-slider::-webkit-slider-thumb{appearance:none;background:var(--accent-primary);cursor:pointer;width:16px;height:16px;-webkit-transition:transform var(--transition-fast);transition:transform var(--transition-fast);border:2px solid #fff;border-radius:50%;box-shadow:0 0 10px #3b82f680}.glass-slider::-webkit-slider-thumb:hover{transform:scale(1.15)}.chart-grid-line{stroke:#ffffff0a;stroke-dasharray:2 2}.chart-axis-line{stroke:#ffffff14}.chart-threshold-line{stroke:#f59e0b;stroke-width:1.5px;stroke-dasharray:4 3}.chart-bar-rect{cursor:pointer;transition:height .6s cubic-bezier(.16,1,.3,1),y .6s cubic-bezier(.16,1,.3,1)}.chart-bar-rect:hover{filter:brightness(1.2);opacity:.95}.chart-tooltip{pointer-events:none;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:var(--radius-sm);font:500 11px var(--font-mono);color:var(--text-primary);z-index:100;background:#0d0f14f2;border:1px solid #ffffff1a;margin-top:-8px;padding:6px 10px;transition:left .1s,top .1s;position:absolute;transform:translate(-50%,-100%);box-shadow:0 4px 16px #0006}.filter-pill{cursor:pointer;border-radius:var(--radius-pill);font:600 11px var(--font-mono);color:#ffffffa6;background:#ffffff08;border:1px solid #ffffff14;align-items:center;gap:4px;padding:6px 12px;transition:background-color .2s,border-color .2s,color .2s,transform .2s;display:inline-flex}.filter-pill:hover{color:#fff;background:#ffffff14;border-color:#ffffff26}.filter-pill.active-info{color:var(--accent-primary);background:#60a5fa1f;border-color:#60a5fa59}.filter-pill.active-safe{color:var(--status-safe);background:#34d3991f;border-color:#34d39959}.filter-pill.active-danger{color:var(--status-critical);background:#f871711f;border-color:#f8717159}.filter-pill.active-warning{color:var(--status-warning);background:#fbbf241f;border-color:#fbbf2459}.bento-grid{grid-template-columns:repeat(2,1fr);gap:12px;width:100%;display:grid}.bento-grid-full{grid-column:span 2}.glass-bento{-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);transition:transform var(--transition-slow), border-color var(--transition-slow), box-shadow var(--transition-slow);background:linear-gradient(135deg,#141826a6 0%,#0a0c14d9 100%);border-top:1px solid #ffffff26;padding:16px;position:relative;overflow:hidden}.glass-bento:hover{border-color:#60a5fa4d;transform:translateY(-4px);box-shadow:0 12px 40px #0000008c,0 0 20px #60a5fa14,inset 0 1px #fff3}.glass-bento:before{content:"";background:radial-gradient(circle at var(--gx,50%) var(--gy,50%), #ffffff0f 0%, transparent 60%);pointer-events:none;opacity:0;transition:opacity .4s;position:absolute;inset:0}.glass-bento:hover:before{opacity:1}.btn-tactile-cr{aspect-ratio:1;border-radius:var(--radius-md);color:var(--text-secondary);font:600 12px var(--font-display);letter-spacing:-.01em;background:linear-gradient(#1c2236cc 0%,#10131ee6 100%);border:1px solid #ffffff0f;border-top-color:#ffffff26;flex-direction:column;justify-content:center;align-items:center;gap:8px;transition:transform .3s cubic-bezier(.16,1,.3,1),border-color .3s cubic-bezier(.16,1,.3,1),color .3s cubic-bezier(.16,1,.3,1),box-shadow .3s cubic-bezier(.16,1,.3,1);display:flex;position:relative;overflow:hidden;box-shadow:0 4px 12px #00000059,inset 0 1px #ffffff14,inset 0 -2px #0006}.btn-tactile-cr:hover{color:var(--text-primary);border-color:var(--btn-glow-border,#fff3);box-shadow:0 8px 24px #00000073, 0 0 20px var(--btn-glow-color,#ffffff0d), inset 0 1px 0 #ffffff26, inset 0 -1px 0 #0003;transform:translateY(-3px)scale(1.03)}.btn-tactile-cr:active{transform:translateY(1px)scale(.97);box-shadow:0 2px 6px #00000080,inset 0 1px 2px #0009,inset 0 0 10px #0000004d}.btn-tactile-cr:after{content:"";opacity:0;transition:opacity var(--transition-fast);background:radial-gradient(circle,#ffffff0d 0%,#0000 70%);position:absolute;inset:0}.btn-tactile-cr:hover:after{opacity:1}.btn-tactile-cr.glow-blue{--btn-glow-color:#60a5fa40;--btn-glow-border:#60a5fa73}.btn-tactile-cr.glow-amber{--btn-glow-color:#fbbf2440;--btn-glow-border:#fbbf2473}.btn-tactile-cr.glow-emerald{--btn-glow-color:#34d39940;--btn-glow-border:#34d39973}.btn-tactile-cr.glow-rose{--btn-glow-color:#f8717140;--btn-glow-border:#f8717173}.btn-tactile-cr.glow-violet{--btn-glow-color:#a78bfa40;--btn-glow-border:#a78bfa73}.cr-command-grid{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}@media (width>=440px){.cr-command-grid{grid-template-columns:repeat(4,1fr)}}.attendance-radial-svg{filter:drop-shadow(0 0 12px var(--tier-glow,#60a5fa26));transition:filter var(--transition-base)}.radial-bg{stroke:#ffffff0a}.radial-fill{stroke-linecap:round;transition:stroke-dashoffset 1.2s cubic-bezier(.34, 1.56, .64, 1), stroke var(--transition-base)}@keyframes float-slow{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.search-bar-container{opacity:0;max-height:0;transition:max-height .3s cubic-bezier(.16,1,.3,1),opacity .3s cubic-bezier(.16,1,.3,1),margin-top .3s cubic-bezier(.16,1,.3,1),margin-bottom .3s cubic-bezier(.16,1,.3,1);overflow:hidden}.search-bar-container.open{opacity:1;max-height:260px;margin-top:10px;margin-bottom:8px}.search-input-wrapper{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-md);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);align-items:center;padding:0 12px;display:flex;position:relative}.search-input-wrapper:focus-within{border-color:var(--border-active);box-shadow:0 0 0 3px var(--accent-primary-glow)}.search-input-field{width:100%;color:var(--text-primary);font:400 13px var(--font-body);background:0 0;border:none;outline:none;padding:10px 0 10px 8px}.input-adaptive{transition:border-color var(--transition-fast), box-shadow var(--transition-fast)}.input-adaptive.focus-violet:focus{border-color:var(--status-announcement)!important;box-shadow:0 0 0 3px #a78bfa26!important}.input-adaptive.focus-critical:focus{border-color:var(--status-critical)!important;box-shadow:0 0 0 3px #f8717126!important}.filter-tab.active{box-shadow:0 0 12px #60a5fa26}.btn-ack-btn{transition:background-color .3s,color .3s,border-color .3s,box-shadow .3s!important}@media (width<=439px){.btn-tactile-cr{aspect-ratio:auto;flex-direction:row;justify-content:center;gap:10px;height:48px;padding:10px 14px;font-size:12px}.attendance-mobile-scale-title{font-size:20px!important}.attendance-mobile-scale-dot{width:8px!important;height:8px!important}}.btn-ack-btn:hover{background:var(--accent-primary-glow)!important;border-color:var(--accent-primary)!important;color:var(--accent-primary)!important}.btn-del-ann{transition:background-color .3s,color .3s,border-color .3s,box-shadow .3s!important}.btn-del-ann:hover{background:var(--status-critical-bg)!important;border-color:var(--status-critical)!important;box-shadow:0 0 10px #f8717126!important}.announcement-card-content{justify-content:space-between;align-items:stretch;gap:16px;width:100%;display:flex}.announcement-card-left{flex-direction:column;flex:1;min-width:0;display:flex}.announcement-card-right{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:12px;min-width:84px;display:flex}.tracker-pill{border-radius:var(--radius-pill);font:600 11px var(--font-mono);color:var(--status-announcement);cursor:pointer;transition:background-color var(--transition-fast), border-color var(--transition-fast), box-shadow var(--transition-fast), transform var(--transition-fast);-webkit-user-select:none;user-select:none;background:#a78bfa0f;border:1px solid #a78bfa26;align-items:center;gap:6px;padding:6px 12px;display:inline-flex}.tracker-pill:hover{background:#a78bfa26;border-color:#a78bfa59;box-shadow:0 0 10px #a78bfa26}.tracker-pill:active{transform:scale(.97)}.sort-dropdown-container{display:inline-block;position:relative}.sort-dropdown-menu{z-index:100;min-width:160px;-webkit-backdrop-filter:var(--glass-blur-heavy);border-radius:var(--radius-md);box-shadow:var(--shadow-elevated);background:#121624f2;border:1px solid #ffffff1f;flex-direction:column;gap:2px;padding:6px;animation:.2s ease-out slideDown;display:flex;position:absolute;top:calc(100% + 8px);right:0}.sort-dropdown-item{width:100%;color:var(--text-secondary);font:500 12px var(--font-body);border-radius:var(--radius-sm);text-align:left;cursor:pointer;transition:background-color var(--transition-fast), color var(--transition-fast);background:0 0;border:none;justify-content:space-between;align-items:center;padding:8px 12px;display:flex}.sort-dropdown-item:hover{color:var(--text-primary);background:#ffffff0d}.sort-dropdown-item.active{color:var(--status-announcement);background:#a78bfa1a;font-weight:600}.sheet-tabs-container{border-bottom:1px solid var(--border-default);gap:16px;margin-bottom:16px;display:flex}.sheet-tab-button{color:var(--text-secondary);font:600 13px var(--font-display);cursor:pointer;transition:color var(--transition-fast);background:0 0;border:none;padding:8px 4px 12px;position:relative}.sheet-tab-button.active{color:var(--accent-primary)}.sheet-tab-button.active:after{content:"";background:var(--accent-primary);border-radius:var(--radius-pill);height:2px;position:absolute;bottom:-1px;left:0;right:0}.student-ack-row{border:1px solid var(--border-default);border-radius:var(--radius-md);transition:background-color var(--transition-fast), border-color var(--transition-fast);background:#ffffff05;justify-content:space-between;align-items:center;margin-bottom:8px;padding:10px 14px;display:flex}.student-ack-row:hover{background:#ffffff0a;border-color:#ffffff1f}.btn-nudge-single{width:32px;height:32px;color:var(--status-announcement);cursor:pointer;transition:background-color var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast), box-shadow var(--transition-fast), transform var(--transition-fast);background:#a78bfa14;border:1px solid #a78bfa26;border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.btn-nudge-single:hover{border-color:var(--status-announcement);color:#fff;background:#a78bfa2e;box-shadow:0 0 8px #a78bfa40}.btn-nudge-single:active{transform:scale(.9)}.academic-hero-container{grid-template-columns:1fr;gap:16px;width:100%;display:grid}.hero-panel-left,.hero-panel-right{border-radius:var(--radius-lg);border:1px solid var(--border-default);background:var(--bg-surface);min-height:120px;transition:border-color var(--transition-fast), background var(--transition-fast);flex-direction:column;justify-content:space-between;padding:14px 18px;display:flex;position:relative;overflow:hidden}.hero-panel-left:hover,.hero-panel-right:hover{background:var(--bg-elevated);border-color:#ffffff1f}.hero-arrow-btn{width:28px;height:28px;color:var(--text-secondary);cursor:pointer;transition:background-color var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast), transform var(--transition-fast);background:#ffffff08;border:1px solid #ffffff0d;border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.hero-arrow-btn:hover{color:var(--text-primary);background:#ffffff14;border-color:#ffffff26;transform:translate(2px)}.diagnose-toggle-btn:hover{color:var(--text-primary)!important;background:#ffffff0f!important;border-color:#ffffff1a!important}.diagnose-list::-webkit-scrollbar{width:4px}.diagnose-list::-webkit-scrollbar-track{background:0 0}.diagnose-list::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:2px}.diagnose-list::-webkit-scrollbar-thumb:hover{background:#fff3}.deadline-title-hover:hover span{color:var(--accent-primary)}.hurdle-shortcut-btn{border-radius:var(--radius-sm);width:32px;height:32px;color:var(--text-secondary);cursor:pointer;transition:background-color var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast), transform var(--transition-fast), box-shadow var(--transition-fast);background:#ffffff08;border:1px solid #ffffff0d;justify-content:center;align-items:center;display:inline-flex}.hurdle-shortcut-btn:hover{color:var(--text-primary);background:#ffffff14;border-color:#ffffff26;transform:translateY(-2px)}.hurdle-shortcut-btn:active{transform:scale(.95)}.hurdle-shortcut-btn.glow-emerald:hover{color:var(--status-safe);border-color:#34d39959;box-shadow:0 0 12px #34d39940}.hurdle-shortcut-btn.glow-violet:hover{color:var(--status-announcement);border-color:#a78bfa59;box-shadow:0 0 12px #a78bfa40}.hurdle-shortcut-btn.glow-blue:hover{color:var(--accent-primary);border-color:#60a5fa59;box-shadow:0 0 12px #60a5fa40}.shortcut-badge{background:var(--status-critical);color:#fff;min-width:15px;height:15px;font:700 8px/15px var(--font-mono);text-align:center;border-radius:7.5px;padding:0 4px;position:absolute;top:-5px;right:-5px;box-shadow:0 2px 6px #0006}.animate-float-slow{animation:3s ease-in-out infinite floatSlow}@keyframes floatSlow{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.animate-fade-in{animation:.25s cubic-bezier(.16,1,.3,1) forwards fadeIn}.clickable-hero-card{cursor:pointer;-webkit-user-select:none;user-select:none;transition:transform var(--transition-fast), border-color var(--transition-fast), box-shadow var(--transition-base), background var(--transition-fast)}.clickable-hero-card:active{transform:translateY(0)scale(.98)!important}.header-action-btn{border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;transition:background-color var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast), transform var(--transition-fast);background:#ffffff08;outline:none;justify-content:center;align-items:center;width:36px;height:36px;padding:8px;display:flex}.header-action-btn:hover{color:var(--text-primary)!important;background:#ffffff14!important;border-color:#ffffff26!important}.header-action-btn:active{transform:scale(.95)}.header-action-btn.active{color:var(--status-announcement)!important;background:#a78bfa1a!important;border:1px solid #a78bfa40!important}.no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.no-scrollbar::-webkit-scrollbar{display:none}.attendance-zenith{--tier-color:#c084fc;--tier-bg-glow:#c084fc0d;--tier-border:#c084fc40;--tier-shadow:0 4px 20px #00000073, inset 0 0 10px #c084fc0f}.attendance-gold{--tier-color:#fbbf24;--tier-bg-glow:#fbbf240d;--tier-border:#fbbf2440;--tier-shadow:0 4px 20px #00000073, inset 0 0 10px #fbbf240f}.attendance-silver{--tier-color:#cbd5e1;--tier-bg-glow:#cbd5e108;--tier-border:#cbd5e133;--tier-shadow:0 4px 20px #00000073, inset 0 0 10px #cbd5e10d}.attendance-warned{--tier-color:#ef4444;--tier-bg-glow:#ef44440d;--tier-border:#ef444440;--tier-shadow:0 4px 20px #00000073, inset 0 0 10px #ef44440f}.card-solid-critical{transition:background-color var(--transition-base), border-color var(--transition-base), box-shadow var(--transition-base), transform var(--transition-base);-webkit-backdrop-filter:none!important;border-radius:var(--radius-lg)!important;background:#181316!important;border:1px solid #f8717140!important;box-shadow:0 4px 20px #00000073,inset 0 0 10px #f871710f!important}.card-solid-critical:hover{transform:translateY(-2px);background:#1e161b!important;border-color:#f8717173!important;box-shadow:0 8px 24px #f871711f,inset 0 0 14px #f871711a!important}.card-solid-cr{transition:transform var(--transition-base), border-color var(--transition-base), background-color var(--transition-base), box-shadow var(--transition-base);-webkit-backdrop-filter:none!important;border-radius:var(--radius-lg)!important;background:#151829!important;border:1px solid #818cf826!important;box-shadow:0 4px 20px #00000073,inset 0 0 10px #818cf80a!important}.card-solid-cr:hover{transform:translateY(-2px);background:#191e35!important;border-color:#818cf84d!important;box-shadow:0 8px 24px #818cf814,inset 0 0 14px #818cf80f!important}.card-solid-push{transition:background-color var(--transition-base), border-color var(--transition-base), box-shadow var(--transition-base), transform var(--transition-base);-webkit-backdrop-filter:none!important;border-radius:var(--radius-lg)!important;background:#111822!important;border:1px solid #4a9eff40!important;box-shadow:0 4px 20px #00000073,inset 0 0 10px #4a9eff0f!important}.card-solid-push:hover{transform:translateY(-2px);background:#13202e!important;border-color:#4a9eff73!important;box-shadow:0 8px 24px #4a9eff1f,inset 0 0 14px #4a9eff1a!important}@keyframes flame-glow-pulse{0%{filter:drop-shadow(0 0 2px #f9731666);transform:scale(1)}to{filter:drop-shadow(0 0 8px #f97316cc);transform:scale(1.06)}}.flame-glow-pulse{color:#f97316;animation:1.4s ease-in-out infinite alternate flame-glow-pulse}.zenith-stats-grid{grid-template-columns:repeat(4,1fr);gap:12px;width:100%;display:grid}.zenith-stat-cell{background:linear-gradient(135deg, var(--tier-bg-glow,#ffffff03) 0%, var(--bg-surface) 100%);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--tier-border,var(--border-default));box-shadow:var(--tier-shadow,var(--shadow-card));border-radius:var(--radius-lg);text-align:center;transition:transform var(--transition-base), border-color var(--transition-base), box-shadow var(--transition-base);flex-direction:column;justify-content:center;align-items:center;padding:16px 12px;display:flex;position:relative;overflow:hidden}.zenith-stat-cell:hover{border-color:var(--tier-color,var(--accent-primary-glow));box-shadow:0 6px 20px #0006, var(--tier-shadow);transform:translateY(-2px)}@media (width<=768px){.zenith-stats-grid{grid-template-columns:repeat(2,1fr);gap:10px}.zenith-stat-cell{border-radius:var(--radius-md);padding:14px 10px}}.announcement-stack-container{perspective:1000px;perspective-origin:50%;width:100%;max-width:600px;height:176px;margin:1px auto 0;position:relative}.announcement-card-layer{width:100%;transform-style:preserve-3d;will-change:transform, opacity;transition:transform .4s cubic-bezier(.25,1,.5,1),opacity .4s,filter .4s;position:absolute;top:0;left:0}.announcement-layer-0{z-index:3;opacity:1;filter:blur();transform:translate(0,0)scale(1)}.announcement-layer-1{z-index:2;opacity:.9;filter:blur(.2px);pointer-events:none;transform:translate3d(0,8px,-12px)scale(.96)}.announcement-layer-2{z-index:1;opacity:.7;filter:blur(.8px);pointer-events:none;transform:translate3d(0,16px,-24px)scale(.92)}.announcement-layer-hidden{z-index:0;opacity:0;filter:blur(2px);pointer-events:none;transform:translate3d(0,24px,-36px)scale(.88)}.announcement-swipe-left{opacity:0!important;transform:translate(-150%)rotate(-15deg)scale(.9)!important}.announcement-swipe-right{opacity:0!important;transform:translate(150%)rotate(15deg)scale(.9)!important}.card-solid-charcoal{background:var(--bg-surface)!important;-webkit-backdrop-filter:none!important}.card-critical-solid{transition:transform var(--transition-base), border-color var(--transition-base), background-color var(--transition-base), box-shadow var(--transition-base);-webkit-backdrop-filter:none!important;border:1px solid var(--border-default)!important;background:#151112!important;box-shadow:0 4px 16px #00000073!important}.card-critical-solid:hover{background:#1b1517!important;border-color:#ffffff1f!important;box-shadow:0 8px 24px #00000080!important}.card-general-solid{transition:transform var(--transition-base), border-color var(--transition-base), background-color var(--transition-base), box-shadow var(--transition-base);background:var(--bg-surface)!important;-webkit-backdrop-filter:none!important;border:1px solid var(--border-default)!important;box-shadow:0 4px 16px #00000073!important}.card-general-solid:hover{background:var(--bg-elevated)!important;border-color:#ffffff1f!important;box-shadow:0 8px 24px #00000080!important}.swipe-delete-zone{background:var(--status-critical);color:#fff;border-radius:0 var(--radius-md) var(--radius-md) 0;cursor:pointer;z-index:1;border:none;justify-content:center;align-items:center;width:80px;display:flex;position:absolute;top:0;bottom:0;right:0}@keyframes neon-dot-pulse{0%{transform:scale(.9);box-shadow:0 0 #22d3eeb3}70%{transform:scale(1.1);box-shadow:0 0 0 6px #22d3ee00}to{transform:scale(.9);box-shadow:0 0 #22d3ee00}}.pulse-unread-dot{background-color:#22d3ee;border-radius:50%;width:8px;height:8px;animation:2s ease-in-out infinite neon-dot-pulse;display:inline-block}.drawer-attachment-card{border-radius:var(--radius-md);transition:background-color var(--transition-base), border-color var(--transition-base), transform var(--transition-base);background:#ffffff05;border:1px solid #ffffff0f;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;display:flex}.drawer-attachment-card:hover{background:#ffffff0a;border-color:#ffffff1a;transform:translateY(-1px)}.announcement-feed-card{content-visibility:auto;contain-intrinsic-size:auto 320px}@media (width<=639px){.announcement-card-content{flex-direction:column!important;align-items:stretch!important}.announcement-card-right{margin-top:12px;align-items:stretch!important;width:100%!important;min-width:0!important}.announcement-card-right .btn-ack-btn,.announcement-card-right .tracker-pill,.announcement-card-right .btn-del-ann{box-sizing:border-box!important;justify-content:center!important;align-items:center!important;width:100%!important;min-height:44px!important;display:flex!important}}.datepicker-trigger{background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-md);width:100%;color:var(--text-primary);font-family:var(--font-body);text-align:left;transition:border-color var(--transition-fast), box-shadow var(--transition-fast);outline:none;align-items:center;gap:10px;padding:10px 12px;font-size:13px;display:flex}.datepicker-trigger:focus{border-color:var(--border-active);box-shadow:var(--shadow-glow-blue)}.datepicker-trigger:disabled{opacity:.5;cursor:not-allowed}.datepicker-icon{color:var(--text-secondary);flex-shrink:0}.datepicker-text{flex:1}.datepicker-text.placeholder{color:var(--text-muted)}.datepicker-popover-content{background:var(--bg-overlay);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-elevated);z-index:1000;outline:none;padding:16px}.rdp-custom-root{--rdp-color-bg:transparent;--rdp-color-text:var(--text-primary);--rdp-color-accent:var(--accent-primary);--rdp-color-accent-text:var(--bg-base);--rdp-size:36px;font-family:var(--font-body);font-size:var(--text-base);color:var(--text-primary)}.rdp-custom-months{flex-direction:column;display:flex}.rdp-custom-month{flex-direction:column;gap:12px;display:flex}.rdp-custom-caption{justify-content:space-between;align-items:center;height:24px;display:flex;position:relative}.rdp-custom-caption-label{font-family:var(--font-display);font-size:var(--text-base);color:var(--text-primary);font-weight:700}.rdp-custom-nav{gap:4px;display:flex}.rdp-custom-nav-btn{border-radius:var(--radius-sm);border:1px solid var(--border-default);background:var(--bg-elevated);width:24px;height:24px;color:var(--text-secondary);transition:background-color var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast);justify-content:center;align-items:center;display:flex}.rdp-custom-nav-btn:hover{color:var(--text-primary);background:#ffffff0d;border-color:#ffffff26}.rdp-custom-grid{border-collapse:collapse;width:100%}.rdp-custom-weekdays{margin-bottom:6px}.rdp-custom-weekday{width:var(--rdp-size);height:var(--rdp-size);text-align:center;vertical-align:middle;font-size:var(--text-xs);text-transform:uppercase;color:var(--text-muted);font-weight:700}.rdp-custom-day{width:var(--rdp-size);height:var(--rdp-size);text-align:center;vertical-align:middle;padding:2px}.rdp-custom-day-button{border-radius:var(--radius-sm);width:100%;height:100%;color:var(--text-primary);font-size:var(--text-sm);cursor:pointer;transition:background-color var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;font-weight:500;display:flex}.rdp-custom-day-button:hover:not(.rdp-custom-day-disabled){background:#ffffff0d}.rdp-custom-day-today .rdp-custom-day-button{border:1px solid var(--accent-primary-muted);color:var(--accent-primary);font-weight:700}.rdp-custom-day-selected .rdp-custom-day-button{font-weight:700;background:var(--accent-primary)!important;color:var(--bg-base)!important}.rdp-custom-day-outside .rdp-custom-day-button{color:var(--text-muted);opacity:.5}.rdp-custom-day-disabled .rdp-custom-day-button{color:var(--text-muted);opacity:.25;cursor:not-allowed}.rdp-custom-day-hidden{visibility:hidden}.dialog-backdrop{z-index:9999;background:#000000d9;position:absolute;inset:0}.dialog-content{border-radius:var(--radius-lg);width:calc(100% - 40px);box-shadow:var(--shadow-elevated);z-index:10000;background:#161824;border:1px solid #ffffff1a;outline:none;position:absolute;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%)}.dialog-header{background:#ffffff05;border-bottom:1px solid #ffffff12;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.dialog-title{font-family:var(--font-display);color:var(--text-primary);font-size:14px;font-weight:700}.dialog-close-btn{color:var(--text-secondary);cursor:pointer;transition:background-color var(--transition-fast), color var(--transition-fast);background:0 0;border:none;border-radius:50%;padding:4px;display:flex}.dialog-close-btn:hover{color:var(--text-primary);background:#ffffff14}.dialog-body{padding:20px}.tooltip-content{background:var(--bg-overlay);border:1px solid var(--border-default);border-radius:var(--radius-sm);font-family:var(--font-body);font-size:var(--text-xs);color:var(--text-primary);z-index:10000;-webkit-user-select:none;user-select:none;animation:pwaFadeIn var(--transition-fast) forwards;padding:6px 10px;box-shadow:0 4px 12px #0006}.tooltip-arrow{fill:var(--border-default)}.dropdown-content{background:var(--bg-overlay);min-width:160px;-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-elevated);z-index:10000;padding:4px}.dropdown-item{font-family:var(--font-body);color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color var(--transition-fast), color var(--transition-fast);outline:none;align-items:center;gap:8px;padding:8px 12px;font-size:13px;display:flex}.dropdown-item:hover,.dropdown-item:focus{color:var(--text-primary);background:#ffffff0d}.dropdown-item.danger{color:var(--status-critical)}.dropdown-item.danger:hover,.dropdown-item.danger:focus{background:var(--status-critical-bg);color:var(--status-critical)}.dropdown-item[data-disabled]{opacity:.5;cursor:not-allowed}.dropdown-item-icon{color:currentColor;align-items:center;display:flex}.dropdown-item-label{flex:1}[data-sonner-toaster]{pointer-events:none!important;width:100%!important;max-width:100%!important;position:absolute!important;bottom:0!important;left:0!important;right:0!important;transform:none!important}[data-sonner-toaster] *{pointer-events:auto}[data-sonner-toaster] li{padding-right:48px!important}[data-sonner-toaster] [data-close-button]{opacity:.85;background:var(--bg-overlay)!important;border:1px solid var(--border-default)!important;color:var(--text-secondary)!important;width:22px!important;height:22px!important;transition:opacity var(--transition-fast), background var(--transition-fast)!important;border-radius:50%!important;justify-content:center!important;align-items:center!important;display:flex!important;top:50%!important;left:auto!important;right:16px!important;transform:translateY(-50%)!important}[data-sonner-toaster] [data-close-button]:hover{opacity:1;background:var(--bg-elevated)!important;color:var(--text-primary)!important}#root header{-webkit-backdrop-filter:blur(24px)saturate(180%)!important;background:#0d0f14bf!important;border-bottom:1px solid #ffffff14!important}[data-sonner-toast]{border:1px solid var(--border-default)!important;color:#fff!important}[data-sonner-toast][data-type=success]{border-color:#34d39966!important}[data-sonner-toast][data-type=error]{border-color:#f8717166!important}[data-sonner-toast][data-type=info]{border-color:#60a5fa66!important}[data-sonner-toast][data-type=warning]{border-color:#fbbf2466!important}.schedule-layout-switcher{border:1px solid var(--border-default);border-radius:var(--radius-pill);background:#ffffff08;align-items:center;width:fit-content;padding:2px;display:flex}.schedule-layout-switcher .layout-btn{border-radius:var(--radius-pill);font:600 11px var(--font-body);color:var(--text-secondary);cursor:pointer;transition:background-color var(--transition-fast), color var(--transition-fast), box-shadow var(--transition-fast);background:0 0;border:none;align-items:center;gap:6px;padding:5px 12px;display:flex}.schedule-layout-switcher .layout-btn.active{background:var(--accent-primary);color:#fff;box-shadow:0 2px 8px #60a5fa40}.schedule-day-tabs-container{border-radius:var(--radius-md);box-sizing:border-box;background:#13161c;border:1px solid #ffffff0f;justify-content:space-between;align-items:center;padding:4px;display:flex;position:relative}.schedule-day-tab-sliding-pill{pointer-events:none;background-color:#60a5fa1f;border:1px solid #60a5fa4d;border-radius:8px;width:calc(16.66% - 8px);transition:left .3s cubic-bezier(.16,1,.3,1),width .3s cubic-bezier(.16,1,.3,1);position:absolute;top:4px;bottom:4px}.schedule-day-tab-btn{z-index:10;cursor:pointer;color:var(--text-secondary);box-sizing:border-box;background:0 0;border:none;border-radius:8px;outline:none;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:6px 0;transition:color .2s;display:flex;position:relative}.schedule-day-tab-btn.active{color:var(--accent-primary)}.week-grid-container{border-radius:var(--radius-lg);background:#11141e;border:1px solid #ffffff0f;overflow:hidden;box-shadow:0 8px 32px #0006}.week-grid-header{text-align:center;font:700 8px var(--font-body);color:var(--text-secondary);text-transform:uppercase;background-color:#ffffff03;border-bottom:1px solid #ffffff14;grid-template-columns:50px repeat(6,1fr);padding:8px 0;display:grid}.week-grid-row{border-bottom:1px solid #ffffff0a;grid-template-columns:50px repeat(6,1fr);align-items:stretch;min-height:52px;display:grid}.week-grid-hour-col{font-family:var(--font-mono);color:var(--text-muted);font-variant-numeric:tabular-nums;background-color:#ffffff01;border-right:1px solid #ffffff0f;justify-content:center;align-items:center;font-size:12px;display:flex}.week-grid-cell{cursor:pointer;transition:background-color var(--transition-fast);background-color:#0000}.week-grid-cell-filled{cursor:pointer;box-sizing:border-box;flex-direction:column;justify-content:space-between;padding:2px;display:flex;position:relative;overflow:hidden}.week-grid-cell-accent-strip{width:2px;position:absolute;top:0;bottom:0;left:0}.attendance-pill{font:600 8px var(--font-mono);font-variant-numeric:tabular-nums;cursor:pointer;letter-spacing:.02em;white-space:nowrap;transition:opacity var(--transition-fast), box-shadow var(--transition-fast);border:none;border-radius:4px;padding:2px 5px;line-height:1.3}.attendance-pill:focus-visible{box-shadow:0 0 0 2px var(--bg-base), 0 0 0 4px currentColor;outline:none}.attendance-pill:hover{opacity:.85}.attendance-pill-safe{background:var(--status-safe-bg);color:var(--status-safe)}.attendance-pill-warning{background:var(--status-warning-bg);color:var(--status-warning)}.attendance-pill-critical{background:var(--status-critical-bg);color:var(--status-critical)}@media (prefers-reduced-motion:reduce){.schedule-card,.sandbox-tab,.attendance-pill,.card{transition-duration:.01ms!important;animation:none!important}}.focus-visible\:outline-none:focus-visible{outline-offset:2px;outline:2px solid #0000}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-inset:focus-visible{--tw-ring-inset:inset}.active\:scale-\[0\.98\]:active{--tw-scale-x:.98;--tw-scale-y:.98;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes react-loading-skeleton{to{transform:translate(100%)}}.react-loading-skeleton{--base-color:#ebebeb;--highlight-color:#f5f5f5;--animation-duration:1.5s;--animation-direction:normal;--pseudo-element-display:block;background-color:var(--base-color);-webkit-user-select:none;user-select:none;border-radius:.25rem;width:100%;line-height:1;display:inline-flex;position:relative;overflow:hidden}.react-loading-skeleton:after{content:" ";display:var(--pseudo-element-display);background-repeat:no-repeat;background-image:var(--custom-highlight-background,linear-gradient(90deg, var(--base-color) 0%, var(--highlight-color) 50%, var(--base-color) 100%));height:100%;animation-name:react-loading-skeleton;animation-direction:var(--animation-direction);animation-duration:var(--animation-duration);animation-timing-function:ease-in-out;animation-iteration-count:infinite;position:absolute;top:0;left:0;right:0;transform:translate(-100%)}@media (prefers-reduced-motion){.react-loading-skeleton{--pseudo-element-display:none}}
