@font-face{font-family:HanjinGroupSans;font-weight:300;font-style:normal;font-display:swap;src:local("HanjinGroupSans Light"),url(/fonts/woff2/HanjinGroupSans-Light.woff2) format("woff2"),url(/fonts/woff/HanjinGroupSans-Light.woff) format("woff")}@font-face{font-family:HanjinGroupSans;font-weight:400;font-style:normal;font-display:swap;src:local("HanjinGroupSans Regular"),local("HanjinGroupSans"),url(/fonts/woff2/HanjinGroupSans-Regular.woff2) format("woff2"),url(/fonts/woff/HanjinGroupSans-Regular.woff) format("woff")}@font-face{font-family:HanjinGroupSans;font-weight:700;font-style:normal;font-display:swap;src:local("HanjinGroupSans Bold"),url(/fonts/woff2/HanjinGroupSans-Bold.woff2) format("woff2"),url(/fonts/woff/HanjinGroupSans-Bold.woff) format("woff")}:root{--font-sans: "HanjinGroupSans", -apple-system, BlinkMacSystemFont, "Segoe UI", "Segoe UI Variable", Roboto, "Noto Sans KR", "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";--font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace}*{box-sizing:border-box}[hidden]{display:none!important}:root{--bg: #f6f8fa;--surface: #ffffff;--border: #d0d7de;--text: #1f2328;--muted: #6e7781;--primary: #1f6feb;--primary-strong: #1a5fcc;--danger: #cf222e;--ok: #1a7f37;--ok-bg: #dafbe1;--pill-bg: #eaeef2;--header-h: 52px;--tabbar-h: 60px;--safe-bottom: env(safe-area-inset-bottom);--safe-top: env(safe-area-inset-top)}html,body{margin:0;height:100%;font-family:var(--font-sans);background:var(--bg);color:var(--text);-webkit-tap-highlight-color:transparent}code,pre,kbd,samp{font-family:var(--font-mono)}button{font-family:inherit}.muted{color:var(--muted);font-size:13px}.splash-view{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:20px}.splash-spinner{width:28px;height:28px;border:3px solid var(--pill-bg);border-top-color:var(--primary);border-radius:50%;animation:splash-spin .8s linear infinite}@keyframes splash-spin{to{transform:rotate(360deg)}}.login-view{min-height:100vh;display:grid;place-items:center;padding:20px}.login-card{width:100%;max-width:420px;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:24px}.login-card h1{margin:0 0 4px;font-size:22px}.login-card input{width:100%;padding:10px 12px;margin:16px 0 12px;font-size:15px;border:1px solid var(--border);border-radius:8px;font-family:inherit;box-sizing:border-box}.login-card input:focus{outline:2px solid var(--primary);outline-offset:-1px;border-color:transparent}.login-card .identifier-display{width:100%;margin:24px 0 16px;padding:8px 0;font-size:20px;font-weight:500;text-align:center;color:var(--text);word-break:break-all}.login-card button{width:100%;padding:12px;background:var(--primary);color:#fff;border:0;border-radius:8px;font-size:15px;cursor:pointer}.login-card button:hover{background:var(--primary-strong)}.google-btn{display:flex!important;align-items:center;justify-content:center;gap:10px;margin-top:16px;background:#fff!important;color:#1f2328!important;border:1px solid var(--border)!important;font-weight:500}.google-btn:hover{background:#f6f8fa!important}.google-btn svg{display:block}.result{background:#0d1117;color:#c9d1d9;padding:12px;border-radius:6px;font-size:12px;margin-top:12px;white-space:pre-wrap;word-break:break-word;max-height:40vh;overflow:auto}.result:empty{display:none}.app-view{min-height:100vh;padding-top:calc(var(--header-h) + var(--safe-top));padding-bottom:calc(var(--tabbar-h) + var(--safe-bottom));background:var(--bg)}.app-header{position:fixed;top:0;left:0;right:0;height:calc(var(--header-h) + var(--safe-top));padding-top:var(--safe-top);background:var(--surface);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding-left:16px;padding-right:8px;z-index:10}.app-header h1{margin:0;font-size:17px;font-weight:600}.app-header-right{display:flex;align-items:center;gap:4px}.header-user-name{font-size:13px;font-weight:500;color:var(--text);white-space:nowrap;max-width:120px;overflow:hidden;text-overflow:ellipsis}.icon-btn{width:44px;height:44px;background:transparent;border:0;color:var(--text);cursor:pointer;display:grid;place-items:center;border-radius:8px}.icon-btn:active{background:var(--pill-bg)}.app-main{padding:16px;max-width:720px;margin:0 auto}.tab-bar{position:fixed;bottom:0;left:0;right:0;height:calc(var(--tabbar-h) + var(--safe-bottom));padding-bottom:var(--safe-bottom);background:var(--surface);border-top:1px solid var(--border);display:grid;grid-template-columns:repeat(4,1fr);z-index:10}.tab{background:transparent;border:0;color:var(--muted);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;cursor:pointer;font-size:11px;padding:6px 4px}.tab svg{color:currentColor}.tab[aria-selected=true]{color:var(--primary)}.tab:active{background:var(--pill-bg)}.card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:16px;margin-bottom:12px}.card h2{margin:0 0 8px;font-size:15px}.card p{margin:0 0 12px;color:var(--muted);font-size:14px}.placeholder{text-align:center;color:var(--muted);padding:40px 16px;min-height:calc(100vh - var(--header-h) - var(--tabbar-h) - var(--safe-top) - var(--safe-bottom) - 32px);display:flex;align-items:center;justify-content:center}button.ghost{background:transparent;color:var(--danger);border:1px solid var(--danger);padding:8px 14px;border-radius:6px;cursor:pointer;font-size:14px}button.ghost:active{background:#ffeef0}@keyframes wc-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes wc-fade-in{0%{opacity:0}to{opacity:1}}.loading-wrap{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;animation:wc-fade-in .2s ease-out;min-height:calc(100vh - var(--header-h) - var(--tabbar-h) - var(--safe-top) - var(--safe-bottom) - 32px)}.loading-spinner{width:36px;height:36px;border:4px solid var(--pill-bg);border-top-color:var(--primary);border-right-color:var(--primary);border-radius:50%;animation:wc-spin .9s linear infinite;box-sizing:border-box}.loading-text{font-size:13px;color:var(--muted);font-weight:500}.loading-inline{position:absolute;top:0;right:0;bottom:0;left:0;background:#ffffffc7;backdrop-filter:blur(1.5px);-webkit-backdrop-filter:blur(1.5px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;z-index:5;border-radius:inherit;animation:wc-fade-in .15s ease-out}.loading-inline .loading-spinner{width:28px;height:28px;border-width:3px}.loading-inline .loading-text{font-size:12px}.team-today{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:14px 12px 6px}.team-today-date{font-size:16px;font-weight:600;text-align:center;padding:6px 0 10px;font-variant-numeric:tabular-nums;letter-spacing:.5px}.team-today-info{font-size:11px;color:var(--muted);padding:0 4px 8px;border-bottom:1px solid var(--border)}.team-grid{display:grid}.team-row{display:grid;grid-template-columns:minmax(48px,1fr) 72px 56px 52px 52px;align-items:center;gap:4px;padding:10px 4px;border-bottom:1px solid #eef0f3;font-size:13px}.team-grid-admin .team-row{grid-template-columns:minmax(48px,1fr) 64px 52px 48px 48px 48px}.team-row:last-child{border-bottom:0}.team-row-head{font-size:12px;color:var(--muted);padding:8px 4px;border-bottom:1px solid var(--border);background:transparent}.team-row-head .team-cell{font-weight:500}.team-row-me{background:#f0f6ff;border-radius:6px}.team-row-me .team-cell-name{color:var(--primary);font-weight:600}.team-cell{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.team-cell-name{font-weight:500;text-align:left}.team-cell-empno{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums;text-align:center}.team-cell-code{text-align:center}.team-cell-bgn,.team-cell-chk,.team-cell-out{font-variant-numeric:tabular-nums;text-align:center;color:var(--text)}.team-row-head .team-cell:nth-child(1){text-align:left}.team-row-head .team-cell:nth-child(2),.team-row-head .team-cell:nth-child(3),.team-row-head .team-cell:nth-child(4),.team-row-head .team-cell:nth-child(5),.team-row-head .team-cell:nth-child(6){text-align:center}.team-chip{display:inline-block;min-width:44px;padding:3px 6px;border-radius:4px;font-size:11px;font-weight:500;background:#eef4ff;color:#1f6feb;text-align:center;font-variant-numeric:tabular-nums}.team-chip.chip-day{background:#eef4ff;color:#1f6feb}.team-chip.chip-leave{background:#fff4e5;color:#b45309}.team-chip.chip-off{background:#f1f1f1;color:#57606a}.team-chip.chip-default{background:#eaeef2;color:#57606a}.team-date-nav{display:flex;align-items:center;justify-content:center;gap:8px;padding:4px 2px 12px}.team-date-label{flex:0 1 auto;min-width:0;font-size:16px;font-weight:600;letter-spacing:.3px;font-variant-numeric:tabular-nums;text-align:center;white-space:nowrap}.team-dow{font-weight:500;color:var(--muted);margin-left:2px}.team-dow-sun{color:var(--danger)}.team-dow-sat{color:var(--primary)}.team-today-btn{flex:0 0 auto;height:32px;padding:0 12px;border-radius:8px;background:var(--primary);color:#fff;border:0;font-size:13px;font-weight:500;cursor:pointer;margin-left:4px;white-space:nowrap}.team-today-btn:active{background:var(--primary-strong)}.team-today-btn[disabled],.team-today-btn--active{background:var(--pill-bg);color:var(--muted);cursor:default}@media (max-width: 360px){.tab span{font-size:10px}.team-row{grid-template-columns:minmax(40px,1fr) 64px 50px 46px 46px;gap:3px}.team-cell-empno,.cal-grid{font-size:11px}}@media (max-width: 480px){.cal-header{gap:4px;padding:8px 0 10px}.cal-nav-center,.cal-actions{gap:4px}.cal-header .view-toggle{gap:2px}.view-toggle-btn{width:28px;height:28px}.view-toggle-btn svg{width:14px;height:14px}.cal-nav{width:28px;height:28px}.cal-nav svg{width:14px;height:14px}.cal-today-btn{height:28px;padding:0 8px;font-size:11px}.cal-title{font-size:14px;min-width:70px}}@media (max-width: 360px){.cal-header,.cal-nav-center,.cal-actions{gap:2px}.view-toggle-btn{width:24px;height:24px}.view-toggle-btn svg{width:12px;height:12px}.cal-nav{width:24px;height:24px}.cal-nav svg{width:12px;height:12px}.cal-today-btn{height:24px;padding:0 6px;font-size:10px}.cal-title{font-size:13px;min-width:60px}}.view-toggle{display:flex;gap:4px}.view-toggle-btn{width:32px;height:32px;background:transparent;border:1px solid var(--border);border-radius:6px;cursor:pointer;color:var(--muted);display:grid;place-items:center;padding:0}.view-toggle-btn:active{background:var(--pill-bg)}.view-toggle-btn[aria-pressed=true]{border-color:var(--primary);color:var(--primary)}.cal-list-wrap{position:relative;border-radius:10px;min-height:200px}.cal-list{background:var(--surface);border:1px solid var(--border);border-radius:10px;overflow:hidden}.cal-list-row{display:grid;grid-template-columns:40px 28px 60px minmax(60px,max-content) 96px 56px 1fr;align-items:center;gap:10px;padding:9px 12px;border-bottom:1px solid #eef0f3;font-size:13px;cursor:pointer;min-height:36px}.cal-list-row:last-child{border-bottom:0}.cal-list-row:active{background:var(--pill-bg)}.cal-list-row-today{background:#f0f6ff}.cal-list-date{font-weight:600;font-variant-numeric:tabular-nums;text-align:center}.cal-list-dow{color:var(--muted);font-size:12px;text-align:center}.cal-list-dow-sun{color:var(--danger)}.cal-list-dow-sat{color:var(--primary)}.cal-list-code{text-align:center}.cal-list-code-chip{display:inline-block;padding:2px 6px;font-size:11px;font-weight:600;border-radius:4px;font-variant-numeric:tabular-nums;letter-spacing:.2px;white-space:nowrap}.cal-list-code-chip.cal-work{background:#eef4ff;color:#1f6feb}.cal-list-code-chip.cal-leave{background:#fff4e5;color:#b45309}.cal-list-code-chip.cal-hwff{background:#ddf4ff;color:#0969da}.cal-list-code-chip.cal-holiday{background:#ffeef0;color:#cf222e}.cal-list-code-chip.cal-plan{background:#eaeef2;color:#57606a}.cal-list-name{font-size:13px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cal-list-range{font-size:12px;font-variant-numeric:tabular-nums;color:var(--muted);text-align:right;white-space:nowrap}.cal-list-chk{font-size:12px;font-variant-numeric:tabular-nums;color:var(--text);font-weight:500;text-align:right;white-space:nowrap}@media (max-width: 480px){.cal-list-row{grid-template-columns:36px 26px 50px minmax(56px,max-content) 86px 48px;gap:6px;padding:9px 8px;font-size:12px}.cal-list-code-chip{font-size:10px;padding:2px 4px}}@media (max-width: 360px){.cal-list-row{grid-template-columns:30px 22px 46px minmax(50px,max-content) 78px 44px;gap:4px;padding:9px 6px;font-size:11px}}.cal-td{min-height:64px}.me-next-body{min-height:40px}.team-today{width:100%}.cal-header{display:flex;align-items:center;gap:8px;padding:8px 0 12px}.cal-header .view-toggle{flex:1}.cal-nav-center{display:flex;align-items:center;gap:8px;flex:0 0 auto}.cal-actions{flex:1;display:flex;align-items:center;justify-content:space-between;gap:6px}.cal-header-spacer{flex:1}.cal-title{font-size:17px;font-weight:600;min-width:100px;text-align:center}.cal-nav{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--border);border-radius:6px;cursor:pointer;color:var(--text);padding:0}.cal-nav:active{background:var(--pill-bg)}.cal-nav:disabled{opacity:.3;cursor:default}.cal-today-btn{height:32px;padding:0 10px;font-size:12px;font-weight:500;background:transparent;border:1px solid var(--border);border-radius:6px;cursor:pointer;color:var(--text);display:inline-flex;align-items:center;justify-content:center}.cal-today-btn:active{background:var(--pill-bg)}.cal-today-btn--active{color:var(--primary);border-color:var(--primary)}.cal-today-btn:disabled{cursor:default}.cal-refresh{color:var(--muted)}.cal-refresh:active{color:var(--primary)}.cal-refresh.is-loading svg{animation:wc-spin .8s linear infinite}.cal-grid-wrap{position:relative;border-radius:10px}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);background:var(--surface);border:1px solid var(--border);border-radius:10px;overflow:hidden;-webkit-user-select:none;user-select:none}.cal-grid--no-weekend{grid-template-columns:repeat(5,1fr)}.cal-grid--no-weekend .cal-th-sun,.cal-grid--no-weekend .cal-th-sat,.cal-grid--no-weekend .cal-td-sun,.cal-grid--no-weekend .cal-td-sat{display:none}.cal-weekend-toggle{display:flex;justify-content:flex-end;padding:6px 4px 0;font-size:12px;color:var(--muted)}.cal-weekend-toggle label{display:inline-flex;align-items:center;gap:4px;cursor:pointer;-webkit-user-select:none;user-select:none}.cal-weekend-toggle input{cursor:pointer}.cal-th{padding:8px 2px;text-align:center;font-size:12px;font-weight:500;color:var(--muted);border-bottom:1px solid var(--border)}.cal-th-sun{color:var(--danger)}.cal-th-sat{color:var(--primary)}.cal-td{min-height:56px;padding:4px 3px;border-bottom:1px solid #eef0f3;border-right:1px solid #eef0f3;display:flex;flex-direction:column;align-items:center;gap:2px}.cal-td:nth-child(7n){border-right:0}.cal-td-other{color:#c8ccd0;background:#fafbfc}.cal-td-today{background:#f0f6ff}.cal-td-today .cal-date{background:var(--primary);color:#fff;border-radius:50%;width:22px;height:22px;display:flex;align-items:center;justify-content:center}.cal-td[data-key]{cursor:pointer}.cal-td-selected{box-shadow:inset 0 0 0 2px var(--primary);border-radius:6px}.cal-td-sun .cal-date{color:var(--danger)}.cal-td-sat .cal-date{color:var(--primary)}.cal-date{font-size:12px;font-weight:500;line-height:1}.cal-chip{font-size:10px;font-weight:500;padding:1px 4px;border-radius:3px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:pre-line;text-align:center;line-height:1.3}.cal-chip.cal-work{background:#eef4ff;color:#1f6feb}.cal-chip.cal-leave{background:#fff4e5;color:#b45309}.cal-chip.cal-hwff{background:#ddf4ff;color:#0969da}.cal-chip.cal-holiday{background:#ffeef0;color:#cf222e}.cal-chip.cal-plan{background:#eaeef2;color:#57606a}.cal-chip.cal-chip-in{background:#eef4ff;color:#1f6feb}.cal-chip.cal-chip-out{background:#f0e6ff;color:#7c3aed}.member-chip-bar{display:flex;flex-wrap:wrap;gap:6px;padding:4px 0 12px}.member-chip{padding:6px 12px;font-size:13px;font-weight:500;font-family:inherit;border:1px solid var(--border);border-radius:20px;background:var(--surface);color:var(--text);cursor:pointer;white-space:nowrap;transition:all .15s}.member-chip:active{background:var(--pill-bg)}.member-chip--active{background:var(--primary);color:#fff;border-color:var(--primary)}.member-chip--active:active{background:var(--primary-strong)}.settings-info{display:flex;flex-direction:column;gap:8px;margin-bottom:4px}.settings-row{display:flex;justify-content:space-between;align-items:center;padding:6px 0;border-bottom:1px solid #eef0f3;font-size:14px}.settings-row:last-child{border-bottom:0}.settings-label{color:var(--muted);font-size:13px}.settings-value{font-weight:500}.toggle-switch{position:relative;display:block;width:48px;min-width:48px;height:28px;flex-shrink:0;cursor:pointer}.toggle-switch input{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;-webkit-appearance:none!important;-moz-appearance:none!important;appearance:none!important}.toggle-slider{position:absolute;top:0;right:0;bottom:0;left:0;background:#d1d5db;border-radius:999px;cursor:pointer;transition:background .25s ease}.toggle-slider:before{content:"";position:absolute;width:22px;height:22px;left:3px;top:3px;background:#fff;border-radius:50%;transition:transform .25s ease;box-shadow:0 1px 3px #0000002e}.toggle-switch input:checked+.toggle-slider{background:var(--primary)}.toggle-switch input:checked+.toggle-slider:before{transform:translate(20px)}.toggle-switch input:focus-visible+.toggle-slider{outline:2px solid var(--primary);outline-offset:2px}.settings-toggle{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid #eef0f3}.settings-toggle:last-child{border-bottom:0}.settings-toggle-text{display:flex;flex-direction:column;gap:4px;min-width:0}.settings-toggle-text .settings-label{color:var(--text);font-size:14px;font-weight:500}.settings-toggle-text .settings-desc{color:var(--muted);font-size:12px;margin:0;line-height:1.4}.cart-list{padding:0}.cart-item{padding:12px 16px;border-bottom:1px solid #eef0f3}.cart-item:last-child{border-bottom:0}.cart-item-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.cart-item-name{font-weight:500;font-size:14px}.cart-item-time{font-size:13px;font-weight:500;color:var(--primary);background:#eef4ff;padding:2px 8px;border-radius:4px}.cart-item-dates{font-size:12px;color:var(--muted);line-height:1.5}.me-today{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-strong) 100%);color:#fff;border-radius:14px;padding:18px 20px 20px;margin-bottom:14px;box-shadow:0 4px 14px #1f6feb2e;text-align:center;font-variant-numeric:tabular-nums}.me-today-date{font-size:14px;font-weight:500;opacity:.92;letter-spacing:.3px;margin-bottom:10px;min-height:1em}.me-today-time{font-size:38px;font-weight:700;letter-spacing:1px;line-height:1.15;white-space:nowrap;word-break:keep-all}.me-today-tilde{display:inline-block;margin:0 6px;font-weight:400;opacity:.85}.me-today-code{font-size:13px;opacity:.95;margin-top:10px;word-break:keep-all;line-height:1.4}.me-today-meta{font-size:12px;opacity:.78;margin-top:6px;min-height:1em}.me-today-tag{font-size:12px;opacity:.85;margin-top:8px;padding-top:8px;border-top:1px solid rgba(255,255,255,.18);font-variant-numeric:tabular-nums;letter-spacing:.2px}.me-next{padding:14px 16px 8px}.me-next-title{font-size:14px;font-weight:600;color:var(--text);margin-bottom:10px}.me-next-row{display:grid;grid-template-columns:max-content minmax(0,1fr) max-content;align-items:center;padding:11px 2px;border-bottom:1px solid #eef0f3;font-size:14px;gap:10px}.me-next-row:last-child{border-bottom:0}.me-next-date{color:var(--text);font-weight:500;font-variant-numeric:tabular-nums}.me-next-dow-sun{color:var(--danger)}.me-next-dow-sat{color:var(--primary)}.me-next-time{font-variant-numeric:tabular-nums;color:var(--text);text-align:right;white-space:nowrap;font-size:13px;min-width:100px;background:transparent}.me-next-time-empty{color:var(--muted)}.me-next-tag{display:inline-block;padding:3px 8px;border-radius:4px;font-size:12px;font-weight:500;background:var(--pill-bg);color:var(--muted)}.me-next-tag.cal-leave{background:#fff4e5;color:#b45309}.me-next-tag.cal-half{background:#fff7e0;color:#9a6700}.me-next-tag.cal-hwff{background:#ddf4ff;color:#0969da}.me-next-tag.cal-holiday{background:#ffeef0;color:#cf222e}.me-next-tag.cal-plan{background:#eaeef2;color:#57606a}.me-next-desc{font-size:13px;color:var(--text);text-align:right;word-break:keep-all;line-height:1.4;min-width:0;overflow:hidden;text-overflow:ellipsis;background:transparent;white-space:nowrap}.me-next-desc.cal-work,.me-next-time.cal-work{color:var(--primary)}.me-next-desc.cal-leave,.me-next-time.cal-leave{color:#b45309}.me-next-desc.cal-half,.me-next-time.cal-half{color:#9a6700}.me-next-desc.cal-hwff,.me-next-time.cal-hwff{color:#0969da}.me-next-desc.cal-holiday,.me-next-time.cal-holiday{color:#cf222e}.me-next-desc.cal-plan,.me-next-time.cal-plan{color:#57606a}@media (max-width: 360px){.me-today-time{font-size:32px;letter-spacing:.5px}.me-today{padding:16px 14px 18px}}.cal-td-selected{background:#dbeafe!important;box-shadow:inset 0 0 0 2px var(--primary);border-radius:4px}.cal-td-selected .cal-date{color:var(--primary);font-weight:700}.cal-td-today.cal-td-selected .cal-date{color:#fff}.cal-td-past{opacity:.4;pointer-events:none}.cal-chip-cart{background:#dafbe1;color:var(--ok);font-size:9px;font-weight:600}.apply-timebar{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:12px;margin:12px 0}.apply-timebar-info{font-size:13px;color:var(--muted);margin-bottom:8px;text-align:center}.apply-timebar-btns{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-start}.apply-time-btn{padding:8px 0;font-size:13px;font-weight:500;font-family:inherit;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);cursor:pointer;transition:all .15s;width:64px;text-align:center;box-sizing:border-box}.apply-time-btn:disabled{opacity:.4;cursor:default}.apply-time-btn:not(:disabled):active{background:var(--pill-bg)}.apply-time-btn.apply-time--active{background:var(--primary);color:#fff;border-color:var(--primary)}.apply-time-leave{border-color:#f0a030;color:#b45309;width:auto;padding:8px 12px}.apply-time-leave.apply-time--active{background:#b45309;border-color:#b45309;color:#fff}.apply-time-half{border-color:#f0a030;color:#b45309}.apply-time-half.apply-time--active{background:#b45309;border-color:#b45309;color:#fff}.apply-timebar-group{margin-bottom:12px}.apply-timebar-group:last-of-type{margin-bottom:0}.apply-timebar-label{font-size:12px;font-weight:600;color:var(--muted);margin-bottom:6px}.apply-timebar-label--half{color:#b45309}.apply-timebar-actions{display:flex;justify-content:center;margin-top:10px}.apply-add-btn{padding:10px 32px;font-size:14px;font-weight:600;font-family:inherit;background:var(--primary);color:#fff;border:0;border-radius:8px;cursor:pointer}.apply-add-btn:disabled{opacity:.4;cursor:default}.apply-add-btn:not(:disabled):active{background:var(--primary-strong)}.apply-cart-section{margin-top:4px}.apply-cart-section h2{margin-bottom:4px}.apply-cart-person{border-bottom:1px solid #eef0f3;padding:8px 0}.apply-cart-person:last-child{border-bottom:0}.apply-cart-me{background:#f8fbff;border-radius:6px;padding:8px}.apply-cart-person-name{font-size:13px;font-weight:600;color:var(--text);margin-bottom:4px}.apply-cart-row{display:flex;align-items:center;gap:8px;padding:4px 0;font-size:13px}.apply-cart-date{color:var(--text);font-variant-numeric:tabular-nums;min-width:44px}.apply-cart-time{color:var(--primary);font-weight:500;flex:1}.apply-cart-remove{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--border);border-radius:6px;color:var(--danger);cursor:pointer;font-size:12px;flex-shrink:0}.apply-cart-remove:active{background:#ffeef0}.env-toggle{display:flex;gap:8px;margin-bottom:8px}.env-chip{flex:1;padding:10px;font-size:14px;font-weight:600;font-family:inherit;text-align:center;border:2px solid var(--border);border-radius:10px;background:var(--surface);color:var(--muted);cursor:pointer;transition:all .15s}.env-chip:active{background:var(--pill-bg)}.env-chip--active{border-color:var(--primary);color:var(--primary);background:#f0f6ff}.env-chip[data-env=prd].env-chip--active{border-color:var(--danger);color:var(--danger);background:#ffeef0}.env-current{font-size:12px;color:var(--muted);text-align:center;margin-top:4px}.apply-time-del{background:#ffeef0;color:var(--danger);border-color:var(--danger)}.apply-time-del:not(:disabled):active{background:#ffcdd2}.apply-save-btn{width:100%;padding:12px;font-size:15px;font-weight:600;font-family:inherit;background:var(--primary);color:#fff;border:0;border-radius:8px;cursor:pointer;transition:background .15s}.apply-save-btn:disabled{background:var(--pill-bg);color:var(--muted);cursor:default}.apply-save-btn:not(:disabled):active{background:var(--primary-strong)}#loginModal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:#0009;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:24px;animation:wc-fade-in .2s ease-out}.login-modal-spinner{width:48px;height:48px;border:5px solid rgba(255,255,255,.2);border-top-color:#fff;border-right-color:#fff;border-radius:50%;animation:wc-spin .9s linear infinite}.login-modal-title{font-size:20px;font-weight:700;color:#fff;letter-spacing:-.3px}.login-modal-msg{font-size:15px;color:#ffffffd9;text-align:center;line-height:1.5}.login-modal-id{font-size:13px;color:#ffffff80;font-variant-numeric:tabular-nums}.install-banner{position:fixed;bottom:calc(var(--tabbar-h) + var(--safe-bottom) + 8px);left:12px;right:12px;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:12px 16px;display:flex;align-items:center;gap:10px;box-shadow:0 4px 16px #0000001f;z-index:20;animation:wc-fade-in .25s ease-out}.install-banner span{flex:1;font-size:13px;color:var(--text);line-height:1.4}.install-btn{padding:8px 16px;font-size:13px;font-weight:600;font-family:inherit;background:var(--primary);color:#fff;border:0;border-radius:8px;cursor:pointer;white-space:nowrap}.install-btn:active{background:var(--primary-strong)}.install-dismiss{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:transparent;border:0;color:var(--muted);cursor:pointer;font-size:16px;flex-shrink:0}
