@import "https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/variable/pretendardvariable-dynamic-subset.min.css";
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){:root,:host{--shimmer-angle:20deg}*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0;--scroll-fade-t:0px;--scroll-fade-b:0px;--scroll-fade-s:0px;--scroll-fade-e:0px;--scroll-fade-mask:initial;--shimmer-image:initial;--shimmer-text-fill:initial}}}@layer theme{:root,:host{--font-sans:"Pretendard Variable", Pretendard, system-ui, "Apple SD Gothic Neo", "Malgun Gothic", sans-serif;--font-mono:"SFMono-Regular", Consolas, "Liberation Mono", monospace;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--radius-lg:.5rem;--radius-xl:.75rem;--default-font-family:"Pretendard Variable", Pretendard, system-ui, "Apple SD Gothic Neo", "Malgun Gothic", sans-serif;--default-mono-font-family:"SFMono-Regular", Consolas, "Liberation Mono", monospace;--color-primary:var(--primary)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.bottom-0{bottom:0}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.h-screen{height:100vh}.min-h-screen{min-height:100vh}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.gap-2{gap:calc(var(--spacing) * 2)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rounded-\[24px\]{border-radius:24px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.bg-background{background-color:var(--background)}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.break-all{word-break:break-all}.text-primary{color:var(--primary)}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.line-through{text-decoration-line:line-through}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}@property --scroll-fade-t{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-b{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-s{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-e{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-mask{syntax:"*";inherits:false}@property --shimmer-angle{syntax:"<angle>";inherits:true;initial-value:20deg}@property --shimmer-image{syntax:"*";inherits:false}@property --shimmer-text-fill{syntax:"*";inherits:false}@media (prefers-reduced-motion:reduce){.shimmer{-webkit-text-fill-color:currentColor;background-image:none;animation:none}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--background:#eef1f3;--foreground:#1c2b3a;--card:#fff;--card-foreground:#1c2b3a;--border:#dde3e8;--muted-foreground:#75808b;--primary:#ff6b4a;--navy:#162638;--blue:#2a5c9a;--green:#2e7d4f;--red:#c23b3b;--radius:10px}*{box-sizing:border-box}body{background:var(--background);color:var(--foreground);margin:0;font-family:system-ui,Apple SD Gothic Neo,Malgun Gothic,sans-serif}button,input{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh}.topbar{border-bottom:1px solid var(--border);background:#fff;justify-content:space-between;align-items:center;height:72px;padding:0 5vw;display:flex}.brand-lockup,.topbar-meta,.context-nav,.page-heading,.section-heading,.lesson-row,.attention-banner,.summary-card,.shuttle-actions,.board-header,.board-route,.board-footer,.rider-row,.system-ok{align-items:center;display:flex}.brand-lockup{gap:11px}.brand-lockup strong{letter-spacing:-.04em;font-size:16px;display:block}.brand-lockup span{color:var(--muted-foreground);margin-top:2px;font-size:11px;display:block}.brand-mark{color:#fff;background:var(--navy);letter-spacing:-.05em;border-radius:8px;place-items:center;width:35px;height:35px;font-size:12px;font-weight:800;display:grid}.topbar-meta{color:var(--muted-foreground);gap:15px;font-size:12px}.live-dot,.status-dot{background:var(--green);border-radius:50%;width:7px;height:7px;display:inline-block}.avatar{width:32px;height:32px;color:var(--navy);background:#e4e9ed;border-radius:50%;place-items:center;font-size:10px;font-weight:700;display:grid}.icon-button,.row-arrow{color:var(--muted-foreground);background:0 0;border:0;place-items:center;padding:8px;display:grid}.content-wrap{max-width:1080px;margin:auto;padding:0 5vw 72px}.context-nav{border-bottom:1px solid var(--border);gap:26px;height:64px}.context-nav button{height:100%;color:var(--muted-foreground);background:0 0;border:0;border-bottom:2px solid #0000;align-items:center;gap:7px;font-size:13px;font-weight:700;display:flex}.context-nav button.nav-active{color:var(--foreground);border-bottom-color:var(--primary)}.nav-count{color:#fff;background:var(--primary);border-radius:10px;place-items:center;min-width:20px;height:20px;font-size:10px;display:grid}.dashboard,.shuttle-page{padding-top:48px}.shuttle-layout{grid-template-columns:minmax(0,1fr);align-items:start;gap:24px;margin-top:34px;display:grid}.route-map-card,.boarding-board{min-width:0}@media (min-width:1240px){.shuttle-layout{grid-template-columns:minmax(0,1.08fr) minmax(520px,.92fr);gap:28px}}.route-map-card{background:var(--navy);color:#fff;border-radius:10px;overflow:hidden}.map-card-heading{justify-content:space-between;align-items:flex-start;gap:12px;padding:22px 22px 0;display:flex}.map-card-heading h2{letter-spacing:-.06em;margin:0;font-size:22px}.map-distance{color:#a8bac9;font:11px var(--font-mono);white-space:nowrap}.route-map{background:#1b3143;padding:16px 10px 2px}.route-map svg{width:100%;height:auto;min-height:250px;display:block}.map-road{fill:none;stroke:#496273;stroke-width:1.5px;stroke-dasharray:5 6;opacity:.65}.map-river{fill:none;stroke:#284a61;stroke-width:18px;opacity:.75}.route-path{fill:none;stroke:var(--primary);stroke-width:4px;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 5px #ff6b4a66)}.map-stop circle{fill:var(--navy);stroke:#b7c7d3;stroke-width:2px}.map-stop.start circle{fill:var(--primary);stroke:#fff}.map-stop.finish circle{fill:var(--blue);stroke:#fff}.stop-number{fill:#fff;font:800 10px var(--font-mono)}.stop-label{fill:#fff;font:800 10px var(--font-sans)}.stop-detail{fill:#afc0cc;font:9px var(--font-sans)}.map-legend{color:#b8c7d1;gap:16px;padding:15px 22px 18px;font-size:10px;display:flex}.map-legend span{align-items:center;gap:6px;display:inline-flex}.legend-dot{background:#b7c7d3;border-radius:50%;width:7px;height:7px}.legend-dot.start{background:var(--primary)}.legend-dot.finish{background:var(--blue)}.page-heading{justify-content:space-between;align-items:flex-end;gap:24px}.eyebrow,.card-kicker,.board-label{color:var(--muted-foreground);letter-spacing:.14em;margin:0 0 9px;font-size:10px;font-weight:800}.page-heading h1{letter-spacing:-.07em;margin:0;font-size:clamp(30px,4vw,42px);line-height:1}.subheading{color:var(--muted-foreground);margin:13px 0 0;font-size:13px}.season-bar{vertical-align:middle;background:#d9e0e5;border-radius:4px;width:80px;height:5px;margin-left:7px;display:inline-block;overflow:hidden}.season-bar i{background:var(--blue);border-radius:4px;height:100%;display:block}.outline-button,.primary-button,.text-button,.card-link{border:0;align-items:center;gap:8px;font-weight:700;display:inline-flex}.outline-button{border:1px solid var(--border);min-height:44px;color:var(--foreground);background:#fff;border-radius:7px;padding:0 16px;font-size:12px}.primary-button{background:var(--primary);color:#fff;border-radius:7px;min-height:50px;padding:0 20px;font-size:13px}.attention-banner{background:#fff5f1;border:1px solid #ffd6cb;border-radius:8px;gap:14px;margin-top:38px;padding:18px 20px}.banner-icon{width:38px;height:38px;color:var(--primary);background:#ffe1d9;border-radius:50%;flex:none;place-items:center;display:grid}.attention-banner strong{font-size:13px}.attention-banner p{color:var(--muted-foreground);margin:4px 0 0;font-size:12px}.attention-banner button{color:var(--primary);white-space:nowrap;background:0 0;border:0;align-items:center;gap:5px;margin-left:auto;font-size:12px;font-weight:800;display:inline-flex}.section-heading{justify-content:space-between;margin-top:42px}.section-heading h2{letter-spacing:-.05em;margin:0;font-size:21px}.muted{color:var(--muted-foreground);margin-left:10px;font-size:12px}.text-button,.card-link{color:var(--blue);background:0 0;font-size:12px}.lesson-list{border-top:1px solid var(--border);margin-top:14px}.lesson-row{border-bottom:1px solid var(--border);gap:20px;min-height:76px}.time-code,.board-date,.time-input{font-family:var(--font-mono)}.time-code{width:52px;color:var(--muted-foreground);font-size:13px}.lesson-main{flex:1}.lesson-main strong,.lesson-main span{display:block}.lesson-main strong{font-size:14px}.lesson-main span{color:var(--muted-foreground);margin-top:5px;font-size:12px}.status{border-radius:12px;align-items:center;gap:6px;padding:6px 9px;font-size:11px;font-weight:700;display:inline-flex}.status-active{color:var(--blue);background:#e9f0f9}.status-done{color:var(--green);background:#e9f4ed}.status-upcoming{color:var(--muted-foreground);background:#e8ecef}.status-active .status-dot{background:var(--blue)}.status-upcoming .status-dot{background:var(--muted-foreground)}.summary-grid{grid-template-columns:repeat(3,1fr);gap:12px;margin-top:44px;display:grid}.summary-card{border:1px solid var(--border);background:#fff;border-radius:8px;min-height:168px;padding:20px;display:block}.summary-number{color:var(--navy);font-family:var(--font-mono);letter-spacing:-.08em;margin-top:11px;font-size:34px;display:block}.summary-card p{color:var(--muted-foreground);margin:3px 0 16px;font-size:12px}.warning-text{color:var(--red);margin-left:4px}.system-ok{color:var(--green);gap:7px;margin-top:20px;font-size:14px;font-weight:800}.system-card p{margin-top:9px}.back-link{color:var(--muted-foreground);background:0 0;border:0;margin-bottom:30px;padding:0;font-size:12px}.shuttle-heading{align-items:center}.confirmation-state{color:var(--primary);background:#fff5f1;border:1px solid #f2c9c0;border-radius:20px;padding:8px 12px;font-size:11px;font-weight:800}.confirmation-state .status-dot{background:var(--primary);margin-right:6px}.confirmation-state.is-confirmed{color:var(--green);background:#e9f4ed;border-color:#b9d9c4}.confirmation-state.is-confirmed .status-dot{background:var(--green)}.boarding-board{color:#fff;background:var(--navy);border-radius:10px;margin-top:37px;padding:28px 30px 0;box-shadow:0 10px 30px #1c2b3a1a}.board-header{justify-content:space-between}.board-label{color:#91a1b0;margin-bottom:8px}.board-header h2{letter-spacing:-.06em;margin:0;font-size:23px}.board-date{color:var(--primary);text-align:right;font-size:28px;font-weight:800}.board-date span{color:#91a1b0;letter-spacing:.16em;font-family:inherit;font-size:10px;display:block}.board-route{color:#aab7c2;gap:13px;margin:29px 0 4px;font-size:11px}.route-line{background:#506273;flex:1;height:1px}.rider-list{border-top:1px solid #35495b}.rider-row{border-bottom:1px solid #35495b;gap:15px;min-height:86px}.grip-button{color:#6c7d8c;background:0 0;border:0;padding:8px 2px}.rider-order{color:#91a1b0;width:22px;font-family:var(--font-mono);font-size:12px}.rider-info{flex:1}.rider-info strong,.rider-info span{display:block}.rider-info strong{font-size:15px}.rider-info span{color:#9eaeba;margin-top:5px;font-size:11px}.time-input{width:73px;color:var(--primary);text-align:center;background:#223648;border:1px solid #516577;border-radius:5px;padding:10px 8px;font-size:16px}.move-buttons{gap:4px;display:flex}.move-buttons button,.remove-button{color:#b9c6cf;background:0 0;border:1px solid #516577;border-radius:4px;min-width:32px;min-height:32px}.remove-button{color:#d59a91;padding:0 9px;font-size:11px}.board-footer{color:#91a1b0;justify-content:space-between;padding:18px 0;font-size:11px}.board-footer span{align-items:center;gap:6px;display:inline-flex}.shuttle-actions{justify-content:flex-end;gap:10px;margin-top:22px}.inline-notice{color:var(--green);text-align:right;font-size:12px}@media (max-width:860px){.shuttle-layout{grid-template-columns:1fr}}.portal-shell,.surface-shell,.parent-shell,.driver-shell,.teacher-shell,.form-shell{min-height:100vh;padding:28px 18px 56px}.portal-shell{max-width:760px;margin:auto;padding-top:12vh}.portal-mark{background:var(--navy);color:#fff;border-radius:9px;place-items:center;width:42px;height:42px;font-weight:800;display:grid}.portal-shell h1,.surface-main h1,.parent-main h1,.driver-shell h1,.teacher-shell h1,.form-shell h1{letter-spacing:-.08em;margin:10px 0;font-size:clamp(34px,9vw,60px);line-height:1.02}.portal-shell em,.parent-shell em{color:var(--primary);font-style:normal}.portal-copy{max-width:500px;color:var(--muted-foreground);line-height:1.7}.surface-grid{grid-template-columns:repeat(2,1fr);gap:12px;margin-top:36px;display:grid}.surface-card{background:var(--card);border:1px solid var(--border);color:inherit;border-radius:10px;flex-direction:column;gap:8px;min-height:150px;padding:20px;text-decoration:none;display:flex}.surface-card strong{font-size:17px}.surface-card span:last-of-type{color:var(--muted-foreground);font-size:12px;line-height:1.5}.surface-card b{margin-top:auto;font-size:12px}.surface-label{color:var(--primary);font:11px var(--font-mono);font-weight:800}.surface-top{align-items:center;gap:16px;max-width:1080px;margin:auto;display:flex}.surface-top a{background:var(--navy);color:#fff;border-radius:7px;padding:10px;font-weight:800;text-decoration:none}.surface-top span{font:11px var(--font-mono);color:var(--muted-foreground)}.surface-top i{margin-left:auto;font-size:11px;font-style:normal}.surface-body{grid-template-columns:180px 1fr;gap:48px;max-width:1080px;margin:36px auto;display:grid}.surface-nav{flex-direction:column;gap:5px;display:flex}.surface-nav a{color:var(--muted-foreground);padding:12px;font-size:13px;text-decoration:none}.surface-nav a.selected{background:var(--navy);color:#fff;border-radius:6px}.surface-main{max-width:720px}.ops-list{margin:32px 0 24px}.ops-list article{border-bottom:1px solid var(--border);align-items:center;gap:14px;padding:20px 0;display:flex}.ops-list span{font:11px var(--font-mono);color:var(--primary)}.ops-list strong{flex:1}.ops-list b{color:var(--muted-foreground);font-size:11px}.parent-shell{background:#e6edf1}.parent-top{align-items:center;gap:10px;max-width:540px;margin:auto;display:flex}.parent-top a{background:var(--navy);color:#fff;border-radius:7px;padding:10px;font-weight:800;text-decoration:none}.parent-top small{color:var(--muted-foreground);margin-left:auto;font-size:10px}.parent-main{max-width:540px;margin:64px auto}.parent-hero{background:var(--navy);color:#fff;border-radius:12px;margin:28px 0;padding:24px}.parent-hero span,.parent-hero p{color:#b9c8d2;font-size:12px}.parent-hero strong{font:700 56px var(--font-mono);margin:8px 0;display:block}.parent-hero b{color:#ffc0a9;font-size:12px}.timeline{border-left:2px solid #b8c8d1;flex-direction:column;gap:26px;padding-left:20px;display:flex}.timeline div{flex-direction:column;gap:4px;display:flex}.timeline i{font:12px var(--font-mono);color:var(--primary);font-style:normal}.timeline span{color:var(--muted-foreground);font-size:12px}.parent-actions{gap:10px;margin-top:32px;display:flex}.parent-actions a,.parent-actions button{border:1px solid var(--border);background:var(--card);color:inherit;border-radius:7px;padding:15px;text-decoration:none}.driver-shell,.teacher-shell,.form-shell{max-width:540px;margin:auto}.driver-stop{border:1px solid var(--border);background:var(--card);text-align:left;border-radius:8px;align-items:center;gap:12px;width:100%;min-height:72px;margin-top:10px;padding:16px;display:flex}.driver-stop span{font:12px var(--font-mono);color:var(--primary)}.driver-stop strong{flex:1}.driver-stop b{color:var(--green);font-size:11px}.teacher-card{background:var(--card);border:1px solid var(--border);border-radius:10px;margin-top:14px;padding:22px}.teacher-card h2{margin:8px 0;font-size:24px}.teacher-card p{color:var(--muted-foreground);line-height:1.7}.form-shell input,.form-shell textarea{border:1px solid var(--border);background:var(--card);width:100%;color:inherit;border-radius:7px;margin-top:12px;padding:16px;display:block}.form-shell textarea{resize:vertical;min-height:130px}.form-shell .primary-button{justify-content:center;width:100%;margin-top:14px}.finance-app{color:#1c2b3a;background:#f6f8fa;min-height:100vh;display:flex}.finance-sidebar{background:#fff;border-right:1px solid #e3e8ec;flex-direction:column;flex:0 0 220px;width:220px;padding:26px 16px 18px;display:flex}.sidebar-brand{color:inherit;align-items:center;gap:10px;padding:0 10px 34px;text-decoration:none;display:flex}.sidebar-brand span{color:#fff;width:34px;height:34px;font:800 11px var(--font-mono);background:#162638;border-radius:8px;place-items:center;display:grid}.sidebar-brand strong{letter-spacing:-.05em;font-size:12px;line-height:1.15}.sidebar-section{flex-direction:column;gap:3px;margin-bottom:28px;display:flex}.sidebar-section small{color:#9aa6af;font:800 9px var(--font-mono);letter-spacing:.1em;padding:0 12px 8px}.sidebar-section a{color:#788590;border-radius:6px;align-items:center;gap:8px;padding:11px 12px;font-size:12px;text-decoration:none;display:flex}.sidebar-section a.active,.sidebar-section a:hover{color:#1c2b3a;background:#eef3f6;font-weight:700}.sidebar-section b{color:#fff;background:#ff6b4a;border-radius:8px;margin-left:auto;padding:2px 6px;font-size:9px}.sidebar-bottom{border-top:1px solid #e8edf0;align-items:center;gap:9px;margin-top:auto;padding:18px 8px 0;font-size:11px;display:flex}.sidebar-bottom strong,.sidebar-bottom small{display:block}.sidebar-bottom small{color:#9aa6af;margin-top:3px;font-size:9px}.sidebar-bottom button{color:#9aa6af;background:0 0;border:0;margin-left:auto}.finance-main{flex:1;min-width:0}.finance-toolbar{background:#fff;border-bottom:1px solid #e3e8ec;justify-content:space-between;align-items:center;height:76px;padding:0 38px;display:flex}.breadcrumb{color:#9aa6af;font:10px var(--font-mono)}.finance-toolbar h1{letter-spacing:-.05em;margin:5px 0 0;font-size:16px}.toolbar-actions{color:#7d8993;align-items:center;gap:18px;font-size:11px;display:flex}.sync-status i{background:#39a66b;border-radius:50%;width:6px;height:6px;margin-right:5px;display:inline-block}.toolbar-icon,.toolbar-user{color:inherit;background:0 0;border:0}.toolbar-user{border-left:1px solid #e5eaed;padding:8px 0 8px 12px}.finance-content{max-width:1180px;margin:0 auto;padding:34px 38px 70px}.finance-title-row{justify-content:space-between;align-items:flex-end;gap:24px;display:flex}.finance-title-row h2{letter-spacing:-.08em;margin:4px 0;font-size:30px}.muted-copy{color:#87939c;margin:0;font-size:12px}.header-buttons{gap:8px;display:flex}.ghost-button,.solid-button{cursor:pointer;border:1px solid #dbe2e7;border-radius:6px;justify-content:center;align-items:center;min-height:40px;padding:0 14px;font-size:11px;font-weight:700;display:inline-flex}.ghost-button{color:#52616d;background:#fff}.solid-button{color:#fff;background:#315f86;border-color:#315f86}.period-control{justify-content:space-between;align-items:center;margin:30px 0 18px;display:flex}.period-control>span{color:#8b969f;font:10px var(--font-mono)}.period-tabs button{color:#7d8993;background:0 0;border:0;border-radius:5px;padding:8px 14px;font-size:11px}.period-tabs button.selected{color:#1c2b3a;background:#fff;box-shadow:0 1px 3px #d6dde2}.metric-grid{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.metric-grid article{background:#fff;border:1px solid #e2e8ec;border-radius:8px;min-width:0;padding:18px 20px}.metric-grid article>span{color:#7c8993;font-size:11px;display:block}.metric-grid strong{font:700 23px var(--font-mono);letter-spacing:-.07em;margin:10px 0 7px;display:block}.metric-grid em{font-style:normal;font:700 10px var(--font-mono)}.metric-grid small{color:#a0aab2;margin-left:8px;font-size:10px}.positive{color:#329366}.negative{color:#d8755b}.marketing-metric strong{font-size:20px}.mini-progress{background:#edf0f2;border-radius:4px;height:5px;margin:12px 0 5px}.mini-progress i{background:#ff6b4a;border-radius:4px;width:24.4%;height:100%;display:block}.dashboard-grid{grid-template-columns:minmax(0,1.45fr) minmax(290px,.75fr);gap:16px;margin-top:16px;display:grid}.panel{background:#fff;border:1px solid #e2e8ec;border-radius:8px;padding:20px}.panel-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.panel-kicker{color:#9aa6af;font:800 9px var(--font-mono);letter-spacing:.12em}.panel h3{letter-spacing:-.05em;margin:6px 0 0;font-size:16px}.legend{color:#87939c;gap:13px;font-size:10px;display:flex}.legend i{border-radius:50%;width:6px;height:6px;margin-right:5px;display:inline-block}.income-dot{background:#315f86}.expense-dot{background:#d8e0e5}.more-button{color:#a0aab2;background:0 0;border:0}.cost-chart{justify-content:center;align-items:center;height:170px;display:flex}.cost-chart strong{font:700 20px var(--font-mono);display:block}.cost-chart strong small{font:10px var(--font-sans);margin-left:3px}.cost-chart span{color:#96a0a8;font-size:10px}.cost-breakdown,.ledger-table{margin:0;padding:0;list-style:none}.cost-breakdown li,.ledger-row{border-top:1px solid #edf0f2;justify-content:space-between;align-items:center;padding:10px 0;font-size:11px;display:flex}.cost-breakdown i{border-radius:50%;width:7px;height:7px;margin-right:7px;display:inline-block}.cost-breakdown b,.ledger-row>b{font:700 10px var(--font-mono)}.ledger-panel{grid-column:1/-1}.view-all{color:#315f86;font-size:10px;text-decoration:none}.ledger-row>b{text-align:right;width:120px}.quick-form{background:#fff;border:1px solid #dfe6eb;border-radius:8px;gap:8px;margin-bottom:18px;padding:14px;display:flex}.quick-form input,.quick-form select{background:#fff;border:1px solid #dbe2e7;border-radius:5px;flex:1;min-width:0;padding:10px;font-size:11px}@media (max-width:760px){.finance-sidebar{display:none}.finance-toolbar{padding:0 18px}.toolbar-actions{gap:8px}.sync-status{display:none}.finance-content{padding:24px 16px 50px}.finance-title-row{display:block}.header-buttons{margin-top:18px}.metric-grid{grid-template-columns:1fr 1fr}.dashboard-grid{grid-template-columns:1fr}.ledger-panel{grid-column:auto}.period-control{display:block}.period-control>span{margin-top:10px;display:block}.period-tabs{width:100%}.period-tabs button{flex:1;padding:9px 4px}.quick-form{flex-direction:column}.ledger-head{grid-template-columns:55px 1fr 95px}.ledger-row>span{width:55px}.ledger-row>b{width:95px}}.finance-page{max-width:1180px;margin:auto;padding:42px 28px 80px}.finance-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:end;gap:32px;padding-bottom:38px;display:flex}.back-link{color:var(--muted-foreground);margin-bottom:28px;font-size:12px;text-decoration:none;display:block}.finance-kicker,.card-title span{font:11px var(--font-mono);color:var(--primary);letter-spacing:.08em;font-weight:800}.finance-header h1{letter-spacing:-.07em;margin:10px 0;font-size:clamp(32px,4vw,48px);line-height:1.1}.finance-header h1 em{color:inherit;font-style:normal}.finance-header p{color:var(--muted-foreground);font-size:13px;line-height:1.6}.finance-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;max-width:300px;display:flex}.finance-actions small{width:100%;color:var(--muted-foreground);text-align:right;font-size:11px}.secondary-button,.primary-button{border:1px solid var(--border);min-height:44px;font:700 12px var(--font-sans);cursor:pointer;border-radius:7px;align-items:center;padding:0 16px;display:inline-flex}.secondary-button{background:var(--card)}.primary-button{background:var(--primary);border-color:var(--primary);color:#fff}.period-tabs{background:var(--muted);border-radius:8px;gap:4px;width:max-content;margin:22px 0 10px;padding:4px;display:flex}.period-tabs button{color:var(--muted-foreground);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:10px 16px;font-size:12px}.period-tabs button.active{background:var(--card);color:var(--foreground);box-shadow:0 1px 3px #00000014}.period-caption{color:var(--muted-foreground);font-size:11px}.blue-dot{background:#315f86}.finance-kpis{grid-template-columns:repeat(4,1fr);gap:12px;margin:26px 0;display:grid}.finance-kpis article{background:var(--card);border:1px solid var(--border);border-radius:8px;padding:20px}.finance-kpis span,.finance-kpis b{color:var(--muted-foreground);font-size:11px;display:block}.finance-kpis strong{font:800 25px var(--font-mono);letter-spacing:-.06em;margin:12px 0 8px;display:block}.finance-kpis strong small,.donut-total small{font:700 12px var(--font-sans);margin-left:3px}.finance-kpis .up{color:var(--green)}.finance-kpis .down{color:var(--primary)}.finance-kpis .profit{background:var(--navy);color:#fff}.finance-kpis .profit span,.finance-kpis .profit b{color:#b6c7d1}.chart-card{background:var(--card);border:1px solid var(--border);border-radius:8px;padding:22px}.revenue-chart{grid-row:span 2}.card-title{justify-content:space-between;align-items:start;gap:12px;display:flex}.card-title h2{letter-spacing:-.06em;margin:7px 0 0;font-size:20px}.card-title select{border:1px solid var(--border);background:var(--background);color:inherit;border-radius:5px;padding:8px;font-size:11px}.chart-legend{color:var(--muted-foreground);gap:18px;font-size:11px;display:flex}.chart-legend i{border-radius:50%;width:7px;height:7px;margin-right:6px;display:inline-block}.orange-dot{background:var(--primary)}.gray-dot{background:#c9d2d8}.donut-wrap{justify-content:center;align-items:center;height:190px;display:flex}.donut-total{font:800 30px var(--font-mono);display:block}.donut-total small{margin:0;display:block}.donut-wrap p{color:var(--muted-foreground);font-size:11px}.cost-list li,.transaction-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:10px 0;font-size:11px;display:flex}.cost-list b{font-family:var(--font-mono)}.table-card{grid-column:1/-1}.table-card .card-title a{color:var(--primary);font-size:11px;text-decoration:none}.transaction-table{margin-top:15px}.transaction-row>span{width:55px;color:var(--muted-foreground);font:11px var(--font-mono)}.transaction-row div{flex:1}.transaction-row b,.transaction-row small{display:block}.transaction-row small{color:var(--muted-foreground);margin-top:4px}.transaction-row strong{font:700 12px var(--font-mono)}.transaction-row strong.income{color:var(--green)}.transaction-row strong.expense{color:var(--primary)}.transaction-form{background:var(--card);border:1px solid var(--border);border-radius:8px;gap:8px;margin:20px 0;padding:16px;display:flex}.transaction-form input,.transaction-form select{border:1px solid var(--border);background:var(--background);color:inherit;border-radius:5px;flex:1;min-width:0;padding:12px}.transaction-form input[type=date]{min-width:140px}.transaction-form .primary-button{border:0}@media (max-width:760px){.finance-page{padding:24px 16px 60px}.finance-header{display:block}.finance-actions{justify-content:flex-start;margin-top:24px}.finance-kpis{grid-template-columns:1fr 1fr}.finance-grid{grid-template-columns:1fr}.revenue-chart{grid-row:auto}.table-card{grid-column:auto}.transaction-form{flex-direction:column}.transaction-form .primary-button{justify-content:center}}.import-preview{color:#642719;background:#fff1eb;border:1px solid #ffc9bc;border-radius:8px;justify-content:space-between;align-items:center;gap:16px;margin:18px 0;padding:16px 18px;display:flex}.import-preview span{color:#8b5548;font-size:12px}.row-delete{color:var(--muted-foreground);cursor:pointer;background:0 0;border:0;padding:8px;font-size:10px}.row-delete:hover{color:var(--primary)}.admin-app{color:#1b2a3a;background:#f5f7f9;min-height:100vh;display:flex}.admin-sidebar{background:#fff;border-right:1px solid #e1e7eb;flex-direction:column;flex:0 0 220px;width:220px;padding:26px 14px;display:flex}.admin-brand{color:inherit;align-items:center;gap:10px;padding:0 10px 30px;text-decoration:none;display:flex}.admin-brand>span{color:#fff;width:34px;height:34px;font:800 11px var(--font-mono);background:#17283a;border-radius:8px;place-items:center;display:grid}.admin-brand strong{font-size:12px}.admin-brand small{color:#9aa5ad;font:9px var(--font-mono);margin-top:3px;display:block}.admin-sidebar nav{flex-direction:column;gap:3px;display:flex}.admin-sidebar nav a{color:#798691;border-radius:6px;align-items:center;gap:8px;padding:8px 10px;font-size:12px;font-weight:500;text-decoration:none;display:flex}.admin-sidebar nav b{color:#fff;background:#ff6b4a;border-radius:8px;margin-left:auto;padding:2px 6px;font-size:9px}.admin-user{border-top:1px solid #e7ecef;margin-top:auto;padding:18px 10px 0;font-size:11px}.admin-user small{color:#98a4ac;margin-top:3px;display:block}.admin-content{flex:1;min-width:0}.admin-topbar{background:#fff;border-bottom:1px solid #e1e7eb;justify-content:space-between;align-items:center;height:76px;padding:0 38px;display:flex}.admin-topbar span,.admin-heading p,.admin-panel-heading>div>span{font:10px var(--font-mono);color:#9aa6af;letter-spacing:.1em}.admin-topbar h1{letter-spacing:-.05em;margin:5px 0 0;font-size:16px}.admin-top-actions{color:#75828b;font-size:11px}.admin-top-actions i{background:#39a66b;border-radius:50%;width:6px;height:6px;margin-right:5px;display:inline-block}.admin-top-actions button{color:inherit;background:0 0;border:0;border-left:1px solid #e5eaed;margin-left:18px;padding:8px 0 8px 18px}.admin-body{max-width:1200px;margin:auto;padding:16px 28px 30px}.admin-title{margin-bottom:12px}.admin-title p{font-size:11px}.admin-actions{gap:6px}.admin-brand{padding-bottom:20px}.admin-sidebar nav a{padding:9px 10px}.admin-title h2{margin:5px 0;font-size:26px}.metric strong{margin:6px 0 4px;font-size:19px}.finance-grid,.generic-layout{gap:12px}.panel-head h3{font-size:15px}.admin-heading{justify-content:space-between;align-items:flex-end;gap:20px;display:flex}.admin-heading h2{letter-spacing:-.08em;margin:8px 0;font-size:32px}.admin-heading span{color:#84919a;font-size:12px}.admin-actions{gap:8px;display:flex}.admin-actions a{color:#5e6e7b;border:1px solid #dae2e7;border-radius:6px;align-items:center;min-height:38px;padding:0 13px;font-size:11px;font-weight:700;text-decoration:none;display:inline-flex}.admin-actions a.primary-button{color:#fff;background:#315f86;border-color:#315f86}.admin-stat-grid{grid-template-columns:repeat(3,1fr);gap:12px;margin:30px 0 16px;display:grid}.admin-stat-grid article,.admin-panel{background:#fff;border:1px solid #e1e7eb;border-radius:8px;padding:20px}.admin-stat-grid article>span{color:#7d8a94;font-size:11px}.admin-stat-grid strong{font:700 25px var(--font-mono);letter-spacing:-.07em;margin:12px 0 7px;display:block}.admin-stat-grid small{color:#9aa5ad;font-size:10px}.admin-panel-heading{justify-content:space-between;align-items:start;display:flex}.admin-panel-heading h3{letter-spacing:-.05em;margin:6px 0 0;font-size:17px}.admin-panel-heading button{color:#315f86;background:0 0;border:0;font-size:10px}.admin-queue{border-top:1px solid #edf0f2;align-items:center;gap:15px;margin-top:14px;padding:17px 0;font-size:12px;display:flex}.admin-queue b{color:#ff6b4a;font:11px var(--font-mono)}.admin-queue strong{flex:1}.admin-queue small{color:#8e9aa2;font-size:10px}.parent-app{color:#1b2a3a;background:#e8eff2;min-height:100vh}.parent-header{align-items:center;gap:10px;max-width:560px;margin:auto;padding:26px 18px;display:flex}.parent-header>span{color:#fff;width:34px;height:34px;font:800 11px var(--font-mono);background:#17283a;border-radius:8px;place-items:center;display:grid}.parent-header small{color:#8b969e;font:9px var(--font-mono);margin-left:auto}.parent-content{max-width:560px;margin:36px auto;padding:0 18px 70px}.parent-tabs,.teacher-tabs{border-bottom:1px solid #cad6dc;gap:22px;margin-bottom:54px;display:flex}.parent-tabs a,.teacher-tabs a{color:#8c99a1;padding:0 0 12px;font-size:12px;text-decoration:none}.parent-tabs a.active,.teacher-tabs a.active{color:#1b2a3a;border-bottom:2px solid #ff6b4a;font-weight:700}.parent-eyebrow,.teacher-eyebrow{font:10px var(--font-mono);letter-spacing:.1em;color:#ff6b4a}.parent-content h1,.teacher-content h1{letter-spacing:-.09em;margin:12px 0 28px;font-size:42px;line-height:1.05}.parent-content h1 em,.teacher-content h1 em{color:#ff6b4a;font-style:normal}.parent-status{color:#fff;background:#17283a;border-radius:12px;margin:20px 0 34px;padding:24px}.parent-status span,.parent-status p{color:#b6c5ce;font-size:12px}.parent-status strong{font:700 56px var(--font-mono);letter-spacing:-.08em;margin:8px 0;display:block}.parent-status b{color:#ffbea9;font-size:11px}.parent-timeline{border-left:2px solid #b9c8d0;flex-direction:column;gap:25px;padding-left:20px;display:flex}.parent-timeline i{color:#ff6b4a;font:11px var(--font-mono);font-style:normal;display:block}.parent-timeline span{color:#84919a;margin-top:5px;font-size:11px;display:block}.parent-form{background:#fff;border:1px solid #dbe4e8;border-radius:9px;padding:20px}.parent-form label,.teacher-form label{margin-bottom:16px;font-size:11px;font-weight:700;display:block}.parent-form textarea,.parent-form select,.teacher-form textarea,.teacher-form select{width:100%;color:inherit;background:#f8fafb;border:1px solid #d5e0e5;border-radius:6px;margin-top:8px;padding:13px;display:block}.parent-form textarea,.teacher-form textarea{resize:vertical;min-height:130px}.parent-primary,.teacher-primary,.teacher-secondary{color:#fff;background:#ff6b4a;border:0;border-radius:6px;padding:13px 16px;font-weight:700}.teacher-app{color:#1b2a3a;background:#f7f8f9;min-height:100vh}.teacher-header{align-items:center;gap:12px;max-width:700px;margin:auto;padding:28px 20px;display:flex}.teacher-header>a{color:#fff;width:38px;height:38px;font:800 11px var(--font-mono);background:#17283a;border-radius:8px;place-items:center;text-decoration:none;display:grid}.teacher-header span{color:#8d99a1;font:9px var(--font-mono);display:block}.teacher-header strong{margin-top:3px;font-size:13px;display:block}.teacher-header small{color:#89959d;font:10px var(--font-mono);margin-left:auto}.teacher-content{max-width:700px;margin:20px auto;padding:0 20px 70px}.lesson-card,.attendance-card,.teacher-form{background:#fff;border:1px solid #e0e7eb;border-radius:9px;margin:12px 0;padding:20px}.lesson-card{align-items:center;gap:16px;display:flex}.lesson-card>span{color:#ff6b4a;font:11px var(--font-mono);width:42px}.lesson-card div{flex:1}.lesson-card h2{margin:0;font-size:18px}.lesson-card p{color:#8a969f;margin:6px 0 0;font-size:11px}.lesson-card b{color:#ff6b4a}.attendance-card{flex-direction:column;align-items:flex-start;display:flex}.attendance-card strong{font-size:20px}.attendance-card span{color:#8a969f;margin:5px 0 15px;font-size:11px}.teacher-form,.teacher-form label{display:block}.teacher-secondary{color:#50616f;background:#e8eef2}@media (max-width:760px){.admin-sidebar{display:none}.admin-topbar{padding:0 18px}.admin-body{padding:24px 16px 50px}.admin-heading{display:block}.admin-actions{margin-top:18px}.admin-stat-grid{grid-template-columns:1fr 1fr}.admin-stat-grid article:last-child{grid-column:1/-1}.parent-content,.teacher-content,.parent-header,.teacher-header{padding-left:18px;padding-right:18px}}.admin-title{justify-content:space-between;align-items:flex-end;gap:20px;display:flex}.admin-title>div>span{font:10px var(--font-mono);color:#9aa6af;letter-spacing:.12em}.admin-title h2{letter-spacing:-.08em;margin:8px 0;font-size:32px}.admin-title p{color:#83909a;margin:0;font-size:12px}.admin-light,.admin-blue{color:#566672;background:#fff;border:1px solid #dbe3e8;border-radius:6px;padding:11px 14px;font-size:11px;font-weight:700}.admin-blue{color:#fff;background:#315f86;border-color:#315f86}.date-chip{font:11px var(--font-mono);color:#75848e;background:#fff;border:1px solid #e0e7eb;border-radius:6px;padding:11px 14px}.period-switch{align-items:center;gap:3px;margin:28px 0 16px;display:flex}.period-switch button{color:#7b8993;background:#e8edf0;border:0;padding:9px 15px;font-size:11px}.period-switch button:first-child{border-radius:6px 0 0 6px}.period-switch button:nth-child(4){border-radius:0 6px 6px 0}.period-switch button.on{color:#fff;background:#315f86}.period-switch b{font:10px var(--font-mono);color:#8b98a1;margin-left:10px}.metrics{grid-template-columns:repeat(4,1fr);gap:10px;margin:16px 0 14px;display:grid}.metric{background:#fff;border:1px solid #e0e7eb;border-radius:8px;padding:13px 15px}.metric>span{color:#7d8b95;letter-spacing:.03em;font-size:10px;font-weight:600}.metric strong{font:700 21px var(--font-mono);letter-spacing:-.07em;margin:5px 0 2px;display:block}.metric.blue{border-top:3px solid #315f86}.metric.green{border-top:3px solid #329366}.metric.orange{border-top:3px solid #ff6b4a}.finance-grid{grid-template-columns:minmax(0,1.45fr) minmax(290px,.75fr);gap:16px;display:grid}.data-panel{background:#fff;border:1px solid #e0e7eb;border-radius:8px;padding:16px}.panel-head{justify-content:space-between;align-items:flex-start;display:flex}.panel-head>div>span{font:9px var(--font-mono);color:#9aa6af;letter-spacing:.12em}.panel-head h3{letter-spacing:-.05em;margin:6px 0 0;font-size:17px}.chart-keys{color:#89969f;align-items:center;gap:5px;font-size:10px;display:flex}.chart-keys i{border-radius:50%;width:6px;height:6px;margin-left:7px;display:inline-block}.key-sales{background:#315f86}.key-cost{background:#d8e0e5}.donut{justify-content:center;align-items:center;height:170px;display:flex}.donut strong{font:700 22px var(--font-mono);display:block}.donut strong small{font:10px var(--font-sans);margin-left:3px}.donut span{color:#98a3aa;font-size:10px}.cost-list{margin:0;padding:0;list-style:none}.cost-list li{border-top:1px solid #edf0f2;justify-content:space-between;padding:10px 0;font-size:11px;display:flex}.cost-list i{border-radius:50%;width:7px;height:7px;margin-right:7px;display:inline-block}.cost-list b{font:700 10px var(--font-mono)}.ledger{grid-column:1/-1}.text-link,.dots{color:#315f86;background:0 0;border:0;font-size:10px}.ledger-head{color:#9ba6ad;grid-template-columns:70px 1fr 120px;padding:18px 0 8px;font-size:10px;display:grid}.ledger-head span:last-child{text-align:right}.ledger-row{border-top:1px solid #edf0f2;align-items:center;padding:12px 0;font-size:11px;display:flex}.ledger-row>span{color:#89969f;width:70px;font:10px var(--font-mono)}.ledger-row div{flex:1}.ledger-row strong,.ledger-row small{display:block}.ledger-row small{color:#9ba6ad;margin-top:4px;font-size:10px}.ledger-row>b{text-align:right;width:120px;font:700 10px var(--font-mono)}.ledger-row>b.income{color:#329366}.ledger-row>b.expense{color:#d8755b}.ops-grid{grid-template-columns:1.2fr .8fr;gap:16px;display:grid}.queue{border-top:1px solid #edf0f2;align-items:center;gap:15px;margin-top:14px;padding:17px 0;font-size:12px;display:flex}.queue b{color:#ff6b4a;font:11px var(--font-mono)}.queue strong{flex:1}.queue small{color:#8e9aa2;font-size:10px}.chart-summary{border-top:1px solid #edf0f2;align-items:baseline;gap:8px;padding-top:14px;display:flex}.chart-summary strong{font:700 24px var(--font-mono)}.chart-summary span{color:#89969f;font-size:10px}.chart-summary em{color:#329366;margin-left:5px;font-style:normal}@media (max-width:760px){.admin-title{display:block}.admin-actions{margin-top:18px}.date-chip{margin-top:18px;display:inline-block}.metrics{grid-template-columns:1fr 1fr}.finance-grid,.ops-grid{grid-template-columns:1fr}.ledger{grid-column:auto}.ledger-head{grid-template-columns:55px 1fr 95px}.ledger-row>span{width:55px}.ledger-row>b{width:95px}.period-switch{overflow:auto}.period-switch button{padding:9px 11px}.chart-keys{display:none}}.shuttle-map-panel,.shuttle-stops{color:#fff;background:#162638;border-radius:8px;margin-top:16px;padding:20px}.shuttle-map-panel .panel-head h3,.shuttle-stops h3{color:#fff}.shuttle-map-panel .panel-head>div>span,.shuttle-stops .panel-head>div>span{color:#9eb0bd}.route-svg{background:#1c3448;border-radius:6px;margin:18px -10px 0;overflow:hidden}.route-svg svg{width:100%;min-height:270px;display:block}.route-river{fill:none;stroke:#284d65;stroke-width:24px;opacity:.7}.route-road{fill:none;stroke:#527085;stroke-width:1.5px;stroke-dasharray:5 6;opacity:.7}.route-line{fill:none;stroke:#ff6b4a;stroke-width:4px;stroke-linecap:round;stroke-linejoin:round}.route-stop circle{fill:#162638;stroke:#d2e0e7;stroke-width:2px}.route-stop.start circle{fill:#ff6b4a;stroke:#fff}.route-stop.finish circle{fill:#315f86;stroke:#fff}.route-stop text{fill:#fff;font:800 10px var(--font-mono)}.route-stop-label{font-family:var(--font-sans)!important;font-size:10px!important}.route-stop-place{fill:#b9c9d2!important;font:9px var(--font-sans)!important}.route-footer{color:#b9c9d2;gap:18px;padding-top:15px;font-size:10px;display:flex}.route-footer i{border-radius:50%;width:7px;height:7px;margin-right:6px;display:inline-block}.shuttle-stops{color:#1c2b3a;background:#fff}.shuttle-stops .panel-head h3{color:#1c2b3a}.stop-row{border-top:1px solid #294252;grid-template-columns:44px 1fr 100px 55px;align-items:center;gap:8px;padding:14px 0;font-size:11px;display:grid}.stop-row b{color:#ff6b4a;font:11px var(--font-mono)}.stop-row span,.stop-row small{color:#aabcc7}.stop-row small{font:10px var(--font-mono)}.generic-layout{grid-template-columns:1.3fr .7fr;gap:16px;display:grid}.generic-bars{border-bottom:1px solid #e7edf0;align-items:end;gap:14px;height:190px;padding:24px 12px 10px;display:flex}.generic-bars div{flex-direction:column;flex:1;justify-content:end;align-items:center;gap:8px;height:100%;display:flex}.generic-bars i{background:#315f86;border-radius:4px 4px 0 0;width:100%;max-width:28px;display:block}.generic-bars span{font:10px var(--font-mono);color:#87949d}.action-card{width:100%;color:inherit;text-align:left;background:0 0;border:0;border-bottom:1px solid #edf0f2;justify-content:space-between;align-items:center;padding:16px 0;font-size:12px;display:flex}.action-card span{color:#315f86;font-size:18px}.wide-panel{grid-column:1/-1}.finance-grid,.data-panel{min-width:0}.current-month-label{color:#315f86!important;margin:4px 0!important;font-size:16px!important;font-weight:800!important;display:block!important}.live-head .current-month-label{visibility:visible!important;opacity:1!important}@media (max-width:760px){.admin-sidebar{display:none}.admin-topbar{height:56px;padding:0 16px}.admin-body{padding:14px 16px 28px}.admin-title{align-items:flex-start;display:block}.admin-title h2{font-size:23px}.admin-actions{margin-top:10px}.metrics{grid-template-columns:repeat(2,1fr)}.metric{padding:11px}.metric strong{font-size:17px}.generic-layout{grid-template-columns:1fr}.wide-panel{grid-column:auto}.stop-row{grid-template-columns:34px 1fr 70px}.stop-row small{display:none}.live-head{align-items:flex-start;display:block}.live-actions{margin-top:9px}.calendar-view-switch{margin-top:6px}}.live-schedule{margin-top:0}.live-head{border-bottom:1px solid #dfe6ea;justify-content:space-between;align-items:center;gap:16px;padding:8px 0 7px;display:flex}.live-head>div>span{font:10px var(--font-mono);color:#9aa6af;letter-spacing:.12em}.live-head h2{letter-spacing:-.08em;margin:2px 0;font-size:20px}.live-head p{color:#87949d;margin:0;font-size:9px}.live-head p:not(.current-month-label){display:none}.calendar-view-switch{gap:3px;margin-top:7px;display:flex}.calendar-view-switch button{color:#82909a;cursor:pointer;background:#fff;border:1px solid #dbe3e8;border-radius:4px;padding:5px 8px;font-size:9px}.calendar-view-switch button.active{color:#fff;background:#315f86;border-color:#315f86}.live-actions{align-items:center;gap:6px;display:flex}.live-actions button{padding:6px 8px;font-size:10px}.month-navigation{background:#fff;border:1px solid #dbe3e8;border-radius:5px;align-items:center;display:flex;overflow:hidden}.month-navigation button{line-height:1;color:#536875!important;background:0 0!important;border:0!important;border-radius:0!important;padding:5px 9px!important;font-size:15px!important}.month-navigation button:hover{background:#eef4f5!important}.month-navigation strong{text-align:center;color:#263f4d;white-space:nowrap;min-width:88px;padding:0 8px;font-size:11px}.live-actions button,.event-editor button{color:#586a76;background:#fff;border:1px solid #dbe3e8;border-radius:6px;padding:9px 12px;font-size:11px;font-weight:700}.live-actions .primary,.event-editor .primary{color:#fff;background:#315f86;border-color:#315f86}.live-instructor-sheet{background:#fff;border:1px solid #d9e1e5;border-radius:6px;overflow-x:auto;box-shadow:0 1px 2px #182a3a0a}.live-sheet{background:#fff;border:1px solid #d9e1e5;border-radius:6px;overflow:auto;box-shadow:0 1px 2px #182a3a0a}.live-instructor-head,.live-instructor-row{grid-template-columns:76px repeat(31,minmax(58px,1fr));min-width:1860px;display:grid}.live-instructor-head{background:#f3f6f7;border-bottom:2px solid #34454e;min-height:25px}.live-instructor-head>*{text-align:center;font:9px var(--font-mono);color:#72818b;border-right:1px solid #e8edef;padding:5px 4px}.live-instructor-row{border-bottom:1px solid #e7edef;height:25px}.live-instructor-row>*{border-right:1px solid #e8edef;min-width:0}.live-instructor-row strong{color:#243844;background:#f7f9fa;padding:5px 6px;font-size:9px}.live-instructor-row button{text-align:left;white-space:nowrap;text-overflow:ellipsis;color:#344b57;background:#fff;border:0;padding:2px 4px;overflow:hidden}.live-instructor-row button.filled{background:#e7f4df}.live-instructor-row button b{font-size:7px}.live-instructor-row button small{font:6px var(--font-mono);color:#6c7e87;display:block}.live-sheet{background:#fff;border:1px solid #d9e1e5;border-radius:8px;overflow:auto}.live-sheet-row,.live-date-row{grid-template-columns:76px repeat(7,minmax(96px,1fr));display:grid}.live-sheet-row{border-bottom:1px solid #e7edef;height:25px;min-height:25px}.live-sheet-row.head{background:#f3f6f7;border-bottom:2px solid #34454e;height:25px;min-height:25px}.live-sheet-row>*{border-right:1px solid #e8edef;padding:4px 6px;line-height:1.1}.live-sheet-row.head b{text-align:center;color:#72818b;font-size:10px}.live-sheet-row strong{color:#243844;background:#f7f9fa;font-size:10px}.live-sheet-row button{text-align:left;color:#344b57;background:#fff;border:0;min-width:0;padding:2px 5px;line-height:1.05}.live-sheet-row button:hover{background:#edf5f5}.live-sheet-row button.filled{background:#e7f4df}.live-sheet-row button b,.live-sheet-row button small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.live-sheet-row button b{font-size:8px}.live-sheet-row button small{color:#6c7e87;font:7px var(--font-mono);margin-top:1px}.live-date-row{background:#fff8dc;height:19px;min-height:19px}.live-date-row>*{padding:2px 6px}.live-date-row b{font:9px var(--font-mono);color:#53646d}.live-date-row b.holiday-date{color:#d85f43;font-weight:800}.live-date-row b small{font:6px var(--font-sans);font-weight:700}.live-date-row b.today-date,.live-instructor-head b.today-date{color:#fff;background:#315f86;border-radius:3px;padding:3px 5px}.live-instructor-head b.holiday-date{color:#d85f43}.live-instructor-head b small{font:6px var(--font-sans);white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.event-backdrop{z-index:30;background:#111f2b59;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.event-editor{background:#fff;border-radius:10px;width:min(420px,100%);padding:22px;box-shadow:0 20px 60px #101e2b38}.editor-head{justify-content:space-between;align-items:flex-start;margin-bottom:18px;display:flex}.editor-head span{font:9px var(--font-mono);color:#ff6b4a;letter-spacing:.1em}.editor-head h3{margin:6px 0 0;font-size:20px}.editor-head button{background:#eef2f4;border:0;border-radius:50%;width:28px;height:28px;padding:0;font-size:18px}.event-editor label{color:#71808a;margin-top:12px;font-size:10px;font-weight:700;display:block}.event-editor input,.event-editor select{color:#233944;background:#fff;border:1px solid #d8e1e6;border-radius:5px;width:100%;margin-top:5px;padding:9px;font-size:12px;display:block}.editor-actions{justify-content:flex-end;gap:7px;margin-top:20px;display:flex}.drawer-backdrop{z-index:20;background:#101e2b47;border:0;position:fixed;inset:0}.detail-drawer{z-index:21;color:#1b2a3a;background:#fff;width:min(420px,100vw);padding:28px;position:fixed;top:0;bottom:0;right:0;box-shadow:-12px 0 30px #101e2b24}.drawer-head{border-bottom:1px solid #e5eaed;justify-content:space-between;gap:16px;padding-bottom:22px;display:flex}.drawer-head span{font:9px var(--font-mono);color:#ff6b4a;letter-spacing:.12em}.drawer-head button{color:#65747e;background:#eef2f4;border:0;border-radius:50%;width:32px;height:32px;font-size:20px}.drawer-status{color:#327653;background:#f2f7f5;border-radius:6px;margin:22px 0;padding:12px 14px;font-size:11px}.drawer-status i{background:#39a66b;border-radius:50%;width:7px;height:7px;margin-right:7px;display:inline-block}.drawer-detail{color:#667580;font-size:13px;line-height:1.8}.message-preview{background:#f4f7f8;border:1px solid #e2e8eb;border-radius:8px;margin-top:24px;padding:16px}.message-preview span{font:9px var(--font-mono);color:#89969e;letter-spacing:.1em}.message-preview p{margin:12px 0;font-size:12px;line-height:1.7}.message-preview small{color:#89969e;font-size:10px}.drawer-actions{gap:8px;margin-top:30px;display:flex}.drawer-actions button{flex:1}.drawer-success{color:#327653;background:#edf8f1;border-radius:6px;margin-top:16px;padding:12px;font-size:11px}.queue,.stop-row{cursor:pointer;text-align:left;width:100%;font-family:inherit}.queue:hover,.stop-row:hover{background:#f6f9fa}@media (max-width:760px){.detail-drawer{border-radius:16px 16px 0 0;min-height:55vh;padding:24px;top:auto}}.schedule-toolbar{justify-content:space-between;align-items:center;gap:16px;margin:30px 0 14px;display:flex}.month-nav{align-items:center;gap:16px;display:flex}.month-nav button{color:#657680;background:#fff;border:1px solid #dbe3e8;border-radius:6px;width:32px;height:32px;font-size:18px}.month-nav strong{letter-spacing:-.05em;font-size:16px}.schedule-actions{gap:8px;display:flex}.schedule-calendar{background:#fff;border:1px solid #dfe6ea;border-radius:8px;overflow:auto}.calendar-head,.calendar-body{grid-template-columns:64px repeat(7,minmax(105px,1fr));min-width:800px;display:grid}.calendar-head{background:#f7f9fa;border-bottom:1px solid #e2e8eb}.calendar-head>*{color:#87949d;font:10px var(--font-mono);border-left:1px solid #edf0f2;padding:14px 9px}.calendar-head strong{text-align:center}.calendar-head .today{color:#315f86;background:#edf4f8}.calendar-body{min-height:270px}.calendar-week-label{color:#9aa6ad;font:9px var(--font-mono);padding:20px 10px}.calendar-day{border-left:1px solid #edf0f2;flex-direction:column;gap:7px;min-height:270px;padding:10px 7px;display:flex}.calendar-event{text-align:left;cursor:pointer;color:#1b2a3a;background:#edf4f8;border:0;border-left:3px solid #315f86;border-radius:4px;padding:9px 8px}.calendar-event b,.calendar-event strong,.calendar-event small{display:block}.calendar-event b{font:9px var(--font-mono);color:#315f86}.calendar-event strong{margin:5px 0;font-size:10px;line-height:1.35}.calendar-event small{color:#7f8d96;font-size:9px}.calendar-event.orange{background:#fff1ed;border-color:#ff6b4a}.calendar-event.orange b{color:#d85f43}.calendar-event.green{background:#edf8f2;border-color:#329366}.calendar-event.green b{color:#329366}.calendar-event.purple{background:#f1effa;border-color:#7d6ac3}.calendar-event.purple b{color:#715bb8}.day-count{color:#87949d;padding:5px;font-size:9px}.schedule-bottom{grid-template-columns:1.25fr .75fr;gap:16px;margin-top:16px;display:grid}.time-row{border-top:1px solid #edf0f2;grid-template-columns:58px 1fr 140px;align-items:center;gap:10px;padding:14px 0;font-size:11px;display:grid}.time-row>b{font:10px var(--font-mono);color:#315f86}.time-row span{color:#8b979f;text-align:right;font-size:10px}.time-row.active{border-left:3px solid #ff6b4a;padding-left:10px}.schedule-summary{border-top:1px solid #edf0f2;align-items:baseline;gap:12px;padding:14px 0;display:flex}.schedule-summary strong{font:700 25px var(--font-mono);color:#315f86}.schedule-summary span{color:#7e8b94;font-size:11px}.schedule-summary.warning strong{color:#ff6b4a}@media (max-width:760px){.schedule-toolbar{display:block}.schedule-actions{margin-top:16px}.schedule-bottom{grid-template-columns:1fr}.time-row{grid-template-columns:55px 1fr}.time-row span{text-align:left;grid-column:2}.calendar-head,.calendar-body{grid-template-columns:52px repeat(7,minmax(90px,1fr))}}.monthly-calendar{background:#fff;border:1px solid #dfe6ea;border-radius:8px;margin:28px 0 16px;padding:20px}.monthly-head{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.monthly-head span{font:9px var(--font-mono);letter-spacing:.12em;color:#9aa6af}.monthly-head h3{letter-spacing:-.07em;margin:7px 0 0;font-size:22px}.month-weekdays,.month-grid{grid-template-columns:repeat(7,1fr);display:grid}.month-weekdays{border-top:1px solid #edf0f2;border-bottom:1px solid #edf0f2}.month-weekdays b{color:#89969f;font:10px var(--font-mono);text-align:right;padding:11px 8px}.month-weekdays b:first-child{color:#d8755b}.month-grid{border-left:1px solid #edf0f2}.month-cell{border-bottom:1px solid #edf0f2;border-right:1px solid #edf0f2;flex-direction:column;gap:4px;min-height:108px;padding:8px;display:flex}.month-cell>strong{font:11px var(--font-mono);color:#657580;text-align:right}.month-cell:first-child>strong,.month-cell:nth-child(8)>strong{color:#d8755b}.selected-day{background:#f2f7fa;box-shadow:inset 0 3px #315f86}.month-event{text-align:left;cursor:pointer;background:#edf4f8;border:0;border-left:3px solid #315f86;border-radius:3px;width:100%;padding:5px 6px;display:block}.month-event b,.month-event span{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.month-event b{font:8px var(--font-mono);color:#315f86}.month-event span{color:#1b2a3a;margin-top:3px;font-size:9px}.month-event.orange{background:#fff1ed;border-color:#ff6b4a}.month-event.orange b{color:#d85f43}.month-event.green{background:#edf8f2;border-color:#329366}.month-event.green b{color:#329366}.month-event.purple{background:#f1effa;border-color:#7d6ac3}.month-event.purple b{color:#715bb8}.weekly-fallback{background:#fff;border:1px solid #dfe6ea;border-radius:8px;margin:0 0 16px;padding:14px 18px}.weekly-fallback summary{cursor:pointer;color:#315f86;font-size:11px;font-weight:700}.weekly-fallback .schedule-calendar{border:0;margin-top:14px}@media (max-width:760px){.monthly-calendar{padding:14px;overflow:auto}.monthly-head,.month-weekdays,.month-grid{min-width:620px}.month-cell{min-height:90px;padding:6px}.month-event span{font-size:8px}.schedule-toolbar{display:none}}.calendar-note{color:#87949d;margin:7px 0 0;font-size:11px}.month-event small{font:9px var(--font-mono);color:#7f8d96;margin-top:3px;display:block}.session-overview{grid-template-columns:repeat(3,1fr);gap:12px;margin:0 0 16px;display:grid}.session-overview>div{background:#fff;border:1px solid #dfe6ea;border-radius:8px;padding:16px 18px}.session-overview span,.session-overview small{color:#87949d;font-size:10px;display:block}.session-overview strong{font:700 21px var(--font-mono);letter-spacing:-.06em;color:#315f86;margin:8px 0 5px;display:block}.session-overview .warning-text{color:#ff6b4a}@media (max-width:760px){.session-overview{grid-template-columns:1fr}.monthly-head{flex-direction:column;align-items:flex-start;gap:14px}}.work-layout{grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:16px;display:grid}.work-filter{gap:6px;margin:20px 0 12px;display:flex}.work-filter button{color:#7c8992;background:#fff;border:1px solid #dce4e8;border-radius:5px;padding:8px 11px;font-size:10px}.work-filter .filter-on{color:#fff;background:#315f86;border-color:#315f86}.work-filter input{border:1px solid #dce4e8;border-radius:5px;width:120px;margin-left:auto;padding:8px 10px;font-size:10px}.work-table{overflow:auto}.work-table-head,.work-row{grid-template-columns:repeat(5,minmax(90px,1fr));align-items:center;gap:10px;min-width:520px;display:grid}.work-table-head{color:#9aa6af;font:9px var(--font-mono);border-bottom:1px solid #edf0f2;padding:10px 0}.work-row{text-align:left;color:#32424e;cursor:pointer;background:#fff;border:0;border-bottom:1px solid #edf0f2;width:100%;padding:15px 0;font-size:11px}.work-row:hover{background:#f5f8fa}.work-row span:last-child{color:#315f86}.status-chip{font-size:10px;font-weight:700}.side-summary{border-bottom:1px solid #edf0f2;padding:22px 0}.side-summary strong{letter-spacing:-.05em;font-size:18px}.side-summary p{color:#84919a;margin:10px 0 18px;font-size:11px;line-height:1.6}.mini-bars{align-items:end;gap:8px;height:115px;padding-top:20px;display:flex}.mini-bars i{background:#d7e5eb;border-radius:3px 3px 0 0;flex:1;min-height:8px}.mini-bars i:nth-child(6),.mini-bars i:nth-child(7){background:#315f86}@media (max-width:760px){.work-layout{grid-template-columns:1fr}.work-filter input{width:90px}}.sheet-toolbar{justify-content:space-between;align-items:flex-end;gap:18px;margin:26px 0 12px;display:flex}.sheet-toolbar>div>span{font:10px var(--font-mono);color:#315f86;letter-spacing:.1em}.sheet-toolbar p{color:#7e8b94;margin:8px 0 0;font-size:11px}.sheet-actions{gap:6px;display:flex}.sheet-legend{color:#7e8b94;flex-wrap:wrap;align-items:center;gap:16px;margin:12px 0;font-size:10px;display:flex}.sheet-legend span{align-items:center;gap:6px;display:inline-flex}.sheet-legend strong{color:#315f86;margin-left:auto;font-size:10px}.legend-lesson,.legend-off,.legend-academy{border-radius:2px;width:12px;height:12px;display:inline-block}.legend-lesson.oneone{background:#dcecf4;border-left:3px solid #315f86}.legend-lesson.onetwo{background:#fff0e5;border-left:3px solid #ff6b4a}.legend-off{background:#e7e8e9}.legend-academy{background:#e5f4e8;border-left:3px solid #329366}.sheet-scroll{background:#fff;border:1px solid #dfe6ea;border-radius:8px;overflow:visible}.ops-sheet{grid-template-columns:clamp(112px,14%,150px) repeat(7,minmax(0,1fr));width:100%;min-width:0;display:grid}.fixed-view .sheet-cell,.fixed-view .sheet-row-label{min-width:0}.sheet-corner,.sheet-date,.sheet-row-label,.sheet-cell,.sheet-span{border-bottom:1px solid #dfe6ea;border-right:1px solid #dfe6ea}.sheet-corner{color:#61717c;background:#edf2f4;padding:16px 12px;font-size:10px;font-weight:800}.sheet-date{text-align:center;background:#f9eecb;height:58px;padding:8px 12px}.sheet-date b{color:#6a737a;font:10px var(--font-mono);display:block}.sheet-date strong{font:18px var(--font-mono);margin-top:5px;display:block}.sheet-date.current{color:#315f86;background:#dcecf4}.sheet-row-label{background:#f5f7f8;flex-direction:column;justify-content:center;min-height:52px;padding:8px 9px;display:flex;overflow:hidden}.sheet-row-label strong{white-space:nowrap;font-size:10px}.instructor-이상혁{background:#efb0b5}.instructor-정준길{background:#f6d879}.instructor-배서윤{background:#a8d18f}.instructor-장준용{background:#e49136}.instructor-이건명{background:#f3f3e8}.instructor-양승수{background:#d9edf2}.sheet-row-label small{white-space:nowrap;margin-top:3px;font-size:8px}.ops-sheet>.sheet-row-label:nth-of-type(9n+1){background:#efb0b5}.ops-sheet>.sheet-row-label:nth-of-type(9n+2){background:#f6d879}.ops-sheet>.sheet-row-label:nth-of-type(9n+3){background:#a8d18f}.ops-sheet>.sheet-row-label:nth-of-type(9n+4){background:#e49136}.ops-sheet>.sheet-row-label:nth-of-type(9n+5){background:#f3f3e8}.ops-sheet>.sheet-row-label:nth-of-type(9n+6){background:#d9edf2}.sheet-event{min-height:42px;padding:5px;font-size:8px;line-height:1.2;overflow:hidden}.sheet-event span{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.sheet-event em{margin-top:3px;font-size:9px}.sheet-corner{padding:11px 8px;font-size:9px}.sheet-date{height:42px;padding:5px 7px}.sheet-date strong{margin-top:2px;font-size:13px}.sheet-row-label strong{font-size:12px;display:block}.sheet-row-label small{color:#8b98a1;margin-top:5px;font-size:9px;display:block}.academy-row{background:#e6e6e6}.sheet-span{color:#50616d;background:#eee;grid-column:2/-1;min-height:44px;padding:12px;font-size:11px}.sheet-academy-event{background:#e3f2e5;border-left:3px solid #329366}.sheet-cell{background:#fff;min-height:74px;padding:7px}.sheet-cell:nth-child(8n+1){background:#fafbfb}.sheet-event{color:#1d3544;text-align:left;cursor:pointer;background:#e0eff6;border:0;border-left:4px solid #315f86;border-radius:4px;flex-direction:column;align-items:flex-start;width:100%;min-height:57px;padding:8px;font-size:10px;line-height:1.35;display:flex}.sheet-event span{font-weight:800}.sheet-event em{font:800 11px var(--font-mono);color:#315f86;margin-top:6px;font-style:normal}.sheet-event.onetwo{background:#fff0e5;border-color:#ff6b4a}.sheet-event.onetwo em{color:#d85f43}.sheet-event.off{color:#68737a;background:#e5e6e7;border-color:#969ca0}.sheet-event.off em{color:#68737a}.sheet-event.personal{color:#2e6941;background:#e6f4e9;border-color:#329366}.sheet-event.personal em{color:#329366}.sheet-summary{grid-template-columns:repeat(4,1fr);gap:10px;margin-top:14px;display:grid}.sheet-summary>div{background:#fff;border:1px solid #dfe6ea;border-radius:7px;padding:14px}.sheet-summary span,.sheet-summary small{color:#87949d;font-size:10px;display:block}.sheet-summary strong{color:#315f86;font:700 20px var(--font-mono);margin:7px 0 4px;display:block}.sheet-summary .warning-text{color:#ff6b4a}@media (max-width:760px){.sheet-toolbar{display:block}.sheet-actions{margin-top:14px}.sheet-legend{gap:10px}.sheet-legend strong{width:100%;margin-left:0}.sheet-summary{grid-template-columns:1fr 1fr}.ops-sheet{grid-template-columns:1fr;min-width:0}.sheet-corner,.sheet-date,.sheet-span{display:none}.sheet-row-label{border-top:1px solid #dfe6ea}.sheet-cell{min-height:44px}.sheet-cell:empty{display:none}}.calendar-toolbar{justify-content:space-between;align-items:end;gap:16px;margin:24px 0 12px;display:flex}.calendar-toolbar>div:first-child strong{letter-spacing:-.07em;font-size:22px;display:block}.calendar-toolbar>div:first-child span{color:#87949d;margin-top:6px;font-size:10px;display:block}.calendar-toolbar>div:last-child{gap:6px;display:flex}.calendar-legend{color:#6f7d86;flex-wrap:wrap;align-items:center;gap:14px;margin:10px 0;font-size:10px;display:flex}.calendar-legend span{align-items:center;gap:5px;display:flex}.calendar-legend b{color:#315f86;margin-left:auto;font-size:10px}.cal-dot{border-radius:2px;width:10px;height:10px;display:inline-block}.cal-dot.lesson-one{background:#dcecf4;border-left:3px solid #315f86}.cal-dot.lesson-two{background:#fff0e5;border-left:3px solid #ff6b4a}.cal-dot.off{background:#d9dde0}.cal-dot.shuttle{background:#dff2e4;border-left:3px solid #329366}.week-sheet{background:#fff;border:1px solid #dfe6ea;border-radius:7px;margin:12px 0;overflow:hidden}.week-sheet-title{background:#f4f6f7;border-bottom:1px solid #dfe6ea;justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.week-sheet-title strong{font-size:12px}.week-sheet-title span{color:#89969f;font-size:9px}.week-grid{width:100%;display:grid}.week-corner,.week-day,.instructor-label,.calendar-slot{border-bottom:1px solid #dfe6ea;border-right:1px solid #dfe6ea}.week-corner{color:#5f707b;background:#e9edef;padding:10px;font-size:10px;font-weight:800}.week-day{text-align:center;background:#f9eecb;height:42px;padding:5px}.week-day small{color:#6e7a82;font:9px var(--font-mono);display:block}.week-day strong{font:14px var(--font-mono);margin-top:3px;display:block}.week-day.current{color:#315f86;background:#dcecf4}.instructor-label{background:#efb0b5;flex-direction:column;justify-content:center;min-height:57px;padding:8px 9px;display:flex}.instructor-label strong{white-space:nowrap;font-size:10px}.instructor-label small{color:#52636d;margin-top:3px;font-size:8px}.instructor-label.instructor-정준길{background:#f6d879}.instructor-label.instructor-배서윤{background:#a8d18f}.instructor-label.instructor-장준용{background:#e49136}.instructor-label.instructor-이건명{background:#f3f3e8}.instructor-label.instructor-양승수{background:#d9edf2}.calendar-slot{background:#fff;align-items:stretch;min-height:57px;padding:4px;display:flex}.calendar-slot:nth-child(8n+1){background:#f7f7f7}.calendar-lesson{color:#1d3544;text-align:left;cursor:pointer;background:#dcecf4;border:0;border-left:3px solid #315f86;border-radius:3px;grid-template-rows:auto auto;grid-template-columns:1fr auto;column-gap:4px;width:100%;padding:5px;display:grid}.calendar-lesson strong{white-space:nowrap;text-overflow:ellipsis;font-size:8px;line-height:1.2;overflow:hidden}.calendar-lesson em{font:800 9px var(--font-mono);color:#315f86;font-style:normal}.calendar-lesson small{font:8px var(--font-mono);color:#647780;grid-column:1/-1;margin-top:3px}.calendar-lesson.pair{background:#fff0e5;border-color:#ff6b4a}.calendar-lesson.pair em{color:#d85f43}.slot-empty{color:#c3cbd0;font:9px var(--font-mono);margin:auto}.calendar-month-summary{grid-template-columns:repeat(4,1fr);gap:10px;margin-top:14px;display:grid}.calendar-month-summary .metric{padding:14px}.calendar-month-summary .metric strong{font-size:18px}@media (max-width:760px){.calendar-toolbar{display:block}.calendar-toolbar>div:last-child{margin-top:12px}.calendar-legend b{width:100%;margin-left:0}.week-grid{grid-template-columns:90px repeat(7,minmax(0,1fr))!important}.week-sheet-title{padding:9px}.week-sheet-title span{display:none}.calendar-month-summary{grid-template-columns:1fr 1fr}}.calendar-mode-switch{align-items:center;gap:4px;display:flex}.calendar-mode-switch.inline{margin-top:10px}.calendar-mode-switch button{padding:7px 10px;font-size:10px}.month-ops-head{justify-content:space-between;align-items:center;margin:18px 0 10px;display:flex}.month-ops-head>div:first-child>strong{letter-spacing:-.07em;font-size:22px}.month-ops-head>div:first-child{flex-direction:column;align-items:flex-start;display:flex}.month-ops-head>div{gap:6px;display:flex}.month-ops-legend{color:#72808a;align-items:center;gap:14px;margin:0 0 10px;font-size:10px;display:flex}.month-ops-legend span{align-items:center;gap:5px;display:flex}.mo-dot{border-radius:3px;width:9px;height:9px;display:inline-block}.mo-dot.one{background:#d9e7ee}.mo-dot.two{background:#f0ddd5}.mo-dot.shuttle{background:#b9ded1}.mo-dot.off{background:#e5e8e9}.month-ops-scroll{background:#fff;border:1px solid #dbe2e6;border-radius:7px;overflow-x:auto}.month-ops-grid{grid-template-columns:104px repeat(30,minmax(48px,1fr));min-width:1544px;display:grid}.mo-corner,.mo-date,.mo-instructor,.mo-slot{border-bottom:1px solid #e3e8ea;border-right:1px solid #e3e8ea}.mo-corner{color:#60717b;z-index:2;background:#eef2f3;padding:9px 8px;font-size:9px;position:sticky;left:0}.mo-date{text-align:center;background:#f3f5f5;height:42px;padding:5px 2px}.mo-date small{font:8px var(--font-mono);color:#87949d;display:block}.mo-date b{font:12px var(--font-mono);color:#334650;margin-top:3px;display:block}.mo-date.today{background:#dcebe8}.mo-date.today b{color:#247461}.mo-instructor{z-index:1;flex-direction:column;justify-content:center;height:53px;padding:8px 7px;display:flex;position:sticky;left:0}.mo-instructor strong{white-space:nowrap;font-size:10px}.mo-instructor small{color:#61727b;margin-top:3px;font-size:8px}.mo-instructor.instructor-이상혁{background:#e5b8bd}.mo-instructor.instructor-정준길{background:#e8d18f}.mo-instructor.instructor-배서윤{background:#b9d5ad}.mo-instructor.instructor-장준용{background:#d9aa78}.mo-instructor.instructor-이건명{background:#d8d9d2}.mo-instructor.instructor-양승수{background:#b7d2d5}.mo-slot{background:#fff;height:53px;padding:3px}.mo-slot>span{text-align:center;color:#c9d2d5;font:9px var(--font-mono);padding-top:16px;display:block}.mo-lesson{color:#294350;text-align:left;cursor:pointer;background:#e9f1f4;border:0;border-left:3px solid #527d94;border-radius:3px;width:100%;height:100%;padding:4px;overflow:hidden}.mo-lesson b,.mo-lesson em,.mo-lesson small{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.mo-lesson b{font-size:8px;line-height:1.15}.mo-lesson em{font:800 9px var(--font-mono);color:#3e7189;margin-top:3px;font-style:normal}.mo-lesson small{font:8px var(--font-mono);color:#687f88;margin-top:2px}.mo-lesson.pair{background:#f5e8e3;border-color:#c27766}.mo-lesson.pair em{color:#a95b4b}.mo-slot:nth-child(7n+1){background:#fafbfb}@media (max-width:760px){.month-ops-head{display:block}.month-ops-head>div{margin-top:10px}.month-ops-legend{flex-wrap:wrap}.month-ops-grid{grid-template-columns:94px repeat(30,minmax(43px,1fr));min-width:1384px}}.monthly-switch{justify-content:flex-end;margin:8px 0}.calendar-month-header{justify-content:center;align-items:center;gap:22px;margin:12px 0;display:flex}.calendar-month-header h2{letter-spacing:-.05em;font-size:20px}.monthly-instructor-calendar{background:#fff;border:1px solid #d9e0e3;margin-left:104px;position:relative}.monthly-instructor-calendar:before{content:"이상혁\a 정준길\a 배서윤\a 장준용\a 이건명\a 양승수";white-space:pre;color:#263b45;background:#f5f7f8;border:1px solid #d9e0e3;border-right:0;flex-direction:column;justify-content:flex-start;width:104px;height:calc(100% - 43px);padding-left:10px;font-size:10px;font-weight:700;line-height:53px;display:flex;position:absolute;top:43px;left:-105px}.monthly-weekdays,.monthly-days{grid-template-columns:repeat(7,1fr);display:grid}.monthly-weekdays{border-bottom:2px solid #30434d}.monthly-weekdays strong{text-align:center;padding:10px 5px;font-size:10px}.monthly-weekdays .sun{color:#d45f63}.monthly-day{background:#fff;border-bottom:1px solid #dce3e6;border-right:1px solid #dce3e6;min-height:128px;padding:5px}.monthly-day:nth-child(7n+1){background:#fbfbfb}.monthly-day .day-name{display:none}.monthly-day:not(:nth-child(7n+1)) .day-instructor{grid-template-columns:1fr}.monthly-day.blank{background:#f3f4f4}.monthly-date{font:11px var(--font-mono);color:#334650;margin:1px 3px 4px;display:block}.day-instructors{flex-direction:column;display:flex}.day-instructor{text-align:left;cursor:pointer;background:0 0;border:0;border-top:1px solid #eef1f2;grid-template-columns:46px 1fr;min-height:17px;padding:2px 0;font-size:8px;display:grid}.day-name{color:#263b45;white-space:nowrap;padding:2px 4px;font-weight:700;overflow:hidden}.day-content{white-space:nowrap;text-overflow:ellipsis;color:#8c989e;padding:2px 4px;overflow:hidden}.day-instructor.has-lesson .day-content{color:#314f5e;font-weight:600}.day-instructor.has-lesson .day-name{color:#315f86}.day-instructor:nth-child(2n).has-lesson .day-name{color:#a35b4c}.day-instructor:hover{background:#eef5f5}.spreadsheet-header{background:#f3f5f5;border-bottom:2px solid #34454e;grid-template-columns:105px repeat(7,minmax(0,1fr))}@media (max-width:760px){.monthly-day{min-height:108px;padding:3px}.day-instructor{grid-template-columns:38px 1fr;font-size:7px}.monthly-weekdays strong{font-size:8px}}.spreadsheet-calendar{background:#fff;border:1px solid #d7dee2}.spreadsheet-header,.spreadsheet-dates,.spreadsheet-row{grid-template-columns:105px repeat(7,minmax(0,1fr));display:grid}.spreadsheet-header{background:#f3f5f5;border-bottom:2px solid #34454e}.spreadsheet-header span,.spreadsheet-header b{padding:8px 7px;font-size:10px}.spreadsheet-header b{text-align:center}.spreadsheet-week{border-bottom:1px solid #cfd8dc}.spreadsheet-dates{background:#fff3c9;border-bottom:1px solid #d8dee0}.spreadsheet-dates span,.spreadsheet-dates b{font:10px var(--font-mono);padding:6px 7px}.spreadsheet-row{min-height:28px}.spreadsheet-name,.spreadsheet-cell{border-bottom:1px solid #e9edef;border-right:1px solid #dfe5e7}.spreadsheet-name{padding:5px 7px;font-size:10px}.spreadsheet-cell{text-align:left;white-space:nowrap;text-overflow:ellipsis;color:#304650;cursor:pointer;background:#fff;border:0;border-right:1px solid #e9edef;padding:4px 6px;font-size:8px;overflow:hidden}.spreadsheet-cell:hover{background:#eef5f4}.spreadsheet-cell.pair{color:#28643c;background:#dff2c8;font-weight:700}.spreadsheet-row:nth-child(3n) .spreadsheet-name{background:#d8e8e5}.spreadsheet-row:nth-child(4n) .spreadsheet-name{background:#e8d8c1}.spreadsheet-row:nth-child(5n) .spreadsheet-name{background:#e4e8eb}.today-date{border-radius:4px;position:relative;color:#fff!important;background:#315f86!important}.today-date:after{content:"오늘";font:700 6px var(--font-sans);margin-top:2px;line-height:1;display:block}.holiday-date{color:#d85f43!important}.lesson-products{max-width:1180px}.product-header,.list-toolbar,.expense-heading,.product-actions{justify-content:space-between;align-items:center;gap:10px;display:flex}.product-header{border-bottom:1px solid #dfe6ea;padding:4px 0 16px}.product-header h1{color:#203b4b;margin:5px 0;font-size:28px}.product-header p{color:#87949d;margin:0;font-size:11px}.product-layout{grid-template-columns:390px 1fr;gap:14px;margin-top:14px;display:grid}.product-form,.product-list{background:#fff;border:1px solid #d9e1e5;border-radius:7px;padding:16px}.product-form h3,.list-toolbar h3{color:#263f4d;margin:0;font-size:14px}.product-form label{color:#71808a;margin-top:10px;font-size:10px;font-weight:700;display:block}.product-form input,.product-form textarea,.list-toolbar input{border:1px solid #d8e1e6;border-radius:4px;width:100%;margin-top:5px;padding:8px;font-size:11px;display:block}.product-form textarea{resize:vertical;min-height:52px}.product-grid{grid-template-columns:1fr 1fr 1fr;gap:7px;display:grid}.product-grid label{min-width:0}.expense-heading{flex-wrap:wrap;margin-top:16px}.expense-heading select{color:#536874;background:#fff;border:1px solid #d8e1e6;border-radius:4px;flex:1;min-width:0;margin:0;padding:5px 6px;font-size:10px}.expense-hint{color:#8b98a2;margin:6px 0 0;font-size:9.5px}.form-error{color:#bd5750;text-align:left;background:#fde7e5;border:1px solid #f4c6c1;border-radius:5px;margin:10px 0 0;padding:8px 10px;font-size:11px;font-weight:600;line-height:1.5}.expense-heading button,.expense-row button,.product-actions button,.product-card button{color:#536874;background:#fff;border:1px solid #d7e0e5;border-radius:4px;padding:6px 8px;font-size:9px}.expense-row{grid-template-columns:1fr 92px 25px;gap:5px;margin-top:6px;display:grid}.expense-row input{margin:0}.expense-row button{padding:0}.margin-summary{color:#71818a;background:#f3f7f7;border-radius:5px;gap:5px;margin-top:14px;padding:10px;font-size:10px;display:grid}.margin-summary span{justify-content:space-between;display:flex}.margin-summary b,.margin-summary strong{color:#263f4d}.margin-summary strong{border-top:1px solid #d9e5e5;padding-top:5px;font-size:12px}.margin-summary small{color:#315f86;font-size:10px}.product-actions{justify-content:flex-end;margin-top:14px}.product-list{min-width:0}.list-toolbar input{max-width:180px;margin:0}.product-card{border-bottom:1px solid #e7edef;grid-template-columns:1.3fr .8fr 1.5fr auto;align-items:center;gap:10px;padding:12px 0;display:grid}.product-card strong{color:#263f4d;font-size:12px}.product-card p,.product-card span{color:#87949d;margin:3px 0 0;font-size:9px}.product-card>b{font:700 12px var(--font-mono);color:#315f86}.product-card>div{gap:4px;display:flex}.product-card button{padding:5px 7px;font-size:8px}@media (max-width:760px){.product-layout{grid-template-columns:1fr}.product-card{grid-template-columns:1fr auto}.product-card span{grid-column:1/-1}.product-header{align-items:flex-start}.product-grid{grid-template-columns:1fr 1fr}.list-toolbar{flex-direction:column;align-items:flex-start}.list-toolbar input{max-width:none}}.staff-manager{max-width:1180px}.staff-header{border-bottom:1px solid #dfe6ea;justify-content:space-between;align-items:flex-end;padding:4px 0 12px;display:flex}.staff-header span,.staff-toolbar span{color:#87949d;font-size:10px}.staff-header h2{color:#203b4b;margin:5px 0 4px;font-size:28px}.staff-header p{color:#87949d;margin:0;font-size:11px}.staff-count{place-items:end;display:grid}.staff-count strong{font:700 24px var(--font-mono);color:#315f86}.staff-count span{margin-top:2px}.staff-layout{grid-template-columns:340px minmax(0,1fr);align-items:start;gap:16px;margin-top:14px;display:grid}.staff-form,.staff-list{background:#fff;border:1px solid #d9e1e5;border-radius:8px;padding:14px;box-shadow:0 1px 2px #182a3a0a}.staff-form{position:sticky;top:16px}.staff-form-head{border-bottom:1px solid #edf1f2;padding-bottom:12px}.staff-form-head h3{font-size:15px}.staff-form input[type=file]{color:#71808a;background:#f7f9f9;padding:7px;font-size:10px}.staff-form small{color:#87949d;white-space:nowrap;text-overflow:ellipsis;margin-top:5px;font-size:9px;display:block;overflow:hidden}.staff-list{min-height:330px}.staff-form-head,.staff-toolbar{justify-content:space-between;align-items:center;gap:8px;display:flex}.staff-form h3,.staff-toolbar h3{color:#263f4d;margin:0;font-size:14px}.staff-form-head button,.staff-card-actions button{color:#84939d;background:0 0;border:0;font-size:9px}.staff-form label{color:#71808a;margin-top:11px;font-size:10px;font-weight:700;display:block}.staff-form input,.staff-form select,.staff-form textarea,.staff-toolbar input,.staff-toolbar select{color:#233944;background:#fff;border:1px solid #d8e1e6;border-radius:4px;width:100%;margin-top:5px;padding:8px;font-size:11px;display:block}.staff-form textarea{resize:vertical;min-height:70px}.staff-grid{grid-template-columns:1fr 1fr;gap:7px;display:grid}.staff-type-picker{gap:5px;margin-top:5px;display:flex}.staff-type-picker button{color:#536874;background:#fff;border:1px solid #d7e0e5;border-radius:4px;padding:6px 8px;font-size:9px}.staff-type-picker button.selected{color:#fff;background:#315f86;border-color:#315f86}.staff-primary{color:#fff;background:#315f86;border:0;border-radius:5px;width:100%;margin-top:16px;padding:10px;font-size:11px;font-weight:700}.staff-toolbar{border-bottom:1px solid #e7edef;padding-bottom:12px}.staff-toolbar>div{min-width:120px}.staff-toolbar input{max-width:190px;margin:0}.staff-toolbar select{width:90px;margin:0}.staff-card{border-bottom:1px solid #e7edef;align-items:center;gap:12px;padding:13px 4px;transition:background .15s;display:flex}.staff-card:hover{background:#f8fbfb}.staff-avatar{color:#315f86;background:#e7f0f2;border-radius:10px;flex:0 0 38px;place-items:center;width:38px;height:38px;font-weight:800;display:grid}.staff-info strong{font-size:13px}.staff-info span{font-size:10px}.staff-card-actions{opacity:.7}.staff-card:hover .staff-card-actions{opacity:1}.staff-info{flex:1;min-width:0}.staff-info strong{color:#263f4d;align-items:center;gap:7px;font-size:12px;display:flex}.staff-info em{color:#bd5750;font-size:8px;font-style:normal}.staff-info em.active{color:#3d7b48}.staff-info span,.staff-info small{color:#87949d;white-space:nowrap;text-overflow:ellipsis;margin-top:3px;font-size:9px;display:block;overflow:hidden}.staff-card-actions{gap:4px;display:flex}.staff-card-actions button{background:#fff;border:1px solid #d7e0e5;border-radius:4px;padding:5px 6px}.staff-empty{text-align:center;color:#9aa7ae;padding:40px;font-size:11px}.staff-detail{background:#fff;border:1px solid #d9e1e5;border-radius:8px;grid-column:1/-1;padding:20px;box-shadow:0 1px 2px #182a3a0a}.staff-detail-meta{border-bottom:1px solid #edf1f2}.staff-note-add textarea:focus,.staff-form input:focus,.staff-form select:focus,.staff-form textarea:focus,.staff-toolbar input:focus,.staff-toolbar select:focus{border-color:#7ca5b8;outline:2px solid #315f8624}.staff-detail-head{border-bottom:1px solid #e7edef;justify-content:space-between;align-items:flex-start;padding-bottom:12px;display:flex}.staff-detail-head span{color:#87949d;font-size:9px}.staff-detail-head h3{color:#263f4d;margin:4px 0;font-size:19px}.staff-detail-head p{color:#87949d;margin:0;font-size:10px}.staff-detail-head button,.staff-note-add button{color:#536874;background:#fff;border:1px solid #d7e0e5;border-radius:4px;padding:7px 10px;font-size:10px}.staff-detail-meta{color:#71808a;flex-wrap:wrap;gap:8px;padding:12px 0;font-size:10px;display:flex}.staff-detail-meta span{background:#f3f7f7;border-radius:4px;padding:6px 8px}.staff-note-add{gap:7px;margin-top:5px;display:flex}.staff-note-add textarea{resize:vertical;border:1px solid #d8e1e6;border-radius:4px;flex:1;min-height:54px;padding:8px;font-size:11px}.staff-note-add button{color:#fff;background:#315f86;border-color:#315f86;align-self:flex-end}.staff-note-history{margin-top:16px}.staff-note-history h4{color:#263f4d;margin:0 0 8px;font-size:12px}.staff-note-history article{background:#f7faf9;border-left:3px solid #b9d6d3;border-radius:0 5px 5px 0;margin-top:7px;padding:8px 10px}.staff-note-history time{color:#87949d;font-size:9px}.staff-note-history p{color:#465b65;margin:5px 0 0;font-size:11px;line-height:1.5}.fee-manager{max-width:1180px}.fee-manager-head{border-bottom:1px solid #dfe6ea;justify-content:space-between;align-items:flex-end;gap:20px;padding:4px 0 14px;display:flex}.fee-manager-head h1{letter-spacing:-.07em;color:#203b4b;margin:5px 0 4px;font-size:28px}.fee-manager-head p{color:#87949d;margin:0;font-size:11px}.fee-actions{gap:7px;display:flex}.fee-actions button,.fee-toolbar button,.fee-row-actions button,.fee-modal-actions button{color:#536874;background:#fff;border:1px solid #d7e0e5;border-radius:5px;padding:8px 11px;font-size:10px;font-weight:700}.fee-primary{color:#fff!important;background:#315f86!important;border-color:#315f86!important}.fee-metrics{grid-template-columns:repeat(4,1fr);gap:9px;margin:10px 0;display:grid}.fee-metrics article{background:#fff;border:1px solid #dfe6ea;border-radius:7px;padding:13px 15px}.fee-metrics span{color:#84939c;font-size:10px;display:block}.fee-metrics strong{color:#253f4d;margin-top:7px;font-size:18px;display:block}.fee-toolbar{align-items:center;gap:5px;margin-bottom:9px;display:flex}.fee-toolbar input{border:1px solid #d7e0e5;border-radius:5px;flex:1;min-width:180px;padding:9px 11px;font-size:11px}.fee-toolbar button.selected{color:#fff;background:#315f86;border-color:#315f86}.fee-table{background:#fff;border:1px solid #d9e1e5;border-radius:7px;overflow:hidden}.fee-row{border-bottom:1px solid #e7edef;grid-template-columns:1.1fr 1.5fr 1fr 1fr .8fr 1.4fr;align-items:center;min-height:38px;padding:6px 0;display:grid}.fee-row>*{min-width:0;padding:8px 11px;font-size:10px}.fee-row-head{color:#71818a;background:#f3f6f7;min-height:34px;font-size:9px;font-weight:700}.fee-row strong{color:#263f4d}.fee-row b{font:700 10px var(--font-mono);color:#263f4d}.fee-status{border-radius:99px;justify-self:start;padding:4px 7px;font-size:9px;font-style:normal}.fee-status.미납{color:#b47511;background:#fff2d9}.fee-status.완납{color:#3d7b48;background:#e7f4df}.fee-status.환불{color:#bd5750;background:#fde7e5}.fee-row-actions{gap:3px;display:flex}.fee-row-actions button{padding:5px 6px;font-size:8px}.fee-empty{text-align:center;color:#9aa7ae;padding:42px;font-size:11px}.fee-modal-backdrop{z-index:40;background:#111f2b61;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.fee-modal{background:#fff;border-radius:9px;width:min(430px,100%);max-height:90vh;padding:22px;overflow:auto;box-shadow:0 20px 60px #101e2b38}.fee-modal-head{justify-content:space-between;align-items:flex-start;margin-bottom:15px;display:flex}.fee-modal-head h2{color:#243e4d;margin:5px 0 0;font-size:21px}.fee-modal-head>button{background:#eef2f4;border:0;border-radius:50%;width:27px;height:27px;font-size:18px}.fee-modal label{color:#71808a;margin-top:11px;font-size:10px;font-weight:700;display:block}.fee-modal input,.fee-modal select,.fee-modal textarea{color:#233944;background:#fff;border:1px solid #d8e1e6;border-radius:5px;width:100%;margin-top:5px;padding:9px;font-size:12px;display:block}.fee-modal textarea{resize:vertical;min-height:66px}.fee-form-grid{grid-template-columns:1fr 1fr;gap:9px;display:grid}.fee-modal-actions{justify-content:flex-end;gap:6px;margin-top:18px;display:flex}.fee-modal-actions button{padding:8px 13px}@media (max-width:760px){.staff-layout{grid-template-columns:minmax(0,1fr)}.staff-grid,.fee-form-grid{grid-template-columns:1fr}.staff-form{position:static}.staff-header{align-items:flex-start;gap:12px}.staff-count{place-items:start}.staff-detail{padding:15px}.staff-note-add{flex-direction:column}.staff-note-add button{align-self:stretch}}@media (max-width:640px){.map-card-heading{flex-direction:column}.map-distance{white-space:normal}.map-legend{flex-wrap:wrap;gap:10px}.topbar{height:64px;padding:0 18px}.topbar-meta{gap:8px;font-size:0}.content-wrap{padding:0 18px 48px}.dashboard,.shuttle-page{padding-top:32px}.page-heading{flex-direction:column;align-items:flex-start}.page-heading .outline-button{justify-content:center;width:100%}.attention-banner{flex-wrap:wrap;align-items:flex-start}.attention-banner button{margin-left:52px}.section-heading{align-items:flex-end}.muted{margin:7px 0 0;display:block}.summary-grid{grid-template-columns:1fr}.shuttle-heading{align-items:flex-start}.boarding-board{padding:22px 16px 0}.rider-row{flex-wrap:wrap;gap:8px;padding:13px 0}.rider-info{min-width:calc(100% - 82px)}.rider-order{width:16px}.time-input{margin-left:39px}.board-footer{flex-direction:column;align-items:flex-start;gap:10px}.shuttle-actions{flex-direction:column-reverse}.shuttle-actions button{justify-content:center;width:100%}}.admin-app{letter-spacing:-.01em;-webkit-font-smoothing:antialiased;font-family:Pretendard Variable,Pretendard,system-ui,Apple SD Gothic Neo,Malgun Gothic,sans-serif;font-size:13px;line-height:1.45}.admin-app h1,.admin-app h2,.admin-app h3,.admin-app h4{color:#1b2a3a;font-weight:700}.admin-app strong,.admin-app b{font-variant-numeric:tabular-nums}.admin-sidebar{flex-basis:200px;width:200px;padding:16px 10px}.admin-brand{padding:2px 8px 18px}.admin-brand strong{letter-spacing:-.01em;font-size:13px;font-weight:700}.admin-brand small{font:500 10px var(--font-sans);letter-spacing:.06em;color:#8b98a2;margin-top:2px}.admin-sidebar nav{gap:2px}.admin-sidebar nav a{color:#5e6e7b;border-radius:6px;padding:7px 10px;font-size:13px;font-weight:500}.admin-sidebar nav a.active,.admin-sidebar nav a:hover{color:#1b2a3a;background:#edf2f5;font-weight:600}.admin-sidebar nav a.active{box-shadow:inset 3px 0 #315f86}.admin-user{padding:14px 8px 0;font-size:12px;font-weight:600}.admin-user small{color:#8b98a2;margin-top:2px;font-size:11px;font-weight:400}.admin-topbar{height:52px;padding:0 24px}.admin-topbar span{font:500 10.5px var(--font-sans);letter-spacing:.04em;color:#8b98a2}.admin-topbar h1{letter-spacing:-.01em;margin:2px 0 0;font-size:15px;font-weight:600}.admin-top-actions{font-size:12px;font-weight:500}.admin-top-actions button{margin-left:14px;padding:6px 0 6px 14px;font-weight:500}.admin-body{padding:18px 24px 32px}.admin-title,.fee-manager-head,.staff-header,.product-header{word-break:keep-all;overflow-wrap:break-word;border-bottom:1px solid #dfe6ea;align-items:flex-end;margin-bottom:16px;padding:0 0 14px}.admin-title>div>span,.fee-manager-head .eyebrow,.staff-header span,.product-header span{font:600 11px var(--font-sans);letter-spacing:.04em;color:#7d8a94;text-transform:uppercase;margin:0;display:block}.admin-title h2,.fee-manager-head h1,.staff-header h2,.product-header h1{letter-spacing:-.02em;color:#1b2a3a;margin:3px 0 4px;font-size:22px;font-weight:700;line-height:1.25}.admin-title p,.fee-manager-head p,.staff-header p,.product-header p{color:#6f7d88;margin:0;font-size:13px}.admin-light,.admin-blue,.fee-actions button,.fee-toolbar button,.staff-detail-head button,.staff-note-add button{border-radius:6px;padding:7px 12px;font-size:12px;font-weight:600}.fee-row-actions button,.staff-card-actions button,.product-card button,.expense-heading button,.product-actions button{border-radius:5px;padding:4px 8px;font-size:11px;font-weight:500}.metrics{gap:10px;margin:0 0 14px}.metric{padding:12px 14px 13px}.metric>span{letter-spacing:0;color:#6f7d88;font-size:11.5px;font-weight:500}.metric strong{font:700 22px var(--font-sans);letter-spacing:-.02em;font-variant-numeric:tabular-nums;margin:4px 0 2px;line-height:1.2}.metric small{color:#8b98a2;font-size:11px}.fee-metrics{gap:10px;margin:0 0 12px}.fee-metrics article{padding:12px 14px 13px}.fee-metrics span{color:#6f7d88;font-size:11.5px;font-weight:500}.fee-metrics strong{letter-spacing:-.02em;margin-top:4px;font-size:22px;line-height:1.2}.data-panel{padding:14px 16px 16px}.panel-head>div>span{font:600 11px var(--font-sans);letter-spacing:.04em;color:#7d8a94;text-transform:uppercase}.panel-head h3{letter-spacing:-.01em;margin:3px 0 0;font-size:15px;font-weight:600}.queue,.admin-queue{margin-top:10px;padding:12px 0;font-size:13px}.queue small,.admin-queue small{font-size:11.5px}.staff-form,.staff-list,.product-form,.product-list{padding:14px 16px}.staff-form h3,.staff-toolbar h3,.product-form h3,.list-toolbar h3{letter-spacing:-.01em;font-size:15px;font-weight:600}.staff-form-head,.staff-toolbar{padding-bottom:10px}.staff-header span,.staff-toolbar span{font-size:11px}.staff-toolbar span{text-transform:none;letter-spacing:0;color:#8b98a2;font-weight:400}.staff-count strong{font:700 22px var(--font-sans);letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:#315f86}.staff-count span{text-transform:none;letter-spacing:0;font-size:11px;font-weight:500}.staff-form label,.fee-modal label,.product-form label{color:#5e6e7b;margin-top:10px;font-size:11.5px;font-weight:600}.staff-form input,.staff-form select,.staff-form textarea,.staff-toolbar input,.staff-toolbar select,.product-form input,.product-form textarea,.list-toolbar input,.fee-toolbar input,.fee-modal input,.fee-modal select,.fee-modal textarea{border-radius:5px;margin-top:4px;padding:7px 10px;font-size:13px}.staff-primary{padding:9px;font-size:13px}.staff-card{gap:12px;padding:10px 4px}.staff-avatar{flex-basis:36px;width:36px;height:36px;font-size:14px}.staff-info strong{font-size:13px;font-weight:600}.staff-info em{font-size:10px;font-weight:600}.staff-info span,.staff-info small{margin-top:2px;font-size:11.5px}.fee-toolbar{gap:6px;margin-bottom:10px}.fee-row{min-height:36px;padding:0}.fee-row>*{padding:6px 12px;font-size:12.5px}.fee-row-head{color:#6f7d88;letter-spacing:.01em;background:#f6f8f9;min-height:32px;font-size:11px;font-weight:600}.fee-row strong{font-size:13px;font-weight:600}.fee-row b{font:600 12.5px var(--font-sans);font-variant-numeric:tabular-nums}.fee-status{padding:3px 8px;font-size:11px;font-weight:600}.fee-empty,.staff-empty{padding:36px;font-size:13px}.product-card{padding:10px 0}.product-card strong{font-size:13px;font-weight:600}.product-card p,.product-card span{font-size:11.5px}.product-card>b{font:600 13px var(--font-sans);font-variant-numeric:tabular-nums;color:#315f86}.work-table-head{font:600 11px var(--font-sans);letter-spacing:.02em;padding:8px 0}.work-row{padding:11px 0;font-size:12.5px}.work-filter button,.work-filter input{font-size:12px}.detail-drawer{padding:24px}.drawer-head span{font:600 11px var(--font-sans);letter-spacing:.04em}.drawer-head h2{letter-spacing:-.02em;margin:4px 0 0;font-size:20px}.drawer-detail{font-size:13.5px;line-height:1.7}.fee-modal-head h2{letter-spacing:-.02em;font-size:18px}@media (max-width:760px){.admin-topbar{height:50px;padding:0 16px}.admin-body{padding:14px 16px 28px}.admin-title h2,.fee-manager-head h1,.staff-header h2,.product-header h1{font-size:20px}.staff-header,.product-header{align-items:flex-start}.fee-manager-head{display:block}.fee-actions{margin-top:10px}.fee-toolbar{flex-wrap:wrap}.fee-toolbar input{flex:1 0 100%;min-width:0}.fee-toolbar button{word-break:keep-all}.fee-table{overflow-x:auto}.fee-row{word-break:keep-all;min-width:660px}.metric{padding:11px 12px}.metric strong{font-size:18px}.fee-metrics{grid-template-columns:repeat(2,1fr)}.fee-metrics article{padding:11px 12px}.fee-metrics strong{font-size:18px}}.session-stack{flex-direction:column;min-width:0;display:flex;overflow:hidden}.session-stack>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;display:block;overflow:hidden}.editor-scroll{align-items:start;overflow-y:auto}.time-field{gap:6px;margin-top:5px;display:flex}.time-field select{flex:1;width:auto;margin-top:0}.kr-note{word-break:keep-all;overflow-wrap:break-word}.receipt{gap:12px;display:grid}.receipt-kv{grid-template-columns:auto 1fr;align-items:baseline;gap:4px 12px;display:grid}.receipt-kv>*,.receipt-line>*,.receipt-total>*{word-break:keep-all;overflow-wrap:break-word;min-width:0}.receipt-lines{gap:6px;display:grid}.receipt-line{grid-template-columns:1fr auto;align-items:baseline;gap:12px;display:grid}.receipt-line small{display:block}.receipt-total{grid-template-columns:1fr auto;align-items:baseline;gap:12px;display:grid}.fee-status.청구{color:#b47511;background:#fff2d9}.fee-status.부분납{color:#315f86;background:#e9f0f9}.fee-metrics small{color:#84939c;margin-top:4px;font-size:10px;display:block}.shuttle-row{grid-template-columns:52px 1.1fr 2fr 120px 150px}.intake-manager{max-width:940px}.intake-card{background:#fff;border:1px solid #d9e1e5;border-radius:8px;margin-top:12px;padding:14px 16px;box-shadow:0 1px 2px #182a3a0a}.intake-card>h4{color:#5c6f7c;border-bottom:1px solid #eef2f4;margin:18px 0 10px;padding-bottom:8px;font-size:12px;font-weight:700}.intake-card>h4:first-child{margin-top:0}.intake-card label{color:#71808a;margin-top:11px;font-size:10px;font-weight:700;display:block}.intake-card input,.intake-card select,.intake-card textarea{color:#233944;background:#fff;border:1px solid #d8e1e6;border-radius:5px;width:100%;margin-top:5px;padding:9px;font-size:12px;font-weight:400;display:block}.intake-card textarea{resize:vertical;min-height:56px}.intake-card input:focus,.intake-card select:focus,.intake-card textarea:focus{border-color:#7ca5b8;outline:2px solid #315f8624}.intake-card input[type=checkbox]{width:auto;margin:0;display:inline-block}.intake-card .staff-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.intake-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.intake-row>label{min-width:0}.intake-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;display:flex}.intake-head h4{color:#5c6f7c;border:0;margin:0;padding:0;font-size:12px;font-weight:700}.intake-hint{color:#9aa7ae;word-break:keep-all;overflow-wrap:break-word;flex:1;min-width:0;font-size:10px;line-height:1.5}.intake-note{color:#7b8790;text-align:left;word-break:keep-all;overflow-wrap:break-word;margin:6px 0 0;font-size:11px;line-height:1.6}.intake-sub{background:#f7fafb;border:1px solid #e3eaee;border-left:3px solid #9fc0d4;border-radius:0 6px 6px 0;margin:0 0 10px;padding:10px 12px}.intake-actions{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}@media (max-width:760px){.intake-row,.intake-card .staff-grid{grid-template-columns:1fr}.intake-card{padding:12px}}body{word-break:keep-all;overflow-wrap:break-word}.live-actions{flex-wrap:wrap}@media (max-width:760px){.admin-topbar{height:56px;padding:0 16px}.admin-body{padding:20px 16px 44px}.admin-title,.live-head{align-items:flex-start;display:block}.staff-header,.product-header{align-items:flex-start}.finance-grid{grid-template-columns:1fr}.period-tabs{width:100%}.period-tabs button{padding:9px 4px}.ledger-head{grid-template-columns:55px 1fr 95px}.ledger-row>span{width:55px}.ledger-row>b{width:95px}.staff-card{flex-wrap:wrap}.staff-info{flex:100%;order:1}.staff-card-actions{order:2;margin-left:auto}}.notice-row{background:#fff;border:1px solid #e3eaee;border-left:3px solid #d9e1e5;border-radius:0 6px 6px 0;margin-top:9px;padding:11px 13px}.notice-row[data-state=pending]{border-left-color:#315f86}.notice-row[data-state=changed]{background:#fffaf4;border-left-color:#bd7a3c}.notice-row[data-state=blocked]{background:#fdf7f6;border-left-color:#bd5750}.notice-row[data-state=done]{opacity:.85;background:#f8faf8;border-left-color:#9fc0a8}.notice-row[data-state=held]{opacity:.9;background:#f8f9fa;border-left-color:#9aa7ae}.notice-row-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.notice-row-head strong{color:#263f4d;min-width:0;font-size:12.5px;font-weight:700}.notice-badge{color:#5c6f7c;white-space:nowrap;background:#eef2f4;border-radius:10px;padding:3px 9px;font-size:10px;font-weight:700}.notice-row[data-state=changed] .notice-badge{color:#8a5a26;background:#f6e6d4}.notice-row[data-state=blocked] .notice-badge{color:#8e3f38;background:#f7dedb}.notice-row[data-state=done] .notice-badge{color:#3f6b4b;background:#e3efe6}.notice-blocker{background:#fdf1ef;border-left:3px solid #bd5750;border-radius:0 5px 5px 0;margin-top:8px;padding:8px 10px}.notice-blocker strong{color:#8e3f38;font-size:11.5px;font-weight:700;display:block}.notice-blocker span{color:#6d7a83;margin-top:3px;font-size:11px;line-height:1.55;display:block}.notice-preview{font:12px/1.65 var(--font-sans);color:#33485a;white-space:pre-wrap;word-break:keep-all;overflow-wrap:break-word;background:#f6f8f9;border:1px solid #e6ecef;border-radius:5px;margin:8px 0 0;padding:9px 11px}.field-warn{color:#7a5a20;word-break:keep-all;overflow-wrap:break-word;background:#fdf7ed;border-left:3px solid #e0a03c;border-radius:0 5px 5px 0;margin:6px 0 0;padding:7px 10px;font-size:11px;line-height:1.6}.admin-menu-btn,.admin-sheet-backdrop,.admin-sheet{display:none}@media (max-width:760px){.admin-topbar{z-index:10;position:sticky;top:0}.admin-menu-btn{color:#566672;background:#fff;border:1px solid #dbe3e8;border-radius:6px;align-items:center;gap:6px;min-width:44px;min-height:44px;padding:0 12px;font-size:12px;font-weight:600;display:inline-flex}.admin-menu-btn svg{stroke:currentColor;stroke-width:2px;stroke-linecap:round;fill:none;width:20px;height:20px}.admin-sheet-backdrop{z-index:25;background:#101e2b47;border:0;padding:0;display:block;position:fixed;inset:0}.admin-sheet{z-index:26;padding:16px 16px calc(16px + env(safe-area-inset-bottom));background:#fff;border-radius:16px 16px 0 0;flex-direction:column;max-height:88svh;display:flex;position:fixed;bottom:0;left:0;right:0;overflow-y:auto;box-shadow:0 -12px 30px #101e2b24}.admin-sheet-head{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.admin-sheet-head h2{letter-spacing:-.01em;margin:0;font-size:15px;font-weight:600}.admin-sheet-head button{color:#56666f;background:#eef2f4;border:0;border-radius:50%;width:44px;height:44px;padding:0;font-size:18px}.admin-sheet-kicker{font:600 11px var(--font-sans);letter-spacing:.04em;color:#7d8a94;margin:12px 0 6px}.admin-sheet-grid{grid-template-columns:1fr 1fr;gap:6px;display:grid}.admin-sheet-tile{color:#5e6e7b;word-break:keep-all;overflow-wrap:break-word;background:#fff;border:1px solid #e0e7eb;border-radius:8px;align-items:center;min-height:52px;padding:0 12px;font-size:13px;font-weight:500;text-decoration:none;display:flex}.admin-sheet-tile.active{color:#1b2a3a;background:#edf2f5;font-weight:600;box-shadow:inset 3px 0 #315f86}.admin-user-compact{border-top:1px solid #e7ecef;align-items:center;gap:12px;margin-top:12px;padding:12px 0 0;display:flex}.admin-user-compact>div{flex:1;min-width:0}.admin-user-compact button{width:auto;min-height:44px;margin:0;padding:0 16px}.work-row .session-stack>span{text-overflow:clip;white-space:normal;overflow:visible}.work-table{overflow:visible}.work-table-head{display:none}.work-row{border:1px solid #e3e9ed;border-radius:8px;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:4px 10px;min-width:0;margin-bottom:8px;padding:12px}.work-row>span{word-break:keep-all;overflow-wrap:break-word;grid-column:2;min-width:0}.work-row>span:first-child{grid-area:1/1/span 4;align-self:start}.work-row select,.work-row button{min-height:44px}.work-row button{min-width:44px}.work-row select{padding:0 8px;font-size:13px}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
