.app-dialog-overlay[data-v-c9f21224]{z-index:5000;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0f172a85;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.app-dialog[data-v-c9f21224]{border:1px solid var(--border);background:var(--surface);border-radius:16px;width:min(440px,100%);padding:24px;box-shadow:0 24px 70px #0f172a47}.app-dialog-icon[data-v-c9f21224]{width:38px;height:38px;color:var(--accent);background:var(--accent-dim);border-radius:10px;place-items:center;margin-bottom:14px;font-size:21px;display:grid}.app-dialog.is-danger .app-dialog-icon[data-v-c9f21224]{color:var(--danger);background:var(--danger-dim)}.app-dialog-title[data-v-c9f21224]{color:var(--text);margin:0;font-size:18px}.app-dialog-message[data-v-c9f21224]{color:var(--text-muted);white-space:pre-line;margin:10px 0 0;line-height:1.7}.app-dialog-input[data-v-c9f21224]{border:1px solid var(--border);width:100%;color:var(--text);background:var(--surface2);font:inherit;border-radius:8px;margin-top:18px;padding:10px 12px}.app-dialog-input[data-v-c9f21224]:focus{border-color:var(--accent);outline:2px solid var(--accent-dim)}.app-dialog-times[data-v-c9f21224]{gap:12px;margin-top:18px;display:flex}.app-dialog-time[data-v-c9f21224]{flex-direction:column;flex:1;gap:5px;display:flex}.app-dialog-time-label[data-v-c9f21224]{color:var(--text-muted);font-size:12px}.app-dialog-time .app-dialog-input[data-v-c9f21224]{margin-top:0}.app-dialog-actions[data-v-c9f21224]{justify-content:flex-end;gap:10px;margin-top:22px;display:flex}.app-dialog-danger[data-v-c9f21224]{border-color:var(--danger);background:var(--danger)}:root{--color-w:#fff;--color-bg:#f4f2f2;--color-main:#0058a4;--color-main2:#0093e9;--color-main3:#57c0c9;--color-menu:#8b989e;--color-moji:#544542;--color-0:#000;--color-1:#111;--color-2:#202020;--color-3:#474747;--color-4:#7c7c7c;--color-5:#a0a0a0;--color-6:#c4c4c4;--color-7:#d8d8d8;--color-8:#e5e5e5;--color-9:#f4f4f4;--color-10:#fff;--color-info:#eceff3;--font-main:"\"Outfit\"", "IBM Plex Sans JP", sans-serif;--bg:#0b0e18;--surface:#131826;--surface2:#1a2133;--surface3:#212840;--border:#28334d;--border2:#323f5a;--text:#dde3f0;--text-01:#b6c2dc;--text-02:#8b99ba;--text-muted:#7a8aa5;--text-dim:#3d4d6a;--accent:#4f8ef7;--accent-dim:#4f8ef721;--success:#2dd4a0;--success-dim:#2dd4a021;--warn:#cc8500;--warn-dim:#f5a62321;--danger:#f06060;--danger-dim:#f0606021;--purple:#9b7ff4;--purple-dim:#9b7ff421;--shadow-sm:0 1px 3px #0000004d;--shadow-lg:0 8px 32px #00000073}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);min-height:100vh;font-family:Noto Sans JP,sans-serif;font-size:13px}body a{color:inherit;text-decoration:none!important}.input,.search-input,.sel,.form-input,.form-select,.editable-input,.editable-select{background:var(--surface2);border:1px solid var(--border);color:var(--text);border-radius:7px;outline:none;padding:6px;font-family:Noto Sans JP,sans-serif;font-size:13px;transition:border-color .15s}.spacer{flex:1}.overlay{z-index:500;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#060a14a8;justify-content:center;align-items:center;padding:14px;display:none;position:fixed;inset:0}.overlay.open{display:flex}.overlay .form-row{padding:12px 0}.overlay .form-control{width:100%}.overlay .form-control select{min-width:100px;width:100%!important}.overlay .form-control .input:not(.w-sm){width:100%}.sheet{background:var(--surface);border:1px solid var(--border);width:380px;max-height:calc(100vh - 28px);box-shadow:var(--shadow-lg);border-radius:16px;padding:22px;animation:.2s cubic-bezier(.34,1.5,.64,1) popIn;overflow-y:auto}.sh-header{justify-content:space-between;align-items:flex-start;margin-bottom:16px;display:flex}.sh-title{font-size:15px;font-weight:700}.sh-close{background:var(--surface2);border:1px solid var(--border);cursor:pointer;width:28px;height:28px;color:var(--text-muted);border-radius:50%;justify-content:center;align-items:center;font-size:16px;display:flex}.sh-close:hover{background:var(--surface3)}.sh-row{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:10px 0;display:flex}.sh-row:last-of-type{border-bottom:none}.sh-label{color:var(--text-muted);min-width:80px;font-size:11.5px}.sh-val{font-size:13px;font-weight:500}.sh-val.mono{font-family:DM Mono,monospace}.sh-actions{gap:8px;margin-top:18px;display:flex}.sa{text-align:center;cursor:pointer;border-radius:8px;flex:1;padding:10px;font-size:13px;font-weight:700;transition:all .12s}.sa.disabled{opacity:.55;pointer-events:none}.sa-cancel{background:var(--surface2);color:var(--text-muted);border:1px solid var(--border)}.sa-save{background:var(--accent);color:#fff;box-shadow:0 3px 10px #3b6ff54d}.sa-stamp{background:color-mix(in srgb, var(--accent) 14%, transparent);color:var(--accent);border:1px solid color-mix(in srgb, var(--accent) 45%, transparent)}.sa-stamp:hover{background:var(--accent);color:#fff}.sa-warn{background:color-mix(in srgb, var(--warn) 14%, transparent);color:var(--warn);border:1px solid color-mix(in srgb, var(--warn) 45%, transparent)}.sa-warn:hover{background:var(--warn);color:#fff}.input:focus,.search-input:focus,.sel:focus,.form-input:focus,.form-select:focus,.editable-input:focus,.editable-select:focus{border-color:var(--accent)}.topnav{background:var(--surface);border-bottom:1px solid var(--border);z-index:200;align-items:center;gap:24px;height:52px;padding:0 24px;display:flex;position:sticky;top:0}.topnav .logo{color:var(--accent);cursor:pointer;letter-spacing:.05em;white-space:nowrap;align-items:center;gap:8px;margin:5px 0 0;font-family:DM Mono,monospace;font-size:14px;font-weight:500;text-decoration:none;display:flex}.topnav .logo .logo_img{width:181px}.topnav .logo .logo_txt{opacity:.8;margin:-5px 0 0;font-size:12px;line-height:1}.topnav .logo span{color:var(--text-muted)}.nav-tabs{gap:2px;margin-left:8px;display:flex}.nav-tabs .nav-tab{color:var(--text-muted);white-space:nowrap;cursor:pointer;border-radius:6px;font-size:12.5px;transition:all .15s;position:relative}.nav-tabs .nav-tab a{color:inherit;padding:5px 14px;display:block}.nav-tabs .nav-tab:hover{color:var(--text);background:var(--surface2)}.nav-tabs .nav-tab.active{color:var(--color-w);background:var(--text-muted)}.nav-right{align-items:center;gap:12px;margin-left:auto;display:flex}.nav-right .date-badge{color:var(--color-w);background:var(--surface2);border:1px solid var(--border);border-radius:5px;padding:4px 10px;font-family:DM Mono,monospace;font-size:11.5px}.nav-right .avatar{background:linear-gradient(135deg, var(--accent), var(--purple));color:#fff;cursor:pointer;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;font-size:11px;font-weight:700;display:flex}.nav-right .avatar-menu{position:relative}.nav-right .avatar-menu .avatar-dropdown{background:var(--surface2);border:1px solid var(--border);min-width:190px;box-shadow:var(--shadow-lg);opacity:0;visibility:hidden;z-index:200;border-radius:8px;padding:6px;transition:opacity .15s,transform .15s,visibility .15s;position:absolute;top:calc(100% + 8px);right:0;transform:translateY(-4px)}.nav-right .avatar-menu.open .avatar-dropdown{opacity:1;visibility:visible;transform:translateY(0)}.nav-right .avatar-menu .avatar-dropdown-head{border-bottom:1px solid var(--border);margin-bottom:6px;padding:8px 10px 10px}.nav-right .avatar-menu .avatar-dropdown-name{color:var(--text);font-size:13px;font-weight:700}.nav-right .avatar-menu .avatar-dropdown-role{color:var(--text-muted);margin-top:2px;font-size:11px}.nav-right .avatar-menu .avatar-dropdown-item{color:var(--text-muted);cursor:pointer;border-radius:6px;align-items:center;gap:8px;padding:8px 10px;font-size:12.5px;transition:all .12s;display:flex}.nav-right .avatar-menu .avatar-dropdown-item i{font-size:16px}.nav-right .avatar-menu .avatar-dropdown-item:hover{background:var(--surface3);color:var(--text)}.nav-right .avatar-menu .avatar-dropdown-item.danger:hover{color:var(--danger)}.view-tabs{background:var(--surface2);border:1px solid var(--border);border-radius:7px;gap:2px;padding:2px;display:flex}.vtab{cursor:pointer;color:var(--text-muted);white-space:nowrap;border-radius:5px;padding:3px 12px;font-size:11.5px;transition:all .12s}.vtab a{color:inherit}.vtab.active{background:var(--surface3);color:var(--color-10);box-shadow:var(--shadow-sm);font-weight:600}.vtab:not(.active):hover{color:var(--text)}.ci-assigned{background:#3b82f64d;border-color:#b8ccfc}.ci-assigned.has-warn{background:#d8e6fd;border-color:#b8ccfc}.ci-assigned.has-conflict{background:#f0606040;border-color:#f0606080}.ci-assigned.has-conflict .cell-code{color:#f06060}.ci-late,.ci-ot{background:#f59e0b26;border-color:#fde8a0}.ci-absent{background:var(--danger-dim);border-color:#f9c8c8}.ci-leave{background:var(--purple-dim);border-color:#d4c4f9}.ci-done,.ci-empty{background:var(--surface2);border-color:var(--border)}.ci-scheduled{background:#14a87a33;border-color:#14a87a73}.layout{height:calc(100vh - 52px);display:flex}.sidebar{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;align-items:center;gap:8px;width:52px;height:calc(100vh - 52px);padding:16px 0;display:flex}.sidebar .side-icon{cursor:pointer;width:36px;height:36px;color:var(--text-muted);border-radius:8px;justify-content:center;align-items:center;font-size:20px;transition:all .15s;display:flex;position:relative}.sidebar .side-icon:hover{background:var(--surface2);color:var(--text)}.sidebar .side-icon.active{background:var(--text-muted);color:var(--color-w)}.sidebar .side-icon a,.sidebar .side-icon i{color:inherit}.side-badge{background:var(--danger);border-radius:50%;width:8px;height:8px;position:absolute;top:4px;right:4px}.main{flex-direction:column;flex:1;gap:16px;min-width:0;padding:20px;display:flex;overflow-y:auto}.section-header{align-items:center;gap:8px;margin-bottom:10px;display:flex}.section-label{letter-spacing:.1em;text-transform:uppercase;color:var(--text-02);font-size:12px;font-weight:700}.section-label i{font-size:13px}.section-line{background:var(--border);flex:1;height:1px}.card-badge{border:1px solid;border-radius:20px;padding:2px 8px;font-family:DM Mono,monospace;font-size:11px;font-weight:500}.card-badge.warn{color:var(--warn);border-color:var(--warn);background:var(--warn-dim)}.card-badge.danger{color:var(--danger);border-color:var(--danger);background:var(--danger-dim)}.card-badge.success{color:var(--success);border-color:var(--success);background:var(--success-dim)}.card-badge.accent{color:var(--accent);border-color:var(--accent);background:var(--accent-dim)}.card-badge.purple{color:var(--purple);border-color:var(--purple);background:var(--purple-dim)}.cards-row{gap:12px;display:grid}.cards-row.cols-4{grid-template-columns:repeat(4,1fr)}.cards-row.cols-2{grid-template-columns:repeat(2,1fr);align-items:start}.cards-row.cols-3{grid-template-columns:repeat(3,1fr)}.cards-row .card a:after{content:"";z-index:1;position:absolute;inset:0}.card{background:var(--surface);border:1px solid var(--border);cursor:pointer;border-radius:10px;padding:14px 16px;transition:border-color .15s,transform .1s;position:relative;overflow:hidden}.card:hover{border-color:var(--accent);transform:translateY(-1px)}.card:before{content:"";border-radius:10px 0 0 10px;width:3px;height:100%;position:absolute;top:0;left:0}.card.warn:before{background:var(--warn)}.card.warn .card-value{color:var(--warn)}.card.danger:before{background:var(--danger)}.card.danger .card-value{color:var(--danger)}.card.success:before{background:var(--success)}.card.success .card-value{color:var(--success)}.card.accent:before{background:var(--accent)}.card.accent .card-value{color:var(--accent)}.card.purple:before{background:var(--purple)}.card.purple .card-value{color:var(--purple)}.card-header{justify-content:space-between;align-items:flex-start;margin-bottom:10px;display:flex}.card-title{color:var(--text-02);font-size:12px;font-weight:400}.card-value{margin-bottom:6px;font-family:DM Mono,monospace;font-size:28px;font-weight:500;line-height:1}.card-sub{color:var(--text-02);font-size:11px}.card-action{color:var(--accent);border:1px solid var(--border);background:var(--accent-dim);border-radius:5px;align-items:center;gap:4px;margin-top:10px;padding:4px 10px;font-size:11px;transition:all .15s;display:inline-flex}.card-action:hover{border-color:var(--accent)}.alert-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;overflow:hidden}.alert-card-header{border-bottom:1px solid var(--border);background:var(--surface2);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.alert-card-title{align-items:center;gap:6px;font-size:12px;font-weight:500;display:flex}.dot{border-radius:50%;width:6px;height:6px}.dot.danger{background:var(--danger);box-shadow:0 0 6px var(--danger);animation:2s infinite pulse}.dot.warn{background:var(--warn)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.alert-row{border-bottom:1px solid var(--border);cursor:pointer;align-items:center;gap:12px;padding:10px 16px;transition:background .1s;display:flex}.alert-row:last-child{border-bottom:none}.alert-row:hover{background:var(--surface2)}.alert-row.is-hidden{display:none}.alert-more{cursor:pointer}.alert-more:hover{background:var(--surface2)}.emp-avatar{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:10px;font-weight:700;display:flex}.emp-name{flex:1;font-size:12.5px;font-weight:500}.emp-name a{color:inherit;cursor:pointer}.emp-name a:hover{color:var(--accent);text-decoration:underline}.emp-dept{color:var(--text-muted);font-size:11px}.emp-shift{color:var(--text-muted);font-family:DM Mono,monospace;font-size:11px}.status-chip{white-space:nowrap;border-radius:20px;padding:2px 8px;font-size:10.5px;font-weight:500}.chip-danger{background:var(--danger-dim);color:var(--danger);border:1px solid #ef44444d}.chip-warn{background:var(--warn-dim);color:var(--warn);border:1px solid #f59e0b4d}.chip-success{background:var(--success-dim);color:var(--success);border:1px solid #10b9814d}.chip-muted{background:var(--surface2);color:var(--text-muted);border:1px solid var(--border)}.chip-accent{background:var(--accent-dim);color:var(--accent);border:1px solid #3b82f64d}.chip-purple{background:var(--purple-dim);color:var(--purple);border:1px solid #8b5cf64d}.chip-report{background:var(--accent-dim);color:var(--accent);border:1px solid #4f8ef74d}.row-actions{gap:6px;display:flex}.mini-btn{border:1px solid var(--border);background:var(--surface2);color:var(--text-muted);cursor:pointer;border-radius:5px;justify-content:center;align-items:center;padding:3px 8px;font-size:10.5px;text-decoration:none;transition:all .15s;display:inline-flex}.mini-btn:hover{border-color:var(--accent);color:var(--accent)}.mini-btn.primary{border-color:var(--accent);color:var(--accent);background:var(--accent-dim)}.status-table{background:var(--surface);border:1px solid var(--border);border-radius:10px;overflow:hidden}.table-header{border-bottom:1px solid var(--border);background:var(--surface2);grid-template-columns:180px 80px 1fr 1fr 1fr 100px;gap:8px;padding:8px 16px;display:grid}.th{letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);font-size:10.5px;font-weight:700}.table-row{border-bottom:1px solid var(--border);cursor:pointer;grid-template-columns:180px 80px 1fr 1fr 1fr 100px;align-items:center;gap:8px;padding:9px 16px;transition:background .1s;display:grid}.table-row:last-child{border-bottom:none}.table-row:hover{background:var(--surface2)}.td{color:var(--text);align-items:center;gap:6px;font-size:12px;display:flex}.td.mono{font-family:DM Mono,monospace;font-size:11.5px}.td.muted{color:var(--text-muted)}.shift-bar{align-items:center;gap:6px;display:flex}.time-compare{align-items:center;gap:4px;font-family:DM Mono,monospace;font-size:11px;display:flex}.time-planned{color:var(--text-muted)}.time-actual{color:var(--text)}.time-arrow{color:var(--border);font-size:10px}.summary-grid{grid-template-columns:1fr 1fr 2fr;gap:12px;display:grid}.rank-list{flex-direction:column;gap:6px;margin-top:4px;display:flex}.rank-item{background:var(--surface2);cursor:pointer;border-radius:7px;align-items:center;gap:10px;padding:8px 12px;transition:background .1s;display:flex}.rank-item:hover{background:var(--border)}.rank-num{color:var(--text-muted);text-align:right;width:16px;font-family:DM Mono,monospace;font-size:11px}.rank-num.top{color:var(--warn);font-weight:700}.rank-bar-wrap{flex:1}.rank-bar-bg{background:var(--border);border-radius:2px;height:3px;margin-top:4px}.rank-bar{border-radius:2px;height:3px}.rank-val{white-space:nowrap;font-family:DM Mono,monospace;font-size:11px}.rank-val.warn{color:var(--warn)}.gauge-wrap{flex-direction:column;align-items:center;padding:8px 0;display:flex}svg.gauge{overflow:visible}.mini-chart{padding:0 4px}.chart-bars{align-items:flex-end;gap:4px;height:64px;margin-top:12px;display:flex}.bar-wrap{flex-direction:column;flex:1;align-items:center;gap:3px;display:flex}.bar{cursor:pointer;border-radius:3px 3px 0 0;width:100%;min-height:4px;transition:opacity .15s}.bar:hover{opacity:.8}.bar-label{color:var(--text-muted);font-family:DM Mono,monospace;font-size:9.5px}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.fade-in{animation:.4s both fadeIn}.fade-in:first-child{animation-delay:50ms}.fade-in:nth-child(2){animation-delay:.1s}.fade-in:nth-child(3){animation-delay:.15s}.fade-in:nth-child(4){animation-delay:.2s}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.emp-avatar.tone-danger-strong{color:var(--danger);background:#ef444433}.emp-avatar.tone-warn-strong{color:var(--warn);background:#f59e0b33}.emp-avatar.tone-success{background:var(--success-dim);color:var(--success)}.emp-avatar.tone-accent{background:var(--accent-dim);color:var(--accent)}.emp-avatar.tone-purple{background:var(--purple-dim);color:var(--purple)}.emp-avatar.tone-danger{background:var(--danger-dim);color:var(--danger)}.emp-avatar.tone-warn{background:var(--warn-dim);color:var(--warn)}.emp-avatar.tone-outline{background:var(--surface);color:var(--text-muted);border:1px solid var(--border)}.emp-avatar.sm{width:22px;height:22px;font-size:9px}.card.is-static{cursor:default}.card-header.tight{margin-bottom:6px}.card-header.flush{margin-bottom:0}.card-value-unit{color:var(--text-muted);font-size:16px}.card-action.success{color:var(--success);background:var(--success-dim)}.card-badge.xs{padding:1px 5px;font-size:9.5px}.card-badge.ml{margin-left:8px}.emp-info{flex:1}.alert-more{justify-content:center;padding:8px 16px}.alert-more-text{color:var(--accent);cursor:pointer;font-size:11px}.chip-group{gap:8px;margin-left:8px;display:flex}.td.sm{font-size:11px}.td-note-danger{color:var(--danger);font-size:11px}.time-actual.is-late{color:var(--warn)}.table-more{justify-content:center;padding:12px 16px;display:flex}.table-more-text{color:var(--accent);cursor:pointer;font-size:11.5px}.rank-name{font-size:11.5px}.rank-name.bold{font-weight:500}.rank-val.accent{color:var(--accent)}.rank-val.muted{color:var(--text-muted)}.rank-bar.warn{background:var(--warn)}.rank-bar.accent{background:var(--accent)}.gauge-arc{transition:stroke-dashoffset 1s}.gauge-target{color:var(--text-muted);margin-top:4px;font-size:11px}.gauge-detail{width:100%;margin-top:10px}.gauge-stat-row{color:var(--text-muted);justify-content:space-between;font-size:11px;display:flex}.gauge-stat-row.gap{margin-bottom:4px}.text-strong{color:var(--text)}.text-warn{color:var(--warn)}.chart-legend{align-items:center;gap:8px;display:flex}.chart-legend-item{align-items:center;gap:4px;font-size:10.5px;display:flex}.chart-legend-item.warn{color:var(--warn)}.chart-legend-item.accent{color:var(--accent)}.legend-swatch{border-radius:2px;width:8px;height:8px}.legend-swatch.warn{background:var(--warn)}.legend-swatch.accent{background:var(--accent)}.bar-stack{align-items:flex-end;gap:2px;height:60px;display:flex}.bar.warn{background:var(--warn);border-color:var(--warn);width:10px}.bar.accent{background:var(--accent);border-color:var(--accent);width:10px}.bar.is-forecast{opacity:.6;border-style:dashed;border-width:1px}.bar-label.accent{color:var(--accent)}.chart-summary{background:var(--surface2);border-radius:7px;justify-content:space-between;margin-top:10px;padding:10px;display:flex}.chart-summary-col{text-align:center}.chart-summary-label{color:var(--text-muted);font-size:10.5px}.chart-summary-val{font-family:DM Mono,monospace;font-size:18px;font-weight:500}.chart-summary-val.warn{color:var(--warn)}.chart-summary-val.accent{color:var(--accent)}.chart-summary-val.text{color:var(--text)}.chart-summary-divider{background:var(--border);width:1px}.side-icon.push-bottom{margin-top:auto}.main-spacer{height:20px}.card.linkable{cursor:pointer}.card.linkable .card-link:after{content:"";z-index:1;position:absolute;inset:0}.rank-item{color:inherit;text-decoration:none}.rank-more{border-top:1px solid var(--border);color:var(--accent);text-align:right;margin-top:8px;padding-top:8px;font-size:11px;text-decoration:none;display:block}.rank-more:hover{text-decoration:underline}.toolbar{border-bottom:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-sm);flex-shrink:0;align-items:center;gap:10px;padding:10px 20px;display:flex}.toolbar-title{font-size:16px;font-weight:700}.btn{cursor:pointer;border:1px solid var(--border);background:var(--surface);color:var(--text-02);white-space:nowrap;box-shadow:var(--shadow-sm);border-radius:6px;justify-content:center;align-items:center;padding:5px 13px;font-family:Noto Sans JP,sans-serif;font-size:12px;text-decoration:none;transition:all .12s;display:inline-flex}.btn.disabled{opacity:.55;pointer-events:none}.btn:hover{border-color:var(--border2);color:var(--text)}.btn.success-btn{border-color:var(--success);color:var(--success);background:var(--success-dim)}.btn.danger-btn{border-color:var(--danger);color:var(--danger);background:var(--danger-dim)}.btn.accent-btn{border-color:var(--accent);color:var(--accent);background:var(--accent-dim)}.btn.accent-btn:hover{color:var(--accent)}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 2px 8px #3b6ff540}.btn.sub{text-align:center;border-color:var(--text-muted);color:var(--text-02)}.btn.sm{padding:3px 9px;font-size:12px}.sp-filter-toggle,.sp-day-list,.sp-emp-list,.sp-site-pick,.sp-setting-pick{display:none}.filter-bar{border-bottom:1px solid var(--border);background:var(--surface);flex-wrap:wrap;flex-shrink:0;align-items:center;gap:8px;padding:8px 20px;display:flex}.ftab-group{gap:4px;display:flex}.fb-divider{background:var(--border);flex-shrink:0;width:1px;height:20px;margin:0 2px}.bl-group-head{color:var(--text-01);background:var(--surface2);border-bottom:1px solid var(--border);cursor:pointer;align-items:center;gap:6px;padding:9px 14px;font-size:12px;font-weight:700;display:flex}.bl-group-head .ph{color:var(--text-muted);font-size:12px}.bl-group-head:hover{background:var(--surface3)}.bl-group-count{color:var(--text-muted);margin-left:auto;font-size:10.5px;font-weight:400}.bl-item-grouped{border-left:3px solid #0000;padding-left:23px;position:relative}.emp-av.tone-success{background:var(--success-dim);color:var(--success)}.emp-av.tone-danger{background:var(--danger-dim);color:var(--danger)}.emp-av.tone-warn{background:var(--warn-dim);color:var(--warn)}.emp-av.tone-accent{background:var(--accent-dim);color:var(--accent)}.emp-av.tone-purple{background:var(--purple-dim);color:var(--purple)}.search-wrap{position:relative}.search-input{width:200px;padding:5px 8px 5px 28px}.search-icon{color:var(--text-muted);font-size:12px;position:absolute;top:50%;left:8px;transform:translateY(-50%)}.filter-row{margin-top:6px}.filter-row .search-input{box-sizing:border-box;width:100%;padding-left:10px}.cat-tabs{gap:6px;margin-bottom:8px;display:flex}.cat-tab{border:1px solid var(--border);background:var(--card-bg,#fff);color:var(--text-muted);cursor:pointer;border-radius:6px;flex:1;padding:6px 8px;font-size:12px}.cat-tab.active{background:var(--accent);border-color:var(--accent);color:#fff}.cat-tab .cat-count{opacity:.7;margin-left:2px;font-size:11px}.sel-wrap{position:relative}.sel{cursor:pointer;padding:5px 28px 5px 10px}.sel-arrow{display:none}.ftab{cursor:pointer;border:1px solid var(--border);color:var(--text-muted);white-space:nowrap;border-radius:20px;padding:3px 10px;font-size:11.5px;transition:all .1s}.ftab span{font-family:DM Mono,monospace;font-size:10px}.ftab:hover{color:var(--text-muted)}.ftab.active{border-color:var(--accent);color:var(--accent);background:var(--accent-dim)}.ftab.warn.active{border-color:var(--warn);color:var(--warn);background:var(--warn-dim)}.ftab.danger.active{border-color:var(--danger);color:var(--danger);background:var(--danger-dim)}.ftab.purple.active{border-color:var(--purple);color:var(--purple);background:var(--purple-dim)}.ftab.success.active{border-color:var(--success);color:var(--success);background:var(--success-dim)}.table-wrap{flex:1;overflow:auto}.table-wrap::-webkit-scrollbar{width:5px;height:5px}.table-wrap::-webkit-scrollbar-thumb{background:var(--border2);border-radius:3px}table{border-collapse:collapse;width:100%}thead{z-index:100;position:sticky;top:0}thead tr{background:var(--surface2)}th{text-align:left;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);border-bottom:1px solid var(--border2);white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;padding:8px 14px;font-size:10.5px;font-weight:700}th:hover{color:var(--text)}th.sorted{color:var(--accent)}tbody tr{border-bottom:1px solid var(--border);cursor:pointer;transition:background 80ms}tbody tr:hover{background:var(--surface2)}td{vertical-align:middle;padding:9px 14px;font-size:12.5px}td.mono{font-family:DM Mono,monospace;font-size:11.5px}td.muted{color:var(--text-muted)}.chip{white-space:nowrap;border:1px solid;border-radius:10px;padding:2px 8px;font-size:10.5px;display:inline-block}.chip+.chip{margin-left:5px}.chip-seishain{color:var(--accent);background:var(--accent-dim);border-color:#3b6ff54d}.chip-part{color:var(--text-muted);border-color:var(--border);background:var(--surface2)}.chip-clean{color:var(--accent);background:var(--accent-dim);border-color:#3b6ff540}.chip-demo{color:var(--warn);background:var(--warn-dim);border-color:#d98b0e40}.chip-ok{color:var(--success);background:var(--success-dim);border-color:#12a87a4d}.chip-warn{color:var(--warn);background:var(--warn-dim);border-color:#d98b0e4d}.chip-danger{color:var(--danger);background:var(--danger-dim);border-color:#d43f3f4d}.chip-muted{color:var(--text-muted);border-color:var(--border);background:var(--surface2)}.pagination{border-top:1px solid var(--border);background:var(--surface);flex-shrink:0;align-items:center;gap:8px;padding:8px 20px;display:flex}.pg-info{color:var(--text-muted);font-size:11.5px}.pg-btns{gap:4px;margin-left:auto;display:flex}.pg-btn{cursor:pointer;border:1px solid var(--border);background:var(--surface2);width:28px;height:28px;color:var(--text-muted);border-radius:5px;justify-content:center;align-items:center;font-family:DM Mono,monospace;font-size:12px;display:flex}.pg-btn.active{border-color:var(--accent);color:var(--accent);background:var(--accent-dim)}.pg-btn:hover:not(.active){border-color:var(--border2);color:var(--text)}.main_side{flex-direction:row;gap:0;padding:0;overflow:hidden}.worksite-layout{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.worksite-body{flex-direction:row;flex:1;min-height:0;display:flex;overflow:hidden}.worksite-filterbar{border-bottom:1px solid var(--border);background:var(--surface);flex-shrink:0;align-items:center;gap:8px;padding:8px 20px;display:flex;overflow-x:auto}.worksite-filterbar::-webkit-scrollbar{height:3px}.worksite-filterbar::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.worksite-filterbar .bbar-label{color:var(--color-w);flex-shrink:0;align-items:center;gap:4px;margin-right:4px;font-size:13px;font-weight:700;display:inline-flex}.worksite-filterbar .cat-tabs{flex:none;margin-bottom:0}.worksite-filterbar .cat-tab{flex:none}.worksite-filterbar .wfb-search{flex:0 0 220px}.worksite-filterbar .wfb-search .search-input{box-sizing:border-box;width:100%}.worksite-filterbar .wfb-sel{flex:none;min-width:160px}.worksite-filterbar .wfb-csv{flex-shrink:0;margin-left:auto}.worksite-filterbar .wfb-new{flex-shrink:0}.worksite-error-banner{color:var(--danger);background:#dc262614;border-bottom:1px solid #dc262640;flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:10px 20px;font-size:13px;font-weight:600;display:flex}.site-list-panel{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;width:280px;display:flex;overflow:hidden}.panel-header{border-bottom:1px solid var(--border);background:var(--surface);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.panel-title{letter-spacing:.08em;text-transform:uppercase;color:var(--color-w);font-size:16px;font-weight:700}.site-scroll{flex:1;overflow-y:auto}.site-scroll::-webkit-scrollbar{width:3px}.site-scroll::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.site-item{border-bottom:1px solid var(--border);cursor:pointer;align-items:center;gap:10px;padding:10px 16px;transition:background .1s;display:flex}.site-item:hover{background:var(--surface2)}.site-item.active{background:var(--accent-dim);border-left:3px solid var(--accent)}.site-icon{border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:15px;display:flex}.site-info{flex:1;min-width:0}.site-item-name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;font-weight:600;overflow:hidden}.site-item.active .site-item-name{color:var(--accent)}.site-item-meta{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:4px 6px;margin-top:3px;font-size:10.5px;display:flex}.site-item-badge{white-space:nowrap;border:1px solid;border-radius:10px;flex-shrink:0;padding:1px 5px;font-size:10px}.badge-clean{color:var(--accent);background:var(--accent-dim);border-color:#3b6ff54d}.badge-demo{color:var(--warn);background:var(--warn-dim);border-color:#d98b0e4d}.badge-patterns{color:var(--text-muted);border-color:var(--border);background:var(--surface2)}.badge-scale{color:var(--purple);background:var(--purple-dim);border-color:#8b5cf64d}.panel-footer{border-top:1px solid var(--border);background:var(--surface2);color:var(--text-muted);justify-content:space-between;align-items:center;padding:10px 14px;font-size:11px;display:flex}.nav-group-label{letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim);padding:12px 16px 4px;font-size:10px;font-weight:700}.nav-item{cursor:pointer;color:var(--text-muted);border-left:3px solid #0000;align-items:center;gap:10px;padding:9px 16px;font-size:12.5px;transition:background .1s;display:flex}.nav-item:hover{background:var(--surface2);color:var(--text)}.nav-item.active{background:var(--accent-dim);color:var(--accent);border-left-color:var(--accent);font-weight:500}.nav-item-icon{text-align:center;flex-shrink:0;width:20px;font-size:15px}.edit-panel{flex:1;padding:20px;overflow-y:auto}.edit-panel::-webkit-scrollbar{width:5px}.edit-panel::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.edit-section{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm);border-radius:12px;margin-bottom:16px;overflow:hidden}.edit-section-header{border-bottom:1px solid var(--border);background:var(--surface2);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.edit-section-title{letter-spacing:.06em;text-transform:uppercase;color:var(--text-01);align-items:center;gap:6px;font-size:12px;font-weight:700;display:flex}.form-grid{grid-template-columns:1fr 1fr;gap:0;display:grid}.form-row{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:12px 16px;display:flex}.form-row:last-child{border-bottom:none}.form-row.full{grid-column:1/-1}.form-label{color:var(--text-muted);flex-shrink:0;min-width:100px;font-size:14px}.form-label .required{color:var(--danger);margin-left:2px}.form-input{flex:1;padding:7px 10px}.form-input:focus{border-color:var(--accent);background:var(--surface)}.form-input.err{border-color:var(--danger)}.form-select{cursor:pointer;flex:1;padding:7px 10px}.job-type-field{flex:1;min-width:0}.job-type-field>.form-select{width:100%}.job-type-options{flex-wrap:wrap;gap:7px;display:flex}.job-type-options.is-disabled{opacity:.65}.job-type-option{border:1px solid var(--border);background:var(--surface2);cursor:pointer;border-radius:7px;align-items:center;gap:6px;padding:6px 10px;font-size:12px;display:inline-flex}.job-type-option input{accent-color:var(--accent);margin:0}.job-type-option.active{border-color:var(--accent);background:var(--accent-dim);color:var(--accent);font-weight:600}select,.sel,.form-select,.editable-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='7' viewBox='0 0 10 7'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%236b7a99' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;padding-right:28px}.form-hint{color:var(--text-muted);margin-top:3px;font-size:10.5px}.pattern-table{border-collapse:collapse;width:100%}.pattern-table th{background:var(--surface2);text-align:left;letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);border-bottom:1px solid var(--border);padding:8px 12px;font-size:10.5px;font-weight:700}.pattern-table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:9px 12px;font-size:12.5px}.pattern-table tr:last-child td{border-bottom:none}.pattern-table tbody tr{transition:background 80ms}.pattern-table tbody tr:hover{background:var(--surface2)}.pattern-input{color:var(--text);background:0 0;border:none;border-radius:5px;outline:none;width:100%;padding:4px 6px;font-family:Noto Sans JP,sans-serif;font-size:12.5px;transition:all .12s}.pattern-input:focus{background:var(--surface2);border:1px solid var(--accent)}.time-input{background:var(--surface2);border:1px solid var(--border);color:var(--text);border-radius:5px;outline:none;width:90px;padding:4px 8px;font-family:DM Mono,monospace;font-size:12px}.time-input:focus{border-color:var(--accent)}.num-input{background:var(--surface2);border:1px solid var(--border);color:var(--text);text-align:center;border-radius:5px;outline:none;width:60px;padding:4px 8px;font-family:DM Mono,monospace;font-size:12px}.num-input:focus{border-color:var(--accent)}.add-pattern-row{border-top:1px solid var(--border);background:var(--surface2);cursor:pointer;color:var(--accent);align-items:center;gap:8px;padding:10px 12px;font-size:12px;transition:background .1s;display:flex}.add-pattern-row:hover{background:var(--surface3)}.ot-wrap{align-items:center;gap:6px;display:flex}.ot-bar{border-radius:2px;height:4px}.cell-note{margin-top:1px;font-size:9.5px}.cell-empty-label{color:var(--text-dim);font-size:11px}.rt-h{font-family:DM Mono,monospace;font-size:12px;font-weight:500}.rt-d{color:var(--text-muted);font-size:9.5px}.emp-page .main{gap:0;padding:0}.emp-page .layout{height:auto}.emp-page .sidebar{position:sticky;top:52px}.emp-page .pca-banner{border-bottom:1px solid #12a87a33;flex-shrink:0;align-items:center;gap:10px;padding:7px 20px;font-size:11.5px;display:flex}.emp-page .pca-dot{background:var(--success);border-radius:50%;width:7px;height:7px;animation:2s infinite blink}.emp-page .emp-cell{align-items:center;gap:10px;display:flex}.emp-page .emp-av{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;font-size:11px;font-weight:700;display:flex}.emp-page .emp-name{font-size:13px;font-weight:600}.emp-page .emp-id{color:var(--text-muted);margin-top:1px;font-family:DM Mono,monospace;font-size:10.5px}.emp-page .ot-bar-bg{background:var(--border);border-radius:2px;width:50px;height:4px}.emp-page .ot-val{min-width:32px;font-family:DM Mono,monospace;font-size:11.5px}.emp-page .detail-toolbar{border-bottom:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-sm);flex-shrink:0;align-items:center;gap:12px;padding:10px 20px;display:flex}.emp-page .back-btn{color:var(--text-muted);cursor:pointer;border:1px solid var(--border);background:var(--surface2);border-radius:6px;align-items:center;gap:5px;padding:4px 10px;font-size:12.5px;transition:all .12s;display:flex}.emp-page .back-btn:hover{color:var(--text);border-color:var(--border2)}.emp-page .detail-body{flex:1;grid-template-columns:320px 1fr;align-items:start;gap:16px;padding:20px;display:grid;overflow-y:auto}.emp-page .detail-body::-webkit-scrollbar{width:5px}.emp-page .detail-body::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.emp-page .ecard{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm);border-radius:12px;margin-bottom:14px;overflow:hidden}.emp-page .ecard-header{border-bottom:1px solid var(--border);background:var(--surface2);justify-content:space-between;align-items:center;padding:11px 16px;display:flex}.emp-page .ecard-title{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);align-items:center;gap:6px;font-size:11px;font-weight:700;display:flex}.emp-page .ecard-body{padding:14px 16px}.emp-page .profile-top{border-bottom:1px solid var(--border);align-items:center;gap:14px;padding:16px;display:flex}.emp-page .profile-av{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:52px;height:52px;font-size:20px;font-weight:700;display:flex}.emp-page .profile-name{font-size:17px;font-weight:700}.emp-page .profile-id{color:var(--text-muted);margin-top:2px;font-family:DM Mono,monospace;font-size:11px}.emp-page .profile-chips{flex-wrap:wrap;gap:5px;margin-top:5px;display:flex}.emp-page .info-row{border-bottom:1px solid var(--border);align-items:center;padding:9px 0;display:flex}.emp-page .info-row:last-child{border-bottom:none}.emp-page .info-label{color:var(--text-muted);flex-shrink:0;min-width:110px;font-size:11.5px}.emp-page .info-val{flex-wrap:wrap;flex:1;align-items:center;gap:8px;font-size:12.5px;display:flex}.emp-page .info-val.mono{font-family:DM Mono,monospace;font-size:12px}.emp-page .info-val.pca{color:var(--text-muted);align-items:center;gap:5px;font-size:11.5px;display:flex}.emp-page .pca-lock{background:var(--surface2);border:1px solid var(--border);color:var(--text-dim);border-radius:4px;padding:1px 5px;font-size:10px}.emp-page .ng-row .info-val{flex-direction:column;align-items:stretch}.emp-page .ng-chips{flex-wrap:wrap;gap:6px;display:flex}.emp-page .ng-chip-x{cursor:pointer;margin-left:4px}.emp-page .ng-chip-x:hover{color:var(--danger)}.emp-page .ng-search-wrap{margin-top:6px;position:relative}.emp-page .ng-search-results{z-index:5;background:var(--surface);border:1px solid var(--border);border-radius:8px;max-height:180px;position:absolute;top:calc(100% + 2px);left:0;right:0;overflow-y:auto;box-shadow:0 6px 18px #00000040}.emp-page .ng-search-item{cursor:pointer;padding:7px 10px;font-size:12.5px}.emp-page .ng-search-item:hover{background:var(--surface2)}.emp-page .editable-input{width:100%;padding:5px 8px}.emp-page .editable-input:focus{border-color:var(--accent);background:var(--surface)}.emp-page .editable-select{appearance:none;cursor:pointer;width:100%;padding:5px 24px 5px 8px}.emp-page .toggle-wrap{align-items:center;gap:8px;display:flex}.emp-page .toggle{background:var(--border);cursor:pointer;border-radius:10px;flex-shrink:0;width:36px;height:20px;transition:background .2s;position:relative}.emp-page .toggle.on{background:var(--accent)}.emp-page .toggle:after{content:"";background:#fff;border-radius:50%;width:14px;height:14px;transition:left .2s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0003}.emp-page .toggle.on:after{left:19px}.emp-page .toggle-label{color:var(--text-muted);font-size:12px}.emp-page .kintai-grid{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.emp-page .kintai-item{text-align:center}.emp-page .kintai-val{font-family:DM Mono,monospace;font-size:20px;font-weight:500;line-height:1}.emp-page .kintai-lbl{color:var(--text-muted);margin-top:3px;font-size:10px}.emp-page .req-item{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:9px 0;display:flex}.emp-page .req-item:last-child{border-bottom:none}.emp-page .req-icon{border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;font-size:14px;display:flex}.emp-page .req-info{flex:1}.emp-page .req-title{font-size:12.5px;font-weight:500}.emp-page .req-date{color:var(--text-muted);margin-top:1px;font-family:DM Mono,monospace;font-size:10.5px}.emp-page .req-status{white-space:nowrap;border:1px solid;border-radius:10px;padding:2px 8px;font-size:11px}.emp-page .log-table{border-collapse:collapse;width:100%}.emp-page .log-table th{text-align:left;letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);background:var(--surface2);border-bottom:1px solid var(--border);padding:6px 10px;font-size:10px;font-weight:700}.emp-page .log-table td{border-bottom:1px solid var(--border);padding:7px 10px;font-size:12px}.emp-page .log-table tr:last-child td{border-bottom:none}.emp-page .log-table tbody tr:hover{background:var(--surface2)}@keyframes blink{0%,to{opacity:1}50%{opacity:.5}}.worksite-page .card{cursor:default}.worksite-page .card:hover{border-color:var(--border);transform:none}.worksite-page .site-item.archived{opacity:.5}.worksite-page .site-item.archived .site-item-name{color:var(--text-muted)}.worksite-page .site-item.archived.active{opacity:.85}.worksite-page .badge-archived{color:var(--warn);background:var(--warn-dim);border-color:#f5a62359}.worksite-page .main{flex:1;gap:0;padding:0;display:flex;overflow:hidden}.worksite-page .layout{height:calc(100vh - 52px);display:flex}.worksite-page .csv-section{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm);border-radius:12px;margin-bottom:16px;overflow:hidden}.worksite-page .csv-tabs{border-bottom:1px solid var(--border);display:flex}.worksite-page .csv-tab{text-align:center;cursor:pointer;color:var(--text-muted);border-right:1px solid var(--border);flex:1;padding:10px;font-size:12.5px;transition:all .12s}.worksite-page .csv-tab:last-child{border-right:none}.worksite-page .csv-tab.active{color:var(--accent);background:var(--accent-dim);font-weight:600}.worksite-page .csv-body{padding:16px}.worksite-page .drop-zone{border:2px dashed var(--border2);text-align:center;cursor:pointer;background:var(--surface2);border-radius:10px;flex-direction:column;align-items:center;padding:28px;transition:all .15s;display:flex}.worksite-page .drop-zone:hover,.worksite-page .drop-zone.drag-over{border-color:var(--accent);background:var(--accent-dim)}.worksite-page .drop-icon{margin-bottom:8px;font-size:32px}.worksite-page .drop-title{margin-bottom:4px;font-size:13px;font-weight:600}.worksite-page .drop-sub{color:var(--text-muted);font-size:11.5px}.worksite-page .drop-btn{background:var(--accent);color:#fff;cursor:pointer;border-radius:6px;margin-top:10px;padding:6px 16px;font-size:12px;display:inline-block}.worksite-page .csv-format{background:var(--surface2);border-radius:8px;margin-top:14px;padding:12px 14px}.worksite-page .csv-format-title{color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase;margin-bottom:6px;font-size:10.5px;font-weight:700}.worksite-page .csv-format-code{color:var(--text);white-space:pre;font-family:DM Mono,monospace;font-size:11px;line-height:1.8;overflow-x:auto}.worksite-page .csv-dl{gap:8px;margin-top:10px;display:flex}.worksite-page .preview-wrap{border:1px solid var(--border);border-radius:8px;margin-top:14px;overflow-x:auto}.worksite-page .preview-table{border-collapse:collapse;width:100%;font-size:11.5px}.worksite-page .preview-table th{background:var(--surface2);text-align:left;color:var(--text-muted);letter-spacing:.04em;border-bottom:1px solid var(--border);white-space:nowrap;padding:6px 10px;font-size:10.5px;font-weight:700}.worksite-page .preview-table td{border-bottom:1px solid var(--border);padding:7px 10px}.worksite-page .preview-table tr:last-child td{border-bottom:none}.worksite-page .preview-table tbody tr:hover{background:var(--surface2)}.worksite-page .preview-ok{color:var(--success);font-size:11px}.worksite-page .preview-error{color:var(--danger);font-size:11px}.worksite-page .save-bar{background:linear-gradient(to top, var(--bg) 60%, transparent);justify-content:flex-end;gap:10px;padding:16px 0 4px;display:flex;position:sticky;bottom:0}.worksite-page .sheet{width:420px}.worksite-page .csv-sheet{width:680px;max-width:92vw;max-height:88vh;overflow-y:auto}.worksite-page .csv-mode{background:var(--surface2);border:1px solid var(--border);border-radius:7px;gap:2px;padding:2px;display:inline-flex}.worksite-page .csv-mode-tab{cursor:pointer;color:var(--text-muted);white-space:nowrap;border-radius:5px;padding:4px 12px;font-size:11.5px}.worksite-page .csv-mode-tab.active{background:var(--surface3);color:var(--text);box-shadow:var(--shadow-sm);font-weight:600}@keyframes popIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:none}}.worksite-page .sa-save{background:var(--accent);color:#fff;box-shadow:0 3px 10px #3b6ff54d}.worksite-page .sa-danger{background:var(--danger-dim);color:var(--danger);border:1px solid #d43f3f40}.worksite-page .tag{border:1px solid;border-radius:10px;align-items:center;gap:4px;padding:2px 8px;font-size:11px;display:inline-flex}.worksite-page input[type=file]{display:none}.worksite-page .site-list-panel .search-input{border-radius:0;width:100%}.shift-daily-page .cell-inner.cell-changed{box-shadow:inset 0 0 0 1.5px var(--accent)}.shift-daily-page .cell-inner.cell-changed:after{content:"変更";background:var(--accent);color:#fff;z-index:2;border-radius:5px 0;padding:1px 3px;font-size:7px;line-height:1;position:absolute;top:-1px;left:-1px}.shift-daily-page .hist-badge{background:var(--accent);color:#fff;border-radius:8px;justify-content:center;align-items:center;min-width:16px;height:16px;margin-left:5px;padding:0 4px;font-size:10px;font-weight:700;display:inline-flex}.shift-daily-page .hist-item{border-bottom:1px solid var(--border);gap:10px;padding:10px 2px;display:flex}.shift-daily-page .hist-item:last-child{border-bottom:none}.shift-daily-page .hist-dot{background:var(--accent);border-radius:50%;flex-shrink:0;width:7px;height:7px;margin-top:5px}.shift-daily-page .hist-msg{color:var(--text);font-size:12.5px}.shift-daily-page .hist-meta{color:var(--text-muted);margin-top:3px;font-size:10.5px}.shift-daily-page .hist-notify{color:var(--success)}.shift-daily-page .main{flex-direction:column;flex:1;gap:0;min-width:0;padding:0;display:flex;overflow:hidden}.shift-daily-page .day-nav{background:var(--surface2);border:1px solid var(--border);border-radius:8px;align-items:center;gap:2px;padding:2px;display:flex}.shift-daily-page .day-btn{cursor:pointer;width:28px;height:28px;color:var(--text-muted);border-radius:6px;justify-content:center;align-items:center;font-size:15px;transition:all .1s;display:flex}.shift-daily-page .day-btn:hover{background:var(--border);color:var(--text)}.shift-daily-page .day-label{color:var(--text);text-align:center;min-width:140px;padding:0 12px;font-family:DM Mono,monospace;font-size:13px;font-weight:500}.shift-daily-page .summary-strip{border-bottom:1px solid var(--border);background:var(--surface);flex-shrink:0;display:flex}.shift-daily-page .sum-item{border-right:1px solid var(--border);flex:1;padding:9px 16px}.shift-daily-page .sum-item:last-child{border-right:none}.shift-daily-page .sum-label{color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase;margin-bottom:2px;font-size:10px}.shift-daily-page .sum-val{font-family:DM Mono,monospace;font-size:20px;font-weight:500;line-height:1}.shift-daily-page .sum-sub{color:var(--text-muted);margin-top:2px;font-size:10px}.shift-daily-page .alert-bar{border-bottom:1px solid #fde8b0;flex-shrink:0;align-items:center;gap:10px;padding:6px 20px;font-size:12px;display:flex}.shift-daily-page .alert-bar.hidden{display:none}.shift-daily-page .legend-bar{border-bottom:1px solid var(--border);background:var(--surface2);flex-shrink:0;align-items:center;gap:14px;padding:6px 20px;display:flex}.shift-daily-page .leg{color:var(--text-muted);align-items:center;gap:5px;font-size:11px;display:flex}.shift-daily-page .leg-sq{border:1px solid;border-radius:3px;flex-shrink:0;width:12px;height:12px}.shift-daily-page .matrix-wrap{flex:1;min-width:0;position:relative;overflow:auto}.shift-daily-page .matrix-wrap::-webkit-scrollbar{width:8px;height:13px}.shift-daily-page .matrix-wrap::-webkit-scrollbar-track{background:var(--surface2);border-top:1px solid var(--border)}.shift-daily-page .matrix-wrap::-webkit-scrollbar-thumb{background:var(--border2);border:3px solid var(--surface2);border-radius:7px;min-width:60px}.shift-daily-page .matrix-wrap::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.shift-daily-page .matrix-wrap::-webkit-scrollbar-corner{background:var(--surface2)}.shift-daily-page table{border-collapse:collapse;table-layout:auto;min-width:100%}.shift-daily-page th,.shift-daily-page td{border-right:1px solid var(--border);border-bottom:1px solid var(--border)}.shift-daily-page .corner-cell{z-index:30;background:var(--surface2);border-right:2px solid var(--border2) \!important;width:180px;min-width:180px;max-width:180px;padding:8px 14px;position:sticky;top:0;left:0}.shift-daily-page thead tr:first-child th{z-index:20;background:var(--surface2);white-space:nowrap;border-right:2px solid var(--border);padding:0 14px;position:sticky;top:0}.shift-daily-page thead tr:last-child th{z-index:20;background:var(--surface);color:var(--text-muted);text-align:center;white-space:nowrap;border-bottom:2px solid var(--border2);padding:4px 6px;font-size:10px;font-weight:400;position:sticky;top:41px}.shift-daily-page thead tr:last-child th.corner2{z-index:30;background:var(--surface);text-align:left;border-right:2px solid var(--border2) \!important;font-size:10.5px;position:sticky;left:0}.shift-daily-page thead tr:first-child th{min-width:120px}.shift-daily-page .site-header{vertical-align:bottom;cursor:default;min-width:120px;padding:0}.shift-daily-page .site-header-inner{flex-direction:column;align-items:center;gap:3px;padding:8px 8px 6px;display:flex}.shift-daily-page .site-name{color:var(--text);text-overflow:ellipsis;white-space:nowrap;text-align:center;max-width:90px;font-size:11.5px;font-weight:700;overflow:hidden}.shift-daily-page .site-type{color:var(--text-muted);font-size:9.5px}.shift-daily-page tbody tr{transition:background 80ms}.shift-daily-page tbody tr:hover{background:#3b6ff508}.shift-daily-page tbody tr:hover .emp-cell{background:#3b6ff50d}.shift-daily-page .emp-cell{z-index:10;background:var(--surface);border-right:2px solid var(--border2) \!important;cursor:pointer;align-items:center;gap:9px;min-width:180px;max-width:180px;padding:7px 14px;transition:background 80ms;display:flex;position:sticky;left:0}.shift-daily-page .emp-av{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;font-size:9px;font-weight:700;display:flex}.shift-daily-page .emp-name{font-size:12.5px;font-weight:500}.shift-daily-page .emp-meta{color:var(--text-muted);font-size:10px}.shift-daily-page .emp-flex-site{margin-top:2px}.shift-daily-page .emp-flex-site .chip{padding:1px 6px;font-size:9.5px}.shift-daily-page .emp-status{flex-shrink:0;margin-left:auto}.shift-daily-page .chip{white-space:nowrap;border:1px solid;border-radius:10px;padding:1px 7px;font-size:10px;display:inline-block}.shift-daily-page .chip-in{color:var(--success);background:var(--success-dim);border-color:#12a87a4d}.shift-daily-page .chip-out{color:var(--text-muted);border-color:var(--border);background:var(--surface2)}.shift-daily-page .chip-absent{color:var(--danger);background:var(--danger-dim);border-color:#d43f3f4d}.shift-daily-page .chip-leave{color:var(--purple);background:var(--purple-dim);border-color:#7c5ce84d}.shift-daily-page .chip-late{color:var(--warn);background:var(--warn-dim);border-color:#d98b0e4d}.shift-daily-page .data-cell{text-align:center;vertical-align:middle;cursor:pointer;min-width:100px;max-width:100px;padding:5px 6px;transition:background 80ms}.shift-daily-page .data-cell:hover{background:#3b6ff50a \!important}.shift-daily-page .cell-inner{border:1px solid #0000;border-radius:7px;flex-direction:column;justify-content:center;align-items:center;gap:2px;min-height:46px;padding:6px;transition:all .1s;display:flex;position:relative}.shift-daily-page .cell-name{font-size:11.5px;font-weight:600}.shift-daily-page .cell-time{margin-top:1px;font-family:DM Mono,monospace;font-size:10px}.shift-daily-page .cell-time.cell-sched{color:var(--accent)}.shift-daily-page .cell-sched-tag{color:var(--accent);background:var(--accent-dim);border-radius:3px;padding:0 5px;font-size:8.5px;font-weight:700;display:inline-block}.shift-daily-page .warn-pip{border-radius:50%;width:6px;height:6px;position:absolute;top:3px;right:3px}.shift-daily-page .row-total{z-index:10;background:var(--surface2);border-left:2px solid var(--border2) \!important;text-align:right;vertical-align:middle;min-width:80px;max-width:80px;padding:5px 10px;position:sticky;right:0}.shift-daily-page .row-total-h{font-family:DM Mono,monospace;font-size:12px;font-weight:500}.shift-daily-page .row-total-d{color:var(--text-muted);font-size:9.5px}.shift-daily-page tfoot{z-index:20;position:sticky;bottom:0}.shift-daily-page tfoot td{background:var(--surface2);text-align:center;border-top:2px solid var(--border2);padding:7px 6px}.shift-daily-page tfoot .foot-label{z-index:25;background:var(--surface2);text-align:left;color:var(--text-muted);border-right:2px solid var(--border2) \!important;min-width:180px;max-width:180px;padding:7px 14px;font-size:11px;position:sticky;left:0}.shift-daily-page tfoot .row-total{z-index:25;border-top:2px solid var(--border2);position:sticky;right:0}.shift-daily-page .site-count{justify-content:center;align-items:center;gap:3px;padding:2px 0;font-family:DM Mono,monospace;font-size:11px;font-weight:600;display:flex}.shift-daily-page .count-ok{color:var(--success)}.shift-daily-page .count-warn{color:var(--warn)}.shift-daily-page .count-danger{color:var(--danger)}.shift-daily-page .sheet{width:480px}.calendar-page .main{gap:0;padding:0}.calendar-page .btn.sm{padding:2px 8px;font-size:11px}.calendar-page .search-input{width:160px;padding:4px 8px 4px 26px}.calendar-page .sel{appearance:none;cursor:pointer;padding:4px 22px 4px 8px}.calendar-page .legend{align-items:center;gap:10px;margin-left:auto;display:flex}.calendar-page .leg{color:var(--text-muted);align-items:center;gap:4px;font-size:10.5px;display:flex}.calendar-page .leg-sq{border-radius:2px;flex-shrink:0;width:11px;height:11px}.calendar-page .leg .leg-hope{color:#c4b5fd;flex-shrink:0;justify-content:center;align-items:center;width:13px;height:13px;font-size:9px;font-weight:700;display:inline-flex}.calendar-page .leg .leg-restset{background:var(--surface2);border:1px solid var(--border2);border-radius:2px;flex-shrink:0;width:11px;height:11px}.calendar-page .leg .leg-cross{color:#fff;background:var(--purple);border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;width:13px;height:13px;font-size:8.5px;font-weight:700;display:inline-flex}.calendar-page .matrix-wrap{flex:1;position:relative;overflow:auto}.calendar-page .matrix-wrap::-webkit-scrollbar{width:5px;height:5px}.calendar-page .matrix-wrap::-webkit-scrollbar-track{background:var(--surface2)}.calendar-page .matrix-wrap::-webkit-scrollbar-thumb{background:var(--border2);border-radius:3px}.calendar-page .matrix-wrap::-webkit-scrollbar-corner{background:var(--surface2)}.calendar-page table{border-collapse:collapse}.calendar-page th,.calendar-page td{border-right:1px solid var(--border);border-bottom:1px solid var(--border)}.calendar-page thead{z-index:50;position:sticky;top:0}.calendar-page thead tr:first-child th{background:var(--surface2);white-space:nowrap;padding:0}.calendar-page .total-th{width:100px!important}.calendar-page thead tr:last-child th{background:var(--surface);border-bottom:2px solid var(--border2);text-align:center;color:var(--text-muted);white-space:nowrap;padding:3px 4px;font-size:9.5px;font-weight:400}.calendar-page thead tr:first-child th.corner{z-index:60;background:var(--surface2);white-space:normal;min-width:170px;max-width:170px;padding:7px 12px;position:sticky;left:0;border-right:2px solid var(--border2)!important}.calendar-page thead tr:last-child .corner2{z-index:55;background:var(--surface);text-align:left;min-width:170px;max-width:170px;padding:3px 12px;position:sticky;left:0;border-right:2px solid var(--border2)!important}.calendar-page .day-th{text-align:center;min-width:32px;max-width:32px;padding:6px 2px 5px}.calendar-page .day-th-num{font-family:DM Mono,monospace;font-size:11.5px;font-weight:600}.calendar-page .day-th-dow{margin-top:1px;font-size:9px}.calendar-page .day-th.sun .day-th-num,.calendar-page .day-th.sun .day-th-dow{color:#f06060}.calendar-page .day-th.sat .day-th-num,.calendar-page .day-th.sat .day-th-dow{color:var(--accent)}.calendar-page .day-th.today-col .day-th-num{color:var(--warn)}.calendar-page .today-indicator{background:var(--warn);border-radius:50%;width:4px;height:4px;margin:2px auto 0}.calendar-page .total-th{z-index:55;background:var(--surface2);text-align:right;min-width:72px;color:var(--text-muted);padding:6px 8px;font-size:10px;font-weight:700;position:sticky;right:0;border-left:2px solid var(--border2)!important}.calendar-page #mainTable .corner{width:170px}.calendar-page thead tr:last-child .total-th2{z-index:55;background:var(--surface);color:var(--text-muted);text-align:right;padding:3px 8px;font-size:9.5px;position:sticky;right:0;border-left:2px solid var(--border2)!important}.calendar-page tbody tr{transition:background 70ms}.calendar-page tbody tr:hover{background:#4f8ef70a}.calendar-page tbody tr:hover .emp-cell{background:linear-gradient(#4f8ef712, #4f8ef712), var(--surface)}.calendar-page .emp-cell{z-index:10;background:var(--surface);vertical-align:middle;cursor:pointer;min-width:170px;max-width:170px;padding:0;transition:background 70ms;position:sticky;left:0;border-right:2px solid var(--border2)!important}.calendar-page .emp-cell-inner{box-sizing:border-box;align-items:center;gap:8px;height:100%;padding:5px 12px;display:flex}.calendar-page .emp-av{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:9px;font-weight:700;display:flex}.calendar-page .emp-name{white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:500;overflow:hidden}.calendar-page .emp-dept{color:var(--text-muted);font-size:10px}.calendar-page .day-cell{text-align:center;vertical-align:middle;cursor:pointer;min-width:32px;max-width:32px;height:36px;padding:2px;transition:background 70ms}.calendar-page .day-cell:hover{background:#4f8ef714!important}.calendar-page .day-cell.holiday-col{cursor:default;pointer-events:none;background:#ffffff03}.calendar-page .day-cell.today-col{background:#f5a6230d}.calendar-page .day-cell span i{font-size:13px;display:block}.calendar-page .cell-sq{border:1px solid #0000;border-radius:4px;justify-content:center;align-items:center;width:100%;height:100%;font-size:10px;transition:all .1s;display:flex}.calendar-page .cell-ap{flex-direction:column;gap:0;line-height:1.1}.calendar-page .cell-ap .cap-code{font-size:9.5px;font-weight:700}.calendar-page .cell-ap .cap-time{opacity:.8;font-family:DM Mono,monospace;font-size:7.5px}.calendar-page .sq-work{background:var(--accent-dim);color:var(--accent);border-color:#4f8ef74d}.calendar-page .sq-ot{background:var(--warn-dim);color:var(--warn);border-color:#f5a6234d}.calendar-page .sq-late{color:var(--warn);background:#f5a62314;border-color:#f5a62340}.calendar-page .sq-absent{background:var(--danger-dim);color:var(--danger);border-color:#f060604d}.calendar-page .sq-leave{background:var(--purple-dim);color:var(--purple);border-color:#9b7ff44d}.calendar-page .sq-holiday{color:var(--text-dim);background:0 0;border-color:#0000}.calendar-page .sq-empty{background:var(--surface2);border-color:var(--border);color:var(--text-dim)}.calendar-page .sq-scheduled{background:var(--success-dim);color:var(--success);border-color:#2dd4a033}.calendar-page .total-cell{z-index:10;background:var(--surface2);text-align:right;vertical-align:middle;min-width:72px;padding:4px 8px;position:sticky;right:0;border-left:2px solid var(--border2)!important}.calendar-page .tc-days{font-family:DM Mono,monospace;font-size:12px;font-weight:500}.calendar-page .tc-hours{color:var(--text-muted);font-size:9.5px}.calendar-page .tc-bar-bg{background:var(--border);border-radius:1px;height:2px;margin-top:3px}.calendar-page .tc-bar{border-radius:1px;height:2px}.calendar-page tfoot{z-index:40;position:sticky;bottom:0}.calendar-page tfoot td{background:var(--surface2);border-top:2px solid var(--border2);text-align:center;padding:4px 2px;font-family:DM Mono,monospace;font-size:10px}.calendar-page tfoot .foot-label{z-index:45;background:var(--surface2);text-align:left;color:var(--text-muted);min-width:170px;max-width:170px;padding:4px 12px;font-family:Noto Sans JP,sans-serif;font-size:10.5px;position:sticky;left:0;border-right:2px solid var(--border2)!important}.calendar-page tfoot .foot-total{z-index:45;background:var(--surface2);text-align:right;color:var(--text-muted);padding:4px 8px;font-size:10px;position:sticky;right:0;border-left:2px solid var(--border2)!important}.calendar-page .sheet{width:340px}.calendar-page .sa-edit{background:var(--accent);color:#fff}.calendar-page .view-mode-tabs{gap:4px;display:flex}.calendar-page .site-cell{cursor:default;vertical-align:middle;min-width:60px;max-width:60px;padding:2px 1px}.calendar-page .site-cell-inner{flex-direction:column;justify-content:center;align-items:center;gap:1px;min-height:32px;display:flex}.calendar-page .site-chip{box-sizing:border-box;text-align:center;width:100%;color:var(--accent);background:var(--accent-dim);white-space:normal;word-break:break-all;border-radius:3px;padding:1px 0;font-size:8px;line-height:1.25;overflow:hidden}.calendar-page .site-chip-code{color:var(--text);opacity:.75;margin-left:2px;font-weight:700;display:inline-block}.calendar-page .site-rest{color:var(--text-muted);font-size:10px;font-weight:700}.calendar-page .site-rest.is-paid-leave{color:var(--purple)}.calendar-page .site-empty{color:var(--text-dim);font-size:10px}.monthly-worksite-page #empTable{table-layout:auto;border-collapse:separate;border-spacing:0}.monthly-worksite-page #empTable thead th{top:0}.monthly-worksite-page .me-corner{z-index:30;box-sizing:border-box;text-align:left;background:var(--surface2);border-right:2px solid var(--border2);border-bottom:2px solid var(--border2);width:150px;min-width:150px;max-width:150px;padding:8px 12px;position:sticky;top:0;left:0}.monthly-worksite-page .me-day{z-index:20;text-align:center;background:var(--surface2);border-bottom:2px solid var(--border2);min-width:34px;max-width:34px;padding:5px 0;position:sticky;top:0}.monthly-worksite-page .me-day .me-day-num{font-size:11px;font-weight:600}.monthly-worksite-page .me-day .me-day-dow{color:var(--text-muted);font-size:8.5px}.monthly-worksite-page .me-day.date-sun,.monthly-worksite-page .me-day.date-sun .me-day-num{color:var(--danger)}.monthly-worksite-page .me-day.date-sat,.monthly-worksite-page .me-day.date-sat .me-day-num{color:var(--accent)}.monthly-worksite-page .me-rt-head{z-index:20;background:var(--surface2);border-bottom:2px solid var(--border2);min-width:64px;position:sticky;top:0}.monthly-worksite-page .me-emp-cell{z-index:10;box-sizing:border-box;background:var(--surface);border-right:2px solid var(--border2);border-bottom:1px solid var(--border);vertical-align:middle;width:150px;min-width:150px;max-width:150px;padding:6px 12px;position:sticky;left:0}.monthly-worksite-page .me-emp-cell .me-emp-inner{align-items:center;gap:8px;display:flex}.monthly-worksite-page .me-emp-cell .me-emp-name{font-size:12px;font-weight:600}.monthly-worksite-page .me-emp-cell .me-emp-dept{color:var(--text-muted);font-size:10px}.monthly-worksite-page .me-cell{text-align:center;vertical-align:middle;border-right:1px solid var(--border);border-bottom:1px solid var(--border);cursor:pointer;min-width:34px;max-width:34px;height:38px;padding:6px 8px;transition:background 80ms}.monthly-worksite-page .me-cell:hover{background:var(--surface2)}.monthly-worksite-page .me-cell.me-we{background:#7878780d}.monthly-worksite-page .me-cell.me-work{background:#3b82f64d;border-color:#3b82f680}.monthly-worksite-page .me-cell.me-off{color:var(--text-dim)}.monthly-worksite-page .me-cell.me-abs{color:var(--danger);font-weight:700}.monthly-worksite-page .me-cell .me-code{font-size:11px;font-weight:700;line-height:1.1}.monthly-worksite-page .me-cell .me-time{color:var(--text-muted);font-family:DM Mono,monospace;font-size:8px}.monthly-worksite-page .main{flex-direction:column;flex:1;gap:0;min-width:0;padding:0;display:flex;overflow:hidden}.monthly-worksite-page .building-bar{border-bottom:1px solid var(--border);background:var(--surface);flex-shrink:0;align-items:center;gap:8px;padding:8px 20px;display:flex;overflow-x:auto}.monthly-worksite-page .building-bar::-webkit-scrollbar{height:3px}.monthly-worksite-page .building-bar::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.monthly-worksite-page .bbar-label{color:var(--text-02);flex-shrink:0;align-items:center;gap:4px;font-size:12px;font-weight:600;display:inline-flex}.monthly-worksite-page .bld-select-wrap .sel{min-width:240px}.monthly-worksite-page .bbar-count{color:var(--text-muted);flex-shrink:0;font-size:11px}.monthly-worksite-page .bld-chip{border:1.5px solid var(--border);background:var(--surface2);cursor:pointer;white-space:nowrap;border-radius:20px;flex-shrink:0;align-items:center;gap:5px;padding:5px 14px;font-size:12px;transition:all .12s;display:flex}.monthly-worksite-page .bld-chip:hover{border-color:var(--border2)}.monthly-worksite-page .bld-chip.active{border-color:var(--accent);color:var(--accent);background:var(--accent-dim);font-weight:600}.monthly-worksite-page .bld-chip .bld-type{opacity:.7;font-size:10px}.monthly-worksite-page .bld-chip .bld-req{color:var(--text-muted);font-family:DM Mono,monospace;font-size:10px}.monthly-worksite-page .bld-chip.active .bld-req{color:var(--accent)}.monthly-worksite-page .summary-strip{border-bottom:1px solid var(--border);background:var(--surface);flex-shrink:0;display:flex}.monthly-worksite-page .sum-item{border-right:1px solid var(--border);background:var(--accent-dim);flex:1;padding:8px 16px}.monthly-worksite-page .sum-item:last-child{border-right:none}.monthly-worksite-page .sum-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:2px;font-size:10px}.monthly-worksite-page .sum-val{font-family:DM Mono,monospace;font-size:18px;font-weight:500;line-height:1}.monthly-worksite-page .sum-sub{color:var(--text-muted);margin-top:1px;font-size:10px}.monthly-worksite-page .matrix-wrap{flex:1;overflow:auto}.monthly-worksite-page .matrix-wrap::-webkit-scrollbar{width:5px;height:5px}.monthly-worksite-page .matrix-wrap::-webkit-scrollbar-track{background:var(--surface2)}.monthly-worksite-page .matrix-wrap::-webkit-scrollbar-thumb{background:var(--border2);border-radius:3px}.monthly-worksite-page .matrix-wrap::-webkit-scrollbar-corner{background:var(--surface2)}.monthly-worksite-page table{border-collapse:collapse;min-width:100%}.monthly-worksite-page th,.monthly-worksite-page td{border-right:1px solid var(--border);border-bottom:1px solid var(--border)}.monthly-worksite-page .corner-cell{z-index:30;background:var(--surface2);width:70px;min-width:70px;max-width:70px;padding:8px 12px;position:sticky;top:0;left:0;border-right:2px solid var(--border2)!important}.monthly-worksite-page thead tr:first-child th{z-index:20;background:var(--surface2);position:sticky;top:0}.monthly-worksite-page .emp-header{box-sizing:border-box;vertical-align:bottom;min-width:130px;max-width:130px;height:48px;padding:0}.monthly-worksite-page .emp-header-inner{flex-direction:column;align-items:center;gap:3px;padding:8px 10px 6px;display:flex}.monthly-worksite-page .emp-av{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;font-size:9px;font-weight:700;display:flex}.monthly-worksite-page .emp-name-h{color:var(--text);text-overflow:ellipsis;white-space:nowrap;text-align:center;max-width:110px;font-size:11.5px;font-weight:700;overflow:hidden}.monthly-worksite-page .emp-dept-h{color:var(--text-muted);font-size:9.5px}.monthly-worksite-page thead tr:last-child th{z-index:20;background:var(--surface);color:var(--text-muted);text-align:center;white-space:nowrap;border-bottom:2px solid var(--border2);padding:4px 6px;font-size:10px;font-weight:400;position:sticky;top:48px}.monthly-worksite-page thead tr:last-child th.corner2{z-index:30;background:var(--surface);text-align:left;padding:4px 12px;font-size:10.5px;position:sticky;left:0;border-right:2px solid var(--border2)!important}.monthly-worksite-page .date-cell{z-index:10;background:var(--surface);min-width:80px;max-width:80px;padding:7px 12px;transition:background 80ms;position:sticky;left:0;border-right:2px solid var(--border2)!important}.monthly-worksite-page .date-num{font-family:DM Mono,monospace;font-size:13px;font-weight:500}.monthly-worksite-page .date-dow{color:var(--text-muted);margin-left:0;font-size:10.5px}.monthly-worksite-page .date-sun .date-num,.monthly-worksite-page .date-sun .date-dow{color:#d43f3f}.monthly-worksite-page .date-sat .date-num,.monthly-worksite-page .date-sat .date-dow{color:var(--accent)}.monthly-worksite-page .date-today{border-left:3px solid var(--accent)}.monthly-worksite-page .date-today .date-num{color:var(--accent)}.monthly-worksite-page tbody tr{transition:background 80ms}.monthly-worksite-page tbody tr:hover .date-cell{background:#3b6ff50a}.monthly-worksite-page tbody tr.holiday-row{background:#00000004}.monthly-worksite-page tbody tr.holiday-row:hover{background:#00000006}.monthly-worksite-page .data-cell{vertical-align:middle;cursor:pointer;min-width:130px;max-width:130px;padding:4px 5px;transition:background 80ms}.monthly-worksite-page .data-cell:hover{background:#3b6ff50a}.monthly-worksite-page .cell-inner{border:1px solid #0000;border-radius:7px;flex-direction:column;justify-content:center;gap:2px;min-height:40px;padding:5px 8px;transition:all .1s;display:flex;position:relative}.monthly-worksite-page .cell-inner:hover{filter:brightness(.97)}.monthly-worksite-page .ci-holiday{background:0 0;border-color:#0000}.monthly-worksite-page .cell-emp-name{font-size:11.5px;font-weight:600}.monthly-worksite-page .cell-emp-name.is-absent{color:var(--danger)}.monthly-worksite-page .cell-emp-name.is-leave{color:var(--purple)}.monthly-worksite-page .cell-code{font-size:12.5px;font-weight:700;line-height:1.1}.monthly-worksite-page .cell-time{font-family:DM Mono,monospace;font-size:10.5px}.monthly-worksite-page .cell-pat-row{align-items:center;gap:4px;margin-top:2px;display:flex}.monthly-worksite-page .cell-hours{color:var(--accent);font-family:DM Mono,monospace;font-size:9.5px}.monthly-worksite-page .ci-ot .cell-hours,.monthly-worksite-page .ci-late .cell-hours{color:var(--warn)}.monthly-worksite-page .cell-pattern{border:1px solid var(--border);color:var(--text-muted);border-radius:8px;padding:1px 5px;font-size:9.5px;display:inline-block}.monthly-worksite-page .cell-pattern.pat-normal,.monthly-worksite-page .cell-pattern.pat-day{background:#3b6ff526}.monthly-worksite-page .cell-pattern.pat-early{background:#12a87a26}.monthly-worksite-page .cell-pattern.pat-eve{background:#7c5ce826}.monthly-worksite-page .cell-pattern.pat-night{background:#1e1e3c26}.monthly-worksite-page .ot-pip{background:var(--warn);border-radius:50%;width:6px;height:6px;position:absolute;top:3px;right:3px}.monthly-worksite-page .abs-pip{background:var(--danger);border-radius:50%;width:6px;height:6px;position:absolute;top:3px;right:3px}.monthly-worksite-page .row-total{z-index:10;background:var(--surface2);text-align:right;vertical-align:middle;width:80px;min-width:80px;max-width:80px;padding:5px 10px;position:sticky;right:0;border-left:2px solid var(--border2)!important}.monthly-worksite-page thead .row-total{z-index:25}.monthly-worksite-page tfoot{z-index:20;position:sticky;bottom:0}.monthly-worksite-page tfoot td{background:var(--surface2);text-align:center;border-top:2px solid var(--border2);padding:6px;font-family:DM Mono,monospace;font-size:11px}.monthly-worksite-page tfoot .date-cell{background:var(--surface2);color:var(--text-muted);z-index:25;font-family:Noto Sans JP,sans-serif;font-size:10.5px}.monthly-worksite-page tfoot .row-total{z-index:25;border-top:2px solid var(--border2)}.monthly-worksite-page .sheet{width:380px}.monthly-worksite-page .sa-save{background:var(--accent);color:#fff;box-shadow:0 3px 10px #3b6ff54d}.monthly-worksite-page #mainTable .corner-cell{width:80px!important;min-width:80px!important;max-width:80px!important}.apply-page .req-av{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:8px;font-weight:700;display:flex}.apply-page .req-av.tone-danger{background:var(--danger-dim);color:var(--danger)}.apply-page .req-av.tone-warn{background:var(--warn-dim);color:var(--warn)}.apply-page .req-av.tone-success{background:var(--success-dim);color:var(--success)}.apply-page .req-av.tone-purple{background:var(--purple-dim);color:var(--purple)}.apply-page .req-av.tone-accent{background:var(--accent-dim);color:var(--accent)}.apply-page .req-type-icon.type-ot{background:var(--warn-dim)}.apply-page .req-type-icon.type-leave{background:var(--purple-dim)}.apply-page .req-type-icon.type-report{background:var(--accent-dim)}.apply-page .rep-row{justify-content:space-between;align-items:center;gap:12px;padding:3px 0;display:flex}.apply-page .rep-row-site{color:var(--text-muted)}.apply-page .rep-row-time{white-space:nowrap}.apply-page .main{gap:7px;padding:0}.apply-page .search-input{width:180px;padding:5px 8px 5px 28px}.apply-page .content{flex:1;display:flex;overflow:hidden}.apply-page .req-list{flex-direction:column;flex:1;gap:10px;padding:16px 20px;display:flex;overflow-y:auto}.apply-page .req-list::-webkit-scrollbar{width:5px}.apply-page .req-list::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.apply-page .req-card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm);cursor:pointer;border-radius:12px;min-height:67px;transition:all .12s;overflow:hidden}.apply-page .req-card:hover{border-color:var(--border2);box-shadow:var(--shadow)}.apply-page .req-card.selected{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-dim)}.apply-page .req-card.type-leave{border-left:3px solid var(--danger)}.apply-page .req-card.type-ot{border-left:3px solid var(--warn)}.apply-page .req-card.type-report{border-left:3px solid var(--accent)}.apply-page .req-card.approved{opacity:.45}.apply-page .req-card.rejected{opacity:.35}.apply-page .req-card-body{align-items:center;gap:12px;padding:12px 16px;display:flex}.apply-page .req-type-icon{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;font-size:18px;display:flex}.apply-page .req-main{flex:1;min-width:0}.apply-page .req-top-row{align-items:center;gap:8px;margin-bottom:3px;display:flex}.apply-page .req-emp-name{font-size:13px;font-weight:700}.apply-page .req-type-label{color:var(--text-muted);font-size:11.5px}.apply-page .req-bottom-row{align-items:center;gap:10px;display:flex}.apply-page .req-detail{color:var(--text-muted);font-size:12px}.apply-page .req-date{color:var(--text-dim);margin-left:auto;font-family:DM Mono,monospace;font-size:11px}.apply-page .req-actions{flex-shrink:0;align-items:center;gap:6px;display:flex}.apply-page .chip{white-space:nowrap;border:1px solid;border-radius:10px;padding:2px 8px;font-size:10.5px;display:inline-block}.apply-page .chip-pending{color:var(--warn);background:var(--warn-dim);border-color:#d98b0e4d}.apply-page .chip-approved{color:var(--success);background:var(--success-dim);border-color:#12a87a4d}.apply-page .chip-rejected,.apply-page .chip-leave{color:var(--danger);background:var(--danger-dim);border-color:#d43f3f4d}.apply-page .chip-ot{color:var(--warn);background:var(--warn-dim);border-color:#d98b0e4d}.apply-page .bulk-bar{background:var(--accent-dim);border-bottom:1px solid #3b6ff526;flex-shrink:0;align-items:center;gap:10px;padding:8px 20px;display:flex}.apply-page .bulk-bar.hidden{display:none}.apply-page .bulk-text{color:var(--accent);font-size:12.5px;font-weight:600}.apply-page .detail-panel{background:var(--surface);border-left:1px solid var(--border);flex-direction:column;flex-shrink:0;width:360px;display:flex;overflow:hidden}.apply-page .dp-fill{flex-direction:column;flex:1;min-height:0;display:flex}.apply-page .dp-header{border-bottom:1px solid var(--border);background:var(--surface2);padding:14px 16px}.apply-page .dp-title{font-size:13px;font-weight:700}.apply-page .dp-sub{color:var(--text-muted);margin-top:2px;font-size:11px}.apply-page .dp-body{flex:1;padding:16px;overflow-y:auto}.apply-page .dp-body::-webkit-scrollbar{width:3px}.apply-page .dp-body::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.apply-page .dp-section{margin-bottom:16px}.apply-page .dp-section-title{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin-bottom:8px;font-size:10.5px;font-weight:700}.apply-page .dp-row{border-bottom:1px solid var(--border);align-items:flex-start;gap:10px;padding:8px 0;display:flex}.apply-page .dp-row:last-child{border-bottom:none}.apply-page .dp-label{color:var(--text-muted);flex-shrink:0;min-width:80px;padding-top:1px;font-size:11.5px}.apply-page .dp-val{flex:1;font-size:12.5px}.apply-page .dp-val.mono{font-family:DM Mono,monospace;font-size:12px}.apply-page .reject-area{background:var(--danger-dim);border:1px solid #d43f3f33;border-radius:10px;margin-bottom:12px;padding:12px;display:none}.apply-page .reject-area.open{display:block}.apply-page .reject-label{color:var(--danger);align-items:center;gap:5px;margin-bottom:6px;font-size:11.5px;font-weight:600;display:flex}.apply-page .reject-hint{color:var(--text-muted);margin-bottom:8px;font-size:10.5px}.apply-page .reject-textarea{background:var(--surface);width:100%;color:var(--text);resize:none;border:1px solid #d43f3f4d;border-radius:7px;outline:none;padding:8px 10px;font-family:Noto Sans JP,sans-serif;font-size:12.5px;transition:border-color .15s}.apply-page .reject-textarea:focus{border-color:var(--danger)}.apply-page .dp-actions{border-top:1px solid var(--border);flex-direction:column;flex-shrink:0;gap:8px;padding:12px 16px;display:flex}.apply-page .action-row{gap:8px;display:flex}.apply-page .action-btn{text-align:center;cursor:pointer;border:none;border-radius:10px;flex:1;padding:11px;font-size:13px;font-weight:700;transition:all .12s}.apply-page .ab-approve{background:var(--success);color:#fff;box-shadow:0 2px 10px #12a87a4d}.apply-page .ab-approve:hover{opacity:.9}.apply-page .ab-reject{background:var(--danger-dim);color:var(--danger);border:1px solid #d43f3f4d}.apply-page .ab-reject:hover{background:var(--danger);color:#fff}.apply-page .ab-cancel{background:var(--surface2);color:var(--text-muted);border:1px solid var(--border)}.apply-page .history-item{border-bottom:1px solid var(--border);align-items:flex-start;gap:8px;padding:8px 0;display:flex}.apply-page .history-item:last-child{border-bottom:none}.apply-page .history-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-top:4px}.apply-page .history-text{color:var(--text-muted);font-size:12px}.apply-page .history-text b{color:var(--text)}.apply-page .history-time{color:var(--text-dim);margin-top:2px;font-family:DM Mono,monospace;font-size:10.5px}.apply-page .empty-state{height:100%;color:var(--text-muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:40px;display:flex}.apply-page .empty-icon{opacity:.4;font-size:40px}.apply-page .sheet{width:400px}.setting-page .card{cursor:default}.setting-page .card:hover{border-color:var(--border);transform:none}.setting-page .settings-content{flex:1;padding:24px 28px;overflow-y:auto}.setting-page .settings-content::-webkit-scrollbar{width:5px}.setting-page .settings-content::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.setting-page .settings-content .card{padding:0}.setting-page .settings-content .card_mb{margin-bottom:20px}.setting-page .settings-section{display:none}.setting-page .settings-section.active{display:block}.setting-page .section-title{margin-bottom:4px;font-size:18px;font-weight:700}.setting-page .section-sub{color:var(--text-muted);margin-bottom:20px;font-size:12.5px}.setting-page .card-header{border-bottom:1px solid var(--border);background:var(--surface2);justify-content:space-between;align-items:center;padding:12px 18px;display:flex}.setting-page .card-title{letter-spacing:.06em;text-transform:uppercase;color:var(--text-01);opacity:.9;align-items:center;gap:7px;font-size:12px;font-weight:700;display:flex}.setting-page .card-title i{font-size:15px}.setting-page .form-row{border-bottom:1px solid var(--border);align-items:center;gap:16px;padding:13px 18px;display:flex}.setting-page .form-row:last-child{border-bottom:none}.setting-page .form-row-col{border-bottom:1px solid var(--border);padding:13px 18px}.setting-page .form-row-col:last-child{border-bottom:none}.setting-page .form-label{min-width:160px;color:var(--text-02);flex-shrink:0;font-size:13px;font-weight:500}.setting-page .form-label-sub{color:var(--text-muted);margin-top:2px;font-size:12px;font-weight:400}.setting-page .form-control{flex:1;justify-content:flex-end;align-items:center;gap:8px;display:flex}.setting-page .input{padding:6px 10px}.setting-page .input:focus{border-color:var(--accent);background:var(--surface)}.setting-page .input.mono{font-family:DM Mono,monospace}.setting-page .input.sm{padding:4px 8px;font-size:12px}.setting-page .input.w-sm{text-align:center;width:80px}.setting-page .input.w-md{flex:1;width:auto;min-width:140px;max-width:360px}.setting-page .input.w-la{flex:1;width:auto;min-width:200px;max-width:420px}.setting-page .input.w-full{width:100%}.setting-page .sel{appearance:none;cursor:pointer;padding:6px 30px 6px 16px}.setting-page .toggle{background:var(--border2);cursor:pointer;border-radius:11px;flex-shrink:0;width:40px;height:22px;transition:background .2s;position:relative}.setting-page .toggle.on{background:var(--accent)}.setting-page .toggle:after{content:"";background:#fff;border-radius:50%;width:16px;height:16px;transition:left .2s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0003}.setting-page .toggle.on:after{left:21px}.setting-page .suffix{color:var(--text-muted);white-space:nowrap;font-size:12px}.setting-page .btn.sm{padding:4px 10px;font-size:11.5px}.setting-page .status-badge{border:1px solid;border-radius:20px;align-items:center;gap:5px;padding:3px 10px;font-size:11.5px;font-weight:500;display:inline-flex}.setting-page .sb-ok{color:var(--success);background:var(--success-dim);border-color:#12a87a4d}.setting-page .sb-warn{color:var(--warn);background:var(--warn-dim);border-color:#d98b0e4d}.setting-page .sb-off{color:var(--text-muted);border-color:var(--border);background:var(--surface2)}.setting-page .sb-dot{border-radius:50%;width:6px;height:6px}.setting-page .timeline{align-items:center;gap:0;margin:14px 0 4px;display:flex;overflow-x:auto}.setting-page .tl-item{flex-direction:column;flex:1;align-items:center;min-width:80px;display:flex}.setting-page .tl-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.setting-page .tl-date{text-align:center;margin-top:6px;font-family:DM Mono,monospace;font-size:11px;font-weight:500}.setting-page .tl-line{background:var(--border);flex:1;align-self:center;min-width:20px;height:2px}.setting-page .tl-row{align-items:center;width:100%;display:flex}.setting-page .notif-row{border-bottom:1px solid var(--border);align-items:flex-start;gap:14px;padding:12px 18px;display:flex}.setting-page .notif-row:last-child{border-bottom:none}.setting-page .notif-icon{text-align:center;flex-shrink:0;width:28px;margin-top:1px;font-size:18px}.setting-page .notif-icon .dot-danger{color:var(--danger)}.setting-page .notif-info{flex:1}.setting-page .notif-title{font-size:12.5px;font-weight:500}.setting-page .notif-desc{color:var(--text-muted);margin-top:2px;font-size:11.5px}.setting-page .notif-controls{flex-shrink:0;align-items:center;gap:8px;display:flex}.setting-page .chip{white-space:nowrap;border:1px solid;border-radius:10px;padding:2px 8px;font-size:10.5px;display:inline-block}.setting-page .chip-accent{color:var(--accent);background:var(--accent-dim);border-color:#3b6ff54d}.setting-page .chip-muted{color:var(--text-muted);border-color:var(--border);background:var(--surface2)}.setting-page .admin-table{border-collapse:collapse;width:100%}.setting-page .admin-table th{text-align:left;letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);background:var(--surface2);border-bottom:1px solid var(--border);padding:8px 14px;font-size:10.5px;font-weight:700}.setting-page .admin-table td{border-bottom:1px solid var(--border);padding:10px 14px;font-size:12.5px}.setting-page .admin-table tr:last-child td{border-bottom:none}.setting-page .admin-table tbody tr:hover{background:var(--surface2)}.setting-page .danger-zone{border:1.5px solid #d43f3f4d;border-radius:12px;overflow:hidden}.setting-page .danger-zone .card-header{background:var(--danger-dim)}.setting-page .danger-zone .card-title{color:var(--danger)}.setting-page .save-bar{justify-content:flex-end;gap:10px;padding:16px 0 4px;display:flex}.setting-page .pca-status-grid{grid-template-columns:1fr 1fr;gap:12px;padding:14px 18px;display:grid}.setting-page .pca-item{background:var(--surface2);border-radius:8px;padding:10px 12px}.setting-page .pca-item-label{color:var(--text-muted);margin-bottom:4px;font-size:10.5px}.setting-page .pca-item-val{font-family:DM Mono,monospace;font-size:13px;font-weight:500}.setting-page .sb-dot.warn{background:var(--warn)}.setting-page .close-month-nav{align-items:center;gap:8px;margin-left:auto;margin-right:12px;display:inline-flex}.setting-page .close-month-label{text-align:center;min-width:92px;font-size:14px;font-weight:700}.setting-page .close-check{border-top:1px solid var(--border);color:var(--text);cursor:pointer;align-items:center;gap:10px;padding:11px 18px;text-decoration:none;display:flex}.setting-page .close-check:hover{background:var(--surface2)}.setting-page .close-check>.ph:first-child{font-size:17px}.setting-page .close-check-label{font-size:12.5px}.setting-page .close-check-count{margin-left:auto;font-family:DM Mono,monospace;font-weight:600}.setting-page .close-check-arrow{color:var(--text-muted);font-size:13px}.setting-page .close-action-error{background:var(--danger-dim);color:var(--danger);border:1px solid #d43f3f4d;border-radius:8px;align-items:center;gap:8px;margin:0 18px 14px;padding:10px 12px;font-size:12.5px;font-weight:600;display:flex}.setting-page .close-action-error .ph{flex-shrink:0;font-size:17px}.setting-page .close-hist{border-top:1px solid var(--border);align-items:center;gap:10px;padding:10px 18px;font-size:12.5px;display:flex}.setting-page .close-hist-month{min-width:92px;font-weight:600}.setting-page .close-hist-date{margin-left:auto;font-family:DM Mono,monospace}.setting-page .settings-section.active{animation:.2s fadeIn}.setting-page .line-help,.setting-page .line-empty{color:var(--text-muted);padding:12px 18px;font-size:12px;line-height:1.7}.setting-page .line-link-summary,.setting-page .line-recipient-toolbar{border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--surface2);align-items:center;gap:14px;padding:10px 18px;font-size:12px;display:flex}.setting-page .line-recipient-toolbar span{color:var(--text-muted);margin-left:auto}.setting-page .line-candidate-row,.setting-page .line-recipient-row{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:10px 18px;display:flex}.setting-page .line-candidate-row:last-child,.setting-page .line-recipient-row:last-child{border-bottom:none}.setting-page .line-avatar{object-fit:cover;border-radius:50%;flex-shrink:0;width:38px;height:38px}.setting-page .line-avatar-empty{background:var(--surface2);color:var(--text-muted);justify-content:center;align-items:center;display:flex}.setting-page .line-candidate-profile{flex:1;min-width:150px}.setting-page .line-candidate-name,.setting-page .line-recipient-name{font-size:12.5px;font-weight:600}.setting-page .line-candidate-meta{color:var(--text-muted);margin-top:2px;font-size:10.5px}.setting-page .line-employee-select{min-width:220px;max-width:300px}.setting-page .line-recipient-row.disabled{opacity:.65}.setting-page .line-recipient-row input{accent-color:var(--accent)}.setting-page .line-recipient-name{flex:1}.setting-page .line-send-bar{border-top:1px solid var(--border);padding:14px 18px}@media (width<=900px){.setting-page .line-candidate-row{flex-wrap:wrap;align-items:stretch}.setting-page .line-candidate-profile{min-width:calc(100% - 52px)}.setting-page .line-employee-select{width:100%;max-width:none}.setting-page .line-recipient-row{flex-wrap:wrap}}.shift-create-page .sc-foot-count{position:relative;overflow:visible}.shift-create-page .sc-foot-warn{cursor:default;font-size:9px;position:absolute;top:1px;right:2px}.shift-create-page .sc-foot-warn-over{color:var(--warn)!important}.shift-create-page .day-header{position:relative;overflow:visible}.shift-create-page .dh-staff-short,.shift-create-page .dh-staff-over{cursor:default;font-size:9px;position:absolute;top:-1px;right:1px}.shift-create-page .dh-staff-short{color:var(--danger)}.shift-create-page .dh-staff-over{color:var(--warn)}.shift-create-page [data-tip]:after{content:attr(data-tip);background:var(--surface3,#2a2f3a);color:var(--text);white-space:nowrap;border:1px solid var(--border);opacity:0;visibility:hidden;z-index:50;pointer-events:none;border-radius:5px;margin-top:4px;padding:4px 8px;font-size:11px;font-weight:400;transition:opacity .1s;position:absolute;top:100%;right:-6px;box-shadow:0 4px 10px #0000004d}.shift-create-page [data-tip]:hover:after{opacity:1;visibility:visible}.shift-create-page .toolbar{white-space:nowrap;flex-wrap:wrap;row-gap:8px}.shift-create-page .toolbar-actions{align-items:center;gap:10px;margin-left:auto;display:flex}.shift-create-page .main_side{flex-direction:column}.shift-create-page .work-row{scrollbar-color:var(--border2) var(--surface2);flex:1;min-height:0;display:flex;overflow:auto hidden}.shift-create-page .work-row::-webkit-scrollbar{height:12px}.shift-create-page .work-row::-webkit-scrollbar-track{background:var(--surface2)}.shift-create-page .work-row::-webkit-scrollbar-thumb{background:var(--border2);border:2px solid var(--surface2);border-radius:6px}.shift-create-page .work-row::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.shift-create-page .view-toggle{background:var(--surface2);border:1px solid var(--border);border-radius:8px;gap:2px;padding:2px;display:flex}.shift-create-page .vt-btn{cursor:pointer;color:var(--text-muted);white-space:nowrap;border-radius:6px;align-items:center;gap:5px;padding:4px 14px;font-size:12px;transition:all .15s;display:flex}.shift-create-page .vt-btn.active{background:var(--surface);color:var(--accent);box-shadow:var(--shadow-sm);font-weight:600}.shift-create-page .vt-btn:not(.active):hover{color:var(--text)}.shift-create-page .day-nav{background:var(--surface2);border:1px solid var(--border);border-radius:7px;align-items:center;gap:2px;padding:2px;display:flex}.shift-create-page .day-nav-btn{cursor:pointer;width:26px;height:26px;color:var(--text-muted);border-radius:5px;justify-content:center;align-items:center;font-size:14px;transition:all .1s;display:flex}.shift-create-page .day-nav-btn:hover{background:var(--border);color:var(--text)}.shift-create-page .day-nav-label{color:var(--text);text-align:center;min-width:90px;padding:0 10px;font-family:DM Mono,monospace;font-size:12.5px;font-weight:500}.shift-create-page .building-list{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;width:173px;display:flex;overflow:hidden}.shift-create-page .bl-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.shift-create-page .bl-title{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);font-size:10.5px;font-weight:700}.shift-create-page .bl-scroll{flex:1;overflow-y:auto}.shift-create-page .bl-scroll::-webkit-scrollbar{width:3px}.shift-create-page .bl-scroll::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.shift-create-page .bl-item{border-bottom:1px solid var(--border);cursor:pointer;padding:10px 14px;transition:background .1s;position:relative}.shift-create-page .bl-item:hover{background:var(--surface2)}.shift-create-page .bl-item.active{background:var(--accent-dim);border-left:3px solid var(--accent)}.shift-create-page .bl-item-name{color:var(--text-02);overflow-wrap:anywhere;align-items:center;gap:5px;min-width:0;margin-bottom:3px;padding-right:16px;font-size:12.5px;font-weight:600;display:flex}.shift-create-page .bl-item.active .bl-item-name{color:var(--text)}.shift-create-page .bl-provisional{color:var(--warn);background:var(--warn-dim);border:1px solid #f59e0b4d;border-radius:4px;padding:1px 5px;font-size:9px;font-weight:700}.shift-create-page .bl-item .bl-done{color:var(--success);font-size:14px}.shift-create-page .bl-staff-short{color:var(--danger);font-size:12px;position:absolute;top:6px;right:6px}.shift-create-page .bl-staff-over{color:var(--warn);font-size:12px;position:absolute;top:6px;right:6px}.shift-create-page .bl-staff-short+.bl-staff-over{top:20px}.shift-create-page .bl-item.done:not(.active){border-left:3px solid #14a87a73}.shift-create-page .bl-item.bl-item-grouped{background:var(--surface2)}.shift-create-page .bl-item.bl-item-grouped:hover{background:var(--surface3)}.shift-create-page .sc-done-btn{cursor:pointer;white-space:nowrap;color:var(--text-muted);background:var(--surface2);border:1px solid var(--border);border-radius:7px;flex-shrink:0;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:600;transition:all .12s;display:inline-flex}.shift-create-page .sc-done-btn .ph{font-size:15px}.shift-create-page .sc-done-btn:hover{color:var(--text);border-color:var(--border2)}.shift-create-page .sc-done-btn.done{color:var(--success);background:var(--success-dim);border-color:#14a87a66}.shift-create-page .bl-item-meta{color:var(--text-muted);margin-bottom:5px;font-size:10.5px}.shift-create-page .bl-prog-bg{background:var(--surface3);border-radius:2px;height:3px}.shift-create-page .bl-prog-fill{border-radius:2px;height:3px;transition:width .3s}.shift-create-page .bl-prog-text{color:var(--text-muted);margin-top:2px;font-size:9.5px}.shift-create-page .bl-footer{border-top:1px solid var(--border);background:var(--surface2);padding:10px 14px}.shift-create-page .overall-row{align-items:center;gap:8px;margin-bottom:4px;display:flex}.shift-create-page .overall-label{color:var(--text-muted);font-size:10.5px}.shift-create-page .overall-bar-bg{background:var(--border);border-radius:2px;flex:1;height:4px}.shift-create-page .overall-bar-fill{background:var(--accent);border-radius:2px;height:4px;transition:width .4s}.shift-create-page .overall-num{color:var(--accent);font-family:DM Mono,monospace;font-size:11px;font-weight:500}.shift-create-page .center-wrap{flex-direction:column;flex:1;min-width:900px;min-height:0;display:flex;overflow:hidden}.shift-create-page .center-header{border-bottom:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-sm);flex-wrap:wrap;flex-shrink:0;align-items:center;gap:10px;padding:8px 14px;display:flex}.shift-create-page .ch-title{margin:0 0 2px;font-size:15px;font-weight:700}.shift-create-page .ch-sub{color:var(--text-muted);font-size:11.5px}.shift-create-page .site-memo-bar{background:var(--warn-dim);border:1px solid #cc85004d;border-radius:8px;align-items:flex-start;gap:10px;margin-bottom:8px;padding:9px 14px;font-size:12px;display:flex}.shift-create-page .site-memo-bar>i{color:var(--warn);flex-shrink:0;margin-top:1px;font-size:15px}.shift-create-page .site-memo-bar .smb-body{flex-direction:column;gap:3px;min-width:0;display:flex}.shift-create-page .site-memo-bar .smb-note{color:var(--warn);white-space:pre-line;font-weight:600}.shift-create-page .site-memo-bar .smb-memo{color:var(--text);white-space:pre-line;line-height:1.5}.shift-create-page .center-scroll{flex:1;min-height:0;overflow:auto}.shift-create-page .center-scroll::-webkit-scrollbar{width:5px;height:5px}.shift-create-page .center-scroll::-webkit-scrollbar-track{background:var(--surface2)}.shift-create-page .center-scroll::-webkit-scrollbar-thumb{background:var(--border2);border-radius:3px}.shift-create-page .center-scroll::-webkit-scrollbar-corner{background:var(--surface2)}.shift-create-page .legend{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:4px 12px;margin-left:auto;display:flex}.shift-create-page .leg{color:var(--text-muted);align-items:center;gap:4px;font-size:10.5px;display:flex}.shift-create-page .leg-sq{border:1px solid;border-radius:2px;width:10px;height:10px}.shift-create-page .mg-table{border-collapse:collapse;table-layout:fixed;width:100%}.shift-create-page .mg-table th,.shift-create-page .mg-table td{border-right:1px solid var(--border);border-bottom:1px solid var(--border)}.shift-create-page thead{z-index:20;position:sticky;top:0}.shift-create-page thead th{background:var(--surface2);text-align:center;white-space:nowrap;padding:6px 4px}.shift-create-page tfoot{z-index:20;position:sticky;bottom:0}.shift-create-page tfoot td{background:var(--surface2);text-align:center;border-top:2px solid var(--border2);padding:5px 4px;font-family:DM Mono,monospace;font-size:11px}.shift-create-page .col-emp{z-index:10;background:var(--surface);min-width:140px;max-width:140px;padding:7px 10px;position:sticky;left:0;border-right:2px solid var(--border2)!important}.shift-create-page thead .col-emp{background:var(--surface2);z-index:25}.shift-create-page tfoot .col-emp{background:var(--surface2);z-index:25;color:var(--text-muted);text-align:left;font-family:Noto Sans JP,sans-serif;font-size:10.5px}.shift-create-page .row-total-cell{z-index:10;background:var(--surface2);text-align:right;width:44px;min-width:44px;max-width:44px;padding:5px 8px;position:sticky;right:0;border-left:2px solid var(--border2)!important}.shift-create-page thead .row-total-cell{z-index:25}.shift-create-page tfoot .row-total-cell{z-index:25;border-top:2px solid var(--border2)}.shift-create-page .sc-prev-head,.shift-create-page .sc-prev-cell{width:52px;min-width:52px;max-width:52px;right:44px}.shift-create-page .sc-prev-head{text-align:center;color:var(--text-muted);padding:6px 2px;font-size:10px}.shift-create-page .day-header{min-width:46px;max-width:46px}.shift-create-page .dh-num{color:var(--text);font-family:DM Mono,monospace;font-size:12px;font-weight:500}.shift-create-page .dh-dow{color:var(--text-muted);font-size:9px}.shift-create-page .dh-sun,.shift-create-page .dh-sun .dh-num{color:#d94040}.shift-create-page .dh-sat,.shift-create-page .dh-sat .dh-num{color:var(--accent)}.shift-create-page tbody tr{transition:background 80ms}.shift-create-page tbody tr:hover{background:#3b6ff508}.shift-create-page tbody tr:hover .col-emp{background:#3b6ff50a}.shift-create-page .emp-cell-inner{align-items:center;gap:7px;display:flex}.shift-create-page .emp-cell-inner.is-multi{border-left:2px solid var(--accent);margin-left:-2px;padding-left:6px}.shift-create-page .multi-badge{background:var(--accent-dim);color:var(--accent);vertical-align:middle;border-radius:7px;margin-left:5px;padding:0 5px;font-size:9px;font-weight:700;line-height:15px;display:inline-block}.shift-create-page .ep-item.is-multi{border-left:2px solid var(--accent)}.shift-create-page .ep-ftab .ftab-count{background:var(--accent-dim);min-width:14px;color:var(--accent);text-align:center;border-radius:7px;margin-left:2px;padding:0 3px;font-size:9px;font-weight:700;display:inline-block}.shift-create-page .copy-opts{flex-direction:column;gap:8px;margin:14px 0 4px;display:flex}.shift-create-page .copy-opt{border:1.5px solid var(--border);background:var(--surface2);cursor:pointer;border-radius:10px;gap:10px;padding:11px 13px;transition:border-color .12s,background .12s;display:flex}.shift-create-page .copy-opt:hover{border-color:var(--border2)}.shift-create-page .copy-opt.selected{border-color:var(--accent);background:var(--accent-dim)}.shift-create-page .copy-opt.selected .copy-opt-radio{border-color:var(--accent)}.shift-create-page .copy-opt.selected .copy-opt-radio:after{transform:scale(1)}.shift-create-page .copy-opt-radio{border:2px solid var(--border2);border-radius:50%;flex-shrink:0;width:17px;height:17px;margin-top:2px;position:relative}.shift-create-page .copy-opt-radio:after{content:"";background:var(--accent);border-radius:50%;transition:transform .12s;position:absolute;inset:3px;transform:scale(0)}.shift-create-page .copy-opt-title{color:var(--text);font-size:13px;font-weight:600}.shift-create-page .copy-opt-rec{background:var(--accent);color:#fff;border-radius:6px;margin-left:6px;padding:1px 6px;font-size:9.5px;font-weight:700}.shift-create-page .copy-opt-desc{color:var(--text-muted);margin-top:3px;font-size:11.5px;line-height:1.5}.shift-create-page .sc-toast{background:var(--surface3);border:1px solid var(--border2);color:var(--text);opacity:0;pointer-events:none;z-index:600;border-radius:10px;padding:11px 18px;font-size:12.5px;font-weight:500;transition:opacity .2s,transform .2s;position:fixed;bottom:24px;left:50%;transform:translate(-50%)translateY(12px);box-shadow:0 8px 24px #0006}.shift-create-page .sc-toast.show{opacity:1;transform:translate(-50%)translateY(0)}.shift-create-page .col-emp{z-index:10;background:var(--surface);width:170px;min-width:170px;max-width:170px;padding:7px 10px;position:sticky;left:0;border-right:2px solid var(--border2)!important}.shift-create-page .emp-av{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:8px;font-weight:700;display:flex}.shift-create-page .emp-name-t{white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:500;overflow:hidden}.shift-create-page .emp-dept-t{color:var(--text-muted);font-size:9.5px}.shift-create-page .day-cell{text-align:center;vertical-align:middle;cursor:pointer;min-width:46px;max-width:46px;height:42px;padding:2px;transition:background 80ms}.shift-create-page .day-cell:hover{background:#3b6ff50a}.shift-create-page .day-cell.holiday{cursor:default;pointer-events:none;background:#00000004}.shift-create-page .day-cell span i{width:13px;height:13px;color:inherit;font-size:13px;display:block}.shift-create-page .cell-inner{border:1px solid #0000;border-radius:5px;flex-direction:column;justify-content:center;align-items:center;gap:1px;width:100%;height:100%;font-size:10px;transition:all .1s;display:flex;position:relative}.shift-create-page .ci-assigned.has-warn{color:var(--warn);background:#ffffff1a}.shift-create-page .ci-ok{background:var(--success-dim);border-color:#14a87a33}.shift-create-page .ci-ok span{color:var(--success);opacity:.7;font-size:7px;font-weight:700}.shift-create-page .ci-ng{background:var(--danger-dim);border-color:#d940402e}.shift-create-page .ci-any{background:var(--neutral-dim);border-color:var(--border)}.shift-create-page .mark-rest{text-align:center;color:var(--purple);white-space:nowrap;font-size:9px;font-weight:700;line-height:1.1;display:inline-block}.shift-create-page .ci-rest-set{background:var(--surface2);border-color:var(--border)}.shift-create-page .ci-rest-set .cell-code{color:var(--text-muted);font-size:12px;font-weight:700}.shift-create-page .ci-empty:hover{border-color:var(--accent);background:var(--accent-dim)}.shift-create-page .ci-holiday{background:0 0;border:none}.shift-create-page .cell-time{font-family:DM Mono,monospace;font-size:9px}.shift-create-page .warn-dot{background:var(--warn);border-radius:50%;width:4px;height:4px;position:absolute;top:2px;right:2px}.shift-create-page .day-cell{-webkit-user-select:none;user-select:none;position:relative}.shift-create-page .day-cell.has-shift{cursor:grab}.shift-create-page .day-cell.drag-src{cursor:grabbing}.shift-create-page .day-cell.drag-src .cell-inner{opacity:.35}.shift-create-page .day-cell.drag-over{box-shadow:inset 0 0 0 2px var(--accent);border-radius:4px}.shift-create-page .ci-elsewhere{color:var(--purple);opacity:.85;max-width:100%;font-size:9px;line-height:1.1;display:block;overflow:hidden}.shift-create-page .ci-elsewhere-mini{color:var(--purple);opacity:.85;max-width:100%;font-size:6.5px;line-height:1;overflow:hidden}.shift-create-page .staff-view{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.shift-create-page .st-head{border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:8px;padding:10px 16px;display:flex}.shift-create-page .st-hint{margin-left:auto;font-size:11px}.shift-create-page .st-table .st-day-cell{cursor:pointer}.shift-create-page .st-cell{flex-direction:column;justify-content:center;align-items:center;gap:1px;min-height:30px;padding:2px 1px;display:flex}.shift-create-page .st-site{box-sizing:border-box;text-align:center;width:100%;color:var(--accent);background:var(--accent-dim);white-space:normal;word-break:break-all;border-radius:3px;padding:1px 0;font-size:10px;line-height:1.25;overflow:hidden}.shift-create-page .st-site-code{color:var(--text);opacity:.75;margin-left:2px;font-weight:700;display:inline-block}.shift-create-page .st-table .day-header,.shift-create-page .st-table .day-cell{min-width:66px;max-width:66px}.shift-create-page .st-table .day-cell{height:auto;min-height:46px}.shift-create-page .st-table .col-emp{min-width:130px;max-width:130px}.shift-create-page .st-rest{color:var(--text-muted);font-size:10px;font-weight:700}.shift-create-page .st-rest.is-paid-leave{color:var(--purple)}.shift-create-page .st-sheet{width:400px}.shift-create-page .st-sheet-label{color:var(--text-muted);margin:14px 0 6px;font-size:11px;font-weight:700}.shift-create-page .st-scope{vertical-align:middle;align-items:center;gap:4px;margin-left:10px;display:inline-flex}.shift-create-page .st-scope .ftab{padding:2px 8px;font-size:10.5px}.shift-create-page .st-scope-count{font-size:10.5px;font-weight:400}.shift-create-page .st-site-list{flex-direction:column;gap:4px;display:flex}.shift-create-page .st-site-row{background:var(--surface2);border:1px solid var(--border);border-radius:7px;align-items:center;gap:8px;padding:7px 10px;font-size:12.5px;display:flex}.shift-create-page .st-site-name{flex:1}.shift-create-page .st-site-del{cursor:pointer;color:var(--text-muted);padding:0 4px;font-weight:700}.shift-create-page .st-site-del:hover{color:var(--danger)}.shift-create-page .st-site-empty{padding:4px 0;font-size:12px}.shift-create-page .st-code-tabs{gap:6px;margin-bottom:8px;display:flex}.shift-create-page .st-add-row{gap:8px;display:flex}.shift-create-page .st-add-row .input{flex:1}.shift-create-page .st-add-row input.input[list]{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='7' viewBox='0 0 10 7'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%236b7a99' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;padding-right:28px}.shift-create-page .st-add-row input.input[list]::-webkit-calendar-picker-indicator{display:none!important}.shift-create-page .st-rest-row{align-items:center;gap:10px;display:flex}.shift-create-page .st-hope-note{font-size:11.5px}.shift-create-page .sc-alert-chip{white-space:nowrap;border-radius:6px;align-items:center;padding:3px 10px;font-size:11px;font-weight:700;display:inline-flex}.shift-create-page .sc-alert-chip.danger{color:var(--danger);background:var(--danger-dim)}.shift-create-page .sc-alert-chip.warn{color:var(--warn);background:var(--warn-dim)}.shift-create-page .cross-site{z-index:3;background:var(--purple-dim);color:var(--purple);pointer-events:none;border-radius:3px;padding:1px 2px;font-size:8px;font-weight:700;line-height:1;position:absolute;top:1px;left:1px}.shift-create-page .cross-site.dup{background:var(--danger-dim);color:var(--danger)}.shift-create-page .daily-view{flex-direction:column;height:100%;display:none}.shift-create-page .daily-view.active{display:flex}.shift-create-page .monthly-view{flex-direction:column;height:100%;min-height:0;display:flex}.shift-create-page .monthly-view.hidden{display:none}.shift-create-page .monthly-view.is-locked,.shift-create-page .emp-pool.is-locked{pointer-events:none;opacity:.55}.shift-create-page .lock-badge{background:var(--danger-dim);color:var(--danger);border:1px solid var(--danger);cursor:pointer;border-radius:20px;align-items:center;gap:4px;padding:3px 10px;font-size:11px;font-weight:600;transition:background .12s;display:inline-flex}.shift-create-page .lock-badge:hover{background:#f0606038}.shift-create-page .lock-badge.is-final{background:var(--warn-dim);color:var(--warn);border-color:var(--warn);cursor:default}.shift-create-page .lock-badge.is-final:hover{background:var(--warn-dim)}.shift-create-page .multi-view{flex-direction:column;height:100%;min-height:0;display:none}.shift-create-page .multi-view.active{display:flex}.shift-create-page .mv-head{border-bottom:1px solid var(--border);background:var(--surface);flex-shrink:0;padding:9px 14px}.shift-create-page .mv-head-title{color:var(--text-muted);margin-bottom:8px;font-size:11.5px}.shift-create-page .mv-staff-tabs{flex-wrap:wrap;gap:6px;display:flex}.shift-create-page .mv-stab{border:1.5px solid var(--border);background:var(--surface2);color:var(--text-02);cursor:pointer;border-radius:16px;align-items:center;gap:6px;padding:4px 10px 4px 5px;font-size:12px;font-weight:500;transition:border-color .12s,background .12s,color .12s;display:flex}.shift-create-page .mv-stab:hover{border-color:var(--border2)}.shift-create-page .mv-stab.active{border-color:var(--accent);background:var(--accent-dim);color:var(--text)}.shift-create-page .mv-stab .multi-badge{margin-left:1px}.shift-create-page .mv-stab-av{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:9px;font-weight:700;display:flex}.shift-create-page .mv-scroll{flex:1;min-height:0;overflow:auto}.shift-create-page .mv-scroll::-webkit-scrollbar{width:5px;height:5px}.shift-create-page .mv-scroll::-webkit-scrollbar-track{background:var(--surface2)}.shift-create-page .mv-scroll::-webkit-scrollbar-thumb{background:var(--border2);border-radius:3px}.shift-create-page .mv-legend{border-top:1px solid var(--border);background:var(--surface);color:var(--text-02);flex-shrink:0;align-items:center;gap:14px;padding:8px 14px;font-size:11px;display:flex}.shift-create-page .cell-inner.mv-dup{background:var(--danger-dim);color:var(--danger);box-shadow:inset 0 0 0 1.5px var(--danger);font-size:12px}.shift-create-page .emp-pool{background:var(--surface);border-left:1px solid var(--border);flex-direction:column;flex-shrink:0;width:220px;display:flex;overflow:hidden}.shift-create-page .ep-filter-tabs{gap:6px;padding:0 12px 8px;display:flex}.shift-create-page .ep-header{border-bottom:1px solid var(--border);padding:10px 14px}.shift-create-page .ep-title{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin-bottom:7px;font-size:10.5px;font-weight:700}.shift-create-page .search-input{width:100%;padding:5px 8px 5px 28px}.shift-create-page .ep-filter{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:4px;padding:7px 14px;display:flex}.shift-create-page .ep-ftab{cursor:pointer;border:1px solid var(--border);color:var(--text-muted);border-radius:10px;padding:2px 8px;font-size:10.5px;transition:all .1s}.shift-create-page .ep-ftab.active{border-color:var(--accent);color:var(--accent);background:var(--accent-dim)}.shift-create-page .ep-scroll{flex:1;overflow-y:auto}.shift-create-page .ep-scroll::-webkit-scrollbar{width:3px}.shift-create-page .ep-scroll::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.shift-create-page .ep-item{border-bottom:1px solid var(--border);cursor:grab;align-items:center;gap:8px;padding:9px 14px;transition:background .1s;display:flex}.shift-create-page .ep-item:hover{background:var(--surface2)}.shift-create-page .ep-item:active{cursor:grabbing}.shift-create-page .ep-av{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:10px;font-weight:700;display:flex}.shift-create-page .ep-name{font-size:12.5px;font-weight:500}.shift-create-page .ep-dept{color:var(--text-muted);font-size:10.5px}.shift-create-page .ep-pref{font-size:13px}.shift-create-page .ep-days{color:var(--text-muted);font-family:DM Mono,monospace;font-size:10px}.shift-create-page .commit-bar{border-top:1px solid var(--border);background:var(--surface);flex-shrink:0;align-items:center;gap:10px;padding:8px 16px;display:flex;box-shadow:0 -1px 4px #1e32640d}.shift-create-page .cs-item{text-align:center;padding:0 10px}.shift-create-page .cs-val{font-family:DM Mono,monospace;font-size:16px;font-weight:500}.shift-create-page .cs-lbl{color:var(--text-muted);font-size:10px}.shift-create-page .cs-div{background:var(--border);align-self:stretch;width:1px}.shift-create-page .sheet{width:400px}.shift-create-page .sheet-header{justify-content:space-between;align-items:flex-start;margin-bottom:16px;display:flex}.shift-create-page .sheet-title{font-size:15px;font-weight:700}.shift-create-page .sheet-close{background:var(--surface2);cursor:pointer;width:28px;height:28px;color:var(--text-muted);border:1px solid var(--border);border-radius:50%;justify-content:center;align-items:center;font-size:16px;display:flex}.shift-create-page .sheet-close:hover{background:var(--surface3)}.shift-create-page .warn-banner{background:var(--danger-dim);color:var(--danger);border:1px solid #f0606066;border-radius:8px;align-items:center;gap:8px;margin-bottom:14px;padding:8px 12px;font-size:12px;display:flex}.shift-create-page .warn-banner.warn-banner-ok{background:var(--success-dim);color:var(--success);border-color:#60c88c66}.shift-create-page .warn-banner.warn-banner-caution{background:var(--warn-dim);color:var(--warn);border-color:#f5a62366}.shift-create-page .time-options{grid-template-columns:1fr 1fr;gap:6px;margin-bottom:16px;display:grid}.shift-create-page .time-opt{background:var(--surface2);border:1.5px solid var(--border);cursor:pointer;border-radius:8px;padding:10px 12px;transition:all .12s}.shift-create-page .time-opt:hover{border-color:var(--accent)}.shift-create-page .time-opt.selected{background:var(--accent-dim);border-color:var(--accent)}.shift-create-page .time-opt-label{font-size:12.5px;font-weight:500}.shift-create-page .time-opt-time{color:var(--text-muted);margin-top:2px;font-family:DM Mono,monospace;font-size:11px}.shift-create-page .time-opt.selected .time-opt-time{color:var(--accent)}.shift-create-page .sheet-sub-title{color:var(--text-muted);margin-bottom:7px;font-size:11.5px}.shift-create-page .sheet-emp-list{flex-direction:column;gap:5px;max-height:160px;display:flex;overflow-y:auto}.shift-create-page .sheet-actions{gap:8px;margin-top:18px;display:flex}.shift-create-page .sa-btn{text-align:center;cursor:pointer;border:none;border-radius:8px;flex:1;padding:10px;font-size:13px;font-weight:700;transition:all .12s}.shift-create-page .sa-remove{background:var(--danger-dim);color:var(--danger);border:1px solid #d9404040}.shift-create-page .sa-save{background:var(--accent);color:#fff;box-shadow:0 3px 10px #3b6ff54d}.month-nav{align-items:center;gap:4px;display:flex}.month-btn{border:1px solid var(--border);background:var(--surface);width:30px;height:30px;color:var(--text-02);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;font-size:14px;transition:all .12s;display:inline-flex}.month-btn:hover{border-color:var(--border2);color:var(--text);background:var(--surface2)}.month-label{color:var(--text);text-align:center;white-space:nowrap;min-width:96px;padding:0 10px;font-family:DM Mono,monospace;font-size:13px;font-weight:500}.btn.success{background:var(--success);border-color:var(--success);color:#fff}.btn.danger-soft{background:var(--danger-dim);color:var(--danger);border-color:#d43f3f4d}.btn.copy{background:var(--surface2);border-color:var(--border);color:var(--text-muted)}.btn.copy:hover{border-color:var(--accent);color:var(--accent)}.btn.primary:hover{opacity:.9}.input::-webkit-calendar-picker-indicator{filter:invert(.6);cursor:pointer;opacity:.8}.input::-webkit-calendar-picker-indicator:hover{opacity:1}.auth-page{justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.auth-card{background:var(--surface);border:1px solid var(--border);width:100%;max-width:380px;box-shadow:var(--shadow-lg);border-radius:14px;padding:32px 28px}.auth-head{text-align:center;margin-bottom:22px}.auth-logo{width:270px;margin:0 auto 14px;display:block}.auth-title{color:var(--text);font-size:15px;font-weight:700}.auth-sub{color:var(--text-muted);margin-top:4px;font-size:12px}.auth-field{margin-bottom:14px}.auth-field .label{color:var(--text-muted);margin-bottom:5px;font-size:12px;display:block}.auth-field .input{width:100%;padding:9px 12px;font-size:13px}.auth-actions{margin-top:20px}.auth-actions .btn{justify-content:center;width:100%;padding:10px;font-size:13px}.auth-message{color:var(--text-muted);text-align:center;background:var(--surface2);border:1px solid var(--border);border-radius:8px;padding:12px;font-size:13px;line-height:1.7}.auth-message-error{color:var(--danger);background:var(--danger-dim);border-color:#d43f3f4d}.auth-foot{text-align:center;margin-top:16px;font-size:11.5px}.auth-foot a{color:var(--accent);text-decoration:none}.auth-foot a:hover{text-decoration:underline}.auth-icon{color:var(--success);margin-bottom:10px;font-size:44px}.input::placeholder,.search-input::placeholder,.form-input::placeholder,.editable-input::placeholder{color:var(--text-dim);opacity:1}input[type=time]::-webkit-calendar-picker-indicator{filter:invert(.7);cursor:pointer;opacity:.85}input[type=date]::-webkit-calendar-picker-indicator{filter:invert(.7);cursor:pointer;opacity:.85}.time-input::-webkit-calendar-picker-indicator{filter:invert(.7);cursor:pointer;opacity:.85}input[type=time]::-webkit-calendar-picker-indicator:hover{opacity:1}input[type=date]::-webkit-calendar-picker-indicator:hover{opacity:1}.time-input::-webkit-calendar-picker-indicator:hover{opacity:1}.alert-banner{border-bottom:1px solid #fde8a0;flex-shrink:0;align-items:center;gap:10px;padding:4px 16px;display:flex}.alert-banner-text{color:var(--warn);font-size:12px;font-weight:600}.alert-chips{gap:8px;display:flex}.alert-chip{cursor:pointer;border:1px solid;border-radius:20px;align-items:center;gap:4px;padding:2px 9px;font-size:11px;transition:all .12s;display:flex}.alert-chip.danger{color:var(--danger);background:var(--danger-dim);border-color:#d43f3f4d}.alert-chip.danger.active{border-color:var(--danger)}.alert-chip.warn{color:var(--warn);background:var(--warn-dim);border-color:#d98b0e4d}.alert-chip.warn.active{border-color:var(--warn)}.alert-chip.purple{color:var(--purple);background:var(--purple-dim);border-color:#7c5ce84d}.alert-chip.purple.active{border-color:var(--purple)}.alert-chip.accent{color:var(--accent);background:var(--accent-dim);border-color:#4f8ef74d}.alert-chip.accent.active{border-color:var(--accent)}.alert-chip.active{font-weight:600}.alert-chip:hover{filter:brightness(.94)}.phase-steps{align-items:center;gap:0;margin-left:12px;display:flex}.phase-step{color:var(--text-muted);cursor:pointer;border-radius:6px;align-items:center;gap:5px;padding:4px 11px;font-size:11.5px;transition:all .12s;display:flex}.phase-step.active{color:var(--accent);background:var(--accent-dim);font-weight:600}.phase-step.done{color:var(--success)}.phase-dot{border:1.5px solid var(--border2);border-radius:50%;justify-content:center;align-items:center;width:17px;height:17px;font-size:9px;font-weight:700;display:flex}.phase-step.active .phase-dot{border-color:var(--accent);color:var(--accent);background:var(--accent-dim)}.phase-step.done .phase-dot{border-color:var(--success);color:var(--success);background:var(--success-dim)}.phase-arrow{color:var(--border2);padding:0 2px;font-size:11px}.hope-page .hope-deadline{white-space:nowrap;border-radius:6px;align-items:center;gap:5px;padding:4px 10px;font-size:11.5px;font-weight:600;display:inline-flex}.hope-page .hope-deadline .ph{font-size:13px}.hope-page .hope-deadline.open{color:var(--accent);background:var(--accent-dim)}.hope-page .hope-deadline.locked{color:var(--text-muted);background:var(--surface2);border:1px solid var(--border)}.hope-page .matrix-wrap{overflow-x:hidden}.hope-page #hopeTable{table-layout:fixed;width:100%}.hope-page thead tr:first-child th,.hope-page thead tr:last-child th{top:0}.hope-page .hp-day{text-align:center;width:auto;min-width:0;max-width:none;color:var(--text-muted);background:var(--surface);padding:5px 0;font-size:10px;line-height:1.25}.hope-page .hp-day.we{color:var(--danger)}.hope-page .hp-day .hp-dow{opacity:.8;font-size:8px}.hope-page .data-cell{width:auto;min-width:0;max-width:none;padding:3px 2px}.hope-page .cell-inner{gap:0;min-height:30px;padding:4px 2px}.hope-page .cell-name{font-size:9.5px}.hope-page .corner-cell,.hope-page .emp-cell,.hope-page .foot-label{width:140px;min-width:140px;max-width:140px}.hope-page .hp-work{color:var(--accent);background:#3b82f62e;border-color:#3b82f680}.hope-page .hp-am{background:var(--warn-dim);color:var(--warn);border-color:#f5a62380}.hope-page .hp-pm{background:var(--purple-dim);color:var(--purple);border-color:#8b5cf680}.hope-page .hp-off{background:var(--danger-dim);color:var(--danger);opacity:.8;border-color:#f0606080}.hope-page .hp-paid{background:var(--success-dim);color:var(--success);border-color:#22c55e80}.hope-page .hp-none{background:var(--surface2);border-color:var(--border);color:var(--text-dim);opacity:.6}.hope-page .hp-count{color:var(--text-muted);font-family:DM Mono,monospace;font-size:12px;font-weight:600}.hope-page .hp-count.short{color:var(--danger)}.hope-page .leg-sq.hp-work{background:#3b82f62e;border-color:#3b82f680}.hope-page .leg-sq.hp-am{background:var(--warn-dim);border-color:#f5a62380}.hope-page .leg-sq.hp-pm{background:var(--purple-dim);border-color:#8b5cf680}.hope-page .leg-sq.hp-off{background:var(--danger-dim);border-color:#f0606080}.hope-page .leg-sq.hp-paid{background:var(--success-dim);border-color:#22c55e80}.hope-page .leg-sq.hp-none{background:var(--surface2);border-color:var(--border)}.ws-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px;max-height:calc(100vh - 300px);padding:2px;display:grid;overflow:auto}.ws-card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm);border-radius:12px;flex-direction:column;min-height:170px;display:flex;overflow:hidden}.ws-card.short{border-color:var(--danger);box-shadow:0 0 0 1px var(--danger) inset}.ws-card-head{border-bottom:1px solid var(--border);background:var(--surface2);align-items:center;gap:8px;padding:12px 14px;display:flex}.ws-site-name{font-size:14px;font-weight:700}.ws-site-type{color:var(--text-muted);border:1px solid var(--border);border-radius:5px;padding:1px 6px;font-size:10.5px}.ws-cover{margin-left:auto;font-family:DM Mono,monospace;font-size:13px;font-weight:600}.ws-cover.ok{color:var(--success)}.ws-cover.warn{color:var(--warn)}.ws-cover.danger{color:var(--danger)}.ws-members{flex-direction:column;flex:1;gap:2px;min-height:96px;padding:8px;display:flex}.ws-empty{margin:auto}.ws-member{cursor:pointer;border-radius:8px;align-items:center;gap:9px;padding:7px 8px;transition:background .12s;display:flex}.ws-member:hover{background:var(--surface2)}.ws-member.hl{background:var(--accent-dim)}.ws-member-main{flex:1;min-width:0}.ws-member-name{font-size:12.5px;font-weight:600}.ws-member-sub{color:var(--text-muted);font-family:DM Mono,monospace;font-size:10.5px}.ws-member-job{color:var(--text-muted);font-size:11px}.ws-add{border:1px dashed var(--border2);color:var(--text-muted);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:4px;margin:4px 8px 8px;padding:8px;font-size:12px;transition:all .12s;display:flex}.ws-add:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-dim)}.ws-empty{text-align:center;color:var(--text-dim);padding:10px 8px;font-size:11.5px}.rec-otwarn-chip{color:#b45309;background:#f59e0b1f;border:1px solid #f59e0b59}.rec-multisite-chip{color:#7c5ce8;background:#7c5ce81f;border:1px solid #7c5ce859}.flex-sel{background-image:none;padding-right:10px}.flex-sel::-webkit-calendar-picker-indicator{display:none!important}.rec-scroll .log-table th:first-child,.rec-scroll .log-table td:first-child{white-space:nowrap;width:84px}.rec-scroll .log-table th:nth-child(2),.rec-scroll .log-table td:nth-child(2){white-space:normal;word-break:break-word}.rec-scroll .log-table th:nth-child(3),.rec-scroll .log-table td:nth-child(3),.rec-scroll .log-table th:nth-child(4),.rec-scroll .log-table td:nth-child(4),.rec-scroll .log-table th:nth-child(5),.rec-scroll .log-table td:nth-child(5){white-space:nowrap;width:46px;padding-left:5px;padding-right:5px}.rec-scroll .log-table th:nth-child(6),.rec-scroll .log-table td:nth-child(6){white-space:nowrap;width:60px;padding-left:5px;padding-right:5px}.rec-scroll .log-table th{font-size:11.5px}.rec-scroll .log-table td{font-size:13.5px}.rec-scroll .log-table .rec-dow{font-size:11.5px}.rec-scroll .log-table .rec-site{font-size:13px}.rec-scroll .rec-state{flex-direction:column;align-items:flex-start;gap:3px;display:flex}.rec-absent-btn{appearance:none;border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:4px;padding:3px 6px;font-size:10.5px;line-height:1;transition:border-color .12s,color .12s,background .12s}.rec-absent-btn:hover:not(:disabled){border-color:var(--danger);color:var(--danger)}.rec-absent-btn.is-on{border-color:var(--danger);color:var(--danger);background:#e84d3e1f}.rec-absent-btn.is-on:hover:not(:disabled){background:#e84d3e33}.rec-absent-btn:disabled{opacity:.5;cursor:default}.rec-scroll .rec-entry,.rec-scroll .rec-shift,.rec-scroll .rec-pending{white-space:normal;flex-wrap:wrap;row-gap:2px}.rec-shift{white-space:nowrap;color:var(--text-dim);align-items:center;gap:8px;padding:1px 0;font-size:12.5px;display:flex}.rec-shift .mono{color:var(--text-dim)}.rec-shift-label{border:1px solid var(--border);border-radius:4px;padding:0 5px;font-size:10.5px}.rec-shift-site{font-size:12px}.rec-pending{white-space:nowrap;color:var(--warn);opacity:.75;align-items:center;gap:8px;padding:1px 0;font-size:12.5px;display:flex}.rec-pending .mono{color:var(--warn)}.rec-pending-label{background:var(--warn-dim);border:1px solid #d98b0e66;border-radius:4px;padding:0 5px;font-size:10.5px}.rec-pending-site{font-size:12px}.rec-half-chip{color:var(--purple);white-space:nowrap;background:#7c5ce81f;border-radius:3px;padding:2px 5px;font-size:10px;line-height:1}.rec-absence-chip{color:var(--danger);cursor:help;background:#d43f3f24}.rec-absent-btn.is-suggested{border-color:var(--danger);color:var(--danger);border-style:dashed}.rec-rejected-chip{color:var(--warn);cursor:help;background:#d98b0e29}.emp-page .emp-group-chip{text-overflow:ellipsis;vertical-align:middle;max-width:100%;display:inline-block;overflow:hidden}.es-home,.es-shift{--bg:#0f1117;--surface:#161b26;--surface2:#1e2535;--border:#2a3347;--text:#e8eaf0;--text-muted:#7a8499;--accent:#3b82f6;--accent-dim:#3b82f624;--warn:#f59e0b;--warn-dim:#f59e0b24;--danger:#ef4444;--danger-dim:#ef444424;--success:#10b981;--success-dim:#10b98124;--purple:#8b5cf6;--purple-dim:#8b5cf624;--radius:16px}.es-home,.es-shift,.es-home *,.es-shift *{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.es-home{color:var(--text);background:#060810;justify-content:center;align-items:flex-start;min-height:100vh;font-family:Noto Sans JP,sans-serif;display:flex}.es-home .phone{flex-direction:column;width:100%;max-width:400px;height:100vh;padding:20px;display:flex;position:relative;overflow:hidden}.es-home .screens{flex:1;position:relative;overflow:hidden}.es-home .screen{flex-direction:column;padding-bottom:96px;display:none;position:absolute;inset:0;overflow:hidden auto}.es-home .screen.active{display:flex}.es-home .screen::-webkit-scrollbar{display:none}.es-home .screen-header{flex-shrink:0;padding:16px 20px 12px}.es-home .screen-title{font-size:22px;font-weight:700}.es-home .screen-sub{color:var(--text-muted);margin-top:2px;font-size:13px}.es-home .header-top{z-index:10;background:#060810;flex-shrink:0;align-items:center;gap:10px;padding:0 0 16px;display:flex;position:sticky;top:0}.es-home .back-btn{background:var(--surface2);cursor:pointer;width:32px;height:32px;color:var(--text-muted);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0 0 6px;font-size:24px;display:flex}.es-home .back-btn a{color:inherit;text-decoration:none}.es-home .header-title{font-size:17px;font-weight:700}.es-home .header-sub{color:var(--text-muted);margin-left:auto;font-family:DM Mono,monospace;font-size:16px}.es-home .greeting{padding:0}.es-home .greeting-name{font-size:20px;font-weight:700}.es-home .greeting-date{color:var(--text-muted);margin-top:2px;font-family:DM Mono,monospace;font-size:12px}.es-home .stamp-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-shrink:0;margin:16px 0 0;overflow:hidden}.es-home .stamp-status-bar{align-items:center;gap:8px;padding:10px 16px;font-size:12px;display:flex}.es-home .status-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.es-home .status-dot.out{background:var(--text-muted)}.es-home .status-dot.in{background:var(--success);box-shadow:0 0 8px var(--success);animation:2s infinite blink}.es-home .stamp-body{padding:5px 16px}.es-home .stamp-btn-wrap{justify-content:center;margin-bottom:16px;display:flex}.es-home .stamp-btn{cursor:pointer;background:var(--surface3);-webkit-user-select:none;user-select:none;border:none;border-radius:14px;outline:none;flex-direction:row;justify-content:center;align-items:center;gap:12px;width:100%;height:64px;transition:transform .15s;display:flex;position:relative}.es-home .stamp-btn:active{transform:scale(.97)}.es-home .stamp-btn.clock-in{background:radial-gradient(circle at 40% 35%,#22d3a3,#0f9d70);box-shadow:0 0 0 8px #10b9811f,0 8px 32px #10b98159}.es-home .stamp-btn.clock-out{background:var(--accent);box-shadow:0 4px 16px #3b82f64d}.es-home .stamp-btn-icon{color:#fff;align-items:center;font-size:26px;display:flex}.es-home .stamp-btn-label{color:#fff;letter-spacing:.04em;font-size:18px;font-weight:700}.es-home .stamp-btn-sub{color:#fffc;font-size:11px}.es-home .stamp-records{justify-content:center;gap:10px;margin-top:4px;display:flex}.es-home .stamp-rec{background:var(--surface2);text-align:center;border-radius:10px;flex:1;padding:10px 12px}.es-home .stamp-rec-label{color:var(--text-muted);font-size:10.5px}.es-home .stamp-rec-time{margin-top:2px;font-family:DM Mono,monospace;font-size:20px;font-weight:500}.es-home .stamp-rec-time.set{color:var(--text)}.es-home .stamp-rec-time.unset{color:var(--border)}.es-home .today-shift{background:var(--surface);border:1px solid var(--border);border-radius:12px;align-items:center;gap:12px;margin:12px 0 0;padding:12px 16px;display:flex}.es-home .shift-icon{flex-shrink:0;font-size:22px}.es-home .shift-info-name{font-size:13px;font-weight:600}.es-home .shift-info-time{color:var(--text-muted);margin-top:1px;font-family:DM Mono,monospace;font-size:12px}.es-home .shift-badge{white-space:nowrap;border:1px solid;border-radius:20px;margin-left:auto;padding:3px 9px;font-size:11px}.es-home .section-label{letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);padding:14px 0 8px;font-size:11px;font-weight:700}.es-home .quick-actions{grid-template-columns:1fr 1fr;gap:10px;padding:0;display:grid}.es-home .qa-btn{background:var(--surface);border:1px solid var(--border);cursor:pointer;border-radius:14px;flex-direction:column;gap:8px;padding:16px 14px;transition:all .15s;display:flex;position:relative;overflow:hidden}.es-home .qa-btn:active{transform:scale(.97)}.es-home .qa-icon{font-size:24px}.es-home .qa-label{font-size:13px;font-weight:600}.es-home .qa-sub{color:var(--text-muted);font-size:11px}.es-home .qa-badge{background:var(--danger);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;font-size:10px;font-weight:700;display:flex;position:absolute;top:12px;right:12px}.es-home .qa-btn a{color:#fff;text-decoration:none}.es-home .week-strip{gap:6px;padding:0;display:flex}.es-home .week-day{background:var(--surface);border:1px solid var(--border);text-align:center;cursor:pointer;border-radius:10px;flex-direction:column;flex:1;gap:3px;padding:8px 4px;display:flex}.es-home .week-day.today{border-color:var(--accent);background:var(--accent-dim)}.es-home .week-day.today .wd-label{color:var(--accent)}.es-home .wd-label{color:var(--text-muted);font-size:10px}.es-home .wd-date{color:var(--text);font-family:DM Mono,monospace;font-size:11px;font-weight:700}.es-home .week-day.today .wd-date{color:var(--accent)}.es-home .wd-dot{border-radius:50%;width:6px;height:6px;margin:0 auto}.es-home .wd-status{color:var(--text-muted);font-size:9px}.es-home .month-header{align-items:center;gap:8px;padding:0 20px 12px;display:flex}.es-home .month-nav-btn{background:var(--surface2);border:1px solid var(--border);cursor:pointer;width:32px;height:32px;color:var(--text-muted);border-radius:50%;justify-content:center;align-items:center;font-size:16px;display:flex}.es-home .month-name{text-align:center;flex:1;font-size:15px;font-weight:700}.es-home .calendar{padding:0 16px}.es-home .cal-weekdays,.es-shift .cal-weekdays{grid-template-columns:repeat(7,1fr);display:grid}.es-home .cal-weekdays{gap:2px;margin-bottom:4px}.es-shift .cal-weekdays{background:var(--bg);z-index:10;padding:10px 0 4px;position:sticky;top:0}.es-home .cal-wd,.es-shift .cal-wd{text-align:center;color:var(--text-muted)}.es-home .cal-wd{padding:4px 0;font-size:10px}.es-shift .cal-wd{padding:2px 0;font-size:11px}.es-home .cal-grid,.es-shift .cal-grid{grid-template-columns:repeat(7,1fr);gap:3px;display:grid}.es-shift .cal-grid{padding:0}.es-home .cal-day,.es-shift .cal-day{aspect-ratio:1;cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:2px;display:flex;position:relative}.es-home .cal-day{border:1px solid #0000;border-radius:8px;font-size:12px;transition:all .1s}.es-shift .cal-day{-webkit-user-select:none;user-select:none;border:1.5px solid #0000;border-radius:10px;transition:all .12s}.es-home .cal-day:active{transform:scale(.92)}.es-shift .cal-day:active{transform:scale(.9)}.es-home .cal-day.today{border-color:var(--accent);color:var(--accent);font-weight:700}.es-home .cal-day.has-shift{background:var(--surface);border-color:var(--border)}.es-home .cal-day.has-shift.submitted{background:var(--accent-dim);border-color:#3b82f64d}.es-shift .cal-day.holiday{background:#ffffff08}.es-home .cal-day.leave{background:var(--purple-dim);border-color:#8b5cf64d}.es-home .cal-day.empty,.es-shift .cal-day.empty{cursor:default;background:0 0;border:none}.es-shift .cal-day.empty{pointer-events:none}.es-home .cal-shift-dot{border-radius:50%;width:4px;height:4px}.es-home .shift-legend{flex-wrap:wrap;gap:10px;padding:10px 20px;display:flex}.es-home .sl-item{color:var(--text-muted);align-items:center;gap:4px;font-size:10.5px;display:flex}.es-home .sl-dot{border-radius:2px;width:8px;height:8px}.es-home .shift-panel{background:var(--surface);border:1px solid var(--border);border-radius:14px;margin:0 16px;overflow:hidden}.es-home .shift-panel-header{background:var(--surface2);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.es-home .shift-panel-title{font-size:13px;font-weight:600}.es-home .shift-row{border-bottom:1px solid var(--border);cursor:pointer;align-items:center;gap:10px;padding:11px 16px;transition:background .1s;display:flex}.es-home .shift-row:last-child{border-bottom:none}.es-home .shift-row:active{background:var(--surface2)}.es-home .shift-row-date{min-width:60px;font-family:DM Mono,monospace;font-size:12px}.es-home .shift-row-site{flex:1;font-size:12.5px}.es-home .shift-row-time{color:var(--text-muted);font-family:DM Mono,monospace;font-size:12px}.es-home .shift-chip{border:1px solid;border-radius:10px;padding:2px 7px;font-size:10px}.es-home .submit-btn,.es-shift .submit-btn{background:var(--accent);color:#fff;text-align:center;cursor:pointer;letter-spacing:.04em;font-weight:700}.es-home .submit-btn{border-radius:14px;margin:12px 0;padding:14px;font-size:14px;transition:opacity .15s}.es-shift .submit-btn{border-radius:16px;padding:16px;font-size:15px;transition:opacity .15s,transform .1s;box-shadow:0 4px 20px #3b82f666}.es-home .submit-btn:active,.es-shift .submit-btn:active{opacity:.85}.es-shift .submit-btn:active{transform:scale(.98)}.es-home .req-tabs{background:var(--surface2);border-radius:10px;margin:0 0 12px;padding:3px;display:flex}.es-home .req-tab{text-align:center;cursor:pointer;color:var(--text-muted);border-radius:8px;flex:1;padding:7px;font-size:12.5px;transition:all .15s}.es-home .req-tab.active{background:var(--surface);color:var(--text);font-weight:600;box-shadow:0 1px 4px #0000004d}.es-home .req-form{background:var(--surface);border:1px solid var(--border);border-radius:14px;margin:0;overflow:hidden}.es-home .form-row{border-bottom:1px solid var(--border);cursor:pointer;align-items:center;padding:13px 16px;transition:background .1s;display:flex}.es-home .form-row:last-child{border-bottom:none}.es-home .form-row:active{background:var(--surface2)}.es-home .form-label{min-width:80px;font-size:12.5px;font-weight:500}.es-home .form-value{color:var(--text-muted);text-align:right;flex:1;font-size:12.5px}.es-home .form-value.set{color:var(--text)}.es-home .form-arrow{color:var(--border);margin-left:6px;font-size:14px}.es-home .req-history{margin:16px 0 0}.es-home .req-history-title{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin-bottom:8px;font-size:11px;font-weight:700}.es-home .req-item{background:var(--surface);border:1px solid var(--border);border-radius:12px;align-items:center;gap:10px;margin-bottom:8px;padding:12px 14px;display:flex}.es-home .req-type-icon{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:18px;display:flex}.es-home .req-info{flex:1}.es-home .req-info-title{font-size:13px;font-weight:500}.es-home .req-info-date{color:var(--text-muted);margin-top:2px;font-family:DM Mono,monospace;font-size:11px}.es-home .req-status{white-space:nowrap;border:1px solid;border-radius:20px;padding:3px 9px;font-size:11px}.es-home .bottom-nav{background:var(--surface);border-top:1px solid var(--border);z-index:100;width:100%;max-width:400px;height:66px;display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.es-home .nav-item{cursor:pointer;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:4px;padding-top:7px;padding-bottom:10px;transition:opacity .1s;display:flex;position:relative}.es-home .nav-item>a{width:100%;height:100%;color:inherit;flex-direction:column;justify-content:center;align-items:center;gap:0;text-decoration:none;display:flex}.es-home .nav-item:active{opacity:.7}.es-home .nav-icon{font-size:22px}.es-home .nav-label{color:var(--text-muted);font-size:10px}.es-home .nav-item.active{border-left:0;border-top:2px solid var(--accent)}.es-home .nav-item.active .nav-label{color:var(--accent)}.es-home .nav-item.active .nav-icon{filter:drop-shadow(0 0 6px var(--accent))}.es-home .nav-notif{background:var(--danger);border:1.5px solid var(--surface);border-radius:50%;width:8px;height:8px;position:absolute;top:6px;right:calc(50% - 18px)}.es-home .card{background:var(--surface);border:1px solid var(--border);border-radius:14px;margin:0 16px}.es-home .screen.active>*{animation:.25s both slideUp}.es-shift .header{border-bottom:1px solid var(--border);background:var(--bg);z-index:50;flex-shrink:0;padding:0 0 14px;position:sticky;top:0}.es-shift .header-top{align-items:center;gap:10px;display:flex}.es-shift .back-btn{background:var(--surface2);cursor:pointer;width:32px;height:32px;color:var(--text-muted);border-radius:50%;justify-content:center;align-items:center;font-size:16px;display:flex}.es-shift .header-title{font-size:17px;font-weight:700}.es-shift .header-sub{color:var(--text-muted);margin-left:auto;font-family:DM Mono,monospace;font-size:12px}.es-shift .month-nav{align-items:center;gap:8px;display:flex}.es-shift .month-arrow{background:var(--surface2);border:1px solid var(--border);cursor:pointer;width:36px;height:36px;color:var(--text-muted);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:18px;transition:all .12s;display:flex}.es-shift .month-arrow:active{background:var(--border)}.es-shift .month-label-wrap{text-align:center;flex:1}.es-shift .month-label{font-size:18px;font-weight:700}.es-shift .month-progress-wrap{justify-content:center;align-items:center;gap:6px;margin-top:3px;display:flex}.es-shift .month-progress-bar{background:var(--border);border-radius:2px;width:100px;height:3px;overflow:hidden}.es-shift .month-progress-fill{background:var(--accent);border-radius:2px;height:100%;transition:width .4s}.es-shift .month-progress-text{color:var(--text-muted);white-space:nowrap;font-size:10.5px}.es-shift .copy-banner{background:var(--surface2);border:1px solid var(--border);cursor:pointer;border-radius:12px;flex-shrink:0;align-items:center;gap:10px;margin:12px 0 0;padding:11px 14px;transition:all .15s;display:flex}.es-shift .copy-banner:active{background:var(--border)}.es-shift .lock-banner{background:var(--warn-dim);color:var(--text);border:1px solid #f5a62366;border-radius:12px;flex-shrink:0;align-items:flex-start;gap:10px;margin:12px 0 0;padding:11px 14px;font-size:12.5px;line-height:1.5;display:flex}.es-shift .lock-banner .ph{color:var(--warn);flex-shrink:0;margin-top:1px;font-size:18px}.es-shift .copy-icon{font-size:20px}.es-shift .copy-text{flex:1}.es-shift .copy-text-main{font-size:13px;font-weight:600}.es-shift .copy-text-sub{color:var(--text-muted);margin-top:1px;font-size:11px}.es-shift .copy-arrow{color:var(--text-muted);font-size:16px}.es-shift .body{flex:1;padding-bottom:100px;overflow:hidden auto}.es-shift .body::-webkit-scrollbar{display:none}.es-shift .cal-wd.sun{color:#f87171}.es-shift .cal-wd.sat{color:#60a5fa}.es-shift .cal-day.past{opacity:.4;pointer-events:none}.es-shift .cal-day.state-none{background:var(--surface2);border-color:var(--border)}.es-shift .cal-day.state-work{background:var(--accent-dim);border-color:#3b82f666}.es-shift .cal-day.state-am{background:var(--warn-dim);border-color:#f59e0b66}.es-shift .cal-day.state-pm{background:var(--purple-dim);border-color:#8b5cf666}.es-shift .cal-day.state-off{background:var(--danger-dim);border-color:#ef444459}.es-shift .cal-day.state-paid{background:var(--success-dim,#22c55e24);border-color:#22c55e66}.es-shift .cal-day.has-note:after{content:"";background:var(--accent);border-radius:50%;width:5px;height:5px;position:absolute;top:4px;right:4px}.es-shift .day-num{font-size:13px;font-weight:500;line-height:1}.es-shift .day-mark{font-size:9.5px;font-weight:600;line-height:1}.es-shift .state-work .day-num,.es-shift .state-work .day-mark{color:var(--accent)}.es-shift .state-am .day-num,.es-shift .state-am .day-mark{color:var(--warn)}.es-shift .state-pm .day-num,.es-shift .state-pm .day-mark{color:var(--purple)}.es-shift .state-off .day-num,.es-shift .state-off .day-mark{color:var(--danger)}.es-shift .state-paid .day-num,.es-shift .state-paid .day-mark{color:var(--success)}.es-shift .state-none .day-num{color:var(--text-muted)}.es-shift .legend{flex-wrap:wrap;justify-content:center;gap:12px;padding:10px 0 6px;display:flex}.es-shift .leg-item{color:var(--text-muted);align-items:center;gap:5px;font-size:11px;display:flex}.es-shift .leg-swatch{border:1.5px solid;border-radius:3px;width:12px;height:12px}.es-shift .summary-bar{background:var(--surface);border:1px solid var(--border);border-radius:12px;gap:0;margin:8px 0;display:flex;overflow:hidden}.es-shift .sum-item{text-align:center;border-right:1px solid var(--border);flex:1;padding:10px 8px}.es-shift .sum-item:last-child{border-right:none}.es-shift .sum-val{font-family:DM Mono,monospace;font-size:20px;font-weight:500;line-height:1}.es-shift .sum-lbl{color:var(--text-muted);margin-top:3px;font-size:10px}.es-shift .note-section{margin-top:8px;padding:0}.es-shift .note-section-title{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin-bottom:8px;font-size:11px;font-weight:700}.es-shift .note-item{background:var(--surface);border:1px solid var(--border);cursor:pointer;border-radius:12px;align-items:center;gap:10px;margin-bottom:7px;padding:11px 14px;transition:background .1s;display:flex}.es-shift .note-item:active{background:var(--surface2)}.es-shift .note-date{min-width:56px;font-family:DM Mono,monospace;font-size:12px}.es-shift .note-state{flex-shrink:0;font-size:13px}.es-shift .note-text{color:var(--text-muted);flex:1;font-size:12.5px}.es-shift .note-text.set{color:var(--text)}.es-shift .note-edit{color:var(--border);font-size:13px}.es-shift .bottom-sticky{background:linear-gradient(to top, var(--bg) 70%, transparent);z-index:100;width:100%;position:fixed;bottom:0;right:0}.es-shift .submit-btn.disabled{background:var(--surface2);color:var(--text-muted);box-shadow:none;cursor:not-allowed}.es-shift .overlay{z-index:200;background:#0009;justify-content:center;align-items:flex-end;display:none;position:fixed;inset:0}.es-shift .overlay.open{display:flex}.es-shift .sheet{background:var(--surface);border-radius:24px 24px 0 0;width:390px;padding:12px 20px 40px;animation:.28s cubic-bezier(.32,.72,0,1) slideUp}.es-shift .sheet-handle{background:var(--border);border-radius:2px;width:36px;height:4px;margin:0 auto 16px}.es-shift .sheet-title{margin-bottom:4px;font-size:16px;font-weight:700}.es-shift .sheet-date{color:var(--text-muted);margin-bottom:18px;font-family:DM Mono,monospace;font-size:13px}.es-shift .state-picker{grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:20px;display:grid}.es-shift .state-picker-2{grid-template-columns:repeat(2,1fr);gap:6px;margin-bottom:6px}.es-shift .state-picker-3{grid-template-columns:repeat(3,1fr);gap:6px}.es-shift .state-opt{text-align:center;cursor:pointer;border:2px solid #0000;border-radius:14px;flex-direction:column;align-items:center;gap:5px;padding:12px 4px;transition:all .15s;display:flex}.es-shift .state-opt:active{transform:scale(.95)}.es-shift .state-opt.work{background:var(--accent-dim);border-color:#3b82f666}.es-shift .state-opt.am{background:var(--warn-dim);border-color:#f59e0b66}.es-shift .state-opt.pm{background:var(--purple-dim);border-color:#8b5cf666}.es-shift .state-opt.off{background:var(--danger-dim);border-color:#ef444459}.es-shift .state-opt.paid{background:var(--success-dim,#22c55e24);border-color:#22c55e66}.es-shift .state-opt.selected{border-color:#fff;box-shadow:0 0 0 3px #ffffff24}.es-shift .state-opt-icon{font-size:19px;font-weight:700}.es-shift .state-opt-label{font-size:12px;font-weight:700}.es-shift .state-opt-sub{color:var(--text-muted);font-size:9px}.es-shift .state-opt.work .state-opt-label{color:var(--accent)}.es-shift .state-opt.am .state-opt-label{color:var(--warn)}.es-shift .state-opt.pm .state-opt-label{color:var(--purple)}.es-shift .state-opt.off .state-opt-label{color:var(--danger)}.es-shift .time-section-title{color:var(--text-muted);margin-bottom:8px;font-size:12px}.es-shift .time-chips{flex-wrap:wrap;gap:7px;margin-bottom:16px;display:flex}.es-shift .time-chip{border:1.5px solid var(--border);background:var(--surface2);color:var(--text-muted);cursor:pointer;border-radius:20px;align-items:center;gap:5px;padding:7px 13px;font-size:12.5px;transition:all .12s;display:flex}.es-shift .time-chip:active{transform:scale(.95)}.es-shift .time-chip.selected{border-color:var(--accent);color:var(--accent);background:var(--accent-dim)}.es-shift .note-label{color:var(--text-muted);margin-bottom:6px;font-size:12px}.es-shift .note-input{background:var(--surface2);border:1.5px solid var(--border);width:100%;color:var(--text);resize:none;border-radius:12px;outline:none;margin-bottom:16px;padding:12px 14px;font-family:Noto Sans JP,sans-serif;font-size:14px;transition:border-color .15s}.es-shift .note-input:focus{border-color:var(--accent)}.es-shift .note-input::placeholder{color:var(--border)}.es-shift .sheet-actions{gap:8px;display:flex}.es-shift .sheet-btn{text-align:center;cursor:pointer;border:none;border-radius:14px;flex:1;padding:14px;font-size:14px;font-weight:700;transition:all .12s}.es-shift .sheet-btn:active{transform:scale(.97)}.es-shift .sheet-btn.cancel{background:var(--surface2);color:var(--text-muted)}.es-shift .sheet-btn.save{background:var(--accent);color:#fff;box-shadow:0 4px 14px #3b82f659}.es-shift .copy-body{text-align:center;padding:8px 0 16px}.es-shift .copy-body-icon{margin-bottom:12px;font-size:48px}.es-shift .copy-body-title{margin-bottom:6px;font-size:16px;font-weight:700}.es-shift .copy-body-sub{color:var(--text-muted);font-size:13px;line-height:1.6}.es-shift .back-btn a{width:100%;height:100%;color:var(--text-muted);text-align:center;text-decoration:none}.es-home .rec-summary{gap:8px;margin-bottom:12px;display:flex}.es-home .rec-sum-item{background:var(--surface);border:1px solid var(--border);text-align:center;border-radius:12px;flex:1;padding:10px 6px}.es-home .rec-sum-val{color:var(--accent);font-family:DM Mono,monospace;font-size:20px;font-weight:700}.es-home .rec-sum-lbl{color:var(--text-muted);margin-top:2px;font-size:10px}.es-home .rec-days{flex-direction:column;gap:6px;display:flex}.es-home .rec-day{background:var(--surface);border:1px solid var(--border);border-radius:10px;align-items:center;gap:10px;padding:9px 11px;display:flex}.es-home .rec-day-we{background:var(--surface2)}.es-home .rec-day-off{opacity:.6}.es-home .rec-day-future{opacity:.45;cursor:default}.es-home .rec-day-leave{border-color:#8b5cf659}.es-home .rec-day-none.rec-day-leave-text,.es-home .rec-day-h.rec-day-leave-text{color:var(--purple)}.es-home .rec-day-date{flex-shrink:0;width:42px;font-family:DM Mono,monospace;font-size:12px;font-weight:700}.es-home .rec-day-dow{color:var(--text-muted);margin-left:4px;font-size:10px;font-weight:400}.es-home .rec-day-body{flex:1;min-width:0}.es-home .rec-day-entry{flex-direction:column;line-height:1.3;display:flex}.es-home .rec-day-entry+.rec-day-entry{margin-top:3px}.es-home .rec-day-time{color:var(--text-muted);font-family:DM Mono,monospace;font-size:11px}.es-home .rec-day-site{font-size:12.5px;font-weight:500}.es-home .rec-day-none{color:var(--text-muted);font-size:12px}.es-home .rec-day-h{color:var(--success);flex-shrink:0;font-size:12px;font-weight:700}.es-home .rec-screen-header{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.es-home .rec-month-nav{flex-shrink:0;align-items:center;gap:6px;display:flex}.es-home .rec-mn-btn{border:1px solid var(--border);background:var(--surface);width:28px;height:28px;color:var(--text);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;padding:0;font-size:15px;line-height:1;display:flex}.es-home .rec-mn-btn:disabled{opacity:.4;cursor:default}.es-home .rec-mn-label{text-align:center;min-width:78px;font-size:12px;font-weight:700}.es-home .mp-profile{align-items:center;gap:14px;padding:0;display:flex}.es-home .mp-avatar{background:linear-gradient(135deg, var(--success), #059669);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:58px;height:58px;font-size:22px;font-weight:700;display:flex}.es-home .mp-name{font-size:18px;font-weight:700}.es-home .mp-id{color:var(--text-muted);margin-top:2px;font-family:DM Mono,monospace;font-size:11.5px}.es-home .mp-section{padding:16px 0 0}.es-home .mp-section-title{letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);margin-bottom:8px;font-size:10.5px;font-weight:700}.es-home .mp-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;overflow:hidden}.es-home .mp-card-gap{margin-bottom:10px}.es-home .mp-row{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:11px 16px;display:flex}.es-home .mp-row:last-child{border-bottom:none}.es-home .mp-row-label{color:var(--text-muted);min-width:96px;font-size:12px}.es-home .mp-row-val{flex:1;font-size:13px}.es-home .mp-row-val.mono{font-family:DM Mono,monospace}.es-home .mp-summary-grid{grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:10px;display:grid}.es-home .mp-stat{background:var(--surface);border:1px solid var(--border);text-align:center;border-radius:12px;padding:12px}.es-home .mp-stat-val{font-family:DM Mono,monospace;font-size:22px;font-weight:500}.es-home .mp-stat-val.c-accent{color:var(--accent)}.es-home .mp-stat-val.c-warn{color:var(--warn)}.es-home .mp-stat-val.c-success{color:var(--success)}.es-home .mp-stat-label{color:var(--text-muted);margin-top:2px;font-size:10px}.es-home .mp-stamp-head{border-bottom:1px solid var(--border);background:var(--surface2);color:var(--text-muted);padding:10px 16px;font-size:11px;font-weight:600}.es-home .mp-stamp-empty{color:var(--text-muted);padding:14px 16px;font-size:12px}.es-home .mp-stamp-row{align-items:center;gap:10px;padding:10px 16px;display:flex}.es-home .mp-stamp-row:not(:last-child){border-bottom:1px solid var(--border)}.es-home .mp-stamp-date{color:var(--text-muted);min-width:56px;font-family:DM Mono,monospace;font-size:11.5px}.es-home .mp-stamp-site{color:var(--text-muted);flex:1;font-size:12px}.es-home .mp-stamp-in{color:var(--success);font-family:DM Mono,monospace;font-size:12px}.es-home .mp-stamp-arrow{color:var(--text-muted);font-size:11px}.es-home .mp-stamp-out{font-family:DM Mono,monospace;font-size:12px}.es-home .mp-line-row{align-items:center;gap:12px;padding:14px 16px;display:flex}.es-home .mp-line-icon{color:#fff;background:#06c755;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;font-size:20px;display:flex}.es-home .mp-line-info{flex:1}.es-home .mp-line-title{font-size:13px;font-weight:600}.es-home .mp-line-desc{color:var(--text-muted);margin-top:2px;font-size:11px}.es-home .mp-line-status{white-space:nowrap;border-radius:20px;padding:3px 10px;font-size:11px}.es-home .mp-line-status.on{color:var(--success);background:var(--success-dim);border:1px solid #10b9814d}.es-home .mp-line-status.off{color:var(--text-muted);border:1px solid var(--border);background:var(--surface2)}.es-home .mp-line-btn-wrap{padding:0 16px 14px}.es-home .mp-line-btn{text-align:center;cursor:pointer;border:0;border-radius:10px;width:100%;padding:11px;font-size:13px;font-weight:700;display:block}.es-home .mp-line-btn.on{background:var(--surface2);color:var(--danger);border:1px solid #ef44444d}.es-home .mp-line-btn.off{background:var(--accent);color:#fff}.es-home .mp-line-note{border-top:1px solid var(--border);color:var(--text-muted);padding:10px 16px;font-size:11px;line-height:1.6}.es-home .mp-logout-link{cursor:pointer;color:inherit;align-items:center;gap:10px;padding:13px 16px;text-decoration:none;display:flex}.es-home .mp-logout-icon{color:var(--danger);font-size:16px}.es-home .mp-logout-text{color:var(--danger);font-size:13px;font-weight:500}.es-home .ot-field{color:var(--text);text-align:right;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:0 0;border:none;flex:1;min-width:0;padding:0;font-family:inherit;font-size:14px}.es-home .ot-field:focus{outline:none}.es-home .ot-field:disabled{opacity:.6}.es-home .ot-unit{color:var(--text-muted);margin-left:6px;font-size:12.5px}.es-home .ot-reason-wrap{margin-top:10px}.es-home .ot-reason-label{color:var(--text-muted);margin-bottom:6px;font-size:12px;display:block}.es-home .ot-req{color:var(--danger);margin-left:4px;font-size:10px}.es-home .ot-reason-input{background:var(--surface);border:1px solid var(--border);width:100%;color:var(--text);resize:vertical;border-radius:10px;padding:10px 12px;font-family:inherit;font-size:13px}.es-home .ot-reason-input:focus{border-color:var(--accent);outline:none}.es-home .ot-reason-input::placeholder{color:var(--text-muted)}.es-home .ot-reason-input:disabled{opacity:.6}.es-home .submit-btn.submitted{background:var(--success)}.es-home .stamp-done{color:var(--success);justify-content:center;align-items:center;gap:6px;padding:14px;font-size:14px;font-weight:700;display:flex}.es-home .week-head{justify-content:space-between;align-items:baseline;display:flex}.es-home .week-sched-link{letter-spacing:0;text-transform:none;color:var(--accent);cursor:pointer;font-size:11px;font-weight:600}.es-home .rec-day.sched-focus{outline:2px solid var(--accent);outline-offset:-2px;background:var(--accent-dim);border-radius:8px}.es-home .nc-readall{cursor:pointer;color:var(--accent);margin-left:auto;font-size:12px}.es-home .nc-readall.is-disabled{color:var(--text-muted);pointer-events:none;opacity:.5}.es-home .nc-empty{text-align:center;color:var(--text-muted);padding:40px 0;font-size:13px}.es-home .nc-group-label{letter-spacing:.08em;color:var(--text-muted);padding:14px 0 6px;font-size:10.5px;font-weight:700}.es-home .nc-list{flex-direction:column;gap:8px;display:flex}.es-home .nc-item{cursor:pointer;background:var(--surface);border:1px solid var(--border);border-radius:14px;gap:12px;padding:12px 14px;display:flex}.es-home .nc-item.unread{border-color:var(--accent)}.es-home .nc-icon{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;font-size:19px;display:flex}.es-home .nc-body{flex:1;min-width:0}.es-home .nc-title-row{align-items:center;gap:6px;display:flex}.es-home .nc-dot{background:var(--accent);border-radius:50%;flex-shrink:0;width:7px;height:7px}.es-home .nc-title{flex:1;font-size:13px;font-weight:700}.es-home .nc-title.read{color:var(--text-muted);font-weight:500}.es-home .nc-time{color:var(--text-muted);flex-shrink:0;font-family:DM Mono,monospace;font-size:10.5px}.es-home .nc-detail{color:var(--text-muted);margin-top:3px;font-size:11.5px}.es-home .nc-arrow{color:var(--border);align-self:center;font-size:14px}.es-home .sched-submit-link{background:var(--accent-dim);color:inherit;border:1px solid #3b82f659;border-radius:14px;align-items:center;gap:12px;margin-top:4px;padding:13px 14px;text-decoration:none;display:flex}.es-home .ssl-icon{background:var(--accent);color:#fff;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;font-size:20px;display:flex}.es-home .ssl-text{flex:1}.es-home .ssl-title{color:var(--accent);font-size:13px;font-weight:700}.es-home .ssl-sub{color:var(--text-muted);margin-top:2px;font-size:11px}.es-home .ssl-arrow{color:var(--accent);font-size:18px}.es-home .site-tabs{gap:6px;margin-bottom:10px;display:flex;overflow-x:auto}.es-home .site-tab{background:var(--surface2);color:var(--text-muted);white-space:nowrap;border-radius:999px;flex-shrink:0;padding:6px 12px;font-size:12px;font-weight:600}.es-home .site-tab.active{background:var(--accent);color:#fff}.es-home .rec-day-site.is-me{color:var(--accent);font-weight:700}.es-home .rec-me-tag{background:var(--accent-dim);color:var(--accent);vertical-align:middle;border-radius:7px;margin-left:5px;padding:0 5px;font-size:9px;font-weight:700;line-height:15px;display:inline-block}.es-home .qa-btn.qa-wide{grid-column:1/-1}.es-home .rec-ot{color:var(--warn);background:var(--warn-dim);border:1px solid #f59e0b4d;border-radius:8px;align-items:center;gap:4px;width:fit-content;margin-top:4px;padding:2px 8px;font-size:10.5px;font-weight:600;display:inline-flex}.es-home .rec-fix-btn{border:1px solid var(--border);background:var(--surface2);width:30px;height:30px;color:var(--text-muted);cursor:pointer;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;margin-left:8px;display:flex}.es-home .rec-fix-btn:active{background:var(--border)}.es-home .rec-selfedit{color:var(--accent);background:var(--accent-dim);border-radius:4px;align-items:center;margin-top:2px;padding:1px 6px;font-size:10px;display:inline-flex}.es-home .fix-overlay{z-index:300;background:#0000008c;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.es-home .fix-sheet{background:var(--surface);width:100%;max-width:560px;padding:20px 18px calc(20px + env(safe-area-inset-bottom));border-radius:16px 16px 0 0}.es-home .fix-title{font-size:16px;font-weight:700}.es-home .fix-sub{color:var(--text-muted);margin:2px 0 14px;font-size:12.5px}.es-home .fix-entry{margin-bottom:12px}.es-home .fix-site{color:var(--text-muted);margin-bottom:6px;font-size:12px}.es-home .fix-times{align-items:center;gap:10px;display:flex}.es-home .fix-time{border:1px solid var(--border);background:var(--surface2);color:var(--text);border-radius:10px;flex:1;padding:10px 12px;font-family:DM Mono,monospace;font-size:18px}.es-home .fix-tilde{color:var(--text-muted)}.es-home .fix-note{color:var(--text-muted);margin:10px 0 16px;font-size:11px;line-height:1.5}.es-home .rep-entries{margin-top:12px}.es-home .rep-entries-head{color:var(--text-muted);justify-content:space-between;align-items:center;margin-bottom:8px;font-size:12px;display:flex}.es-home .rep-add{color:var(--accent);background:var(--accent-dim);cursor:pointer;border:1px solid #3b82f64d;border-radius:8px;align-items:center;gap:4px;padding:5px 10px;font-size:12px;font-weight:600;display:inline-flex}.es-home .rep-entry{background:var(--surface2);border:1px solid var(--border);border-radius:10px;margin-bottom:8px;padding:10px}.es-home .rep-site{box-sizing:border-box;border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text);border-radius:8px;margin-bottom:8px;padding:8px 10px;font-size:13px}.es-home .rep-times{align-items:center;gap:10px;display:flex}.es-home .rep-entry-head{align-items:center;gap:8px;margin-bottom:8px;display:flex}.es-home .rep-entry-head .rep-site{flex:1;min-width:0;margin-bottom:0}.es-home .rep-del{appearance:none;width:30px;height:30px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:8px;flex-shrink:0;font-size:15px;line-height:1}.es-home .rep-del:hover{color:var(--danger);background:var(--surface)}.es-home .fix-rep-list{margin:0 0 12px}.es-home .fix-rep-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:10px;padding:7px 0;font-size:12.5px;display:flex}.es-home .fix-rep-row:last-child{border-bottom:none}.es-home .fix-rep-site{color:var(--text-muted)}.es-home .fix-rep-time{font-family:DM Mono,monospace}.es-home .fix-rep-was{color:var(--text-muted);margin-right:6px}.es-home .fix-actions{gap:10px;display:flex}.es-home .fix-btn{text-align:center;cursor:pointer;border-radius:10px;flex:1;padding:13px;font-size:14px;font-weight:600}.es-home .fix-btn.cancel{background:var(--surface2);border:1px solid var(--border);color:var(--text-muted)}.es-home .fix-btn.save{background:var(--accent);color:#fff}.es-home .punch-confirm{text-align:center;width:100%}.es-home .pc-q{color:var(--text);margin-bottom:12px;font-size:13px;line-height:1.5}.es-home .pc-q b{color:var(--accent);font-weight:700}.es-home .pc-actions{gap:8px;display:flex}.es-home .pc-btn{cursor:pointer;border:1px solid var(--border);border-radius:12px;flex:1;padding:12px 8px;font-size:13px;font-weight:700}.es-home .pc-btn i{margin-right:2px}.es-home .pc-btn.ok{background:var(--success-dim);color:var(--success);border-color:#10b9814d}.es-home .pc-btn.fix{background:var(--accent-dim);color:var(--accent);border-color:#3b82f64d}.es-home .stamp-done{flex-wrap:wrap}.es-home .stamp-fix-link{text-align:center;color:var(--accent);cursor:pointer;flex-basis:100%;margin-top:6px;font-size:12px;font-weight:600;text-decoration:underline}.es-home .rec-hint{color:var(--text-muted);background:var(--surface2);border:1px solid var(--border);border-radius:10px;align-items:flex-start;gap:6px;margin-bottom:12px;padding:8px 12px;font-size:11px;line-height:1.5;display:flex}.es-home .rec-hint i{flex-shrink:0;margin-top:2px;font-size:13px}.es-home .rec-day-tap{cursor:pointer}.es-home .rec-base-tag{color:var(--text-muted);border:1px solid var(--border);border-radius:6px;align-self:flex-start;padding:1px 6px;font-size:10px}.es-home .qa-sub.qa-sub-link{color:var(--accent);margin-top:4px;font-weight:600}.es-home .qa-sub.qa-sub-link i{font-size:11px}.es-home .fix-ot-msg{color:var(--text);margin:4px 0 12px;font-size:13px;line-height:1.7}.es-home .fix-ot-msg b{color:var(--warn)}.es-home .fix-ot-reason{background:var(--surface2);border:1px solid var(--border);width:100%;color:var(--text);resize:none;border-radius:10px;margin-bottom:16px;padding:10px 12px;font-size:13px}.es-home .fix-ot-reason::placeholder{color:var(--text-muted)}.es-home .rec-ot-warn{color:var(--warn);background:var(--warn-dim);cursor:pointer;border:1px solid #f59e0b4d;border-radius:6px;align-items:center;gap:4px;padding:2px 6px;font-size:10px;font-weight:700;display:inline-flex}.es-home .es-req-tabs{gap:0;display:flex}.es-home .es-req-tabs .btn{border:0;border-bottom:1px solid var(--border);min-width:0;box-shadow:none;border-radius:0;flex:1;justify-content:center;align-items:center;padding:11px 8px;font-size:14px;font-weight:700;display:flex}.es-home .es-req-tabs .btn.primary{border-bottom-color:#0000}.es-home .es-req-sub{border-bottom:1px solid var(--border);padding:14px 16px}.es-home .es-req-sub-seg{background:var(--surface2);border:1px solid var(--border);border-radius:12px;gap:4px;padding:4px;display:flex}.es-home .es-req-sub-btn{appearance:none;min-width:0;color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:9px;flex:1;padding:10px 8px;font-size:13.5px;font-weight:700}.es-home .es-req-sub-btn.active{background:var(--accent-dim);color:var(--accent);box-shadow:inset 0 0 0 1px #3b82f680}.es-home .es-req-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;flex-shrink:0;margin-bottom:12px;overflow:hidden}.es-home .es-req-card .req-form{background:0 0;border:0;border-radius:0}.es-home .es-req-card .req-form .form-row:last-child{border-bottom:0}.es-home .form-row-reason,.es-home .form-row-block{display:block}.es-home .form-row-reason .ot-reason-input{width:100%}.txt-warn{color:var(--warn)}.txt-success{color:var(--success)}.txt-muted{color:var(--text-muted)}.txt-dim{color:var(--text-dim)}.txt-accent{color:var(--accent)}.txt-danger{color:var(--danger)}.txt-purple{color:var(--purple)}.txt-border{color:var(--border)}.txt-text{color:var(--text)}.mt-8{margin-top:8px}.flex-min{flex:1;min-width:0}.no-border{border-bottom:none}.scroll-x{overflow-x:auto}.axis-label{color:var(--text-muted);font-size:10px}.sheet-sub{color:var(--text-muted);margin-top:2px;font-size:12px}.sub-view-toggle{background:var(--surface2);border:1px solid var(--border);border-radius:8px;gap:2px;margin-left:8px;padding:2px;display:inline-flex}.sub-view-toggle .svt-btn{color:var(--text-muted);cursor:pointer;border-radius:6px;padding:4px 12px;font-size:12px;text-decoration:none;transition:background .12s,color .12s}.sub-view-toggle .svt-btn:hover{color:var(--text)}.sub-view-toggle .svt-btn.active{background:var(--accent);color:#fff;font-weight:600}.sub-shift-link{border:1px solid var(--accent);background:var(--accent-dim);color:var(--accent);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:6px;margin:4px 0 12px;padding:9px;font-size:12.5px;font-weight:600;text-decoration:none;transition:background .12s,color .12s;display:flex}.sub-shift-link:hover{background:var(--accent);color:#fff}.flex-1{flex:1}.clickable{cursor:pointer}.td-center{text-align:center}.hint-sm{color:var(--text-muted);font-size:11px}.text-sm-muted,.shift-create-page .copy-sub,.shift-create-page .commit-note,.setting-page .line-note-text,.setting-page .ctrl-note-sm,.worksite-page .csv-done-sub,.leave-setting-page .csv-done-sub,.worksite-page .work-cell,.leave-setting-page .work-cell,.shift-daily-page .replace-label,.apply-page .dp-processed,.alert-hint{color:var(--text-muted);font-size:11.5px}.text-xs-muted,.shift-create-page .sc-total-head,.shift-create-page .pending-note,.setting-page .tl-hint,.shift-daily-page .cand-dept,.legend-label{color:var(--text-muted);font-size:10.5px}.foot-sticky-l,.shift-create-page .sc-foot-label,.monthly-worksite-page .mw-foot-label{z-index:25;position:sticky;bottom:0;left:0}.foot-sticky-r,.shift-daily-page .sd-foot-total,.monthly-worksite-page .mw-foot-total{z-index:25;border-top:2px solid var(--border2);position:sticky;bottom:0;right:0}.head-sticky-r,.shift-create-page .sc-total-head,.shift-daily-page .sd-status-head{z-index:21;position:sticky;right:0}.btn-grow{text-align:center;flex:1}.btn-danger-solid{background:var(--danger);color:#fff;border-color:var(--danger)}.dot-ok{background:var(--success)}.cursor-default{cursor:default}.text-right{text-align:right}.text-center{text-align:center}.alert-label{color:var(--warn);font-size:12px;font-weight:600}.alert-hint{margin-left:auto}.legend-label{margin-right:2px}.grid-empty{text-align:center;color:var(--text-muted);grid-column:1/-1;padding:32px}.table-empty{text-align:center;color:var(--text-muted);padding:32px}.sheet-scroll{width:440px;max-height:80vh;overflow-y:auto}.hist-empty{text-align:center;color:var(--text-muted);padding:24px 0;font-size:12.5px}.toast-soft{background:var(--surface3);color:var(--text);border:1px solid var(--border);z-index:999;box-shadow:var(--shadow-lg);border-radius:8px;padding:10px 18px;font-size:13px;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.view-tabs.tabs-ml{margin-left:12px}.legend-hint{color:var(--text-muted);margin-left:auto;font-size:11px}.chip-proxy{color:var(--purple);background:var(--purple-dim);border-color:#7c5ce84d}.chip-retired{color:var(--text-muted);border-color:var(--border2);background:var(--surface2);margin-left:6px}tr.row-retired td{opacity:.55}.toast{color:#fff;z-index:999;background:#1a2140;border-radius:8px;padding:10px 20px;font-size:13px;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 4px 16px #0003}.apply-page .banner-meta{color:var(--text-muted);margin-left:auto;font-size:11px}.apply-page .banner-meta b{color:var(--text)}.apply-page .emp-filter-banner{border-bottom:1px solid var(--border);background:var(--accent-dim);align-items:center;gap:10px;padding:7px 20px;font-size:12px;display:flex}.apply-page .efb-clear{cursor:pointer;color:var(--accent);white-space:nowrap;margin-left:auto}.apply-page .es-strong{font-size:13px;font-weight:600}.apply-page .es-sub{font-size:12px}.apply-page .bulk-check{cursor:pointer;width:16px;height:16px;accent-color:var(--accent);flex-shrink:0}.apply-page .emp-inline{align-items:center;gap:7px;display:flex}.apply-page .reason-note{color:var(--text-muted);font-size:11px}.apply-page .reject-quick{color:var(--danger);background:var(--danger-dim);border-color:#d43f3f4d}.apply-page .dp-fill{flex-direction:column;height:100%;display:flex}.apply-page .dp-id-sub{color:var(--text-muted);font-size:11px}.apply-page .dp-processed{text-align:center;padding:6px 0}.apply-page .history-dot.accent{background:var(--accent)}.apply-page .history-dot.success{background:var(--success)}.apply-page .history-dot.danger{background:var(--danger)}.apply-page .reject-reason-box{background:var(--danger-dim);color:var(--danger);border:1px solid #d43f3f33;border-radius:8px;margin-top:6px;padding:10px 12px;font-size:12px}.apply-page .reject-hint.warn{color:var(--danger)}.apply-page .action-btn.ab-reject.armed{background:var(--danger)}.emp-page .pca-ok{color:var(--success);font-weight:600}.emp-page .phone-ok{color:var(--success);font-size:13px}.emp-page .th-name{width:180px;min-width:180px}.emp-page .th-act{min-width:80px}.hope-page .day-label{min-width:auto}.es-shift .sw-work{background:var(--accent-dim);border-color:#3b82f680}.es-shift .sw-am{background:var(--warn-dim);border-color:#f59e0b80}.es-shift .sw-pm{background:var(--purple-dim);border-color:#8b5cf680}.es-shift .sw-off{background:var(--danger-dim);border-color:#ef444466}.es-shift .dot-note{color:var(--accent);font-size:10px}.es-shift .submit-btn.submitted{background:var(--success);box-shadow:0 4px 20px #10b98166}.calendar-page .leg-sq.lg-work{background:var(--accent-dim);border:1px solid #4f8ef74d}.calendar-page .leg-sq.lg-ot{background:var(--warn-dim);border:1px solid #f5a6234d}.calendar-page .leg-sq.lg-absent{background:var(--danger-dim);border:1px solid #f060604d}.calendar-page .leg-sq.lg-leave{background:var(--purple-dim);border:1px solid #9b7ff44d}.calendar-page .leg-sq.lg-late{background:#f5a62314;border:1px solid #f5a62340}.emp-page .detail-name{font-size:14px;font-weight:700}.emp-page .section-pad{padding:0 16px}.emp-page .section-pad p{padding:10px 0;font-size:12.5px}.emp-page .req-empty{color:var(--text-muted);text-align:center;padding:12px 0;font-size:12px}.emp-page .log-empty{text-align:center;color:var(--text-muted);padding:12px}.emp-page .log-site{font-size:11.5px}.emp-page .log-state{font-size:11px}.monthly-worksite-page .mw-corner{top:0}.monthly-worksite-page .mw-rt-head{z-index:25;text-align:right;padding:8px 10px;top:0}.monthly-worksite-page .mw-corner2{padding:4px 12px;top:57px}.monthly-worksite-page .mw-th2{top:57px}.monthly-worksite-page .mw-rt2{z-index:25;top:57px}.monthly-worksite-page .emp-total-mono{color:var(--accent);font-family:DM Mono,monospace;font-size:10px}.monthly-worksite-page .cell-holiday-label{color:var(--text-dim);font-size:10.5px}.monthly-worksite-page .mw-foot-sum{color:var(--text-muted);font-size:10px}.shift-daily-page .leg-sq.lg-in{background:#ebf1fe;border-color:#b8ccfc}.shift-daily-page .leg-sq.lg-out{background:var(--surface2);border-color:var(--border)}.shift-daily-page .leg-sq.lg-absent{background:#fdf0f0;border-color:#f9c8c8}.shift-daily-page .leg-sq.lg-late{background:#fff8e8;border-color:#fde8a0}.shift-daily-page .leg-sq.lg-leave{background:#f4f0fd;border-color:#d4c4f9}.shift-daily-page .leg-sq.lg-sched{background:#f0faf6;border-color:#a8e4cc}.shift-daily-page .replace-label{margin:12px 0 6px}.shift-daily-page .cand-self{color:var(--accent);margin-left:6px;font-size:10px}.shift-daily-page .cand-dept{margin-left:6px}.shift-daily-page .cand-range{color:var(--text-muted);margin-left:8px;font-family:DM Mono,monospace;font-size:11px}.shift-daily-page .cand-empty{color:var(--text-muted);font-size:12px}.shift-daily-page .day-picker{cursor:pointer;align-items:center;gap:4px;display:inline-flex;position:relative}.shift-daily-page .day-picker:after{content:"▾";color:var(--text-muted);font-size:10px}.shift-daily-page .day-picker-input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.shift-daily-page .assign-btn{margin-left:8px;padding:3px 10px;font-size:11px}.shift-daily-page .cell-in{color:var(--success);font-weight:600}.shift-daily-page .chip.chip-none{color:var(--text-dim);border-color:var(--border)}.shift-daily-page .warn-pip.pip-danger{background:var(--danger)}.shift-daily-page .warn-pip.pip-warn{background:var(--warn)}.shift-daily-page .req-sep{color:var(--text-dim);font-weight:400}.shift-daily-page .sd-status-head{background:var(--surface2);text-align:right;border-left:2px solid var(--border2);min-width:80px;padding:8px 10px}.shift-daily-page .sd-corner2{min-width:180px;color:var(--text-muted);background:var(--surface);z-index:30;border-right:2px solid var(--border2);padding:4px 14px;font-size:10px;position:sticky;left:0}.shift-daily-page .sd-work-head{z-index:25;background:var(--surface);border-left:2px solid var(--border2);text-align:right;color:var(--text-muted);padding:4px 10px;font-family:DM Mono,monospace;font-size:10px;position:sticky;right:0}.shift-daily-page .sd-foot-count{color:var(--text-muted);font-family:DM Mono,monospace;font-size:11px}.shift-daily-page .sd-foot-sub{color:var(--text-muted);font-size:9.5px}.worksite-page .sum-head-title,.leave-setting-page .sum-head-title{margin-bottom:4px;font-size:18px;font-weight:700}.worksite-page .sum-head-sub,.leave-setting-page .sum-head-sub{color:var(--text-muted);margin-bottom:16px;font-size:12px}.worksite-page .type-breakdown,.leave-setting-page .type-breakdown{margin:8px 0 6px;font-size:14px;font-weight:600;line-height:1.6}.worksite-page .edit-bar,.leave-setting-page .edit-bar{align-items:center;gap:10px;margin-bottom:16px;display:flex}.worksite-page .edit-title,.leave-setting-page .edit-title{font-size:18px;font-weight:700}.worksite-page .edit-actions,.leave-setting-page .edit-actions{gap:8px;margin-left:auto;display:flex}.worksite-page .form-row,.leave-setting-page .form-row{flex-wrap:wrap}.worksite-page .hint-inline,.leave-setting-page .hint-inline{flex:0 0 calc(100% - 112px);margin-left:112px}.worksite-page .ptw-name,.leave-setting-page .ptw-name{width:120px}.worksite-page .ptw-time,.leave-setting-page .ptw-time{width:100px}.worksite-page .ptw-break,.leave-setting-page .ptw-break,.worksite-page .ptw-work,.leave-setting-page .ptw-work{width:80px}.worksite-page .ptw-del,.leave-setting-page .ptw-del{width:50px}.worksite-page .work-cell,.leave-setting-page .work-cell{font-family:DM Mono,monospace}.worksite-page .memo-pad,.leave-setting-page .memo-pad{padding:12px 16px}.worksite-page .memo-input,.leave-setting-page .memo-input{resize:vertical;width:100%}.worksite-page .ns-form,.leave-setting-page .ns-form{flex-direction:column;gap:10px;display:flex}.worksite-page .ns-row,.leave-setting-page .ns-row{align-items:center;gap:10px;display:flex}.worksite-page .ns-label,.leave-setting-page .ns-label{color:var(--text-muted);min-width:80px;font-size:12px}.worksite-page .csv-head,.leave-setting-page .csv-head{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.worksite-page .csv-done-banner,.leave-setting-page .csv-done-banner{background:var(--success-dim);border:1px solid #12a87a4d;border-radius:10px;align-items:center;gap:10px;margin-bottom:14px;padding:12px 16px;display:flex}.worksite-page .csv-done-icon,.leave-setting-page .csv-done-icon{font-size:18px}.worksite-page .csv-done-title,.leave-setting-page .csv-done-title{color:var(--success);font-size:13px;font-weight:600}.worksite-page .csv-done-sub,.leave-setting-page .csv-done-sub{margin-top:2px}.worksite-page .csv-mode-row,.leave-setting-page .csv-mode-row{align-items:center;gap:10px;margin-bottom:10px;display:flex}.worksite-page .csv-mode-label,.leave-setting-page .csv-mode-label{color:var(--text-muted);font-size:12px}.worksite-page .csv-diff,.leave-setting-page .csv-diff{background:var(--surface2);border:1px solid var(--border);border-radius:10px;margin-bottom:14px;padding:10px 14px;font-size:12.5px}.worksite-page .diff-new,.leave-setting-page .diff-new{color:var(--success);font-weight:600}.worksite-page .diff-upd,.leave-setting-page .diff-upd{color:var(--accent);font-weight:600}.worksite-page .diff-sep,.leave-setting-page .diff-sep{color:var(--text-dim);margin:0 8px}.worksite-page .diff-warn,.leave-setting-page .diff-warn{color:var(--danger);margin-top:5px;font-size:11px}.worksite-page .csv-actions-row,.leave-setting-page .csv-actions-row{gap:10px;display:flex}@media (width<=640px){.setting-page main{padding:0}.setting-page main .settings-content{padding:10px 20px}}.setting-page .admin-add-sheet .ns-form{flex-direction:column;gap:12px;display:flex}.setting-page .admin-add-sheet .ns-row{flex-direction:column;align-items:stretch;gap:4px;display:flex}.setting-page .admin-add-sheet .ns-label{color:var(--text-muted);font-size:12px}.setting-page .admin-add-sheet .form-input,.setting-page .admin-add-sheet .form-select{width:100%}.setting-page .tl-section{padding:12px 18px 16px}.setting-page .tl-hint{margin-bottom:10px}.setting-page .tl-wrap{align-items:center;gap:0;display:flex;overflow-x:auto}.setting-page .tl-node{flex-direction:column;align-items:center;min-width:90px;display:flex}.setting-page .tl-label{color:var(--text-muted);text-align:center;margin-bottom:6px;font-size:10px}.setting-page .tl-dot{border-radius:50%;width:10px;height:10px}.setting-page .tl-dot.sev-success{background:var(--success)}.setting-page .tl-dot.sev-warn{background:var(--warn)}.setting-page .tl-dot.sev-accent{background:var(--accent)}.setting-page .tl-dot.sev-purple{background:var(--purple)}.setting-page .tl-date{margin-top:5px;font-family:DM Mono,monospace;font-size:11px;font-weight:500}.setting-page .tl-date.sev-success{color:var(--success)}.setting-page .tl-date.sev-warn{color:var(--warn)}.setting-page .tl-date.sev-accent{color:var(--accent)}.setting-page .tl-date.sev-purple{color:var(--purple)}.setting-page .tl-line{background:var(--border);flex:1;min-width:24px;height:2px}.setting-page .ctrl-note{color:var(--text-muted);font-size:12px}.setting-page .sel-sm{padding:3px 22px 3px 8px;font-size:11.5px}.setting-page .input-sm{font-size:11.5px}.setting-page .sb-dot.ok{background:var(--success)}.setting-page .line-note{background:var(--surface2);border-top:1px solid var(--border);padding:12px 18px}.setting-page .line-note-text{line-height:1.7}.setting-page .line-help{color:var(--text-muted);padding:14px 18px;font-size:12.5px}.setting-page .link-count{color:var(--text-muted);font-family:DM Mono,monospace;font-size:14px;font-weight:500}.setting-page .pca-actions{gap:8px;padding:0 18px 14px;display:flex}.setting-page .pca-sync-history{scroll-margin-top:16px}.setting-page .pca-sync-table-wrap{overflow-x:auto}.setting-page .pca-sync-table{border-collapse:collapse;width:100%;min-width:1106px}.setting-page .pca-sync-table th{text-align:left;color:var(--text-muted);background:var(--surface2);border-bottom:1px solid var(--border);white-space:nowrap;padding:8px 12px;font-size:10.5px;font-weight:700}.setting-page .pca-sync-table td{border-bottom:1px solid var(--border);vertical-align:top;white-space:nowrap;padding:10px 12px;font-size:12px}.setting-page .pca-sync-table tr:last-child td{border-bottom:none}.setting-page .pca-sync-table tbody tr:hover{background:var(--surface2)}.setting-page .pca-sync-table{table-layout:fixed}.setting-page .pca-sync-table th:first-child,.setting-page .pca-sync-table td:first-child{width:132px}.setting-page .pca-sync-table th:nth-child(2),.setting-page .pca-sync-table td:nth-child(2){width:56px}.setting-page .pca-sync-table th:nth-child(4),.setting-page .pca-sync-table td:nth-child(4){width:132px}.setting-page .pca-sync-table th:nth-child(5),.setting-page .pca-sync-table td:nth-child(5){width:240px}.setting-page .pca-sync-table th:nth-child(6),.setting-page .pca-sync-table td:nth-child(6){width:130px}.setting-page .pca-sync-table th:nth-child(7),.setting-page .pca-sync-table td:nth-child(7){width:104px}.setting-page .pca-sync-table th:nth-child(8),.setting-page .pca-sync-table td:nth-child(8){width:132px}.setting-page .pca-sync-table td:nth-child(4){text-overflow:ellipsis;overflow:hidden}.setting-page .pca-sync-table td:nth-child(7){white-space:normal;overflow-wrap:anywhere}.setting-page .pca-sync-result{min-width:180px;white-space:normal!important}.setting-page .pca-sync-status-failed{color:var(--danger);background:var(--danger-dim);border-color:#d43f3f4d}.setting-page .pca-sync-status-failed .sb-dot{background:var(--danger)}.setting-page .pca-sync-error{color:var(--danger);margin-top:6px;line-height:1.45}.setting-page .pca-sync-counts{flex-wrap:wrap;gap:2px 10px;display:flex}.setting-page .pca-sync-counts b{color:var(--text);font-family:DM Mono,monospace}.setting-page .pca-sync-empty{text-align:center;color:var(--text-muted);padding:28px 18px;font-size:12.5px}.setting-page .pca-sync-history-error{text-align:center;padding-bottom:16px}.setting-page .pca-sync-history-error .app-loading-state{min-height:120px}.setting-page .pca-sync-pagination{border-top:1px solid var(--border);color:var(--text-muted);justify-content:flex-end;align-items:center;gap:10px;padding:12px 18px;font-size:11.5px;display:flex}.setting-page .admin-cell{align-items:center;gap:8px;display:flex}.setting-page .admin-av{border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;font-size:10px;font-weight:700;display:flex}.setting-page .admin-av.av-accent{background:var(--accent-dim);color:var(--accent)}.setting-page .admin-av.av-success{background:var(--success-dim);color:var(--success)}.setting-page .admin-av.av-muted{background:var(--surface2);color:var(--text-muted)}.setting-page .you-chip{font-size:9.5px}.setting-page .admin-actions{justify-content:flex-end;gap:8px;display:flex}.setting-page .perm-desc{color:var(--text-muted);flex:1;font-size:12px}.setting-page .danger-overlay{z-index:500;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#141e3c66;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.setting-page .danger-card{background:var(--surface);width:380px;box-shadow:var(--shadow-lg);border:1.5px solid #d43f3f66;border-radius:16px;padding:24px}.setting-page .danger-icon{text-align:center;margin-bottom:12px;font-size:36px}.setting-page .danger-title{text-align:center;margin-bottom:8px;font-size:15px;font-weight:700}.setting-page .danger-desc{color:var(--text-muted);text-align:center;margin-bottom:18px;font-size:12.5px}.setting-page .danger-input{text-align:center;margin-bottom:14px;font-family:DM Mono,monospace}.setting-page .danger-input.err{border-color:var(--danger)}.setting-page .danger-actions{gap:8px;display:flex}.shift-create-page .btn-csv-mini{box-shadow:none;padding:2px 7px;font-size:10px}.shift-create-page .bl-check{color:var(--success);font-size:11px}.shift-create-page .pending-num{color:var(--warn);font-weight:600}.shift-create-page .leg-sq.sc-assigned{background:#4f8ef726;border-color:#4f8ef766}.shift-create-page .leg-sq.sc-warn{background:#f5a62326;border-color:#f5a62366}.shift-create-page .leg-sq.sc-ok{background:var(--success-dim);border-color:#14a87a33}.shift-create-page .leg-sq.sc-ng{background:var(--danger-dim);border-color:#d940402e}.shift-create-page .leg-sq.sc-any{background:var(--neutral-dim);border-color:var(--border)}.shift-create-page .leg-sq.mv-dup{background:var(--danger-dim);border-color:#d9404066}.shift-create-page .col-emp-140{min-width:140px}.shift-create-page .col-emp-150{min-width:150px}.shift-create-page .sc-total-head{text-align:center;padding:6px 2px}.shift-create-page .mark-ng{color:var(--danger);font-size:13px}.shift-create-page .mark-any{color:var(--text-muted);font-size:13px}.shift-create-page .mark-add{color:var(--text-dim);font-size:12px}.shift-create-page .sc-foot-total{z-index:25;color:var(--text-muted);font-size:10px;position:sticky;bottom:0;right:0}.shift-create-page .pref-dash{color:var(--text-muted);margin-left:4px;font-size:14px}.shift-create-page .mv-hint{color:var(--text-muted);margin-left:auto}.shift-create-page .sheet-emp-name{flex:1;font-size:12px;font-weight:500}.shift-create-page .sheet-emp-dept{color:var(--text-muted);font-size:11px}.shift-create-page .confirm-icon{margin-bottom:12px;font-size:44px}.shift-create-page .confirm-title{margin-bottom:8px;font-size:16px;font-weight:700}.shift-create-page .confirm-desc{color:var(--text-muted);margin-bottom:20px;font-size:13px;line-height:1.8}.shift-create-page .num-danger{color:var(--danger);font-weight:700}.shift-create-page .num-warn{color:var(--warn);font-weight:700}.shift-create-page .confirm-actions{gap:8px;display:flex}.shift-create-page .sheet-460{width:460px}.shift-create-page .copy-sub{margin-top:3px}.profile-av.tone-success,.ep-av.tone-success,.mv-stab-av.tone-success,.sheet-pick-av.tone-success{background:var(--success-dim);color:var(--success)}.profile-av.tone-danger,.ep-av.tone-danger,.mv-stab-av.tone-danger,.sheet-pick-av.tone-danger{background:var(--danger-dim);color:var(--danger)}.profile-av.tone-warn,.ep-av.tone-warn,.mv-stab-av.tone-warn,.sheet-pick-av.tone-warn{background:var(--warn-dim);color:var(--warn)}.profile-av.tone-accent,.ep-av.tone-accent,.mv-stab-av.tone-accent,.sheet-pick-av.tone-accent{background:var(--accent-dim);color:var(--accent)}.profile-av.tone-purple,.ep-av.tone-purple,.mv-stab-av.tone-purple,.sheet-pick-av.tone-purple{background:var(--purple-dim);color:var(--purple)}.sheet-pick-av{border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:9px;font-weight:700;display:flex}.hamburger,.nav-drawer,.dp-back{display:none}.login-link-sheet{width:min(560px,92vw)}.login-link-sheet .label{margin-bottom:6px;display:block}.login-link-url{resize:vertical;word-break:break-all;width:100%;min-height:88px;line-height:1.6}.login-link-note{align-items:flex-start;gap:6px;margin-top:10px;font-size:11.5px;line-height:1.6;display:flex}.login-link-note .ph{flex-shrink:0;margin-top:2px}.profile-chips .chip+.chip,.chip-group .chip+.chip,.chip-cell .chip+.chip,.ng-chips .chip+.chip,.ls-chips .chip+.chip,.alert-chips .chip+.chip{margin-left:0}.chip-cell{flex-wrap:wrap;gap:4px 5px;display:flex}.req-note-chip{cursor:help}.req-note-chip+.req-note-chip{margin-left:4px}.reject-next{background:var(--warn-dim);color:var(--warn);border-radius:8px;flex-wrap:wrap;align-items:center;gap:10px;margin-top:10px;padding:10px 12px;font-size:12.5px;line-height:1.7;display:flex}.reject-next .btn{margin-left:auto}.worksite-page .csv-errors{background:var(--danger-dim,#d43f3f14);border:1px solid #d43f3f4d;border-radius:8px;max-height:220px;margin:12px 0 4px;padding:12px 14px;overflow-y:auto}.worksite-page .csv-errors-title{color:var(--danger);align-items:center;gap:6px;margin-bottom:8px;font-size:12.5px;font-weight:600;display:flex}.worksite-page .csv-error-row{border-top:1px solid #d43f3f26;flex-wrap:wrap;align-items:baseline;gap:4px 10px;padding:5px 0;font-size:12.5px;line-height:1.6;display:flex}.worksite-page .csv-error-line{color:var(--danger);white-space:nowrap;font-family:ui-monospace,monospace;font-weight:600}.worksite-page .csv-error-id{color:var(--text)}.worksite-page .csv-error-msg{color:var(--text-muted);flex:100%}.notif-item{align-items:flex-start;gap:9px;line-height:1.55}.notif-item .notif-dot{border-radius:50%;flex:none;width:7px;height:7px;margin-top:6px}.notif-item .notif-body{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.notif-item .notif-title{font-size:12.5px}.notif-item .notif-text{color:var(--text-muted);word-break:break-word;font-size:11.5px}.notif-item .notif-time{color:var(--text-dim,var(--text-muted));white-space:nowrap;flex:none;margin-top:2px;font-size:10.5px}.notif-item.is-unread{background:var(--accent-dim)}.notif-item.is-unread .notif-dot{background:var(--accent)}.notif-item.is-unread .notif-title{color:var(--text);font-weight:700}.notif-item.is-read{opacity:.62}.notif-item.is-read .notif-dot{background:var(--border)}.notif-item.is-read .notif-title{font-weight:500}.notif-item.is-read:hover{opacity:1}.leave-page .sheet-actions{justify-content:flex-end;gap:10px;margin-top:18px;display:flex}.leave-page .summary-strip{border-bottom:1px solid var(--border);background:var(--surface);flex-shrink:0;display:flex}.leave-page .sum-item{border-right:1px solid var(--border);flex:1;padding:9px 16px}.leave-page .sum-item:last-child{border-right:none}.leave-page .sum-label{color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase;margin-bottom:2px;font-size:10px}.leave-page .sum-val{font-family:DM Mono,monospace;font-size:20px;font-weight:500;line-height:1}.leave-page .sum-sub{color:var(--text-muted);margin-top:2px;font-size:10px}.month-pick{color:var(--text);text-align:center;cursor:pointer;background:0 0;border:none;width:120px;font-family:inherit;font-size:13px;font-weight:700}.month-pick::-webkit-calendar-picker-indicator{filter:invert();opacity:.85;cursor:pointer}.month-pick::-webkit-calendar-picker-indicator:hover{opacity:1}.leave-seg{gap:8px;display:flex}.leave-row{cursor:pointer}.leave-list .sp-act{display:none}.ledger-page-body{padding:16px 20px}.ledger-table{border-collapse:collapse;width:100%;font-size:12px}.ledger-table th,.ledger-table td{border:1px solid var(--border);text-align:center;white-space:nowrap;padding:7px 10px}.ledger-table th{background:var(--surface2);color:var(--text-muted);font-weight:700}.ledger-table .lg-period{white-space:normal;min-width:104px;line-height:1.45}.ledger-table .lg-period span{display:block}.ledger-note{margin-top:12px;font-size:11px}.lg-person{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:22px;display:flex}.lg-person-av{background:var(--accent-dim);width:42px;height:42px;color:var(--accent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:14px;font-weight:600;display:flex}.lg-person-body{flex:1;min-width:0}.lg-person-name{color:var(--text);font-size:20px;font-weight:700}.lg-person-id{color:var(--text-dim);margin-left:8px;font-size:13px;font-weight:400}.lg-person-sub{color:var(--text-muted);margin-top:3px;font-size:12.5px}.lg-person-action{margin-left:auto}.lg-summary{flex-wrap:wrap;gap:10px;margin-bottom:18px;display:flex}.lg-summary .lg-sum-item{border:1px solid var(--border);border-radius:10px;flex:1;min-width:120px;padding:12px 14px}.lg-summary .lg-duty{background:var(--warn-dim);border:1px solid #cc850059;border-radius:10px}.lg-summary .lg-duty .lg-sum-label,.lg-summary .lg-duty .lg-sum-val,.lg-summary .lg-duty .lg-sum-sub{color:var(--warn)}.lg-summary .lg-duty.is-done{background:var(--success-dim);border-color:#17a67c59}.lg-summary .lg-duty.is-done .lg-sum-label,.lg-summary .lg-duty.is-done .lg-sum-val,.lg-summary .lg-duty.is-done .lg-sum-sub{color:var(--success)}.lg-summary .lg-duty.is-done .lg-duty-bar span{background:var(--success)}.lg-summary .lg-duty.is-none{background:var(--surface2);border-color:var(--border)}.lg-summary .lg-duty.is-none .lg-sum-label,.lg-summary .lg-duty.is-none .lg-sum-val,.lg-summary .lg-duty.is-none .lg-sum-sub{color:var(--text-muted)}.lg-summary .lg-duty.is-none .lg-duty-bar{display:none}.lg-summary .lg-duty-bar{background:#ffffff1f;border-radius:2px;height:4px;margin:8px 0 6px;overflow:hidden}.lg-summary .lg-duty-bar span{background:var(--warn);border-radius:2px;height:100%;transition:width .2s;display:block}.lg-summary .lg-sum-label{color:var(--text-muted);margin-bottom:4px;font-size:11px}.lg-summary .lg-sum-val{font-size:24px;font-weight:700;line-height:1.1}.lg-summary .lg-sum-unit{color:var(--text-muted);margin-left:2px;font-size:12px;font-weight:500}.lg-summary .lg-sum-sub{color:var(--text-muted);margin-top:3px;font-size:10.5px}.lg-balance-head{flex-wrap:wrap;align-items:center;gap:8px;margin-top:4px;display:flex}.lg-pattern{color:var(--accent);background:var(--accent-dim);white-space:nowrap;border:1px solid #4f8ef74d;border-radius:10px;padding:2px 9px;font-size:11px;font-weight:600;display:inline-block}.lg-pattern.is-none{color:var(--text-muted);background:var(--surface2);border-color:var(--border)}.lg-balance-note{margin:8px 0 18px}.ledger-table tfoot td{background:var(--surface2);font-weight:700}.lg-section-title{color:var(--text);margin:0 0 8px;font-size:12.5px;font-weight:700}.ledger-table tr.lg-current td{background:var(--accent-dim)}.lg-cur-chip{color:var(--accent);background:var(--surface);border:1px solid #4f8ef766;border-radius:4px;margin-left:6px;padding:1px 6px;font-size:10px;font-weight:700;display:inline-block}.lg-expired{margin-top:14px}.lg-expired-toggle{color:var(--text-muted);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;padding:6px 2px;font-size:12px;display:inline-flex}.lg-expired-toggle .ph{font-size:14px}.lg-expired-toggle:hover{color:var(--text)}.lg-expired-table{opacity:.62;margin-top:6px}.lg-csv-export{position:relative}.lg-csv-backdrop{z-index:60;position:fixed;inset:0}.lg-csv-menu{z-index:61;background:var(--surface);border:1px solid var(--border2);border-radius:10px;min-width:220px;position:absolute;top:calc(100% + 6px);right:0;overflow:hidden;box-shadow:0 8px 24px #00000059}.lg-csv-menu-item{cursor:pointer;padding:9px 14px}.lg-csv-menu-item:not(:last-child){border-bottom:1px solid var(--border)}.lg-csv-menu-item:hover{background:var(--surface2)}.lg-csv-menu-t{color:var(--text);font-size:12.5px;font-weight:600}.lg-csv-menu-s{color:var(--text-muted);margin-top:2px;font-size:10.5px}.leave-detail{border-top:1px solid var(--border);margin:14px 0 4px;padding-top:12px}.leave-detail-title{color:var(--text-muted);margin-bottom:8px;font-size:12px;font-weight:700}.leave-detail-empty{font-size:12px}.leave-detail-row{align-items:center;gap:10px;padding:5px 0;font-size:12px;display:flex}.leave-detail-row>span:nth-child(2){flex:1}.lg-taken-title{margin-top:18px}.lg-taken-table th,.lg-taken-table td{text-align:left;padding:6px 10px}.leave-setting-page .ls-lead{font-size:11.5px}@media (width<=1100px){.leave-setting-page .ls-lead{display:none}}.leave-setting-page .ls-icon{color:var(--purple);background:#7c5ce81f}.leave-setting-page .ls-empty{padding:20px 4px}.leave-setting-page .sum-head-sub{font-size:13px}.leave-setting-page .cards-row.cols-3{margin:20px 0 0}.leave-setting-page .card{cursor:default}.leave-setting-page .card:hover{border-color:var(--border);transform:none}.leave-setting-page .ls-months{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;padding:0 14px 14px;display:grid}@media (width<=900px){.leave-setting-page .ls-months{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width<=640px){.leave-setting-page .ls-months{grid-template-columns:repeat(3,minmax(0,1fr))}}.leave-setting-page .ls-month{min-width:0}.leave-setting-page .ls-month-label{color:var(--text-muted);margin-bottom:4px;font-size:11px}.leave-setting-page .ls-month-input{text-align:center;width:100%}.leave-setting-page .ls-sum{align-items:center;gap:8px;font-size:13px;font-weight:600;display:flex}.leave-setting-page .ls-sum.is-mismatch{color:var(--warn)}.leave-setting-page .ls-hint-warn{color:var(--warn);padding:0 14px 12px}.leave-setting-page .ls-dup{margin-top:14px}.leave-setting-page .ls-emp-search{width:100%}.leave-setting-page .ls-cand{border:1px solid var(--border);background:var(--surface);border-radius:8px;margin-top:6px;overflow:hidden}.leave-setting-page .ls-cand-item{cursor:pointer;border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:7px 10px;font-size:12.5px;display:flex}.leave-setting-page .ls-cand-item:last-child{border-bottom:none}.leave-setting-page .ls-cand-item:hover{background:var(--surface2)}.leave-setting-page .ls-cand-name{font-weight:500}.leave-setting-page .ls-cand-add{color:var(--accent);margin-left:auto;font-weight:700}.leave-setting-page .ls-chips{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.leave-setting-page .ls-chip{align-items:center;gap:4px;display:inline-flex}.leave-setting-page .ls-chip-x{color:inherit;cursor:pointer;background:0 0;border:none;padding:0;font-size:13px;line-height:1}.leave-setting-page .ls-target-list{flex-direction:column;max-height:320px;padding:0 14px 14px;display:flex;overflow-y:auto}.leave-setting-page .ls-target{border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:7px 0;font-size:12.5px;display:flex}.leave-setting-page .ls-target:last-child{border-bottom:none}.leave-setting-page .ls-target-name{min-width:100px;font-weight:500}.leave-page .lv-exp-date{color:var(--text-muted);margin-bottom:3px;font-size:11.5px}.leave-page .lv-balance-alert{background:var(--warn-dim);color:var(--warn);border-bottom:1px solid #cc85004d;flex-wrap:wrap;align-items:center;gap:10px;padding:9px 16px;font-size:12px;display:flex}.leave-page .lv-balance-alert>i{flex-shrink:0;font-size:15px}.leave-page .lv-balance-alert b{font-weight:700}.leave-page .lv-balance-alert .btn{margin-left:auto}.leave-page .lv-balance-alert.is-on{background:#cc850033}.leave-page .lv-balance-names{font-size:11.5px}.leave-page .lv-row-chip{margin-left:6px}.leave-page .lv-sum-click{cursor:pointer;transition:background .12s}.leave-page .lv-sum-click:hover{background:var(--surface2)}.leave-page .lv-sum-click.active{background:var(--accent-dim)}.lg-grant-date,.lg-taken-date{text-align:left;line-height:1.4}.lg-grant-sub,.lg-taken-sub{color:var(--text-muted);margin-top:2px;font-family:Noto Sans JP,sans-serif;font-size:10.5px;display:block}.lg-th-act{width:76px}.lg-act{white-space:nowrap}.lg-act .lg-auto{font-size:11px}.lg-icon-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;padding:4px 5px;font-size:14px;line-height:1;transition:background .12s,color .12s,border-color .12s}.lg-icon-btn:hover{background:var(--surface2);color:var(--text);border-color:var(--border)}.lg-icon-btn.is-danger:hover{background:var(--danger-dim);color:var(--danger);border-color:#d940404d}.lg-judge{align-items:center;gap:8px;display:flex}.lg-fix-lead{color:var(--text);padding:0 0 12px;font-size:13px;line-height:1.7}.lg-fix-note{margin-top:4px;font-size:12px}.lg-fix-empty{text-align:center;padding:18px 0;font-size:13px}.lg-fix-list{border:1px solid var(--border);border-radius:8px;max-height:42vh;overflow-y:auto}.lg-fix-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:7px 12px;display:flex}.lg-fix-row:last-child{border-bottom:0}.lg-fix-row.is-we{background:var(--surface-2,#ffffff05)}.lg-fix-date{white-space:nowrap;font-size:13px}.lg-fix-dow{color:var(--text-muted);margin-left:3px;font-size:11.5px}.lg-fix-seg{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:5px;display:flex}.lg-fix-period{min-width:96px;padding:3px 22px 3px 8px;font-size:11.5px}.lg-fix-error{color:var(--danger);margin-top:10px;font-size:12.5px}.lg-fix-count{margin-right:auto;font-size:12.5px}.lg-fix-absence{color:var(--danger);background:var(--danger-dim,#d43f3f24);cursor:help;white-space:nowrap;border-radius:3px;margin-left:6px;padding:2px 5px;font-size:10px;line-height:1}.lg-fix-rejected{color:var(--warn);cursor:help;white-space:nowrap;background:#d98b0e29;border-radius:3px;margin-left:6px;padding:2px 5px;font-size:10px;line-height:1}.leave-import-page .li-card{margin:16px 20px 0}.leave-import-page .li-sum{margin:20px 20px 0}.leave-import-page .li-body{padding:16px 18px}.leave-import-page .li-file{display:none}.leave-import-page .li-pick{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.leave-import-page .li-error{color:var(--danger);margin-top:12px;font-size:13px}.leave-import-page .li-check{cursor:pointer;align-items:flex-start;gap:10px;padding:8px 0;font-size:13.5px;line-height:1.7;display:flex}.leave-import-page .li-check input{flex:none;margin-top:4px}.leave-import-page .li-note{margin-top:2px;font-size:12px}.leave-import-page .li-actions{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:12px;margin-top:16px;padding-top:14px;display:flex}.leave-import-page .li-result{color:var(--success);font-size:13px}.leave-import-page .chip+.chip{margin-left:5px}.leave-import-page .li-done{background:var(--success-dim,#22c55e1f);color:var(--success);border-radius:8px;margin:14px 0 4px;padding:10px 13px;font-size:12.5px;line-height:1.7}.leave-import-page .li-log{max-height:340px;overflow-y:auto}.leave-import-page .li-log-reason{margin-left:8px;font-size:11.5px}.leave-import-page .li-lead{padding-bottom:0;font-size:12.5px;line-height:1.7}.leave-import-page .li-fold{cursor:pointer;-webkit-user-select:none;user-select:none}.leave-import-page .li-fold:hover .li-fold-hint b{text-decoration:underline}.leave-import-page .li-fold-hint{margin-left:auto;font-size:12px}.lv-absence-alert{background:var(--danger-dim,#d43f3f1a);color:var(--danger);border-color:#d43f3f59}.lv-absence-alert b{color:var(--danger)}.lg-taken-sum{margin-left:10px;font-size:12px;font-weight:400}.lv-month-chip{margin-left:8px}.lv-month-note{border:1px solid var(--border);background:var(--warn-dim);color:var(--warn);border-radius:8px;flex-wrap:wrap;align-items:center;gap:10px;margin:12px 0 0;padding:10px 14px;font-size:12.5px;line-height:1.7;display:flex}.lv-month-note .btn{margin-left:auto}.lv-nopattern-alert{border-color:var(--border);background:var(--surface2,#ffffff08);color:var(--text-muted)}.lv-nopattern-alert b{color:var(--text)}.lv-nopattern-alert .btn{margin-left:8px}.lv-hope-alert{background:var(--purple-dim,#7c5ce81a);color:var(--purple);border-color:#7c5ce859}.lv-hope-alert b{color:var(--purple)}.lg-fix-hope{color:var(--purple);background:var(--purple-dim,#7c5ce829);cursor:help;white-space:nowrap;border-radius:3px;margin-left:6px;padding:2px 5px;font-size:10px;line-height:1}.ch-large{vertical-align:middle;margin-left:8px}.ws-list{max-height:calc(100vh - 300px);padding:2px;overflow:auto}.wl-item{border:1px solid var(--border);background:var(--surface);border-radius:10px;margin-bottom:8px;overflow:hidden}.wl-item.short{border-color:var(--danger);box-shadow:0 0 0 1px var(--danger) inset}.wl-row{cursor:pointer;align-items:center;gap:10px;padding:11px 14px;display:flex}.wl-row:hover{background:var(--surface2)}.wl-caret{color:var(--text-muted);font-size:14px}.wl-name{font-size:14px;font-weight:700}.wl-absent{font-weight:600}.wl-members{border-top:1px solid var(--border);background:var(--surface2);padding:6px 10px 10px}.wl-members .ws-member{border-bottom:1px solid var(--border);border-radius:0}.ws-split{border:1px solid var(--border);max-height:calc(100vh - 300px);display:flex}.ws-col-left{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;width:220px;display:flex;overflow:hidden}.ws-col-head{border-bottom:1px solid var(--border);letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);padding:10px 14px;font-size:10.5px;font-weight:700}.ws-col-scroll{flex:1;overflow-y:auto}.ws-col-scroll::-webkit-scrollbar{width:3px}.ws-col-scroll::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.ws-pick{border-bottom:1px solid var(--border);cursor:pointer;border-left:3px solid #0000;padding:10px 14px;transition:background .1s}.ws-pick:hover{background:var(--surface2)}.ws-pick.active{background:var(--accent-dim);border-left-color:var(--accent)}.wsp-name{align-items:center;gap:5px;margin-bottom:3px;font-size:12.5px;font-weight:600;display:flex}.wsp-meta{color:var(--text-muted);margin-bottom:5px;font-size:10.5px}.wsp-bar-bg{background:var(--surface3);border-radius:2px;height:3px}.wsp-bar-fill{border-radius:2px;height:3px;transition:width .3s}.wsp-cover-text{margin-top:2px;font-size:9.5px}.wsp-absent{color:var(--danger)}.ws-col-right{background:var(--surface);flex:1;min-width:0;overflow:auto}.ws-col-right .wl-members{background:0 0;border-top:none}.ws-detail-head{border-bottom:1px solid var(--border);background:var(--surface2);z-index:2;align-items:center;gap:10px;padding:12px 14px;display:flex;position:sticky;top:0}.bld-search{min-width:220px}.selected-site{border-right:1px solid var(--border);background:var(--accent-dim);flex-shrink:0;align-items:center;gap:10px;min-width:280px;padding:9px 18px;display:flex}.selected-site-pin{color:var(--accent);font-size:18px}.selected-site-name{font-size:15px;font-weight:700}.selected-site-tag{margin-left:6px}.selected-site-meta{color:var(--text-muted);margin-top:2px;font-size:11px}.sheet-actions{justify-content:flex-end;gap:10px;margin-top:18px;display:flex}.abs-time{color:var(--text-dim);margin-left:4px;font-size:10px}.abs-sub{color:var(--success);font-size:12px;font-weight:600}.abs-plan-item+.abs-plan-item:before{content:"・";color:var(--text-muted)}.abs-plan-site{color:var(--text-01);font-weight:600}.abs-plan-time{color:var(--text-muted);margin-left:5px;font-family:DM Mono,monospace}.db-empty{text-align:center;color:var(--text-muted);background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:16px;font-size:13px}.short-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;display:grid}.short-card{background:var(--surface);box-shadow:0 0 0 1px var(--danger) inset;color:var(--text);border-radius:10px;padding:11px 13px;text-decoration:none;display:block}.short-name{font-size:13px;font-weight:700}.short-type{color:var(--text-muted);margin-left:6px;font-size:10px}.short-cov{color:var(--danger);margin-top:4px;font-family:DM Mono,monospace;font-size:12px}.short-lack{margin-left:8px;font-size:11px}.db-task{color:var(--text);text-decoration:none;display:block}.db-task:hover{border-color:var(--accent)}.rec-sum{font-size:11px}.rec-nav{align-items:center;gap:8px;display:flex}.rec-month{text-align:center;min-width:84px;font-size:12px;font-weight:700}.rec-scroll{overflow-y:auto}.rec-we td{background:var(--surface2)}.rec-dow{margin-left:3px;font-size:10px}.rec-entry{align-items:center;gap:8px;padding:1px 0;display:flex}.rec-site{font-size:11.5px}.rec-foot td{border-top:2px solid var(--border);padding-top:8px;font-size:12px;font-weight:700}.flex-note{padding:10px 16px 8px;font-size:11.5px}.flex-list{padding:0 0 14px;overflow-y:auto}.flex-row{border-bottom:1px solid var(--border);align-items:flex-start;gap:12px;padding:7px 16px;display:flex}.flex-row.flex-we{background:var(--surface2)}.flex-date{flex-shrink:0;width:64px;padding-top:6px;font-family:DM Mono,monospace;font-size:12px}.flex-dow{color:var(--text-muted);margin-left:4px;font-size:10px}.flex-entries{flex-direction:column;flex:1;gap:5px;min-width:0;display:flex}.flex-entry{align-items:center;gap:6px;display:flex}.flex-time{border:1px solid var(--border);background:var(--surface);width:78px;color:var(--text);border-radius:6px;flex-shrink:0;padding:4px 6px;font-family:DM Mono,monospace;font-size:11px}.flex-tilde{color:var(--text-muted);font-size:11px}.flex-sel{flex:1;min-width:0}.flex-x{cursor:pointer;color:var(--text-muted);font-size:12px}.flex-x:hover{color:var(--danger)}.flex-add{border:1px dashed var(--border);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:6px;align-self:flex-start;padding:3px 8px;font-size:11px}.flex-add:hover{border-color:var(--accent);color:var(--accent)}.brk-cell{white-space:nowrap;font-size:12px}.brk-fixed{background:var(--surface2);border:1px solid var(--border);border-radius:6px;margin-left:5px;padding:0 5px;font-size:9.5px}.ep-collapse{cursor:pointer;width:26px;height:26px;color:var(--text-muted);border-radius:6px;justify-content:center;align-items:center;margin-left:auto;display:flex}.ep-collapse:hover{background:var(--surface2);color:var(--text)}.ep-reopen{border-left:1px solid var(--border);background:var(--surface);cursor:pointer;color:var(--text-muted);writing-mode:vertical-rl;flex-direction:column;align-self:stretch;align-items:center;gap:8px;padding:12px 6px;font-size:12px;display:flex}.ep-reopen:hover{color:var(--accent);background:var(--surface2)}.bl-search{background:var(--surface2);border:1px solid var(--border);border-radius:8px;align-items:center;gap:6px;margin:0 10px 8px;padding:6px 10px;display:flex}.bl-search .search-input{min-width:0;color:var(--text);background:0 0;border:none;outline:none;flex:1;font-size:12px}.bl-large{margin-left:6px;padding:0 5px;font-size:9.5px}.ep-clickable{cursor:pointer}.ep-clickable:hover{border-color:var(--accent);background:var(--accent-dim)}.ep-hint{color:var(--text-muted);margin-left:8px;font-size:10px;font-weight:400}.mg-table .cell-inner{min-height:40px!important;padding:3px 1px!important}.cell-code{letter-spacing:.02em;white-space:nowrap;font-size:11px;font-weight:800;line-height:1.05}.ci-assigned .cell-time{color:var(--text-muted);white-space:nowrap;font-family:DM Mono,monospace;font-size:8px;line-height:1.05}.tt-master{color:var(--text-muted);margin-left:8px;font-size:10px;font-weight:400}.tt-empty{color:var(--text-muted);padding:6px 2px;font-size:11px}.time-free{border:1px solid var(--border);border-radius:8px;justify-content:space-between;align-items:center;gap:10px;margin-top:8px;padding:8px 12px;display:flex}.time-free.selected{border-color:var(--accent);background:var(--accent-dim)}.time-free-label{font-size:12px;font-weight:700}.time-free-inputs{align-items:center;gap:6px;display:flex}.tf-time{border:1px solid var(--border);background:var(--surface);width:80px;color:var(--text);border-radius:6px;padding:4px 6px;font-family:DM Mono,monospace;font-size:12px}.tf-tilde{color:var(--text-muted)}.time-opt-code{color:var(--accent);background:var(--accent-dim);border-radius:6px;margin-left:6px;padding:0 5px;font-size:10px;font-weight:700}.ws-large-head{margin-top:24px}.card-unit{color:var(--text-muted);margin-left:4px;font-size:13px;font-weight:400}.ws-large-link{cursor:pointer}.ws-large-link:hover{border-color:var(--accent)}.ws-large-link-val{color:var(--accent);font-size:16px}.ws-large-members{align-items:flex-start;gap:16px;padding:20px;display:flex}.ws-member-add{flex-shrink:0;gap:6px;width:260px;display:flex}.ws-member-add .form-select{flex:1;min-width:0}.ws-member-list{flex-wrap:wrap;flex:1;align-content:flex-start;gap:6px;min-width:0;min-height:34px;display:flex}.ws-member-empty{font-size:11.5px;line-height:34px}.ws-member-list .chip{color:var(--text);background:0 0;border-color:#3a4864;border-radius:999px;align-items:center;gap:9px;padding:5px 11px;font-size:11.5px;display:inline-flex}.ws-member-list .chip button{appearance:none;width:16px;height:16px;color:var(--text);cursor:pointer;background:0 0;border:0;border-radius:4px;padding:0;font-size:12px;line-height:1}.ws-member-list .chip button:hover{background:var(--surface3)}@media (width<=720px){.ws-large-members{flex-direction:column;gap:12px}.ws-member-add{width:100%}}.ws-member-chip{align-items:center;gap:6px;display:inline-flex}.ws-member-dept{color:var(--text-dim);font-size:9.5px}.ws-member-code{color:var(--accent);background:var(--accent-dim);border:1px solid #3b6ff54d;border-radius:6px;flex-shrink:0;padding:1px 7px;font-family:DM Mono,monospace;font-size:11px;font-weight:700}.ws-members-empty{font-size:12px}.large-group-page .pca-banner{border-bottom:1px solid #12a87a33;flex-shrink:0;align-items:center;gap:10px;padding:0 20px 15px;font-size:11.5px;display:flex}.large-group-page .pca-dot{background:var(--success);border-radius:50%;width:7px;height:7px;animation:2s infinite blink}.large-group-page .main{padding:0}.large-group-page .lg-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px;padding:0 20px 20px;display:grid}.large-group-page .lg-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:16px}.large-group-page .lg-card-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:6px;display:flex}.large-group-page .lg-name{color:var(--purple);font-size:15px;font-weight:700}.large-group-page .lg-site-sel{max-width:180px}.large-group-page .lg-site-name{color:var(--text-muted);margin-bottom:12px;font-size:12px}.large-group-page .lg-members{flex-wrap:wrap;gap:6px;min-height:28px;margin-bottom:12px;display:flex}.large-group-page .lg-chip{align-items:center;gap:6px;display:inline-flex}.large-group-page .lg-dept{color:var(--text-dim);font-size:9.5px}.large-group-page .lg-x{cursor:pointer;color:var(--text-muted);font-weight:700}.large-group-page .lg-x:hover{color:var(--danger)}.large-group-page .lg-empty{font-size:12px}.large-group-page .lg-add{border-top:1px solid var(--border);gap:8px;padding-top:12px;display:flex}.print-header,.print-table,.print-legend{display:none}@media print{@page{size:A4 landscape;margin:10mm}body.monthly-worksite-page{background:#fff}body.monthly-worksite-page .topnav,body.monthly-worksite-page .sidebar,body.monthly-worksite-page .toolbar,body.monthly-worksite-page .building-bar,body.monthly-worksite-page .selected-site,body.monthly-worksite-page .summary-strip,body.monthly-worksite-page .matrix-wrap{display:none!important}body.monthly-worksite-page .layout,body.monthly-worksite-page .main{height:auto!important;max-height:none!important;padding:0!important;display:block!important;overflow:visible!important}body.monthly-worksite-page .print-header{margin-bottom:6px;display:block}body.monthly-worksite-page .print-title{font-size:14px;font-weight:700}body.monthly-worksite-page .print-meta{color:#444;margin-top:2px;font-size:10px}body.monthly-worksite-page *{color:#000!important;box-shadow:none!important}body.monthly-worksite-page .print-table{border-collapse:collapse;table-layout:fixed;-webkit-print-color-adjust:exact;print-color-adjust:exact;width:100%;font-size:8px;display:table!important}body.monthly-worksite-page .print-table th,body.monthly-worksite-page .print-table td{text-align:center;white-space:nowrap;border:1px solid #999;padding:1px 0;overflow:hidden}body.monthly-worksite-page .print-table th{font-weight:700;line-height:1.1;background:#f0f0f0!important}body.monthly-worksite-page .print-table .pt-name{text-align:left;white-space:nowrap;width:88px;padding-left:4px}body.monthly-worksite-page .print-table .pt-tot{width:24px}body.monthly-worksite-page .print-table .pt-we{background:#f0f0f0!important}body.monthly-worksite-page .print-table td.pt-fill{background:#fde3ec!important}body.monthly-worksite-page .print-table .pt-code{white-space:nowrap;font-weight:700;line-height:1.05}body.monthly-worksite-page .print-table .pt-time{white-space:nowrap;font-size:6.5px;line-height:1;color:#555!important}body.monthly-worksite-page .print-legend{color:#444;margin-top:6px;font-size:9px;display:block}}@media (width<=1160px) and (width>=641px){.nav-tabs{display:none}}@media (width<=640px){.topnav{gap:12px;padding:0 12px}.topnav .logo .logo_img{width:197px}.nav-tabs,.date-badge,.sidebar{display:none}.hamburger-wrap{position:relative}.hamburger{width:34px;height:34px;color:var(--text-muted);cursor:pointer;justify-content:center;align-items:center;font-size:22px;display:flex}.nav-drawer.open{background:var(--surface);border:1px solid var(--border);min-width:210px;box-shadow:var(--shadow-lg);z-index:9999;border-radius:10px;flex-direction:column;padding:6px;display:flex;position:absolute;top:calc(100% + 6px);left:0}.nav-drawer-item{color:var(--text);border-radius:8px;align-items:center;gap:10px;padding:9px 12px;font-size:13px;display:flex}.nav-drawer-item i{color:var(--text-muted);font-size:18px}.nav-drawer-item.active{background:var(--surface2);color:var(--accent)}.nav-drawer-item.active i{color:var(--accent)}.nav-drawer-item.danger,.nav-drawer-item.danger i{color:var(--danger)}.nav-drawer-item .side-badge{margin-left:auto;position:static}.nav-drawer-sep{background:var(--border);height:1px;margin:6px 4px}.main{gap:12px;padding:12px}.section-header{flex-wrap:wrap}.cards-row.cols-4{grid-template-columns:repeat(2,1fr)}.cards-row.cols-2,.cards-row.cols-3,.summary-grid{grid-template-columns:1fr}.status-table{overflow-x:auto}.table-header,.table-row{min-width:600px}.alert-row{flex-wrap:wrap;row-gap:4px}.alert-row .emp-info{flex:45%;min-width:0}.alert-row .emp-name,.alert-row .emp-dept{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.alert-row .emp-shift{flex:100%}.alert-row .row-actions{margin-left:auto}.alert-banner{flex-wrap:wrap;align-items:center;gap:5px 8px;padding:6px 12px}.alert-banner-text{flex:none;font-size:12px}.alert-chips{flex-wrap:wrap;flex:auto;gap:6px}.alert-chip{white-space:nowrap;padding:2px 8px}.banner-meta{flex:100%;margin-left:0;font-size:11px}.apply-page .toolbar .toolbar-title{flex:100%}.apply-page .toolbar .spacer{display:none}.apply-page .toolbar .btn{text-align:center;white-space:nowrap;flex:1 1 0}.apply-page .req-card{flex-shrink:0;min-height:0;overflow:visible}.apply-page .req-card-body{flex-wrap:wrap;align-items:flex-start}.apply-page .req-top-row,.apply-page .req-bottom-row{flex-wrap:wrap}.apply-page .req-actions{flex:100%;justify-content:flex-end}.overlay{padding:14px}.overlay .sheet{max-width:440px;max-height:88vh;padding:16px;overflow-y:auto;width:100%!important}.toolbar{flex-wrap:wrap;gap:8px;padding:8px 12px}.sp-filter-toggle{background:var(--surface);border-bottom:1px solid var(--border);color:var(--text);cursor:pointer;justify-content:space-between;align-items:center;padding:9px 14px;font-size:13px;font-weight:600;display:flex}.sp-filter-toggle i{color:var(--text-muted)}.filter-bar{padding:10px 14px;display:none}.filter-bar.sp-open{flex-wrap:wrap;display:flex}.filter-bar .search-wrap{flex:100%}.bulk-bar{flex-wrap:wrap;padding:8px 14px}.table-wrap{overflow-x:auto}.table-wrap table{min-width:720px}.emp-page .table-wrap table{width:max-content;min-width:100%}.emp-page .table-wrap td,.emp-page .table-wrap th{white-space:nowrap}.emp-page:not(.leave-page) .table-wrap{overflow-x:hidden}.emp-page:not(.leave-page) .table-wrap table{width:100%;min-width:0}.emp-page:not(.leave-page) .table-wrap thead th{display:none}.emp-page:not(.leave-page) .table-wrap thead th.th-name,.emp-page:not(.leave-page) .table-wrap thead th.th-act{display:table-cell}.emp-page:not(.leave-page) .table-wrap tbody td{display:none}.emp-page:not(.leave-page) .table-wrap tbody td:first-child,.emp-page:not(.leave-page) .table-wrap tbody td:last-child{display:table-cell}.emp-page:not(.leave-page) .table-wrap tbody td:last-child{text-align:right}.leave-page .leave-list{overflow-x:hidden}.leave-page .leave-list table{width:100%;min-width:0}.leave-page .leave-list thead th{display:none}.leave-page .leave-list thead th.th-name,.leave-page .leave-list thead th.th-act{display:table-cell}.leave-page .leave-list tbody td{display:none}.leave-page .leave-list tbody td:first-child,.leave-page .leave-list tbody td.td-act,.leave-page .leave-list .sp-act{display:table-cell}.leave-page .leave-list tbody td.td-act{text-align:right}.emp-page .detail-body{grid-template-columns:1fr;padding:12px}.emp-page .detail-toolbar{flex-wrap:wrap;row-gap:8px;padding:10px 12px}.emp-page .detail-toolbar .back-btn{white-space:nowrap;flex-shrink:0}.emp-page .detail-toolbar .detail-name{flex:auto;min-width:0;font-size:13px}.emp-page .detail-toolbar .spacer{display:none}.emp-page .detail-toolbar .we-switch{flex:100%}.emp-page .detail-toolbar .we-switch .sel{flex:1;min-width:0}.emp-page .ecard-header.has-recnav{flex-wrap:wrap;row-gap:8px}.emp-page .ecard-header.has-recnav .ecard-title{flex:100%;margin-right:0}.emp-page .log-table{width:max-content;min-width:100%}.emp-page .log-table th,.emp-page .log-table td{white-space:nowrap}.leave-page .ledger-page-body{padding:12px}.leave-page .ledger-table{width:max-content;min-width:100%}.leave-page .pca-banner{flex-wrap:wrap;row-gap:5px;padding:8px 14px;line-height:1.5}.leave-page .pca-banner .pca-ok{white-space:nowrap}.leave-page .pca-banner .pca-ok+.txt-muted{display:none}.leave-page .pca-banner>.txt-muted:last-child{flex:100%}.main.main_side{flex-direction:column;overflow:auto}.site-list-panel,.building-list,.edit-panel,.settings-content{border-right:none;border-bottom:1px solid var(--border);flex-shrink:1;width:100%!important}.work-row{flex-direction:column;overflow:visible}.work-row .building-list,.work-row .center-wrap,.work-row .emp-pool{flex:none;width:100%!important}.work-row .building-list .bl-scroll{max-height:180px}.work-row .center-wrap{min-height:55vh}.work-row .emp-pool .ep-scroll{max-height:220px}.worksite-page .edit-panel{display:none}.worksite-page .edit-panel.sp-show{display:block}.worksite-page .site-list-panel.sp-hide{display:none}.worksite-page .edit-bar,.leave-setting-page .edit-bar{flex-wrap:wrap}.worksite-page .edit-title,.leave-setting-page .edit-title{flex:auto;min-width:0;font-size:16px}.worksite-page .edit-actions,.leave-setting-page .edit-actions{flex:100%;justify-content:flex-end;margin-left:0}.worksite-page .form-grid{grid-template-columns:1fr}.worksite-page .form-input,.worksite-page .form-select{min-width:0}.worksite-page .worksite-filterbar{display:none}.worksite-page .worksite-filterbar.sp-open{flex-wrap:wrap;row-gap:8px;padding:10px 12px;display:flex;overflow-x:visible}.worksite-page .worksite-filterbar .bbar-label{display:none}.worksite-page .worksite-filterbar .wfb-search{flex:100%}.worksite-page .worksite-filterbar .wfb-sel{flex:45%;min-width:0}.worksite-page .worksite-filterbar .wfb-csv,.worksite-page .worksite-filterbar .wfb-new{text-align:center;flex:45%;margin-left:0}.setting-page .site-list-panel{display:none}.setting-page .sp-setting-pick{background:var(--surface);border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:8px 12px;display:flex}.setting-page .sp-setting-pick i{color:var(--text-muted)}.setting-page .sp-setting-pick select{min-width:0;color:var(--text);border:1px solid var(--border);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;appearance:none;background-color:var(--surface2);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%237a8499' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;border-radius:8px;flex:1;padding:6px 28px 6px 10px;font-size:13px}.setting-page .settings-content{padding:10px}.setting-page .form-label{font-size:11.5px}.setting-page .form-row{flex-wrap:wrap;gap:6px 10px;padding:11px 12px}.setting-page .form-control{flex-wrap:wrap;flex:100%;justify-content:flex-end}.setting-page .notif-row{flex-wrap:wrap;gap:8px 10px;padding:10px 12px}.setting-page .notif-controls{flex-wrap:wrap;flex:100%;justify-content:flex-end}.setting-page .close-hist{flex-wrap:wrap;row-gap:4px;padding:10px 12px}.setting-page .close-hist-month{flex:100%}.setting-page .close-hist .status-badge{white-space:nowrap}.setting-page .close-check{padding:11px 12px}.setting-page .admin-table-wrap{overflow-x:auto}.setting-page .admin-table{width:max-content;min-width:100%}.setting-page .admin-table td,.setting-page .admin-table th{white-space:nowrap}.content{flex-direction:column}.req-list,.detail-panel{width:100%!important}.apply-page .req-list{padding:7px 14px}.content .detail-panel,.content.detail-open .req-list{display:none}.content.detail-open .detail-panel{flex:auto;min-height:0;display:flex}.dp-back{color:var(--accent);cursor:pointer;align-items:center;margin-bottom:6px;font-size:12px;display:inline-flex}.apply-page .dp-header{flex-wrap:wrap;align-items:baseline;gap:2px 8px;padding:7px 12px;display:flex}.apply-page .dp-header .dp-back{flex:100%;margin-bottom:2px}.apply-page .dp-header .dp-sub{margin-top:0}.ws-grid{grid-template-columns:1fr;max-height:none}.matrix-wrap{flex:none;height:auto;max-height:none;padding:0;overflow:auto visible}.matrix-wrap table,.center-scroll table,.mv-scroll table{width:max-content;min-width:100%}.summary-strip{flex-wrap:wrap}.summary-strip .sum-item{padding:5px 10px}.summary-strip .sum-val{font-size:16px}.summary-strip .sum-label{white-space:nowrap;font-size:9.5px}.summary-strip .sum-sub{display:none}.summary-strip .selected-site{gap:8px;min-width:0;padding:8px 12px}.summary-strip .selected-site-name{font-size:14px}.summary-strip .selected-site-meta{font-size:10.5px}.alert-bar,.legend-bar{flex-wrap:wrap;row-gap:4px}.alert-hint,.legend-hint{display:none}.view-tabs{-webkit-overflow-scrolling:touch;max-width:100%;overflow-x:auto}.view-tabs::-webkit-scrollbar{height:0}.vtab{white-space:nowrap;flex-shrink:0}.monthly-worksite-page .matrix-wrap,.monthly-worksite-page .sub-view-toggle{display:none}.monthly-worksite-page .main{overflow-y:auto}.monthly-worksite-page .building-bar{display:none}.monthly-worksite-page .building-bar.sp-open{flex-wrap:wrap;row-gap:6px;padding:8px 12px;display:flex;overflow-x:visible}.monthly-worksite-page .building-bar .bbar-label{display:none}.monthly-worksite-page .building-bar .bld-search,.monthly-worksite-page .building-bar .bld-select-wrap{flex:100%}.monthly-worksite-page .building-bar .bld-search .search-input,.monthly-worksite-page .building-bar .bld-select-wrap .sel{width:100%}.sp-day-list{flex-direction:column;gap:8px;padding:10px 12px;display:flex}.sp-day-empty{text-align:center;color:var(--text-muted);padding:24px;font-size:13px}.sp-day-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;overflow:hidden}.sp-day-head{background:var(--surface2);align-items:center;gap:8px;padding:7px 12px;font-size:12.5px;display:flex}.sp-day-head.we .sp-day-dow{color:var(--danger)}.sp-day-date{font-weight:700}.sp-day-dow{color:var(--text-muted)}.sp-day-count{color:var(--text-muted);margin-left:auto;font-size:11px}.sp-day-staff{flex-wrap:wrap;gap:6px;padding:8px 12px;display:flex}.sp-staff-chip{background:var(--surface2);border:1px solid var(--border);border-radius:14px;align-items:center;gap:5px;padding:3px 9px;font-size:12px;display:inline-flex}.sp-staff-code{color:var(--accent);font-family:DM Mono,monospace;font-size:10px;font-weight:700}.sp-emp-list{flex-direction:column;gap:8px;padding:10px 12px;display:flex}.sp-emp-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:10px 12px}.sp-emp-head{align-items:center;gap:10px;display:flex}.sp-emp-meta{flex:1;min-width:0}.sp-emp-name{font-size:13px;font-weight:700}.sp-emp-dept{color:var(--text-muted);font-size:11px}.sp-emp-stats{grid-template-columns:repeat(4,1fr);gap:6px;margin-top:10px;display:grid}.sp-stat{background:var(--surface2);border-radius:8px;flex-direction:column;align-items:center;gap:2px;padding:6px 4px;display:flex}.sp-stat-v{font-family:DM Mono,monospace;font-size:15px;font-weight:700}.sp-stat-l{color:var(--text-muted);font-size:10px}.calendar-page #mainTable{table-layout:fixed!important;width:min-content!important;min-width:0!important}.calendar-page .day-th,.calendar-page .day-cell{width:24px!important}.calendar-page .emp-av{display:none}.calendar-page .emp-name{font-size:11px}.calendar-page .emp-dept{font-size:9.5px}.calendar-page .corner,.calendar-page .corner2,.calendar-page .emp-cell{width:96px!important;min-width:96px!important;max-width:96px!important;padding:2px 6px!important}.calendar-page .emp-cell-inner{max-width:84px}.calendar-page .emp-name,.calendar-page .emp-dept{white-space:nowrap;text-overflow:ellipsis;width:82px;overflow:hidden}.calendar-page .axis-label{white-space:normal;font-size:9px}.calendar-page .corner2{white-space:normal;font-size:9.5px}.calendar-page .corner,.calendar-page .corner2,.calendar-page .emp-cell{overflow:hidden}.calendar-page .day-th,.calendar-page .day-cell{min-width:24px!important;max-width:24px!important}.calendar-page .cap-code{font-size:9px}.calendar-page .cap-time{display:none}.calendar-page .total-th,.calendar-page .total-th2,.calendar-page .total-cell{font-size:10px;width:56px!important;min-width:56px!important;max-width:56px!important;padding:2px 4px!important}.shift-daily-page .toolbar{gap:6px;padding:6px 8px}.shift-daily-page .toolbar>.btn,.shift-daily-page .toolbar .spacer{display:none}.shift-daily-page .toolbar .toolbar-title{flex:none}.shift-daily-page .toolbar .view-tabs{flex:auto;min-width:0}.shift-daily-page .toolbar .month-nav{margin-left:auto}.shift-daily-page .filter-bar .bld-search{display:none}.shift-daily-page .main{overflow-y:auto}.shift-daily-page .sp-site-pick{background:var(--surface);border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:8px 12px;display:flex}.shift-daily-page .sp-site-pick i{color:var(--text-muted)}.shift-daily-page .sp-site-pick select{min-width:0;color:var(--text);border:1px solid var(--border);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;appearance:none;background-color:var(--surface2);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%237a8499' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;border-radius:8px;flex:1;padding:6px 28px 6px 10px;font-size:13px}.shift-daily-page .ws-col-left{display:none}.shift-daily-page .ws-split{border:none;max-height:none;display:block}.shift-daily-page .ws-col-right{width:100%}.shift-daily-page .matrix-wrap{display:none}.sp-emp-sites{flex-direction:column;gap:4px;margin-top:8px;display:flex}.sp-emp-site{background:var(--surface2);border-radius:6px;justify-content:space-between;gap:8px;padding:4px 8px;font-size:12px;display:flex}.sp-site-name{color:var(--text);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.sp-site-code{color:var(--accent);background:var(--accent-dim);border-radius:5px;flex-shrink:0;padding:0 5px;font-family:DM Mono,monospace;font-size:10px;font-weight:700}.sp-site-text{color:var(--text-muted);white-space:nowrap;flex-shrink:0;font-family:DM Mono,monospace}.sp-emp-site.st-absent .sp-site-text{color:var(--danger)}.sp-emp-site.st-leave .sp-site-text{color:var(--purple)}.sp-emp-none{color:var(--text-muted);padding:4px 2px;font-size:12px}}input[type=checkbox],input[type=radio]{appearance:auto;border:revert;background:revert;accent-color:var(--accent)}
