:root{--font-body:"Pretendard Variable", "Pretendard", "Noto Sans KR", "Apple SD Gothic Neo", "Malgun Gothic", sans-serif;--font-display:"IBM Plex Sans KR", "Pretendard Variable", "Pretendard", "Noto Sans KR", sans-serif;--background:#f3efe7;--surface:#fbf8f2;--surface-strong:#fffdf8;--border:#362c201f;--foreground:#211910;--muted:#685c4c;--accent:#2b4a40;--accent-strong:#1f342d;--accent-soft:#2b4a4014;--warning-soft:#aa7e2c1a;--shadow:0 14px 34px #2015090e;--shadow-soft:0 2px 8px #2015090b;--page-max:1520px;--content-max:1040px;--page-gutter:clamp(24px, 4vw, 72px);--home-shell-width:min(var(--content-max), calc(100% - (var(--page-gutter) * 2)));--home-background:radial-gradient(circle at 14% -10rem, #ffffffb8, transparent 28rem), linear-gradient(180deg, #f8f4eb 0%, var(--background) 22rem)}html{scrollbar-gutter:stable;min-height:100%}:is(html:has(.login-public-frame),body:has(.login-public-frame),html:has(.public-login-frame),body:has(.public-login-frame)){scrollbar-gutter:auto;scrollbar-width:none}html:has(.login-public-frame)::-webkit-scrollbar{width:0;height:0}body:has(.login-public-frame)::-webkit-scrollbar{width:0;height:0}html:has(.public-login-frame)::-webkit-scrollbar{width:0;height:0}body:has(.public-login-frame)::-webkit-scrollbar{width:0;height:0}html,body{max-width:100%;overflow-x:hidden}body{min-height:100svh;color:var(--foreground);background:var(--home-background);font-family:var(--font-body), sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;word-break:keep-all;overflow-wrap:normal;flex-direction:column;line-height:1.5;display:flex}:is(body:has(.admin-console),body:has(.gtm-console)){background:var(--background)}*{box-sizing:border-box;margin:0;padding:0}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}input,textarea,select{color:inherit}.topbar{border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#f8f4ebdb;flex:none;position:static}:is(body:has(.login-screen) .topbar,body:has(.admin-public-page) .topbar,body:has(.public-legal-page) .topbar){display:none}.topbar__inner{width:min(var(--content-max), calc(100% - (var(--page-gutter) * 2)));grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;margin:0 auto;padding:16px 0;display:grid}:is(body:has(.dashboard-monitor) .topbar__inner,body:has(.gtm-home) .topbar__inner){width:var(--home-shell-width)}.topbar__brand-group{grid-column:1;align-items:center;min-width:0;display:flex}.topbar__brand{font-family:var(--font-display), sans-serif;letter-spacing:-.018em;font-size:1.03rem;font-weight:850;line-height:1.12}.topbar__brand-link{cursor:pointer;background:#fffdf8db;border:1px solid #2b4a402e;border-radius:12px;justify-content:center;align-items:center;gap:9px;width:42px;min-height:42px;padding:0;transition:background .14s,border-color .14s,box-shadow .14s,transform .14s;display:inline-flex;box-shadow:inset 0 1px #ffffffdb,0 3px 10px #2015090b}.topbar__brand-link:hover{background:#fffdf8;border-color:#2b4a4052;transform:translateY(-1px);box-shadow:inset 0 1px #ffffffe6,0 6px 16px #20150913}.topbar__brand-link:active{transform:translateY(0)}.topbar__home-icon{width:22px;height:22px;color:var(--accent-strong);fill:currentColor;display:block}.topbar__brand-link:focus-visible,.topbar__nav a:focus-visible,.topbar__identity:focus-visible,.button:focus-visible{outline-offset:3px;outline:3px solid #2b4a403d}.topbar__sub{color:var(--muted);margin-top:4px;font-size:.88rem}.topbar__nav{min-width:0;color:var(--muted);scrollbar-width:none;flex-wrap:nowrap;grid-column:2;gap:6px;padding:2px;font-size:.88rem;font-weight:600;display:flex;overflow-x:auto}.topbar__nav::-webkit-scrollbar{display:none}.topbar__nav a{white-space:nowrap;border:1px solid #0000;border-radius:999px;flex:none;justify-content:center;place-items:center;min-height:36px;padding:0 11px;transition:background-color .16s,border-color .16s,color .16s;display:inline-grid}.topbar__nav a>span,.topbar__nav a:after{grid-area:1/1}.topbar__nav a:after{content:attr(data-label);visibility:hidden;pointer-events:none;-webkit-user-select:none;user-select:none;white-space:nowrap;height:0;font-weight:800;overflow:hidden}.topbar__nav a:hover{border-color:var(--border);color:var(--foreground);background:#fffdf9f5}.topbar__nav a.is-active{background:var(--accent);color:#fffdf8;border-color:#2b4a4042;font-weight:800}.topbar__nav a.is-active:hover{background:var(--accent-strong);color:#fffdf8;border-color:#2b4a4057}.topbar__controls{grid-column:3;justify-self:end;align-items:center;gap:16px;display:flex}.topbar__auth{align-items:center;gap:12px;display:flex}.topbar__identity{text-align:center;background:#fffdf894;border:1px solid #2b4a4029;border-radius:999px;justify-content:center;align-items:center;max-width:min(42vw,360px);min-height:34px;padding:0 12px;transition:background .14s,border-color .14s,color .14s,transform .14s;display:inline-flex;box-shadow:inset 0 1px #ffffffad}.topbar__identity:hover{color:var(--accent-strong);background:#fffdf8f5;border-color:#2b4a404d;transform:translateY(-1px)}.topbar__identity:active{transform:translateY(0)}.topbar__identity span{color:var(--foreground);overflow-wrap:anywhere;font-size:.88rem;font-weight:650;line-height:1.3}@media (max-width:860px){.topbar__inner{grid-template-columns:1fr;align-items:flex-start}.topbar__brand-group,.topbar__nav,.topbar__controls,.topbar__auth{grid-column:1;width:100%}.topbar__controls,.topbar__auth{flex-direction:column;align-items:flex-start}.topbar__brand-group{justify-content:space-between;width:100%}.topbar__identity{text-align:left;max-width:100%}}@media (max-width:1180px){:root{--home-shell-width:min(var(--content-max), calc(100% - 40px))}}@media (max-width:640px){:root{--page-gutter:12px;--home-shell-width:min(var(--content-max), calc(100% - 24px))}.topbar__inner{width:calc(100% - 24px)}}
:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}body:has(.timetable-console){background:var(--background)}:is(html:has(dialog[open]),body:has(dialog[open])){overflow:hidden}body:has(.kiosk-screen){height:100svh}:is(body:has(.login-screen),body:has(.kiosk-setup)){background:var(--surface-strong)}body:has(.employee-scan-page){background:#0e1211}:is(body:has(.login-screen) .topbar,body:has(.employee-scan-page) .topbar,body:has(.kiosk-setup) .topbar){display:none}.topbar .topbar__inner{width:min(600px, calc(100% - (var(--page-gutter) * 2)))}body:has(.kiosk-screen) .topbar__inner{width:min(600px, calc(100% - (var(--page-gutter) * 2)))}.topbar__account-row{align-items:center;gap:10px;min-width:0;max-width:100%;display:flex}.topbar__scan-link{border:1px solid var(--border);background:var(--surface-strong);width:44px;height:44px;color:var(--accent-strong);box-shadow:var(--shadow-soft);border-radius:14px;flex:0 0 44px;justify-content:center;align-items:center;transition:background .14s,border-color .14s,box-shadow .14s,transform .14s;display:inline-flex}.topbar__scan-link:hover{border-color:var(--accent);background:var(--surface);box-shadow:var(--shadow-soft);transform:translateY(-1px)}.topbar__scan-link:active{transform:translateY(0)}.topbar__scan-link:focus-visible{outline-offset:3px;outline:3px solid #2b4a403d}.topbar__scan-icon{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:22px;height:22px}.topbar__account-row .topbar__identity{min-width:0}.topbar__identity-email-mobile{display:none}.topbar__navigation{grid-column:2;min-width:0}.topbar__navigation>.topbar__nav{grid-column:auto}.topbar__navigation--mobile,.topbar__logout-icon{display:none}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-shell{width:min(var(--content-max), calc(100% - (var(--page-gutter) * 2)));flex:1 0 auto;margin:0 auto;padding:46px 0 80px}.kiosk-admin-shell,.attendance-history-page{width:min(480px, calc(100% - (var(--page-gutter) * 2)))}.timetable-home{width:min(600px, calc(100% - (var(--page-gutter) * 2)))}.timetable-home .attendance-history-list{width:min(480px,100%);margin:0 auto}.attendance-history-list{gap:10px;display:grid}.attendance-history-filter{border-bottom:1px solid #362c201f;grid-template-columns:repeat(3,minmax(0,1fr)) 66px;align-items:center;gap:10px;margin:0;padding:26px 0 30px;display:grid}.attendance-history-filter--viewer{grid-template-columns:repeat(2,minmax(0,1fr)) 66px}.attendance-history-filter label,.attendance-history-filter__range{gap:7px;min-width:0;display:grid}.attendance-history-filter__range{position:relative}.attendance-history-filter input:not([type=hidden]),.attendance-history-filter select{width:100%;min-height:38px;color:var(--foreground);font:inherit;background:#fffdf8b8;border:1px solid #362c2024;border-radius:8px;outline:none;padding:0 11px;font-size:.86rem;font-weight:720}.attendance-history-filter input:not([type=hidden]):focus,.attendance-history-filter select:focus{border-color:#2a57467a;box-shadow:0 0 0 3px #2a57461f}.attendance-date-range-popover{z-index:40;width:min(320px,100vw - 32px);position:absolute;top:calc(100% + 7px);left:0}.attendance-date-range-popover__panel{background:#fffdf8fa;border:1px solid #362c2024;border-radius:10px;width:100%;padding:12px;box-shadow:0 18px 40px #362c2029}.attendance-date-range-popover__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.attendance-date-range-popover__grid label{gap:6px}.attendance-date-range-popover__grid span{color:var(--muted);font-size:.74rem;font-weight:850}.attendance-date-range-popover__actions{justify-content:flex-end;gap:8px;margin-top:10px;display:flex}.attendance-history-filter__actions{white-space:nowrap;display:block}.attendance-history-filter__actions .button{width:100%;min-height:38px}.attendance-history-card{width:100%;box-shadow:var(--shadow-soft);border:1px solid #362c201a;border-radius:10px;grid-template-columns:80px 190px minmax(0,1fr);align-items:start;gap:12px 16px;padding:16px 18px;display:grid}.attendance-history-card--interactive{appearance:none;color:inherit;cursor:pointer;font:inherit;text-align:left;transition:border-color .14s,box-shadow .14s,transform .14s}.attendance-history-card--interactive:hover{border-color:#2b4a404d;transform:translateY(-1px);box-shadow:0 12px 26px #362c201f}.attendance-history-card--interactive:focus-visible{outline-offset:2px;outline:3px solid #2a574647}.attendance-history-card--checked-in{background:#2b4a401a;border-color:#2b4a402e}.attendance-history-card--checked-out{background:#fffdf8b8}.attendance-history-card__times{grid-column:2;gap:5px;min-width:0;display:grid}.attendance-history-card time,.attendance-history-card__employee,.attendance-history-card__device{overflow-wrap:anywhere;min-width:0;line-height:1.35;display:block}.attendance-history-card__time-row{white-space:nowrap;grid-template-columns:max-content max-content;align-items:baseline;gap:8px;display:grid}.attendance-history-card__note{color:var(--muted);overflow-wrap:anywhere;border-top:1px solid #362c201a;grid-column:1/-1;margin-top:2px;padding-top:10px;font-size:.8rem;font-weight:680;line-height:1.55}.attendance-history-card__event-label{color:var(--muted);font-size:.72rem;font-weight:850}.attendance-history-card time{color:var(--foreground);font-variant-numeric:tabular-nums;overflow-wrap:normal;white-space:nowrap;font-size:.9rem;font-weight:850}.attendance-history-card__employee{color:var(--foreground);text-overflow:ellipsis;white-space:nowrap;grid-column:1;font-size:.93rem;font-weight:780;line-height:1.55;overflow:hidden}.attendance-history-card__device{color:var(--accent);text-align:right;white-space:nowrap;grid-column:3;justify-self:end;font-size:.82rem;font-weight:820}.attendance-history-empty{color:var(--muted);border-bottom:1px solid #362c201a;margin:0;padding:20px 0;font-size:.9rem;font-weight:720}.attendance-history-pager{color:var(--muted);justify-content:center;align-items:center;gap:12px;padding-top:16px;font-size:.84rem;font-weight:800;display:flex}.attendance-history-editor{width:min(440px,100vw - 32px);max-height:calc(100vh - 32px);color:var(--foreground);background:0 0;border:0;margin:auto;padding:0;overflow:visible}.attendance-history-editor::backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#1c161057}.attendance-history-editor__panel{background:#fffdf8;border:1px solid #362c2029;border-radius:18px;max-height:calc(100vh - 32px);overflow-y:auto;box-shadow:0 28px 80px #1c16103d}.attendance-history-editor__header{z-index:1;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffdf8f5;border-bottom:1px solid #362c201a;justify-content:space-between;align-items:center;gap:16px;min-height:68px;padding:13px 14px 13px 20px;display:flex;position:sticky;top:0}.attendance-history-editor__header h2{text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:1.02rem;font-weight:900;line-height:1.25;overflow:hidden}.attendance-history-editor__close{background:var(--foreground);width:40px;height:40px;color:var(--background);cursor:pointer;border:1px solid #21180f38;border-radius:11px;flex:none;font-size:1.35rem;font-weight:850;line-height:1}.attendance-history-editor__form{gap:13px;padding:20px;display:grid}.attendance-history-editor__form label,.attendance-history-editor__date-time-field>span:first-child{color:var(--muted);gap:7px;font-size:.82rem;font-weight:780;display:grid}.attendance-history-editor__form input:not([type=hidden]){width:100%;min-height:44px;color:var(--foreground);font:inherit;background:#fffdf8b8;border:1px solid #362c2029;border-radius:9px;outline:none;padding:0 12px;font-size:.9rem}.attendance-history-editor__form input:not([type=hidden]):focus{border-color:#2a57467a;box-shadow:0 0 0 3px #2a57461f}.attendance-history-editor__date-time-field{gap:7px;min-width:0;display:grid}.attendance-history-editor__date-time-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.attendance-history-editor__date-time-control{width:100%;display:block;position:relative}.attendance-history-editor__date-time-trigger{width:100%;min-height:44px;color:var(--foreground);cursor:pointer;font:inherit;font-variant-numeric:tabular-nums;text-align:left;white-space:nowrap;background:#fffdf8b8;border:1px solid #362c2029;border-radius:9px;justify-content:space-between;align-items:center;gap:12px;padding:0 12px;font-size:.82rem;font-weight:720;display:flex}.attendance-history-editor__date-time-trigger:focus-visible{border-color:#2a57467a;outline:0;box-shadow:0 0 0 3px #2a57461f}.attendance-history-editor__date-time-control:focus-within .attendance-history-editor__date-time-trigger{border-color:#2a57467a;box-shadow:0 0 0 3px #2a57461f}.attendance-history-editor__date-time-trigger .is-placeholder{color:#362c208a}.attendance-history-editor__date-time-control input{opacity:0;pointer-events:none;width:100%;height:100%;position:absolute;inset:0;min-height:0!important;padding:0!important}.attendance-history-editor__confirmation{grid-template-columns:auto minmax(0,1fr);align-items:start;line-height:1.5;color:#81271d!important}.attendance-history-editor__confirmation input{margin-top:1px;width:18px!important;min-height:18px!important;padding:0!important}.attendance-history-editor__actions,.attendance-history-editor__delete-actions{justify-content:center;gap:10px;display:flex}.attendance-history-editor__actions .button,.attendance-history-editor__delete-actions .button{justify-self:center;width:auto;min-width:84px;min-height:40px;padding:8px 15px;font-size:.88rem}.attendance-history-editor__delete-confirmation{text-align:center;background:#a02f210a;border:1px solid #a02f2129;border-radius:10px;gap:12px;padding:14px;display:grid}.attendance-history-editor__delete-confirmation>p{color:#81271d;margin:0;font-size:.86rem;font-weight:780;line-height:1.5}.attendance-history-editor__form .attendance-history-editor__delete-confirmation .attendance-history-editor__message,.schedule-dialog__form .attendance-history-editor__delete-confirmation .attendance-history-editor__message{text-align:center;margin:0}.attendance-history-editor__message{color:var(--muted);text-align:center;margin:16px 20px 0;font-size:.84rem;font-weight:720;line-height:1.55}.attendance-history-editor__form .attendance-history-editor__message{text-align:left;margin:0}.attendance-history-editor__message--success{color:var(--accent)}.attendance-history-editor__message--error{color:#81271d}.page-controls{justify-content:flex-end;align-items:center;gap:16px;margin-bottom:24px;display:flex}.page-controls--split{justify-content:space-between}.page-controls__link{color:var(--accent-strong);text-underline-offset:4px;font-size:.9rem;font-weight:800;text-decoration:underline;text-decoration-thickness:1px;display:inline-block}.page-controls__link:hover{color:var(--accent)}.page-controls+.content-section,.page-controls+.history-summary{margin-top:0}.status{background:var(--accent-soft);width:fit-content;min-height:30px;color:var(--accent-strong);white-space:nowrap;border:1px solid #2b4a402e;border-radius:999px;align-items:center;padding:4px 10px;font-size:.82rem;font-weight:800;display:inline-flex}.status--ok{background:#226c4f14;border-color:#226c4f2e}.status--late{color:#8d281c;background:#a02f2114;border-color:#a02f2133}.status--warning{color:#72561f;background:#aa7e2c1a;border-color:#aa7e2c38}.status--neutral{border-color:var(--border);color:var(--muted);background:#5b514512}.text-danger{color:#9a2d20!important}.muted{color:var(--muted)}.flash{background:var(--warning-soft);border:1px solid #aa7e2c38;border-radius:14px;margin-bottom:24px;padding:16px 18px}.flash--success{color:var(--accent-strong);background:#226c4f14;border-color:#226c4f33}.flash--error{color:#81271d;background:#a02f2114;border-color:#a02f2133}.history-summary dl{border-top:1px solid var(--border);border-bottom:1px solid var(--border);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.history-summary dl>div{min-width:0;padding:16px}.history-summary dl>div+div{border-left:1px solid var(--border)}.history-summary dt{color:var(--muted);margin-bottom:7px;font-size:.82rem;font-weight:700}.history-summary dd{color:var(--foreground);font-family:var(--font-display), sans-serif;font-size:1.14rem;font-weight:800}.month-switcher{align-items:center;gap:12px;display:flex}.month-switcher strong{text-align:center;white-space:nowrap;min-width:108px}.content-section,.history-summary{margin-top:24px}.table-wrap{border-top:1px solid var(--border);border-bottom:1px solid var(--border);width:100%;overflow-x:auto}.data-table{border-collapse:collapse;width:100%;min-width:760px;font-size:.92rem}.data-table th,.data-table td{text-align:left;vertical-align:middle;border-bottom:1px solid #362c2017;padding:14px 13px}.data-table th{color:var(--muted);white-space:nowrap;font-size:.78rem;font-weight:800}.data-table tr:last-child td{border-bottom:0}.data-table tbody tr:hover{background:#fffdf894}.data-table .data-table__empty{height:116px;color:var(--muted);text-align:center}.empty-state{border-top:1px solid var(--border);border-bottom:1px solid var(--border);text-align:center;place-content:center;gap:8px;min-height:190px;padding:40px 20px;display:grid}.empty-state p{color:var(--muted)}.admin-section{border-top:1px solid var(--border);padding:36px 0 44px}.admin-section--kiosks{border-top:0}.admin-section>header{margin-bottom:24px}.admin-section>header h2{font-family:var(--font-display), sans-serif;font-size:1.35rem}.admin-section>header p{color:var(--muted);margin-top:7px;font-size:.93rem}.form-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 18px;margin-bottom:28px;display:grid}.kiosk-registration-form{grid-template-columns:minmax(0,320px) auto;justify-content:center;width:min(430px,100%);margin-left:auto;margin-right:auto}.form-grid label{color:var(--muted);gap:7px;font-size:.84rem;font-weight:750;display:grid}.form-grid input,.form-grid select{width:100%;min-height:48px;color:var(--foreground);background:#fffdf8d6;border:1px solid #362c202e;border-radius:10px;outline:0;padding:0 14px}.form-grid input:focus,.form-grid select:focus{border-color:#2b4a4085;box-shadow:0 0 0 3px #2b4a401a}.form-grid__wide{grid-column:span 2}.form-grid__actions{flex-wrap:wrap;align-items:end;gap:10px;display:flex}.kiosk-registration-form .form-grid__actions{justify-content:center}.kiosk-registration-form .button{min-height:48px}.form-help{color:var(--muted);background:#2b4a400d;border-left:3px solid #2b4a4052;margin:-12px 0 28px;padding:13px 15px;font-size:.88rem;line-height:1.65}.attendance-admin-table{min-width:1080px}.record-action{justify-content:space-between;align-items:center;gap:10px;min-width:230px;display:flex}.attendance-adjustment{scroll-margin-top:96px}.adjustment-context{border:1px solid var(--border);background:#fffdf89e;border-radius:11px;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 18px;margin-bottom:20px;padding:14px 16px;display:grid}.adjustment-context div{gap:4px;display:grid}.adjustment-context dt{color:var(--muted);font-size:.8rem;font-weight:750}.adjustment-context dd{font-size:.9rem;font-weight:700;line-height:1.5}.table-scroll-hint{color:var(--muted);margin:-10px 0 12px;font-size:.82rem;line-height:1.55;display:block}.danger-zone{background:#a02f2109;border:1px solid #a02f2129;border-radius:12px;margin-top:12px;padding:16px 18px}.danger-zone summary{color:#81271d;cursor:pointer;font-weight:800}.danger-zone>p{color:var(--muted);margin-top:10px;font-size:.88rem;line-height:1.65}.danger-form{grid-template-columns:minmax(240px,1fr) auto;align-items:end;gap:14px 18px;margin-top:16px;display:grid}.danger-form>label:first-of-type{color:var(--muted);gap:7px;font-size:.84rem;font-weight:750;display:grid}.danger-form input[type=text]{width:100%;min-height:48px;color:var(--foreground);background:#fffdf8d6;border:1px solid #362c202e;border-radius:10px;padding:0 14px}.confirmation-check{color:#81271d;grid-column:1/-1;align-items:flex-start;gap:9px;font-size:.84rem;line-height:1.55;display:flex}.confirmation-check input{flex:none;width:18px;height:18px;margin-top:1px}.button{min-height:44px;color:inherit;cursor:pointer;letter-spacing:-.01em;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;padding:0 16px;font-weight:800;transition:opacity .18s,background-color .18s,border-color .18s,color .18s,box-shadow .18s,transform .18s;display:inline-flex}.button:disabled{cursor:not-allowed;opacity:.5}.button.is-pending,.button[aria-busy=true]{cursor:progress;opacity:.82}.form-submit-button__content{place-items:center;display:grid}.form-submit-button__measure,.form-submit-button__visible{grid-area:1/1}.form-submit-button__measure{visibility:hidden}.form-submit-button__visible{justify-content:center;align-items:center;display:inline-flex}.button--primary{background:var(--accent);color:#f8f5ef;box-shadow:0 8px 18px #1f342d24}.button--ghost{border-color:var(--border);color:var(--foreground);background:#fffcf8b8}.button:hover:not(:disabled){transform:translateY(-1px)}.button--small{border-radius:9px;min-height:36px;padding:0 12px;font-size:.88rem}.admin-shift-table{margin-top:12px}.table-actions,.plain-list__actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.plain-list{border-top:1px solid var(--border);list-style:none}.plain-list li{border-bottom:1px solid var(--border);min-height:62px;color:var(--muted);justify-content:space-between;align-items:center;gap:18px;padding:12px 4px;font-size:.88rem;display:flex}.kiosk-device-list li:not(.plain-list__empty){grid-template-columns:minmax(0,1fr) auto;display:grid}.kiosk-capacity-count{color:var(--muted);text-align:center;margin:18px 0 0;font-size:.82rem;font-weight:700}.kiosk-page-feedback{text-align:center;margin-top:20px;margin-bottom:0}.plain-list li>span:first-child{color:var(--foreground);gap:3px;display:grid}.plain-list small,.plain-list__actions{color:var(--muted)}.plain-list .plain-list__empty{min-height:94px;color:var(--muted);text-align:center;justify-content:center}.public-login-frame{background:var(--surface-strong);min-height:100svh;overflow-x:clip}.login-screen{width:100vw;max-width:100vw;min-height:100svh;padding:var(--page-gutter);background:linear-gradient(90deg,#0e0a07b8,#0e0a0747 54%,#0e0a071f),url(/images/login-background.jpg) 50%/cover no-repeat;place-items:center;display:grid;position:relative;overflow:hidden}.login-screen__content{z-index:1;justify-items:center;width:min(760px,100%);display:grid;position:relative;transform:translateY(clamp(-96px,-8vh,-56px))}.login-screen__workspace{justify-items:center;gap:72px;width:100%;display:grid}.login-shortcuts{grid-auto-columns:minmax(72px,88px);grid-auto-flow:column;justify-content:center;gap:12px;width:min(288px,100%);display:grid}.login-shortcuts__item{color:#fffdf8;text-align:center;text-shadow:0 1px 8px #0000008c;justify-items:center;gap:10px;min-width:0;font-size:.82rem;font-weight:800;line-height:1.25;display:grid}.login-shortcuts__badge{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffdf847;border:1px solid #fffdf86b;border-radius:18px;place-items:center;width:58px;height:58px;transition:background .14s,border-color .14s,transform .14s;display:inline-grid;box-shadow:inset 0 1px #ffffff47,0 16px 38px #00000042}.login-shortcuts__icon{object-fit:contain;border-radius:8px;width:30px;height:30px;display:block}.login-shortcuts__label{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);text-overflow:ellipsis;white-space:nowrap;background:#0e0a0757;border:1px solid #fffdf829;border-radius:999px;max-width:94px;padding:4px 8px 5px;overflow:hidden}.login-shortcuts__item:hover .login-shortcuts__badge{background:#fffdf86b;border-color:#fffdf89e;transform:translateY(-2px)}.login-screen__form{justify-items:center;display:grid}.google-signin-button{color:#1f1f1f;cursor:pointer;min-width:292px;min-height:52px;font-family:Roboto, var(--font-body), sans-serif;background:#fff;border:1px solid #747775;border-radius:26px;justify-content:center;align-items:center;gap:12px;padding:0 18px 0 16px;font-size:1rem;font-weight:600;line-height:1;transition:background .14s,border-color .14s,box-shadow .14s,transform .14s;display:inline-flex;box-shadow:0 18px 42px #00000038}.google-signin-button:hover:not(:disabled){background:#f8fafd;border-color:#1f1f1f;transform:translateY(-1px);box-shadow:0 20px 46px #00000047}.google-signin-button:active:not(:disabled){background:#f1f3f4;transform:translateY(0)}.google-signin-button:disabled{cursor:progress;opacity:.82}.google-signin-button:focus-visible,.login-shortcuts__item:focus-visible{outline-offset:4px;outline:3px solid #fffdf875}.google-signin-button__icon{flex:none;width:20px;height:20px}.google-signin-button .form-submit-button__visible{gap:12px}.google-signin-button.login-screen__return-link{background:var(--accent-strong);color:#fffdf8;border-color:#fffdf885;text-decoration:none;box-shadow:inset 0 1px #ffffff38,0 18px 42px #0000005c}.google-signin-button.login-screen__return-link:hover{background:var(--accent);border-color:#fffdf8b8;box-shadow:inset 0 1px #ffffff3d,0 20px 46px #0006}.google-signin-button.login-screen__return-link:active{background:#1c2f29}.login-screen__error{color:#fffdf8;text-align:center;background:#32100cad;border:1px solid #fffdf852;border-radius:12px;gap:4px;max-width:min(420px,100% - 48px);margin-top:-48px;padding:12px 14px;display:grid;box-shadow:0 18px 44px #00000038}.login-screen__error span{color:#fffdf8d1;font-size:.88rem}.public-footer{border-top:1px solid var(--border);background:var(--surface-strong);color:var(--muted);flex:none;margin-top:auto}.public-footer__inner{width:min(600px, calc(100% - (var(--page-gutter) * 2)));justify-content:space-between;align-items:center;gap:18px;min-height:72px;margin:0 auto;font-size:.93rem;display:flex}.public-footer__copyright{color:#685c4ce6}.public-footer__nav{color:var(--accent);justify-content:flex-end;align-items:center;gap:14px;font-weight:700;display:flex}.public-footer__nav a{padding:8px 0}.public-footer__nav a:hover{color:var(--accent-strong);text-underline-offset:4px;text-decoration:underline}.public-legal-page{background:radial-gradient(circle at 8% -10%, #ffffffe0, transparent 28rem), linear-gradient(180deg, #fffdf8 0%, var(--background) 100%);word-break:normal;overflow-wrap:anywhere;flex:1 0 auto;min-height:0}.public-legal{width:min(820px, calc(100% - (var(--page-gutter) * 2)));margin:0 auto;padding:clamp(44px,8vw,88px) 0 clamp(52px,7vw,80px)}.public-legal__back-link{color:#685c4cd1;align-items:center;gap:7px;width:fit-content;font-size:.88rem;font-weight:720;line-height:1.2;transition:color .14s,transform .14s;display:inline-flex}.public-legal__back-link:before{content:"←";font-size:1rem;line-height:1}.public-legal__back-link:hover{color:var(--accent-strong);transform:translate(-2px)}.public-legal__header{border-bottom:1px solid var(--border);gap:12px;padding-bottom:28px;display:grid}.public-legal h1{max-width:680px;font-family:var(--font-display), sans-serif;font-size:clamp(1.55rem,2.2vw,2rem);font-weight:880;line-height:1.16}.public-legal__lede{max-width:680px;color:var(--muted);line-height:1.7}.public-legal__updated{color:#685c4cc2;font-size:.92rem}.public-legal__sections{gap:24px;padding-top:32px;display:grid}.public-legal__section{grid-template-columns:minmax(190px,.36fr) minmax(0,1fr);align-items:start;gap:24px;display:grid}.public-legal__section h2{color:var(--accent-strong);font-size:1rem;font-weight:840;line-height:1.45}.public-legal__body{color:#3a3026;gap:10px;min-width:0;font-size:1rem;line-height:1.78;display:grid}.public-legal__body ul{gap:7px;margin:0;padding-left:1.2rem;display:grid}.state-page{min-height:0;padding:var(--page-gutter);flex:1 0 auto;place-items:center;display:grid}.kiosk-setup{min-height:calc(100svh - 75px);padding:var(--page-gutter);place-items:center;display:grid}.state-panel,.kiosk-setup__panel{border:1px solid var(--border);width:min(580px,100%);box-shadow:var(--shadow);background:#fffdf8eb;border-radius:20px;padding:36px}.state-panel{text-align:center;justify-items:center;gap:18px;display:grid}.state-panel--kiosk-home{width:min(680px,100%)}.state-panel.state-panel--kiosk-home h1{font-size:clamp(1.15rem,2vw,1.35rem)}.state-panel h1,.kiosk-setup h1{font-family:var(--font-display), sans-serif;font-size:clamp(1.5rem,5vw,2.1rem)}.state-panel p,.kiosk-setup__panel>p{color:var(--muted);line-height:1.7}.employee-scan-page{background:#0e1211;width:100%;min-height:100svh;overflow:hidden}.employee-scanner{width:100%;min-height:100svh;color:var(--surface-strong);background:#0e1211;position:relative;overflow:hidden}.employee-scanner__camera{background:#0e1211;position:absolute;inset:0;overflow:hidden}.employee-scanner__camera:after{content:"";pointer-events:none;background:linear-gradient(#0609084d,#0000 24% 68%,#0609088f);position:absolute;inset:0}.employee-scanner__camera video{object-fit:cover;width:100%;height:100%;display:block}.employee-scanner__close{z-index:4;top:max(16px, env(safe-area-inset-top));left:max(16px, env(safe-area-inset-left));width:48px;height:48px;color:var(--surface-strong);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0e1211ad;border:1px solid #fffdf847;border-radius:50%;place-items:center;display:grid;position:absolute}.employee-scanner__close:hover{background:#0e1211db}.employee-scanner__close:focus-visible{outline-offset:3px;outline:3px solid #fffdf8c7}.employee-scanner__close svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-width:1.9px;width:24px;height:24px}.employee-scanner__frame{z-index:2;aspect-ratio:1;pointer-events:none;border:2px solid #fffdf8eb;border-radius:24px;width:min(68vw,46svh,320px);position:absolute;top:46%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 9999px #0609084d}.employee-scanner__pending{z-index:3;color:var(--surface-strong);background:#0e1211b3;place-content:center;justify-items:center;gap:14px;font-weight:800;display:grid;position:absolute;inset:0}.employee-scanner__spinner{border:4px solid #fffdf83d;border-top-color:var(--surface-strong);border-radius:50%;width:44px;height:44px;animation:.8s linear infinite spin}.employee-scanner__status{z-index:4;right:max(16px, env(safe-area-inset-right));bottom:max(20px, env(safe-area-inset-bottom));left:max(16px, env(safe-area-inset-left));justify-items:center;display:grid;position:absolute}.employee-scanner__status>p{width:fit-content;max-width:100%;color:var(--surface-strong);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);text-align:center;background:#0e1211b8;border:1px solid #fffdf838;border-radius:999px;padding:11px 16px;font-size:.9rem;font-weight:750;line-height:1.5}.employee-scanner__error,.employee-scanner__result{border:1px solid var(--border);background:var(--surface-strong);width:min(420px,100%);color:var(--foreground);box-shadow:var(--shadow);text-align:center;border-radius:24px;justify-items:center;gap:13px;padding:26px 22px;display:grid}.employee-scanner__error p,.employee-scanner__result p{color:var(--muted);line-height:1.6}.employee-scanner__result strong{font-family:var(--font-display), sans-serif;font-size:1.35rem}.employee-scanner__check{background:var(--accent);width:58px;height:58px;color:var(--surface-strong);border-radius:50%;place-items:center;font-size:1.8rem;font-weight:900;display:grid}.employee-scanner--success .employee-scanner__frame,.employee-scanner--error .employee-scanner__frame{opacity:0}.kiosk-setup{background:radial-gradient(circle at 15% 0%, #fff 0, transparent 34rem), var(--background);min-height:100svh}.kiosk-setup__panel{gap:22px;display:grid}.kiosk-screen{background:0 0;flex:1 1 0;grid-template-rows:minmax(0,1fr);place-items:center;min-height:0;padding:clamp(24px,4vw,56px);display:grid;container-type:size}.kiosk-screen__body{place-items:center;width:100%;height:100%;min-height:0;display:grid}.kiosk-qr-content{justify-items:center;gap:18px;display:grid}.kiosk-qr-shell{position:relative}.kiosk-qr-code{aspect-ratio:1;background:#fff;border:1px solid #362c2024;border-radius:26px;place-items:center;width:min(42vw,450px,100cqh - 42px);padding:20px;display:grid;box-shadow:0 20px 54px #2015091a}.kiosk-qr-code svg{width:100%;height:100%}.kiosk-qr-meta{color:var(--muted);flex-wrap:wrap;justify-content:center;align-items:center;gap:7px 12px;display:flex}.kiosk-qr-meta strong{color:var(--accent-strong)}.kiosk-qr-meta .is-expiring{color:#9a2d20}.kiosk-qr-state{aspect-ratio:1;border:1px solid var(--border);text-align:center;background:#fffdf8c2;border-radius:26px;place-content:center;justify-items:center;gap:18px;width:min(42vw,450px,100cqh - 42px);min-height:0;padding:32px;display:grid}.kiosk-qr-state:has(.qr-placeholder){grid-template-rows:minmax(0,1fr) auto;place-content:stretch;align-items:center}.qr-placeholder{aspect-ratio:1;background:linear-gradient(90deg,#0000 0 46%,#2b4a4014 46% 54%,#0000 54%),linear-gradient(#0000 0 46%,#2b4a4014 46% 54%,#0000 54%),#2b4a400a;border-radius:16px;justify-self:center;width:auto;max-width:100%;height:100%;max-height:100%;animation:1.2s ease-in-out infinite alternate pulse}.kiosk-reset{justify-self:start}.kiosk-reset button{color:#685c4cb8;cursor:pointer;background:0 0;border:0;align-items:center;min-height:44px;padding:8px 0;font-size:.8rem;display:inline-flex}.table-wrap:focus-visible,.kiosk-reset button:focus-visible{outline-offset:3px;outline:3px solid #2b4a403d}.app-shell.timetable-page-loading{isolation:isolate;grid-template-columns:minmax(0,1fr);align-items:start;gap:18px;padding:28px 0 72px;display:grid}.timetable-page-loading .console-page{gap:18px;width:min(600px,100%);min-width:0;margin:0 auto;display:grid}.timetable-page-loading .console-page--loading{min-height:360px}.timetable-page-loading .console-section{border:1px solid var(--border);background:var(--surface-strong);min-width:0;box-shadow:var(--shadow);border-radius:20px;gap:18px;padding:22px;display:grid}.timetable-page-loading .console-section--loading{min-height:260px}.timetable-page-loading .skeleton-list{gap:12px;display:grid}.timetable-page-loading .skeleton-row{background:#fffcf6b8;border:1px solid #41301d14;border-radius:16px;gap:10px;min-height:74px;padding:16px 18px;display:grid}.timetable-page-loading .skeleton-line{background:#2b4a4014;border-radius:999px;width:min(420px,72%);height:12px;display:block}.timetable-page-loading .skeleton-line--strong{background:#2b4a401f;width:min(260px,48%);height:16px}.schedule-calendar-page{width:min(600px,100%);min-width:0;margin:0 auto}.schedule-calendar-page__toolbar{min-height:51px;margin-bottom:18px;position:relative}.kiosk-qr-embedded{place-items:center;width:100%;min-height:min(470px,100svh - 230px);display:grid;container-type:inline-size}.kiosk-qr-embedded .kiosk-qr-code,.kiosk-qr-embedded .kiosk-qr-state{width:min(100%,420px)}.kiosk-qr-embedded .kiosk-qr-state--error>strong:only-child{font-size:1.18rem;line-height:1.45}.schedule-calendar-page__actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex;position:absolute;top:3px;right:0}.schedule-calendar-page__icon-action{place-items:center;width:44px;min-width:44px;min-height:44px;padding:0;display:grid}.schedule-calendar-page__icon-action svg{fill:none;stroke:currentColor;stroke-width:1.9px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.schedule-calendar-page__month{display:block}.schedule-month-picker{gap:10px;width:100%;display:grid}.schedule-month-picker__controls{flex-wrap:nowrap;justify-content:flex-start;align-items:center;gap:6px;padding-right:102px;display:flex}.schedule-month-picker__filters{flex:0 auto;align-items:center;gap:6px;min-width:0;display:flex}.schedule-month-picker__navigation{border:1px solid var(--border);background:#2b4a4012;border-radius:12px;flex:none;grid-template-columns:44px 124px 44px;align-items:center;gap:3px;padding:3px;display:inline-grid}.schedule-month-picker__step,.schedule-month-picker__current,.schedule-month-picker__today,.schedule-month-picker__option{background:var(--surface-strong);color:var(--foreground);font:inherit;border:1px solid #362c201f}.schedule-month-picker__current strong{white-space:nowrap}.schedule-month-picker__step,.schedule-month-picker__current,.schedule-month-picker__today{cursor:pointer;border-radius:9px;flex:none;min-height:44px}.schedule-month-picker__step{place-items:center;width:44px;padding:0;display:inline-grid}.schedule-month-picker__step svg,.schedule-month-picker__current svg{fill:none;stroke:currentColor;stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round;width:17px;height:17px;display:block}.schedule-month-picker__current{justify-content:center;align-items:center;gap:5px;min-width:92px;padding:0 8px;display:inline-flex}.schedule-month-picker__current strong{font-family:var(--font-display), sans-serif;white-space:nowrap;font-size:.98rem}.schedule-month-picker__current span{place-items:center;display:inline-grid}.schedule-month-picker__today{color:var(--accent-strong);padding:0 12px;font-size:.78rem;font-weight:800}.schedule-month-picker__employee-filter select{width:78px;min-width:46px}.schedule-month-picker__location-filter select{width:112px;min-width:64px}.schedule-month-picker__employee-filter select,.schedule-month-picker__location-filter select{background:var(--surface-strong);min-height:44px;color:var(--foreground);font:inherit;cursor:pointer;border:1px solid #362c201f;border-radius:9px;padding:0 18px 0 7px;font-size:.72rem;font-weight:750}.schedule-month-picker__step:hover,.schedule-month-picker__current:hover,.schedule-month-picker__today:hover,.schedule-month-picker__option:hover{background:var(--surface);border-color:#2b4a4057}.schedule-month-picker__step:focus-visible,.schedule-month-picker__current:focus-visible,.schedule-month-picker__today:focus-visible,.schedule-month-picker__option:focus-visible,.schedule-month-picker__employee-filter select:focus-visible,.schedule-month-picker__location-filter select:focus-visible{outline-offset:2px;outline:3px solid #2b4a403d}.schedule-calendar-page__feedback{color:var(--muted);text-align:center;margin:-6px 0 12px;font-size:.82rem;font-weight:750}.schedule-calendar-page__feedback--success{color:var(--accent-strong)}.schedule-calendar-page__feedback--error{color:#81271d}.schedule-month-picker__panel{border:1px solid var(--border);box-shadow:var(--shadow-soft);background:#fffdf8eb;border-radius:12px;padding:10px}.schedule-month-picker__grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;display:grid}.schedule-month-picker__grid--months{grid-template-columns:repeat(4,minmax(0,1fr))}.schedule-month-picker__option{cursor:pointer;border-radius:9px;min-height:44px;font-size:.82rem;font-weight:750}.schedule-month-picker__option[aria-current=date]{border-color:var(--accent);background:var(--accent);color:#fffdf8}.schedule-month-picker__option.is-today:not([aria-current=date]){color:var(--accent-strong);border-color:#2b4a4057}.schedule-calendar--month-pending .schedule-calendar__day{opacity:.55;transition:opacity .12s ease-out}.schedule-calendar--picker-open,.schedule-print-report{display:none}.schedule-calendar{border:1px solid var(--border);background:var(--border);min-width:0;box-shadow:var(--shadow-soft);border-radius:18px;overflow:clip}.schedule-calendar__weekdays,.schedule-calendar__days{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.schedule-calendar__weekdays{border-bottom:1px solid var(--border);gap:1px}.schedule-calendar__weekdays span{background:var(--surface);min-width:0;color:var(--muted);text-align:center;padding:10px 6px;font-size:.76rem;font-weight:800}.schedule-calendar__days{gap:1px;margin:0;padding:0;list-style:none}.schedule-calendar__day{background:var(--surface-strong);min-width:0;min-height:138px;padding:9px;transition:background .14s,box-shadow .14s;position:relative}.schedule-calendar__day--copy-target{background:#2b4a4014;box-shadow:inset 0 0 0 3px #2b4a407a}.schedule-calendar__day--copy-eligible{background:#2b4a400b;box-shadow:inset 0 0 0 1px #2b4a404d}.schedule-calendar__day--copy-eligible:after{z-index:1;content:"";pointer-events:none;border:1px dashed #2b4a4061;border-radius:9px;position:absolute;inset:4px}.schedule-calendar__day--copy-target,.schedule-calendar__day--copy-target.schedule-calendar__day--copy-eligible{background:#2b4a401a;box-shadow:inset 0 0 0 3px #2b4a4085}.schedule-calendar__copy-date-button{z-index:2;cursor:copy;pointer-events:none;background:0 0;border:0;width:100%;padding:0;position:absolute;inset:0}.schedule-calendar[data-copy-mode=targeting] .schedule-calendar__copy-date-button{pointer-events:auto}.schedule-calendar__copy-date-button:focus-visible{outline-offset:-4px;outline:3px solid #2b4a406b}.schedule-calendar__copy-target{z-index:3;color:var(--accent-strong);pointer-events:none;background:#f2f7f3eb;border:1px dashed #2b4a408a;border-radius:10px;place-items:center;font-size:.76rem;font-weight:850;display:grid;position:absolute;inset:5px}.schedule-calendar__day--outside{background:#fffdf894}.schedule-calendar__day--outside>time{color:#5b514594}.schedule-calendar__day>time{color:var(--foreground);font-family:var(--font-display), sans-serif;margin-bottom:8px;font-size:.8rem;font-weight:800;display:block}.schedule-calendar__day-label{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.schedule-calendar__shifts{gap:6px;margin:0;padding:0;list-style:none;display:grid}.schedule-calendar__shifts li{min-width:0}.schedule-calendar__shift{background:var(--accent-soft);width:100%;min-width:0;min-height:32px;color:var(--foreground);font:inherit;text-align:left;border:1px solid #2b4a4024;border-radius:10px;align-items:center;padding:5px 8px;display:flex;position:relative}.schedule-calendar__shift strong,.schedule-calendar__shift span,.schedule-calendar__shift small{overflow-wrap:anywhere;min-width:0}.schedule-calendar__shift strong{overflow-wrap:normal;text-overflow:ellipsis;white-space:nowrap;width:100%;font-size:.78rem;line-height:1.25;overflow:hidden}.schedule-calendar__shift span{color:var(--accent-strong);font-size:.72rem;font-weight:750;line-height:1.25}.schedule-calendar__shift small{color:var(--muted);font-size:.68rem;line-height:1.25}.schedule-calendar__shift--interactive{cursor:pointer;transition:border-color .16s,background .16s,box-shadow .16s,transform .16s}.schedule-calendar__shift--interactive:hover{box-shadow:var(--shadow-soft);background:#2b4a401f;border-color:#2b4a405c;transform:translateY(-1px)}.schedule-calendar__shift--interactive:focus-visible{outline-offset:2px;outline:3px solid #2b4a403d}.schedule-calendar__shift--copy-source{opacity:.48;border-color:#2b4a4085;transform:scale(.98)}.schedule-calendar[data-copy-mode=targeting] .schedule-calendar__shift--copy-source{opacity:1;border-color:#2b4a409e;transform:none;box-shadow:0 0 0 2px #2b4a4029}.schedule-calendar__copy-ghost{z-index:1000;width:clamp(92px,32vw,156px);min-height:34px;color:var(--foreground);opacity:.88;pointer-events:none;will-change:left, top;background:#fffdf8f5;border:1px solid #2b4a406b;border-radius:9px;align-items:center;padding:6px 9px;display:flex;position:fixed;transform:translate(-50%,-72%)rotate(-1deg)scale(1.02);box-shadow:0 12px 28px #362c2033}.schedule-calendar__copy-ghost strong{text-overflow:ellipsis;white-space:nowrap;width:100%;font-size:.76rem;line-height:1.2;overflow:hidden}@media (any-pointer:coarse){.schedule-calendar__shift--copy-enabled{-webkit-touch-callout:none;touch-action:none;-webkit-user-select:none;user-select:none}}@media (prefers-reduced-motion:reduce){.schedule-calendar__day,.schedule-calendar__shift--interactive,.schedule-calendar__shift--copy-source,.schedule-calendar__copy-ghost{transition:none}}.schedule-calendar__closure--interactive{text-align:left;cursor:pointer;width:100%;display:block}.schedule-calendar__closure--interactive:hover{background:#c44a3c3d}.schedule-calendar__closure--interactive:focus-visible{outline-offset:2px;outline:3px solid #2b4a403d}.schedule-dialog__form--secondary{border-top:1px solid var(--border);margin-top:4px;padding-top:12px}.schedule-calendar__closure{color:var(--foreground);background:#c44a3c29;border:1px solid #a0362c52;border-radius:9px;margin:0 0 4px;padding:5px 8px;font-size:.76rem;font-weight:850;line-height:1.25}.schedule-calendar__shift--draft{box-shadow:none;filter:saturate(.9);opacity:.86;background-color:#fffdf8b8;border-style:dotted;border-width:2px}.schedule-calendar__shift--checked-in{background:#43915e2e;border-color:#2370465c}.schedule-calendar__shift--checked-out{background:#fbf4e6;border-color:#aa7e2c33}.schedule-calendar__empty-day{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.schedule-dialog{width:min(660px,100vw - 32px);max-width:none;max-height:calc(100svh - 32px);color:var(--foreground);background:0 0;border:0;border-radius:22px;margin:auto;padding:0;overflow:hidden;box-shadow:0 28px 80px #20150933}.schedule-dialog::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#1c171270}.schedule-dialog__panel{background:var(--surface-strong);max-height:calc(100svh - 32px);overflow-y:auto}.schedule-dialog__tabs{border:1px solid var(--border);background:var(--surface-muted,#0000000a);border-radius:14px;gap:5px;width:fit-content;min-height:44px;padding:5px;display:inline-flex}.schedule-dialog__tabs button{background:var(--background);min-height:32px;color:var(--foreground);cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:10px;padding:0 15px;font-size:.9rem;font-weight:850}.schedule-dialog__tabs button.is-active{border-color:var(--foreground);background:var(--foreground);color:var(--background)}.schedule-dialog__tabs button:focus-visible{outline-offset:3px;outline:3px solid #2b4a403d}.schedule-dialog__header{z-index:2;border-bottom:1px solid var(--border);background:var(--surface-strong);justify-content:space-between;align-items:center;gap:18px;padding:20px 22px;display:flex;position:sticky;top:0}.schedule-dialog__header h2{min-width:0;font-family:var(--font-display), sans-serif;overflow-wrap:anywhere;font-size:1.35rem}.schedule-dialog__close{background:var(--foreground);width:44px;height:44px;color:var(--surface-strong);cursor:pointer;border:0;border-radius:13px;flex:0 0 44px;font-size:1.8rem;line-height:1}.schedule-dialog__close:focus-visible{outline-offset:3px;outline:3px solid #2b4a4047}.schedule-dialog__form,.schedule-employee-manager__list-view{gap:20px;padding:22px;display:grid}.schedule-dialog__fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.schedule-dialog__fields label,.schedule-dialog__fields .attendance-history-editor__date-time-field{min-width:0;color:var(--muted);gap:7px;font-size:.92rem;font-weight:700;display:grid}.schedule-shift-editor .schedule-dialog__fields .schedule-shift-editor__field-label{color:var(--muted);font-size:.92rem;font-weight:700;line-height:1.2}.schedule-dialog__fields input:not([type=hidden]),.schedule-dialog__fields select{background:var(--surface-strong);width:100%;min-width:0;min-height:48px;color:var(--foreground);font:inherit;border:1px solid #362c202e;border-radius:12px;padding:0 14px}.schedule-dialog__fields input:focus,.schedule-dialog__fields select:focus{border-color:#2b4a4085;outline:0;box-shadow:0 0 0 3px #2b4a401a}.schedule-dialog__fields :disabled,.schedule-dialog__fields [readonly]{color:var(--muted);cursor:not-allowed;background:#5b51450f}.schedule-dialog__field--wide{grid-column:1/-1}.schedule-dialog__notice,.schedule-dialog__confirmation{background:var(--warning-soft);color:var(--muted);border:1px solid #aa7e2c38;border-radius:12px;margin:0;padding:14px 16px;line-height:1.55}.schedule-dialog__message{text-align:center;margin:0}.schedule-dialog__message--success{color:var(--accent)}.schedule-dialog__message--error{color:#81271d}.schedule-dialog__actions,.schedule-dialog__confirmation-actions,.schedule-employee-manager__list-actions{justify-content:space-between;align-items:center;gap:10px;display:flex}.schedule-shift-editor .schedule-dialog__actions{justify-content:flex-end}.schedule-dialog__confirmation{color:var(--foreground);text-align:center;gap:14px;font-weight:750;display:grid}.schedule-dialog__confirmation label{text-align:left;gap:7px;display:grid}.schedule-dialog__confirmation input[type=date]{background:var(--surface-strong);width:100%;min-height:46px;color:var(--foreground);font:inherit;border:1px solid #362c202e;border-radius:10px;padding:0 12px}.schedule-dialog__secondary-actions{flex-wrap:wrap;gap:8px;display:flex}.schedule-employee-manager{width:min(720px,100vw - 32px)}.schedule-employee-manager__list-actions{justify-content:flex-end}.schedule-employee-manager__list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.schedule-employee-manager__row{border:1px solid var(--border);background:var(--surface);width:100%;min-height:64px;color:var(--foreground);cursor:pointer;font:inherit;text-align:left;border-radius:12px;justify-content:space-between;align-items:center;gap:16px;padding:10px 14px;display:flex}.schedule-employee-manager__row--archived{color:var(--muted);background:#5b51450a}.schedule-employee-manager__list li button:hover{background:var(--accent-soft);border-color:#2b4a405c}.schedule-employee-manager__list li button:focus-visible{outline-offset:2px;outline:3px solid #2b4a403d}.schedule-employee-manager__row>span{gap:3px;min-width:0;display:grid}.schedule-employee-manager__list strong,.schedule-employee-manager__list small{overflow-wrap:anywhere;min-width:0}.schedule-employee-manager__list small,.schedule-employee-manager__row>span:last-child,.schedule-employee-manager__help,.schedule-employee-manager__empty{color:var(--muted);font-size:.84rem}.schedule-employee-manager__help,.schedule-employee-manager__empty{text-align:center;margin:0}@keyframes pulse{0%{opacity:.42}to{opacity:.88}}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width:920px){.attendance-history-filter,.attendance-history-filter--viewer{gap:10px}.attendance-history-filter{grid-template-columns:repeat(3,minmax(0,1fr)) 66px}.attendance-history-filter--viewer{grid-template-columns:repeat(2,minmax(0,1fr)) 66px}}@media (max-width:860px){.topbar__navigation--desktop{grid-column:1;width:100%}.topbar__account-row{width:100%}.topbar__account-row .topbar__identity{flex:auto}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.kiosk-qr-code,.kiosk-qr-state{width:min(70vw,440px,100cqh - 42px)}}@media (max-width:640px){.state-panel--kiosk-home{gap:12px;padding-left:8px;padding-right:8px}.state-panel.state-panel--kiosk-home h1{letter-spacing:-.04em;white-space:nowrap;font-size:clamp(.68rem,3.15vw,.82rem)}.state-panel--kiosk-home p{font-size:clamp(.63rem,2.8vw,.76rem);line-height:1.65}.kiosk-home-mobile-line{white-space:nowrap;display:block}.topbar .topbar__inner{grid-template-columns:44px 44px minmax(0,1fr) auto 44px;align-items:center;gap:4px;padding:12px 0}.topbar .topbar__brand-group{grid-area:1/1;justify-content:flex-start;width:auto}.topbar .topbar__brand-link{width:44px;min-height:44px}.topbar__navigation--desktop{display:none}.topbar__navigation--mobile{z-index:60;grid-area:1/5;width:44px;display:block;position:relative}.topbar__navigation>.topbar__nav{display:none}.topbar__settings-link{border:1px solid var(--border);background:var(--surface-strong);width:44px;height:44px;color:var(--accent-strong);box-shadow:var(--shadow-soft);border-radius:14px;place-items:center;display:grid}.topbar__settings-link svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;width:22px;height:22px}.topbar__settings-link:hover,.topbar__settings-link.is-active{border-color:var(--accent);background:var(--surface)}.topbar__settings-link:focus-visible{outline-offset:3px;outline:3px solid #2b4a403d}.topbar .topbar__controls,.topbar .topbar__auth,.topbar__account-row{display:contents}.topbar__scan-link{grid-area:1/2}.topbar__account-row .topbar__identity{grid-area:1/3;width:100%;max-width:none;min-height:44px;padding:0 2px}.topbar .topbar__identity span{overflow-wrap:normal;text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;overflow:hidden}.topbar__identity-email-full{display:none}.topbar__identity-email-mobile{display:inline}.topbar__auth form{grid-area:1/4;width:44px}.topbar__auth .button{width:44px;min-width:44px;min-height:44px;padding:0}.topbar__logout-label{display:none}.topbar__logout-icon{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:21px;height:21px;display:block}.app-shell{padding:30px 0 60px}.schedule-calendar-page__toolbar{min-height:102px;margin-bottom:14px}.schedule-calendar-page__actions{display:contents}.schedule-calendar-page__actions .schedule-calendar-page__icon-action{position:absolute;right:0}.schedule-calendar-page__actions .schedule-calendar-page__icon-action:first-child{top:58px}.schedule-calendar-page__actions .schedule-calendar-page__icon-action:last-child{top:3px}.schedule-month-picker__controls{grid-template-rows:50px 44px;grid-template-columns:minmax(0,1fr);gap:8px;padding-right:48px;display:grid;position:relative}.schedule-calendar-page__toolbar:not(:has(.schedule-calendar-page__actions)) .schedule-month-picker__controls{padding-right:0}.schedule-month-picker__navigation{grid-row:1;grid-template-columns:44px minmax(0,1fr) 44px;gap:2px;width:184px;padding:2px}.schedule-month-picker__current{min-width:0;padding:0 4px}.schedule-month-picker__current strong{font-size:.82rem}.schedule-month-picker__filters{grid-row:2;gap:4px;width:100%;min-width:0}.schedule-month-picker__today{width:44px;padding:0;position:absolute;top:3px;left:188px}.schedule-month-picker__employee-filter,.schedule-month-picker__location-filter{flex:1 1 0;min-width:0}.schedule-month-picker__employee-filter select,.schedule-month-picker__location-filter select{width:100%;padding-left:7px;padding-right:18px}.schedule-month-picker__grid{grid-template-columns:repeat(3,minmax(0,1fr))}.schedule-calendar{border-right:1px solid var(--border);border-left:1px solid var(--border);box-shadow:var(--shadow-soft);border-radius:12px;overflow:clip}.schedule-calendar__weekdays{display:grid}.schedule-calendar__weekdays span{padding:8px 1px;font-size:.66rem}.schedule-calendar__days{grid-template-columns:repeat(7,minmax(0,1fr))}.schedule-calendar__day{grid-column:auto;min-height:82px;padding:4px 3px;display:block}.schedule-calendar__day>time{margin:0 0 4px;padding:0;font-size:.7rem}.schedule-calendar__day-number{display:inline}.schedule-calendar__day-label{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.schedule-calendar__shifts{gap:3px}.schedule-calendar__shift{border-radius:3px;min-height:30px;padding:1px;overflow:hidden}.schedule-calendar__shift strong{font-size:.6rem;line-height:1.1}.schedule-dialog,.schedule-employee-manager{width:min(100%,100vw - 20px);max-height:calc(100svh - 20px)}.schedule-dialog__panel{max-height:calc(100svh - 20px)}.schedule-dialog__header,.schedule-dialog__form,.schedule-employee-manager__list-view{padding-left:16px;padding-right:16px}.schedule-dialog__fields{grid-template-columns:1fr}.schedule-dialog__field--wide{grid-column:auto}.schedule-employee-manager__row{flex-direction:column;align-items:flex-start}.attendance-history-filter,.attendance-history-filter--viewer{grid-template-columns:repeat(3,minmax(0,1fr)) 58px;gap:10px 8px;margin:0;padding:26px 0 30px}.attendance-history-filter--viewer{grid-template-columns:repeat(2,minmax(0,1fr)) 58px}.attendance-history-filter input:not([type=hidden]),.attendance-history-filter select{min-height:44px;padding:0 7px;font-size:.76rem}.attendance-history-filter__actions{grid-column:auto;margin-top:0;display:block}.attendance-history-filter__actions .button{width:100%;min-height:44px}.attendance-history-list{gap:6px}.attendance-history-card{border-radius:7px;grid-template-columns:minmax(0,1fr) minmax(0,auto);gap:6px 10px;padding:10px 12px;box-shadow:0 5px 14px #362c2012}.attendance-history-card__employee{grid-area:1/1;align-self:center;font-size:.84rem;line-height:1.25}.attendance-history-card__device{text-align:right;text-overflow:ellipsis;grid-area:1/2;place-self:center end;max-width:44vw;font-size:.72rem;line-height:1.25;overflow:hidden}.attendance-history-card__times{grid-area:2/1/auto/-1;gap:2px}.attendance-history-card__time-row{gap:6px}.attendance-history-card__event-label{font-size:.68rem}.attendance-history-card time{font-size:.76rem;line-height:1.3}.attendance-history-card__note{grid-area:3/1/auto/-1;margin-top:0;padding-top:6px;font-size:.74rem;line-height:1.4}.attendance-history-editor{width:min(440px,100vw - 20px);max-height:calc(100vh - 20px)}.attendance-history-editor__panel{max-height:calc(100vh - 20px)}.page-controls{flex-direction:column;align-items:stretch}.month-switcher{justify-content:space-between;width:100%}.history-summary dl{grid-template-columns:1fr}.history-summary dl>div+div{border-top:1px solid var(--border);border-left:0}.form-grid{grid-template-columns:1fr}.kiosk-registration-form{grid-template-columns:minmax(0,1fr) auto;gap:8px}.kiosk-registration-form>label{min-width:0}.kiosk-registration-form .form-grid__actions{justify-content:flex-end}.danger-form,.adjustment-context{grid-template-columns:1fr}.form-grid__wide{grid-column:auto}.plain-list li{flex-direction:column;align-items:flex-start}.kiosk-device-list li:not(.plain-list__empty){grid-template-columns:1fr}.kiosk-device-list .plain-list__actions{justify-content:flex-start}.state-panel,.kiosk-setup__panel{padding:26px 20px}.login-screen__content{transform:translateY(-36px)}.login-screen__workspace{gap:54px}.login-shortcuts{grid-auto-columns:minmax(64px,84px);gap:12px 10px}.public-footer__inner{flex-direction:row;justify-content:space-between;align-items:center;gap:6px;width:calc(100% - 24px);min-height:64px;padding:10px 0;font-size:.75rem}.public-footer__copyright{white-space:nowrap;flex:none;line-height:1}.public-footer__nav{white-space:nowrap;flex-direction:row;justify-content:flex-end;align-items:center;gap:6px;margin-left:auto;line-height:1}.public-footer__nav a{padding:0}.public-legal{width:calc(100% - 32px);padding:36px 0 48px}.public-legal__section{grid-template-columns:1fr;gap:8px}.kiosk-screen{padding:22px}.kiosk-qr-code,.kiosk-qr-state{width:min(86vw,400px,100cqh - 42px)}}@media (max-width:390px){.attendance-date-range-popover__grid{grid-template-columns:1fr}.google-signin-button{width:100%;min-width:0}.login-screen{padding:20px}}@media (max-height:420px){.login-screen{min-height:360px}.login-screen__content{transform:none}}@media (prefers-reduced-motion:reduce){.google-signin-button,.login-shortcuts__badge{transition:none}.google-signin-button:hover,.login-shortcuts__item:hover .login-shortcuts__badge{transform:none}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@page schedule-report{size:A4 portrait;margin:14mm 12mm 16mm}@media print{html,body{width:auto;min-width:0;color:#111!important;background:#fff!important;overflow:visible!important}body{display:block}.topbar,.public-footer,nextjs-portal{display:none!important}.app-shell,.schedule-calendar-page{width:auto!important;max-width:none!important;margin:0!important;padding:0!important}.schedule-calendar-page>:not(.schedule-print-report){display:none!important}.schedule-print-report{page:schedule-report;color:#111;font-family:Arial,Noto Sans KR,sans-serif;font-size:9.5pt;line-height:1.4;display:block!important}.schedule-print-roster__title{letter-spacing:-.01em;border-bottom:1pt solid #111;margin:0 0 2.5mm;padding-bottom:2mm;font-size:11pt}.schedule-print-roster{border-collapse:collapse;table-layout:fixed;width:100%;font-size:9pt}.schedule-print-roster thead{display:table-header-group}.schedule-print-roster tr{break-inside:avoid;page-break-inside:avoid}.schedule-print-roster th,.schedule-print-roster td{text-align:center;vertical-align:middle;white-space:nowrap;border:.6pt solid #777;padding:1.5mm}.schedule-print-roster thead th{-webkit-print-color-adjust:exact;print-color-adjust:exact;font-weight:700;background:#c2c2c2!important}.schedule-print-roster th:first-child,.schedule-print-roster td:first-child{width:13%}.schedule-print-roster th:nth-child(2),.schedule-print-roster td:nth-child(2){width:7%}.schedule-print-roster__closed{-webkit-print-color-adjust:exact;print-color-adjust:exact;font-weight:700;background:#e0e0e0!important}.schedule-print-roster__off{color:#888}.schedule-print-report__employees{display:block}.schedule-print-employee+.schedule-print-employee{break-before:page;page-break-before:always}.schedule-print-employee__header{break-after:avoid-page;page-break-after:avoid;margin-bottom:2.5mm}.schedule-print-employee__header h2{letter-spacing:-.01em;border-bottom:1pt solid #111;margin:0;padding-bottom:2mm;font-size:11pt}.schedule-print-employee table{border-collapse:collapse;table-layout:fixed;width:100%}.schedule-print-employee thead{display:table-header-group}.schedule-print-employee tr{break-inside:avoid;page-break-inside:avoid}.schedule-print-employee th,.schedule-print-employee td{text-align:left;vertical-align:middle;border:.6pt solid #777;padding:2.2mm 2.5mm}.schedule-print-employee thead th{-webkit-print-color-adjust:exact;print-color-adjust:exact;font-size:8pt;background:#eee!important}.schedule-print-employee th:first-child,.schedule-print-employee td:first-child{width:26%}.schedule-print-employee th:nth-child(2),.schedule-print-employee td:nth-child(2),.schedule-print-employee th:nth-child(3),.schedule-print-employee td:nth-child(3){white-space:nowrap;width:37%}.schedule-print-employee th:nth-child(4),.schedule-print-employee td:nth-child(4){width:24%}.schedule-print-employee__actual--differs{font-weight:700}.schedule-print-employee__week th,.schedule-print-employee__week td{-webkit-print-color-adjust:exact;print-color-adjust:exact;border-top:1pt solid #333;font-weight:700;background:#eee!important}.schedule-print-employee__week{break-before:avoid;page-break-before:avoid}.schedule-print-employee__week th,.schedule-print-employee__week td,.schedule-print-employee__total th,.schedule-print-employee__total td{text-align:right}.schedule-print-employee__total{break-inside:avoid;page-break-inside:avoid}.schedule-print-employee__total th,.schedule-print-employee__total td{-webkit-print-color-adjust:exact;print-color-adjust:exact;border-top:1.6pt solid #000;font-size:10pt;font-weight:800;background:#c2c2c2!important}.schedule-print-report__empty{text-align:center;border-top:.6pt solid #aaa;border-bottom:.6pt solid #aaa;margin:12mm 0 0;padding:12mm 0}}.timetable-slide-switcher{min-width:0;position:relative}.timetable-slide-switcher__stage{cursor:grab;touch-action:pan-y;-webkit-user-select:none;user-select:none;min-width:0;position:relative;overflow:hidden}.timetable-slide-switcher__stage img{-webkit-user-drag:none;-webkit-user-select:none;user-select:none}.timetable-slide-switcher__stage.is-measured{height:calc(var(--active-panel-height) + 12px);transition:height .76s cubic-bezier(.22,1,.36,1)}.timetable-slide-switcher__stage.is-dragging{cursor:grabbing}.timetable-slide-switcher__stage.is-dragging .timetable-slide-switcher__track{transition:none}.timetable-slide-switcher__stage.is-measured .timetable-slide-switcher__track{position:absolute;inset:0 auto auto 0}.timetable-slide-switcher__track{width:100%;min-width:0;transform:translate3d(calc(var(--slide-translate,0%) + var(--drag-offset,0px)), 0, 0);will-change:transform;align-items:flex-start;transition:transform .88s cubic-bezier(.22,1,.36,1);display:flex;position:relative}.timetable-slide-switcher__panel{opacity:1;filter:brightness()saturate();will-change:filter, opacity, transform;flex:0 0 100%;min-width:0;transition:filter .88s cubic-bezier(.22,1,.36,1),opacity .88s cubic-bezier(.22,1,.36,1),transform .88s cubic-bezier(.22,1,.36,1);position:relative;transform:scale(1)}.timetable-slide-switcher__panel.is-inactive{opacity:.34;filter:brightness(.78)saturate(.72);pointer-events:none;transform:scale(.986)}.timetable-slide-switcher__footer{align-items:center;gap:4px;width:fit-content;min-height:24px;margin:0 auto 18px;display:flex}.timetable-slide-switcher__dot{cursor:pointer;background:0 0;border:0;border-radius:999px;width:24px;height:24px;padding:0;position:relative}.timetable-slide-switcher__dot:before{content:"";background:#362c2033;border-radius:999px;width:8px;height:8px;transition:background-color .16s,width .16s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.timetable-slide-switcher__dot:hover:before,.timetable-slide-switcher__dot:focus-visible:before{background:#2b4a4073}.timetable-slide-switcher__dot:focus-visible{outline-offset:2px;outline:3px solid #2b4a4033}.timetable-slide-switcher__dot.is-active{cursor:default}.timetable-slide-switcher__dot.is-active:before{background:var(--accent);width:24px}@media (prefers-reduced-motion:reduce){.timetable-slide-switcher__stage.is-measured,.timetable-slide-switcher__track,.timetable-slide-switcher__panel,.timetable-slide-switcher__dot:before{transition:none}}@media print{.timetable-slide-switcher__footer{display:none!important}.timetable-slide-switcher__stage{cursor:auto;overflow:visible;height:auto!important}.timetable-slide-switcher__track{display:block;position:static!important;transform:none!important}.timetable-slide-switcher__panel{opacity:1;filter:none;transform:none;display:none!important}.timetable-slide-switcher__panel.is-active{display:block!important}}.button.kiosk-select-active{color:#2d6b47;cursor:default;background:#2e7d521a;border-color:#2e7d5242}.button.kiosk-select-active:hover{transform:none}.timetable-toast-stack{z-index:90;pointer-events:none;flex-direction:column;align-items:flex-end;gap:8px;max-width:min(420px,100vw - 40px);display:flex;position:fixed;bottom:20px;right:20px}.timetable-toast{color:#1d5a30;overflow-wrap:anywhere;pointer-events:auto;background:#f4fff5;border:1px solid #2b4a4047;border-radius:8px;max-width:100%;padding:12px 14px;font-size:.88rem;font-weight:700;line-height:1.45;animation:.3s cubic-bezier(.22,.8,.26,1) both timetable-toast-in;box-shadow:0 14px 32px #00000024}.timetable-toast.is-leaving{animation:.26s ease-in both timetable-toast-out}.timetable-toast--error{color:#9d2e1d;background:#fff5f1;border-color:#aa242447}@keyframes timetable-toast-in{0%{opacity:0;transform:translate(calc(100% + 28px))}to{opacity:1;transform:translate(0)}}@keyframes timetable-toast-out{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(calc(100% + 28px))}}@media (max-width:640px){.timetable-toast-stack{max-width:none;bottom:12px;left:12px;right:12px}}@media (prefers-reduced-motion:reduce){.timetable-toast,.timetable-toast.is-leaving{animation-duration:1ms}}
