:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--canvas:#f5f6f8;--surface:#fff;--surface-quiet:#f9fafb;--surface-pressed:#eceef2;--text-primary:#202124;--text-secondary:#5f6368;--text-tertiary:#747b84;--rule:#e2e5e9;--rule-strong:#cdd1d7;--focus:#2563eb;--action:#242424;--action-hover:#111;--danger:#b42318;--task-blue:#dce7ff;--task-blue-text:#183b73;--task-green:#d9f2e6;--task-green-text:#144d37;--task-amber:#fff0c2;--task-amber-text:#694600;--task-rose:#ffe0e0;--task-rose-text:#742a2a;--task-violet:#e9e2ff;--task-violet-text:#3f2c73;--task-gray:#e8eaed;--task-gray-text:#3c4043;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--radius-small:8px;--radius-medium:12px;--shadow-ring:0 0 0 1px #222a3514;--shadow-surface:0 1px 5px -4px #131316b3, 0 0 0 1px #222a3514, 0 4px 8px #222a350d;--font-sans:"Pretendard Variable", Pretendard, "Noto Sans KR", "Apple SD Gothic Neo", "Malgun Gothic", system-ui, sans-serif}*{box-sizing:border-box}html{background:var(--canvas);font-family:var(--font-sans);color:var(--text-primary)}body{min-block-size:100dvh;min-inline-size:320px;margin:0}button,input,select{font:inherit}button,a,select{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto;transition-duration:0s;animation-duration:0s;animation-iteration-count:1}}.button{justify-content:center;align-items:center;gap:var(--space-2);min-block-size:44px;padding:var(--space-2) var(--space-4);border-radius:var(--radius-small);white-space:nowrap;border:0;font-size:14px;font-weight:700;transition:opacity .15s ease-out,transform .15s ease-out,background-color .15s ease-out;display:inline-flex}.button:hover:not(:disabled){opacity:.78}.button:active:not(:disabled){transform:scale(.98)}.button:disabled{opacity:.45}.button-primary{color:var(--surface);background:var(--action);box-shadow:inset 0 2px #ffffff26}.button-primary:hover:not(:disabled){background:var(--action-hover)}.button-secondary,.button-quiet{color:var(--text-primary);background:var(--surface);box-shadow:var(--shadow-ring)}.button-quiet{background:0 0}.button-danger{color:var(--danger);background:var(--surface);box-shadow:0 0 0 1px color-mix(in srgb, var(--danger) 30%, transparent)}.day-tabs>div{padding:var(--space-1);border-radius:var(--radius-medium);background:var(--surface-quiet);box-shadow:var(--shadow-ring);grid-template-columns:repeat(3,minmax(88px,1fr));display:inline-grid}.day-tab{min-block-size:44px;padding-inline:var(--space-4);border-radius:var(--radius-small);color:var(--text-secondary);background:0 0;border:0;font-size:14px;font-weight:700;transition:color .15s ease-out,background-color .15s ease-out,transform .15s ease-out}.day-tab:hover{color:var(--text-primary)}.day-tab:active{transform:scale(.98)}.day-tab[data-selected=true]{color:var(--surface);background:var(--action);box-shadow:inset 0 2px #ffffff26}.field{gap:var(--space-2);min-inline-size:0;display:grid}.field label{color:var(--text-primary);font-size:14px;font-weight:700}.field input,.field select{min-block-size:44px;inline-size:100%;padding:var(--space-2) var(--space-3);border-radius:var(--radius-small);color:var(--text-primary);background:var(--surface);box-shadow:var(--shadow-ring);border:0;font-size:16px}.field input[aria-invalid=true],.field select[aria-invalid=true]{box-shadow:0 0 0 2px color-mix(in srgb, var(--danger) 55%, transparent)}.field-hint,.field-error{margin:0;font-size:14px}.field-hint{color:var(--text-secondary)}.field-error{color:var(--danger);font-weight:600}.assignment-block{justify-content:center;gap:var(--space-1);min-block-size:64px;padding:var(--space-2) var(--space-3);border-radius:var(--radius-small);text-align:start;border:0;flex-direction:column;display:flex;box-shadow:inset 0 1px #ffffff73}button.assignment-block{inline-size:100%;transition:filter .15s ease-out,transform .15s ease-out}button.assignment-block:hover{filter:saturate(1.08)brightness(.98)}button.assignment-block:active{transform:scale(.99)}button.assignment-block[aria-pressed=true]{box-shadow:inset 0 0 0 2px,inset 0 1px #ffffff73}.assignment-block strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;line-height:1.35;overflow:hidden}.assignment-block span{font-variant-numeric:tabular-nums;font-size:12px}.tone-blue{color:var(--task-blue-text);background:var(--task-blue)}.tone-green{color:var(--task-green-text);background:var(--task-green)}.tone-amber{color:var(--task-amber-text);background:var(--task-amber)}.tone-rose{color:var(--task-rose-text);background:var(--task-rose)}.tone-violet{color:var(--task-violet-text);background:var(--task-violet)}.tone-gray{color:var(--task-gray-text);background:var(--task-gray)}.showcase{inline-size:min(100% - 32px,1120px);padding-block:var(--space-10);gap:var(--space-6);margin-inline:auto;display:grid}.showcase-heading p,.showcase-heading span,.showcase-note{color:var(--text-secondary);margin:0;font-size:14px}.showcase-heading h1{margin:var(--space-2) 0;letter-spacing:-.02em;font-size:clamp(24px,4vw,32px);line-height:1.2}.showcase-section{padding:var(--space-6);border-radius:var(--radius-medium);background:var(--surface);box-shadow:var(--shadow-surface)}.showcase-section h2{margin:0 0 var(--space-5);font-size:20px}.showcase-row,.showcase-blocks{gap:var(--space-3);flex-wrap:wrap;display:flex}.showcase-blocks>*{flex:160px}.showcase-fields{gap:var(--space-5);grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));display:grid}.empty-state{place-content:center;gap:var(--space-2);min-block-size:144px;padding:var(--space-6);border-radius:var(--radius-small);background:var(--surface-quiet);color:var(--text-secondary);text-align:center;box-shadow:var(--shadow-ring);display:grid}.empty-state strong{color:var(--text-primary)}@media (width<=767px){.showcase{inline-size:min(100% - 24px,1120px);padding-block:var(--space-6)}.showcase-section{padding:var(--space-4)}.showcase-row .button{flex:1 1 calc(50% - var(--space-3))}.day-tabs,.day-tabs>div{inline-size:100%}}.readonly-badge{min-inline-size:260px;color:var(--task-green-text);background:var(--task-green);border-radius:10px;align-items:center;gap:10px;padding:12px 14px;display:flex}.readonly-badge>span{gap:2px;display:grid}.readonly-badge strong{font-size:13px}.readonly-badge small{opacity:.78;font-size:11px}.viewer-session{align-items:center;gap:14px;display:flex}.viewer-session button{min-block-size:44px;color:var(--text-secondary);background:var(--surface-quiet);box-shadow:var(--shadow-ring);border:0;border-radius:7px;align-items:center;gap:6px;padding:7px 10px;font-size:12px;font-weight:700;display:inline-flex}.page-content.identity-page{min-block-size:100dvh;padding-block:var(--space-6);place-items:center;display:grid}.identity-card{inline-size:min(100%,560px);color:var(--text-primary);background:var(--surface);border-radius:var(--radius-medium);box-shadow:var(--shadow-surface);grid-template-columns:auto 1fr;gap:16px;margin-inline:auto;padding:28px;display:grid}.identity-card>svg{color:var(--action);margin-block-start:2px}.identity-copy{gap:5px;display:grid}.identity-copy p,.identity-copy h1,.identity-copy span{margin:0}.identity-copy p{color:var(--text-tertiary);letter-spacing:.12em;font-size:11px;font-weight:800}.identity-copy h1{letter-spacing:-.025em;font-size:22px}.identity-copy span{color:var(--text-secondary);word-break:keep-all;font-size:14px;line-height:1.55}.identity-form{grid-column:1/-1;grid-template-columns:1fr auto;align-items:end;gap:10px;display:grid}.identity-error{color:var(--danger);background:#fff1f0;border-radius:7px;grid-column:1/-1;margin:-4px 0 0;padding:10px 12px;font-size:12px;font-weight:700}.identity-card>small{color:var(--text-tertiary);grid-column:1/-1;font-size:11px}.app-shell{min-block-size:100dvh}.app-header{justify-content:space-between;align-items:center;gap:var(--space-4);background:var(--surface);border-block-end:1px solid var(--rule);block-size:72px;padding-inline:max(24px,50% - 720px);display:flex}.brand{color:inherit;align-items:center;gap:12px;text-decoration:none;display:flex}.brand-mark{color:#fff;background:var(--action);border-radius:9px;place-items:center;block-size:36px;inline-size:36px;font-weight:900;display:grid}.brand>span:last-child{gap:1px;display:grid}.brand strong{letter-spacing:.08em;font-size:15px}.brand small{color:var(--text-secondary);font-size:12px}.mode-link{min-block-size:42px;color:var(--text-primary);background:var(--surface-quiet);box-shadow:var(--shadow-ring);border-radius:8px;align-items:center;gap:7px;padding:8px 12px;font-size:14px;font-weight:700;text-decoration:none;display:inline-flex}.page-content{inline-size:min(100% - 48px,1440px);margin-inline:auto;padding-block:36px 56px}.page-heading{justify-content:space-between;align-items:end;gap:24px;margin-block-end:24px;display:flex}.page-heading p{color:var(--text-tertiary);letter-spacing:.13em;margin:0 0 6px;font-size:12px;font-weight:800}.page-heading h1{letter-spacing:-.035em;margin:0;font-size:clamp(28px,3vw,38px);line-height:1.2}.page-subtitle{color:var(--text-secondary);margin-block-start:8px;font-size:14px;display:block}.schedule-card{background:var(--surface);border-radius:var(--radius-medium);box-shadow:var(--shadow-surface);overflow:hidden}.schedule-toolbar{border-block-end:1px solid var(--rule);justify-content:space-between;align-items:center;gap:20px;padding:16px 18px;display:flex}.schedule-toolbar p{color:var(--text-secondary);align-items:center;gap:7px;margin:0;font-size:12px;display:flex}.live-dot{background:#26a269;border-radius:50%;block-size:7px;inline-size:7px;box-shadow:0 0 0 4px #26a26920}.timeline-scroll{outline-offset:-3px;overflow-x:auto}.timeline{min-inline-size:2752px}.timeline-head,.timeline-row{grid-template-columns:160px 1fr;display:grid}.timeline-head{z-index:3;min-block-size:50px;color:var(--text-secondary);background:var(--surface-quiet);border-block-end:1px solid var(--rule);position:sticky;inset-block-start:0}.staff-column-title{z-index:4;background:var(--surface-quiet);border-inline-end:1px solid var(--rule);align-items:center;padding-inline:18px;font-size:12px;font-weight:700;display:flex;position:sticky;inset-inline-start:0}.time-head,.assignment-lane{grid-template-columns:repeat(var(--slot-count), minmax(0, 1fr));display:grid}.time-head span{border-inline-end:1px solid var(--rule);font-variant-numeric:tabular-nums;align-items:center;padding-inline-start:7px;font-size:11px;display:flex}.time-head .half-label{color:var(--text-tertiary);font-size:10px}.time-head .closing-label{flex-direction:column;justify-content:center;align-items:flex-end;padding-inline:4px;line-height:1.2}.time-head .closing-label small{color:var(--text-tertiary);font-size:9px}.time-head .closing-label strong{color:var(--text-primary);font-size:11px}.timeline-row{border-block-end:1px solid var(--rule);min-block-size:92px}.timeline-row:last-child{border-block-end:0}.staff-cell{z-index:2;background:var(--surface);border-inline-end:1px solid var(--rule);flex-direction:column;justify-content:center;gap:3px;padding-inline:18px;display:flex;position:sticky;inset-inline-start:0}.staff-cell strong{font-size:14px}.staff-cell span{color:var(--text-secondary);font-size:12px}.assignment-lane{background-image:repeating-linear-gradient(to right, transparent 0, transparent calc((100% / var(--slot-count)) - 1px), var(--rule) calc((100% / var(--slot-count)) - 1px), var(--rule) calc(100% / var(--slot-count)));align-items:center;padding-block:11px}.assignment-position{min-inline-size:0;padding-inline:3px}.assignment-position .assignment-block{min-block-size:66px}.assignment-position[data-compact=true] .assignment-block{padding-inline:var(--space-1);text-align:center;align-items:center}.assignment-position[data-compact=true] .assignment-block strong{white-space:normal}.assignment-position[data-compact=true] .assignment-block span,.mobile-agenda{display:none}.sync-status{border-inline-start:1px solid var(--rule-strong);color:var(--text-secondary);white-space:nowrap;align-items:center;gap:4px;margin-inline-start:4px;padding-inline-start:9px;font-size:11px;font-weight:700;display:inline-flex}.sync-error{color:var(--danger)}.showcase-sync-states{gap:var(--space-2);flex-wrap:wrap;margin-block-start:var(--space-4);display:flex}.showcase-sync-states .sync-status{border-radius:var(--radius-small);background:var(--surface-quiet);box-shadow:var(--shadow-ring);border:0;margin:0;padding:8px 10px}.admin-layout{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:18px;display:grid}.admin-main{gap:18px;min-inline-size:0;display:grid}.editor-panel,.editor-placeholder{background:var(--surface);border-radius:var(--radius-medium);min-block-size:420px;box-shadow:var(--shadow-surface);padding:22px;position:sticky;inset-block-start:18px}.editor-panel{animation:.15s ease-out editor-panel-enter}@keyframes editor-panel-enter{0%{opacity:0;transform:translate(8px)}to{opacity:1;transform:translate(0,0)}}.editor-placeholder{color:var(--text-secondary);text-align:center;place-content:center;justify-items:center;gap:8px;display:grid}.editor-placeholder strong{color:var(--text-primary);font-size:14px}.editor-placeholder span{max-inline-size:210px;font-size:12px;line-height:1.55}.editor-close{block-size:36px;inline-size:36px;color:var(--text-secondary);background:0 0;border:0;border-radius:6px;font-size:25px;line-height:1;position:absolute;inset-block-start:12px;inset-inline-end:12px}.editor-form{gap:17px;display:grid}.editor-title{gap:4px;padding-inline-end:28px;display:grid}.editor-title span{color:var(--text-secondary);font-size:12px;font-weight:700}.editor-title strong{letter-spacing:-.02em;font-size:20px}.editor-time-row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.editor-copy{gap:var(--space-2);border-block-start:1px solid var(--rule);padding-block-start:var(--space-4);display:grid}.editor-actions{flex-wrap:wrap;gap:8px;padding-block-start:3px;display:flex}.editor-actions .button-primary{flex:1}.form-alert{color:var(--danger);background:#fff1f0;border-radius:7px;margin:0;padding:10px 12px;font-size:14px;font-weight:700;line-height:1.45}.form-notice{color:var(--text-primary);background:var(--surface-quiet);border-radius:7px;margin:0;padding:10px 12px;font-size:14px;font-weight:700;line-height:1.45}.staff-manager{background:var(--surface);border-radius:var(--radius-medium);box-shadow:var(--shadow-surface);padding:18px}.staff-manager summary{cursor:pointer;font-size:15px;font-weight:800}.staff-manager summary span{color:var(--text-secondary);font-size:12px;font-weight:600}.staff-search-row{justify-content:space-between;align-items:end;gap:12px;margin-block:16px 8px;display:flex}.staff-search-row .field{inline-size:min(100%,360px)}.staff-search-row>span{color:var(--text-secondary);font-variant-numeric:tabular-nums;white-space:nowrap;padding-block-end:10px;font-size:12px}.staff-list{overscroll-behavior:contain;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:8px;max-block-size:332px;margin-block:8px 16px;padding:2px;list-style:none;display:grid;overflow-y:auto}.staff-list-item{background:var(--surface-quiet);box-shadow:var(--shadow-ring);border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.staff-list-item>span{gap:2px;min-inline-size:0;display:grid}.staff-list-item strong{font-size:13px}.staff-list-item small,.staff-list-item code{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;font-family:inherit;font-size:11px;overflow:hidden}.staff-list-actions{align-items:center;gap:4px;display:flex}.staff-list-actions button{block-size:34px;inline-size:34px;color:var(--text-secondary);background:0 0;border:0;border-radius:6px;place-items:center;display:grid}.staff-list-actions .staff-delete-button{color:var(--danger)}.staff-add-form{border-block-start:1px solid var(--rule);grid-template-columns:minmax(0,.7fr) 1fr 1fr auto;align-items:end;gap:10px;padding-block-start:16px;display:grid}.staff-form-actions{gap:8px;display:flex}.manager-message{color:var(--text-secondary);margin:12px 0 0;font-size:12px}@media (width<=1040px){.admin-layout{grid-template-columns:minmax(0,1fr)}.editor-placeholder{display:none}.editor-panel{z-index:20;max-block-size:calc(100dvh - 32px);box-shadow:0 18px 60px #0f172a3d, var(--shadow-ring);animation-name:editor-panel-enter-narrow;position:fixed;inset:auto 16px 16px;overflow-y:auto}@keyframes editor-panel-enter-narrow{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translate(0,0)}}}@media (width<=900px){.schedule-toolbar{flex-direction:column;align-items:stretch}.viewer-session{justify-content:space-between}.schedule-toolbar p,.viewer-session button{white-space:nowrap}}@media (width<=767px){.app-header{block-size:64px;padding-inline:16px}.brand small{display:none}.mode-link{font-size:13px}.page-content{inline-size:min(100% - 24px,1440px);padding-block:24px 40px}.page-heading{flex-direction:column;align-items:stretch;gap:16px;margin-block-end:18px}.admin-heading .button{inline-size:100%}.readonly-badge{min-inline-size:0}.identity-card{grid-template-columns:1fr;padding:22px}.identity-card>svg,.identity-form,.identity-error,.identity-card>small{grid-column:1}.identity-form{grid-template-columns:1fr}.schedule-toolbar{flex-direction:column;align-items:stretch;padding:12px}.viewer-session{flex-direction:column;align-items:stretch;gap:9px}.schedule-toolbar p{padding-inline:3px}.viewer-session button{justify-content:center}.timeline-scroll{display:none}.mobile-agenda{background:var(--canvas);gap:10px;padding:12px;display:grid}.agenda-person{background:var(--surface);box-shadow:var(--shadow-ring);border-radius:10px;overflow:hidden}.agenda-person>header{border-block-end:1px solid var(--rule);justify-content:space-between;align-items:center;gap:12px;padding:13px 14px;display:flex}.agenda-person>header div{gap:2px;display:grid}.agenda-person>header strong{font-size:14px}.agenda-person>header span,.agenda-person>header small{color:var(--text-secondary);font-size:11px}.agenda-list{gap:7px;padding:10px;display:grid}.agenda-list .assignment-block{min-block-size:58px}.agenda-empty{color:var(--text-secondary);margin:0;padding:18px 14px;font-size:12px}.staff-add-form{grid-template-columns:1fr}.staff-form-actions .button{flex:1}.staff-search-row .field{inline-size:100%}.editor-panel{inline-size:auto}}@media (prefers-reduced-motion:reduce){.editor-panel{animation:none}}
