.mate-character{position:relative;display:block;width:82px;height:62px;color:var(--mate-teal);pointer-events:none}.mate-character svg{width:100%;height:100%;display:block;overflow:visible}.mate-character__shadow{fill:#244e5729}.mate-character__cup{fill:var(--mate-orange);stroke:var(--mate-teal);stroke-width:4;stroke-linejoin:round}.mate-character__rim{fill:var(--mate-green);stroke:var(--mate-teal);stroke-width:3}.mate-character__yerba{fill:#8dc0b1}.mate-character__bombilla,.mate-character__bombilla-tip{fill:none;stroke:var(--mate-teal);stroke-width:5;stroke-linecap:round}.mate-character__bombilla-tip{stroke-width:4}.mate-character__eye-white{fill:#fff;stroke:var(--mate-teal);stroke-width:2}.mate-character__pupil{fill:var(--mate-teal)}.mate-character__lid{fill:none;stroke:var(--mate-teal);stroke-width:2.5;stroke-linecap:round;opacity:0}.mate-character__mouth{fill:none;stroke:var(--mate-teal);stroke-width:2.8;stroke-linecap:round}.mate-character__arm,.mate-character__leg path{fill:none;stroke:var(--mate-teal);stroke-width:4;stroke-linecap:round}.mate-character__leg ellipse{fill:var(--mate-orange-soft);stroke:var(--mate-teal);stroke-width:2.5}.mate-character[data-expression=sad] .mate-character__mouth{transform:translateY(7px) scaleY(-1);transform-box:fill-box;transform-origin:center}.mate-character[data-expression=sad] .mate-character__eye--left{transform:rotate(-5deg);transform-origin:center}.mate-character[data-expression=sad] .mate-character__eye--right{transform:rotate(5deg);transform-origin:center}.mate-character__body{transform-box:fill-box;transform-origin:center bottom}.mate-character[data-motion=awake] .mate-character__body{animation:mate-body-idle 3.4s ease-in-out infinite}.mate-character[data-motion=awake] .mate-character__lid{animation:mate-blink 4.3s ease-in-out infinite}.mate-character[data-motion=awake] .mate-character__pupil{animation:mate-look 8.2s steps(1,end) infinite}.mate-character[data-motion=awake] .mate-character__leg--left{animation:mate-leg-step 6.4s ease-in-out infinite}.mate-character[data-motion=awake] .mate-character__leg--right{animation:mate-leg-step 6.4s .18s ease-in-out infinite reverse}.mate-character[data-motion=bored]{animation:mate-bored-step 5.5s ease-in-out}.mate-character[data-motion=bored] .mate-character__pupil{animation:mate-bored-look 1.35s steps(1,end) 4}.mate-character[data-motion=bored] .mate-character__leg--left,.mate-character[data-motion=bored] .mate-character__leg--right{animation:mate-tiny-walk .42s ease-in-out 8 alternate}.mate-character[data-motion=waking] .mate-character__body{animation:mate-wake-up .75s cubic-bezier(.2,.8,.3,1)}.mate-character[data-motion=drinking-mate] .mate-character__body{animation:mate-drink 3.2s ease-in-out infinite}.mate-character[data-motion=drinking-mate] .mate-character__bombilla{animation:mate-bombilla-sip 3.2s ease-in-out infinite;transform-box:fill-box;transform-origin:bottom left}.mate-character__thermos{opacity:0;transform:translateY(4px) scale(.92);transform-origin:bottom center}.mate-character[data-motion=drinking-mate] .mate-character__thermos{animation:mate-thermos-enter .3s ease-out forwards}.mate-character__thermos-body{fill:var(--mate-teal);stroke:#244e57;stroke-width:2.5}.mate-character__thermos-top{fill:var(--mate-orange-soft);stroke:var(--mate-teal);stroke-width:2.5}.mate-character__thermos-handle{fill:none;stroke:var(--mate-teal);stroke-width:4;stroke-linecap:round}.mate-character__thermos-shine{fill:none;stroke:#ffffff6b;stroke-width:3;stroke-linecap:round}.mate-character__idle-mate{opacity:0;transform-box:fill-box;transform-origin:center;position:relative}.mate-character[data-motion=drinking-mate] .mate-character__arm--left{opacity:0}.mate-character[data-motion=drinking-mate] .mate-character__idle-mate{opacity:1;animation:mate-idle-cup-sip 3.2s ease-in-out infinite}.mate-character__idle-mate-arm{fill:none;stroke:var(--mate-teal);stroke-width:4;stroke-linecap:round}.mate-character__idle-mate-cup{fill:var(--mate-orange);stroke:var(--mate-teal);stroke-width:2.4;stroke-linejoin:round}.mate-character__idle-mate-rim{fill:var(--mate-green);stroke:var(--mate-teal);stroke-width:2}.mate-character__idle-mate-yerba{fill:#8dc0b1}.mate-character__idle-mate-bombilla,.mate-character__idle-mate-bombilla-tip{fill:none;stroke:var(--mate-teal);stroke-width:2.6;stroke-linecap:round}.mate-character__idle-mate-bombilla-tip{stroke-width:2.2}.mate-character__sip-text{position:absolute;right:-50px;top:-17px;width:max-content;color:var(--mate-teal);font-size:.66rem;font-style:italic;font-weight:800;text-shadow:0 1px 0 var(--paper);animation:mate-sip-text 3.2s .65s ease-out infinite}@keyframes mate-body-idle{0%,to{transform:translateY(0) rotate(-.4deg) scale(1)}50%{transform:translateY(-2px) rotate(.5deg) scale(1.01,.99)}}@keyframes mate-blink{0%,43%,47%,to{opacity:0}44%,46%{opacity:1}}@keyframes mate-look{0%,20%,54%,78%,to{transform:translate(0)}22%,38%{transform:translate(-2px)}56%,70%{transform:translate(2px)}}@keyframes mate-leg-step{0%,72%,to{transform:translate(0) scaleY(1)}78%{transform:translate(1px,-1px) scaleY(.92)}84%{transform:translate(-1px) scaleY(1.03)}}@keyframes mate-bored-step{0%,to{transform:translate(0) rotate(0)}22%{transform:translate(-14px) rotate(-2deg)}48%{transform:translate(12px) rotate(2deg)}72%{transform:translate(-5px) rotate(-1deg)}}@keyframes mate-bored-look{0%,to{transform:translate(-2px)}50%{transform:translate(2px)}}@keyframes mate-tiny-walk{0%{transform:translateY(0)}to{transform:translateY(-3px) rotate(4deg)}}@keyframes mate-wake-up{0%{transform:translateY(3px) scale(1.04,.92)}35%{transform:translateY(-7px) scale(.97,1.06)}62%{transform:translateY(1px) scale(1.02,.98)}82%{transform:translateY(-2px) scale(.99,1.02)}to{transform:translateY(0) scale(1)}}@keyframes mate-drink{0%,22%,to{transform:translate(0) rotate(0)}38%,58%{transform:translate(3px,1px) rotate(2deg)}48%{transform:translate(3px,2px) rotate(2.5deg) scale(1.01,.99)}72%{transform:translate(0) rotate(-.5deg)}}@keyframes mate-bombilla-sip{0%,30%,72%,to{transform:rotate(0)}42%,60%{transform:rotate(-3deg)}}@keyframes mate-thermos-enter{0%{opacity:0;transform:translateY(4px) scale(.92)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes mate-idle-cup-sip{0%,20%,to{transform:translateY(1px) rotate(0)}34%{transform:translate(7px) rotate(-1deg)}44%,62%{transform:translate(15px) rotate(-2deg)}52%{transform:translate(15px,1px) rotate(-2.5deg)}74%{transform:translate(7px) rotate(-1deg)}}@keyframes mate-sip-text{0%,18%,to{opacity:0;transform:translateY(4px)}35%,68%{opacity:1}82%{opacity:0;transform:translateY(-8px)}}@media(max-width:720px){.mate-character{width:68px;height:54px}.mate-character__sip-text{right:-34px;top:-15px;font-size:.58rem}}@media(prefers-reduced-motion:reduce){.mate-character,.mate-character *,.mate-character *:before,.mate-character *:after{animation:none!important;transition:none!important}.mate-character[data-motion=drinking-mate] .mate-character__thermos,.mate-character[data-motion=drinking-mate] .mate-character__idle-mate,.mate-character[data-motion=drinking-mate] .mate-character__sip-text{opacity:1;transform:none}}:root[data-app-theme=dark] .mate-character{--mate-orange: #e0813f;--mate-orange-soft: #f2b27f;--mate-teal: #0f5664;--mate-green: #58a38f;--paper: #fffaf3;color:#0f5664}:root[data-app-theme=dark] .mate-character__yerba{fill:#8dc0b1}:root[data-app-theme=dark] .mate-character__eye-white{fill:#fff}:root[data-app-theme=dark] .mate-character__thermos-body{fill:#0f5664;stroke:#244e57}:root[data-app-theme=dark] .mate-character__thermos-shine{stroke:#ffffff6b}.virtual-assistant{position:fixed;z-index:80;width:112px;height:90px;pointer-events:none;transition:opacity .18s ease,transform .22s ease}.virtual-assistant>*{pointer-events:auto}.virtual-assistant .virtual-assistant-speech{position:absolute;z-index:7;max-width:calc(100vw - 16px);padding:6px 8px;border:1px solid var(--line);border-radius:14px;color:var(--ink);background:var(--paper);box-shadow:0 4px 16px #0000001f;font-size:.72rem;line-height:1.4;text-align:center;pointer-events:none}.virtual-assistant-speech:after{content:"";position:absolute;left:var(--speech-tail-left, 50%);bottom:-5px;width:8px;height:8px;background:var(--paper);border-right:1px solid var(--line);border-bottom:1px solid var(--line);transform:translate(-50%) rotate(45deg)}.virtual-assistant-speech[data-below=true]:after{top:-5px;bottom:auto;transform:translate(-50%) rotate(225deg)}.virtual-assistant-character{position:absolute;z-index:1;inset:auto 0 0 auto;width:112px;height:90px;padding:0;border:0;background:transparent;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;filter:drop-shadow(0 8px 10px rgba(16,43,37,.18));display:flex;align-items:flex-end;justify-content:center}.virtual-assistant-character:active{cursor:grabbing}.virtual-assistant[data-display-state=closing-left]{animation:mate-close-left 2.4s cubic-bezier(.28,.02,.22,1) forwards}.virtual-assistant[data-display-state=closing-right]{animation:mate-close-right 2.4s cubic-bezier(.28,.02,.22,1) forwards}.virtual-assistant[data-display-state=hidden-wait-left]{transform:translate(var(--assistant-exit-left))}.virtual-assistant[data-display-state=hidden-wait-right]{transform:translate(var(--assistant-exit-right))}.virtual-assistant[data-display-state=peeking-left]{animation:mate-peek-left .55s ease-out forwards}.virtual-assistant[data-display-state=peeking-right]{animation:mate-peek-right .55s ease-out forwards}.virtual-assistant[data-display-state=hiding-left]{animation:mate-hide-left .55s ease-in forwards}.virtual-assistant[data-display-state=hiding-right]{animation:mate-hide-right .55s ease-in forwards}.virtual-assistant[data-display-state=entering-left]{animation:mate-enter-left .9s cubic-bezier(.2,.75,.25,1) forwards}.virtual-assistant[data-display-state=entering-right]{animation:mate-enter-right .9s cubic-bezier(.2,.75,.25,1) forwards}.virtual-assistant-hide{position:absolute;z-index:6;top:-6px;right:2px;width:28px;height:28px;display:grid;place-items:center;border:0;color:var(--forest-900);background:transparent;cursor:pointer;font-size:1.12rem;line-height:1}.virtual-assistant-hide:hover{color:var(--mate-teal);transform:scale(1.08)}.virtual-assistant-chat{position:absolute;z-index:8;right:88px;bottom:10px;width:min(350px,calc(100vw - 32px));height:min(455px,calc(100vh - 100px));display:grid;grid-template-rows:auto 1fr auto;overflow:hidden;border:1px solid #d7e0db;border-radius:20px;background:#fffdf8;box-shadow:0 24px 58px #102b2538}.virtual-assistant-chat__header{min-height:60px;padding:13px 14px 12px 17px;display:flex;align-items:center;justify-content:space-between;gap:14px;color:#fff;background:linear-gradient(135deg,var(--forest-900),var(--forest-700))}.virtual-assistant-chat__header div{display:grid;gap:2px}.virtual-assistant-chat__header strong{font-size:.96rem}.virtual-assistant-chat__header span{color:#ffffffb3;font-size:.72rem}.virtual-assistant-chat__header button{width:34px;height:34px;display:grid;place-items:center;border:0;border-radius:50%;color:#fff;background:#ffffff1f;cursor:pointer;font-size:1.35rem}.virtual-assistant-chat__messages{padding:16px;display:flex;flex-direction:column;gap:10px;overflow-y:auto;background:linear-gradient(#fffdf8f0,#f8f5edeb)}.virtual-assistant-message{max-width:82%;padding:10px 12px;border-radius:15px;font-size:.86rem;line-height:1.45;box-shadow:0 3px 9px #102b250d}.virtual-assistant-message--assistant{align-self:flex-start;border:1px solid #dce5e0;border-bottom-left-radius:5px;color:var(--ink);background:#fff}.virtual-assistant-message--user{align-self:flex-end;border-bottom-right-radius:5px;color:#fff;background:var(--forest-700)}.virtual-assistant-chat__composer{padding:12px;display:grid;grid-template-columns:1fr auto;gap:9px;border-top:1px solid #e1e7e3;background:#fff}.virtual-assistant-chat__composer input{min-width:0;height:44px;padding:0 12px;border:1px solid #cfdbd4;border-radius:12px;outline:none;color:var(--ink);background:#fff}.virtual-assistant-chat__composer input:focus{border-color:var(--forest-600);box-shadow:0 0 0 3px #3479631f}.virtual-assistant-chat__composer button{min-width:72px;padding:0 13px;border:0;border-radius:12px;color:#fff;background:var(--forest-800);cursor:pointer;font-weight:800}.virtual-assistant-chat__composer button:disabled{cursor:default;opacity:.45}.virtual-assistant-settings{position:fixed;z-index:95;right:14px;bottom:14px}.virtual-assistant-settings__button{width:38px;height:38px;display:grid;place-items:center;border:1px solid #cfdbd4;border-radius:50%;color:var(--forest-800);background:#fffdf8fa;box-shadow:0 7px 18px #102b2529;cursor:pointer;font-size:1rem}.virtual-assistant-settings__button:hover{background:#f4f7f5}.virtual-assistant-settings__menu{position:absolute;right:0;bottom:46px;width:190px;padding:7px;border:1px solid #d7e0db;border-radius:13px;background:#fffdf8;box-shadow:0 14px 30px #102b252e}.virtual-assistant-settings__title{padding:7px 9px;color:var(--muted);font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.virtual-assistant-settings__menu button{width:100%;min-height:38px;padding:8px 9px;border:0;border-radius:9px;text-align:left;color:var(--forest-900);background:transparent;cursor:pointer;font-weight:700}.virtual-assistant-settings__menu button:hover{background:#eef4f1}.virtual-assistant-settings__divider{height:1px;margin:5px 4px;background:#e1e7e3}.virtual-assistant-settings__subtitle{padding:6px 9px 4px;color:var(--muted);font-size:.72rem;font-weight:800}.virtual-assistant-settings__menu button.is-selected{background:#e7f1ec;color:var(--forest-900)}.virtual-assistant-disabled{position:fixed;z-index:90;right:0;bottom:0}@keyframes virtual-assistant-float{0%,to{transform:translateY(0) rotate(-.3deg)}50%{transform:translateY(-3px) rotate(.5deg)}}@keyframes virtual-assistant-idle{0%,to{transform:translateY(0) scale(.995)}50%{transform:translateY(2px) scale(1)}}@keyframes mate-close-left{0%{transform:translate(0) rotate(0)}36%{transform:translate(var(--assistant-close-left-early)) rotate(-1.2deg) translateY(-1px)}72%{transform:translate(var(--assistant-close-left-mid)) rotate(-2.2deg)}to{transform:translate(var(--assistant-exit-left)) rotate(-3deg)}}@keyframes mate-close-right{0%{transform:translate(0) rotate(0)}36%{transform:translate(var(--assistant-close-right-early)) rotate(1.2deg) translateY(-1px)}72%{transform:translate(var(--assistant-close-right-mid)) rotate(2.2deg)}to{transform:translate(var(--assistant-exit-right)) rotate(3deg)}}@keyframes mate-peek-left{0%{transform:translate(var(--assistant-exit-left)) rotate(-3deg)}72%{transform:translate(calc(var(--assistant-peek-left) + 5px)) rotate(2deg)}to{transform:translate(var(--assistant-peek-left)) rotate(0)}}@keyframes mate-peek-right{0%{transform:translate(var(--assistant-exit-right)) rotate(3deg)}72%{transform:translate(calc(var(--assistant-peek-right) - 5px)) rotate(-2deg)}to{transform:translate(var(--assistant-peek-right)) rotate(0)}}@keyframes mate-hide-left{0%{transform:translate(var(--assistant-peek-left))}to{transform:translate(var(--assistant-exit-left)) rotate(-3deg)}}@keyframes mate-hide-right{0%{transform:translate(var(--assistant-peek-right))}to{transform:translate(var(--assistant-exit-right)) rotate(3deg)}}@keyframes mate-enter-left{0%{transform:translate(var(--assistant-exit-left)) rotate(-3deg)}72%{transform:translate(6px) rotate(1deg)}to{transform:translate(0) rotate(0)}}@keyframes mate-enter-right{0%{transform:translate(var(--assistant-exit-right)) rotate(3deg)}72%{transform:translate(-6px) rotate(-1deg)}to{transform:translate(0) rotate(0)}}@media(max-width:720px){.virtual-assistant,.virtual-assistant-character{width:94px;height:82px}.virtual-assistant-chat{position:fixed;left:12px;right:12px;bottom:12px;width:auto;height:min(520px,calc(100dvh - 24px))}.virtual-assistant-hide{top:-6px;right:0}.virtual-assistant-settings{right:max(14px,env(safe-area-inset-right));bottom:max(14px,env(safe-area-inset-bottom))}}@media(prefers-reduced-motion:reduce){.virtual-assistant-character,.virtual-assistant{animation:none!important}.virtual-assistant[data-display-state$=left]{transform:translate(var(--assistant-exit-left))}.virtual-assistant[data-display-state$=right]{transform:translate(var(--assistant-exit-right))}.virtual-assistant[data-display-state=peeking-left]{transform:translate(var(--assistant-peek-left))}.virtual-assistant[data-display-state=peeking-right]{transform:translate(var(--assistant-peek-right))}.virtual-assistant[data-display-state=entering-left],.virtual-assistant[data-display-state=entering-right]{transform:translate(0)}}.virtual-assistant-lamp{display:none}:root[data-app-theme=dark] .virtual-assistant:before{content:"";position:absolute;z-index:0;left:14px;top:20px;width:78px;height:62px;border-radius:50%;pointer-events:none;background:radial-gradient(ellipse at 48% 48%,#fff9dd85,#ffefbc45 36%,#ffdc911a 58%,#ffdc9100 78%);filter:blur(1px);opacity:.92}:root[data-app-theme=dark] .virtual-assistant-character{filter:drop-shadow(0 7px 9px rgba(0,0,0,.3)) drop-shadow(-3px 0 7px rgba(255,232,164,.1))}:root[data-app-theme=dark] .virtual-assistant-lamp{position:absolute;z-index:4;left:16px;top:-1px;width:20px;height:48px;display:block;pointer-events:none}:root[data-app-theme=dark] .virtual-assistant-lamp__cable{position:absolute;left:9px;top:0;width:2px;height:22px;border-radius:999px;background:#b9c2c0;box-shadow:0 0 2px #ffffff1f}:root[data-app-theme=dark] .virtual-assistant-lamp__socket{position:absolute;left:6px;top:20px;width:9px;height:6px;border:1px solid #7b8788;border-radius:2px 2px 4px 4px;background:repeating-linear-gradient(to bottom,#596466 0 1px,#8b9697 1px 2px)}:root[data-app-theme=dark] .virtual-assistant-lamp__bulb{position:absolute;left:4px;top:26px;width:12px;height:12px;border:1px solid rgba(255,239,190,.88);border-radius:52% 52% 47% 47%;background:#ffe9aa3d;box-shadow:inset 0 0 5px #fff8d37a,0 0 6px #ffe196e0,0 0 12px #ffda7e66}:root[data-app-theme=dark] .virtual-assistant-lamp__bulb:before{content:"";position:absolute;left:3px;bottom:-3px;width:6px;height:4px;border-radius:0 0 3px 3px;background:#7f8989}:root[data-app-theme=dark] .virtual-assistant-lamp__filament{position:absolute;left:3px;top:4px;width:6px;height:4px;border-bottom:1.5px solid #ffd56e;border-radius:50%;transform:rotate(-8deg);filter:drop-shadow(0 0 2px #ffd56e)}:root[data-app-theme=dark] .virtual-assistant-lamp__filament:before,:root[data-app-theme=dark] .virtual-assistant-lamp__filament:after{content:"";position:absolute;top:1px;width:1px;height:5px;background:#ffe287b8}:root[data-app-theme=dark] .virtual-assistant-lamp__filament:before{left:1px;transform:rotate(-18deg)}:root[data-app-theme=dark] .virtual-assistant-lamp__filament:after{right:1px;transform:rotate(18deg)}@media(max-width:720px){:root[data-app-theme=dark] .virtual-assistant:before{left:12px;top:20px;width:68px;height:54px}:root[data-app-theme=dark] .virtual-assistant-lamp{left:13px;top:-1px;transform:scale(.9);transform-origin:top left}}.app-toasts{position:fixed;right:max(18px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom));z-index:10000;display:grid;gap:8px;width:min(360px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow-y:auto;pointer-events:none}.app-toast{--toast-accent: var(--forest-800);display:flex;align-items:flex-start;gap:10px;padding:12px;border:1px solid var(--line);border-left:3px solid var(--toast-accent);border-radius:12px;background:var(--paper);color:var(--ink);box-shadow:0 6px 22px #00000029;pointer-events:auto}.app-toast--error{--toast-accent: #a33c35}:root[data-app-theme=dark] .app-toast--error{--toast-accent: #ffb3a8}.app-toast__icon{color:var(--toast-accent);font-weight:800;line-height:1.5}.app-toast p{flex:1;margin:0;font-size:.82rem;line-height:1.5;overflow-wrap:anywhere}.app-toast button{flex:0 0 24px;width:24px;height:24px;padding:0;border:0;border-radius:6px;background:transparent;color:var(--muted);cursor:pointer;font-size:1.1rem}.app-toast button:hover{color:var(--ink);background:var(--cream)}.app-toast button:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.shared-modal{width:min(760px,calc(100% - 32px));max-width:none;max-height:calc(100dvh - 32px);margin:auto;padding:0;border:1px solid var(--line);border-radius:20px;background:var(--paper);color:var(--ink);box-shadow:0 24px 80px #00000040;overflow-y:auto;overscroll-behavior:contain}.shared-modal::backdrop{background:#0f19168c}.shared-modal__header{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 24px;border-bottom:1px solid var(--line);background:var(--paper)}.shared-modal__header h2{margin:0;font-size:1.25rem;color:var(--forest-950)}.shared-modal__body{padding:20px 24px}.shared-modal__close{flex:0 0 40px;width:40px;height:40px;padding:0;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink);cursor:pointer;font-size:1.5rem}.shared-modal :is(button,input,select,textarea):focus-visible{outline:3px solid var(--focus);outline-offset:2px}.shared-modal button:disabled{cursor:default;opacity:.55}@media(max-width:600px){.shared-modal{width:calc(100% - 16px);max-height:calc(100dvh - 16px);border-radius:14px}.shared-modal__header,.shared-modal__body{padding:16px}}.shared-modal.confirm-dialog{width:min(440px,calc(100% - 32px))}.confirm-dialog__message{color:var(--ink);font-size:.9rem;line-height:1.6}.confirm-dialog__message p{margin:0 0 12px}.confirm-dialog__actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.confirm-dialog__actions button{min-height:38px;padding:8px 14px;border:1px solid var(--line);border-radius:10px;color:var(--ink);background:var(--paper);font:inherit;font-size:.85rem;cursor:pointer}.confirm-dialog__actions button:hover{background:var(--cream)}.confirm-dialog__actions .confirm-dialog__confirm{background:var(--forest-800);color:var(--paper);border-color:var(--forest-800)}.confirm-dialog__actions .confirm-dialog__confirm:hover{background:var(--forest-900)}.classes-page{color:var(--ink)}.classes-front-note,.classes-grid{width:min(1180px,100%);margin-left:auto;margin-right:auto}.classes-front-note{margin-bottom:18px;padding:13px 15px;display:flex;gap:7px;flex-wrap:wrap;border:1px solid #efc79f;border-radius:13px;color:#775538;background:#fff3e5;font-size:.84rem;line-height:1.45}.classes-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:18px}.class-card{min-height:275px;padding:23px;display:flex;flex-direction:column;border:1px solid #e6d9cd;border-radius:20px;background:var(--paper);box-shadow:0 14px 32px #4c3f3312}.class-card-top,.class-card-footer,.class-meta{display:flex;align-items:center;justify-content:space-between;gap:12px}.class-card-top>div{display:flex;align-items:center;gap:7px}.class-draft-badge{display:inline-flex;min-height:28px;align-items:center;padding:0 10px;border-radius:999px;color:#80512f;background:#fff0df;font-size:.74rem;font-weight:750}.class-card h2{margin:22px 0 8px;color:var(--forest-950);font-size:1.42rem}.class-card>p{min-height:45px;margin:0 0 22px;color:var(--muted);line-height:1.5}.class-meta{padding:15px 0;border-top:1px solid #eee4db;border-bottom:1px solid #eee4db}.class-meta>div{display:grid;gap:4px}.class-meta span{color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.04em}.class-meta strong{color:#405f64;font-size:.84rem}.class-card-footer{margin-top:auto;padding-top:18px}.class-card-footer>span{color:var(--muted);font-size:.82rem}.class-card-footer button{min-height:38px;padding:0 14px;border:1px solid #d9ccc0;border-radius:10px;cursor:pointer;color:var(--mate-teal);background:#fffaf4;font-weight:750}.class-card-footer button:hover{background:#f8ece0}.classes-empty{grid-column:1 / -1;padding:55px 24px;border:1px dashed #dccfc3;border-radius:18px;text-align:center;color:var(--muted);background:#fffaf3a6}.class-modal{width:min(1180px,100%);max-height:calc(100dvh - 48px);overflow-y:auto;border-radius:22px;background:var(--paper);box-shadow:0 28px 80px #244e5733}.class-tabs{padding:0 28px;display:flex;flex-wrap:wrap;gap:5px;border-bottom:1px solid #eee4db}.class-tabs button{min-height:52px;padding:0 16px;display:inline-flex;align-items:center;gap:8px;border:0;border-bottom:3px solid transparent;cursor:pointer;color:#71817f;background:transparent;font-weight:800}.class-tabs button.active{border-bottom-color:var(--mate-orange);color:var(--mate-teal)}.tab-count{min-width:23px;height:23px;display:inline-grid;place-items:center;border-radius:999px;color:#4d6d6c;background:#e8f1ee;font-size:.72rem}.class-form{padding:26px 28px 28px;display:grid;gap:19px}.class-textarea{width:100%;min-height:105px;padding:13px 15px;resize:vertical;border:1px solid var(--line);border-radius:13px;outline:none;color:var(--ink);background:#fffdf9;font:inherit}.class-textarea:focus{border-color:var(--mate-green);box-shadow:0 0 0 4px #58a38f21}.class-draft-notice{padding:12px 14px;border:1px solid #bdd8cd;border-radius:12px;color:#3c6d62;background:#eaf4ef;font-size:.84rem;line-height:1.45}.class-students-panel{padding:26px 28px 30px}.class-people-panel>.class-students-panel+.class-students-panel{border-top:1px solid var(--border-color, #d9e4df)}.class-setting-panel{padding:0}.setting-form{gap:22px}.setting-days-fieldset{margin:0;padding:0;border:0;display:grid;gap:9px}.setting-days-fieldset legend{margin-bottom:2px;color:var(--ink);font-weight:800}.setting-days-fieldset>small,.setting-form .field>small:not(.field-error){color:var(--muted);font-size:.78rem;line-height:1.4}.setting-days{display:flex;flex-wrap:wrap;gap:10px}.setting-day{width:48px;height:48px;display:grid;place-items:center;border:1px solid #d9ccc0;border-radius:13px;cursor:pointer;color:#637573;background:#fffdf9;font-weight:900;transition:.15s ease}.setting-day:hover{border-color:var(--mate-green)}.setting-day.selected{border-color:var(--mate-green);color:var(--forest-950);background:#e8f1ee;box-shadow:0 0 0 3px #58a38f1a}.setting-day input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.setting-day:focus-within{outline:3px solid rgba(88,163,143,.2);outline-offset:2px}.students-panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.students-panel-heading h3{margin:0;color:var(--forest-950);font-size:1.24rem}.students-panel-heading p{max-width:500px;margin:7px 0 0;color:var(--muted);font-size:.86rem;line-height:1.5}.students-empty{min-height:260px;margin-top:24px;padding:38px 24px;display:grid;place-items:center;align-content:center;text-align:center;border:1px dashed #d9ccc0;border-radius:17px;color:var(--muted);background:#fff8f1}.students-empty-icon{width:54px;height:54px;margin-bottom:14px;display:grid;place-items:center;border-radius:16px;color:#fffaf3;background:var(--mate-orange);font-weight:900}.students-empty strong{color:var(--forest-900)}.students-empty p{max-width:470px;margin:8px 0 0;line-height:1.5}@media(max-width:720px){.classes-grid{grid-template-columns:1fr}.class-modal{max-height:calc(100dvh - 24px);border-radius:20px 20px 12px 12px}.class-tabs,.class-form,.class-students-panel{padding-left:20px;padding-right:20px}.class-tabs{overflow-x:auto}.students-panel-heading{align-items:stretch;flex-direction:column}.students-panel-heading .secondary-button{width:100%}}@media(max-width:480px){.class-card{padding:19px}.class-meta{align-items:stretch;flex-direction:column}.class-meta>div{grid-template-columns:75px 1fr;align-items:center}}.student-search-box{margin-top:22px;padding:16px;border:1px solid #e3d8cc;border-radius:15px;background:#fffaf4}.student-search-row{display:grid;grid-template-columns:1fr auto;gap:10px}.student-search-row input{width:100%;min-height:44px;padding:0 13px;border:1px solid var(--line);border-radius:11px;outline:none;color:var(--ink);background:#fffdf9}.student-search-row input:focus{border-color:var(--mate-green);box-shadow:0 0 0 4px #58a38f21}.student-search-results,.class-student-list{margin-top:12px;display:grid;gap:9px}.student-search-result,.class-student-row{padding:12px 13px;display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid #eee4db;border-radius:12px;background:#fffdf9}.student-search-result .user-name-cell>span:last-child,.class-student-row .user-name-cell>span:last-child{display:grid;gap:3px}.student-search-result small,.class-student-row small{color:var(--muted);font-size:.78rem}.student-membership-dates{display:grid;gap:4px;text-align:right;color:var(--muted);font-size:.76rem}.student-membership-dates strong{color:#45666a}.compact-empty{min-height:190px}@media(max-width:620px){.student-search-row{grid-template-columns:1fr}.student-search-result,.class-student-row{align-items:stretch;flex-direction:column}.student-search-result .primary-button{width:100%}.student-membership-dates{text-align:left}}.class-student-summary{display:flex;align-items:center;gap:9px;color:var(--muted);font-size:.82rem}.class-card-footer .class-view-students{min-height:auto;padding:2px 0;border:0;border-radius:0;color:var(--mate-teal);background:transparent;font-size:.82rem;font-weight:800;text-decoration:underline;text-underline-offset:3px}.class-card-footer .class-view-students:hover{background:transparent;color:var(--mate-orange)}.students-view-modal{width:min(680px,100%)}.students-view-body{padding:24px 28px 12px}.quick-student-list{margin-top:0}.students-view-actions{padding:14px 28px 26px;display:flex;justify-content:flex-end}@media(max-width:520px){.class-card-footer{align-items:stretch;flex-direction:column}.class-student-summary{justify-content:space-between}.class-card-footer>button{width:100%}.students-view-body,.students-view-actions{padding-left:20px;padding-right:20px}}.classes-toolbar{align-items:center;gap:14px;flex-wrap:wrap}.classes-toolbar .search-field{flex:1 1 320px}.classes-active-filter{min-height:44px;padding:0 13px;display:inline-flex;align-items:center;gap:9px;border:1px solid #e2d6ca;border-radius:12px;cursor:pointer;color:#49676a;background:#fffaf4;font-size:.84rem;font-weight:750;white-space:nowrap}.classes-active-filter input{width:17px;height:17px;margin:0;accent-color:var(--mate-green);cursor:pointer}.class-card-top-actions{display:flex;align-items:center;gap:10px}.class-deactivate-button{width:34px;height:34px;padding:7px;display:grid;place-items:center;border:1px solid #ead7ce;border-radius:10px;cursor:pointer;color:#a8634f;background:#fff9f4}.class-deactivate-button svg{width:18px;height:18px;fill:currentColor}.class-deactivate-button:hover{border-color:#ddb5a7;color:#8f4835;background:#fff0e9}.class-deactivate-button:focus-visible{outline:3px solid rgba(88,163,143,.24);outline-offset:2px}@media(max-width:620px){.classes-toolbar{align-items:stretch;flex-direction:column}.classes-toolbar .search-field,.classes-active-filter{width:100%;flex:none}.classes-toolbar .record-count{align-self:flex-start}}.copy-class-backdrop{padding:24px}.copy-class-modal{width:min(540px,100%);padding:30px;border:1px solid #e7d9cc;border-radius:22px;background:var(--paper);box-shadow:0 28px 80px #244e5738}.copy-class-icon{width:52px;height:52px;margin-bottom:18px;display:grid;place-items:center;border-radius:16px;color:var(--mate-teal);background:#e9f3ef}.copy-class-icon svg{width:25px;height:25px;fill:currentColor}.copy-class-content h2{margin:4px 0 10px;color:var(--forest-950);font-size:1.45rem}.copy-class-content>p:last-of-type{margin:0;color:var(--muted);line-height:1.55}.copy-class-question{margin-top:22px;padding:15px 16px;display:grid;gap:5px;border:1px solid #d9e5df;border-radius:14px;color:#45666a;background:#f1f7f4}.copy-class-question strong{color:var(--forest-900);font-size:.92rem}.copy-class-question span{color:var(--muted);font-size:.82rem;line-height:1.45}.copy-class-actions{margin-top:26px;display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}.copy-class-actions button{min-height:42px}.copy-only-button{color:var(--mate-teal)}@media(max-width:560px){.copy-class-backdrop{padding:14px}.copy-class-modal{padding:24px 20px 20px}.copy-class-actions{display:grid;grid-template-columns:1fr}.copy-class-actions button{width:100%}}.delete-class-icon{color:#a65343;background:#fff0eb}.delete-class-warning{border-color:#efd4ca;background:#fff5f1}.delete-class-warning strong{color:#8d4638}.delete-class-confirm{border-color:#a65343;background:#a65343}.delete-class-confirm:hover:not(:disabled){border-color:#8d4638;background:#8d4638}.member-search-empty{margin:12px 2px 0;color:var(--muted);font-size:.8rem}.setting-day-times{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.setting-day-time{min-width:0;padding:12px;display:grid;gap:10px;border:1px solid #e3d8cc;border-radius:14px;background:#fffaf4}.setting-day-time.selected{border-color:#b8cbc2;background:#f7fbf8}.setting-day-time .setting-day{width:42px;height:42px}.setting-day-time-control{min-width:0;display:grid;gap:6px}.setting-day-time-control strong{color:var(--forest-900);font-size:.76rem}.setting-day-time-control input[type=time]{width:100%;min-height:40px;padding:0 8px;border:1px solid var(--line);border-radius:10px;color:var(--ink);background:#fffdf9;font:inherit}.setting-day-time-control input[type=time]:disabled{cursor:not-allowed;opacity:.48}.setting-day-time-control input[type=time]:focus{border-color:var(--mate-green);outline:none;box-shadow:0 0 0 3px #58a38f1f}@media(max-width:760px){.setting-day-times{grid-template-columns:1fr}.setting-day-time{grid-template-columns:auto minmax(0,1fr);align-items:start}}.season-course-hours{padding:16px 18px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 18px;align-items:center;border:1px solid #d9e5df;border-radius:14px;background:#f3f8f5}.season-course-hours>span{color:var(--forest-900);font-weight:800}.season-course-hours>strong{grid-row:1 / span 2;grid-column:2;color:var(--mate-teal);font-size:1.45rem}.season-course-hours>small{color:var(--muted);font-size:.78rem;line-height:1.4}.season-events-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:9px}.season-recurring-panel{padding:18px;display:grid;gap:16px;border:1px solid #d9e5df;border-radius:14px;background:#f7fbf8}.season-recurring-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.season-recurring-heading>div{display:grid;gap:4px}.season-recurring-heading strong{color:var(--forest-950)}.season-recurring-heading small{color:var(--muted);font-size:.78rem;line-height:1.45}.season-recurring-close{width:34px;height:34px;flex:0 0 auto;display:grid;place-items:center;border:0;border-radius:9px;cursor:pointer;color:#6c7c79;background:transparent;font-size:1.35rem}.season-recurring-close:hover{background:#edf4f0}.season-recurring-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.season-recurring-grid .field{min-width:0}.season-recurring-grid input,.season-recurring-grid select{width:100%;min-height:42px;padding:0 10px;border:1px solid var(--line);border-radius:10px;outline:none;color:var(--ink);background:#fffdf9;font:inherit}.season-recurring-grid input:focus,.season-recurring-grid select:focus{border-color:var(--mate-green);box-shadow:0 0 0 3px #58a38f1f}.season-recurring-name,.season-recurring-location{grid-column:span 2}.season-recurring-location{display:grid;gap:7px}.season-recurring-error{margin:0}.season-recurring-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}@media(max-width:760px){.season-course-hours{grid-template-columns:1fr}.season-course-hours>strong{grid-row:auto;grid-column:auto}.season-events-actions{display:grid;grid-template-columns:1fr}.season-events-actions button{width:100%}.season-recurring-grid{grid-template-columns:1fr}.season-recurring-name,.season-recurring-location{grid-column:auto}.season-recurring-actions{display:grid;grid-template-columns:1fr}.season-recurring-actions button{width:100%}}.season-events-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:16px}.season-events-heading>div{display:grid;gap:5px}.season-add-event{flex:0 0 auto}.season-events-table-wrap{overflow-x:auto;border:1px solid #e3d8cc;border-radius:14px;background:#fffdf9}.season-events-table{width:100%;min-width:1040px;border-collapse:collapse}.season-events-table th,.season-events-table td{padding:10px;border-bottom:1px solid #eee4db;vertical-align:top;text-align:left}.season-events-table th{color:#55706f;background:#fff8f1;font-size:.74rem;letter-spacing:.02em}.season-events-table tbody tr:last-child td{border-bottom:0}.season-events-table input,.season-events-table select{width:100%;min-height:40px;padding:0 9px;border:1px solid var(--line);border-radius:9px;outline:none;color:var(--ink);background:#fff;font:inherit}.season-events-table input:focus,.season-events-table select:focus{border-color:var(--mate-green);box-shadow:0 0 0 3px #58a38f1f}.season-location-cell{min-width:260px}.season-place-control{display:grid;gap:4px}.season-place-control small{color:var(--muted);font-size:.7rem;line-height:1.3}.season-place-name{display:block;margin-top:5px;color:#45666a;font-size:.72rem;font-weight:750}.season-duration{min-width:105px;display:grid;grid-template-columns:70px auto;align-items:center;gap:5px}.season-duration span{color:var(--muted);font-size:.75rem}.season-remove-event{width:34px;height:34px;display:grid;place-items:center;border:1px solid #ead7ce;border-radius:9px;cursor:pointer;color:#a65343;background:#fff8f4;font-size:1.2rem;line-height:1}.season-remove-event:hover{border-color:#ddb5a7;background:#fff0e9}.season-events-empty{padding:24px!important;text-align:center!important;color:var(--muted)}@media(max-width:760px){.season-events-heading{align-items:stretch;flex-direction:column}.season-add-event{width:100%}}.season-events-table{min-width:900px;font-size:.82rem}.season-events-table th,.season-events-table td{padding:6px 7px;vertical-align:middle}.season-events-table input,.season-events-table select{min-height:34px;height:34px;padding:0 7px;border-radius:8px;font-size:.82rem}.season-location-cell{min-width:230px;position:relative}.season-location-inline{display:grid;grid-template-columns:minmax(120px,1.35fr) minmax(82px,.65fr);gap:5px;align-items:center}.season-location-inline .season-place-control{display:block;min-width:0}.season-location-inline input{min-width:0}.season-duration{min-width:82px;grid-template-columns:54px auto;gap:4px}.season-duration span{font-size:.68rem}.season-remove-event{width:30px;height:30px;border-radius:8px;font-size:1rem}.season-row-error-dot{position:absolute;top:2px;right:2px;width:16px;height:16px;display:grid;place-items:center;border-radius:999px;color:#fff;background:#a65343;font-size:.65rem;font-weight:900}@media(max-width:760px){.season-events-table{min-width:820px;font-size:.76rem}.season-events-table th,.season-events-table td{padding:5px}.season-events-table input,.season-events-table select{min-height:31px;height:31px;padding:0 6px;font-size:.76rem}.season-location-cell{min-width:205px}.season-location-inline{grid-template-columns:minmax(108px,1.25fr) minmax(76px,.75fr);gap:4px}.season-duration{min-width:72px;grid-template-columns:46px auto}.season-remove-event{width:28px;height:28px}}.season-list-view{display:grid;gap:8px}.season-list-row{min-height:54px;padding:7px 9px 7px 12px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;border:1px solid #e7ddd3;border-radius:13px;background:#fffdf9}.season-list-main{min-width:0;padding:0;display:grid;grid-template-columns:10px minmax(150px,1.2fr) minmax(180px,1fr) minmax(90px,auto);align-items:center;gap:12px;border:0;cursor:pointer;text-align:left;color:inherit;background:transparent;font:inherit}.season-list-main:hover .season-list-name{color:var(--mate-orange)}.season-list-status{width:9px;height:9px;border-radius:999px;background:#a7aaa5}.season-list-status.active{background:var(--mate-green)}.season-list-name{overflow:hidden;color:var(--forest-950);font-weight:850;text-overflow:ellipsis;white-space:nowrap}.season-list-dates,.season-list-students{color:var(--muted);font-size:.8rem;white-space:nowrap}.season-list-actions,.season-details-actions{display:flex;align-items:center;gap:6px}.season-list-actions button,.season-details-actions button{min-height:32px;padding:0 9px;border:1px solid #e2d6ca;border-radius:8px;cursor:pointer;color:var(--mate-teal);background:#fffaf4;font:inherit;font-size:.72rem;font-weight:800}.season-list-actions button:hover,.season-details-actions button:hover{background:#f7eee6}.season-details-wrap{overflow-x:auto;border:1px solid #e3d8cc;border-radius:14px;background:#fffdf9}.season-details-table{width:100%;min-width:760px;border-collapse:collapse}.season-details-table th,.season-details-table td{padding:9px 11px;border-bottom:1px solid #eee4db;text-align:left;vertical-align:middle}.season-details-table th{color:#55706f;background:#fff8f1;font-size:.72rem;letter-spacing:.02em;text-transform:uppercase}.season-details-table td{color:#49676a;font-size:.8rem}.season-details-table tbody tr:last-child td{border-bottom:0}.season-details-table tbody tr:hover{background:#fffaf5}.season-details-name,.season-details-students{padding:0;border:0;cursor:pointer;color:var(--mate-teal);background:transparent;font:inherit;font-weight:850;text-align:left}.season-details-name:hover,.season-details-students:hover{color:var(--mate-orange);text-decoration:underline;text-underline-offset:3px}.season-details-empty{padding:28px!important;text-align:center!important;color:var(--muted)!important}@media(max-width:760px){.season-list-row{grid-template-columns:1fr;gap:7px}.season-list-main{grid-template-columns:10px minmax(0,1fr) auto;gap:9px}.season-list-dates{grid-column:2 / -1;font-size:.74rem}.season-list-students{grid-column:3;grid-row:1;font-size:.74rem}.season-list-actions{justify-content:flex-end}.season-list-actions button{min-height:30px;padding:0 8px}.season-details-table{min-width:680px}.season-details-table th,.season-details-table td{padding:7px 8px}}.class-content-panel{padding:20px 28px 28px;min-width:0}@media(max-width:600px){.class-content-panel{padding:12px}}.season-events-table .season-notes-cell{min-width:220px}.season-events-table .season-notes-cell textarea{width:100%;min-width:200px;min-height:54px;padding:8px 10px;border:1px solid #d7dfda;border-radius:10px;background:#fff;color:var(--ink);font:inherit;line-height:1.35;resize:vertical}.view-switcher{display:inline-flex;align-items:center;gap:4px;padding:4px;border:1px solid var(--line);border-radius:12px;background:var(--paper)}.view-switcher button{min-height:36px;padding:0 10px;display:inline-flex;align-items:center;gap:6px;border:0;border-radius:9px;cursor:pointer;color:var(--muted);background:transparent;font:inherit;font-size:.78rem;font-weight:800}.view-switcher button:hover,.view-switcher button[aria-pressed=true]{color:var(--forest-800);background:color-mix(in srgb,var(--forest-600) 12%,var(--paper))}.view-switcher button:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.view-switcher button:disabled{cursor:wait}.view-switcher svg{width:16px;height:16px;fill:currentColor}@media(max-width:760px){.view-switcher{width:100%}.view-switcher button{flex:1 1 0;justify-content:center}.view-switcher button span{display:none}.view-switcher svg{width:18px;height:18px}}.billing-settings{min-width:0;margin:1rem 0;padding:1.1rem;border:1px solid #b8c9bf;border-radius:14px;background:#f5faf7;color:#243e34}.billing-settings>form{display:block}.billing-season-value{margin:1rem 0;padding:16px 18px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 18px;align-items:center;border:1px solid #d9e5df;border-radius:14px;background:#f3f8f5}.billing-season-value>span{color:var(--forest-900, #243e34);font-weight:800}.billing-season-value>strong{grid-row:1 / span 2;grid-column:2;color:var(--mate-teal, #205b61);font-size:1.45rem;overflow-wrap:anywhere}.billing-season-value>small{color:var(--muted, #54665c);font-size:.78rem;line-height:1.4}@media(max-width:680px){.billing-season-value{grid-template-columns:minmax(0,1fr)}.billing-season-value>strong{grid-column:auto;grid-row:auto;font-size:1.7rem}}.billing-table-actions{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:.8rem}.billing-dates-help{font-size:.82rem;line-height:1.4}.billing-table-wrap{max-width:100%;overflow-x:auto;border:1px solid #d9d1c7;border-radius:12px;background:#fffdf9}.billing-table-wrap:focus-visible{outline:2px solid #28614c;outline-offset:3px}.billing-plan-table{width:100%;min-width:970px;border-collapse:collapse;font-size:.85rem}.billing-plan-table th,.billing-plan-table td{padding:5px 6px;border-bottom:1px solid #e4ddd3;text-align:left;white-space:nowrap}.billing-plan-table th{background:#fff8ee;color:#566961;font-weight:700}.billing-plan-table tr:last-child td{border-bottom:0}.billing-settings .billing-plan-table input,.billing-settings .billing-plan-table select{box-sizing:border-box;width:100%;height:34px;padding:4px 7px;font-size:.84rem;border-color:#d5dfd9;border-radius:7px}.billing-plan-table td:nth-child(1),.billing-plan-table td:nth-child(2){width:156px}.billing-plan-table td:nth-child(3){width:177px}.billing-plan-table td:nth-child(4){min-width:220px}.billing-plan-table td:nth-child(5){width:143px}.billing-settings .billing-remove{margin:0;height:32px;padding:0 9px;border:0;color:#a12424;background:transparent;font-size:1.2rem}.billing-settings .billing-plan-table input:focus,.billing-settings .billing-plan-table select:focus{outline:2px solid #28614c;outline-offset:1px}.billing-settings fieldset{border:0;padding:0;min-width:0}.billing-settings label{display:flex;flex-direction:column;gap:.3rem;font-weight:600}.billing-settings label.billing-toggle{flex-direction:row;align-items:center}.billing-settings .billing-toggle input{width:auto}.billing-settings input,.billing-settings select{min-width:0;padding:.55rem;border:1px solid #a4b5ab;border-radius:7px;background:#fff;color:inherit;font:inherit}.billing-settings button{margin:.5rem .6rem .3rem 0;padding:.55rem .8rem;border:1px solid #2c604a;border-radius:8px;background:#fff;color:#254f3e;cursor:pointer;font:inherit}.billing-settings button:disabled{opacity:.5;cursor:default}.billing-settings small{display:block;font-weight:400;color:#54665c}.billing-existing{border-top:1px solid #bacdc0;margin-top:1rem;padding-top:.5rem}.billing-items{padding:0;list-style:none}.billing-items li{display:flex;justify-content:space-between;gap:1rem;padding:.6rem 0;border-bottom:1px solid #d5dfd8}.finance-debt{color:#a12424;font-weight:700}@media(max-width:540px){.billing-items li{flex-wrap:wrap}}.app-file-picker{display:flex;align-items:center;gap:.7rem;min-width:0;font:inherit}.app-file-picker__input{position:absolute;width:1px!important;height:1px!important;min-width:0!important;min-height:0!important;padding:0!important;border:0!important;opacity:0;pointer-events:none}.app-file-picker__button{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-height:40px;padding:.55rem .8rem;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--forest-800);font-size:.8rem;font-weight:700;cursor:pointer;white-space:nowrap;transition:border-color .15s ease,background .15s ease}.app-file-picker:hover .app-file-picker__button{border-color:var(--forest-600);background:var(--cream)}.app-file-picker:focus-within .app-file-picker__button{outline:3px solid var(--focus);outline-offset:2px}.app-file-picker__button svg{width:17px;height:17px;flex:0 0 auto;fill:currentColor}.app-file-picker__name{min-width:0;color:var(--muted);font-size:.78rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-file-picker:has(.app-file-picker__input:disabled){opacity:.65}.app-file-picker:has(.app-file-picker__input:disabled) .app-file-picker__button{cursor:default}@media(max-width:600px){.app-file-picker{align-items:stretch;flex-direction:column}.app-file-picker__button{width:100%}.app-file-picker__name{white-space:normal;overflow-wrap:anywhere}}.class-calendar,.class-forum{border:1px solid #dce3df;border-radius:18px;background:#fffdf8;box-shadow:0 8px 24px #19312a0a}.class-calendar{padding:18px 20px}.class-calendar-header{display:flex;align-items:center;justify-content:space-between;gap:18px}.class-calendar-header>div:first-child{display:grid;gap:2px}.class-calendar-header strong,.class-forum-toolbar strong{color:var(--forest-900);font-weight:850}.class-calendar-header small,.class-forum-toolbar small{color:var(--muted);font-size:.76rem}.class-calendar-nav{display:flex;align-items:center;gap:10px}.class-calendar-nav span{min-width:150px;text-align:center;color:var(--forest-900);font-weight:800;font-size:.86rem}.class-calendar-nav button{width:34px;height:34px;border:1px solid #d8dfda;border-radius:10px;background:#fff;color:var(--forest-800);cursor:pointer;font-size:1.25rem}.class-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.class-calendar-weekdays{margin-top:16px}.class-calendar-weekdays span{padding:4px;text-align:center;color:#829189;font-size:.68rem;font-weight:800;text-transform:uppercase}.class-calendar-day,.class-calendar-empty-cell{min-height:52px}.class-calendar-day{position:relative;border:1px solid #e4e9e6;border-radius:11px;background:#fff;color:#58685f;cursor:pointer;font-weight:750}.class-calendar-day:hover{border-color:#b9cac1;background:#f8fbf9}.class-calendar-day.has-activity{border-color:#a9c6b8;background:#e8f3ed;color:var(--forest-900)}.class-calendar-day.today{border-color:var(--mate-orange);background:#fff4e8;color:var(--forest-950);box-shadow:inset 0 0 0 1px #d37e3a29}.class-calendar-day.today .class-calendar-day-number{padding:4px 6px;border-radius:999px;background:var(--mate-orange);color:#fff;font-weight:900}.class-calendar-day.selected{outline:2px solid var(--forest-700);outline-offset:1px}.class-calendar-day i{position:absolute;right:7px;bottom:7px;width:7px;height:7px;border-radius:50%;background:var(--mate-orange)}.class-calendar-clear{margin-top:12px;border:0;background:transparent;color:var(--forest-700);cursor:pointer;font-size:.76rem;font-weight:800}.class-forum{padding:20px}.class-forum-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.class-forum-toolbar>div{display:grid;gap:3px}.class-forum-toolbar button,.class-forum-create button,.class-forum-reply button{min-height:38px;padding:0 14px;border:0;border-radius:10px;background:var(--forest-800);color:#fff;cursor:pointer;font-weight:800}.class-forum-create{margin-top:16px;padding:16px;display:grid;gap:10px;border:1px solid #dde5e0;border-radius:14px;background:#f8fbf9}.class-forum-create input,.class-forum-create textarea,.class-forum-reply textarea{width:100%;border:1px solid #d7dfda;border-radius:11px;background:#fff;padding:11px 12px;font:inherit;color:var(--ink)}.class-forum-create textarea,.class-forum-reply textarea{min-height:90px;resize:vertical}.class-forum-error{margin-top:12px;padding:11px 13px;border:1px solid #efcaca;border-radius:11px;background:#fff2f1;color:#8e2929;font-size:.82rem}.class-forum-layout{margin-top:18px;display:grid;grid-template-columns:290px minmax(0,1fr);gap:16px;align-items:start}.class-forum-threads{display:grid;gap:8px}.class-forum-threads>button{padding:13px;border:1px solid #e1e7e3;border-radius:12px;background:#fff;text-align:left;cursor:pointer;display:grid;gap:4px;color:var(--ink)}.class-forum-threads>button.active{border-color:#a9c6b8;background:#eef6f1}.class-forum-threads strong{color:var(--forest-950)}.class-forum-threads span,.class-forum-threads small{color:var(--muted);font-size:.72rem}.class-forum-thread{min-height:320px;border-left:1px solid #e6ebe8;padding-left:16px}.class-forum-question,.class-forum-replies article{padding:15px;border:1px solid #e1e7e3;border-radius:13px;background:#fff}.class-forum-question h3{margin:12px 0 7px;color:var(--forest-950)}.class-forum-question p,.class-forum-replies p{margin:0;color:#485b51;line-height:1.6;white-space:pre-wrap}.class-forum-author{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.class-forum-author strong{color:var(--forest-900);font-size:.82rem}.class-forum-author span{padding:2px 7px;border-radius:999px;background:#e8f0eb;color:#537066;font-size:.62rem;font-weight:800}.class-forum-author small{margin-left:auto;color:var(--muted);font-size:.68rem}.class-forum-replies{margin-top:10px;display:grid;gap:9px}.class-forum-reply{margin-top:12px;display:grid;gap:9px}.class-forum-reply button{justify-self:end}.class-forum-empty{padding:24px 16px;border:1px dashed #cfd9d3;border-radius:12px;color:var(--muted);text-align:center;font-size:.8rem}.class-forum-thread-empty{min-height:220px;display:grid;place-items:center}@media(max-width:780px){.class-calendar-header,.class-forum-toolbar{align-items:stretch;flex-direction:column}.class-calendar-nav{justify-content:space-between}.class-forum-layout{grid-template-columns:1fr}.class-forum-thread{border-left:0;border-top:1px solid #e6ebe8;padding-left:0;padding-top:16px}.class-calendar-day,.class-calendar-empty-cell{min-height:42px}.class-calendar-day{font-size:.78rem}}.class-calendar-days{align-items:stretch}.class-calendar-day,.class-calendar-empty-cell{min-height:104px}.class-calendar-day{padding:8px;display:flex;flex-direction:column;align-items:stretch;gap:7px;text-align:left;overflow:hidden}.class-calendar-day-number{align-self:flex-start;font-size:.78rem;line-height:1}.class-calendar-events{min-width:0;display:grid;gap:4px}.class-calendar-event{min-width:0;min-height:22px;padding:3px 5px;display:flex;align-items:center;gap:5px;border-radius:7px;font-size:.66rem;line-height:1.15}.class-calendar-event.class-event{color:var(--forest-950);background:#eaf3ee;font-weight:850}.class-calendar-event.class-event img{width:18px;height:18px;flex:0 0 18px;object-fit:contain}.class-calendar-event.activity-event{color:#6f533f;background:#fff0df}.class-calendar-event.activity-event b{flex:0 0 auto;font-size:.61rem}.class-calendar-event.activity-event span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.class-calendar-more{color:var(--muted);font-size:.62rem;font-weight:800}.class-calendar.compact{height:100%;padding:14px;box-shadow:none}.class-calendar.compact .class-calendar-header{gap:8px}.class-calendar.compact .class-calendar-header>div:first-child{display:none}.class-calendar.compact .class-calendar-nav{width:100%;justify-content:space-between}.class-calendar.compact .class-calendar-nav span{min-width:0;font-size:.78rem}.class-calendar.compact .class-calendar-nav button{width:28px;height:28px;border-radius:8px}.class-calendar.compact .class-calendar-weekdays{margin-top:10px}.class-calendar.compact .class-calendar-grid{gap:3px}.class-calendar.compact .class-calendar-weekdays span{padding:2px;font-size:.57rem}.class-calendar.compact .class-calendar-day,.class-calendar.compact .class-calendar-empty-cell{min-height:56px}.class-calendar.compact .class-calendar-day{padding:4px;gap:3px;border-radius:8px}.class-calendar.compact .class-calendar-day-number{font-size:.62rem}.class-calendar.compact .class-calendar-event{min-height:16px;padding:1px 3px;gap:2px;border-radius:5px;font-size:.54rem}.class-calendar.compact .class-calendar-event.class-event img{width:12px;height:12px;flex-basis:12px}.class-calendar.compact .class-calendar-event.activity-event b{font-size:.5rem}.class-calendar.compact .class-calendar-event.activity-event span{display:none}.class-calendar.compact .class-calendar-more{font-size:.5rem}@media(max-width:780px){.class-calendar-day,.class-calendar-empty-cell{min-height:74px}.class-calendar-event.activity-event span{display:none}.class-calendar.compact .class-calendar-day,.class-calendar.compact .class-calendar-empty-cell{min-height:48px}}.class-home-labs-preview{height:100%;min-height:0;display:grid;grid-template-rows:auto minmax(96px,38%) minmax(0,1fr);gap:12px}.class-home-labs-heading{display:flex;align-items:center;justify-content:space-between;gap:14px}.class-home-labs-heading>span{color:var(--forest-950);font-size:1.18rem;font-weight:900}.class-home-labs-heading>button{min-height:30px;padding:0 10px;border:1px solid #ccd9d2;border-radius:9px;cursor:pointer;color:var(--forest-800);background:#fff;font-size:.7rem;font-weight:850;text-transform:uppercase;letter-spacing:.05em}.class-home-live-access{min-height:0;padding:16px 18px;display:flex;align-items:center;justify-content:space-between;gap:18px;border:1px solid #dfe6e2;border-radius:16px;color:var(--forest-950);background:linear-gradient(135deg,#f4f8f5,#fffaf4);text-decoration:none}.class-home-live-access.available{border-color:#a9c6b8;background:linear-gradient(135deg,#e9f4ee,#fffaf4);box-shadow:inset 4px 0 0 var(--mate-green);cursor:pointer}.class-home-live-access.available:hover{border-color:var(--mate-green);box-shadow:inset 4px 0 0 var(--mate-green),0 8px 18px #19312a12}.class-home-live-access>span{min-width:0;display:grid;gap:5px}.class-home-live-access small{color:var(--muted);font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.class-home-live-access strong{font-size:1.25rem;line-height:1.1}.class-home-live-access>b{flex:0 0 auto;padding:8px 11px;border-radius:10px;color:#fff;background:var(--forest-800);font-size:.74rem}.class-home-live-access:not(.available)>b{color:#7c8882;background:#e9eeeb}.class-home-recordings{min-height:0;overflow:hidden;display:grid;align-content:start;gap:6px}.class-home-recordings>small{color:var(--muted);font-size:.66rem;font-weight:850;text-transform:uppercase;letter-spacing:.06em}.class-home-recordings>p{margin:6px 0 0;color:var(--muted);font-size:.78rem}.class-home-recording-row{min-width:0;padding:7px 0;display:grid;grid-template-columns:72px 86px minmax(0,1fr);align-items:center;gap:10px;border-bottom:1px solid #edf0ee;color:inherit;text-decoration:none}.class-home-recording-row:last-child{border-bottom:0}.class-home-recording-row:hover .class-home-recording-copy strong{color:var(--forest-700)}.class-home-recording-row>time{color:var(--muted);font-size:.65rem;font-variant-numeric:tabular-nums}.class-home-recording-thumb{position:relative;width:86px;aspect-ratio:16 / 9;overflow:hidden;display:grid;place-items:center;border-radius:8px;background:#263333}.class-home-recording-thumb>img{width:100%;height:100%;object-fit:cover}.class-home-recording-thumb>i{position:absolute;inset:50% auto auto 50%;width:24px;height:24px;display:grid;place-items:center;border-radius:50%;color:#fff;background:#0f5664e6;font-size:.62rem;font-style:normal;transform:translate(-50%,-50%)}.class-home-recording-copy{min-width:0;display:grid;gap:3px}.class-home-recording-copy strong,.class-home-recording-copy small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.class-home-recording-copy strong{color:var(--forest-950);font-size:.76rem}.class-home-recording-copy small{color:var(--muted);font-size:.67rem}@media(max-width:780px){.class-home-labs-preview{grid-template-rows:auto auto auto}.class-home-recording-row{grid-template-columns:66px 76px minmax(0,1fr)}.class-home-recording-thumb{width:76px}}.forum-nav-label{display:inline-flex;align-items:center;gap:7px}.forum-thread-title{display:flex;align-items:center;justify-content:space-between;gap:8px}.forum-unread-dot{display:inline-block;width:9px;height:9px;min-width:9px;border-radius:50%;background:var(--mate-orange);box-shadow:0 0 0 3px #d37e3a24}.forum-file-picker{display:block;min-width:0}.class-forum-reply input[type=url]{width:100%;border:1px solid #d7dfda;border-radius:11px;background:#fff;padding:11px 12px;font:inherit;color:var(--ink)}.forum-link-preview{margin-top:12px;display:grid;gap:8px}.forum-link-preview>a{display:grid;gap:3px;padding:10px 12px;border:1px solid #dce6e0;border-radius:11px;background:#f7faf8;color:var(--forest-800);text-decoration:none;overflow:hidden}.forum-link-preview>a span{font-size:.72rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.forum-video-preview{position:relative;aspect-ratio:16/9;overflow:hidden;border-radius:12px;background:#0e1712}.forum-video-preview iframe{width:100%;height:100%;border:0}.forum-attachments{margin-top:12px;display:flex;gap:10px;flex-wrap:wrap}.forum-image-attachment,.forum-file-attachment{display:grid;gap:5px;text-decoration:none;color:var(--forest-900);font-size:.72rem}.forum-image-attachment img{width:148px;height:104px;object-fit:cover;border:1px solid #dce5df;border-radius:10px}.forum-image-attachment span{max-width:148px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.forum-file-attachment{min-width:150px;padding:10px 12px;border:1px solid #dce5df;border-radius:10px;background:#fafbf9}.forum-file-attachment strong{font-size:.66rem;color:var(--mate-orange)}.forum-file-attachment span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.class-calendar-laptop-icon{width:18px;height:18px;flex:0 0 18px;fill:currentColor}.class-calendar.compact .class-calendar-laptop-icon{width:12px;height:12px;flex-basis:12px}.class-calendar-event-copy{min-width:0;display:inline-flex;align-items:baseline;gap:4px}.class-calendar-event-copy b{flex:0 0 auto;font-size:inherit}.class-calendar-event-copy span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700}.email-notification-preference{margin-top:8px;display:grid;gap:3px}.email-notification-preference label{display:inline-flex;align-items:center;gap:7px;color:inherit;font-size:.72rem;font-weight:800}.email-notification-preference input{width:15px;height:15px;accent-color:var(--mate-green)}.email-notification-preference small{color:var(--muted);font-size:.64rem;line-height:1.3}.class-forum-replies:not(:empty){margin-inline-start:18px;padding-inline-start:18px;border-inline-start:2px solid var(--line)}.class-forum-replies article{position:relative;min-width:0}.class-forum-replies article:before{content:"";position:absolute;inset-inline-start:-20px;top:25px;width:18px;border-top:2px solid var(--line)}.class-forum-question,.class-forum-replies article{overflow-wrap:anywhere}@media(max-width:600px){.class-forum-replies:not(:empty){margin-inline-start:6px;padding-inline-start:12px}.class-forum-replies article:before{inset-inline-start:-14px;width:12px}}.class-calendar-event-company{display:block;max-width:100%;overflow:hidden;color:var(--muted);font-size:.62rem;font-weight:600;line-height:1.15;text-overflow:ellipsis;white-space:nowrap}.class-calendar-scroll{max-width:100%}.class-calendar-scroll-content{min-width:0}@media(max-width:1024px){.class-calendar{max-width:100%;min-width:0;overflow:hidden}.class-calendar-scroll{width:100%;overflow-x:auto;overflow-y:hidden;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable}.class-calendar-scroll:focus-visible{outline:2px solid var(--forest-700);outline-offset:3px;border-radius:10px}.class-calendar-scroll-content{width:max-content;min-width:100%}.class-calendar-scroll .class-calendar-grid{width:840px;grid-template-columns:repeat(7,minmax(114px,1fr))}.class-calendar-scroll .class-calendar-day,.class-calendar-scroll .class-calendar-empty-cell{min-height:92px}.class-calendar-scroll .class-calendar-event.activity-event span{display:inline}.class-calendar-scroll .class-calendar-event-copy span,.class-calendar-scroll .class-calendar-event.activity-event span{white-space:normal;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}}@media(max-width:600px){.class-calendar{padding-inline:12px}.class-calendar-scroll .class-calendar-grid{width:770px;grid-template-columns:repeat(7,minmax(104px,1fr))}.class-calendar-scroll .class-calendar-day,.class-calendar-scroll .class-calendar-empty-cell{min-height:86px}}.class-calendar-detail-backdrop{position:fixed;inset:0;z-index:1200;padding:24px;display:grid;place-items:center;background:#121f1b75;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.class-calendar-detail-modal{position:relative;width:min(760px,100%);max-height:min(82vh,760px);overflow:auto;padding:24px;border:1px solid #d8e1dc;border-radius:22px;background:#fffdf8;box-shadow:0 24px 60px #14262033}.class-calendar-detail-close{position:absolute;top:14px;right:14px;width:34px;height:34px;border:1px solid #d8dfda;border-radius:10px;background:#fff;color:var(--forest-900);cursor:pointer;font-size:1.35rem;line-height:1}.class-calendar-detail-header{padding-right:46px;display:flex;align-items:center;gap:16px}.class-calendar-detail-header>div:last-child{min-width:0}.class-calendar-detail-header small{color:var(--muted);font-size:.68rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.class-calendar-detail-header h2{margin:3px 0;color:var(--forest-950);font-size:1.35rem}.class-calendar-detail-header p{margin:0;color:var(--muted);font-size:.78rem}.class-calendar-detail-date-tile{width:72px;min-width:72px;overflow:hidden;border:1px solid #d7e0db;border-radius:14px;background:#fff;text-align:center;box-shadow:0 6px 16px #19312a0f}.class-calendar-detail-date-tile span{display:block;padding:5px 8px;background:var(--forest-800);color:#fff;font-size:.66rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.class-calendar-detail-date-tile strong{display:block;padding:8px 6px 10px;color:var(--forest-950);font-size:1.75rem;line-height:1}.class-calendar-detail-list{margin-top:22px;display:grid;gap:14px}.class-calendar-detail-event{display:grid;grid-template-columns:86px minmax(0,1fr);gap:14px;padding:16px;border:1px solid #e0e6e2;border-radius:16px;background:#fff}.class-calendar-detail-time{padding-right:12px;display:grid;align-content:start;gap:4px;border-right:1px solid #e7ece9}.class-calendar-detail-time strong{color:var(--forest-950);font-size:1rem}.class-calendar-detail-time span{color:var(--muted);font-size:.68rem}.class-calendar-detail-body{min-width:0}.class-calendar-detail-event-title{display:flex;align-items:flex-start;gap:10px}.class-calendar-detail-event-title img,.class-calendar-detail-event-title .class-calendar-laptop-icon{width:24px;height:24px;flex:0 0 24px}.class-calendar-detail-event-title h3{margin:1px 0 2px;color:var(--forest-950);font-size:1rem}.class-calendar-detail-event-title p{margin:0;color:var(--muted);font-size:.72rem}.class-calendar-detail-fields{margin:14px 0 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px}.class-calendar-detail-fields>div{min-width:0}.class-calendar-detail-fields dt{margin-bottom:2px;color:var(--muted);font-size:.62rem;font-weight:850;letter-spacing:.05em;text-transform:uppercase}.class-calendar-detail-fields dd{margin:0;color:#3f5148;font-size:.78rem;line-height:1.45;overflow-wrap:anywhere}.class-calendar-detail-actions{margin-top:14px;display:flex;gap:8px;flex-wrap:wrap}.class-calendar-detail-actions a{min-height:34px;padding:0 11px;display:inline-flex;align-items:center;border:1px solid #cbd8d1;border-radius:9px;color:var(--forest-800);background:#f8fbf9;font-size:.72rem;font-weight:850;text-decoration:none}.class-calendar-detail-actions a:hover{border-color:var(--forest-700);background:#eef5f1}@media(max-width:700px){.class-calendar-detail-backdrop{padding:10px;place-items:center}.class-calendar-detail-modal{width:100%;max-height:88vh;padding:18px 14px;border-radius:20px 20px 14px 14px}.class-calendar-detail-header{align-items:flex-start}.class-calendar-detail-date-tile{width:62px;min-width:62px}.class-calendar-detail-event{grid-template-columns:1fr}.class-calendar-detail-time{padding-right:0;padding-bottom:8px;display:flex;align-items:baseline;gap:8px;border-right:0;border-bottom:1px solid #e7ece9}.class-calendar-detail-fields{grid-template-columns:1fr}}.class-calendar-detail-content-link{margin:0;padding:0;border:0;display:inline-grid;gap:3px;background:transparent;color:inherit;text-align:left;cursor:pointer}.class-calendar-detail-content-link h3{margin:1px 0 0;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}.class-calendar-detail-content-link span{color:var(--forest-700);font-size:.68rem;font-weight:850}.class-calendar-detail-content-link:hover h3,.class-calendar-detail-content-link:focus-visible h3{color:var(--forest-700)}.class-calendar-detail-content-link:focus-visible{outline:2px solid var(--forest-700);outline-offset:3px;border-radius:5px}.season-resources{color:var(--ink)}.season-resources header h3{margin:0;color:var(--forest-950)}.season-resources header p{color:var(--muted);font-size:.85rem}.season-resources__list{display:grid;gap:10px}.season-resource{border:1px solid var(--line);border-radius:12px;background:var(--paper);min-width:0}.season-resource summary{padding:14px 16px;cursor:pointer;overflow-wrap:anywhere}.season-resource summary strong{margin-inline:6px 12px}.season-resource summary span{margin-inline-end:8px;color:var(--muted);font-size:.75rem}.season-resource__body{padding:0 16px 16px;overflow-wrap:anywhere}.season-resource__description{white-space:pre-wrap;line-height:1.6}.season-resource__visibility{color:var(--muted);font-size:.75rem}.season-resource ul{list-style:none;padding:0;display:grid;gap:8px}.season-resource li{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding-block:8px;border-top:1px solid var(--line)}.season-resource li>span{flex:1 1 180px;min-width:0}.season-resource a{color:var(--forest-800);text-underline-offset:3px}.season-resource :is(summary,a):focus-visible{outline:2px solid var(--focus);outline-offset:2px}.class-labs{display:grid;gap:22px}.class-labs-live{padding:24px;display:flex;align-items:center;justify-content:space-between;gap:24px;border:1px solid #dce3df;border-radius:20px;background:#fffdf8}.class-labs-live h2{margin:4px 0 8px;color:var(--forest-950);font-size:2rem}.class-labs-live p:last-child{margin:0;color:var(--muted);line-height:1.55}.class-labs-join{min-width:112px;min-height:48px;padding:0 22px;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:13px;background:var(--forest-800);color:#fff;text-decoration:none;font-weight:900}.class-labs-join.disabled{opacity:.45;cursor:not-allowed}.class-labs-live-editor,.class-labs-recording-form{padding:16px;display:grid;gap:10px;border:1px solid #dce3df;border-radius:15px;background:#f9fbf9}.class-labs-live-editor{grid-template-columns:minmax(0,1fr) auto;align-items:end}.class-labs-live-editor label{display:grid;gap:6px}.class-labs-live-editor span{color:var(--forest-900);font-size:.78rem;font-weight:800}.class-labs-live-editor input,.class-labs-recording-form input{min-height:42px;border:1px solid #d6dfd9;border-radius:10px;padding:0 12px;background:#fff;font:inherit}.class-labs-live-editor button,.class-labs-recording-form button{min-height:42px;padding:0 14px;border:0;border-radius:10px;background:var(--forest-800);color:#fff;font-weight:800;cursor:pointer}.class-labs-recordings-header h3{margin:0;color:var(--forest-950)}.class-labs-recordings-header p{margin:5px 0 0;color:var(--muted);font-size:.82rem}.class-labs-recording-form{grid-template-columns:1.2fr 1.6fr 150px auto}.class-labs-recording-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.class-labs-recording-card{overflow:hidden;border:1px solid #dce3df;border-radius:16px;background:#fffdf8}.class-labs-video{aspect-ratio:16/9;background:#111}.class-labs-video iframe{width:100%;height:100%;border:0}.class-labs-recording-meta{padding:13px 14px;display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.class-labs-recording-meta>div{display:grid;gap:3px}.class-labs-recording-meta strong{color:var(--forest-950)}.class-labs-recording-meta small{color:var(--muted)}.class-labs-recording-meta button{border:0;background:transparent;color:#9b4747;cursor:pointer;font-size:.76rem;font-weight:800}.class-labs-empty{padding:30px 18px;border:1px dashed #cfd9d3;border-radius:14px;text-align:center;color:var(--muted);background:#fffdf8}.class-labs-error{padding:12px 14px;border:1px solid #efcaca;border-radius:12px;background:#fff2f1;color:#8e2929;font-size:.84rem}@media(max-width:900px){.class-labs-recording-form{grid-template-columns:1fr 1fr}.class-labs-recording-grid{grid-template-columns:1fr}}@media(max-width:620px){.class-labs-live{align-items:flex-start;flex-direction:column}.class-labs-live-editor,.class-labs-recording-form{grid-template-columns:1fr}.class-labs-join{width:100%}}.class-labs-recording-form textarea{min-height:42px;max-height:96px;border:1px solid #d6dfd9;border-radius:10px;padding:10px 12px;background:#fff;font:inherit;resize:vertical}.class-labs-recording-meta p{margin:2px 0;color:var(--muted);font-size:.78rem;line-height:1.4}@media(max-width:900px){.class-labs-recording-form textarea{grid-column:1/-1}}@media(max-width:620px){.class-labs-recording-form textarea{grid-column:auto}}.account-menu{position:relative;min-width:0}.account-trigger{display:flex;align-items:center;gap:8px;width:100%;min-height:40px;padding:4px;border:0;border-radius:8px;background:transparent;color:var(--muted);font:inherit;cursor:pointer;text-align:left}.account-trigger:hover,.account-trigger[aria-expanded=true]{color:var(--ink);background:var(--cream)}.account-avatar{display:grid;place-items:center;flex:0 0 24px;height:24px;border:1px solid var(--line);border-radius:50%;font-size:.6rem;font-weight:600}.account-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.78rem}.account-chevron{flex-shrink:0;margin-left:auto}.account-popover{position:absolute;bottom:calc(100% + 8px);left:0;z-index:15;width:min(260px,calc(100vw - 40px));max-height:min(420px,70dvh);overflow-y:auto;padding:8px;border:1px solid var(--line);border-radius:12px;background:var(--paper);color:var(--ink);box-shadow:0 6px 22px #0000001a}.account-popover[hidden]{display:none}.account-identity{display:grid;gap:3px;padding:8px}.account-identity strong{font-size:.8rem;font-weight:600}.account-identity small{font-size:.7rem;color:var(--muted);overflow-wrap:anywhere}.account-section{padding:8px;border-top:1px solid var(--line)}.account-row,.account-logout{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-height:36px;padding:4px 0;border:0;border-radius:6px;color:var(--ink);background:transparent;font:inherit;font-size:.78rem;cursor:pointer}.account-row small{color:var(--muted);font-size:.7rem}.account-row:disabled{opacity:.6;cursor:default}.account-logout{justify-content:flex-start;padding:8px;border-top:1px solid var(--line);color:var(--muted)}.account-row:hover,.account-logout:hover{background:var(--cream)}.account-theme{display:flex;align-items:center;justify-content:space-between;gap:8px}.account-theme__label{font-size:.78rem}.account-theme__options{display:flex;gap:2px}.account-theme__options button{display:grid;place-items:center;width:30px;height:34px;padding:0;border:0;border-radius:6px;background:transparent;cursor:pointer}.theme-swatch{display:grid;place-items:center;width:16px;height:16px;border:1px solid var(--line);border-radius:50%}.theme-swatch--warm{background:linear-gradient(135deg,#fffaf3 50%,#f7e4d5 50%)}.theme-swatch--dark{background:linear-gradient(135deg,#20282b 50%,#314247 50%)}.theme-swatch--sky{background:linear-gradient(135deg,#f5fbfd 50%,#dceff5 50%)}.theme-swatch__check{color:#244e57;font-size:10px}.theme-swatch--dark .theme-swatch__check{color:#fff}.account-theme__options .is-active .theme-swatch{outline:1px solid var(--ink);outline-offset:2px}.account-menu :is(button,input):focus-visible{outline:2px solid var(--focus);outline-offset:2px}.account-menu .email-notification-preference{margin:0}.account-menu .email-notification-preference label{display:flex;align-items:center;gap:8px;font-size:.78rem}.account-menu .email-notification-preference input{width:auto;accent-color:var(--forest-800)}.account-menu .email-notification-preference small{display:block;margin-top:4px;font-size:.68rem;line-height:1.4;color:var(--muted);white-space:normal}.account-language{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.account-language__options{display:inline-flex;gap:2px;padding:2px;border:1px solid var(--line);border-radius:8px;background:var(--cream)}.account-language__options button{min-height:28px;padding:4px 8px;border:0;border-radius:6px;background:transparent;color:var(--muted);font:inherit;font-size:.68rem;cursor:pointer}.account-language__options button.is-active{background:var(--paper);color:var(--ink);box-shadow:0 1px 3px #00000014}.account-language__options button:disabled{cursor:default;opacity:.65}.workspace-layout.workspace-layout--desktop{display:grid;grid-template-columns:var(--workspace-sidebar-width, 280px) minmax(0,1fr);min-height:100vh}.workspace-layout.workspace-layout--collapsed{grid-template-columns:16px minmax(0,1fr)}.workspace-layout--desktop>.workspace-sidebar{position:sticky;top:0;z-index:5;height:100vh;height:100dvh;min-width:0;padding:12px 18px 24px;display:flex;flex-direction:column;border-right:1px solid var(--line);background:var(--paper);color:var(--ink)}.workspace-layout--collapsed>.workspace-sidebar{padding:0}.workspace-sidebar__toggle{position:absolute;top:50%;right:0;transform:translate(50%,-50%);z-index:3;display:grid;place-items:center;width:20px;height:32px;margin:0;padding:0;border:1px solid var(--line);border-radius:999px;background:var(--paper);color:var(--muted);cursor:pointer}.workspace-sidebar__toggle:after{content:"";position:absolute;inset:-6px}.workspace-sidebar__toggle:hover{background:var(--cream);color:var(--forest-800)}.workspace-sidebar__toggle:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.workspace-sidebar__contents{display:flex;flex-direction:column;flex:1;min-height:0;min-width:0}.workspace-sidebar__navigation{display:flex;flex-direction:column;flex:1;min-height:0;overflow-y:auto}.workspace-sidebar__account{flex:0 0 auto;margin-top:12px;border-top:1px solid var(--line);padding-top:8px}.workspace-sidebar__account:empty{display:none}.workspace-sidebar__contents[hidden],.workspace-sidebar__toggle[hidden]{display:none}.workspace-layout.workspace-layout--mobile{display:block}.workspace-layout--mobile>.workspace-sidebar{position:relative;height:auto;width:100%}.workspace-layout>main,.workspace-layout>.admin-workspace-content{min-width:0}@media(min-width:721px)and (max-width:980px){.student-workspace.workspace-layout{--workspace-sidebar-width: 220px}}.admin-sidebar__brand{display:grid;gap:4px;padding:10px 4px 20px;border-bottom:1px solid var(--line)}.admin-sidebar__brand a{color:var(--forest-950);text-decoration:none;font-weight:800}.admin-sidebar__brand small{color:var(--muted)}.admin-sidebar__nav{display:grid;align-content:start;gap:6px;overflow-y:auto;padding-top:20px}.admin-sidebar__nav a{padding:12px;border-radius:10px;color:var(--ink);text-decoration:none;font-size:.85rem}.admin-sidebar__nav a:hover{background:var(--cream)}.admin-sidebar__nav a[aria-current=page]{background:var(--forest-800);color:var(--paper);font-weight:800}.admin-sidebar__nav a:focus-visible,.admin-sidebar__brand a:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.workspace-layout--mobile>.workspace-sidebar{padding:16px;background:var(--paper)}.workspace-layout--mobile .admin-sidebar__nav{display:flex;flex-wrap:wrap;padding-top:12px}.workspace-layout--mobile .workspace-sidebar__navigation{overflow:visible}.workspace-layout--mobile .workspace-sidebar__toggle{inset:auto auto 0 50%;width:32px;height:20px;transform:translate(-50%,50%)}.workspace-layout--mobile .workspace-sidebar__toggle:after{inset:-12px}.workspace-layout--mobile.workspace-layout--collapsed>.workspace-sidebar{height:16px;min-height:16px;padding:0;border-bottom:1px solid var(--line)}.sidebar-account-stack{display:grid;gap:8px}.company-switcher{display:grid;gap:5px;padding:4px 2px 8px}.company-switcher>span{color:var(--muted);font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.company-switcher select{width:100%;min-width:0;border:1px solid var(--line);border-radius:9px;background:var(--paper);color:var(--ink);padding:8px 28px 8px 9px;font:inherit;font-size:.82rem}.company-switcher select:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.multi-company-calendar-state,.multi-company-calendar-note{margin-bottom:10px;color:var(--muted);font-size:.82rem}.multi-company-calendar-state.error{color:var(--danger, #8b1e1e)}.calendar-scope-switch{display:inline-flex;gap:4px;margin-bottom:12px;padding:3px;border:1px solid var(--line);border-radius:10px;background:var(--cream)}.calendar-scope-switch button{border:0;border-radius:7px;background:transparent;color:var(--muted);padding:7px 10px;cursor:pointer}.calendar-scope-switch button.active{background:var(--paper);color:var(--ink);font-weight:700}.teacher-home-card-heading--calendar{gap:8px}.teacher-home-calendar-actions{display:inline-flex;align-items:center;gap:6px;margin-left:auto}.calendar-scope-switch--compact{gap:2px;margin:0;padding:2px;border-radius:8px}.calendar-scope-switch--compact button{min-height:0;padding:4px 7px;border-radius:6px;font-size:.68rem;line-height:1}.workspace-view-switcher{position:relative;width:100%;min-width:0}.workspace-view-trigger{display:flex;align-items:center;gap:8px;min-height:28px;max-width:100%;padding:3px 6px;border:0;border-radius:8px;background:transparent;color:var(--muted);font:inherit;font-size:.76rem;cursor:pointer;text-align:left}.workspace-view-trigger:hover,.workspace-view-trigger[aria-expanded=true]{color:var(--ink);background:var(--cream)}.workspace-view-trigger svg{flex-shrink:0}.workspace-view-menu{position:absolute;top:calc(100% + 6px);left:0;z-index:15;width:min(180px,100%);max-height:50dvh;overflow-y:auto;padding:6px;border:1px solid var(--line);border-radius:12px;background:var(--paper);color:var(--ink);box-shadow:0 6px 22px #0000001a}.workspace-view-menu button{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:36px;padding:8px;border:0;border-radius:8px;color:var(--ink);background:transparent;font:inherit;font-size:.78rem;text-align:left;cursor:pointer}.workspace-view-menu button:hover,.workspace-view-menu button:focus-visible,.workspace-view-menu button[aria-checked=true]{color:var(--ink);background:var(--cream)}.workspace-view-check{width:12px;font-size:.7rem;color:var(--forest-800)}.workspace-view-switcher button:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.student-workspace{min-height:100vh;display:grid;grid-template-columns:280px minmax(0,1fr);background:#edf1ec;color:var(--ink)}.student-sidebar{position:sticky;top:0;height:100vh;padding:24px 18px;display:flex;flex-direction:column;border-right:1px solid #dce3df;background:#fffdf8}.student-brand{display:flex;align-items:center;gap:12px;padding:4px 6px 24px;border-bottom:1px solid #eee7df}.student-brand-mark{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;color:#fff;background:var(--forest-800);font-weight:900}.student-brand>div,.student-profile>div{min-width:0;display:grid;gap:2px}.student-brand strong,.student-profile strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.student-brand small,.student-profile small{overflow:hidden;color:var(--muted);font-size:.76rem;text-overflow:ellipsis;white-space:nowrap}.student-nav{min-height:0;flex:1;padding-top:24px;overflow-y:auto}.student-nav-title{margin-bottom:10px;display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--forest-950);font-size:.95rem;font-weight:850}.student-nav-title strong{padding:3px 7px;border-radius:999px;color:#fff;background:var(--forest-700);font-size:.64rem;letter-spacing:.04em;text-transform:uppercase}.student-class-list{display:grid;gap:4px}.student-class-list button{width:100%;padding:10px 11px 10px 16px;border:0;border-radius:10px;cursor:pointer;text-align:left;color:#5f6d67;background:transparent;font-size:.84rem;line-height:1.3}.student-class-list button:hover{background:#f2f5f2}.student-class-list button.active{color:var(--forest-900);background:#e8f0eb;font-weight:800}.student-sidebar-loading,.student-no-classes{color:var(--muted);font-size:.8rem;line-height:1.5}.student-profile{margin-top:18px;padding:16px 6px 0;display:grid;gap:12px;border-top:1px solid #eee7df}.student-profile button{min-height:38px;border:1px solid #d8dfda;border-radius:10px;cursor:pointer;color:var(--forest-800);background:#fff;font-weight:750}.student-main{min-width:0;padding:34px clamp(28px,4vw,58px) 48px}.student-class-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.student-class-header h1,.student-welcome h1{margin:0;color:var(--forest-950);font-size:clamp(2.2rem,4vw,3.6rem);line-height:1;letter-spacing:-.05em}.student-class-header>div>p:last-child{max-width:720px;margin:12px 0 0;color:var(--muted);line-height:1.55}.student-new-summary{padding:8px 12px;border-radius:999px;color:#2f5f4e;background:#dceee5;font-size:.78rem;font-weight:850}.student-agenda{margin-top:30px;padding:18px 20px;border:1px solid #dce3df;border-radius:18px;background:#fffdf8}.student-section-heading{display:flex;align-items:center;justify-content:space-between;gap:18px}.student-section-heading>div{display:grid;gap:2px}.student-section-heading span{color:var(--forest-900);font-weight:850}.student-section-heading small{color:var(--muted);font-size:.76rem}.student-date-strip{margin-top:14px;display:flex;gap:8px;overflow-x:auto;padding-bottom:2px}.student-date-strip button{min-height:38px;padding:0 13px;flex:0 0 auto;border:1px solid #d8dfda;border-radius:999px;cursor:pointer;color:#566760;background:#fff;font-size:.78rem;font-weight:750}.student-date-strip button.active{border-color:var(--forest-700);color:#fff;background:var(--forest-700)}.student-error{margin-top:18px;padding:12px 14px;border:1px solid #efcaca;border-radius:12px;color:#8e2929;background:#fff2f1;font-size:.86rem}.student-content-layout{margin-top:24px}.student-content-layout.has-viewer{display:grid;grid-template-columns:minmax(320px,390px) minmax(0,1fr);gap:22px;align-items:start}.student-content-list{min-width:0}.student-content-cards{margin-top:12px;display:grid;gap:10px}.student-content-card{width:100%;padding:16px;display:grid;gap:8px;border:1px solid #dce3df;border-radius:16px;cursor:pointer;text-align:left;color:var(--ink);background:#fffdf8;box-shadow:0 8px 18px #19312a0a}.student-content-card:hover,.student-content-card.selected{border-color:#b6cac0;box-shadow:0 10px 24px #19312a14}.student-content-card.selected{background:#f6faf7}.student-content-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.student-type-badge,.student-new-badge{display:inline-flex;align-items:center;width:fit-content;min-height:24px;padding:0 8px;border-radius:999px;font-size:.66rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.student-type-badge{color:#45685b;background:#e7f0eb}.student-new-badge{color:#7b4f1f;background:#fae7bd}.student-content-card>strong{color:var(--forest-950);font-size:1rem}.student-content-card>p{margin:0;color:var(--muted);font-size:.82rem;line-height:1.45}.student-content-card>small{color:#819087;font-size:.73rem}.student-viewer{min-height:620px;overflow:hidden;border:1px solid #dce3df;border-radius:20px;background:#fffdf8;box-shadow:0 16px 36px #19312a14}.student-viewer-header{padding:20px 22px;display:flex;align-items:flex-start;justify-content:space-between;gap:16px;border-bottom:1px solid #ece5de}.student-viewer-header h2{margin:10px 0 5px;color:var(--forest-950);font-size:1.45rem}.student-viewer-header small{color:var(--muted)}.student-viewer-header>button{width:36px;height:36px;border:1px solid #d8dfda;border-radius:10px;cursor:pointer;color:#607169;background:#fff;font-size:1.3rem}.student-viewer-body{min-height:540px;padding:20px}.student-viewer-body img{display:block;max-width:100%;max-height:calc(100vh - 250px);margin:0 auto;border-radius:12px;object-fit:contain}.student-viewer-body iframe{width:100%;min-height:680px;border:0;border-radius:10px;background:#fff}.student-link-content,.student-text-content{min-height:260px;padding:26px;border:1px solid #e2e7e3;border-radius:15px;background:#fbfcfa}.student-link-content{display:grid;place-items:center;align-content:center;gap:12px;text-align:center}.student-link-content a{min-height:46px;padding:0 18px;display:inline-flex;align-items:center;border-radius:12px;color:#fff;background:var(--forest-800);font-weight:800;text-decoration:none}.student-link-content small{max-width:100%;overflow-wrap:anywhere;color:var(--muted)}.student-text-content{color:#40534a;line-height:1.7;white-space:pre-wrap}.student-empty{margin-top:12px;padding:34px 20px;border:1px dashed #cfd9d3;border-radius:15px;text-align:center;color:var(--muted);background:#fffdf8b8}.student-welcome{min-height:calc(100vh - 82px);display:grid;place-items:center;align-content:center;text-align:center}.student-welcome>span{margin-bottom:12px;color:#7ea697;font-size:.76rem;font-weight:850;letter-spacing:.15em;text-transform:uppercase}.student-welcome p{max-width:520px;color:var(--muted);line-height:1.6}@media(max-width:980px){.student-workspace{grid-template-columns:220px minmax(0,1fr)}.student-main{padding-left:24px;padding-right:24px}.student-content-layout.has-viewer{grid-template-columns:1fr}}@media(max-width:720px){.student-workspace{display:block}.student-sidebar{position:relative;width:100%;height:auto;border-right:0;border-bottom:1px solid #dce3df}.student-nav{overflow:visible}.student-class-list{display:flex;gap:7px;overflow-x:auto}.student-class-list button{width:auto;flex:0 0 auto}.student-profile{display:none}.student-main{padding:24px 18px 36px}.student-class-header{flex-direction:column}.student-viewer{min-height:480px}.student-viewer-body iframe{min-height:520px}}.student-video-content{display:grid;gap:12px}.student-video-content iframe{width:100%;min-height:520px;border:0;border-radius:12px;background:#111}.student-video-content a{justify-self:start;color:var(--forest-700);font-size:.82rem;font-weight:800;text-decoration:none}.student-video-content a:hover{text-decoration:underline}.student-workspace-tabs{margin-top:24px;display:flex;gap:8px;border-bottom:1px solid #dce3df}.student-workspace-tabs button{min-height:42px;padding:0 14px;border:0;border-bottom:3px solid transparent;cursor:pointer;color:#71817f;background:transparent;font-weight:850}.student-workspace-tabs button.active{border-bottom-color:var(--mate-orange);color:var(--forest-900)}.student-calendar-wrap,.student-forum-wrap{margin-top:22px}.student-class-group{display:grid;gap:4px}.student-class-subnav{margin:1px 0 8px 18px;padding-left:10px;display:grid;gap:2px;border-left:1px solid #d7e1dc}.student-class-subnav button{width:100%;padding:7px 9px;border:0;border-radius:8px;cursor:pointer;text-align:left;color:#78867f;background:transparent;font-size:.75rem;font-weight:650}.student-class-subnav button:hover{color:var(--forest-900);background:#f3f7f4}.student-class-subnav button.active{color:var(--forest-900);background:#eaf2ed;font-weight:850}.student-section-wrap{margin-top:24px}.student-calendar-activity-list{margin-top:16px;padding:18px;border:1px solid #dce3df;border-radius:15px;background:#fffdf8}.student-calendar-activity-list h2{margin:0 0 12px;color:var(--forest-950);font-size:1rem}.student-calendar-activity-list button{width:100%;padding:11px 12px;display:grid;gap:3px;border:1px solid #e3e8e5;border-radius:10px;cursor:pointer;text-align:left;background:#fff}.student-calendar-activity-list button+button{margin-top:7px}.student-calendar-activity-list button span{color:var(--muted);font-size:.68rem;text-transform:uppercase}.student-calendar-activity-list p{margin:0;color:var(--muted)}.student-class-home{margin-top:24px;min-height:calc(100vh - 220px);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(230px,1fr));gap:18px}.student-home-card{min-width:0;padding:24px;display:flex;flex-direction:column;justify-content:space-between;gap:18px;border:1px solid #dce3df;border-radius:20px;cursor:pointer;text-align:left;color:var(--ink);background:#fffdf8;box-shadow:0 10px 24px #19312a0d;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}.student-home-card:hover{transform:translateY(-2px);border-color:#b8cbc2;box-shadow:0 14px 30px #19312a14}.student-home-card:focus-visible{outline:3px solid rgba(88,163,143,.22);outline-offset:3px}.student-home-card-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.student-home-card-heading span{color:var(--forest-950);font-size:1.18rem;font-weight:900}.student-home-card-heading strong{color:var(--forest-700);font-size:.76rem;text-transform:uppercase;letter-spacing:.06em}.student-home-card-body{display:grid;gap:8px}.student-home-card-body b{color:var(--forest-900);font-size:1.35rem}.student-home-card-body p,.student-home-calendar-preview p{margin:0;color:var(--muted);line-height:1.5}.student-home-card>small{color:var(--muted);font-size:.78rem}.student-home-calendar-preview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.student-home-calendar-preview span{padding:10px 12px;border:1px solid #e2e8e4;border-radius:11px;color:var(--forest-800);background:#f7faf8;font-size:.82rem;font-weight:800}@media(max-width:980px){.student-class-home{grid-template-columns:1fr;grid-template-rows:none}}.student-home-calendar-card{cursor:default;padding:18px}.student-home-calendar-card:hover{transform:none}.student-home-calendar-card .student-home-card-heading>button{min-height:30px;padding:0 10px;border:1px solid #ccd9d2;border-radius:9px;cursor:pointer;color:var(--forest-800);background:#fff;font-size:.7rem;font-weight:850;text-transform:uppercase;letter-spacing:.05em}.student-home-calendar-card .class-calendar{min-height:0}.student-home-detail-card{cursor:default}.student-home-detail-card:hover{transform:none}.student-home-detail-card .student-home-card-heading>button{min-height:30px;padding:0 10px;border:1px solid #ccd9d2;border-radius:9px;cursor:pointer;color:var(--forest-800);background:#fff;font-size:.7rem;font-weight:850;text-transform:uppercase;letter-spacing:.05em}.student-home-live-summary{padding:12px 0 14px;display:flex;align-items:center;justify-content:space-between;gap:14px;border-bottom:1px solid #e8ece9}.student-home-live-summary>div{display:grid;gap:3px}.student-home-live-summary small{color:var(--muted);font-size:.7rem;text-transform:uppercase;letter-spacing:.05em}.student-home-live-summary b{color:var(--forest-950);font-size:1.05rem}.student-home-live-summary>span{padding:5px 8px;border-radius:999px;color:#7b837f;background:#eef1ef;font-size:.68rem;font-weight:850}.student-home-live-summary>span.available{color:#376e5b;background:#e6f2eb}.student-home-history{min-width:0;display:grid;gap:8px}.student-home-history>small{color:var(--muted);font-size:.68rem;text-transform:uppercase;letter-spacing:.05em;font-weight:800}.student-home-history>p{margin:0;color:var(--muted);font-size:.78rem}.student-home-history-row{min-width:0;padding:7px 0;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #edf0ee}.student-home-history-row:last-child{border-bottom:0}.student-home-history-row span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--forest-900);font-size:.78rem;font-weight:750}.student-home-history-row time{flex:0 0 auto;color:var(--muted);font-size:.68rem}.student-home-history-row[type=button],button.student-home-history-row{width:100%;padding-left:0;padding-right:0;border:0;border-bottom:1px solid #edf0ee;border-radius:0;cursor:pointer;text-align:left;background:transparent;font:inherit}button.student-home-history-row:hover span{color:var(--forest-700);text-decoration:underline}button.student-home-history-row:focus-visible{outline:2px solid rgba(88,163,143,.25);outline-offset:2px}.student-content-list article.selected{border-color:#9fc0b1;background:#f0f7f3;box-shadow:0 0 0 2px #58a38f1f}.student-home-heading-label,.student-subnav-label,.class-home-labs-title{display:inline-flex;align-items:center;gap:.5rem;min-width:0}.student-home-card-heading .student-home-heading-label>.student-new-badge,.class-home-labs-heading .class-home-labs-title>.student-new-badge,.student-class-subnav .student-subnav-label>.student-new-badge{display:inline-flex;align-items:center;width:fit-content;min-height:20px;padding:0 7px;border-radius:999px;color:#7b4f1f;background:#fae7bd;font-size:.6rem;font-weight:900;line-height:1;letter-spacing:.04em;text-transform:uppercase}.student-class-subnav .student-subnav-label{width:100%;justify-content:space-between}.student-home-heading-label>span:first-child,.class-home-labs-title>span:first-child{color:var(--forest-950);font-size:1.18rem;font-weight:900}.student-content-card-group{display:grid;gap:10px}.student-viewer-inline-mobile{display:none}.student-viewer-desktop{display:block}@media(max-width:720px){.student-viewer-inline-mobile{display:block;min-height:0;margin:2px 0 8px;border-radius:16px;box-shadow:0 10px 24px #19312a14}.student-viewer-desktop{display:none}.student-viewer-inline-mobile .student-viewer-header{padding:16px}.student-viewer-inline-mobile .student-viewer-header h2{margin-top:8px;font-size:1.15rem}.student-viewer-inline-mobile .student-viewer-body{min-height:0;padding:14px}.student-viewer-inline-mobile .student-viewer-body iframe,.student-viewer-inline-mobile .student-video-content iframe{min-height:min(70vh,520px)}.student-viewer-inline-mobile .student-link-content,.student-viewer-inline-mobile .student-text-content{min-height:0;padding:18px}}@media(max-width:720px){.student-content-card-group:has(.student-viewer-inline-mobile){gap:0}.student-content-card-group:has(.student-viewer-inline-mobile) .student-content-card.selected{border-bottom-left-radius:0;border-bottom-right-radius:0;border-bottom-color:transparent;box-shadow:0 8px 18px #19312a0d}.student-content-card-group:has(.student-viewer-inline-mobile) .student-viewer-inline-mobile{margin:0 0 10px;border-top-left-radius:0;border-top-right-radius:0;border-top-color:transparent;box-shadow:0 12px 24px #19312a14;position:relative}.student-content-card-group:has(.student-viewer-inline-mobile) .student-viewer-inline-mobile:before{content:"";position:absolute;top:-1px;left:16px;right:16px;border-top:1px solid #dce3df}}.student-viewer-toolbar{display:flex;justify-content:flex-end;padding:10px 12px 0}.student-viewer-toolbar>button{width:32px;height:32px;border:1px solid #d8dfda;border-radius:9px;cursor:pointer;color:#607169;background:#fff;font-size:1.15rem;line-height:1}@media(max-width:720px){.student-viewer-inline-mobile .student-viewer-toolbar{padding:8px 10px 0}}.teacher-workspace{min-height:100vh;display:grid;grid-template-columns:280px minmax(0,1fr);background:#edf1ec;color:var(--ink)}.teacher-sidebar{position:sticky;top:0;height:100vh;padding:24px 18px;display:flex;flex-direction:column;border-right:1px solid #dce3df;background:#fffdf8}.teacher-brand{display:flex;align-items:center;gap:12px;padding:4px 6px 24px;border-bottom:1px solid #eee7df}.teacher-brand-mark{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;color:#fff;background:var(--forest-800);font-weight:900}.teacher-brand>div,.teacher-profile>div{min-width:0;display:grid;gap:2px}.teacher-brand small,.teacher-profile small,.teacher-muted{color:var(--muted);font-size:.76rem}.teacher-nav{min-height:0;flex:1;padding-top:24px;overflow-y:auto}.teacher-nav-title{margin-bottom:10px;color:var(--forest-950);font-size:.95rem;font-weight:850}.teacher-class-list{display:grid;gap:4px}.teacher-class-list button{width:100%;padding:10px 11px 10px 16px;border:0;border-radius:10px;cursor:pointer;text-align:left;color:#5f6d67;background:transparent;font-size:.84rem}.teacher-class-list button:hover{background:#f2f5f2}.teacher-class-list button.active{color:var(--forest-900);background:#e8f0eb;font-weight:800}.teacher-profile{margin-top:18px;padding:16px 6px 0;display:grid;gap:12px;border-top:1px solid #eee7df}.teacher-profile button{min-height:38px;border:1px solid #d8dfda;border-radius:10px;cursor:pointer;color:var(--forest-800);background:#fff;font-weight:750}.teacher-main{min-width:0;padding:34px clamp(28px,4vw,58px) 48px}.teacher-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.teacher-header h1,.teacher-welcome h1{margin:0;color:var(--forest-950);font-size:clamp(2.2rem,4vw,3.6rem);line-height:1;letter-spacing:-.05em}.teacher-header>div>p:last-child{max-width:720px;margin:12px 0 0;color:var(--muted)}.teacher-primary-action{width:auto;min-width:180px;padding:0 18px}.teacher-quick-actions{margin-top:26px;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.teacher-quick-actions button{padding:15px;border:1px solid #dce3df;border-radius:15px;cursor:pointer;text-align:left;background:#fffdf8}.teacher-quick-actions button:hover{border-color:#b8cbc2;background:#f8fbf9}.teacher-quick-actions strong,.teacher-quick-actions span{display:block}.teacher-quick-actions strong{color:var(--forest-900)}.teacher-quick-actions span{margin-top:3px;color:var(--muted);font-size:.74rem}.teacher-error{margin-top:18px;padding:12px 14px;border:1px solid #efcaca;border-radius:12px;color:#8e2929;background:#fff2f1;font-size:.86rem}.teacher-grid{margin-top:22px;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:18px}.teacher-panel{min-width:0;padding:20px;border:1px solid #dce3df;border-radius:18px;background:#fffdf8;box-shadow:0 10px 24px #19312a0d}.teacher-panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.teacher-panel-heading h2{margin:0;color:var(--forest-950);font-size:1.15rem}.teacher-panel-heading p{margin:5px 0 0;color:var(--muted);font-size:.78rem}.teacher-panel-heading button{min-height:36px;padding:0 12px;border:1px solid #ccd9d2;border-radius:10px;cursor:pointer;color:var(--forest-800);background:#fff;font-weight:800}.teacher-agenda-list,.teacher-content-list{margin-top:14px;display:grid;gap:9px}.teacher-agenda-list article,.teacher-content-list article{padding:13px;border:1px solid #e5eae7;border-radius:12px;background:#fbfcfa}.teacher-agenda-list article{display:grid;grid-template-columns:90px 1fr;gap:14px}.teacher-agenda-list time{color:var(--forest-700);font-size:.78rem;font-weight:850}.teacher-agenda-list strong,.teacher-content-list strong{color:var(--forest-950)}.teacher-agenda-list p,.teacher-content-list p{margin:4px 0 0;color:var(--muted);font-size:.8rem;line-height:1.45}.teacher-content-list article{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.teacher-content-list article>div{display:grid;gap:3px}.teacher-content-list span{width:max-content;padding:2px 7px;border-radius:999px;color:#45685b;background:#e7f0eb;font-size:.64rem;font-weight:850;text-transform:uppercase}.teacher-content-list small{color:var(--muted);font-size:.73rem;white-space:nowrap}.teacher-empty{margin-top:14px;padding:28px 18px;border:1px dashed #cfd9d3;border-radius:14px;text-align:center;color:var(--muted)}.teacher-welcome{min-height:calc(100vh - 82px);display:grid;place-items:center;align-content:center;text-align:center}.teacher-modal-backdrop{padding:24px}.teacher-content-modal{width:min(720px,100%);max-height:calc(100vh - 48px);overflow-y:auto;border-radius:22px;background:var(--paper);box-shadow:0 28px 80px #244e5733}.teacher-modal-header{padding:24px 26px 18px;display:flex;align-items:flex-start;justify-content:space-between;border-bottom:1px solid #eee4db}.teacher-modal-header h2{margin:0;color:var(--forest-950)}.teacher-modal-header>button{width:36px;height:36px;border:1px solid #d8dfda;border-radius:10px;cursor:pointer;background:#fff;font-size:1.2rem}.teacher-content-form{padding:24px 26px 26px;display:grid;gap:18px}.teacher-content-form select,.teacher-content-form textarea{width:100%;border:1px solid var(--line);border-radius:13px;background:#fff;padding:12px 14px;font:inherit;color:var(--ink)}.teacher-content-form select{min-height:48px}.teacher-content-form textarea{min-height:110px;resize:vertical}.teacher-form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.teacher-file-field small{color:var(--muted)}.teacher-form-actions{display:flex;justify-content:flex-end;gap:10px}.teacher-form-actions .primary-button,.teacher-form-actions .secondary-button{min-width:120px;margin:0;padding:0 18px}@media(max-width:1100px){.teacher-quick-actions{grid-template-columns:repeat(3,1fr)}.teacher-grid{grid-template-columns:1fr}}@media(max-width:760px){.teacher-workspace{display:block}.teacher-sidebar{position:relative;width:100%;height:auto;border-right:0;border-bottom:1px solid #dce3df}.teacher-class-list{display:flex;overflow-x:auto}.teacher-class-list button{width:auto;flex:0 0 auto}.teacher-profile{display:none}.teacher-main{padding:24px 18px 36px}.teacher-header{flex-direction:column}.teacher-quick-actions{grid-template-columns:repeat(2,1fr)}.teacher-form-grid{grid-template-columns:1fr}.teacher-modal-backdrop{padding:12px}.teacher-form-actions{display:grid;grid-template-columns:1fr}.teacher-form-actions button{width:100%}}.teacher-form-error{padding:12px 14px;border:1px solid #efcaca;border-radius:12px;color:#8e2929;background:#fff2f1;font-size:.84rem;line-height:1.45}.teacher-workspace-tabs{margin-top:22px;display:flex;gap:8px;border-bottom:1px solid #dce3df}.teacher-workspace-tabs button{min-height:42px;padding:0 14px;border:0;border-bottom:3px solid transparent;cursor:pointer;color:#71817f;background:transparent;font-weight:850}.teacher-workspace-tabs button.active{border-bottom-color:var(--mate-orange);color:var(--forest-900)}.teacher-calendar-add{margin-top:10px;min-height:38px;padding:0 13px;border:1px solid #ccd9d2;border-radius:10px;cursor:pointer;color:var(--forest-800);background:#fffdf8;font-weight:800}.teacher-forum-wrap{margin-top:22px}.teacher-class-group{display:grid;gap:4px}.teacher-class-subnav{margin:1px 0 8px 18px;padding-left:10px;display:grid;gap:2px;border-left:1px solid #d7e1dc}.teacher-class-subnav button{width:100%;padding:7px 9px;border:0;border-radius:8px;cursor:pointer;text-align:left;color:#78867f;background:transparent;font-size:.75rem;font-weight:650}.teacher-class-subnav button:hover{color:var(--forest-900);background:#f3f7f4}.teacher-class-subnav button.active{color:var(--forest-900);background:#eaf2ed;font-weight:850}.teacher-section-wrap{margin-top:24px}.teacher-resources-panel{margin-top:18px}.teacher-calendar-day-items{margin-top:16px;padding:18px;border:1px solid #dce3df;border-radius:15px;background:#fffdf8}.teacher-calendar-day-items h2{margin:0 0 12px;color:var(--forest-950);font-size:1rem}.teacher-calendar-day-items article{padding:11px 12px;display:grid;gap:4px;border:1px solid #e3e8e5;border-radius:10px;background:#fff}.teacher-calendar-day-items article+article{margin-top:7px}.teacher-calendar-day-items article span{color:var(--muted);font-size:.68rem;text-transform:uppercase}.teacher-calendar-day-items article p,.teacher-calendar-day-items>p{margin:0;color:var(--muted)}.teacher-class-home{margin-top:24px;min-height:calc(100vh - 220px);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(230px,1fr));gap:18px}.teacher-home-card{min-width:0;padding:24px;display:flex;flex-direction:column;justify-content:space-between;gap:18px;border:1px solid #dce3df;border-radius:20px;cursor:pointer;text-align:left;color:var(--ink);background:#fffdf8;box-shadow:0 10px 24px #19312a0d;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}.teacher-home-card:hover{transform:translateY(-2px);border-color:#b8cbc2;box-shadow:0 14px 30px #19312a14}.teacher-home-card:focus-visible{outline:3px solid rgba(88,163,143,.22);outline-offset:3px}.teacher-home-card-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.teacher-home-card-heading span{color:var(--forest-950);font-size:1.18rem;font-weight:900}.teacher-home-card-heading strong{color:var(--forest-700);font-size:.76rem;text-transform:uppercase;letter-spacing:.06em}.teacher-home-card-body{display:grid;gap:8px}.teacher-home-card-body b{color:var(--forest-900);font-size:1.35rem}.teacher-home-card-body p,.teacher-home-calendar-preview p{margin:0;color:var(--muted);line-height:1.5}.teacher-home-card>small{color:var(--muted);font-size:.78rem}.teacher-home-calendar-preview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.teacher-home-calendar-preview span{padding:10px 12px;border:1px solid #e2e8e4;border-radius:11px;color:var(--forest-800);background:#f7faf8;font-size:.82rem;font-weight:800}@media(max-width:980px){.teacher-class-home{grid-template-columns:1fr;grid-template-rows:none}}.teacher-home-calendar-card{cursor:default;padding:18px}.teacher-home-calendar-card:hover{transform:none}.teacher-home-calendar-card .teacher-home-card-heading>button{min-height:30px;padding:0 10px;border:1px solid #ccd9d2;border-radius:9px;cursor:pointer;color:var(--forest-800);background:#fff;font-size:.7rem;font-weight:850;text-transform:uppercase;letter-spacing:.05em}.teacher-home-calendar-card .class-calendar{min-height:0}.teacher-home-detail-card{cursor:default}.teacher-home-detail-card:hover{transform:none}.teacher-home-detail-card .teacher-home-card-heading>button{min-height:30px;padding:0 10px;border:1px solid #ccd9d2;border-radius:9px;cursor:pointer;color:var(--forest-800);background:#fff;font-size:.7rem;font-weight:850;text-transform:uppercase;letter-spacing:.05em}.teacher-home-live-summary{padding:12px 0 14px;display:flex;align-items:center;justify-content:space-between;gap:14px;border-bottom:1px solid #e8ece9}.teacher-home-live-summary>div{display:grid;gap:3px}.teacher-home-live-summary small{color:var(--muted);font-size:.7rem;text-transform:uppercase;letter-spacing:.05em}.teacher-home-live-summary b{color:var(--forest-950);font-size:1.05rem}.teacher-home-live-summary>span{padding:5px 8px;border-radius:999px;color:#7b837f;background:#eef1ef;font-size:.68rem;font-weight:850}.teacher-home-live-summary>span.available{color:#376e5b;background:#e6f2eb}.teacher-home-history{min-width:0;display:grid;gap:8px}.teacher-home-history>small{color:var(--muted);font-size:.68rem;text-transform:uppercase;letter-spacing:.05em;font-weight:800}.teacher-home-history>p{margin:0;color:var(--muted);font-size:.78rem}.teacher-home-history-row{min-width:0;padding:7px 0;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #edf0ee}.teacher-home-history-row:last-child{border-bottom:0}.teacher-home-history-row span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--forest-900);font-size:.78rem;font-weight:750}.teacher-home-history-row time{flex:0 0 auto;color:var(--muted);font-size:.68rem}.teacher-home-history-row[type=button],button.teacher-home-history-row{width:100%;padding-left:0;padding-right:0;border:0;border-bottom:1px solid #edf0ee;border-radius:0;cursor:pointer;text-align:left;background:transparent;font:inherit}button.teacher-home-history-row:hover span{color:var(--forest-700);text-decoration:underline}button.teacher-home-history-row:focus-visible{outline:2px solid rgba(88,163,143,.25);outline-offset:2px}.teacher-content-list article.selected{border-color:#9fc0b1;background:#f0f7f3;box-shadow:0 0 0 2px #58a38f1f}.teacher-content-list__meta{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;flex-wrap:wrap}.teacher-content-list__meta>small{margin-right:.2rem}.teacher-content-status{display:inline-flex;align-items:center;min-height:24px;padding:.15rem .45rem;border-radius:999px;font-size:.68rem;font-weight:800}.teacher-content-status.active{color:var(--forest-800);background:color-mix(in srgb,var(--forest-600) 13%,var(--paper))}.teacher-content-status.inactive{color:var(--muted);background:color-mix(in srgb,var(--muted) 12%,var(--paper))}.teacher-content-list__meta button{min-height:32px;padding:.35rem .6rem;border:1px solid var(--line);border-radius:9px;background:var(--paper);color:var(--forest-800);font:inherit;font-size:.72rem;font-weight:750;cursor:pointer}.teacher-content-list__meta button:disabled{opacity:.55;cursor:default}.teacher-home-calendar-actions>button{min-height:30px;padding:0 10px;border:1px solid #ccd9d2;border-radius:9px;cursor:pointer;color:var(--forest-800);background:#fff;font-size:.7rem;font-weight:850;text-transform:uppercase;letter-spacing:.05em}.login-divider{display:flex;align-items:center;gap:12px;margin:18px 0;color:var(--login-brand-subtle, rgba(23, 53, 45, .62));font-size:.82rem;text-transform:uppercase;letter-spacing:.08em}.login-divider:before,.login-divider:after{content:"";flex:1;height:1px;background:#7f7f7f47}.google-signin{width:100%;min-height:44px}.google-signin__button{display:flex;justify-content:center;width:100%}.google-signin.is-disabled{pointer-events:none;opacity:.55}.finance-entry-modal label{display:flex;flex-direction:column;gap:6px;min-width:0;font-size:.85rem;font-weight:600}.finance-entry-modal :is(input,select,textarea){width:100%;min-width:0;min-height:44px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--paper);color:var(--ink);font:inherit}.finance-entry-modal textarea{resize:vertical;min-height:80px}.finance-entry-modal .finance-form-grid{margin:0;padding:0;border:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.finance-entry-modal .finance-help{color:var(--muted);font-size:.85rem;line-height:1.5}.finance-entry-modal .finance-error{margin:0 0 16px;padding:12px;border-radius:10px;background:var(--danger-bg);color:var(--danger)}.finance-entry-modal .finance-actions{display:flex;justify-content:flex-end;gap:12px;margin:20px 0 0}.finance-entry-modal .finance-actions button{min-height:44px;margin:0;width:auto;padding:10px 18px;border:1px solid var(--line);border-radius:12px;background:var(--paper);color:var(--ink);font:inherit;font-weight:700;cursor:pointer}.finance-entry-modal .finance-actions .primary-button{color:var(--paper);background:var(--forest-800)}@media(max-width:600px){.finance-entry-modal .finance-form-grid{grid-template-columns:1fr}.finance-entry-modal .finance-actions{flex-wrap:wrap}.finance-entry-modal .finance-actions button{flex:1 1 auto}}.finance-entry-receipt{grid-column:1 / -1;display:grid;gap:10px;padding:14px;border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--paper) 94%,var(--cream))}.finance-entry-receipt>div:first-child{display:grid;gap:3px}.finance-entry-receipt>div:first-child strong{font-size:.88rem}.finance-entry-receipt>div:first-child span,.finance-entry-receipt__selection{color:var(--muted);font-size:.78rem;line-height:1.4}.finance-entry-receipt__actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.finance-entry-receipt__actions .app-file-picker{display:inline-flex}.finance-entry-receipt__selection{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0}.finance-entry-receipt__selection>span{min-width:0;overflow-wrap:anywhere}.finance-entry-receipt__remove{flex:0 0 auto;min-height:34px;padding:5px 9px;border:1px solid var(--line);border-radius:9px;background:var(--paper);color:var(--danger);font:inherit;font-size:.76rem;font-weight:700;cursor:pointer}.finance-entry-receipt__remove:hover{border-color:color-mix(in srgb,var(--danger) 35%,var(--line));background:color-mix(in srgb,var(--danger) 7%,var(--paper))}.finance-entry-receipt__remove:focus-visible{outline:3px solid var(--focus);outline-offset:2px}@media(max-width:600px){.finance-entry-receipt__actions{display:grid;grid-template-columns:1fr 1fr}.finance-entry-receipt__actions .app-file-picker,.finance-entry-receipt__actions .app-file-picker__button{width:100%}.finance-entry-receipt__selection{align-items:flex-start}}.app-table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:20px;background:var(--paper);box-shadow:0 14px 32px #19312a12}.app-table{width:100%;min-width:720px;border-collapse:collapse;font-size:.82rem}.app-table th,.app-table td{padding:12px 16px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}.app-table th{white-space:nowrap;color:var(--muted);background:var(--cream);font-size:.77rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.app-table tbody tr:last-child td{border-bottom:0}.app-table tbody tr:hover{background:var(--cream)}.finance-page{color:var(--ink)}.finance-content{width:min(1180px,100%);margin:0 auto}.finance-page .back-button{display:grid;place-items:center;flex-shrink:0;text-decoration:none}.finance-filters,.finance-actions{display:flex;gap:.75rem;align-items:end;flex-wrap:wrap;margin:1rem 0}.finance-page label{display:flex;flex-direction:column;gap:.35rem;font-size:.85rem;font-weight:600}.finance-page input,.finance-page select,.finance-page textarea{font:inherit;padding:12px 16px;border:1px solid var(--line);border-radius:12px;background:var(--paper);color:inherit;min-width:0}.finance-content button{font:inherit;border:1px solid var(--line);border-radius:12px;padding:.5rem .8rem;cursor:pointer;background:var(--paper);color:inherit}.finance-content button:disabled{opacity:.5;cursor:default}.finance-content button:focus-visible,.finance-page input:focus-visible,.finance-page select:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.finance-tabs{display:flex;gap:.3rem;border:1px solid var(--line);border-radius:14px;background:var(--paper);overflow-x:auto;padding:6px;margin:20px 0}.finance-tabs button{white-space:nowrap;border-color:transparent}.finance-tabs button[aria-current]{background:var(--forest-800);color:#fff}.finance-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.7rem}.finance-metrics article{border:1px solid var(--line);border-radius:20px;padding:24px;background:var(--paper);box-shadow:0 12px 30px #19312a12}.finance-metrics article span{display:block;font-size:.8rem;margin-bottom:.5rem}.finance-metrics strong{font-size:clamp(1.25rem,2.3vw,1.9rem);overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.finance-page td small{display:block;opacity:.7;font-size:.75rem;margin-top:.1rem}.finance-page .finance-number{white-space:nowrap;text-align:right;font-variant-numeric:tabular-nums}.finance-status{font-size:.74rem;white-space:nowrap;border-radius:5px;padding:.2rem .4rem;background:#e0eee5;color:#244733}.finance-status.overdue{background:#fbe3db;color:#913715}.finance-help{font-size:.85rem;line-height:1.5;opacity:.85}.finance-empty{padding:2rem!important;text-align:center!important;opacity:.7}.finance-editor{border:1px solid var(--line);border-radius:12px;background:var(--paper);padding:1.25rem;margin-top:1.5rem}.finance-form-grid{border:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:1rem}.finance-allocations{margin-top:1rem;border:1px solid var(--line);border-radius:8px}.finance-allocations label{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:1rem;margin:.5rem 0}.finance-allocations input{width:130px}.finance-error{background:#fbe3db;color:#8a251e;padding:1rem;border-radius:8px;margin:1rem 0}.finance-notice{background:#e3f1e7;color:#23523a;padding:.7rem}.finance-cancel{margin-top:1.5rem;display:grid;gap:.7rem;max-width:560px}.finance-embedded{padding:1rem;max-height:70vh;overflow-y:auto}.finance-embedded h1{font-size:1.3rem}@media(max-width:600px){.finance-filters label{flex:1;min-width:140px}.finance-form-grid,.finance-metrics{grid-template-columns:1fr}.finance-metrics strong{font-size:1rem}.finance-allocations label{flex-direction:column;align-items:stretch}.finance-allocations input{width:100%}.finance-editor{padding:.8rem}}.finance-debt,.finance-negative{color:var(--danger);font-weight:700}.finance-content button{min-height:40px;font-weight:700;color:var(--forest-800)}.finance-content button:hover:not(:disabled){border-color:var(--forest-600)}.finance-content .primary-button{background:var(--forest-800);color:#fff}.finance-content .primary-button:hover:not(:disabled){background:var(--forest-700)}.finance-filters>label{flex:1 1 220px}.finance-content :is(input,select){min-height:44px}.finance-content h2{color:var(--forest-950)}.finance-help{color:var(--muted)}.finance-editor{border-radius:20px}@media(max-width:600px){.finance-metrics article{padding:18px}.finance-metrics strong{font-size:1.5rem}.finance-actions>button{flex:1 1 auto}.finance-content .primary-button{width:auto}}:root[data-app-theme=dark] .finance-content .primary-button,:root[data-app-theme=dark] .finance-tabs button[aria-current]{color:#17352d}.finance-filters[hidden]{display:none}.finance-page .finance-filter-toggle{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;padding:7px 10px;border:1px solid var(--line);border-radius:9px;color:var(--ink);background:var(--paper);font:inherit;font-size:.78rem;cursor:pointer}.finance-page .finance-filter-toggle:hover{background:var(--cream)}.finance-page .finance-filter-toggle:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.finance-details-modal{width:min(680px,calc(100vw - 24px))}.finance-editor--modal{margin-top:0;padding:0;border:0;background:transparent;display:grid;gap:1.25rem}.finance-detail-summary{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding-bottom:1rem;border-bottom:1px solid var(--line)}.finance-detail-summary>div:first-child{display:grid;gap:.35rem;min-width:0}.finance-detail-kicker{color:var(--muted);font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.finance-detail-summary>div:first-child>strong{font-size:1.05rem;overflow-wrap:anywhere}.finance-detail-summary__meta{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;justify-content:flex-end}.finance-detail-summary__meta>strong{white-space:nowrap;font-variant-numeric:tabular-nums}.finance-detail-info{display:grid;gap:.55rem;padding:.9rem 1rem;border:1px solid var(--line);border-radius:14px;background:var(--cream)}.finance-detail-info p{margin:0;display:grid;grid-template-columns:minmax(110px,.35fr) 1fr;gap:.8rem;align-items:start}.finance-detail-info span{color:var(--muted);font-size:.78rem}.finance-detail-info strong{font-size:.85rem;font-weight:600;overflow-wrap:anywhere}.finance-detail-section{display:grid;gap:.8rem}.finance-detail-section h3,.finance-cancel h3{margin:0;font-size:.95rem}.finance-detail-section__heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.finance-detail-section__heading p{margin:.2rem 0 0;color:var(--muted);font-size:.78rem;line-height:1.45}.finance-detail-list,.finance-attachment-list{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}.finance-detail-list li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.3rem .8rem;align-items:center;padding:.7rem .8rem;border:1px solid var(--line);border-radius:12px}.finance-detail-list li small{grid-column:1 / -1;color:var(--muted)}.finance-attachment-list li{display:flex;align-items:center;gap:.55rem;min-width:0}.finance-attachment-list svg{width:18px;height:18px;flex:0 0 auto;fill:currentColor;color:var(--muted)}.finance-attachment-list a{min-width:0;overflow-wrap:anywhere;color:var(--forest-800);font-weight:700}.finance-attachment-picker{display:flex!important;flex-direction:row!important;align-items:center;gap:.7rem!important;min-width:0}.finance-attachment-picker__input{position:absolute;width:1px!important;height:1px!important;min-height:0!important;padding:0!important;opacity:0;pointer-events:none}.finance-attachment-picker__button{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-height:40px;padding:.55rem .8rem;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--forest-800);font-size:.8rem;font-weight:700;cursor:pointer;white-space:nowrap;transition:border-color .15s ease,background .15s ease}.finance-attachment-picker:hover .finance-attachment-picker__button{border-color:var(--forest-600);background:var(--cream)}.finance-attachment-picker:focus-within .finance-attachment-picker__button{outline:3px solid var(--focus);outline-offset:2px}.finance-attachment-picker__button svg{width:17px;height:17px;fill:currentColor}.finance-attachment-picker__name{min-width:0;color:var(--muted);font-size:.78rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.finance-cancel{margin-top:0;max-width:none;padding-top:1.1rem;border-top:1px solid var(--line);gap:.8rem}.finance-cancel label{gap:.45rem}.finance-cancel input{width:100%}.finance-cancel__actions{display:flex;justify-content:flex-end}.finance-details-modal .finance-cancel__button{min-width:170px;border-color:color-mix(in srgb,var(--danger) 35%,var(--line));color:var(--danger);background:transparent}.finance-details-modal .finance-cancel__button:hover:not(:disabled){border-color:var(--danger);background:color-mix(in srgb,var(--danger) 8%,transparent)}:root[data-app-theme=dark] .finance-detail-info{background:color-mix(in srgb,var(--paper) 88%,#000)}:root[data-app-theme=dark] .finance-attachment-picker__button{background:var(--paper)}@media(max-width:600px){.finance-detail-summary{flex-direction:column}.finance-detail-summary__meta{justify-content:flex-start}.finance-detail-info p{grid-template-columns:1fr;gap:.2rem}.finance-attachment-picker{align-items:stretch;flex-direction:column!important}.finance-attachment-picker__button{width:100%}.finance-attachment-picker__name{white-space:normal}.finance-cancel__actions{justify-content:stretch}.finance-details-modal .finance-cancel__button{width:100%}}.finance-table-toolbar{display:flex;align-items:end;justify-content:space-between;gap:1rem;width:100%;margin:1rem 0}.finance-table-toolbar__action{display:flex;align-items:end;gap:.75rem;min-height:44px}.finance-table-toolbar__filters{display:flex;align-items:end;justify-content:flex-end;gap:.75rem;margin-left:auto}.finance-table-toolbar__filters label{min-width:0}.finance-table-toolbar__filters input{width:min(280px,28vw)}.finance-table-toolbar__filters select{width:min(180px,18vw)}@media(max-width:760px){.finance-table-toolbar{align-items:stretch;flex-direction:column}.finance-table-toolbar__action{min-height:0}.finance-table-toolbar__filters{width:100%;margin-left:0;justify-content:stretch;flex-wrap:wrap}.finance-table-toolbar__filters label{flex:1 1 150px}.finance-table-toolbar__filters input,.finance-table-toolbar__filters select{width:100%}}.finance-activity-table-wrap{margin-top:1rem}.finance-activity-table{table-layout:fixed}.finance-activity-table th:nth-child(1),.finance-activity-table td:nth-child(1){width:220px}.finance-activity-table th:nth-child(3),.finance-activity-table td:nth-child(3){width:220px}.finance-activity-table td{vertical-align:middle}.finance-activity-date time{white-space:nowrap;color:var(--muted);font-variant-numeric:tabular-nums}.finance-activity-table td:nth-child(2) strong{display:block;font-weight:700;overflow-wrap:anywhere}.finance-activity-table td:nth-child(3){color:var(--muted)}.finance-activity-system{font-style:italic;opacity:.75}@media(max-width:760px){.finance-activity-table{min-width:620px}.finance-activity-table th:nth-child(1),.finance-activity-table td:nth-child(1){width:190px}.finance-activity-table th:nth-child(3),.finance-activity-table td:nth-child(3){width:170px}}.finance-audit-prefix{color:var(--ink);font-weight:700}.finance-activity-table td:nth-child(2) strong{display:inline;font-weight:600}.finance-category-form{display:flex;align-items:end;gap:.75rem;margin:1rem 0;flex-wrap:wrap}.finance-category-form label{flex:1 1 320px}.finance-category-form button{flex:0 0 auto}.finance-categories-table{min-width:520px}.finance-categories-table th:nth-child(2),.finance-categories-table td:nth-child(2){width:180px}@media(max-width:600px){.finance-category-form{align-items:stretch;flex-direction:column}.finance-category-form button{width:100%}}.finance-attachment-list li{position:relative}.finance-details-modal .finance-attachment-remove,.finance-details-modal .finance-attachment-clear{display:inline-grid;place-items:center;flex:0 0 auto;width:28px;min-width:28px;height:28px;min-height:28px;margin-left:auto;padding:0;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--muted);font-size:1rem;font-weight:700;line-height:1}.finance-details-modal .finance-attachment-remove:hover:not(:disabled),.finance-details-modal .finance-attachment-clear:hover:not(:disabled){border-color:color-mix(in srgb,var(--danger) 30%,var(--line));background:color-mix(in srgb,var(--danger) 8%,transparent);color:var(--danger)}.finance-attachment-upload{display:grid;gap:.55rem}.finance-attachment-pending{display:flex;align-items:center;justify-content:flex-end;gap:.5rem}.finance-details-modal .finance-attachment-upload__button{min-height:36px;padding:.45rem .75rem;border-radius:9px;font-size:.78rem}.finance-details-modal .finance-cancel__button{min-height:40px;min-width:170px;padding:.5rem .8rem;border:1px solid color-mix(in srgb,var(--danger) 35%,var(--line));border-radius:12px;background:var(--paper);color:var(--danger);font:inherit;font-weight:700}.finance-details-modal .finance-cancel__button:hover:not(:disabled){border-color:var(--danger);background:color-mix(in srgb,var(--danger) 8%,var(--paper));color:var(--danger)}.finance-details-modal .finance-cancel__button:focus-visible,.finance-details-modal .finance-attachment-remove:focus-visible,.finance-details-modal .finance-attachment-clear:focus-visible{outline:3px solid var(--focus);outline-offset:2px}@media(max-width:600px){.finance-attachment-pending{align-items:stretch;flex-direction:column}.finance-details-modal .finance-attachment-clear{align-self:flex-end}.finance-details-modal .finance-attachment-upload__button{width:100%}}.finance-details-modal .finance-attachment-upload{display:block}.finance-details-modal .finance-attachment-upload__row{display:flex;align-items:center;gap:10px;width:100%}.finance-details-modal .finance-attachment-picker{flex:1 1 auto;min-width:0}.finance-details-modal .finance-attachment-pending{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:flex-end;gap:8px;margin-left:auto}.finance-details-modal .finance-attachment-remove,.finance-details-modal .finance-attachment-clear{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;width:34px;min-width:34px;height:34px;min-height:34px;margin-left:auto;padding:0;border:1px solid var(--line);border-radius:9px;background:var(--paper);color:var(--ink);cursor:pointer;line-height:1}.finance-details-modal .finance-attachment-clear{margin-left:0}.finance-details-modal .finance-attachment-remove svg,.finance-details-modal .finance-attachment-clear svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;pointer-events:none}.finance-details-modal .finance-attachment-remove:hover:not(:disabled),.finance-details-modal .finance-attachment-clear:hover:not(:disabled){border-color:color-mix(in srgb,var(--danger) 35%,var(--line));background:color-mix(in srgb,var(--danger) 7%,var(--paper));color:var(--danger)}.finance-details-modal .finance-attachment-upload__button{box-sizing:border-box;min-height:40px;height:40px;padding:0 13px;border-radius:10px;white-space:nowrap}.finance-details-modal .finance-cancel__button{box-sizing:border-box;min-height:40px;min-width:170px;padding:0 13px;border:1px solid color-mix(in srgb,var(--danger) 35%,var(--line));border-radius:10px;background:var(--paper);color:var(--danger);font:inherit;font-weight:700;cursor:pointer}.finance-details-modal .finance-cancel__button:hover:not(:disabled){border-color:var(--danger);background:color-mix(in srgb,var(--danger) 7%,var(--paper))}.finance-details-modal .finance-cancel__button:disabled{opacity:.5;cursor:default}@media(max-width:600px){.finance-details-modal .finance-attachment-upload__row{align-items:stretch;flex-direction:column}.finance-details-modal .finance-attachment-pending{width:100%}.finance-details-modal .finance-attachment-upload__button{flex:1 1 auto}}.finance-details-modal .finance-attachment-source-actions{display:flex;align-items:center;gap:10px;flex:1 1 auto;min-width:0}.finance-details-modal .finance-attachment-source-actions .app-file-picker{display:inline-flex;flex:0 0 auto}.finance-details-modal .finance-attachment-selected-name{flex:1 1 160px;min-width:0;color:var(--muted);font-size:.78rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:600px){.finance-details-modal .finance-attachment-source-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}.finance-details-modal .finance-attachment-source-actions .app-file-picker,.finance-details-modal .finance-attachment-source-actions .app-file-picker__button{width:100%}.finance-details-modal .finance-attachment-selected-name{width:100%;white-space:normal;overflow-wrap:anywhere}}.audit-page{display:grid;gap:1.25rem}.audit-header p:last-child{margin:.5rem 0 0;color:var(--muted)}.audit-filters{display:flex;align-items:end;justify-content:flex-end;gap:.75rem;flex-wrap:wrap}.audit-filters label{display:grid;gap:.35rem;color:var(--muted);font-size:.76rem;font-weight:700}.audit-filters input,.audit-filters select{min-height:42px;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink);padding:.55rem .75rem;font:inherit}.audit-filters input{width:min(300px,32vw)}.audit-filters select{width:min(210px,22vw)}.audit-table th:nth-child(1),.audit-table td:nth-child(1){width:220px}.audit-table th:nth-child(3),.audit-table td:nth-child(3){width:220px}.audit-date time{white-space:nowrap;color:var(--muted);font-variant-numeric:tabular-nums}.audit-prefix{font-weight:700}.audit-table td:nth-child(2) strong{font-weight:600;overflow-wrap:anywhere}.audit-table td:nth-child(3),.audit-system{color:var(--muted)}.audit-system{font-style:italic}.audit-empty{padding:2rem!important;text-align:center!important;color:var(--muted)}.audit-error{padding:.75rem .9rem;border:1px solid color-mix(in srgb,var(--danger) 35%,var(--line));border-radius:12px;color:var(--danger);background:color-mix(in srgb,var(--danger) 7%,var(--paper))}@media(max-width:760px){.audit-filters{align-items:stretch;flex-direction:column}.audit-filters label,.audit-filters input,.audit-filters select{width:100%}.audit-table{min-width:620px}.audit-table th:nth-child(1),.audit-table td:nth-child(1){width:190px}.audit-table th:nth-child(3),.audit-table td:nth-child(3){width:170px}}.content-management-page{display:grid;gap:1.25rem}.content-storage-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}.content-storage-grid article{display:grid;gap:.35rem;padding:1.15rem 1.25rem;border:1px solid var(--line);border-radius:18px;background:var(--paper)}.content-storage-grid span,.content-storage-grid small{color:var(--muted)}.content-storage-grid strong{font-size:1.45rem;font-variant-numeric:tabular-nums}.content-management-toolbar{display:flex;align-items:end;justify-content:flex-end;gap:.75rem;flex-wrap:wrap}.content-management-toolbar label{display:grid;gap:.35rem;color:var(--muted);font-size:.78rem;font-weight:700}.content-management-toolbar input,.content-management-toolbar select{min-height:42px;padding:.55rem .75rem;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink);font:inherit}.content-management-toolbar input{width:min(300px,32vw)}.content-management-toolbar select{width:min(210px,22vw)}.content-management-table{min-width:1060px}.content-management-table td>strong{display:block;overflow-wrap:anywhere}.content-management-table td>small{display:block;margin-top:.2rem;color:var(--muted)}.content-number{text-align:right!important;white-space:nowrap;font-variant-numeric:tabular-nums}.content-status{display:inline-flex;align-items:center;min-height:26px;padding:.2rem .5rem;border-radius:999px;font-size:.74rem;font-weight:800}.content-status.active{background:color-mix(in srgb,var(--forest-600) 14%,var(--paper));color:var(--forest-800)}.content-status.inactive{background:color-mix(in srgb,var(--muted) 12%,var(--paper));color:var(--muted)}.content-actions{display:flex;gap:.45rem;white-space:nowrap}.content-actions button{min-height:36px;padding:.4rem .65rem;border:1px solid var(--line);border-radius:9px;background:var(--paper);color:var(--forest-800);font:inherit;font-size:.76rem;font-weight:700;cursor:pointer}.content-actions .content-delete-button{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 30%,var(--line))}.content-management-error{padding:.8rem .9rem;border:1px solid color-mix(in srgb,var(--danger) 35%,var(--line));border-radius:12px;color:var(--danger);background:color-mix(in srgb,var(--danger) 7%,var(--paper))}.content-management-empty{padding:2rem!important;text-align:center!important;color:var(--muted)}@media(max-width:760px){.content-storage-grid{grid-template-columns:1fr}.content-management-toolbar{align-items:stretch;flex-direction:column}.content-management-toolbar label,.content-management-toolbar input,.content-management-toolbar select{width:100%}}.settings-page{color:var(--ink)}.settings-integrations{width:min(980px,100%);margin:0 auto;display:grid;gap:18px}.settings-card{padding:24px;border:1px solid #e5d9ce;border-radius:18px;background:var(--paper);box-shadow:0 10px 28px #3946400d}.settings-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:20px}.settings-card-heading h2{margin:0;color:var(--forest-950);font-size:1.25rem}.settings-card-heading p{margin:6px 0 0;color:var(--muted);font-size:.84rem}.settings-toggle,.settings-inline-check{display:inline-flex;align-items:center;gap:8px;color:#49676a;font-weight:750}.settings-toggle input,.settings-inline-check input{width:18px;height:18px;accent-color:var(--mate-green)}.settings-inline-check{margin-top:16px}.settings-test-row{margin-top:18px;display:flex;align-items:center;gap:14px;flex-wrap:wrap}.settings-test-row small{color:var(--muted)}.settings-actions{display:flex;justify-content:flex-end;gap:10px;padding-bottom:28px}@media(max-width:700px){.settings-card-heading{flex-direction:column}.settings-actions{display:grid;grid-template-columns:1fr}.settings-actions button{width:100%}}.settings-label-with-help{display:inline-flex;align-items:center;gap:7px}.settings-help-button{width:21px;height:21px;padding:0;display:inline-grid;place-items:center;border:1px solid #b8c7c1;border-radius:50%;cursor:pointer;color:var(--mate-teal);background:#f7fbf9;font-size:.72rem;font-weight:900;line-height:1}.settings-help-button:hover,.settings-help-button:focus-visible{border-color:var(--mate-green);background:#edf6f1;outline:none}.settings-help-panel{margin-top:8px;padding:12px 14px;display:grid;gap:7px;border:1px solid #cddbd4;border-radius:11px;color:#45666a;background:#f5faf7;font-size:.75rem;line-height:1.45}.settings-help-panel strong{color:var(--forest-900)}.settings-help-panel p,.settings-help-panel ol,.settings-help-panel ul{margin:0}.settings-help-panel ol,.settings-help-panel ul{padding-left:19px}.settings-help-panel code{padding:1px 4px;border-radius:4px;background:#e9f2ed;font-size:.72rem}.users-page .users-toolbar{flex-wrap:wrap}.users-page .search-field{min-width:min(280px,100%)}.users-collection{width:min(1180px,100%);margin:0 auto;display:grid;gap:14px}.users-cards-view{grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr))}.user-record{min-width:0;padding:22px;border:1px solid var(--line);border-radius:20px;background:var(--paper);box-shadow:0 12px 30px #19312a12}.users-cards-view .user-record{display:flex;flex-direction:column;gap:16px}.users-cards-view .user-actions{margin-top:auto;padding-top:8px}.user-email{margin:0;color:var(--muted);overflow-wrap:anywhere;font-size:.9rem}.users-page .user-name-cell{min-width:0}.users-page .user-name-cell strong{overflow-wrap:anywhere}.user-badges{display:flex;gap:8px;flex-wrap:wrap}.user-actions{display:flex;gap:6px;flex-wrap:wrap}.user-actions button{min-height:36px;padding:0 10px;border:1px solid var(--line);border-radius:9px;cursor:pointer;color:var(--forest-800);background:var(--paper);font:inherit;font-size:.8rem;font-weight:700}.user-actions button:hover{border-color:var(--forest-600)}.user-actions button:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.users-list-view .user-record{display:grid;grid-template-columns:minmax(170px,1fr) minmax(150px,1fr) auto auto;gap:16px;align-items:center;padding:14px 18px;box-shadow:none}.users-page .users-details-table{min-width:740px}.users-details-table .user-actions{flex-wrap:nowrap}@media(max-width:1050px){.users-list-view .user-record{grid-template-columns:minmax(0,1fr) auto}.users-list-view .user-email{grid-column:1;grid-row:2}.users-list-view .user-badges{grid-column:2;grid-row:1}.users-list-view .user-actions{grid-column:2;grid-row:2;justify-content:end}}@media(max-width:760px){.users-page .users-toolbar{align-items:stretch}.users-page .search-field{flex-basis:100%}.users-list-view .user-record{grid-template-columns:minmax(0,1fr);gap:10px}.users-list-view .user-record>*{grid-column:auto;grid-row:auto}.users-list-view .user-actions{justify-content:start}.users-page .users-details-table{display:table}.users-page .users-details-table thead{display:table-header-group}.users-page .users-details-table tbody{display:table-row-group}.users-page .users-details-table tr{display:table-row}.users-page .users-details-table td{display:table-cell;padding:12px 16px}.users-page .users-details-table td:before{display:none}}.users-page .users-details-table td{color:var(--ink);border-color:var(--line)}.users-page .users-details-table th{color:var(--muted);background:var(--cream);border-color:var(--line)}.users-page .users-details-table tbody tr:hover{background:var(--cream)}.users-page .users-details-table :is(tbody,tr,td){width:auto}.users-details-table .user-name-cell{min-width:180px;white-space:nowrap}.users-details-table .user-name-cell strong{overflow-wrap:normal}.users-page .users-table-wrap{position:relative}.status-badge.pending{background:color-mix(in srgb,var(--accent, #2a7566) 14%,transparent);color:var(--ink)}.users-header-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.bulk-user-modal{width:min(1180px,calc(100vw - 32px));max-height:calc(100vh - 40px);overflow:auto;padding:26px;border:1px solid var(--line);border-radius:22px;background:var(--paper);box-shadow:0 24px 70px #14272233}.bulk-user-intro{margin:6px 0 0;color:var(--muted)}.bulk-import-mode{display:inline-flex;gap:4px;padding:4px;margin:18px 0;border:1px solid var(--line);border-radius:12px;background:var(--cream)}.bulk-import-mode button{min-height:38px;padding:0 14px;border:0;border-radius:9px;background:transparent;color:var(--muted);font:inherit;font-weight:700;cursor:pointer}.bulk-import-mode button.active{background:var(--paper);color:var(--forest-800);box-shadow:0 1px 5px #1427221a}.bulk-section-heading{display:flex;justify-content:space-between;gap:16px;align-items:end;margin-bottom:12px}.bulk-section-heading h3{margin:0}.bulk-section-heading p,.bulk-file-note,.bulk-file-name{margin:4px 0 0;color:var(--muted)}.bulk-entry-table{min-width:900px}.bulk-entry-table input,.bulk-entry-table select{width:100%;min-height:38px;padding:7px 9px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink);font:inherit}.bulk-entry-table input:focus-visible,.bulk-entry-table select:focus-visible{outline:3px solid var(--focus);outline-offset:1px}.bulk-remove-row{width:34px;height:34px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--muted);font-size:1.2rem;cursor:pointer}.bulk-validate-button{margin-top:14px}.bulk-file-section{padding:20px;border:1px dashed var(--line);border-radius:16px;background:var(--cream)}.bulk-file-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.bulk-file-picker{position:relative;display:inline-flex;min-height:42px;align-items:center;padding:0 16px;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--forest-800);font-weight:700;cursor:pointer}.bulk-file-picker input{position:absolute;inset:0;opacity:0;cursor:pointer}.bulk-preview{margin-top:20px}.bulk-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:12px}.bulk-summary span{padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--cream);color:var(--ink)}.bulk-summary .has-errors{border-color:color-mix(in srgb,#b42318 45%,var(--line))}.bulk-preview-table{min-width:900px}.bulk-row-error{background:color-mix(in srgb,#b42318 6%,var(--paper))}.bulk-cell-error{display:block;margin-top:4px;color:#b42318;font-size:.75rem}.bulk-result{display:inline-flex;padding:4px 8px;border-radius:999px;font-size:.75rem;font-weight:800;white-space:nowrap}.bulk-result.new_account{background:color-mix(in srgb,var(--forest-600) 14%,transparent);color:var(--forest-800)}.bulk-result.existing_account{background:color-mix(in srgb,#8b6b24 16%,transparent);color:var(--ink)}.bulk-result.error{background:color-mix(in srgb,#b42318 12%,transparent);color:#b42318}.bulk-modal-actions{position:sticky;bottom:-26px;margin:22px -26px -26px;padding:16px 26px;border-top:1px solid var(--line);background:var(--paper)}@media(max-width:760px){.users-header-actions{width:100%}.users-header-actions .action-button{flex:1}.bulk-user-modal{width:calc(100vw - 16px);padding:18px}.bulk-section-heading{align-items:stretch;flex-direction:column}.bulk-summary{grid-template-columns:1fr}.bulk-modal-actions{bottom:-18px;margin:18px -18px -18px;padding:14px 18px}}.context-transition-frame{min-height:100%;opacity:1;filter:blur(0);will-change:opacity,filter}.context-transition-frame.is-exiting{opacity:.42;filter:blur(.45px);pointer-events:none;transition:opacity .14s ease-in,filter .14s ease-in}.context-transition-frame.is-entering{pointer-events:none;animation:context-fade-in .19s ease-out both}@keyframes context-fade-in{0%{opacity:.42;filter:blur(.45px)}to{opacity:1;filter:blur(0)}}@media(prefers-reduced-motion:reduce){.context-transition-frame.is-exiting,.context-transition-frame.is-entering{opacity:1;filter:none;transition:none;animation:none;pointer-events:auto}}.pwa-install-prompt{position:fixed;right:14px;bottom:14px;z-index:1200;width:min(340px,calc(100vw - 28px));display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px;border:1px solid var(--line, rgba(22, 55, 47, .14));border-radius:12px;background:var(--paper, #fffdf8);box-shadow:0 8px 24px #0000001a;color:var(--ink, #20332e)}.pwa-install-copy{display:grid;gap:2px;min-width:0}.pwa-install-copy strong{font-size:.82rem;font-weight:600}.pwa-install-copy span{font-size:.7rem;line-height:1.35;color:var(--muted, #68756f)}.pwa-install-actions{display:flex;align-items:center;gap:4px;flex-shrink:0}.pwa-install-actions .primary-button,.pwa-install-dismiss{min-height:30px;padding:5px 8px;border-radius:8px;font-size:.72rem}.pwa-install-dismiss{border:0;background:transparent;color:var(--muted, #68756f);cursor:pointer}@media(max-width:520px){.pwa-install-prompt{left:10px;right:10px;bottom:10px;width:auto}}:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#17352d;background:#eef2ec;font-synthesis:none;text-rendering:optimizeLegibility;--forest-950: #102b25;--forest-900: #16372f;--forest-800: #1d493e;--forest-700: #28604f;--forest-600: #347963;--cream: #f8f5ed;--paper: #fffdf8;--ink: #17352d;--muted: #6b766f;--line: #d8dfda;--danger: #b23434;--danger-bg: #fff2f1;--focus: #82aa9a}*{box-sizing:border-box}html,body,#root{min-width:320px;min-height:100%;margin:0}body{min-height:100vh}button,input{font:inherit}button{-webkit-tap-highlight-color:transparent}.login-page{min-height:100vh;min-height:100dvh;padding:clamp(18px,3vw,42px);display:grid;place-items:center;background:radial-gradient(circle at 8% 8%,rgba(52,121,99,.12),transparent 27rem),radial-gradient(circle at 92% 90%,rgba(199,178,124,.16),transparent 26rem),#edf1ec}.login-layout{width:min(1180px,100%);min-height:min(720px,calc(100dvh - 48px));display:grid;grid-template-columns:minmax(0,1.08fr) minmax(390px,.92fr);overflow:hidden;border:1px solid rgba(22,55,47,.08);border-radius:30px;background:var(--paper);box-shadow:0 28px 70px #19312a24}.login-brand{position:relative;min-height:620px;padding:clamp(48px,6vw,78px);display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;color:#fff;background:linear-gradient(145deg,#102b25fa,#28604ff0)}.login-brand:after{content:"";position:absolute;inset:auto -140px -180px auto;width:430px;height:430px;border-radius:50%;border:1px solid rgba(255,255,255,.12)}.brand-copy,.brand-footnote{position:relative;z-index:2}.eyebrow{margin:0 0 14px;font-size:.76rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:#7ea697}.login-brand .eyebrow{color:#b7d2c7}.brand-copy h1{max-width:510px;margin:0;font-size:clamp(3.4rem,6vw,5.9rem);line-height:.88;letter-spacing:-.065em}.brand-copy h1 span{display:block;color:#e8d9aa}.brand-description{max-width:500px;margin:28px 0 0;font-size:clamp(1rem,1.35vw,1.2rem);line-height:1.6;color:#ffffffc7}.brand-footnote{margin:0;font-size:.9rem;color:#ffffff9e}.brand-illustration{position:relative;align-self:flex-end;width:min(290px,72%);aspect-ratio:1;margin:-24px -10px -20px 0}.brand-circle{position:absolute;border-radius:50%;border:1px solid rgba(255,255,255,.14)}.brand-circle-large{inset:2%}.brand-circle-small{inset:19%;background:#ffffff09}.mate-mark{position:absolute;inset:50% auto auto 50%;width:122px;height:132px;transform:translate(-50%,-44%)}.mate-cup{position:absolute;left:18px;bottom:8px;width:91px;height:77px;border-radius:10px 10px 43px 43px;background:#e8d9aa;box-shadow:inset 0 -10px #102b2514}.mate-cup:before{content:"";position:absolute;left:11px;top:7px;width:69px;height:18px;border-radius:50%;background:#6e8653}.mate-straw{position:absolute;left:70px;top:10px;width:7px;height:72px;border-radius:8px;background:#c7b27c;transform:rotate(15deg);transform-origin:bottom}.mate-leaf{position:absolute;z-index:2;width:22px;height:12px;border-radius:100% 0;background:#395f41}.mate-leaf-one{left:25px;top:10px;transform:rotate(14deg)}.mate-leaf-two{left:47px;top:8px;transform:rotate(172deg)}.mate-steam{position:absolute;top:1px;width:22px;height:46px;border-radius:50%;border-left:2px solid rgba(255,255,255,.5)}.mate-steam-one{left:34px;transform:rotate(12deg)}.mate-steam-two{left:53px;top:-7px;transform:scale(.8) rotate(17deg)}.login-panel-wrap{display:grid;place-items:center;padding:clamp(36px,5vw,70px);background:linear-gradient(#fffdf8e8,#fffdf8fa)}.login-card{width:min(420px,100%)}.login-card-header h2{margin:0;font-size:clamp(2rem,3.4vw,2.65rem);line-height:1.05;letter-spacing:-.045em;color:var(--forest-950)}.login-card-header>p:last-child{margin:12px 0 0;color:var(--muted);line-height:1.55}.mobile-brand{display:none}.login-form{display:grid;gap:20px;margin-top:34px}.field{display:grid;gap:8px}.field>span{font-size:.88rem;font-weight:750;color:#29453d}.field input{width:100%;min-height:52px;border:1px solid var(--line);border-radius:13px;outline:none;padding:0 15px;color:var(--ink);background:#fff;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.field input::placeholder{color:#9aa49e}.field input:hover{border-color:#bfcac3}.field input:focus{border-color:var(--forest-600);box-shadow:0 0 0 4px #34796321}.field input[aria-invalid=true],.password-control.has-error{border-color:var(--danger);background:snow}.field-error{color:var(--danger);font-size:.8rem;font-weight:650}.password-control{position:relative;display:flex;border-radius:13px}.password-control input{padding-right:52px}.password-toggle{position:absolute;top:4px;right:5px;width:44px;height:44px;display:grid;place-items:center;border:0;border-radius:10px;cursor:pointer;color:#65736c;background:transparent}.password-toggle:hover{background:#f0f4f1;color:var(--forest-800)}.password-toggle:focus-visible,.primary-button:focus-visible,.secondary-button:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.password-toggle svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.login-error{margin-top:-2px;padding:12px 14px;border:1px solid #efcaca;border-radius:12px;color:#8e2929;background:var(--danger-bg);font-size:.88rem;line-height:1.4}.primary-button,.secondary-button{min-height:52px;border:0;border-radius:13px;font-weight:800;cursor:pointer;transition:transform .12s ease,background .15s ease,opacity .15s ease}.primary-button{margin-top:4px;display:flex;align-items:center;justify-content:center;gap:10px;color:#fff;background:var(--forest-800);box-shadow:0 10px 24px #1d493e2e}.primary-button:hover:not(:disabled){background:var(--forest-700);transform:translateY(-1px)}.primary-button:active:not(:disabled){transform:translateY(0)}.primary-button:disabled{cursor:wait;opacity:.72}.login-help{margin:24px 0 0;text-align:center;color:#849089;font-size:.8rem;line-height:1.5}.spinner{width:18px;height:18px;display:inline-block;border:2px solid #b7c6bf;border-top-color:var(--forest-700);border-radius:50%;animation:spin .75s linear infinite}.spinner-light{border-color:#ffffff59;border-top-color:#fff}.session-loader{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;gap:11px;color:#52625b;background:#edf1ec;font-size:.92rem}.home-shell{min-height:100vh;display:grid;place-items:center;padding:30px;background:#edf1ec}.home-card{width:min(620px,100%);padding:42px;border-radius:24px;background:#fffdf8;box-shadow:0 22px 55px #19312a1f}.home-card h1{margin:0 0 12px;font-size:2.5rem;color:var(--forest-950)}.home-card p{color:var(--muted);line-height:1.6}.secondary-button{margin-top:16px;padding:0 22px;color:var(--forest-800);border:1px solid #cbd6d0;background:#fff}.secondary-button:hover{background:#f4f7f5}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:920px){.login-page{align-items:start;padding:22px}.login-layout{min-height:calc(100dvh - 44px);grid-template-columns:1fr;overflow:visible}.login-brand{min-height:260px;padding:38px 44px}.brand-copy h1{font-size:clamp(3rem,8vw,4.6rem)}.brand-description{max-width:570px;margin-top:20px}.brand-illustration{position:absolute;right:18px;bottom:-38px;width:210px;opacity:.7}.brand-footnote{display:none}.login-panel-wrap{padding:48px 44px 54px}}@media(max-width:620px){.login-page{padding:0;background:var(--paper)}.login-layout{min-height:100dvh;border:0;border-radius:0;box-shadow:none}.login-brand{display:none}.login-panel-wrap{min-height:100dvh;align-items:center;padding:30px 24px}.mobile-brand{margin-bottom:44px;display:flex;align-items:center;gap:12px;color:var(--forest-900);font-size:1.05rem;font-weight:850}.mobile-brand .mate-mark{position:relative;inset:auto;width:44px;height:48px;flex:0 0 auto;transform:none}.mobile-brand .mate-cup{left:5px;bottom:2px;width:34px;height:29px;border-radius:4px 4px 17px 17px}.mobile-brand .mate-cup:before{left:4px;top:3px;width:26px;height:7px}.mobile-brand .mate-straw{left:25px;top:4px;width:3px;height:27px}.mobile-brand .mate-leaf,.mobile-brand .mate-steam{display:none}.login-card-header h2{font-size:2.25rem}.login-form{margin-top:30px}.field input,.primary-button{min-height:54px}}@media(max-height:690px)and (min-width:621px){.login-layout,.login-brand{min-height:600px}.brand-illustration{width:210px}.login-form{margin-top:24px;gap:16px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.app-page{min-height:100vh;padding:clamp(24px,4vw,54px);background:#edf1ec}.app-header{width:min(1180px,100%);margin:0 auto 30px;display:flex;align-items:flex-end;justify-content:space-between;gap:24px}.app-header h1{margin:0;color:var(--forest-950);font-size:clamp(2.3rem,4vw,3.4rem);line-height:1;letter-spacing:-.045em}.page-subtitle{margin:10px 0 0;color:var(--muted)}.header-user{display:flex;align-items:center;gap:18px}.header-user>div{display:grid;text-align:right}.header-user span{color:var(--muted);font-size:.82rem}.secondary-button.compact{margin:0;min-height:44px}.dashboard-grid{width:min(1180px,100%);margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}.dashboard-card{min-height:132px;display:flex;align-items:center;gap:18px;padding:24px;border:1px solid #d9e1dc;border-radius:20px;text-align:left;color:var(--ink);background:var(--paper);box-shadow:0 12px 30px #19312a12}button.dashboard-card{cursor:pointer}button.dashboard-card:hover{border-color:#b8cbc2;transform:translateY(-1px)}.dashboard-card strong,.dashboard-card small{display:block}.dashboard-card strong{margin-bottom:5px;font-size:1.08rem}.dashboard-card small{color:var(--muted);line-height:1.4}.dashboard-icon{width:50px;height:50px;flex:0 0 auto;display:grid;place-items:center;border-radius:15px;color:#fff;background:var(--forest-800);font-weight:900}.muted-card{opacity:.58}.title-with-back{display:flex;align-items:flex-start;gap:16px}.back-button{width:44px;height:44px;margin-top:20px;border:1px solid #ccd7d1;border-radius:12px;cursor:pointer;color:var(--forest-800);background:#fff;font-size:1.3rem}.action-button{width:auto;min-width:160px;padding:0 20px;margin:0}.users-toolbar,.users-card,.page-alert,.content-loader{width:min(1180px,100%);margin-left:auto;margin-right:auto}.users-toolbar{margin-bottom:16px;display:flex;align-items:center;gap:16px}.search-field{flex:1}.search-field input{width:100%;min-height:48px;padding:0 15px;border:1px solid #d3ddd7;border-radius:13px;outline:none;background:#fff}.search-field input:focus{border-color:var(--forest-600);box-shadow:0 0 0 4px #3479631c}.record-count{color:var(--muted);font-size:.87rem;white-space:nowrap}.users-card{overflow:hidden;border:1px solid #dce3df;border-radius:20px;background:var(--paper);box-shadow:0 14px 32px #19312a12}.users-table-wrap{overflow-x:auto}.users-table{width:100%;border-collapse:collapse}.users-table th{padding:14px 18px;text-align:left;color:#68766f;background:#f5f7f5;border-bottom:1px solid #dfe5e1;font-size:.77rem;letter-spacing:.05em;text-transform:uppercase}.users-table td{padding:15px 18px;border-bottom:1px solid #edf0ee;color:#3f5049;font-size:.9rem}.users-table tbody tr:last-child td{border-bottom:0}.users-table tbody tr:hover{background:#fafbf9}.user-name-cell{display:flex;align-items:center;gap:12px;color:var(--forest-950)}.avatar{width:38px;height:38px;flex:0 0 auto;display:grid;place-items:center;border-radius:50%;color:var(--forest-800);background:#e4ece7;font-size:.75rem;font-weight:850}.role-badge,.status-badge{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border-radius:999px;font-size:.76rem;font-weight:750}.role-badge{color:#4a5e56;background:#eef2ef}.status-badge.active{color:#246044;background:#e5f3eb}.status-badge.inactive{color:#8b4747;background:#f7e9e8}.table-action{text-align:right}.table-action button{min-height:36px;padding:0 13px;border:1px solid #cfdbd4;border-radius:9px;cursor:pointer;color:var(--forest-800);background:#fff;font-weight:700}.empty-state,.content-loader{padding:46px 24px;text-align:center;color:var(--muted)}.content-loader{display:flex;justify-content:center;align-items:center;gap:10px}.page-alert{margin-bottom:16px;padding:13px 15px;display:flex;justify-content:space-between;gap:20px;border-radius:12px}.page-alert.error{border:1px solid #efcaca;color:#8e2929;background:var(--danger-bg)}.page-alert button{border:0;cursor:pointer;color:inherit;background:transparent;font-weight:800}.modal-backdrop{position:fixed;z-index:20;inset:0;padding:24px;display:grid;place-items:center;overflow-y:auto;background:#102b256e;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.user-modal{width:min(650px,100%);max-height:calc(100dvh - 48px);overflow-y:auto;border-radius:22px;background:var(--paper);box-shadow:0 28px 80px #0a1f1947}.modal-header{padding:25px 28px 20px;display:flex;align-items:flex-start;justify-content:space-between;border-bottom:1px solid #e2e7e4}.modal-header h2{margin:0;color:var(--forest-950);font-size:1.75rem}.modal-close{width:40px;height:40px;border:0;border-radius:10px;cursor:pointer;color:#65736c;background:transparent;font-size:1.8rem}.modal-close:hover{background:#eef2ef}.user-form{padding:26px 28px 28px;display:grid;gap:19px}.form-grid{display:grid;gap:16px}.form-grid.two-columns{grid-template-columns:1fr 1fr}.field select{width:100%;min-height:52px;padding:0 13px;border:1px solid var(--line);border-radius:13px;outline:none;color:var(--ink);background:#fff}.field select:focus{border-color:var(--forest-600);box-shadow:0 0 0 4px #34796321}.toggle-row{padding:14px 15px;display:flex;align-items:center;gap:12px;border:1px solid #dde4df;border-radius:13px;cursor:pointer;background:#fafbf9}.toggle-row input{width:19px;height:19px;accent-color:var(--forest-700)}.toggle-row span{display:grid;gap:2px}.toggle-row small{color:var(--muted)}.modal-actions{margin-top:4px;display:flex;justify-content:flex-end;gap:10px}.modal-actions .secondary-button,.modal-actions .primary-button{min-width:110px;margin:0;padding:0 18px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:720px){.app-page{padding:22px 16px}.app-header,.users-header{align-items:stretch;flex-direction:column}.header-user{justify-content:space-between}.header-user>div{text-align:left}.action-button{width:100%}.users-toolbar{align-items:stretch;flex-direction:column}.record-count{padding-left:2px}.users-table thead{display:none}.users-table,.users-table tbody,.users-table tr,.users-table td{display:block;width:100%}.users-table tr{padding:13px 16px;border-bottom:1px solid #e4e9e6}.users-table tr:last-child{border-bottom:0}.users-table td{padding:7px 0;display:flex;align-items:center;justify-content:space-between;gap:16px;border:0}.users-table td:before{content:attr(data-label);color:#819087;font-size:.72rem;font-weight:750;text-transform:uppercase}.users-table td:first-child:before,.table-action:before{display:none}.user-name-cell,.table-action button{width:100%}.form-grid.two-columns{grid-template-columns:1fr}.modal-backdrop{padding:12px;align-items:end}.user-modal{max-height:calc(100dvh - 24px);border-radius:20px 20px 12px 12px}.modal-header,.user-form{padding-left:20px;padding-right:20px}}.preview-banner{width:min(1180px,100%);margin:0 auto 18px;padding:10px 14px;border:1px solid #d8c896;border-radius:12px;color:#6d5a20;background:#fff8dc;font-size:.84rem;font-weight:700}.roles-backend-note,.roles-layout{width:min(1180px,100%);margin-left:auto;margin-right:auto}.roles-backend-note{margin-bottom:18px;padding:13px 15px;border:1px solid #d7dfda;border-radius:13px;color:#52635b;background:#f8faf8;font-size:.86rem;line-height:1.5}.roles-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:18px;align-items:start}.roles-sidebar,.role-detail-card{border:1px solid #dce3df;border-radius:20px;background:var(--paper);box-shadow:0 14px 32px #19312a12}.roles-sidebar{padding:16px;position:sticky;top:20px}.role-list{display:grid;gap:8px;margin-top:14px}.role-list-item{width:100%;min-height:70px;padding:13px 14px;display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid transparent;border-radius:13px;cursor:pointer;text-align:left;color:var(--ink);background:transparent}.role-list-item:hover{background:#f5f8f6}.role-list-item.selected{border-color:#bfd0c7;background:#eef5f1}.role-list-item span:first-child{display:grid;gap:3px}.role-list-item small{color:var(--muted);font-size:.74rem;letter-spacing:.05em}.role-dot{width:10px;height:10px;flex:0 0 auto;border-radius:50%;background:#b8c0bc}.role-dot.active{background:#3f8b66}.role-detail-card{overflow:hidden}.role-detail-header{padding:24px 26px;display:flex;align-items:flex-start;justify-content:space-between;gap:28px;border-bottom:1px solid #e2e7e4}.role-title-row{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.role-detail-header h2{margin:0;color:var(--forest-950);font-size:1.8rem}.role-detail-header p{max-width:620px;margin:7px 0 0;color:var(--muted);line-height:1.5}.structural-badge{padding:5px 9px;border-radius:999px;color:#6b5a25;background:#f7edcf;font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.switch-row{min-width:190px;display:flex;align-items:center;justify-content:flex-end;gap:12px}.switch-row span{display:grid;text-align:right}.switch-row small{color:var(--muted);font-size:.75rem}.switch-row input,.permission-row input{width:20px;height:20px;accent-color:var(--forest-700)}.switch-row.disabled{opacity:.58}.admin-lock-note{margin:20px 26px 0;padding:12px 14px;border:1px solid #d9cfaa;border-radius:12px;color:#6d5a20;background:#fff9e7;font-size:.84rem}.permissions-heading{padding:24px 26px 16px;display:flex;align-items:flex-end;justify-content:space-between;gap:18px}.permissions-heading h3{margin:0;color:var(--forest-950);font-size:1.22rem}.permissions-heading p{margin:5px 0 0;color:var(--muted);font-size:.86rem}.permissions-heading>span{color:var(--muted);font-size:.8rem;white-space:nowrap}.permission-groups{padding:0 26px 26px;display:grid;gap:15px}.permission-group{overflow:hidden;border:1px solid #dfe5e1;border-radius:15px}.permission-group-header{padding:14px 16px;display:flex;justify-content:space-between;gap:16px;background:#f5f7f5;border-bottom:1px solid #e1e6e3}.permission-group-header h4{margin:0;color:var(--forest-900);font-size:.95rem}.permission-group-header p{margin:4px 0 0;color:var(--muted);font-size:.78rem}.permission-group-header>span{color:#617169;font-size:.78rem;font-weight:800}.permission-list{display:grid}.permission-row{min-height:58px;padding:10px 16px;display:flex;align-items:center;justify-content:space-between;gap:18px;border-bottom:1px solid #edf0ee;cursor:pointer}.permission-row:last-child{border-bottom:0}.permission-row:hover{background:#fbfcfb}.permission-row.locked{cursor:default;opacity:.72}.permission-row span{display:grid;gap:3px}.permission-row strong{color:#30483f;font-size:.88rem}.permission-row small{color:#8a958f;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.7rem}.role-footer-actions{padding:18px 26px 24px;display:flex;justify-content:flex-end;border-top:1px solid #e2e7e4}.role-save-notice{margin:0 26px 16px;padding:12px 14px;border:1px solid #bcd2c6;border-radius:12px;color:#2f5b48;background:#eef7f2;font-size:.84rem}.role-textarea{width:100%;min-height:110px;resize:vertical;padding:13px 15px;border:1px solid var(--line);border-radius:13px;outline:none;color:var(--ink);background:#fff;font:inherit}.role-textarea:focus{border-color:var(--forest-600);box-shadow:0 0 0 4px #34796321}@media(max-width:860px){.roles-layout{grid-template-columns:1fr}.roles-sidebar{position:static}.role-list{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}}@media(max-width:620px){.role-detail-header,.permissions-heading{align-items:stretch;flex-direction:column}.switch-row{min-width:0;justify-content:space-between}.switch-row span{text-align:left}.permissions-heading>span{white-space:normal}.permission-groups,.role-detail-header,.permissions-heading,.role-footer-actions{padding-left:18px;padding-right:18px}.admin-lock-note,.role-save-notice{margin-left:18px;margin-right:18px}.role-footer-actions .action-button{width:100%}}.session-message{margin-top:22px;padding:12px 14px;border:1px solid #c9d9d0;border-radius:12px;color:#31584a;background:#eef6f2;font-size:.88rem;line-height:1.45}.platform-page{max-width:1500px;margin:0 auto}.platform-header{align-items:flex-start;gap:24px}.platform-header p:not(.eyebrow){margin:8px 0 0;color:var(--muted)}.platform-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:20px 0}.platform-kpis article,.platform-panel{border:1px solid var(--line);border-radius:16px;background:var(--paper);box-shadow:0 8px 28px #102b250d}.platform-kpis article{padding:18px}.platform-kpis small,.platform-table small,.platform-detail small,.platform-admin-row small{display:block;color:var(--muted)}.platform-kpis strong{display:block;margin-top:8px;font-size:1.55rem}.platform-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(330px,.8fr);gap:18px;align-items:start}.platform-panel{padding:18px}.platform-panel__header{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px}.platform-panel__header h2,.platform-panel__header h3{margin:0}.platform-table-wrap{overflow-x:auto}.platform-table{width:100%;border-collapse:collapse}.platform-table th,.platform-table td{padding:12px 10px;text-align:left;border-bottom:1px solid var(--line);white-space:nowrap}.platform-table th{font-size:.78rem;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.platform-table tbody tr{cursor:pointer}.platform-table tbody tr:hover,.platform-table tbody tr.is-selected{background:#34796312}.status-pill{display:inline-flex;padding:4px 8px;border-radius:999px;background:#ecefed;color:var(--muted);font-size:.78rem;font-weight:700}.status-pill--ok{background:#3479631f;color:var(--forest-700)}.platform-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.platform-detail-grid>div{padding:12px;border:1px solid var(--line);border-radius:12px}.platform-detail-grid strong{display:block;margin-top:4px;font-size:1.2rem}.platform-storage,.platform-admins{margin-top:20px;padding-top:18px;border-top:1px solid var(--line)}.storage-meter{width:100%;height:9px;overflow:hidden;border-radius:999px;background:#e6ebe7}.storage-meter span{display:block;height:100%;max-width:100%;border-radius:inherit;background:var(--forest-600)}.platform-storage>p{margin:8px 0 14px;color:var(--muted);font-size:.88rem}.platform-storage dl{display:grid;gap:8px;margin:0}.platform-storage dl div,.platform-admin-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.platform-storage dt,.platform-storage dd{margin:0}.platform-storage dd{font-weight:700}.platform-admin-row{padding:10px 0;border-bottom:1px solid var(--line)}.platform-form,.platform-admin-form{display:grid;gap:12px;margin:12px 0 18px}.platform-form label{display:grid;gap:6px;font-size:.85rem;font-weight:700}.platform-form input,.platform-admin-form input{min-width:0;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink)}.platform-check{display:flex!important;grid-template-columns:auto 1fr;align-items:center}.platform-form__actions{display:flex;justify-content:flex-end;gap:10px}@media(max-width:980px){.platform-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.platform-layout{grid-template-columns:1fr}}@media(max-width:560px){.platform-kpis{grid-template-columns:1fr}.platform-panel{padding:14px}}.login-panel-single{width:min(100% - 2rem,520px);margin:0 auto;padding:3rem 0}.login-form-links{display:flex;justify-content:flex-end;margin-top:-.35rem}.text-button{appearance:none;border:0;background:transparent;color:var(--accent, #2a7566);cursor:pointer;font:inherit;font-weight:700;padding:.25rem 0}.text-button:hover,.text-button:focus-visible{text-decoration:underline}.login-page{background:radial-gradient(circle at 8% 8%,color-mix(in srgb,var(--login-brand-accent, #347963) 14%,transparent),transparent 27rem),radial-gradient(circle at 92% 90%,color-mix(in srgb,var(--login-brand-secondary, #e8d9aa) 20%,transparent),transparent 26rem),var(--login-brand-background, #edf1ec)}.login-brand{background:linear-gradient(145deg,color-mix(in srgb,var(--login-brand-primary, #1d493e) 94%,#000),var(--login-brand-accent, #347963))}.login-brand .brand-copy h1{color:var(--login-brand-text, #fff)}.login-brand .eyebrow{color:var(--login-brand-eyebrow, #b7d2c7)}.login-brand .brand-description{color:var(--login-brand-muted, rgba(255, 255, 255, .78))}.login-brand .brand-footnote{color:var(--login-brand-subtle, rgba(255, 255, 255, .62))}.login-page .primary-button{background:var(--login-brand-primary, var(--forest-800))}.login-page .primary-button:hover:not(:disabled){background:var(--login-brand-accent, var(--forest-700))}.branding-editor{display:grid;grid-template-columns:minmax(0,.95fr) minmax(440px,1.05fr);gap:20px;align-items:start}.branding-editor__controls{display:grid;gap:16px}.branding-editor__controls>label,.branding-field-row>label,.branding-colors>label{display:grid;gap:7px;font-size:.86rem;font-weight:750;color:var(--ink)}.branding-editor__controls input:not([type=checkbox]):not([type=color]),.branding-editor__controls select,.branding-editor__controls textarea{width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--line);border-radius:11px;color:var(--ink);background:var(--paper);font:inherit}.branding-editor__controls textarea{resize:vertical}.branding-field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.branding-active{align-self:end;min-height:44px}.branding-colors{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.branding-colors label>span{display:grid;grid-template-columns:52px 1fr;gap:8px}.branding-colors input[type=color]{width:52px;min-height:44px;padding:3px;border:1px solid var(--line);border-radius:10px;background:var(--paper)}.branding-label{display:block;margin-bottom:7px;font-size:.86rem;font-weight:750}.branding-company-note,.branding-preview-domain{margin:0;color:var(--muted);font-size:.86rem}.form-success{margin:0;color:#276749;font-weight:700}.branding-editor__preview{position:sticky;top:18px}.branding-login-preview{display:grid;grid-template-columns:1.05fr .95fr;min-height:500px;overflow:hidden;border:1px solid var(--line);border-radius:22px;background:var(--brand-background);box-shadow:0 18px 45px #1428221a}.branding-login-preview__brand{display:flex;flex-direction:column;justify-content:space-between;gap:22px;padding:38px;color:#fff;background:linear-gradient(145deg,var(--brand-primary),var(--brand-accent))}.branding-login-preview__brand .eyebrow{color:color-mix(in srgb,#fff 72%,var(--brand-secondary))}.branding-login-preview__brand h2{margin:8px 0 14px;font-size:clamp(2rem,4vw,3.6rem);line-height:.95;letter-spacing:-.05em;color:#fff}.branding-login-preview__brand p{line-height:1.55;color:#ffffffc7}.branding-login-preview__brand img{align-self:center;width:min(150px,48%);max-height:150px;object-fit:contain}.branding-login-preview__brand small{color:#ffffffa8}.branding-login-preview__form{display:flex;flex-direction:column;justify-content:center;gap:14px;padding:38px;background:color-mix(in srgb,var(--brand-background) 14%,white)}.branding-login-preview__form>small{color:var(--brand-accent);font-weight:800;text-transform:uppercase;letter-spacing:.12em}.branding-login-preview__form h3{margin:0 0 10px;font-size:2rem;color:var(--brand-primary)}.branding-login-preview__form label{display:grid;gap:6px;font-size:.82rem;font-weight:750}.branding-login-preview__form input{min-height:44px;padding:0 12px;border:1px solid var(--line);border-radius:10px;background:#fff}.branding-login-preview__form button{min-height:44px;margin-top:8px;border:0;border-radius:10px;color:#fff;background:var(--brand-primary);font-weight:800}.branding-preview-domain{margin-top:12px;text-align:center}@media(max-width:980px){.branding-editor{grid-template-columns:1fr}.branding-editor__preview{position:static}}@media(max-width:640px){.branding-field-row,.branding-colors,.branding-login-preview{grid-template-columns:1fr}.branding-login-preview__brand{min-height:330px}}.branding-list-panel{display:grid;gap:16px}.branding-list-filters{display:grid;grid-template-columns:minmax(180px,.8fr) minmax(180px,.8fr) minmax(260px,1.4fr) auto;gap:12px;align-items:end}.branding-list-filters label{display:grid;gap:7px;font-size:.86rem;font-weight:750;color:var(--ink)}.branding-list-filters select,.branding-list-filters input{width:100%;min-height:42px;padding:9px 11px;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink);font:inherit}.branding-list-filters .record-count{min-height:42px;display:inline-flex;align-items:center;justify-content:flex-end;white-space:nowrap}.app-table-actions{text-align:right;white-space:nowrap}.app-table-actions .secondary-button{min-height:34px;padding:6px 12px}.muted{color:var(--muted)}@media(max-width:900px){.branding-list-filters{grid-template-columns:1fr 1fr}.branding-list-filters .record-count{justify-content:flex-start}}@media(max-width:600px){.branding-list-filters{grid-template-columns:1fr}}.login-page.login-page--classic{background:radial-gradient(circle at 8% 8%,rgba(52,121,99,.12),transparent 27rem),radial-gradient(circle at 92% 90%,rgba(199,178,124,.16),transparent 26rem),#edf1ec}.login-page.login-page--classic .login-brand{background:linear-gradient(145deg,#102b25fa,#28604ff0)}.login-page.login-page--classic .classic-brand-title span{display:block;color:#e8d9aa}.login-page.login-page--classic .login-brand .eyebrow{color:#b7d2c7}.login-page.login-page--classic .brand-description{color:#ffffffc7}.login-page.login-page--classic .brand-footnote{color:#ffffff9e}.login-page.login-page--classic{background:radial-gradient(circle at 8% 8%,rgba(231,123,46,.08),transparent 27rem),radial-gradient(circle at 92% 90%,rgba(52,121,99,.08),transparent 26rem),#f7efe7}.login-page.login-page--classic .login-brand{color:#17352d;background:linear-gradient(145deg,#fce8d4,#fdefde 54%,#eeecdf)}.login-page.login-page--classic .login-brand .brand-copy h1,.login-page.login-page--classic .login-brand .classic-brand-title{color:#17352d}.login-page.login-page--classic .login-brand .classic-brand-title span{color:#e77b2e}.login-page.login-page--classic .login-brand .eyebrow{color:#2f6f60}.login-page.login-page--classic .login-brand .brand-description{color:#17352dd1}.login-page.login-page--classic .login-brand .brand-footnote{color:#17352dad}.login-page.login-page--classic .brand-circle{border-color:#17352d24}.login-page.login-page--classic .brand-circle-small{background:#17352d09}.login-page.login-page--classic .primary-button{background:var(--forest-800)}.login-page.login-page--classic .primary-button:hover:not(:disabled){background:var(--forest-700)}:root{--forest-950: #244e57;--forest-900: #2b5b63;--forest-800: #316b70;--forest-700: #3f7c78;--forest-600: #579187;--cream: #fdf1e1;--paper: #fffaf3;--ink: #294b51;--muted: #74827f;--line: #e3d8cc;--focus: #8eb9ae;--mate-orange: #e0813f;--mate-orange-soft: #f2b27f;--mate-teal: #0f5664;--mate-green: #58a38f;--mate-cream: #fdf1e1}body{color:var(--ink);background:#f8efe5}.login-page{background:radial-gradient(circle at 9% 8%,rgba(224,129,63,.11),transparent 27rem),radial-gradient(circle at 93% 88%,rgba(88,163,143,.13),transparent 27rem),#f8efe5}.login-layout{border-color:#0f566414;box-shadow:0 28px 70px #4a3e341f}.login-brand{color:var(--mate-teal);background:radial-gradient(circle at 82% 72%,rgba(224,129,63,.13),transparent 17rem),linear-gradient(145deg,#fbe5d1,#fdf1e1 58%,#e9f2eb)}.login-brand:after{border-color:#0f56641c}.login-brand .eyebrow{color:#5c8e84}.brand-copy h1{color:var(--mate-teal)}.brand-copy h1 span{color:var(--mate-orange)}.brand-description{color:#547078}.brand-footnote{color:#71837e}.brand-circle{border-color:#0f56641f}.brand-circle-small{background:#58a38f14}.mate-mark{width:132px;height:148px}.mate-cup{left:22px;bottom:7px;width:88px;height:84px;border:4px solid var(--mate-teal);border-top-width:3px;border-radius:18px 18px 43px 43px/15px 15px 50px 50px;background:var(--mate-orange);box-shadow:inset 0 -8px #974a2014,0 7px 14px #583f2b14}.mate-cup:before{left:4px;top:-10px;width:72px;height:18px;border:4px solid var(--mate-teal);border-radius:50%;background:var(--mate-green);box-shadow:inset 0 3px #ffffff29}.mate-cup:after{content:"";position:absolute;left:9px;top:9px;width:4px;height:31px;border-radius:999px;background:#ffe1c57a;transform:rotate(14deg)}.mate-straw{z-index:3;left:66px;top:1px;width:6px;height:69px;border-radius:999px;background:var(--mate-teal);box-shadow:inset -2px 0 #ffffff29;transform:rotate(-25deg);transform-origin:bottom}.mate-straw:before{content:"";position:absolute;left:-1px;top:23px;width:8px;height:13px;border-radius:2px;background:#8dc0b1;transform:rotate(1deg)}.mate-leaf,.mate-steam{display:none}.login-panel-wrap{background:linear-gradient(#fffaf3f0,#fffaf3fc)}.eyebrow{color:#6c9a8d}.field>span{color:#3d6065}.field input,.field select,.role-textarea,.search-field input{border-color:#e1d6ca;background:#fffdf9}.field input:hover,.search-field input:hover{border-color:#cdbbae}.field input:focus,.field select:focus,.role-textarea:focus,.search-field input:focus{border-color:var(--mate-green);box-shadow:0 0 0 4px #58a38f21}.primary-button{background:var(--mate-teal);box-shadow:0 10px 24px #0f566426}.primary-button:hover:not(:disabled){background:#174f5a}.secondary-button,.back-button,.table-action button{color:var(--mate-teal);border-color:#d9ccc0;background:#fffaf4}.secondary-button:hover,.back-button:hover,.table-action button:hover{background:#f8ece0}.session-loader,.home-shell,.app-page{background:radial-gradient(circle at 8% 5%,rgba(224,129,63,.07),transparent 24rem),#f8efe5}.home-card,.dashboard-card,.users-card,.roles-sidebar,.role-detail-card,.user-modal{background:var(--paper);border-color:#e6d9cd;box-shadow:0 14px 32px #4c3f3312}.dashboard-card:hover,button.dashboard-card:hover{border-color:#d2b8a4;background:#fff7ef}.dashboard-icon{color:#fff9f1;background:var(--mate-orange)}.avatar{color:var(--mate-teal);background:#e5f1ec}.users-table th,.permission-group-header{color:#667b7a;background:#f7eee5;border-color:#eadfd5}.users-table td,.permission-row,.modal-header,.role-detail-header,.role-footer-actions{border-color:#eee4db}.users-table tbody tr:hover,.permission-row:hover,.role-list-item:hover,.toggle-row{background:#fdf6ef}.role-list-item.selected{border-color:#efc29e;background:#fff0e4}.role-dot.active{background:var(--mate-green)}.role-badge{color:#486e70;background:#e8f1ee}.status-badge.active{color:#376e5b;background:#e6f2eb}.structural-badge,.preview-banner,.admin-lock-note{color:#80512f;background:#fff0df;border-color:#efc79f}.role-save-notice,.session-message{color:#3c6d62;background:#eaf4ef;border-color:#bdd8cd}.modal-backdrop{background:#244e574d}@media(max-width:620px){.login-page{background:#fffaf3}.mobile-brand .mate-mark{width:47px;height:52px}.mobile-brand .mate-cup{left:7px;bottom:2px;width:33px;height:31px;border-width:2px;border-radius:7px 7px 17px 17px/6px 6px 18px 18px}.mobile-brand .mate-cup:before{left:1px;top:-5px;width:27px;height:8px;border-width:2px}.mobile-brand .mate-cup:after{display:none}.mobile-brand .mate-straw{display:block;left:25px;top:0;width:3px;height:27px}.mobile-brand .mate-straw:before{left:-1px;top:9px;width:5px;height:6px}}.mate-login-image{display:block;object-fit:contain;filter:drop-shadow(0 10px 18px rgba(58,73,68,.08))}.brand-illustration .mate-login-image{width:230px;height:230px}@media(max-width:620px){.mobile-brand .mate-login-image{width:52px;height:52px}}:root[data-app-theme=sky]{--forest-950: #244f5e;--forest-900: #2d6070;--forest-800: #397484;--forest-700: #4c8795;--forest-600: #6a9eaa;--cream: #eaf6f9;--paper: #f9fdfe;--ink: #294d58;--muted: #70858b;--line: #d7e6ea;--focus: #9bc4cf;--mate-orange: #d98a58;--mate-orange-soft: #efbd9c;--mate-teal: #286a7a;--mate-green: #69a8ae;--mate-cream: #eaf6f9}:root[data-app-theme=sky] body,:root[data-app-theme=sky] .student-workspace,:root[data-app-theme=sky] .teacher-workspace,:root[data-app-theme=sky] .session-loader,:root[data-app-theme=sky] .home-shell,:root[data-app-theme=sky] .app-page{background:#edf7fa}:root[data-app-theme=sky] .student-sidebar,:root[data-app-theme=sky] .teacher-sidebar,:root[data-app-theme=sky] .student-home-card,:root[data-app-theme=sky] .teacher-home-card,:root[data-app-theme=sky] .student-content-card,:root[data-app-theme=sky] .student-viewer,:root[data-app-theme=sky] .teacher-panel,:root[data-app-theme=sky] .class-calendar,:root[data-app-theme=sky] .class-forum,:root[data-app-theme=sky] .class-home-live-access,:root[data-app-theme=sky] .student-calendar-activity-list,:root[data-app-theme=sky] .teacher-calendar-day-items,:root[data-app-theme=sky] .account-popover{background:#f9fdfe;border-color:#d7e6ea}:root[data-app-theme=sky] .student-class-list button.active,:root[data-app-theme=sky] .teacher-class-list button.active,:root[data-app-theme=sky] .student-class-subnav button.active,:root[data-app-theme=sky] .teacher-class-subnav button.active,:root[data-app-theme=sky] .class-calendar-day.has-activity{background:#e1f1f5;border-color:#bddce4}:root[data-app-theme=dark]{color-scheme:dark;--forest-950: #e6f1ef;--forest-900: #d8e9e6;--forest-800: #9cc9c3;--forest-700: #82b6ae;--forest-600: #6da49b;--cream: #1d2527;--paper: #222b2e;--ink: #e4ecea;--muted: #a4b1ae;--line: #3b484a;--focus: #6ea59d;--mate-orange: #d88955;--mate-orange-soft: #b87850;--mate-teal: #8fc3c8;--mate-green: #76afa5;--mate-cream: #222b2e}:root[data-app-theme=dark] body,:root[data-app-theme=dark] .student-workspace,:root[data-app-theme=dark] .teacher-workspace,:root[data-app-theme=dark] .session-loader,:root[data-app-theme=dark] .home-shell,:root[data-app-theme=dark] .app-page{color:var(--ink);background:#171d1f}:root[data-app-theme=dark] .student-sidebar,:root[data-app-theme=dark] .teacher-sidebar,:root[data-app-theme=dark] .student-home-card,:root[data-app-theme=dark] .teacher-home-card,:root[data-app-theme=dark] .student-content-card,:root[data-app-theme=dark] .student-viewer,:root[data-app-theme=dark] .teacher-panel,:root[data-app-theme=dark] .class-calendar,:root[data-app-theme=dark] .class-forum,:root[data-app-theme=dark] .class-home-live-access,:root[data-app-theme=dark] .student-calendar-activity-list,:root[data-app-theme=dark] .teacher-calendar-day-items,:root[data-app-theme=dark] .account-popover,:root[data-app-theme=dark] .virtual-assistant-chat{color:var(--ink);background:#222b2e;border-color:#3b484a;box-shadow:0 14px 34px #0000003d}:root[data-app-theme=dark] .student-class-list button,:root[data-app-theme=dark] .teacher-class-list button,:root[data-app-theme=dark] .student-class-subnav button,:root[data-app-theme=dark] .teacher-class-subnav button,:root[data-app-theme=dark] .class-calendar-day,:root[data-app-theme=dark] .class-forum-threads>button,:root[data-app-theme=dark] .class-forum-question,:root[data-app-theme=dark] .class-forum-replies article,:root[data-app-theme=dark] .teacher-content-list article,:root[data-app-theme=dark] .student-calendar-activity-list button,:root[data-app-theme=dark] .teacher-calendar-day-items article{color:var(--ink);background:#263033;border-color:#3b484a}:root[data-app-theme=dark] .student-class-list button:hover,:root[data-app-theme=dark] .teacher-class-list button:hover,:root[data-app-theme=dark] .student-class-list button.active,:root[data-app-theme=dark] .teacher-class-list button.active,:root[data-app-theme=dark] .student-class-subnav button.active,:root[data-app-theme=dark] .teacher-class-subnav button.active,:root[data-app-theme=dark] .class-forum-threads>button.active,:root[data-app-theme=dark] .class-calendar-day.has-activity{color:#e8f2ef;background:#30403f;border-color:#4e6864}:root[data-app-theme=dark] .class-calendar-day:hover,:root[data-app-theme=dark] .student-content-card:hover,:root[data-app-theme=dark] .teacher-home-card:hover,:root[data-app-theme=dark] .student-home-card:hover{background:#2a3538}:root[data-app-theme=dark] .dashboard-card{border-color:var(--line)}:root[data-app-theme=dark] .dashboard-card:hover,:root[data-app-theme=dark] .dashboard-card:focus-visible{color:var(--ink);background:#2a3538;border-color:var(--focus)}:root[data-app-theme=dark] .dashboard-card:focus-visible{outline:2px solid var(--focus);outline-offset:3px}:root[data-app-theme=dark] .field input,:root[data-app-theme=dark] .field select,:root[data-app-theme=dark] .role-textarea,:root[data-app-theme=dark] .search-field input,:root[data-app-theme=dark] .class-forum-create input,:root[data-app-theme=dark] .class-forum-create textarea,:root[data-app-theme=dark] .class-forum-reply textarea,:root[data-app-theme=dark] .virtual-assistant-chat__composer input{color:var(--ink);background:#1c2426;border-color:#435154}:root[data-app-theme=dark] .virtual-assistant-chat__messages,:root[data-app-theme=dark] .virtual-assistant-chat__composer{background:#1d2527;border-color:#3b484a}:root[data-app-theme=dark] .virtual-assistant-message--assistant{color:var(--ink);background:#2b3639;border-color:#435154}:root[data-app-theme=dark] .account-identity,:root[data-app-theme=dark] .account-section{border-color:#3b484a}:root[data-app-theme=dark] .account-logout:hover{background:#34282a}:root[data-app-theme=dark] .class-calendar-event.class-event{color:var(--ink);background:#264541}:root[data-app-theme=dark] .class-calendar-event.activity-event{color:#ffe2bd;background:#49382a}:root[data-app-theme=dark] .class-calendar-weekdays span{color:var(--muted)}:root[data-app-theme=dark] :is(.class-calendar-nav button,.student-home-card-heading>button,.teacher-home-card-heading>button){color:var(--forest-900);background:var(--cream);border-color:var(--focus)}:root[data-app-theme=dark] :is(.class-calendar-nav button,.student-home-card-heading>button,.teacher-home-card-heading>button):hover{color:var(--forest-950);background:#30403f}:root[data-app-theme=dark] :is(.class-calendar-nav button,.class-calendar-day,.class-calendar-clear,.student-home-card-heading>button,.teacher-home-card-heading>button):focus-visible{outline:2px solid var(--focus);outline-offset:2px}:root[data-app-theme=dark] .class-calendar-day.today{border-color:var(--mate-orange)}:root[data-app-theme=dark] .class-calendar-day.today .class-calendar-day-number{color:#171d1f}:root[data-app-theme=dark]{--surface-input: #1c2426;--surface-raised: #263033;--surface-hover: #30403f;--on-accent: #17352d;--danger-text: #ffb3a8;--danger-surface: #3b2828;--warning-text: #ffdaa6;--warning-surface: #3b3326;--success-text: #b7dfce;--success-surface: #264139}:root[data-app-theme=dark] :is(.class-labs-live,.class-labs-recording-card,.class-labs-empty,.teacher-quick-actions button,.teacher-calendar-day-items,.teacher-agenda-list article,.student-agenda,.student-link-content,.student-text-content,.student-empty,.class-home-live-access,.class-home-live-access.available,.class-forum-create,.forum-file-picker,.forum-link-preview>a,.forum-file-attachment,.class-card,.class-modal,.copy-class-modal,.classes-empty,.students-empty,.student-search-box,.student-search-result,.class-student-row,.season-events-table-wrap,.season-list-row,.season-details-wrap,.settings-card,.billing-settings,.billing-table-wrap,.home-card,.users-card,.roles-sidebar,.role-detail-card,.user-modal){color:var(--ink);background:var(--paper);border-color:var(--line)}:root[data-app-theme=dark] :is(.class-labs-live-editor,.class-labs-recording-form,.toggle-row,.setting-day,.setting-day-time,.season-course-hours,.season-recurring-panel,.billing-season-value,.classes-active-filter,.settings-help-panel,.copy-class-question,.roles-backend-note,.settings-help-panel code,.student-home-calendar-preview span,.teacher-home-calendar-preview span){color:var(--ink);background:var(--surface-raised);border-color:var(--line)}:root[data-app-theme=dark] input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]),:root[data-app-theme=dark] select,:root[data-app-theme=dark] textarea{color:var(--ink);background:var(--surface-input);border-color:var(--line);color-scheme:dark}:root[data-app-theme=dark] :is(input,textarea)::placeholder{color:var(--muted);opacity:1}:root[data-app-theme=dark] :is(input,select,textarea):focus-visible{outline-color:var(--focus);border-color:var(--focus)}:root[data-app-theme=dark] input::file-selector-button{color:var(--ink);background:var(--surface-raised);border:1px solid var(--line);border-radius:6px;padding:5px 8px}:root[data-app-theme=dark] :is(.secondary-button,.back-button,.table-action button,.modal-close,.password-toggle,.class-card-footer button,.season-list-actions button,.season-details-actions button,.teacher-panel-heading button,.teacher-modal-header>button,.teacher-calendar-add,.student-profile button,.teacher-profile button,.student-viewer-header>button,.student-date-strip button,.class-home-labs-heading>button,.settings-help-button,.season-recurring-close,.billing-settings button){color:var(--ink);background:var(--cream);border-color:var(--line)}:root[data-app-theme=dark] :is(.secondary-button,.back-button,.table-action button,.modal-close,.password-toggle,.class-card-footer button,.season-list-actions button,.season-details-actions button,.teacher-panel-heading button,.teacher-modal-header>button,.teacher-calendar-add,.student-profile button,.teacher-profile button,.student-viewer-header>button,.student-date-strip button,.class-home-labs-heading>button,.settings-help-button,.season-recurring-close,.billing-settings button,.teacher-quick-actions button,.class-home-live-access.available,.student-class-subnav button,.teacher-class-subnav button,.users-table tbody tr,.season-details-table tbody tr,.permission-row,.role-list-item):is(:hover,:focus-visible){color:var(--ink);background:var(--surface-hover);border-color:var(--focus)}:root[data-app-theme=dark] :is(.primary-button,.class-labs-join,.class-labs-live-editor button,.class-labs-recording-form button,.class-forum-toolbar button,.class-forum-create button,.class-forum-reply button,.student-link-content a,.class-home-live-access.available>b,.student-date-strip button.active,.virtual-assistant-chat__composer button){color:var(--on-accent);background:var(--forest-800)}:root[data-app-theme=dark] :is(.primary-button,.class-labs-join,.class-labs-live-editor button,.class-labs-recording-form button,.class-forum-toolbar button,.class-forum-create button,.class-forum-reply button,.student-link-content a,.virtual-assistant-chat__composer button):hover:not(:disabled){color:var(--on-accent);background:var(--forest-900)}:root[data-app-theme=dark] :is(.student-brand-mark,.teacher-brand-mark,.student-nav-title strong){color:var(--on-accent)}:root[data-app-theme=dark] :is(.dashboard-icon,.students-empty-icon){color:#241b16}:root[data-app-theme=dark] .virtual-assistant-chat__header{color:var(--ink);background:var(--surface-raised)}:root[data-app-theme=dark] .virtual-assistant-chat__header span{color:var(--muted)}:root[data-app-theme=dark] .virtual-assistant-chat__header button{color:var(--ink);background:var(--cream)}:root[data-app-theme=dark] .virtual-assistant-message--user{color:var(--on-accent);background:var(--forest-800)}:root[data-app-theme=dark] :is(.users-table th,.permission-group-header,.season-events-table th,.season-details-table th,.billing-plan-table th){color:var(--muted);background:var(--cream);border-color:var(--line)}:root[data-app-theme=dark] :is(.users-table td,.season-details-table td,.season-events-table td,.billing-plan-table td,.permission-row,.permission-group,.modal-header,.role-detail-header,.role-footer-actions,.teacher-modal-header,.class-meta,.class-tabs,.student-brand,.teacher-brand,.student-viewer-header,.student-workspace-tabs,.teacher-workspace-tabs,.student-class-subnav,.teacher-class-subnav,.class-forum-thread,.class-home-recording-row,.student-home-history-row,.teacher-home-history-row,.student-home-live-summary,.teacher-home-live-summary,.billing-existing,.billing-items li,.forum-image-attachment img,.class-forum-empty,.teacher-empty,.class-people-panel>.class-students-panel+.class-students-panel){border-color:var(--line)}:root[data-app-theme=dark] :is(.student-content-card.selected,.student-content-list article.selected,.teacher-content-list article.selected,.role-list-item.selected,.setting-day.selected,.setting-day-time.selected){color:var(--ink);background:var(--surface-hover);border-color:var(--focus)}:root[data-app-theme=dark] :is(.field>span,.users-table td,.permission-row strong,.class-meta strong,.student-membership-dates strong,.season-place-name,.season-details-table td,.settings-toggle,.settings-inline-check,.class-forum-question p,.class-forum-replies p){color:var(--ink)}:root[data-app-theme=dark] :is(.permission-row small,.permission-group-header>span,.users-table td:before,.billing-settings small,.student-content-card>small,.student-workspace-tabs button,.teacher-workspace-tabs button,.class-tabs button,.brand-description,.brand-footnote,.login-help){color:var(--muted)}:root[data-app-theme=dark] :is(.status-badge.active,.student-new-summary,.student-type-badge,.teacher-content-list span,.class-forum-author span,.role-badge,.avatar,.tab-count,.student-home-live-summary>span.available,.teacher-home-live-summary>span.available,.class-draft-notice,.role-save-notice,.session-message,.finance-notice),:root[data-app-theme=dark] .finance-status:not(.overdue){color:var(--success-text);background:var(--success-surface);border-color:var(--line)}:root[data-app-theme=dark] :is(.student-home-live-summary>span:not(.available),.teacher-home-live-summary>span:not(.available),.class-home-live-access:not(.available)>b,.copy-class-icon){color:var(--muted);background:var(--surface-raised)}:root[data-app-theme=dark] :is(.student-new-badge,.class-draft-badge,.classes-front-note,.structural-badge,.preview-banner,.admin-lock-note){color:var(--warning-text);background:var(--warning-surface);border-color:var(--line)}:root[data-app-theme=dark] :is(.class-labs-error,.class-forum-error,.teacher-error,.teacher-form-error,.student-error,.page-alert.error,.login-error,.finance-error,.finance-status.overdue,.status-badge.inactive,.delete-class-warning,.delete-class-icon){color:var(--danger-text);background:var(--danger-surface);border-color:var(--danger-text)}:root[data-app-theme=dark] :is(.field-error,.finance-debt,.finance-negative,.billing-settings .billing-remove,.class-labs-recording-meta button,.delete-class-warning strong){color:var(--danger-text)}:root[data-app-theme=dark] :is(.class-deactivate-button,.season-remove-event){color:var(--danger-text);background:var(--cream);border-color:var(--line)}:root[data-app-theme=dark] :is(.class-deactivate-button,.season-remove-event):hover{color:var(--danger-text);background:var(--danger-surface);border-color:var(--danger-text)}:root[data-app-theme=dark] button.primary-button.delete-class-confirm{color:var(--danger-surface);background:var(--danger-text);border-color:var(--danger-text)}:root[data-app-theme=dark] button.primary-button.delete-class-confirm:hover:not(:disabled){color:var(--danger-surface);background:#ffd0c8;border-color:#ffd0c8}:root[data-app-theme=dark] .login-page{color:var(--ink);background:#171d1f}:root[data-app-theme=dark] :is(.login-brand,.login-panel-wrap){color:var(--ink);background:var(--paper)}:root[data-app-theme=dark] :is(.login-layout,.login-brand:after,.brand-circle){border-color:var(--line)}
