.centre-apps[data-v-0c294321]{--apps-surface: #ffffff;--apps-hover: #f1f0ec;--apps-border: #e3e1da;--apps-text: #15171c;--apps-muted: #5b6170;--apps-accent: #3348c8;position:relative;flex-shrink:0;font-family:inherit}.dark{--apps-surface: #181b22;--apps-hover: #232733;--apps-border: #2d323d;--apps-text: #ecedf1;--apps-muted: #a4aab7;--apps-accent: #9aa8ff}.centre-apps-button[data-v-0c294321]{display:inline-flex;min-height:36px;align-items:center;gap:8px;border:1px solid var(--apps-border);border-radius:8px;background:transparent;color:var(--apps-muted);cursor:pointer;padding:0 10px;font:inherit;font-size:.875rem;font-weight:600}.centre-apps-button[data-v-0c294321]:hover,.centre-apps-button[aria-expanded=true][data-v-0c294321]{background:var(--apps-hover);color:var(--apps-text)}.centre-apps-popover[data-v-0c294321]{position:absolute;z-index:60;top:calc(100% + 8px);left:0;display:grid;width:250px;gap:2px;border:1px solid var(--apps-border);border-radius:10px;background:var(--apps-surface);padding:6px;box-shadow:0 16px 40px #14182029}.centre-apps-link[data-v-0c294321]{display:grid;gap:2px;border-radius:8px;color:var(--apps-text);padding:9px 12px;text-align:left;text-decoration:none}a.centre-apps-link[data-v-0c294321]:hover,a.centre-apps-link[data-v-0c294321]:focus-visible{background:var(--apps-hover)}.centre-apps-link strong[data-v-0c294321]{font-size:.875rem}.centre-apps-link small[data-v-0c294321]{color:var(--apps-muted);font-size:.75rem}.centre-apps-link.is-current[data-v-0c294321]{box-shadow:inset 3px 0 0 var(--apps-accent)}@media(max-width:620px){.centre-apps-button[data-v-0c294321]{width:36px;justify-content:center;padding:0}.centre-apps-label[data-v-0c294321]{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}}.centre-apps-link.is-current small[data-v-0c294321]{color:var(--apps-accent);font-weight:700}@layer tokens,base,kiosk,management;@layer tokens{:root,.light{color-scheme:light;--bg: #f5f4f0;--surface: #ffffff;--surface-subtle: #faf9f6;--surface-strong: #efeee9;--border: #e3e1da;--border-strong: #c9c6bc;--text: #15171c;--text-soft: #2f333c;--muted: #5b6170;--primary: #3346b8;--primary-strong: #23318a;--primary-soft: #e9ecfb;--primary-border: #c3caf3;--on-primary: #ffffff;--green: #0b5e45;--green-soft: #e1f3ec;--green-border: #a9dcc9;--green-dot: #128764;--green-solid: #0e7a5a;--on-green: #ffffff;--coral: #a8432c;--coral-soft: #fdece7;--coral-border: #efb9aa;--amber: #8a4300;--amber-soft: #fff0dd;--amber-border: #f3c98f;--amber-dot: #e07b00;--red: #b42318;--red-soft: #fdeceb;--red-border: #f4b8b2;--red-dot: #d92d20;--on-red: #ffffff;--teal: #0b6b78;--teal-soft: #dff2f4;--shadow: 0 1px 2px rgb(20 24 32 / .04), 0 4px 14px rgb(20 24 32 / .05);--shadow-small: 0 1px 2px rgb(20 24 32 / .06);--radius: 14px;--radius-small: 10px;--font-display: "Bricolage Grotesque", Figtree, system-ui, sans-serif;--font-body: Figtree, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--text-xs: .75rem;--text-sm: .8125rem;--text-base: .875rem;--text-md: .9375rem;--text-lg: 1.0625rem;--text-xl: 1.25rem;--text-2xl: 1.5625rem;--text-3xl: 2rem}.dark{color-scheme:dark;--bg: #101217;--surface: #181b22;--surface-subtle: #1c2028;--surface-strong: #232730;--border: #2d323d;--border-strong: #454c5a;--text: #ecedf1;--text-soft: #c9cdd6;--muted: #a4aab7;--primary: #8e9bff;--primary-strong: #b3bcff;--primary-soft: #272e57;--primary-border: #3e4886;--on-primary: #0d1026;--green: #8fe6ca;--green-soft: #16322a;--green-border: #2a5a4b;--green-dot: #5cd3ae;--green-solid: #5cd3ae;--on-green: #06231a;--coral: #ffac96;--coral-soft: #3a1f19;--coral-border: #6e3a2e;--amber: #ffb86b;--amber-soft: #3a2915;--amber-border: #6b4a22;--amber-dot: #ff9f3d;--red: #ff9d94;--red-soft: #3b1a1a;--red-border: #713030;--red-dot: #f0544a;--on-red: #1d0b0a;--teal: #74d4df;--teal-soft: #12302f;--shadow: 0 1px 2px rgb(0 0 0 / .3), 0 6px 18px rgb(0 0 0 / .22);--shadow-small: 0 1px 2px rgb(0 0 0 / .3)}}@layer base{*{box-sizing:border-box}html,body,#pantalles-root{min-height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:var(--font-body);font-synthesis:none;font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button{cursor:pointer;touch-action:manipulation}button:disabled{cursor:not-allowed;opacity:.45}:where(button,a,input,select,textarea,summary):focus-visible{outline:0;box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 32%,transparent)}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.spinner{width:2.25rem;height:2.25rem;border:.22rem solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.spinner{animation-duration:2.4s}}}@layer kiosk{.kiosk{--display-scale: 1;min-height:100vh;background:var(--bg);color:var(--text);font-family:var(--font-body)}.kiosk:not(.is-preview){-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:pan-y}.kiosk-mode,.kiosk-mode body{overscroll-behavior:none}.kiosk-inner{--kiosk-pad: clamp(12px, 1.6vw, 28px);display:flex;min-height:calc(100vh / var(--display-scale));flex-direction:column;gap:14px;padding:var(--kiosk-pad);container:kiosk / inline-size;zoom:var(--display-scale)}.kiosk-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 24px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:16px 22px;box-shadow:var(--shadow)}.kiosk-brand{display:flex;min-width:0;align-items:center;gap:16px}.kiosk-brand img{width:auto;height:56px;object-fit:contain}.kiosk.dark .kiosk-brand img,.kiosk.dark .kiosk-state img{border-radius:10px;background:#f5f4f0;padding:4px 8px}.kiosk-brand>div{display:grid;gap:2px;border-left:1px solid var(--border);padding-left:16px}.kiosk-kicker{color:var(--muted);font-size:var(--text-xs);font-weight:700;letter-spacing:.06em;text-transform:uppercase}.kiosk-brand h1{margin:0;font-family:var(--font-display);font-size:var(--text-3xl);font-weight:700;letter-spacing:-.015em;line-height:1.05}.kiosk-when{display:grid;justify-items:end;gap:6px;text-align:right}.kiosk-date{color:var(--text-soft);font-size:var(--text-lg);font-weight:700}.live-clock{position:relative;display:flex;align-items:center;gap:12px;padding-bottom:6px;cursor:default}.hold-progress{position:absolute;right:0;bottom:0;left:0;height:3px;overflow:hidden;border-radius:999px;opacity:0;transition:opacity .15s ease}.hold-progress span{display:block;height:100%;background:var(--primary);transform:scaleX(0);transform-origin:left center}.live-clock.is-holding .hold-progress{opacity:1}.live-clock.is-holding .hold-progress span{transform:scaleX(1);transition:transform 3s linear}.live-clock.is-holding .live-clock-session{background:var(--amber-dot);color:#15171c}.live-clock-time{font-family:var(--font-display);font-size:2.35rem;font-weight:700;letter-spacing:-.01em;line-height:1}.live-clock-session{border-radius:999px;background:var(--primary);color:var(--on-primary);padding:7px 14px;font-size:var(--text-md);font-weight:800;letter-spacing:.02em;line-height:1}.kiosk-toolbar{position:sticky;z-index:5;top:0;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin:-8px calc(-1 * var(--kiosk-pad));background:var(--bg);padding:8px var(--kiosk-pad);transition:box-shadow .2s ease}.kiosk-toolbar.is-stuck{box-shadow:0 1px 0 var(--border),0 12px 18px -14px #14182073}.session-counters,.kiosk-actions,.kiosk-action-group{display:flex;align-items:center;gap:6px}.kiosk-actions{flex-wrap:wrap;gap:10px;margin-left:auto}.toolbar-clock{display:grid;flex-shrink:0;gap:2px;border:1px solid var(--border);border-radius:16px;background:var(--surface);padding:7px 14px;box-shadow:var(--shadow)}.toolbar-clock>span{color:var(--muted);font-size:var(--text-xs);font-weight:700}.toolbar-clock time{color:var(--text);font-size:var(--text-xl);font-weight:800;font-variant-numeric:tabular-nums;line-height:1.1;white-space:nowrap}.session-counters{border:1px solid var(--border);border-radius:16px;background:var(--surface);padding:5px;box-shadow:var(--shadow)}.kiosk-action-group{gap:2px;border:1px solid var(--border);border-radius:16px;background:var(--surface);padding:5px;box-shadow:var(--shadow)}.kiosk-action-group button{display:inline-flex;min-width:3rem;min-height:3rem;align-items:center;justify-content:center;border:0;border-radius:12px;background:transparent;color:var(--text);font-size:var(--text-xl);font-weight:700}.kiosk-action-group button:hover{background:var(--surface-strong)}.session-legend{display:grid;gap:2px;padding:0 8px 0 6px;color:var(--muted);font-size:var(--text-xs);font-weight:700;line-height:1.2;white-space:nowrap}.session-legend>span{display:flex;align-items:center;gap:6px}.session-legend>span:before{content:"";width:10px;height:10px;flex:0 0 auto;border:1px solid transparent;border-radius:3px}.session-legend .legend-clear:before{border-color:var(--green-dot);background:var(--green-soft)}.session-legend .legend-busy:before{border-color:var(--red-dot);background:var(--red-soft)}.session-legend .legend-clear{color:var(--green)}.session-legend .legend-busy{color:var(--red)}.session-counter{position:relative;display:grid;width:3.75rem;height:3.75rem;place-content:center;justify-items:center;gap:3px;border:1px solid transparent;border-radius:12px;background:transparent;color:var(--text);padding:0;line-height:1;transition:background-color .3s ease,color .3s ease,opacity .3s ease}.counter-hour{font-family:var(--font-display);font-size:var(--text-xl);font-weight:700}.counter-time{color:var(--muted);font-size:.6875rem;font-weight:600}.counter-count{position:absolute;top:-7px;right:-7px;min-width:1.9rem;border:2px solid var(--surface);border-radius:999px;background:var(--primary);color:var(--on-primary);padding:3px 6px;font-size:.6875rem;font-weight:800}.session-counter.clear{border-color:var(--green-border);background:var(--green-soft);color:var(--green)}.session-counter.busy{border-color:var(--red-border);background:var(--red-soft);color:var(--red)}.session-counter.busy .counter-count{background:var(--red-dot);color:var(--on-red)}.session-counter.pending{border-color:var(--red-dot);box-shadow:inset 0 0 0 1px var(--red-dot)}.session-counter.clear .counter-time,.session-counter.busy .counter-time{color:inherit}.session-counter.past:not(.current){opacity:.5}.session-counter.current{outline:3px solid var(--primary);outline-offset:1px}.kiosk-banner{margin:0;border:1px solid var(--amber-border);border-radius:12px;background:var(--amber-soft);color:var(--amber);padding:12px 16px;font-size:var(--text-lg);font-weight:700}.kiosk-banner.is-offline{border-color:var(--coral-border);background:var(--coral-soft);color:var(--coral);font-size:var(--text-md)}.kiosk-banner.other-day{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px;border-color:var(--primary-border);background:var(--primary-soft);color:var(--primary-strong);font-weight:600}.kiosk-banner.other-day button{min-height:3rem;border:0;border-radius:12px;background:var(--primary);color:var(--on-primary);padding:0 18px;font-size:var(--text-md);font-weight:700}.view-switcher{display:flex;flex-wrap:wrap;gap:4px;border:1px solid var(--border);border-radius:16px;background:var(--surface);padding:5px;box-shadow:var(--shadow)}.view-switcher button{min-height:3rem;border:0;border-radius:12px;background:transparent;color:var(--muted);padding:0 16px;font-size:var(--text-md);font-weight:700}.view-switcher button.active{background:var(--primary);color:var(--on-primary)}.notice-view{--notice-accent: var(--primary);display:grid;min-height:calc(100vh - 16rem);flex:1 1 auto;place-content:center;justify-items:center;gap:clamp(16px,3cqi,32px);border:1px solid var(--border);border-top:12px solid var(--notice-accent);border-radius:var(--radius);background:var(--surface);padding:clamp(24px,5vw,80px);box-shadow:var(--shadow);text-align:center}.notice-view.tone-important{--notice-accent: var(--amber-dot);border-color:var(--amber-border);border-top-color:var(--notice-accent);background:var(--amber-soft)}.notice-view.tone-urgent{--notice-accent: var(--coral);border-color:var(--coral-border);border-top-color:var(--notice-accent);background:var(--coral-soft)}.notice-view p{margin:0;font-family:var(--font-display);font-size:clamp(2rem,6cqi,5rem);font-weight:700;letter-spacing:-.01em;line-height:1.15;text-wrap:balance;white-space:pre-line}.notice-view.is-short p{font-size:clamp(2.5rem,9cqi,7.5rem)}.notice-view.is-long p{font-size:clamp(1.75rem,4.2cqi,3.5rem)}.notice-tone{border-radius:999px;background:var(--notice-accent);padding:8px 22px;color:var(--surface);font-size:var(--text-xl);font-weight:800;letter-spacing:.06em;text-transform:uppercase}.notice-view.tone-important .notice-tone{color:#15171c}.notice-until{color:var(--text-soft);font-size:var(--text-2xl);font-weight:700}.notice-empty{color:var(--muted);text-align:center}.day-content{display:grid;gap:12px}.hour-card{overflow:hidden;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-small);scroll-margin-block:20vh}.hour-card-head{position:relative;display:flex;min-height:3.25rem;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--border);background:var(--surface-subtle);padding:10px 16px 10px 12px}.hour-card.empty .hour-card-head{border-bottom:0}.hour-title{display:flex;min-width:0;align-items:center;gap:12px}.hour-title>div{display:grid;gap:1px}.hour-badge{display:grid;width:2.75rem;height:2.75rem;flex:0 0 auto;place-items:center;border-radius:12px;background:var(--surface-strong);color:var(--text);font-family:var(--font-display);font-size:var(--text-lg);font-weight:700;transition:background-color .4s ease,color .4s ease}.patio-card .hour-badge{background:var(--green-soft);color:var(--green)}.hour-card-head h2{margin:0;font-family:var(--font-display);font-size:var(--text-xl);font-weight:700;letter-spacing:-.01em;line-height:1.1}.hour-range{color:var(--muted);font-size:var(--text-sm);font-weight:600}.hour-progress{position:absolute;right:0;bottom:-1px;left:0;height:4px;overflow:hidden;background:color-mix(in srgb,var(--primary) 16%,transparent)}.hour-progress span{display:block;height:100%;background:var(--primary);transform-origin:left center;transition:transform 1s ease}.session-meta{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:var(--text-base);font-weight:700}.session-pending{border:1px solid var(--red-dot);border-radius:999px;background:var(--red-dot);padding:4px 12px;color:var(--on-red);font-size:var(--text-sm);font-style:normal;font-weight:800;white-space:nowrap}.hour-card.empty:not(.current-session){border-style:dashed;background:transparent;box-shadow:none}.hour-card.empty:not(.current-session) .hour-card-head{min-height:0;background:transparent;padding-block:6px}.hour-card.empty:not(.current-session) .hour-badge{width:2.25rem;height:2.25rem;border:1px dashed var(--border);background:transparent;color:var(--muted);font-size:var(--text-base)}.hour-card.empty:not(.current-session) .hour-card-head h2{color:var(--muted);font-size:var(--text-lg)}.hour-card.empty:not(.current-session) .session-meta{font-size:var(--text-sm);font-weight:600}.now-badge{display:inline-flex;align-items:center;gap:8px;border-radius:999px;background:var(--primary);color:var(--on-primary);padding:6px 12px;font-size:var(--text-sm);font-weight:700}.now-badge:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;animation:live-pulse 2s ease-out infinite}@keyframes live-pulse{0%{box-shadow:0 0 color-mix(in srgb,currentColor 60%,transparent)}70%,to{box-shadow:0 0 0 7px transparent}}.hour-card.current-session{border:2px solid var(--primary);box-shadow:0 0 0 4px var(--primary-soft),var(--shadow)}.hour-card.current-session .hour-card-head{min-height:3.75rem;background:var(--primary-soft)}.hour-card.current-session .hour-badge{background:var(--primary);color:var(--on-primary)}.hour-card.current-session .hour-card-head h2{font-size:var(--text-2xl)}.hour-card.past:not(.current-session){opacity:.9}.hour-card.past:not(.current-session) .hour-card-head{background:var(--surface-strong)}.hour-card.past:not(.current-session) .hour-card-head h2,.hour-card.past:not(.current-session) .hour-badge{color:var(--muted)}.hour-card.needs-cover{border-color:var(--red-border)}.hour-card.no-cover{border-color:var(--green-border)}.hour-card.needs-cover .hour-card-head{border-bottom-color:var(--red-border);background:var(--red-soft)}.hour-card.no-cover .hour-card-head{border-bottom-color:var(--green-border);background:var(--green-soft)}.hour-card.needs-cover .hour-badge{background:var(--red-dot);color:var(--on-red)}.hour-card.no-cover .hour-badge{background:var(--green-solid);color:var(--on-green)}.hour-card.needs-cover .session-meta{color:var(--red)}.hour-card.no-cover .session-meta{color:var(--green)}.hour-card.current-session.needs-cover,.hour-card.current-session.no-cover{border-color:var(--primary)}.hour-card.past.needs-cover:not(.current-session) .hour-badge{background:var(--red-soft);color:var(--red)}.hour-card.past.no-cover:not(.current-session) .hour-badge{background:var(--green-soft);color:var(--green)}.hour-card.no-cover.empty:not(.current-session) .hour-badge{border-color:var(--green-dot);background:transparent;color:var(--green)}.hour-card.no-cover.empty:not(.current-session) .hour-card-head h2{color:var(--green)}.guard-row{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr) minmax(0,1fr)}.guard-list{display:grid;gap:10px;background:var(--surface-subtle);padding:10px}.guard-row{overflow:hidden;border:1px solid var(--border-strong);border-radius:10px;background:var(--surface);box-shadow:var(--shadow-small)}.guard-row:before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:var(--border-strong)}.guard-row>div{display:grid;min-width:0;align-content:center;gap:3px;padding:12px 16px 12px 20px}.guard-row>div+div{border-left:1px solid var(--border);padding-left:16px}.cell-label{color:var(--muted);font-size:var(--text-xs);font-weight:700;letter-spacing:.05em;text-transform:uppercase}.guard-row strong{overflow-wrap:anywhere;font-size:var(--text-lg);font-weight:700}.session-detail>strong{font-family:var(--font-display);font-size:var(--text-xl)}.session-detail>span{color:var(--muted);font-size:var(--text-md);font-weight:500}.current-session .guard-row>div{padding-top:16px;padding-bottom:16px}.status-open:before,.status-covered:before{background:var(--red-dot)}.status-covered .status-label{color:var(--primary)}.status-open{background:color-mix(in srgb,var(--red-soft) 70%,transparent)}.status-open .status-label,.status-open .assigned-person strong{color:var(--red)}.status-coteacher:before,.status-returns:before,.status-info:before{background:var(--green-dot)}.status-coteacher .status-label,.status-returns .status-label{color:var(--green)}.status-returns .assigned-person strong,.status-info .assigned-person strong{color:var(--muted)}.status-not-done:before{background:var(--border-strong)}.status-not-done .status-label{color:var(--muted)}.status-not-done .assigned-person strong{color:var(--muted);text-decoration:line-through}.row-comment,.hour-observation{grid-column:1 / -1;margin:0;border-top:1px dashed var(--border);background:var(--primary-soft);padding:10px 16px 10px 20px;color:var(--text);font-size:var(--text-md);font-weight:600}.observation-label,.guard-row .observation-label{display:block;margin-bottom:4px;color:var(--primary-strong);font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase}.observation-text{white-space:pre-wrap;overflow-wrap:anywhere}.patio-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:8px;padding:12px}.patio-zone{display:grid;min-height:4.25rem;align-content:center;gap:3px;border:1px solid var(--border);border-radius:var(--radius-small);background:var(--surface-subtle);padding:10px 12px}.kiosk-day-notice{display:flex;flex:1 0 100%;flex-wrap:wrap;align-items:baseline;gap:4px 14px;margin:0;border:1px solid var(--primary-border);border-left:6px solid var(--primary);border-radius:12px;background:var(--primary-soft);color:var(--text);padding:12px 18px;font-size:var(--text-2xl);font-weight:700;line-height:1.25}.kiosk-day-notice-title{color:var(--primary);font-size:var(--text-sm);font-weight:800;letter-spacing:.06em;text-transform:uppercase}.kiosk-day-notice-text{white-space:pre-line}.kiosk-outings{flex:1 0 100%;margin:0;border:1px solid var(--amber-border);border-radius:12px;background:var(--amber-soft);color:var(--text);padding:10px 16px;font-size:var(--text-lg);line-height:1.35}.kiosk-outings-title{color:var(--amber);font-weight:800}.kiosk-outings .outing-separator{color:var(--muted)}.zone-name{color:var(--muted);font-size:var(--text-xs);font-weight:700;letter-spacing:.05em;text-transform:uppercase}.zone-teacher{overflow-wrap:anywhere;font-size:var(--text-lg);font-weight:700}.patio-zone.absent{border-color:var(--coral-border);background:var(--coral-soft)}.patio-zone em{color:var(--coral);font-size:var(--text-xs);font-style:normal;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.patio-observation{margin:0 12px 12px;border-top:1px solid var(--border);padding:10px 2px 0;font-weight:600}.kiosk-state{display:grid;min-height:55vh;flex:1 1 auto;place-content:center;justify-items:center;gap:14px;color:var(--muted);text-align:center}.kiosk-state strong{color:var(--text-soft);font-size:var(--text-xl)}.no-day{gap:10px}.no-day-logo{width:auto;height:5.5rem;margin-bottom:10px}.no-day-clock{color:var(--text);font-family:var(--font-display);font-size:clamp(4.5rem,14cqi,11rem);font-weight:700;letter-spacing:-.02em;line-height:1}.no-day-date{color:var(--text);font-family:var(--font-display);font-size:var(--text-2xl);font-weight:700}.inactive-screen{min-height:90vh}.inactive-screen img{width:12rem}.media-view{display:grid;min-height:calc(100vh - 9rem);place-items:center;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--muted)}.media-view>iframe{width:100%;height:calc(100vh - 9rem);border:0;background:#fff}.media-view>strong{padding:2rem;text-align:center}.kiosk-footer{display:flex;align-items:center;justify-content:flex-end;gap:7px;margin-top:auto;color:var(--muted);font-size:var(--text-xs);font-weight:600}.connection-dot{width:8px;height:8px;border-radius:50%;background:var(--coral)}.connection-dot.online{background:var(--green-dot)}.kiosk-header{position:relative;overflow:hidden}.kiosk-header:before{content:"";position:absolute;inset:0 0 auto;height:4px;background:linear-gradient(90deg,#2346b5 0,#2346b5 33.33%,#25a857 33.33%,#25a857 66.66%,#f0703c 66.66%)}.hour-card{animation:card-in .48s cubic-bezier(.2,.7,.2,1) backwards;animation-delay:calc(var(--i, 0) * 45ms)}@keyframes card-in{0%{opacity:0;transform:translateY(12px)}}.guard-row,.guard-row:before{transition:background-color .5s ease}.row-enter-active{transition:opacity .42s ease,transform .42s cubic-bezier(.2,.7,.2,1)}.row-enter-from{opacity:0;transform:translate(-10px)}.row-leave-active{transition:opacity .24s ease}.row-leave-to{opacity:0}.view-enter-active,.view-leave-active{transition:opacity .22s ease,transform .22s ease}.view-enter-from{opacity:0;transform:translateY(8px)}.view-leave-to{opacity:0}@media(prefers-reduced-motion:reduce){.hour-card,.now-badge:before{animation:none}.row-enter-active,.row-leave-active,.view-enter-active,.view-leave-active,.hour-progress span{transition:none}}@media(orientation:portrait){.kiosk-brand h1{font-size:var(--text-2xl)}}@media(orientation:landscape)and (min-width:1600px){.guard-row strong{font-size:1.375rem}.session-detail>strong{font-size:1.5rem}.session-detail>span{font-size:var(--text-lg)}.cell-label{font-size:var(--text-sm)}.hour-card-head h2{font-size:1.5rem}.hour-card.current-session .hour-card-head h2{font-size:1.75rem}.hour-card.empty:not(.current-session) .hour-card-head h2{font-size:var(--text-xl)}.hour-range,.session-meta{font-size:var(--text-lg)}.zone-teacher{font-size:1.375rem}.row-comment,.hour-observation{font-size:var(--text-lg)}.counter-time{font-size:var(--text-sm)}}@media(max-width:720px){.kiosk-header{align-items:flex-start;flex-direction:column}.kiosk-when{justify-items:start;text-align:left}.kiosk-brand img{height:44px}.live-clock-time{font-size:var(--text-3xl)}.session-counters{width:100%;flex-wrap:wrap;justify-content:center}.kiosk-actions{width:100%;justify-content:center;margin-left:0}.guard-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.guard-row>.assigned-person{grid-column:1 / -1;border-top:1px solid var(--border);border-left:0;padding-left:20px}}}@layer management{.management-shell{display:grid;min-height:100vh;grid-template-rows:auto 1fr;background:var(--bg)}.app-nav{position:sticky;z-index:40;top:0;border-bottom:1px solid var(--border);background:var(--surface)}.nav-inner{display:flex;min-height:60px;align-items:center;gap:14px;padding:0 16px}.brand{display:inline-flex;flex-shrink:0;align-items:center;gap:12px;color:var(--text);text-decoration:none}.brand img{display:block;width:auto;height:36px}.dark .brand img{border-radius:8px;background:#f5f4f0;padding:3px 6px}.brand-title{border-left:1px solid var(--border);padding-left:12px;font-family:var(--font-display);font-size:var(--text-xl);font-weight:700;letter-spacing:-.01em}.nav-chip-button,.nav-icon-button{display:inline-flex;min-height:36px;align-items:center;justify-content:center;gap:8px;border:1px solid var(--border);border-radius:var(--radius-small);background:transparent;color:var(--muted);padding:0 10px;font-size:var(--text-base);font-weight:600;text-decoration:none}.nav-icon-button{width:36px;border-color:transparent;padding:0}.nav-chip-button:hover,.nav-icon-button:hover{border-color:var(--border);background:var(--surface-strong);color:var(--text)}.nav-center{flex:1 1 auto}.management-layout{display:grid;min-height:0;grid-template-columns:minmax(340px,430px) minmax(0,1fr)}.management-panel{display:grid;height:calc(100vh - 61px);align-content:start;gap:16px;overflow:auto;border-right:1px solid var(--border);background:var(--surface);padding:20px;color:var(--text);font-size:var(--text-base)}.management-preview{display:grid;height:calc(100vh - 61px);grid-template-rows:auto minmax(0,1fr);overflow:hidden;background:var(--surface-strong)}.preview-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 12px;border-bottom:1px solid var(--border);background:var(--surface);padding:10px 16px}.preview-bar .segmented{min-width:15rem}.preview-size{color:var(--muted);font-size:var(--text-sm);font-weight:600}.preview-stage{display:grid;min-height:0;place-items:center;overflow:hidden;padding:20px}.preview-device{position:relative;box-sizing:content-box;overflow:hidden;border:8px solid #1c1f26;border-radius:14px;background:#1c1f26;box-shadow:0 18px 40px #14182040}.preview-device iframe{position:absolute;top:0;left:0;border:0;background:var(--bg);transform-origin:0 0}.panel-loading{display:grid;min-height:50vh;place-content:center}.panel-signin{display:grid;justify-items:start;gap:12px;padding-top:12px}.panel-signin img{width:9rem}.panel-signin p{margin:0;color:var(--muted)}.management-panel h1{margin:0;font-family:var(--font-display);font-size:var(--text-2xl);font-weight:700;letter-spacing:-.01em}.management-panel h2{margin:0;font-size:var(--text-lg);font-weight:700}.management-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.management-heading>div{display:grid;gap:2px}.panel-kicker{color:var(--muted);font-size:var(--text-xs);font-weight:700;letter-spacing:.06em;text-transform:uppercase}.save-status{display:inline-flex;align-items:center;gap:7px;border-radius:999px;background:var(--surface-strong);padding:6px 11px;color:var(--muted);font-size:var(--text-sm);font-weight:600;white-space:nowrap}.save-status-dot{width:7px;height:7px;border-radius:50%;background:var(--green-dot)}.save-status.is-saving .save-status-dot{background:var(--amber-dot)}.save-status.is-error{background:var(--coral-soft);color:var(--coral)}.save-status.is-error .save-status-dot{background:var(--coral)}.screen-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;border:1px solid var(--border);border-radius:12px;background:var(--surface-subtle);padding:10px 12px}.management-panel .switch-toggle{display:inline-flex;align-items:center;gap:10px;color:var(--text);font-size:var(--text-base);cursor:pointer}.management-panel .switch-toggle input{position:relative;width:38px;height:22px;min-height:0;flex:0 0 auto;margin:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;border-radius:999px;background:var(--border-strong);padding:0;cursor:pointer;transition:background-color .12s ease}.management-panel .switch-toggle input:after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:var(--shadow-small);transition:transform .12s ease}.management-panel .switch-toggle input:checked{background:var(--green-dot)}.management-panel .switch-toggle input:checked:after{transform:translate(16px)}.segmented{display:flex;gap:2px;border-radius:11px;background:var(--surface-strong);padding:3px}.segmented button{flex:1 1 0;min-height:34px;border:0;border-radius:8px;background:transparent;color:var(--muted);font-size:var(--text-base);font-weight:600}.segmented button:hover{color:var(--text)}.segmented button.active{background:var(--surface);color:var(--text);box-shadow:0 1px 2px #1418201a}.panel-section{display:grid;gap:14px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.section-heading p,.field-help{margin:3px 0 0;color:var(--muted);font-size:var(--text-sm)}.management-panel label{display:grid;gap:6px;color:var(--muted);font-size:var(--text-sm);font-weight:600}.management-panel input,.management-panel select,.management-panel textarea{width:100%;min-height:40px;border:1px solid var(--border-strong);border-radius:var(--radius-small);background:var(--surface);color:var(--text);padding:8px 11px;font-size:var(--text-base)}.management-panel textarea{resize:vertical}.management-panel :is(input,select,textarea):focus-visible{border-color:var(--primary)}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.primary-button,.secondary-button,.danger-button{min-height:38px;border:1px solid transparent;border-radius:var(--radius-small);padding:0 14px;font-size:var(--text-base);font-weight:700;white-space:nowrap}.primary-button{background:var(--primary);color:var(--on-primary)}.primary-button:hover{background:var(--primary-strong)}.secondary-button{border-color:var(--border-strong);background:var(--surface);color:var(--text)}.secondary-button:hover{background:var(--surface-strong)}.danger-button{justify-self:start;border-color:var(--coral-border);background:transparent;color:var(--coral)}.danger-button:hover{background:var(--coral-soft)}.icon-button{width:34px;min-height:34px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);padding:0}.view-type-picker{display:grid;gap:6px;border:1px solid var(--border);border-radius:12px;background:var(--surface-subtle);padding:6px}.view-type-picker button{display:grid;gap:2px;border:1px solid transparent;border-radius:var(--radius-small);background:var(--surface);color:var(--text);padding:10px 12px;text-align:left}.view-type-picker button:hover{border-color:var(--primary-border)}.view-type-picker strong{font-size:var(--text-base)}.view-type-picker span{color:var(--muted);font-size:var(--text-sm)}.view-list{display:grid;overflow:hidden;border:1px solid var(--border);border-radius:12px}.view-list-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:4px;padding:5px}.view-list-row+.view-list-row{border-top:1px solid var(--border)}.view-list-row.selected{background:var(--primary-soft);box-shadow:inset 3px 0 var(--primary)}.view-select{display:flex;min-width:0;min-height:36px;align-items:center;justify-content:space-between;gap:8px;border:0;border-radius:8px;background:transparent;color:var(--text);padding:4px 8px;text-align:left}.view-select strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.view-select span{color:var(--muted);font-size:var(--text-sm);white-space:nowrap}.view-editor{display:grid;gap:12px;border:1px solid var(--border);border-radius:12px;padding:14px}.editor-title{margin:0;font-weight:700}.type-help{display:grid;gap:3px;border-radius:var(--radius-small);background:var(--surface-subtle);padding:10px 12px}.type-help span{color:var(--muted);font-size:var(--text-sm);line-height:1.45}.tone-picker{display:grid;gap:6px;color:var(--muted);font-size:var(--text-sm);font-weight:600}.segmented button.tone-important.active{background:var(--amber-soft);color:var(--amber)}.segmented button.tone-urgent.active{background:var(--coral-soft);color:var(--coral)}.form-error{margin:0;border:1px solid var(--coral-border);border-radius:var(--radius-small);background:var(--coral-soft);color:var(--coral);padding:9px 12px;font-weight:600}.release-notes{border-top:1px solid var(--border);padding-top:4px}.release-notes summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 2px;color:var(--muted);font-size:var(--text-sm);font-weight:700;cursor:pointer}.release-notes-body{display:grid;gap:8px;padding-bottom:8px}.release-notes article{border:1px solid var(--border);border-radius:12px;background:var(--surface-subtle);padding:12px}.release-notes article header{display:grid;gap:2px}.release-notes time{color:var(--muted);font-size:var(--text-xs)}.release-notes ul{margin:8px 0 0;padding-left:18px;color:var(--text-soft);font-size:var(--text-sm);line-height:1.5}.schedule-editor{display:grid;min-width:0;gap:12px;margin:0;border:1px solid var(--border);border-radius:12px;padding:10px 14px 14px}.schedule-editor legend{padding:0 6px;font-weight:700}.schedule-quick{display:flex;flex-wrap:wrap;gap:6px}.chip-button{min-height:32px;border:1px solid var(--primary-border);border-radius:999px;background:var(--primary-soft);color:var(--primary-strong);padding:0 12px;font-size:var(--text-sm);font-weight:700}.chip-button:hover{border-color:var(--primary)}.management-panel label small,.weekday-picker small{color:var(--muted);font-weight:500}.weekday-picker{display:grid;gap:6px;color:var(--muted);font-size:var(--text-sm);font-weight:600}.weekday-picker>div{display:flex;gap:4px}.weekday-picker button{min-height:34px;flex:1 1 0;border:1px solid var(--border-strong);border-radius:8px;background:var(--surface);color:var(--text);font-size:var(--text-sm);font-weight:700}.weekday-picker button.active{border-color:var(--primary);background:var(--primary);color:var(--on-primary)}.schedule-summary{display:grid;gap:2px;margin:0;border-radius:var(--radius-small);background:var(--surface-subtle);padding:10px 12px}.schedule-summary strong{font-size:var(--text-sm)}.schedule-summary.is-active{background:var(--green-soft);color:var(--green)}.schedule-summary.is-waiting{background:var(--primary-soft);color:var(--primary-strong)}.schedule-summary.is-expired{background:var(--surface-strong);color:var(--muted)}.view-select .view-badge{border-radius:999px;background:var(--surface-strong);padding:3px 8px;color:var(--muted);font-size:var(--text-xs);font-weight:700}.view-select .view-badge.is-active{background:var(--green-soft);color:var(--green)}.view-select .view-badge.is-waiting{background:var(--primary-soft);color:var(--primary-strong)}@media(max-width:900px){.management-layout{display:block}.management-panel,.management-preview{height:auto}.management-panel{border-right:0;border-bottom:1px solid var(--border)}.preview-stage{height:min(75vh,760px)}}@media(max-width:620px){.nav-chip-label{display:none}.brand-title{font-size:var(--text-lg)}.field-grid{grid-template-columns:1fr}}}
