@font-face{font-family:pretendard;src:url(../media/PretendardVariable-s.p.0ztvx5mb7lxp4.woff2)format("woff2");font-display:swap;font-weight:45 920}@font-face{font-family:pretendard Fallback;src:local(Arial);ascent-override:93.76%;descent-override:23.75%;line-gap-override:0.0%;size-adjust:101.55%}.pretendard_830990e7-module__3Vt7uq__className{font-family:pretendard,pretendard Fallback}.pretendard_830990e7-module__3Vt7uq__variable{--font-pretendard:"pretendard", "pretendard Fallback"}
:root{--bg:#f5f5f7;--bg-app:#f5f5f7;--bg-grad-top:#fafafa;--surface:#fff;--surface-2:#fafafa;--surface-3:#f5f5f7;--border:#0000000f;--border-strong:#0000001a;--text:#1d1d1f;--text-2:#6e6e73;--text-3:#8e8e93;--foreground:#1d1d1f;--background:#f5f5f7;--primary:#0071e3;--primary-hover:#005bb5;--primary-active:#004d99;--primary-soft:#0071e30f;--primary-soft-2:#0071e31a;--primary-border:#0071e333;--primary-ring:#0071e340;--ok:#34c759;--ok-hover:#2db84f;--ok-text:#248a3d;--ok-soft:#34c75914;--ok-border:#34c75940;--bad:#ff3b30;--bad-hover:#e6352b;--bad-text:#d70015;--bad-soft:#ff3b300f;--bad-border:#ff3b3040;--danger:#ff3b30;--warn:#ff9f0a;--warn-soft:#ff9f0a14;--warn-text:#b25000;--warn-border:#ff9f0a40;--dup:#f97316;--dup-soft:#f973161a;--dup-text:#c2410c;--mism:#eab308;--mism-soft:#eab3081f;--mism-text:#946c00;--audit-text:#b45309;--audit-border:#f59e0b80;--duty-off:#eb5757;--duty-off-soft:#eb57571a;--scrim:#00000073;--meal-teal:#0d9488;--meal-teal-soft:#0d94881f;--meal-teal-text:#0f766e;--snack-accent:#0b7c72;--snack-accent-soft:#0b7c7229;--snack-accent-text:#134e4a;--meal-accent-soft:#0071e314;--meal-accent-text:#005bb5;--meal-jo-text:#15803d;--meal-jung-text:#0f766e;--meal-seok-text:#6d28d9;--snack-coral:#f43f5e;--snack-coral-soft:#f43f5e1f;--snack-coral-text:#e11d48;--time-cyan:#0ea5e9;--time-cyan-soft:#0ea5e91f;--time-cyan-text:#0284c7;--time-mint:#14b8a6;--time-mint-soft:#14b8a61f;--time-mint-text:#0f766e;--time-violet:#8b5cf6;--time-violet-soft:#8b5cf61f;--time-violet-text:#7c3aed;--excel:#1f8a52;--excel-hover:#1a7747;--r-2xs:4px;--r-xs:6px;--r-sm:12px;--r-md:12px;--r-lg:16px;--r-xl:20px;--r-pill:9999px;--fs-micro:.68rem;--fs-caption:.72rem;--fs-label:.78rem;--fs-body-sm:.82rem;--fs-body:.85rem;--fs-ui:.9rem;--fs-h3:.95rem;--fs-title:1.1rem;--fs-stat:1.55rem;--fs-stat-sm:1.15rem;--lh-tight:1.4;--lh-body:1.6;--sp-1:.25rem;--sp-2:.5rem;--sp-3:.75rem;--sp-4:1rem;--sp-5:1.25rem;--sp-6:1.5rem;--sp-7:1.75rem;--sp-8:2rem;--gap-inline:.4rem;--control-h:40px;--btn-h:calc(1.2rem + .875rem + 2px);--z-sticky:10;--z-header:40;--z-modal:50;--z-popover:60;--z-modal-2:70;--z-confirm:80;--z-lock:100;--z-toast:110;--shadow-xs:0 1px 2px #0000000a;--shadow-sm:0 1px 2px #0000000a;--shadow-md:0 4px 12px #0000000f;--shadow-lg:0 8px 24px #00000014;--shadow-modal:0 24px 48px #00000029;--overlay-bg:#1a1a1e;--overlay-bar:linear-gradient(180deg, #2c2c2e, #1a1a1e);--overlay-text:#f5f5f7;--overlay-glass:#ffffff1f;--overlay-glass-border:#ffffff38;--overlay-glass-dim:#ffffff73;--overlay-dot:#ffffff0f;--overlay-divider:#ffffff2e;--ease:cubic-bezier(.22, .61, .36, 1)}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{color:var(--text);background:var(--bg);background-image:linear-gradient(180deg, var(--bg-grad-top) 0%, var(--bg) 240px);font-family:var(--font-pretendard), "Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Apple SD Gothic Neo", "Malgun Gothic", sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;letter-spacing:-.01em;font-feature-settings:"tnum" on, "cv11" on;background-attachment:fixed;margin:0}a{color:inherit;text-decoration:none}.tnum{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" on}input[type=number]::-webkit-inner-spin-button{appearance:none;margin:0}input[type=number]::-webkit-outer-spin-button{appearance:none;margin:0}input[type=number]{appearance:textfield}.spinner{border:2px solid var(--border-strong);border-top-color:var(--primary);border-radius:50%;width:16px;height:16px;animation:.6s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.field-label{font-size:var(--fs-label);color:var(--text-2);letter-spacing:-.01em;margin-bottom:.4rem;font-weight:600;display:block}.limits-form{flex-wrap:wrap;align-items:center;gap:.85rem;display:flex}.limits-form__field{flex-shrink:0;align-items:center;gap:.4rem;display:flex}.limits-form .field-label{white-space:nowrap;margin-bottom:0}.field-label-sm{font-size:var(--fs-caption);color:var(--text-3);margin-bottom:.2rem;font-weight:700;display:block}.input,.select{width:100%;font-size:var(--fs-ui);color:var(--text);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-sm);transition:border-color .15s var(--ease), box-shadow .15s var(--ease), background .15s var(--ease);appearance:none;outline:none;padding:.6rem .75rem;font-family:inherit}.input::placeholder{color:var(--text-3)}.input:hover,.select:hover{border-color:var(--border-strong)}.input:focus,.select:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-ring);background:#fff}.select{cursor:pointer;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23475569' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>");background-position:right .6rem center;background-repeat:no-repeat;padding-right:1.75rem}.select::picker-icon{display:none}.select::picker(select){border:1px solid var(--border-strong);border-radius:var(--r-sm);background:var(--surface);box-shadow:var(--shadow-lg);min-width:anchor-size(width);margin-top:6px;padding:6px}.select option{border-radius:var(--r-xs);font-family:inherit;font-size:var(--fs-ui);color:var(--text);padding:.5rem .65rem;font-weight:500}.select option::checkmark{display:none}.select option:hover,.select option:focus-visible{background:var(--surface-3);outline:none}.select option:checked{background:var(--primary-soft-2);color:var(--primary);font-weight:600}.select option:disabled{color:var(--text-3)}.select--sm{width:auto;min-width:auto;font-size:var(--fs-label);background-position:right .4rem center;padding:.25rem 1.35rem .25rem .45rem}.select--sm::picker(select){min-width:anchor-size(width);width:max-content;margin-top:4px;padding:4px}.select--sm option{font-size:var(--fs-label);padding:.3rem .5rem}.w-filter-sm{min-width:88px}.w-filter-md{min-width:112px}.w-filter-lg{min-width:144px}.w-filter-search{min-width:224px}input[type=month].input{cursor:pointer}.month-nav{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-sm);box-sizing:border-box;align-items:center;gap:0;padding:0 2px;display:inline-flex}.toolbar-row .month-nav{height:var(--control-h)}.month-nav__arrow{border-radius:var(--r-xs);width:28px;color:var(--text-2);cursor:pointer;transition:background var(--t-fast), color var(--t-fast);background:0 0;border:none;flex-shrink:0;justify-content:center;align-self:stretch;align-items:center;display:inline-flex}.month-nav__arrow:hover:not(:disabled){background:var(--surface-2);color:var(--text)}.month-nav__arrow:disabled{opacity:.4;cursor:default}.month-nav__field{color:var(--text);font-family:inherit;font-size:var(--fs-ui);font-variant-numeric:tabular-nums;border-radius:var(--r-xs);cursor:pointer;text-align:center;background:0 0;border:none;padding:.45rem .2rem;font-weight:700}.month-nav__field:hover:not(:disabled){background:var(--surface-2)}.month-nav__field:disabled{opacity:.55;cursor:default}.month-nav__field:focus-visible{outline:2px solid var(--primary);outline-offset:1px}.month-nav__field::-webkit-calendar-picker-indicator{opacity:.45;cursor:pointer}.month-nav__field::-webkit-calendar-picker-indicator:hover{opacity:.85}.month-nav--lg .month-nav__arrow{width:32px}.month-nav--lg .month-nav__field{padding:.5rem .3rem;font-size:1.05rem;font-weight:800}.progress-bar{height:3px;z-index:var(--z-toast);pointer-events:none;position:fixed;top:0;left:0;right:0;overflow:hidden}.progress-bar__fill{background:var(--primary);height:100%;transition:width .25s var(--ease);border-radius:0 2px 2px 0}.progress-bar__fill.is-indeterminate{width:38%;animation:progress-slide 1.15s var(--ease) infinite}@keyframes progress-slide{0%{margin-left:-38%}to{margin-left:100%}}.progress-chip{z-index:var(--z-toast);pointer-events:none;border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--border);max-width:min(90vw,460px);box-shadow:var(--shadow-lg);font-size:var(--fs-body-sm);color:var(--text);align-items:center;gap:.5rem;padding:.5rem .85rem;font-weight:600;display:inline-flex;position:fixed;bottom:1.25rem;left:50%;transform:translate(-50%)}.progress-chip__spin{color:var(--primary);flex-shrink:0;animation:.9s linear infinite progress-spin}.progress-chip__count{color:var(--text-3);flex-shrink:0;font-weight:700}@keyframes progress-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.progress-bar__fill.is-indeterminate,.progress-chip__spin{animation-duration:.001ms;animation-iteration-count:1}}.btn{border-radius:var(--r-sm);cursor:pointer;white-space:nowrap;transition:background .15s var(--ease), border-color .15s var(--ease), color .15s var(--ease), box-shadow .15s var(--ease), transform 60ms var(--ease);-webkit-user-select:none;user-select:none;border:1px solid #0000;justify-content:center;align-items:center;gap:.5rem;padding:.6rem 1rem;font-family:inherit;font-size:.875rem;font-weight:600;line-height:1;display:inline-flex}.btn:active{transform:translateY(.5px)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn:focus-visible{box-shadow:0 0 0 3px var(--primary-ring)}.btn-primary{background:var(--primary);color:#fff;box-shadow:var(--shadow-xs)}.btn-primary:hover:not(:disabled){background:var(--primary-hover)}.btn-primary:active:not(:disabled){background:var(--primary-active)}.btn-success{background:var(--ok);color:#fff}.btn-success:hover:not(:disabled){background:var(--ok-hover)}.btn-excel{background:var(--excel);color:#fff}.btn-excel:hover:not(:disabled){background:var(--excel-hover)}.btn-ghost{background:var(--surface);color:var(--text-2);border-color:var(--border-strong);box-shadow:var(--shadow-xs)}.btn-ghost:hover:not(:disabled){background:var(--surface-2);color:var(--text);border-color:var(--border-strong)}.btn-danger{background:var(--bad);color:#fff}.btn-danger:hover:not(:disabled){background:var(--bad-hover)}.btn-sm{gap:.35rem;padding:.4rem .7rem;font-size:.8rem}.account-trigger{height:var(--btn-h);gap:.3rem;padding:0 .5rem 0 .35rem}.menu-panel{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-sm);box-shadow:var(--shadow-lg);transform-origin:100% 0;animation:menuIn .12s var(--ease);flex-direction:column;padding:4px;display:flex}.menu-panel--left{transform-origin:0 0}@keyframes menuIn{0%{opacity:0;transform:translateY(-4px)scale(.98)}to{opacity:1;transform:none}}.menu-item{border-radius:var(--r-xs);width:100%;color:var(--text);font-family:inherit;font-size:var(--fs-ui);text-align:left;cursor:pointer;white-space:nowrap;transition:background .12s var(--ease), color .12s var(--ease);background:0 0;border:0;align-items:center;gap:.5rem;padding:.45rem .55rem;font-weight:500;line-height:1.25;display:flex}.menu-item__icon{color:var(--text-2);flex-shrink:0;display:inline-flex}.menu-item:hover:not(:disabled),.menu-item:focus-visible{background:var(--surface-3);outline:none}.menu-item:active:not(:disabled){background:var(--border-strong)}.menu-item:disabled{opacity:.5;cursor:not-allowed}.menu-item.is-danger,.menu-item.is-danger .menu-item__icon{color:var(--bad-text)}.menu-item.is-danger:hover:not(:disabled),.menu-item.is-danger:focus-visible{background:var(--bad-soft)}.menu-item__hint{font-size:var(--fs-caption);color:var(--text-3);white-space:normal;margin-top:1px;font-weight:500;line-height:1.35}.menu-divider{background:var(--border);height:1px;margin:4px 0}.menu-caption{font-size:var(--fs-caption);color:var(--text-3);padding:6px .65rem 2px;font-weight:600}.menu-header{align-items:center;gap:.5rem;min-width:0;padding:.35rem .65rem .5rem;display:flex}.menu-header__title{font-size:var(--fs-ui);color:var(--text);white-space:nowrap;flex-shrink:0;font-weight:600}.menu-header__dot{color:var(--text-3);flex-shrink:0}.menu-header__sub{font-size:var(--fs-body-sm);color:var(--text-3);white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.menu-avatar{background:var(--primary-soft-2);width:28px;height:28px;color:var(--primary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.8rem;font-weight:700;line-height:1;display:inline-flex}.menu-avatar--sm{width:22px;height:22px;font-size:.7rem}.menu-chevron{color:var(--text-3);transition:transform .15s var(--ease);flex-shrink:0}.menu-chevron.is-open{transform:rotate(180deg)}.icon-btn{border-radius:var(--r-xs);width:30px;height:30px;color:var(--text-2);cursor:pointer;transition:background .15s var(--ease), color .15s var(--ease), border-color .15s var(--ease);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;padding:0;display:inline-flex;position:relative}.icon-btn:hover{background:var(--surface-3);color:var(--text)}.icon-btn.is-danger:hover{background:var(--bad-soft);color:var(--bad-text)}.icon-btn.is-ok:hover{background:var(--ok-soft);color:var(--ok-text)}.icon-btn.is-outline{border-color:var(--border-strong);background:#fff}.icon-btn.is-outline:hover{background:var(--surface-2)}.app-header .icon-btn.is-outline{width:var(--btn-h);height:var(--btn-h);border-radius:var(--r-sm)}.icon-btn.icon-btn-xs{width:20px;height:20px;color:var(--text-3);flex-shrink:0}.icon-btn.icon-btn-overlay{background:var(--overlay-glass);border-color:var(--overlay-glass-border);width:auto;height:auto;color:var(--overlay-text);padding:5px}.icon-btn.icon-btn-overlay:hover{background:var(--overlay-glass-border);color:var(--overlay-text)}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);padding:1.25rem 1.5rem}.panel-flush{padding:0}.table-panel{flex-direction:column;flex:auto;min-height:260px;display:flex;overflow:hidden}.table-panel__scroll{flex:auto;min-height:0;overflow:auto}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);cursor:pointer;box-shadow:var(--shadow-xs);transition:border-color .16s var(--ease), box-shadow .16s var(--ease), transform .16s var(--ease), background .16s var(--ease);padding:.95rem 1.05rem;position:relative;overflow:hidden}.stat-card:before{content:"";background:var(--accent,var(--primary));opacity:.55;width:3px;transition:opacity .16s var(--ease), width .16s var(--ease);position:absolute;top:0;bottom:0;left:0}.stat-card:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.stat-card:hover:before{opacity:.9}.stat-card.is-static{cursor:default}.stat-card.is-static:hover{box-shadow:var(--shadow-xs);transform:none}.stat-card.is-static:hover:before{opacity:.55}.stat-card.active{border-color:var(--accent,var(--primary));box-shadow:0 0 0 1px var(--accent,var(--primary)), var(--shadow-md);background:var(--accent-soft,var(--primary-soft))}.stat-card.active:before{opacity:1;width:4px}.stat-label{align-items:center;gap:var(--gap-inline);font-size:var(--fs-label);color:var(--text-2);margin:0;font-weight:600;display:flex}.stat-value{font-size:var(--fs-stat);color:var(--text);letter-spacing:-.02em;font-variant-numeric:tabular-nums;margin:.35rem 0 0;font-weight:800;line-height:1.1}.stat-sub{color:var(--text-3);margin:.3rem 0 0;font-size:.74rem;font-weight:500}.stat-value-sm{font-size:var(--fs-stat-sm);letter-spacing:-.02em;font-variant-numeric:tabular-nums;margin:.2rem 0 0;font-weight:800;line-height:1.1}.pill{border-radius:var(--r-pill);font-size:var(--fs-caption);white-space:nowrap;font-variant-numeric:tabular-nums;align-items:center;gap:4px;padding:3px 9px;font-weight:700;line-height:1;display:inline-flex}.pill-btn{cursor:pointer;transition:background .15s var(--ease), border-color .15s var(--ease), color .15s var(--ease), filter .15s var(--ease);border:1px solid #0000;font-family:inherit}.pill-btn:hover:not(:disabled){filter:brightness(.96)}.pill-btn:focus-visible{box-shadow:0 0 0 3px var(--primary-ring);outline:none}.pill-lg{font-size:var(--fs-label);padding:.28rem .7rem}.pill-ok{background:var(--ok-soft);color:var(--ok-text)}.pill-warn{background:var(--warn-soft);color:var(--warn-text)}.pill-bad{background:var(--bad-soft);color:var(--bad-text)}.pill-muted{background:var(--surface-3);color:var(--text-2)}.pill-judge-over,.pill-judge-cancel{background:var(--danger);color:#fff}.pill-judge-dup{color:#fff;background:#f97316}.pill-judge-mism{color:#fff;background:#eab308}.data-table{border-collapse:separate;border-spacing:0;text-align:left;white-space:nowrap;width:100%}.table-scroll{border:1px solid var(--border);border-radius:var(--r-xs);overflow:auto}.data-table--fixed{table-layout:fixed}.data-table--fixed tbody td.td-wrap,.data-table--fixed thead th.td-wrap{white-space:normal}.data-table--fixed tbody td,.data-table--fixed thead th{text-overflow:ellipsis;overflow:hidden}.data-table--fixed tbody td:has(>.pill){text-overflow:clip}.data-table--fixed tbody td.td-flex,.data-table--fixed thead th.td-flex,.data-table thead th.td-name{text-align:left}.data-table thead th .th-over{text-align:center;vertical-align:top;max-width:100%;display:inline-block}.skeleton-bar{vertical-align:middle;border-radius:var(--r-2xs);background:linear-gradient(90deg, var(--surface-3) 25%, var(--border) 37%, var(--surface-3) 63%);max-width:100%;height:.85rem;animation:skeleton-shimmer 1.4s var(--ease) infinite;background-size:400% 100%;display:inline-block}@keyframes skeleton-shimmer{0%{background-position:100%}to{background-position:0}}@media (prefers-reduced-motion:reduce){.skeleton-bar{background:var(--surface-3);animation:none}}.data-table.data-table--dense thead th,.data-table.data-table--dense tbody td{padding-left:.6rem;padding-right:.6rem}.note-cell{border-radius:var(--r-2xs);width:calc(100% + .8rem);font:inherit;color:inherit;text-align:center;cursor:text;transition:background .12s var(--ease);background:0 0;border:0;margin:-.2rem -.4rem;padding:.2rem .4rem;display:block}.note-cell__text{-webkit-line-clamp:2;white-space:normal;overflow-wrap:anywhere;-webkit-box-orient:vertical;line-height:1.4;display:-webkit-box;overflow:hidden}.note-cell__empty{color:var(--text-3)}.note-cell:hover:not(:disabled){background:var(--surface-3)}.note-cell:disabled{cursor:default}.note-cell:focus-visible{box-shadow:0 0 0 3px var(--primary-ring);outline:none}.note-cell.is-editing{background:var(--surface-3);box-shadow:0 0 0 3px var(--primary-ring)}.note-popover{z-index:var(--z-popover);box-sizing:border-box;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-sm);box-shadow:var(--shadow-lg);transform-origin:top;animation:menuIn .12s var(--ease);padding:6px;position:fixed}.note-popover--up{transform-origin:bottom;animation-name:notePopUp}@keyframes notePopUp{0%{opacity:0;transform:translateY(4px)scale(.98)}to{opacity:1;transform:none}}.note-popover__ta{box-sizing:border-box;width:100%;font:inherit;font-size:var(--fs-body);color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xs);resize:none;text-align:left;white-space:pre-wrap;padding:.35rem .5rem;line-height:1.4;display:block;overflow:hidden}.note-popover__ta:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-ring);outline:none}.data-table--compact tbody td{font-size:var(--fs-body-sm)}.data-table thead th{z-index:var(--z-sticky);background:var(--surface-2);color:var(--text-2);text-align:center;white-space:nowrap;letter-spacing:-.01em;border-bottom:1px solid var(--border-strong);padding:.7rem 1rem;font-size:.76rem;font-weight:700;position:sticky;top:0}.data-table tbody td{font-size:var(--fs-body);color:var(--text);text-align:center;vertical-align:middle;border-bottom:1px solid var(--border);padding:.7rem 1rem}.data-table tbody tr{transition:background .12s var(--ease)}.data-table tbody tr:nth-child(2n){background:var(--surface-2)}.data-table tbody tr:hover{background:var(--primary-soft)}.data-table tbody tr.row-deleted{background:var(--surface-2)}.data-table tbody tr.row-deleted:hover{background:var(--surface-3)}.data-table thead th.td-end,.data-table tbody td.td-end,.data-table thead th.td-num,.data-table tbody td.td-num{text-align:right}.data-table tbody td.td-name{text-align:left}.data-table tbody td.td-sub{font-size:var(--fs-body-sm);color:var(--text-2)}.data-table tbody td.td-detail{text-align:left;white-space:normal}.data-table tbody td.empty-cell{padding:var(--sp-8);text-align:center;color:var(--text-3)}.data-table tbody td.empty-cell-lg{text-align:center;color:var(--text-3);padding:4.5rem}.data-table tbody tr.row-inactive,.data-table tbody tr.row-inactive:hover{background:var(--bad-soft)}.modal-overlay{background:var(--scrim);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:var(--z-modal);animation:overlayIn .18s var(--ease);justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.modal{background:var(--surface);border-radius:var(--r-xl);box-shadow:var(--shadow-modal);width:100%;max-height:min(92vh,100%);animation:modalIn .2s var(--ease);flex-direction:column;display:flex;overflow:hidden}.modal-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.modal-title{font-size:var(--fs-title);color:var(--text);letter-spacing:-.02em;align-items:center;gap:.55rem;margin:0;font-weight:800;display:flex}.modal-body{padding:var(--sp-6);flex:auto;min-height:0;overflow-y:auto}.modal-foot{border-top:1px solid var(--border);background:var(--surface-2);justify-content:flex-end;gap:.65rem;padding:1.1rem 1.5rem;display:flex}.modal-close{border-radius:var(--r-xs);width:32px;height:32px;color:var(--text-3);cursor:pointer;transition:background .15s var(--ease), color .15s var(--ease);background:0 0;border:none;justify-content:center;align-items:center;font-size:1.4rem;line-height:1;display:inline-flex}.modal-close:hover{background:var(--surface-3);color:var(--text)}@keyframes overlayIn{0%{opacity:0}to{opacity:1}}@keyframes modalIn{0%{opacity:0;transform:translateY(8px)scale(.985)}to{opacity:1;transform:none}}.modal{width:min(100%,100vw - 2rem)}.scroll-area{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}.scroll-area::-webkit-scrollbar{width:11px;height:11px}.scroll-area::-webkit-scrollbar-track{background:0 0}.scroll-area::-webkit-scrollbar-thumb{background:var(--border-strong);border:3px solid var(--surface);border-radius:99px}.scroll-area::-webkit-scrollbar-thumb:hover{background:var(--text-3)}.budget-sum{flex-direction:column;gap:.45rem;padding:.85rem 1.05rem;display:flex}.budget-sum__row{flex-wrap:wrap;align-items:baseline;gap:.35rem 1.75rem;display:flex}.budget-sum__item{align-items:baseline;gap:.4rem;display:inline-flex}.budget-sum__item>i{font-style:normal;font-size:var(--fs-caption);color:var(--text-3);font-weight:700}.budget-sum__item>b{font-size:var(--fs-h3);color:var(--text);letter-spacing:-.01em;font-weight:800}.budget-sum__item>em{font-style:normal;font-size:var(--fs-caption);color:var(--text-3)}.budget-sum__note{font-size:var(--fs-caption);color:var(--text-3);margin:0;line-height:1.5}.app-header__icon{border-radius:var(--r-sm);background:var(--primary-soft);width:32px;height:32px;color:var(--primary);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.app-header__center{flex:1;justify-content:center;min-width:0;display:flex}@container app-header-bar (max-width:1240px){.app-header__center{flex:100%;order:3}}.ann-strip{background:var(--primary-soft);border:1px solid var(--primary-border);border-radius:var(--r-sm);flex:auto;align-items:center;gap:.45rem;min-width:0;max-width:1040px;padding:.25rem .3rem .25rem .6rem;display:flex}.ann-strip__text{all:unset;cursor:pointer;min-width:0;color:var(--text);white-space:nowrap;flex:1;align-items:baseline;gap:.45rem;font-size:.83rem;display:flex;overflow:hidden}.ann-strip__text>b{flex-shrink:0;font-weight:700}.ann-strip__body{text-overflow:ellipsis;min-width:0;color:var(--text-2);font-weight:500;overflow:hidden}.ann-strip__text:hover>b{text-decoration:underline}.ann-strip__more{font-size:var(--fs-caption);color:var(--text-3);flex-shrink:0;font-weight:700}.ann-strip .icon-btn{width:24px;height:24px}.seg{gap:4px;padding:4px;display:inline-flex}.seg-btn{color:var(--text-3);background:0 0;border:1px solid #0000;font-weight:600}.seg-btn:hover{color:var(--text)}.seg-btn.is-on{background:var(--primary-soft);color:var(--primary);border-color:var(--primary);font-weight:700}.filter-chip{border-radius:var(--r-sm);border:1px solid var(--border-strong);background:var(--surface);color:var(--text-2);font-size:var(--fs-body);cursor:pointer;-webkit-user-select:none;user-select:none;box-shadow:var(--shadow-xs);transition:all .15s var(--ease);align-items:center;gap:.5rem;padding:.6rem .9rem;font-weight:600;display:inline-flex}.filter-chip:hover{background:var(--surface-2)}.filter-chip.active{background:var(--bad-soft);border-color:var(--bad-border);color:var(--bad-text)}.filter-chip.active-primary{background:var(--primary-soft);border-color:var(--primary);color:var(--primary)}.toolbar-row .input,.toolbar-row .select,.toolbar-row .btn,.toolbar-row .filter-chip{height:var(--control-h);box-sizing:border-box}.toolbar-row{align-items:flex-end;gap:var(--sp-5);flex-wrap:wrap;flex-shrink:0;padding:1.1rem 1.25rem;display:flex}.toolbar-row--between{justify-content:space-between}.toolbar-row--compact{align-items:center;gap:.9rem;padding:.85rem 1.25rem}@media (max-width:900px){.toolbar-row{flex-direction:column;align-items:stretch!important}}.stat-card.accent-blue{--accent:var(--primary);--accent-soft:var(--meal-accent-soft)}.stat-card.accent-green{--accent:var(--ok);--accent-soft:var(--ok-soft)}.stat-card.accent-red{--accent:var(--bad);--accent-soft:var(--bad-soft)}.stat-card.accent-blue.active{background:var(--meal-accent-soft)}.stat-card.accent-green.active{background:var(--ok-soft)}.stat-card.accent-red.active{background:var(--bad-soft)}.app-header{z-index:var(--z-header);-webkit-backdrop-filter:saturate(180%)blur(10px);backdrop-filter:saturate(180%)blur(10px);background:#f5f5f7d9;flex-shrink:0;padding:1.25rem 1.75rem 0;position:sticky;top:0}.app-header__bar{max-width:var(--shell-max,none);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);width:100%;min-height:60px;box-shadow:var(--shadow-sm);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-left:auto;margin-right:auto;padding:.4rem 1.25rem;display:flex;container:app-header-bar/inline-size}.brand-mark{width:38px;height:38px;box-shadow:var(--shadow-sm);background:#fff url(/brand-icon.png) 50%/cover no-repeat;border-radius:11px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.brand-mark>svg{display:none}.brand-mark--sm{width:24px;height:24px;box-shadow:none;border-radius:7px}.app-header--nav{padding-top:.5rem}.app-nav{flex-wrap:wrap;align-items:center;gap:.15rem;padding:0 1.25rem .5rem;display:flex}.app-nav__brand{letter-spacing:-.02em;color:var(--text);-webkit-user-select:none;user-select:none;white-space:nowrap;align-items:center;gap:.45rem;margin-right:.7rem;font-size:.9rem;font-weight:800;display:inline-flex}.app-nav__spacer{flex:auto;min-width:.5rem}.app-nav__actions{align-items:center;gap:.35rem;display:flex}.app-nav__link{border-radius:var(--r-sm);height:30px;color:var(--text-2);white-space:nowrap;transition:background .15s var(--ease), color .15s var(--ease);align-items:center;gap:.35rem;padding:0 .6rem;font-size:.82rem;font-weight:600;text-decoration:none;display:inline-flex;position:relative}.app-nav__link--primary{color:var(--text);font-weight:700}.app-nav__link:hover{background:var(--surface-3);color:var(--text)}.app-nav__link.is-active{background:var(--primary-soft);color:var(--primary);font-weight:700}.app-nav .icon-btn.is-outline{border-radius:var(--r-xs);width:30px;height:30px}.app-nav .icon-btn.is-active{background:var(--primary-soft);color:var(--primary);border-color:var(--primary-border)}.app-nav .account-trigger{height:30px}.app-nav .header-divider{height:16px;margin:0 .45rem}.stat-card.accent-meal{--accent:var(--primary);--accent-soft:var(--meal-accent-soft)}.stat-card.accent-snack{--accent:var(--snack-accent);--accent-soft:var(--snack-accent-soft)}.stat-card.accent-meal.active{background:var(--meal-accent-soft)}.stat-card.accent-snack.active{background:var(--snack-accent-soft)}.stat-dot{background:var(--accent,var(--primary));border-radius:50%;flex-shrink:0;width:9px;height:9px;display:inline-block}.stat-unit{font-size:var(--fs-ui);color:var(--text-3);margin-left:2px;font-weight:600}.stat-card-foot{align-items:center;gap:var(--sp-1);border-top:1px solid var(--border);flex-wrap:wrap;margin-top:.7rem;padding-top:.7rem;display:flex}.stat-chip{border-radius:var(--r-pill);min-width:75px;font-size:var(--fs-caption);cursor:pointer;font-variant-numeric:tabular-nums;transition:transform .12s var(--ease), filter .12s var(--ease), box-shadow .12s var(--ease);white-space:nowrap;border:1px solid #0000;justify-content:flex-start;align-items:center;gap:3px;max-width:100%;padding:3px 6px;font-family:inherit;font-weight:700;line-height:1;display:inline-flex;overflow:hidden}button.stat-chip:hover:not(:disabled){box-shadow:var(--shadow-sm);filter:brightness(.95);transform:translateY(-1px)}button.stat-chip:active:not(:disabled){transform:translateY(0)}button.stat-chip:disabled{cursor:default}.stat-chip-ok{background:var(--ok-soft);color:var(--ok-text)}.stat-chip-bad{background:var(--bad-soft);color:var(--bad-text)}.stat-chip-warn{background:var(--warn-soft);color:var(--warn-text)}.stat-chip-dup{background:var(--dup-soft);color:var(--dup-text)}.stat-chip-mism{background:var(--mism-soft);color:var(--mism-text)}.stat-chip.active{box-shadow:inset 0 0 0 1.5px}button.stat-chip.active:hover:not(:disabled){box-shadow:var(--shadow-sm), 0 0 0 1.5px currentColor inset}.data-table thead th.th-sort{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .12s var(--ease), color .12s var(--ease)}.data-table thead th.th-sort:hover{background:var(--primary-soft);color:var(--primary)}.th-sort-inner{justify-content:center;align-items:center;gap:3px;display:inline-flex}.th-sort-icon{color:var(--text-3);opacity:.55;vertical-align:middle}.data-table thead th.th-sort:hover .th-sort-icon{opacity:.9}.th-sort-icon.active{color:var(--primary);opacity:1}.cal-cell{cursor:pointer;transition:box-shadow .12s var(--ease)}.cal-cell:hover{box-shadow:inset 0 0 0 1.5px var(--primary-border)}.today-pill{border-radius:var(--r-sm);border:1px solid var(--border);background:var(--surface-2);min-width:54px;color:var(--text);cursor:pointer;transition:border-color .12s var(--ease), box-shadow .12s var(--ease);flex-direction:column;align-items:center;padding:.2rem .5rem;font-family:inherit;display:flex}.today-pill:hover{border-color:var(--border-strong);box-shadow:var(--shadow-xs)}.today-pill:focus-visible{box-shadow:0 0 0 3px var(--primary-ring);outline:none}.today-pill.is-all{background:var(--primary-soft-2);border-color:var(--primary-border)}.btn-kakao{color:#191919;border-radius:var(--r-sm);cursor:pointer;transition:filter .15s var(--ease), box-shadow .15s var(--ease);background:#fee500;border:1px solid #0000}.btn-kakao:hover:not(:disabled){filter:brightness(.96)}.btn-kakao:active:not(:disabled){filter:brightness(.92)}.btn-kakao:focus-visible{box-shadow:0 0 0 3px var(--primary-ring)}.btn-kakao:disabled{opacity:.55;cursor:not-allowed}.chip-select{border-radius:var(--r-pill);border:1px solid var(--border);font-size:var(--fs-body-sm);cursor:pointer;transition:background .15s var(--ease), border-color .15s var(--ease), color .15s var(--ease);background:0 0;font-family:inherit;font-weight:700}.chip-select:hover{background:var(--surface-2)}.time-group{vertical-align:middle;align-items:stretch;display:inline-flex}.time-group .input{border-top-right-radius:0;border-bottom-right-radius:0;flex:auto;min-width:0}.time-group__toggle{font-size:var(--fs-body-sm);white-space:nowrap;color:var(--text-2);background:var(--surface-3);border:1px solid var(--border-strong);border-radius:0 var(--r-sm) var(--r-sm) 0;cursor:pointer;transition:background .15s var(--ease), border-color .15s var(--ease), color .15s var(--ease);flex:none;align-items:center;margin-left:-1px;padding:0 .7rem;font-family:inherit;font-weight:700;display:inline-flex}.time-group__toggle:hover:not(:disabled){background:var(--surface-2);color:var(--text)}.time-group__toggle.is-on{color:#fff}.time-group__toggle:disabled{cursor:default}.time-group__toggle:focus-visible{box-shadow:0 0 0 3px var(--primary-ring);z-index:1;outline:none;position:relative}.leave-tag{border-radius:var(--r-2xs);max-width:100%;font-size:var(--fs-caption);white-space:nowrap;text-overflow:ellipsis;vertical-align:middle;flex-shrink:0;padding:1px 6px;font-weight:700;display:inline-block;overflow:hidden}.leave-tag--over{background:var(--bad-soft);color:var(--danger)}.leave-tag--muted{background:var(--surface-3);color:var(--text-3)}.audit-hist{border-left:2px solid var(--border-strong);flex-direction:column;gap:2px;padding:1px 0 1px 10px;display:flex}.audit-hist.is-unreviewed{border-left-color:var(--audit-border)}.audit-line{min-height:24px;font-size:var(--fs-label);color:var(--text-2);white-space:normal;flex-wrap:wrap;align-items:center;gap:2px 12px;display:flex}.audit-line__stamp{color:var(--text-3);font-variant-numeric:tabular-nums;white-space:nowrap;flex-shrink:0;align-items:center;gap:5px;display:inline-flex}.audit-line__stamp svg{flex-shrink:0}.audit-line__action{flex-shrink:0;margin-left:auto;display:inline-flex}.audit-diffs{flex-wrap:wrap;align-items:center;gap:2px 14px;min-width:0;display:inline-flex}.audit-diff{align-items:baseline;gap:6px;min-width:0;display:inline-flex}.audit-diff__label{border-radius:var(--r-2xs);background:var(--surface-3);color:var(--text-3);font-size:var(--fs-micro);white-space:nowrap;flex-shrink:0;padding:1px 5px;font-weight:700}.audit-diff__from{color:var(--text-3)}.audit-diff__arrow{color:var(--text-3);font-size:var(--fs-caption);flex-shrink:0}.audit-diff__to{color:var(--text);font-weight:700}.audit-ack{border-radius:var(--r-pill);border:1px solid var(--audit-border);background:var(--surface);height:22px;color:var(--audit-text);font-family:inherit;font-size:var(--fs-caption);white-space:nowrap;cursor:pointer;transition:background .15s var(--ease);flex-shrink:0;align-items:center;gap:3px;padding:0 9px;font-weight:700;line-height:1;display:inline-flex}.audit-ack:hover{background:var(--warn-soft)}.audit-ack:focus-visible{box-shadow:0 0 0 3px var(--primary-ring);outline:none}.data-table.audit-table thead th.au-action,.data-table.audit-table thead th.au-subject,.data-table.audit-table thead th.au-changes{text-align:left}.data-table.audit-table thead th.au-action .th-over{width:78px}.data-table.audit-table thead th.au-subject .th-over{width:210px}.data-table.audit-table thead th.au-changes .th-over{width:120px}.data-table.audit-table tbody td.au-actor{font-weight:600}.au-actor__scope{font-size:var(--fs-label);color:var(--text-3);margin-right:.3rem;font-weight:500}.data-table.audit-table tbody td.au-action,.data-table.audit-table tbody td.au-subject{text-align:left}.au-action__in{vertical-align:middle;align-items:center;gap:6px;max-width:100%;display:inline-flex}.au-action__label{text-overflow:ellipsis;min-width:0;overflow:hidden}.au-action__in .pill{flex-shrink:0}.data-table.audit-table tbody td.au-subject{white-space:normal;word-break:keep-all;overflow-wrap:anywhere}.data-table.audit-table tbody td.au-changes{font-size:var(--fs-body-sm);color:var(--text-2)}.au-changes__in{flex-wrap:wrap;align-items:center;gap:4px 16px;display:flex}.au-changes__in .audit-diffs{gap:4px 16px}.au-changes__in .audit-diff{overflow-wrap:anywhere;display:block}.au-changes__in .audit-diff>*+*{margin-left:6px}.au-changes__in .audit-diff__label{display:inline-block}.au-note{overflow-wrap:anywhere;min-width:0}.au-empty{color:var(--text-3)}.change-chip{vertical-align:middle;border-radius:var(--r-pill);border:1px solid var(--border-strong);background:var(--surface);height:22px;color:var(--text-2);font-family:inherit;font-size:var(--fs-caption);white-space:nowrap;cursor:pointer;transition:background .15s var(--ease), border-color .15s var(--ease), color .15s var(--ease);align-items:center;gap:4px;padding:0 8px;font-weight:600;line-height:1;display:inline-flex}.change-chip:hover{background:var(--surface-3)}.change-chip:focus-visible{box-shadow:0 0 0 3px var(--primary-ring);outline:none}.change-chip.is-open{background:var(--surface-3);border-color:var(--text-3);color:var(--text)}.change-chip--deleted{background:var(--surface-3);color:var(--text-3);border-color:#0000}.change-chip--deleted:hover{background:var(--border-strong)}.change-chip.is-unreviewed{background:var(--surface);border-color:var(--audit-border);color:var(--audit-text)}.change-chip.is-unreviewed:hover,.change-chip.is-unreviewed.is-open{background:var(--warn-soft);border-color:var(--audit-border);color:var(--audit-text)}.leave-list__toolbar{border-bottom:1px solid var(--border);flex-wrap:wrap;flex-shrink:0;align-items:center;gap:.4rem;padding:.7rem 1.5rem;display:flex}.leave-list__toolbar-right{align-items:center;gap:.4rem;margin-left:auto;display:flex}.leave-kinds{align-items:center;gap:.4rem;display:inline-flex}.leave-kinds .pill-btn{background:var(--surface-3);color:var(--text-2)}.leave-kinds .pill-btn[aria-pressed=true]{background:var(--primary);border-color:var(--primary);color:#fff}.leave-kinds .pill-btn b{font-weight:800}.leave-kinds--sm{gap:.25rem}.leave-kinds--sm .pill{height:20px;padding:0 8px}.leave-toggle{border-radius:var(--r-pill);border:1px solid var(--border-strong);background:var(--surface);color:var(--text-2);font-family:inherit;font-size:var(--fs-label);white-space:nowrap;cursor:pointer;transition:background .15s var(--ease), border-color .15s var(--ease), color .15s var(--ease);align-items:center;gap:.35rem;padding:.28rem .7rem .28rem .5rem;font-weight:700;line-height:1;display:inline-flex}.leave-toggle:hover{background:var(--surface-2)}.leave-toggle:focus-visible{box-shadow:0 0 0 3px var(--primary-ring);outline:none}.leave-toggle__box{border:1.5px solid var(--text-3);color:#0000;border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;width:13px;height:13px;display:inline-flex}.leave-toggle[aria-pressed=true]{background:var(--primary-soft);border-color:var(--primary-border);color:var(--primary)}.leave-toggle[aria-pressed=true] .leave-toggle__box{background:var(--primary);border-color:var(--primary);color:#fff}.leave-list{scrollbar-gutter:stable;flex:auto;min-height:0;padding:0 1.5rem 1.5rem;overflow:auto}.leave-list__empty{text-align:center;font-size:var(--fs-body);color:var(--text-3);padding:2rem 0}.leave-day{--lv-bar-h:36px;border:1px solid var(--border-strong);border-radius:var(--r-sm);background:var(--surface);min-width:764px;overflow:clip}.leave-day:first-child{margin-top:1rem}.leave-day+.leave-day{margin-top:.75rem}.leave-day__bar{z-index:calc(var(--z-sticky) + 1);height:var(--lv-bar-h);border-bottom:1px solid var(--border-strong);background:var(--surface-3);color:var(--text);align-items:center;gap:.5rem;padding:0 .3rem 0 .25rem;display:flex;position:sticky;top:0}.leave-day__open,.leave-day__label{flex-shrink:0;align-items:center;gap:.5rem;height:28px;padding:0 .5rem;display:inline-flex}.leave-day__open{border-radius:var(--r-xs);color:inherit;text-align:left;cursor:pointer;transition:background .12s var(--ease);background:0 0;border:0;font-family:inherit}.leave-day__open:hover,.leave-day__go:hover{background:var(--border)}.leave-day__open:focus-visible,.leave-day__go:focus-visible,button.leave-day__scope:focus-visible{box-shadow:0 0 0 3px var(--primary-ring);outline:none}.leave-day__date{font-size:var(--fs-ui);font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:800}.leave-day__holiday{font-size:var(--fs-caption);color:var(--danger);white-space:nowrap;font-weight:600}.leave-day__duty{border-radius:var(--r-2xs);font-size:var(--fs-caption);white-space:nowrap;padding:1px 6px;font-weight:800}.leave-day__count{font-size:var(--fs-label);color:var(--text-2);white-space:nowrap;font-weight:800}.leave-day__spacer{flex:auto}.leave-day__scopes{gap:.25rem;min-width:0;display:flex;overflow:hidden}.leave-day__scope{border-radius:var(--r-2xs);border:1px solid var(--border);background:var(--surface);height:22px;font-family:inherit;font-size:var(--fs-caption);color:var(--text-3);white-space:nowrap;flex-shrink:0;align-items:center;padding:0 7px;font-weight:600;line-height:1;display:inline-flex}.leave-day__scope b{color:var(--text);font-variant-numeric:tabular-nums;margin-left:4px;font-weight:800}.leave-day__scope.is-zero{opacity:.5}.leave-day__scope.is-zero b{color:var(--text-3)}button.leave-day__scope{cursor:pointer;transition:background .12s var(--ease), border-color .12s var(--ease), color .12s var(--ease)}button.leave-day__scope:hover{border-color:var(--primary-border);background:var(--primary-soft);color:var(--primary)}button.leave-day__scope:hover b{color:var(--primary)}.leave-day__scope.is-active,button.leave-day__scope.is-active:hover{opacity:1;background:var(--primary);border-color:var(--primary);color:#fff}.leave-day__scope.is-active b,button.leave-day__scope.is-active:hover b{color:#fff}.leave-day__go{border-radius:var(--r-xs);width:26px;height:26px;color:var(--text-3);cursor:pointer;transition:background .12s var(--ease);background:0 0;border:0;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.data-table.leave-table{--lv-name:80px;--lv-scope:62px;--lv-team:44px;--lv-type:140px;--lv-chg:78px;--lv-stamp:196px;--lv-ack:148px}.leave-table col.lv-col-name{width:var(--lv-name)}.leave-table col.lv-col-scope{width:var(--lv-scope)}.leave-table col.lv-col-team{width:var(--lv-team)}.leave-table col.lv-col-type{width:var(--lv-type)}.leave-table col.lv-col-chg{width:var(--lv-chg)}.leave-table col.lv-col-stamp{width:var(--lv-stamp)}.leave-table col.lv-col-ack{width:var(--lv-ack)}.data-table.leave-table thead th{top:calc(var(--lv-bar-h) - 1px);background:var(--surface);font-size:var(--fs-caption);color:var(--text-3);text-align:left;border-bottom:1px solid var(--border);padding:.38rem .5rem;font-weight:700}.leave-table thead th.lv-name .th-over{width:35px}.leave-table thead th.lv-scope .th-over{width:27px}.leave-table thead th.lv-team .th-over{width:17px}.leave-table thead th.lv-type .th-over{width:32px}.leave-table thead th.lv-detail .th-over{width:84px}.leave-table thead th.lv-chg .th-over{width:59px}.leave-table thead th.lv-stamp .th-over{width:144px}.leave-table thead th.lv-diff .th-over{width:170px}.leave-table thead th.lv-ack .th-over{width:52px}.data-table.leave-table tbody td{height:34px;font-size:var(--fs-body-sm);text-align:left;padding:0 .5rem}.data-table.leave-table thead th:first-child,.data-table.leave-table tbody td:first-child{padding-left:.75rem}.data-table.leave-table thead th:last-child,.data-table.leave-table tbody td:last-child{padding-right:.75rem}.data-table.leave-table tbody tr:last-child td{border-bottom:0}.data-table.leave-table tbody tr:nth-child(2n),.data-table.leave-table tbody tr:hover{background:0 0}.data-table.leave-table tbody tr.leave-row:hover{background:var(--surface-2)}.data-table.leave-table tbody td.lv-name{font-size:var(--fs-body);font-weight:700}.data-table.leave-table tbody tr.is-over td.lv-name{color:var(--danger)}.data-table.leave-table tbody td.lv-scope,.data-table.leave-table tbody td.lv-team{font-size:var(--fs-caption);color:var(--text-3)}.leave-table .lv-tags{align-items:center;gap:4px;min-width:0;display:flex}.leave-table .lv-tags .leave-tag:first-child{flex-shrink:1;min-width:0}.data-table.leave-table tbody td.lv-detail{color:var(--text-2);font-variant-numeric:tabular-nums}.leave-table .lv-note{font-size:var(--fs-label);color:var(--text-3)}.leave-table .lv-time+.lv-note:before{content:"·";margin:0 .4em}.data-table.leave-table tbody td.lv-stamp{font-size:var(--fs-caption);color:var(--text-3);font-variant-numeric:tabular-nums}.data-table.leave-table tbody tr.is-deleted td{color:var(--text-3)}.data-table.leave-table tbody tr.is-deleted td.lv-name{font-weight:600}.data-table.leave-table tbody tr.leave-row.is-open td{border-bottom-color:#0000}.data-table.leave-table tbody tr.leave-sub td{height:auto;padding:0 .75rem .5rem calc(var(--lv-name) + .5rem);white-space:normal;overflow:visible}.leave-table .audit-line__stamp{text-overflow:ellipsis;width:188px;overflow:hidden}.leave-day--audit{min-width:944px}.data-table.leave-table tbody td.lv-diff{white-space:normal;height:auto;font-size:var(--fs-label);color:var(--text-2);padding-top:6px;padding-bottom:6px;overflow:visible}.data-table.leave-table tbody td.lv-ack{font-size:var(--fs-caption);color:var(--text-3);font-variant-numeric:tabular-nums}.data-table.leave-table tbody tr.is-reviewed td.lv-name{color:var(--text-2);font-weight:600}.data-table.leave-table tbody tr.leave-more{cursor:pointer}.data-table.leave-table tbody tr.leave-more td{background:var(--surface-2);height:30px}.data-table.leave-table tbody tr.leave-more td:first-child{padding-left:0}.leave-more__btn{width:100%;height:30px;color:var(--text-3);font-family:inherit;font-size:var(--fs-caption);text-align:left;cursor:pointer;transition:color .12s var(--ease);background:0 0;border:0;align-items:center;gap:6px;padding:0 .5rem 0 .75rem;font-weight:700;display:flex}.leave-more__btn svg{transition:transform .15s var(--ease);flex-shrink:0}.leave-more__btn[aria-expanded=true] svg{transform:rotate(180deg)}.leave-more__btn:focus-visible{box-shadow:inset 0 0 0 2px var(--primary-ring);outline:none}.data-table.leave-table tbody tr.leave-more:hover .leave-more__btn{color:var(--text-2)}.data-table.leave-table tbody td.leave-more__label{font-size:var(--fs-caption);color:var(--text-3);font-weight:700}.leave-edit{box-sizing:border-box;height:100%;padding:var(--sp-5) var(--sp-6);flex-wrap:wrap;align-content:flex-start;gap:1rem;display:flex;overflow-y:auto}.leave-edit__cal{flex-direction:column;flex:0 0 440px;max-width:100%;height:min(100cqh - 2.5rem,32rem);min-height:340px;display:flex}.leave-edit__form{flex-direction:column;flex:380px;min-width:0;display:flex}.leave-edit__form>.leave-form{flex:auto}.leave-edit__list{flex-direction:column;flex:100%;min-width:0;display:flex}@container leave-edit (min-width:1130px){.leave-edit{flex-wrap:nowrap;overflow:hidden}.leave-edit__cal{flex:21 330px;min-width:0;max-width:540px;height:auto;min-height:0}.leave-edit__form{flex:14 400px}.leave-edit__list{flex:12 320px;max-width:440px;min-height:0}}.leave-pane__head{flex-shrink:0;align-items:center;gap:.5rem;min-width:0;height:28px;margin-bottom:.4rem;display:flex}.leave-pane__head .section-title{white-space:nowrap;flex:0 auto;min-width:0}.leave-pane__sub{text-overflow:ellipsis;min-width:0;font-size:var(--fs-label);color:var(--text-3);font-weight:600;overflow:hidden}.leave-pane__nav{flex-shrink:0;align-items:center;gap:2px;display:inline-flex}.leave-pane__nav .icon-btn{width:24px;height:24px}.leave-pane__aux{font-size:var(--fs-micro);color:var(--text-3);white-space:nowrap;flex-shrink:0;margin-left:auto}.leave-pane__tools{align-items:center;gap:var(--gap-inline);flex-shrink:0;margin-left:auto;display:flex}.leave-pane__tools .input{width:170px;height:26px;font-size:var(--fs-body-sm);padding:0 .6rem 0 1.7rem}.leave-pane__tools .btn{height:26px;font-size:var(--fs-body-sm);padding:0 .8rem}.leave-pane__tools .btn-ghost{font-size:var(--fs-label);padding:0 .5rem}.leave-pane__tools .leave-pane__pick{background:var(--time-violet);border-color:var(--time-violet);color:#fff;justify-content:center;min-width:12.5em;font-weight:700}.leave-pane__head>.leave-kinds{flex-shrink:0;margin-left:auto}.leave-pane__head--gutter{scrollbar-gutter:stable;scrollbar-width:thin;overflow:hidden}.leave-form{--lf-t:0px;--lf-gap:calc(.6rem + var(--lf-t) * .154);--lf-group-gap:calc(.4rem + var(--lf-t) * .13);--lf-chip-pad:calc(.32rem + var(--lf-t) * .0227);min-height:0;padding:calc(.9rem + var(--lf-t) * .0284);border-width:1.5px;flex-direction:column;display:flex;overflow-y:auto}.leave-form>*+*{margin-top:var(--lf-gap)}.leave-form.is-editing{border-color:var(--primary)}.leave-form .field-label-sm{margin-bottom:calc(.2rem + var(--lf-t) * .0142)}.leave-form__targets{flex-shrink:0}.leave-form.is-picking .leave-form__targets{flex-direction:column;flex:auto;min-height:0;display:flex}.leave-form__types{gap:var(--lf-group-gap);flex-direction:column;flex-shrink:0;display:flex}.leave-form__type{padding:var(--lf-chip-pad) 0;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.leave-form__sub{margin-top:calc(.3rem + var(--lf-t) * .017);flex-wrap:wrap;align-items:center;gap:.28rem;display:flex}.leave-form>.leave-form__actions{justify-content:flex-end;align-items:center;gap:var(--gap-inline);flex-shrink:0;margin-top:auto;padding-top:.75rem;display:flex}@container leave-edit (min-width:1130px){.leave-form:not(.is-picking){--lf-t:clamp(0px, calc(100cqh - 555px), 197px)}}.leave-roster{scrollbar-gutter:stable;flex:auto;min-height:0;overflow-y:auto;container-type:inline-size}.leave-roster__empty{text-align:center;font-size:var(--fs-body);color:var(--text-3);padding:1.5rem 0}.leave-day.leave-day--roster{--lv-bar-h:30px;min-width:0;margin-top:0}.leave-day.leave-day--roster+.leave-day--roster{margin-top:.5rem}.data-table.leave-table.leave-table--roster{--lv-grow:max(0px, 100cqi - 382px);--lv-pad:min(16px, calc(10.4px + var(--lv-grow) * .12));--lv-pad-r:min(8px, calc(4.8px + var(--lv-grow) * .07));--lv-name:min(74px, calc(43.6px + var(--lv-pad) + var(--lv-grow) * .3));--lv-team:min(38px, calc(27px + var(--lv-grow) * .24));--lv-type:min(102px, calc(90px + var(--lv-grow) * .26));--lv-act:calc(83.2px + var(--lv-pad-r))}.leave-table col.lv-col-act{width:var(--lv-act)}.data-table.leave-table.leave-table--roster tbody td{height:26px;padding:0 .3rem}.data-table.leave-table.leave-table--roster tbody td:first-child{padding-left:var(--lv-pad)}.data-table.leave-table.leave-table--roster tbody td:last-child{padding-right:var(--lv-pad-r)}.data-table.leave-table tbody tr.leave-group th,.leave-pick__head{z-index:var(--z-sticky);height:24px;padding:0 var(--lv-pad,.65rem);text-align:left;white-space:nowrap;background:var(--surface-3);border-bottom:1px solid var(--border);font-size:var(--fs-label);color:var(--text);font-weight:800;position:sticky;top:0;overflow:hidden}.data-table.leave-table tbody tr.leave-group th b,.leave-pick__head b{color:var(--text-3);font-variant-numeric:tabular-nums;margin-left:.4rem;font-weight:700}.data-table.leave-table tbody+tbody tr.leave-group th,.leave-pick__group+.leave-pick__group .leave-pick__head{border-top:1px solid var(--border-strong)}.leave-pick{border:1px solid var(--border-strong);border-radius:var(--r-sm);flex-direction:column;flex:auto;min-height:0;margin-top:.4rem;display:flex;overflow:clip}.leave-pick__scroll{flex:auto;min-height:120px;overflow:auto}.leave-pick__head{align-items:center;display:flex}.leave-pick__body{flex-direction:column;gap:.4rem;padding:.5rem .65rem .6rem;display:flex}.leave-pick__row{align-items:flex-start;gap:.45rem;display:flex}.leave-pick__team{min-width:2.3em;line-height:24px;font-size:var(--fs-label);color:var(--text-2);font-variant-numeric:tabular-nums;flex-shrink:0;font-weight:700}.leave-pick__chips{flex-wrap:wrap;flex:auto;gap:.25rem;min-width:0;display:flex}.leave-day--roster.has-bar .leave-table tbody tr.leave-group th{top:calc(var(--lv-bar-h) - 1px)}.data-table.leave-table tbody td.lv-act{text-align:right}.leave-table .lv-acts{vertical-align:middle;align-items:center;gap:2px;display:inline-flex}.leave-table .lv-acts .icon-btn,.leave-table .lv-acts__gap{flex-shrink:0;width:24px;height:22px}.leave-table .lv-acts .icon-btn{color:var(--text-3)}.leave-table tr.leave-row:hover .lv-acts .icon-btn:not(:disabled),.leave-table .lv-acts .icon-btn:focus-visible{color:var(--text-2)}.data-table.leave-table tbody tr.is-unreviewed td{background:var(--warn-soft)}.data-table.leave-table tbody tr.is-unreviewed td:first-child{box-shadow:inset 3px 0 0 var(--warn)}.data-table.leave-table tbody tr.is-editing td{background:var(--primary-soft)}.data-table.leave-table tbody tr.is-editing td:first-child{box-shadow:inset 3px 0 0 var(--primary)}.data-table.leave-table.leave-table--roster tbody tr.leave-sub td{padding:0 .5rem .4rem var(--lv-pad)}.leave-table--roster .audit-hist{border-left:0;padding-left:0}.leave-table--roster .audit-line__stamp{width:auto}.name-chip{border-radius:var(--r-pill);height:24px;font-size:var(--fs-body-sm);white-space:nowrap;align-items:center;gap:.15rem;padding:0 .2rem 0 .55rem;font-weight:600;line-height:1;display:inline-flex}.name-chip--primary{background:var(--primary-soft-2);color:var(--primary)}.name-chip--violet{background:var(--time-violet-soft);color:var(--time-violet)}.name-chip__x{width:18px;height:18px;color:inherit;cursor:pointer;opacity:.7;transition:opacity .12s var(--ease), background .12s var(--ease);background:0 0;border:0;border-radius:50%;justify-content:center;align-items:center;padding:0;display:inline-flex}.name-chip__x:hover{opacity:1;background:#00000012}.name-chip__x:focus-visible{box-shadow:0 0 0 3px var(--primary-ring);opacity:1;outline:none}.panel-clickable{cursor:pointer;transition:box-shadow .16s var(--ease), transform .16s var(--ease)}.panel-clickable:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.pill-cat-meal{color:var(--text-2);border:1px solid var(--primary);background:0 0}.pill-cat-snack{color:var(--text-2);border:1px solid var(--snack-accent);background:0 0}.pill-type-dongwon{background:var(--meal-accent-soft);color:var(--meal-accent-text);border:1.5px solid var(--primary)}.pill-type-gibon{background:var(--meal-accent-soft);color:var(--meal-accent-text)}.pill-type-chuldong{background:var(--snack-accent-soft);color:var(--snack-accent-text);border:1.5px solid var(--snack-accent)}.pill-type-special{background:var(--snack-accent-soft);color:var(--snack-accent-text)}.pill-meal-jo,.pill-meal-jung,.pill-meal-seok{background:0 0;padding-left:0;padding-right:0}.pill-meal-jo{color:var(--meal-jo-text)}.pill-meal-jung{color:var(--meal-jung-text)}.pill-meal-seok{color:var(--meal-seok-text)}.section-title{font-size:var(--fs-h3);color:var(--text);align-items:center;gap:var(--gap-inline);margin:0;font-weight:800;display:flex}.input-search{padding-left:2.1rem}.header-divider{background:var(--border);flex-shrink:0;width:1px;height:20px;margin:0 .5rem}.header-divider-tight{margin:0}.icon-btn:focus-visible,.modal-close:focus-visible,.filter-chip:focus-visible,.stat-chip:focus-visible,.chip-select:focus-visible{box-shadow:0 0 0 3px var(--primary-ring);outline:none}.t-micro{font-size:var(--fs-micro)}.t-caption{font-size:var(--fs-caption)}.t-label{font-size:var(--fs-label)}.t-body-sm{font-size:var(--fs-body-sm)}.t-body{font-size:var(--fs-body)}.t-ui{font-size:var(--fs-ui)}.t-h3{font-size:var(--fs-h3)}.t-title{font-size:var(--fs-title)}
