@font-face{font-family:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Inter_Fallback_f367f3;src:local("Arial");ascent-override:90.49%;descent-override:22.56%;line-gap-override:0.00%;size-adjust:107.06%}.__className_f367f3{font-family:__Inter_f367f3,__Inter_Fallback_f367f3;font-style:normal}.__variable_f367f3{--font-inter:"__Inter_f367f3","__Inter_Fallback_f367f3"}:root{--primary:#2563eb;--primary-soft:#eff6ff;--primary-hover:#1d4ed8;--surface:#fff;--bg:#f8fafc;--bg-elevated:#f1f5f9;--text:#0f172a;--text-secondary:#64748b;--text-tertiary:#94a3b8;--border:#e2e8f0;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-full:999px;--c-work:#fff;--c-holiday:#eae7ac;--c-fixed:#ffe5cd;--c-request:#fffce2;--c-paid:#ffd4d4;--c-sickness:#e5deeb;--c-off:#f1f5f9;--c-request-text:#a16207;--c-fixed-text:#c2410c;--shadow-sm:0 1px 2px rgba(15,23,42,.05);--shadow-md:0 4px 16px rgba(15,23,42,.08)}*{box-sizing:border-box}body{margin:0;font-family:Inter,Hiragino Sans,sans-serif;background:var(--bg);color:var(--text);padding:0}.mock-app,body{min-height:100vh}.mock-app{height:100vh;display:flex;flex-direction:column;overflow:hidden}.mock-app-header{background:var(--surface);border-bottom:1px solid var(--border);padding:0 20px;height:56px;display:flex;align-items:center;justify-content:space-between;gap:16px;position:-webkit-sticky;position:sticky;top:0;z-index:40;box-shadow:var(--shadow-sm)}.mock-app-header.is-mobile-route{display:none}.mock-app-brand{font-weight:700;font-size:15px;color:var(--primary);white-space:nowrap;padding:6px 12px;background:var(--primary-soft);border-radius:var(--radius-sm);flex-shrink:0}.mock-app-nav{display:flex;align-items:center;gap:4px;flex:1 1;min-width:0}.mock-nav-item{border:none;background:transparent;padding:8px 12px;font-size:13px;font-weight:500;color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;font-family:inherit}.mock-nav-item:hover{background:var(--bg);color:var(--text)}.mock-nav-item.active{background:var(--primary-soft);color:var(--primary);font-weight:600}.mock-nav-item.mobile-entry{margin-left:8px;border:1px solid var(--border)}.mock-nav-item.mobile-entry.active{border-color:var(--primary)}.mock-nav-divider{width:1px;height:24px;background:var(--border);margin:0 4px}.mock-app-meta{display:flex;align-items:center;gap:12px;flex-shrink:0}.mock-app-meta.hidden{display:none}.auth-profile{position:relative;max-width:220px;height:40px;border-radius:var(--radius-sm);color:var(--text);transition:background .15s}.auth-profile,.auth-profile-trigger{display:flex;align-items:center;min-width:0}.auth-profile-trigger{gap:8px;width:100%;height:100%;padding:0 10px;border:none;background:transparent;color:inherit;font:inherit;cursor:pointer;border-radius:inherit}.auth-profile-trigger:hover,.auth-profile:hover{background:var(--bg)}.auth-profile-icon{flex-shrink:0;color:var(--text-secondary)}.auth-profile-name{flex:1 1;min-width:0;font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.auth-profile-name span{display:block;line-height:normal}.auth-profile-chevron{flex-shrink:0;color:var(--text-secondary)}.auth-profile-menu{display:none;position:absolute;top:100%;right:0;min-width:100%;margin:0;padding:4px 0 0;list-style:none;z-index:50}.auth-profile-menu:before{content:"";position:absolute;top:0;left:0;right:0;height:6px}.auth-profile-menu>li{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-md)}.auth-profile-menu:hover,.auth-profile.is-open .auth-profile-menu,.auth-profile:hover .auth-profile-menu{display:block}.auth-profile-menu>li{display:flex;align-items:center;justify-content:center;gap:10px;padding:10px 16px;font-size:13px;font-weight:600;color:var(--text);cursor:pointer;white-space:nowrap;box-sizing:border-box}.auth-profile-menu>li:hover{background:var(--bg);color:var(--primary)}.mock-breadcrumb{background:var(--surface);border-bottom:1px solid var(--border);padding:10px 20px;font-size:12px;color:var(--text-secondary)}.mock-breadcrumb strong{color:var(--text);font-weight:600}.mock-breadcrumb.hidden{display:none}.mock-app-main{flex:1 1;min-height:0;padding:0;max-width:100%;overflow:hidden}.app-screen{display:none}.app-screen.active{display:flex;flex-direction:column;height:100%;min-height:0;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.app-screen-inner{max-width:1200px;margin:0 auto;padding:16px 20px 20px;width:100%}.app-screen-inner,.pc-frame--embedded{flex:1 1;min-height:0;display:flex;flex-direction:column}.pc-frame--embedded{border:none;border-radius:0;box-shadow:none;max-width:100%}.mock-app:has(.app-screen-inner--mobile) .mock-breadcrumb{display:none}.app-screen-inner--mobile{flex:1 1;min-height:0;display:flex;flex-direction:column;overflow:hidden;max-width:100%;padding:52px 0 0;background:var(--bg)}.mobile-screen-auth{position:fixed;top:0;left:0;right:0;z-index:80;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px 12px;background:var(--surface);border-bottom:1px solid var(--border);box-shadow:var(--shadow-sm)}.mobile-screen-brand{flex-shrink:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-screen-auth .auth-profile--mobile{flex-shrink:0;margin-left:auto}.auth-profile--mobile{max-width:min(240px,72vw)}.auth-profile--mobile .auth-profile-menu{min-width:160px}.mobile-display-bar{display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;background:var(--surface);border-bottom:1px solid var(--border);flex-wrap:wrap}.mobile-display-bar .bar-label{font-size:11px;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em;margin-right:4px}.mobile-display-toggle{display:inline-flex;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-full);padding:3px}.mobile-display-toggle button{border:none;background:transparent;padding:6px 14px;font-size:12px;font-weight:600;color:var(--text-secondary);border-radius:var(--radius-full);cursor:pointer;font-family:inherit}.mobile-display-toggle button.on{background:var(--primary);color:#fff}.mobile-preview-wrap{display:flex;justify-content:center;padding:24px 16px 32px;min-height:calc(100vh - 100px)}.mobile-preview-wrap.frame-off,.mobile-preview-wrap.frame-off .phone{padding:0;flex:1 1;min-height:0;display:flex;flex-direction:column}.mobile-preview-wrap.frame-off .phone{width:100%;max-width:480px;background:transparent;border-radius:0;box-shadow:none}.mobile-preview-wrap.frame-off .phone-inner{border-radius:0;flex:1 1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.mobile-title-row.employee-mode{justify-content:space-between}.mobile-title-row.employee-mode .mobile-title{flex:1 1}.mobile-title-row.employee-mode .mobile-driver-select{display:none!important}.mock-app-footer{border-top:1px solid var(--border);background:var(--surface);padding:10px 20px;font-size:11px;color:var(--text-tertiary);display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.mock-app-footer a{color:var(--primary);text-decoration:none;font-weight:500}.mock-app-footer a:hover{text-decoration:underline}.mock-footer-links{display:flex;gap:16px;flex-wrap:wrap}.app-screen-inner--wide{max-width:100%;padding:0}.compare-note,.layout,.page-header,.preview-block .desc,.preview-block h2,.sidebar{display:none!important}.preview-block{margin:0}.preview-block.app-screen.active{flex:1 1;min-height:0}.previews{display:block;gap:0}.preview-row{display:flex;gap:24px;flex-wrap:wrap;align-items:flex-start}.phone{width:375px;max-width:100%;background:#1e293b;border-radius:40px;padding:10px;box-shadow:var(--shadow-md)}.phone-inner{background:var(--bg);border-radius:32px;overflow:hidden;min-height:720px;display:flex;flex-direction:column}.mobile-main-screen{display:flex;flex-direction:column;flex:1 1;min-height:0;overflow:hidden}.mobile-select-screen{flex:1 1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 24px;background:var(--bg)}.mobile-top{background:var(--surface);padding:16px 16px 12px;border-bottom:1px solid var(--border);flex-shrink:0}.mobile-title{font-size:20px;font-weight:700;letter-spacing:-.02em;margin:0}.mobile-title-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}.mobile-driver-select{flex:1 1;max-width:180px;border:1px solid var(--border);border-radius:var(--radius-sm);padding:6px 8px;font-size:12px;background:var(--surface);color:var(--text)}.mobile-select-screen label{font-size:15px;font-weight:600;margin-bottom:12px;align-self:stretch;text-align:center}.mobile-select-screen select{width:100%;border:1px solid var(--border);border-radius:var(--radius-md);padding:12px;font-size:14px;background:var(--surface);margin-bottom:20px}.mobile-select-screen .btn-ok{min-width:120px;border:none;background:var(--primary);color:#fff;font-size:15px;font-weight:600;padding:12px 32px;border-radius:var(--radius-full);cursor:pointer}.mobile-driver-name{font-size:13px;font-weight:600;color:var(--text);margin:12px 0 6px}.mobile-week-list{margin-top:4px}.mobile-week-driver-block{margin-bottom:12px}.mobile-week-driver-name{margin-bottom:8px}.mobile-week-table{width:100%;border-collapse:collapse;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden}.mobile-week-table tr:hover{box-shadow:0 0 5px rgba(0,0,0,.12)}.mobile-week-date-col,.mobile-week-shift-col{border:1px solid #d9d9d9;padding:8px 10px;font-size:14px;line-height:1.4;vertical-align:middle}.mobile-week-date-col{width:40%;background:#0585d0;color:#fff;padding:0}.mobile-week-date-inner{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px}.mobile-week-shift-col{width:60%;color:var(--text)}.mobile-all-block{margin-bottom:16px}.mobile-all-block .cal-grid{gap:4px}.mobile-all-block .cal-cell{font-size:11px}.mobile-all-block .cal-cell .sub{font-size:8px}.month-nav{display:flex;align-items:center;justify-content:space-between;background:var(--bg);border-radius:var(--radius-md);padding:8px 12px;margin-bottom:12px}.month-nav button{border:none;background:var(--surface);width:32px;height:32px;border-radius:var(--radius-sm);color:var(--primary);font-size:18px;cursor:pointer;box-shadow:var(--shadow-sm)}.month-nav .month-nav-label,.month-nav span{font-weight:600;font-size:15px}.month-nav .month-nav-label{border:none;background:transparent;color:var(--primary);cursor:pointer;padding:4px 10px;border-radius:var(--radius-sm);flex:1 1;text-align:center}.month-nav .month-nav-label:active:not(:disabled){background:var(--primary-soft)}.mobile-month-picker-overlay{z-index:120}.mobile-month-picker-sheet{max-height:85vh;overflow-y:auto}.mobile-month-picker-sheet .month-picker-grid{margin-top:4px}.seg-control{display:flex;background:var(--bg);border-radius:var(--radius-full);padding:3px}.seg-control button{flex:1 1;border:none;background:transparent;padding:8px;font-size:13px;font-weight:600;color:var(--text-secondary);border-radius:var(--radius-full);cursor:pointer}.seg-control button.on{background:var(--surface);color:var(--primary);box-shadow:var(--shadow-sm)}.mobile-body{padding:16px;flex:1 1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:14px;margin-bottom:12px}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:6px;gap:6px}.cal-head{text-align:center;font-size:11px;font-weight:600;color:var(--text-tertiary);padding:4px 0}.cal-head.sun{color:#ef4444}.cal-head.sat{color:var(--primary)}.cal-cell{aspect-ratio:1;border-radius:var(--radius-sm);border:1px solid transparent;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:13px;font-weight:600;cursor:pointer;transition:border-color .15s}.cal-cell .sub{font-size:9px;font-weight:500;margin-top:2px;opacity:.85}.cal-cell.empty{visibility:hidden}.cal-cell.locked{cursor:not-allowed;opacity:.55}.cal-cell.work{background:var(--c-work);border-color:var(--border)}.cal-cell.holiday{background:var(--c-holiday)}.cal-cell.fixed{background:var(--c-fixed);color:var(--c-fixed-text)}.cal-cell.request{background:var(--c-request);color:var(--c-request-text)}.cal-cell.paid{background:var(--c-paid);color:#b91c1c}.cal-cell.sickness{background:var(--c-sickness)}.cal-cell.selected{outline:2px solid var(--primary);outline-offset:1px}.legend-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px;font-size:11px;color:var(--text-secondary)}.legend-row span{display:flex;align-items:center;gap:4px}.legend-row i{width:10px;height:10px;border-radius:3px;border:1px solid var(--border)}.btn-block{width:100%;border:none;background:var(--primary);color:#fff;font-size:15px;font-weight:600;padding:14px;border-radius:var(--radius-md);cursor:pointer;margin-top:8px}.btn-block:hover{background:var(--primary-hover)}.btn-ghost{background:transparent;border:1px solid var(--border);color:var(--text)}.sheet-overlay{display:none;position:fixed;inset:0;background:rgba(15,23,42,.4);z-index:50;align-items:flex-end;justify-content:center}.sheet-overlay.open{display:flex}.sheet{background:var(--surface);border-radius:20px 20px 0 0;width:min(375px,100%);padding:8px 20px 28px;animation:slideUp .25s ease}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.sheet-handle{width:36px;height:4px;background:var(--border);border-radius:var(--radius-full);margin:0 auto 16px}.sheet h3{margin:0 0 16px;font-size:17px;font-weight:700;text-align:center}.chip-list{display:flex;flex-direction:column;gap:8px}.chip{padding:14px 16px;border-radius:var(--radius-md);border:1.5px solid var(--border);font-size:15px;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:10px}.chip i{width:12px;height:12px;border-radius:4px;border:1px solid var(--border)}.chip.on{border-color:var(--primary);background:var(--primary-soft);color:var(--primary);font-weight:600}.pc-frame{width:100%;max-width:1100px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-md)}.pc-navbar{background:var(--surface);border-bottom:1px solid var(--border);padding:0 16px;height:56px;justify-content:space-between;gap:16px}.pc-navbar,.pc-navbar-left{display:flex;align-items:center}.pc-navbar-left{gap:20px;min-width:0}.pc-logo{font-weight:700;font-size:14px;color:var(--primary);white-space:nowrap;padding:6px 10px;background:var(--primary-soft);border-radius:var(--radius-sm)}.pc-menu{display:flex;gap:2px;font-size:12px;flex-wrap:wrap}.pc-menu .mod{padding:6px 10px;color:var(--text-secondary);border-radius:var(--radius-sm);cursor:default}.pc-menu .mod span{font-weight:600;color:var(--text)}.pc-navbar-right{display:flex;align-items:center;gap:12px;font-size:12px;color:var(--text-secondary);white-space:nowrap}.pc-month-pill{position:relative;display:inline-flex;align-items:center;gap:4px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);padding:6px 12px;font-weight:600;color:var(--text)}.mock-month-nav-label{border:none;background:transparent;color:var(--text);cursor:pointer;font-size:13px;font-weight:600;padding:0 6px;min-width:110px;text-align:center;border-radius:6px;transition:background .15s,color .15s}.mock-month-nav-label:hover,.mock-month-nav.is-open .mock-month-nav-label{background:var(--primary-soft);color:var(--primary)}.month-picker-popover{position:absolute;top:calc(100% + 8px);right:0;width:280px;padding:12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);z-index:60}.month-picker-year{display:flex;align-items:center;justify-content:center;gap:6px;margin-bottom:12px}.month-picker-year button{border:none;background:transparent;color:var(--primary);cursor:pointer;font-size:14px;padding:4px;border-radius:6px}.month-picker-year button:hover:not(:disabled){background:var(--primary-soft)}.month-picker-year-input{width:88px;padding:6px 8px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:14px;font-weight:700;text-align:center;color:var(--text);background:var(--surface)}.month-picker-year-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(37,99,235,.12)}.month-picker-year-suffix{font-size:14px;font-weight:600;color:var(--text-secondary)}.month-picker-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:6px;gap:6px}.month-picker-month{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:var(--radius-sm);padding:8px 4px;font-size:12px;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.month-picker-month:hover:not(:disabled){background:var(--primary-soft)}.month-picker-month.is-current,.month-picker-month:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.month-picker-month.is-draft{background:var(--primary-soft)}.pc-user{align-items:center;gap:6px;padding:4px 8px;border-radius:var(--radius-sm)}.pc-content,.pc-user{display:flex;background:var(--bg)}.pc-content{flex:1 1;min-height:0;flex-direction:column;overflow:hidden;padding:16px 20px 20px}.pc-content:not(:has(.pc-table-wrap)){overflow-y:auto}.filter-bar,.pc-divider,.pc-header-block,.pc-tabs-row,.pc-toolbar,.pc-view-hint{flex-shrink:0}.pc-header-block{margin-bottom:12px}.pc-header-top{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:10px}.pc-title{margin:0 0 12px;font-size:20px;font-weight:700;letter-spacing:-.02em}.pc-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.pc-toolbar--start{justify-content:flex-start}.pc-week-month{display:inline-flex;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-full);padding:3px;margin-bottom:0;flex-shrink:0}.pc-week-month button{border:none;background:transparent;padding:6px 16px;font-size:12px;font-weight:600;color:var(--text-secondary);border-radius:var(--radius-full);cursor:pointer}.pc-week-month button.on{background:var(--primary);color:#fff}.pc-toolbar-left{display:flex;align-items:center;gap:12px;flex-wrap:wrap;flex:1 1;min-width:0}.pc-week-picker{display:none;align-items:stretch;min-width:320px;max-width:100%;height:38px;background:var(--surface);border:1px solid var(--primary);border-radius:var(--radius-full);overflow:visible;position:relative;flex-shrink:0}.pc-week-picker.visible{display:inline-flex}.pc-week-picker button{border:none;background:transparent;color:var(--primary);cursor:pointer;font-size:18px;width:40px;flex-shrink:0;display:flex;align-items:center;justify-content:center;padding:0;border-radius:var(--radius-full)}.pc-week-picker button:hover{background:var(--primary);color:#fff}.pc-week-picker .pc-week-range{display:flex;align-items:center;flex:1 1;min-width:0;justify-content:center;gap:8px;padding:0 4px;font-size:12px;font-weight:600;color:var(--text);white-space:nowrap}.pc-week-part{display:flex;flex-direction:column;align-items:center;line-height:1.2;padding:4px 0}.pc-week-part .yr{font-size:10px;font-weight:500;color:var(--text-secondary)}.pc-week-part .dt{font-size:12px;font-weight:600}.pc-week-dash{color:var(--text-tertiary);font-weight:400;padding:0 2px}.pc-week-cal-btn{font-size:16px!important}.pc-week-cal-btn:hover{background:var(--primary-soft)!important;color:var(--primary)!important}.pc-week-cal-popup{display:none;position:fixed;z-index:200;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);padding:12px;width:280px}.pc-week-cal-popup.open{display:block}.pc-week-cal-popup .cal-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;font-size:13px;font-weight:600}.pc-week-cal-popup .cal-nav button{border:none;background:var(--bg);border-radius:var(--radius-sm);width:28px;height:28px;cursor:pointer;color:var(--primary);font-size:14px}.pc-week-cal-popup .cal-grid-mini{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:2px;gap:2px;font-size:11px;text-align:center}.pc-week-cal-popup .cal-grid-mini .hd{color:var(--text-tertiary);font-weight:600;padding:4px 0}.pc-week-cal-popup .cal-grid-mini .dy{padding:6px 0;border-radius:var(--radius-sm);cursor:pointer;color:var(--text)}.pc-week-cal-popup .cal-grid-mini .dy:hover{background:var(--primary-soft);color:var(--primary)}.pc-week-cal-popup .cal-grid-mini .dy.mon{font-weight:700;color:var(--primary)}.pc-week-cal-popup .cal-grid-mini .dy.sel{background:var(--primary);color:#fff}.pc-week-cal-popup .cal-grid-mini .dy.empty{cursor:default;visibility:hidden}.mock-month-nav.hidden{display:none!important}.pc-actions{flex-direction:row;flex-wrap:wrap;gap:8px;justify-content:flex-end;margin-left:auto}.pc-action-btn,.pc-actions{display:flex;align-items:center}.pc-action-btn{gap:6px;padding:7px 12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);font-size:12px;font-weight:500;color:var(--text);cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s}.pc-action-btn:hover{border-color:var(--primary);background:var(--primary-soft)}.pc-action-btn:active{transform:scale(.98)}.pc-action-btn.primary{background:var(--primary-soft);border-color:var(--primary);color:var(--primary);font-weight:600}.pc-action-btn .ico{width:20px;height:20px;border-radius:6px;background:var(--bg);display:flex;align-items:center;justify-content:center;font-size:11px}.pc-divider{height:1px;background:var(--border);margin:12px 0}.pc-tabs-row{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.pc-tabs,.pc-tabs-row{display:flex;flex-wrap:wrap}.pc-tabs{gap:4px}.pc-tabs button{border:1px solid var(--border);background:var(--surface);padding:8px 14px;border-radius:var(--radius-sm);font-size:12px;font-weight:500;color:var(--text-secondary);cursor:pointer}.pc-tabs button:hover{border-color:var(--primary)}.pc-tabs button.on{border-color:var(--primary)}.pc-btn-edit,.pc-tabs button.on{background:var(--primary);color:#fff;font-weight:600}.pc-btn-edit{border:none;padding:8px 20px;border-radius:var(--radius-full);font-size:13px;cursor:pointer}.pc-btn-edit:hover{background:var(--primary-hover)}.pc-month-pill button{border:none;background:transparent;color:var(--primary);cursor:pointer;font-size:14px;padding:0 4px}.pc-table-wrap{flex:1 1;min-height:0;overflow:auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);-webkit-overflow-scrolling:touch}.pc-table-wrap::-webkit-scrollbar{width:8px;height:10px}.pc-table-wrap::-webkit-scrollbar-track{background:var(--bg-elevated);border-radius:4px}.pc-table-wrap::-webkit-scrollbar-thumb{background:#94a3b8;border-radius:4px}.pc-table-wrap::-webkit-scrollbar-thumb:hover{background:#64748b}.shift-table{width:max-content;min-width:100%;table-layout:fixed;border-collapse:separate;border-spacing:0;font-size:12px;--shift-day-cell-width:150px;--shift-day-cell-height:78px;--col-code:150px;--col-name:var(--col-code);--shift-header-row-height:37px}.shift-table th{background:var(--bg);color:var(--text-secondary);font-weight:600;padding:5px 4px;text-align:center;vertical-align:middle;border:1px solid var(--border);white-space:normal;line-height:1.25;position:-webkit-sticky;position:sticky;top:0;z-index:2;box-sizing:border-box}.shift-table th small{display:block;font-size:10px;font-weight:500;color:var(--text-tertiary);margin-top:2px}.shift-table td.data-cell,.shift-table th.shift-day-col{width:var(--shift-day-cell-width);min-width:var(--shift-day-cell-width);max-width:var(--shift-day-cell-width);box-sizing:border-box}.shift-table td.data-cell{padding:0;vertical-align:middle;overflow:visible}.shift-table thead tr:nth-child(2) th{top:var(--shift-header-row-height);z-index:2}.shift-table.shift-table--dual-header{--shift-header-row-height:30px}.shift-table.shift-table--dual-header thead tr:first-child th.shift-day-col--date{padding:4px;line-height:1.2;font-size:11px;vertical-align:middle}.shift-table.shift-table--dual-header thead tr:nth-child(2) th{padding:4px;line-height:1.2;font-size:11px}.shift-table.shift-table--dual-header thead tr:first-child th.shift-day-col--date small{margin-top:0;line-height:1.1}.shift-table.shift-table--dual-header thead tr:nth-child(2) th.shift-day-col--cal{font-size:10px;font-weight:500;color:var(--text-tertiary)}.shift-table.shift-table--dual-header thead tr:first-child .sticky-header-span{padding:0;line-height:1}.shift-table td.col-code,.shift-table th.col-code{width:var(--col-code);min-width:var(--col-code);max-width:var(--col-code);padding:5px 6px;text-align:center;font-size:12px;letter-spacing:0;white-space:normal;word-break:break-word}.shift-table td.col-name,.shift-table th.col-name{width:var(--col-name);min-width:var(--col-name);max-width:var(--col-name);padding:5px 10px;text-align:left;font-size:12px;white-space:normal;word-break:break-word}.shift-table td.sticky,.shift-table th.sticky{background:var(--bg-elevated);position:-webkit-sticky;position:sticky;z-index:1}.shift-table th.sticky{z-index:3}.shift-table thead tr:nth-child(2) th.sticky,.shift-table.dayoff-table thead tr:nth-child(2) th.col-code,.shift-table.dayoff-table thead tr:nth-child(2) th.col-name{top:var(--shift-header-row-height);z-index:4}.shift-table .sticky-header-span{position:-webkit-sticky;position:sticky;left:0;z-index:3;background:var(--bg)}.shift-table thead tr:first-child .sticky-header-span{top:0;z-index:4}.shift-table.dayoff-table{--shift-header-row-height:37px}.shift-table.dayoff-table thead tr:first-child th{overflow:hidden}.shift-table.dayoff-table thead tr:first-child th,.shift-table.dayoff-table thead tr:nth-child(2) th{height:var(--shift-header-row-height);max-height:var(--shift-header-row-height);padding:4px;line-height:1.2;box-sizing:border-box}.shift-table th.th-sortable{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.shift-table .th-sortable-label{display:inline-flex;align-items:center;justify-content:center;gap:4px;width:100%}.shift-table .table-sort-icon{flex-shrink:0;color:#64748b}.shift-table .table-sort-icon--active{color:#0f766e}.shift-table.dayoff-table:not(.dayoff-table--edit) td.data-cell{cursor:default}.shift-table.dayoff-table:not(.dayoff-table--edit) td.data-cell:hover .dayoff-cell,.shift-table.dayoff-table:not(.dayoff-table--edit) td.data-cell:hover .shift-cell{outline:none;box-shadow:none}.shift-table.dayoff-table--edit td.data-cell{cursor:pointer}.shift-table.dayoff-table thead tr:first-child .sticky-header-span{min-width:calc(var(--col-code) + var(--col-name))}.shift-table.dayoff-table td.col-code,.shift-table.dayoff-table td.col-name,.shift-table.dayoff-table th.col-code,.shift-table.dayoff-table th.col-name{background:#f8fafc;color:var(--text)}.shift-table.dayoff-table th.col-code,.shift-table.dayoff-table th.col-name{color:var(--text-secondary)}.shift-table thead tr:nth-child(2) .sticky-header-span{top:var(--shift-header-row-height);min-width:calc(var(--col-index) + var(--col-course-id) + var(--col-course-name))}.shift-table td.col-code,.shift-table th.col-code{left:0}.shift-table td.col-name,.shift-table th.col-name{left:var(--col-code);background:var(--surface);box-shadow:2px 0 4px rgba(15,23,42,.04)}.shift-table td{border:1px solid var(--border);padding:0;text-align:center;vertical-align:middle;box-sizing:border-box}.shift-table td.sticky.col-code,.shift-table td.sticky.col-course-id,.shift-table td.sticky.col-course-name,.shift-table td.sticky.col-index,.shift-table td.sticky.col-name{height:auto;min-height:var(--shift-day-cell-height)}.shift-table td.data-cell{cursor:pointer}.shift-table td.data-cell.selected .shift-cell,.shift-table:not(.shift-table--edit) td.data-cell:hover .shift-cell{outline:2px solid var(--primary);outline-offset:-2px}.shift-table td.data-cell.selected .shift-cell{box-shadow:inset 0 0 0 1px var(--primary)}.shift-cell{width:100%;min-height:var(--shift-day-cell-height);box-sizing:border-box;display:flex;flex-direction:column;align-items:center;justify-content:center;margin:0 5px;padding:0;font-size:12px;line-height:1.25;text-align:center;background:transparent;position:relative}.shift-cell-course,.shift-cell-more-preview{width:100%;max-width:140px;margin-bottom:5px}.shift-cell-course .shift-cell-main,.shift-cell-course .shift-cell-note,.shift-cell-more-preview .shift-cell-main,.shift-cell-more-preview .shift-cell-note{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shift-cell-more-row{display:flex;align-items:flex-start;justify-content:center;position:relative;width:100%;max-width:140px}.shift-cell-more-row:hover .shift-cell-popover{display:block}.shift-cell-more-preview{flex:1 1;min-width:0;max-width:100px;text-align:center}.shift-cell-more-icon{flex-shrink:0;display:flex;align-items:flex-start;margin-top:20px;margin-left:4px;color:var(--primary)}.shift-cell-popover{display:none;position:absolute;top:100%;left:50%;transform:translateX(-50%);z-index:30;min-width:180px;max-width:260px;padding:8px 10px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);text-align:center}.shift-cell-popover-item+.shift-cell-popover-item{margin-top:8px;padding-top:8px;border-top:1px solid var(--border)}.shift-cell-other-note{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:140px}.shift-cell-main{width:100%;font-size:16px;font-weight:600;line-height:1.2}.shift-cell-note{width:100%;margin-top:2px;font-size:12px;font-weight:500;line-height:1.2;opacity:.9}.shift-cell.dayoff .shift-cell-main{font-size:14px}.dayoff-cell{width:100%;min-height:var(--shift-day-cell-height);display:flex;align-items:center;justify-content:center;box-sizing:border-box;padding:4px;font-size:12px;line-height:1.25;text-align:center;position:relative}.dayoff-cell--readonly{cursor:default}.dayoff-cell--editable{cursor:pointer}.dayoff-cell--editable:hover{outline:2px solid var(--primary);outline-offset:-2px}.dayoff-cell--disabled{background:#c6c6c6!important;cursor:not-allowed;min-height:var(--shift-day-cell-height)}.dayoff-cell-courses{width:100%;position:relative}.dayoff-cell-courses:hover .dayoff-cell-popover{display:block}.dayoff-cell-course-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:120px;margin:0 auto 2px}.dayoff-cell-popover{display:none;position:absolute;top:100%;left:50%;transform:translateX(-50%);z-index:20;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px;min-width:160px;text-align:left;box-shadow:var(--shadow-md)}.dayoff-edit-form{display:flex;flex-direction:column;gap:12px}.dayoff-edit-select{width:100%}.dayoff-edit-course-list,.dayoff-edit-radio-group{display:flex;flex-direction:column;gap:8px;max-height:240px;overflow-y:auto}.dayoff-edit-checkbox,.dayoff-edit-radio{display:flex;align-items:center;gap:8px;font-size:13px;cursor:pointer}.dayoff-edit-work{display:flex;flex-direction:column;gap:10px}.dayoff-edit-modal{width:min(480px,100%)}.shift-cell.empty{color:var(--text-tertiary)}.pc-legend{display:flex;flex-wrap:wrap;gap:12px;margin-top:12px;font-size:11px;color:var(--text-secondary)}.pc-legend span{display:flex;align-items:center;gap:4px}.shift-table td.data-cell.is-disabled{background-color:#c6c6c6!important;cursor:not-allowed}.pc-legend i{width:12px;height:12px;border-radius:3px;border:1px solid var(--border)}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(60px);background:var(--text);color:#fff;padding:10px 20px;border-radius:var(--radius-full);font-size:13px;opacity:0;transition:.25s;z-index:100;pointer-events:none}.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}.compare-note{font-size:12px;color:var(--text-secondary);margin-top:8px;padding:10px 12px;background:var(--primary-soft);border-radius:var(--radius-sm)}.pc-popover{display:none;position:fixed;z-index:80;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:12px 14px;min-width:200px;box-shadow:var(--shadow-md);font-size:13px}.pc-popover.open{display:block}.pc-popover h4{margin:0 0 8px;font-size:14px;font-weight:700}.pc-popover p{margin:0 0 4px;color:var(--text-secondary);font-size:12px}.pc-popover .close-pop{margin-top:10px;border:none;background:var(--bg);padding:6px 12px;border-radius:var(--radius-sm);font-size:12px;cursor:pointer;width:100%}.pc-view-hint{font-size:12px;color:var(--text-tertiary);margin:0 0 8px}.pc-btn-edit.hidden,.pc-legend.hidden,.pc-view-hint.hidden{display:none}.shift-table.course-table{--col-index:150px;--col-course-id:150px;--col-course-name:240px;width:max-content;min-width:calc(var(--col-index) + var(--col-course-id) + var(--col-course-name) + var(--shift-day-cell-width) * 7);table-layout:auto}.shift-table.course-table td.data-cell,.shift-table.course-table th.shift-day-col{width:var(--shift-day-cell-width);min-width:var(--shift-day-cell-width);max-width:var(--shift-day-cell-width);box-sizing:border-box}.shift-table.course-table td.data-cell{cursor:default;padding:0;vertical-align:middle}.shift-table.course-table td.data-cell:hover .course-base-cell-inner,.shift-table.course-table td.data-cell:hover .shift-cell{outline:none;box-shadow:none}.shift-table.course-table .course-base-cell--disabled{cursor:not-allowed!important;background-color:#c6c6c6!important}.shift-table.course-table .course-base-cell-inner{min-height:var(--shift-day-cell-height);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:5px;text-align:center;font-weight:700;font-size:12px;line-height:1.25;box-sizing:border-box}.shift-table.course-table .shift-cell{min-height:78px;margin:0;padding:5px;font-weight:700;font-size:12px;line-height:1.25}.shift-table.course-table .shift-cell-main{width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shift-table.course-table td.col-index,.shift-table.course-table th.col-index{width:var(--col-index);min-width:var(--col-index);text-align:center}.shift-table.course-table td.col-course-id,.shift-table.course-table th.col-course-id{width:var(--col-course-id);min-width:var(--col-course-id);text-align:center;font-size:11px}.shift-table.course-table td.col-course-name,.shift-table.course-table th.col-course-name{width:var(--col-course-name);min-width:var(--col-course-name);text-align:left;padding:5px 10px}.shift-table.course-table td.col-index,.shift-table.course-table th.col-index{left:0}.shift-table.course-table td.col-course-id,.shift-table.course-table th.col-course-id{left:var(--col-index)}.shift-table.course-table td.col-course-name,.shift-table.course-table th.col-course-name{left:calc(var(--col-index) + var(--col-course-id));box-shadow:2px 0 4px rgba(15,23,42,.04)}.shift-table.practical-table{width:max-content;min-width:0;table-layout:fixed}.shift-table.practical-table td,.shift-table.practical-table th{width:150px;min-width:150px;max-width:150px;height:auto;min-height:0;padding:5px;white-space:nowrap;box-sizing:border-box}.shift-table.practical-table td.num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.pc-modal-overlay{display:none;position:fixed;inset:0;background:rgba(15,23,42,.45);z-index:90;align-items:center;justify-content:center;padding:24px}.pc-modal,.pc-modal-overlay.open{display:flex}.pc-modal{background:var(--surface);border-radius:var(--radius-lg);width:min(960px,100%);max-height:85vh;flex-direction:column;box-shadow:var(--shadow-md);border:1px solid var(--border)}.pc-modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border)}.pc-modal-header h3{margin:0;font-size:18px;font-weight:700}.pc-modal-close{border:none;background:var(--bg);width:32px;height:32px;border-radius:var(--radius-sm);cursor:pointer;font-size:18px;color:var(--text-secondary)}.pc-modal-body{padding:16px 20px 20px;overflow:auto}.pc-modal-footer{display:flex;justify-content:center;gap:10px;padding:0 20px 20px}.pc-modal-btn{border:1px solid var(--border);background:var(--surface);color:var(--text);padding:8px 18px;border-radius:var(--radius-full);font-size:13px;font-weight:600;cursor:pointer}.pc-modal-btn.primary{background:var(--primary);border-color:var(--primary);color:#fff}.pc-modal-btn:disabled{opacity:.5;cursor:not-allowed}.pc-modal-center{text-align:center}.pc-modal-center h4{margin:0 0 8px;font-size:15px;font-weight:700}.pc-modal-radio{display:inline-flex;align-items:center;gap:8px;margin-top:12px;font-size:13px}.pc-modal-text{margin:0;font-size:14px;line-height:1.6}.pc-log-pagination{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:12px;font-size:13px}.pc-log-detail-list{display:flex;flex-direction:column;gap:8px;font-size:13px;color:var(--text-secondary)}.pc-week-cal-popup .cal-grid-mini button.dy{border:none;background:transparent;font:inherit}.pc-log-table{width:100%;border-collapse:collapse;font-size:12px}.pc-log-table td,.pc-log-table th{border:1px solid var(--border);padding:8px 10px;text-align:left}.pc-log-table th{background:var(--bg);font-weight:600;color:var(--text-secondary);white-space:nowrap}.log-badge{display:inline-block;padding:3px 10px;border-radius:var(--radius-full);font-size:11px;font-weight:600;cursor:pointer}.log-badge.success{background:#dcfce7;color:#166534}.log-badge.error{background:#fee2e2;color:#991b1b}.log-badge.check{background:#fef9c3;color:#854d0e}.log-badge.on{background:var(--primary-soft);color:var(--primary)}.pc-table-wrap--processing{position:relative}.pc-table-overlay{position:absolute;inset:0;z-index:20;display:flex;align-items:center;justify-content:center;background:hsla(0,0%,100%,.88);border-radius:var(--radius-md)}.pc-table-overlay-content{display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--text-secondary);font-size:14px}.pc-table-overlay-icon{font-size:32px;line-height:1}.pc-ai-response-modal{width:min(480px,100%)}.pc-ai-response-title{display:flex;justify-content:center;padding:8px 12px;border-radius:var(--radius-sm);background:#94a3b8;color:#fff;font-weight:700;margin-bottom:24px}.pc-ai-response-title.success{background:var(--primary)}.pc-ai-response-title.error{background:#ef4444}.pc-ai-response-title.check{background:#eab308;color:#422006}.pc-ai-response-text{text-align:center;margin:24px 0 32px;line-height:1.6;color:var(--text)}.pc-ai-response-actions{display:flex;justify-content:center}.data-table tr.row-retired td{background:#fef2f2;color:#991b1b}.flow-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px}.flow-intro{font-size:13px;color:var(--text-secondary);line-height:1.6;margin:0 0 16px}.flow-pillars{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:12px;gap:12px;margin-bottom:16px}@media (max-width:800px){.flow-pillars{grid-template-columns:1fr}}.flow-pillar{border:1px solid var(--border);border-radius:var(--radius-md);padding:14px;background:var(--bg)}.flow-pillar h4{margin:0 0 6px;font-size:13px}.flow-pillar .num,.flow-pillar h4{font-weight:700;color:var(--primary)}.flow-pillar .num{display:inline-block;width:20px;height:20px;line-height:20px;text-align:center;background:var(--primary-soft);border-radius:50%;font-size:11px;margin-right:6px}.flow-pillar p{margin:0;font-size:12px;color:var(--text-secondary);line-height:1.5}.flow-pillar code{font-size:10px;background:var(--surface);padding:1px 4px;border-radius:3px}.flow-arrow{text-align:center;font-size:12px;color:var(--text-tertiary);margin:8px 0 16px}.flow-controls{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-bottom:16px}.flow-mode{display:inline-flex;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-full);padding:3px}.flow-mode button{border:none;background:transparent;padding:6px 14px;font-size:12px;font-weight:600;color:var(--text-secondary);border-radius:var(--radius-full);cursor:pointer}.flow-mode button.on{background:var(--primary);color:#fff}.flow-s3-status{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.flow-s3-chip{font-size:11px;padding:5px 10px;border-radius:var(--radius-full);border:1px solid var(--border);background:var(--bg)}.flow-s3-chip.ok{border-color:#86efac;background:#f0fdf4;color:#166534}.flow-s3-chip.ng{border-color:#fecaca;background:#fef2f2;color:#991b1b}.flow-files{border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;margin-bottom:16px}.flow-files table{width:100%;border-collapse:collapse;font-size:12px}.flow-files td,.flow-files th{border-bottom:1px solid var(--border);padding:8px 12px;text-align:left}.flow-files th{background:var(--bg);font-weight:600;color:var(--text-secondary);font-size:11px}.flow-files tr:last-child td{border-bottom:none}.flow-files .src{color:var(--text-tertiary);font-size:11px}.flow-steps{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.flow-step{flex:1 1;min-width:100px;padding:10px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:11px;text-align:center;color:var(--text-tertiary);background:var(--bg)}.flow-step.active{border-color:var(--primary);background:var(--primary-soft);color:var(--primary);font-weight:600}.flow-step.done{border-color:#86efac;background:#f0fdf4;color:#166534}.flow-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.flow-run-btn{border:none;background:var(--primary);color:#fff;padding:10px 20px;border-radius:var(--radius-md);font-size:13px;font-weight:600;cursor:pointer}.flow-run-btn:disabled{opacity:.5;cursor:not-allowed}.flow-run-btn:hover:not(:disabled){background:var(--primary-hover)}.flow-code-ref{margin-top:16px;padding:12px;background:var(--bg);border-radius:var(--radius-sm);font-size:11px;color:var(--text-secondary);line-height:1.6}.flow-code-ref code{background:var(--surface);padding:1px 5px;border-radius:3px;font-size:10px}.flow-wizard-overlay{display:none;position:fixed;inset:0;background:rgba(15,23,42,.45);z-index:95;align-items:center;justify-content:center;padding:24px}.flow-wizard-overlay.open{display:flex}.flow-wizard{background:var(--surface);border-radius:var(--radius-lg);width:min(520px,100%);padding:24px;box-shadow:var(--shadow-md);border:1px solid var(--border)}.flow-wizard h3{margin:0 0 8px;font-size:18px}.flow-wizard p{margin:0 0 16px;font-size:13px;color:var(--text-secondary)}.flow-wizard .progress-bar{height:6px;background:var(--bg);border-radius:var(--radius-full);overflow:hidden;margin-bottom:16px}.flow-wizard .progress-fill{height:100%;background:var(--primary);width:0;transition:width .4s}.flow-wizard .wizard-log{font-size:12px;color:var(--text-secondary);min-height:80px;margin-bottom:16px;line-height:1.7}.flow-wizard .wizard-close{border:none;background:var(--bg);padding:8px 16px;border-radius:var(--radius-sm);cursor:pointer;font-size:13px;width:100%}.preview-block--anchor{scroll-margin-top:24px}.apply-guide{background:var(--primary-soft);border:1px solid #bfdbfe;border-radius:var(--radius-md);padding:14px 16px;font-size:13px;line-height:1.6;color:var(--text);margin-bottom:16px}.apply-guide strong{color:var(--primary)}.apply-guide code{background:var(--surface);padding:1px 5px;border-radius:4px;font-size:11px}.component-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));grid-gap:12px;gap:12px;margin-bottom:16px}.component-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:14px}.component-card h4{margin:0 0 10px;font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.btn-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.ui-btn{border:1px solid var(--border);background:var(--surface);color:var(--text);padding:8px 14px;border-radius:var(--radius-md);font-size:12px;font-weight:500;cursor:default;white-space:nowrap}.ui-btn.primary{background:var(--primary);color:#fff}.ui-btn.primary,.ui-btn.soft{border-color:var(--primary);font-weight:600}.ui-btn.soft{background:var(--primary-soft);color:var(--primary)}.ui-btn.ghost{background:transparent}.ui-btn.danger{background:#fef2f2;border-color:#fecaca;color:#b91c1c}.form-stack{display:flex;flex-direction:column;gap:10px}.form-group label{display:block;font-size:11px;font-weight:600;color:var(--text-secondary);margin-bottom:4px}.form-group input,.form-group select,.form-group textarea{width:100%;border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px 10px;font-size:13px;font-family:inherit;background:var(--surface);color:var(--text)}.form-group textarea{min-height:120px;resize:vertical;line-height:1.6}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:2px solid var(--primary-soft);border-color:var(--primary)}.badge{display:inline-flex;align-items:center;padding:3px 8px;border-radius:var(--radius-full);font-size:11px;font-weight:600}.badge.ok{background:#ecfdf5;color:#047857}.badge.warn{background:#fef9c3;color:#a16207}.badge.muted{background:var(--bg);color:var(--text-secondary)}.filter-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}.filter-bar-actions{display:flex;align-items:center;gap:8px;margin-left:auto;flex-shrink:0}.filter-bar-leading{flex-wrap:wrap;min-width:0}.filter-bar--driver,.filter-bar-leading{display:flex;align-items:center;gap:12px}.filter-bar--driver{justify-content:space-between}.filter-bar--driver .search-input{width:300px;max-width:100%;flex-shrink:0}.filter-bar--driver .filter-tabs,.filter-bar--driver .pc-btn-edit{flex-shrink:0}@media (max-width:640px){.filter-bar--driver{flex-direction:column;align-items:stretch}.filter-bar--driver .search-input{width:100%}}.filter-tabs{display:inline-flex;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-full);padding:3px}.filter-tabs button{border:none;background:transparent;padding:6px 14px;font-size:12px;font-weight:600;color:var(--text-secondary);border-radius:var(--radius-full);cursor:default}.filter-tabs button.on{background:var(--primary);color:#fff}.search-input{min-width:200px;border:1px solid var(--border);border-radius:var(--radius-md);padding:8px 12px;font-size:13px;background:var(--surface)}.data-table{width:100%;border-collapse:collapse;font-size:12px}.data-table th{background:var(--bg);color:var(--text-secondary);font-weight:600;padding:10px 12px;text-align:left;border-bottom:1px solid var(--border);white-space:nowrap;position:-webkit-sticky;position:sticky;top:0;z-index:2}.data-table th.th-sortable{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.data-table .th-sortable-label{display:inline-flex;align-items:center;gap:4px}.data-table.course-list-table{--course-header-row-1-height:41px}.data-table.course-list-table thead tr:first-child th{top:0;z-index:3}.data-table.course-list-table thead tr:nth-child(2) th{top:var(--course-header-row-1-height);z-index:3}.data-table.course-list-table td.col-time,.data-table.course-list-table th.col-time{width:100px;min-width:100px;max-width:100px;text-align:center;box-sizing:border-box}.data-table td{padding:10px 12px;border-bottom:1px solid var(--border);vertical-align:middle}.data-table tr:hover td{background:var(--primary-soft)}.data-table td.col-action,.data-table th.col-action{display:table-cell;width:52px;min-width:52px;max-width:52px;padding:8px 4px}.data-table .actions,.data-table td.col-action,.data-table th.col-action{text-align:center;white-space:nowrap;vertical-align:middle}.link-btn{border:none;background:transparent;color:var(--primary);font-size:12px;font-weight:600;cursor:default;padding:4px 6px;border-radius:var(--radius-sm)}.link-btn:hover{background:var(--primary-soft)}.table-icon-btn svg{display:block;flex-shrink:0}.table-header-icon{display:inline-flex;align-items:center;justify-content:center;color:var(--text-secondary)}.table-header-icon--danger{color:#b91c1c}.table-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--primary);cursor:pointer;padding:0}.table-icon-btn:hover{background:var(--primary-soft)}.table-icon-btn--danger{color:#b91c1c}.table-icon-btn--danger:hover{background:#fee2e2}.form-section-label{margin:0 0 12px;font-size:13px;font-weight:700;color:var(--text-secondary)}.schedule-table td.schedule-td{text-align:center;vertical-align:middle;padding:.75rem .5rem;min-width:50px}.shift-table.schedule-table thead tr:first-child th.shift-day-col--date{white-space:nowrap;font-size:11px;line-height:1.2;padding:6px 4px}.shift-table.schedule-table thead tr:nth-child(2) th.shift-day-col--cal{font-size:10px;font-weight:500;color:var(--text-tertiary)}.schedule-status-icon{display:inline-block;vertical-align:middle;color:var(--text)}.shift-table.course-table.schedule-table--edit{--col-index:0;--col-course-id:120px;--col-course-name:300px;min-width:calc(var(--col-course-id) + var(--col-course-name) + var(--shift-day-cell-width) * 7)!important}.shift-table.course-table.schedule-table--edit thead tr:first-child .sticky-header-span{min-width:calc(var(--col-course-id) + var(--col-course-name))}.shift-table.course-table.schedule-table--edit td.col-course-id,.shift-table.course-table.schedule-table--edit th.col-course-id{left:0;width:var(--col-course-id);min-width:var(--col-course-id);max-width:var(--col-course-id)}.shift-table.course-table.schedule-table--edit td.col-course-name,.shift-table.course-table.schedule-table--edit th.col-course-name{left:var(--col-course-id);width:var(--col-course-name);min-width:var(--col-course-name);max-width:var(--col-course-name)}.schedule-table td.schedule-td--off{background:#f0f0f0!important}.schedule-table td.schedule-td--out-of-range{background:#c6c6c6!important;cursor:not-allowed}.schedule-table--edit td.schedule-td--editable{cursor:pointer}.schedule-table--edit td.schedule-td--editable:hover{background:var(--primary)!important;color:#fff}.schedule-edit-radio-group{display:flex;gap:32px;justify-content:center;margin-top:16px}.schedule-edit-radio{display:inline-flex;align-items:center;gap:10px;cursor:pointer}.schedule-edit-radio input[type=radio]{margin:0;width:16px;height:16px;flex-shrink:0}.schedule-edit-warning{text-align:center;margin:0 0 8px;padding:8px 12px;font-weight:600}.schedule-edit-warning--warn{color:#8a6b0d;background-color:#fff4d0}.schedule-edit-warning--error{color:#721c24;background-color:#f9dbdd}.schedule-import-modal{min-width:420px}.schedule-import-file-row{display:grid;grid-template-columns:80px 1fr;grid-gap:12px;gap:12px;align-items:center;margin:24px 0}.schedule-import-label{font-weight:600}.schedule-import-file-picker{width:100%;min-height:50px;border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 16px;text-align:center;background:var(--surface);color:var(--text-tertiary);cursor:pointer}.schedule-import-file-picker:hover{border-color:var(--primary)}.schedule-import-hidden-input{display:none}.schedule-import-error{color:#dc2626;font-weight:600;text-align:center;margin:0 0 16px}.schedule-import-failed-modal{max-height:60vh;overflow-y:auto}.color-compare{display:flex;gap:12px;flex-wrap:wrap;font-size:12px;margin-top:8px}.color-compare span{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface)}.color-compare i{width:14px;height:14px;border-radius:4px;border:1px solid var(--border)}.sidebar a.anchor-link{color:var(--primary);text-decoration:none;font-weight:500}.sidebar a.anchor-link:hover{text-decoration:underline}th.th-sortable{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.th-sortable-label{display:inline-flex;align-items:center;gap:6px}.table-sort-icon{flex-shrink:0;color:var(--text-tertiary)}.table-sort-icon--idle{opacity:.85}.table-sort-icon--active{color:var(--primary)}.shift-table--edit .data-cell--edit{cursor:pointer}.shift-table--edit .data-cell--edit:hover{background-color:var(--primary)!important;color:#fff}.shift-table--edit .data-cell--edit:hover .shift-cell,.shift-table--edit .data-cell--edit:hover .shift-cell-main,.shift-table--edit .data-cell--edit:hover .shift-cell-more-icon,.shift-table--edit .data-cell--edit:hover .shift-cell-note{color:#fff}.shift-edit-detail-modal,.shift-edit-form-modal{max-width:640px;width:100%}.shift-edit-detail-item{text-align:center;margin-bottom:16px}.shift-edit-detail-type{font-size:18px;font-weight:700;margin-bottom:8px}.shift-edit-detail-meta{font-size:14px;line-height:1.6}.shift-edit-node-form{display:flex;flex-direction:column;gap:12px}.shift-edit-node-item{border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px;background:var(--surface)}.shift-edit-node-row{display:flex;gap:8px;align-items:center}.shift-edit-node-remove{flex-shrink:0;width:32px;height:32px;border:none;border-radius:50%;background:#dc3545;color:#fff;font-size:18px;line-height:1;cursor:pointer}.shift-edit-node-type-select{flex:1 1;min-width:0}.shift-edit-node-times{display:flex;flex-direction:column;gap:10px;margin-top:10px}.shift-edit-node-time-row{display:grid;grid-template-columns:110px 1fr;grid-gap:8px;gap:8px;align-items:center}.shift-edit-node-time-row label{font-size:13px;font-weight:600}.shift-edit-node-add{margin-top:20px}.shift-edit-node-add-line{display:flex;align-items:center;width:100%}.shift-edit-node-add-line:after,.shift-edit-node-add-line:before{content:"";flex:1 1;height:0;border-bottom:2px solid var(--text)}.shift-edit-node-add-line span{flex:0 0 auto;padding:0 10px;background:var(--surface);color:var(--text);font-weight:700;font-size:30px;line-height:1;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.shift-edit-node-add.disabled{opacity:.5}.shift-edit-node-add.disabled .shift-edit-node-add-line span{cursor:not-allowed}.select-multiple{position:relative;width:100%}.select-multiple-input{width:100%;padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);cursor:pointer}.select-multiple-input:disabled{opacity:.7;cursor:not-allowed}.select-multiple-list{display:none;position:absolute;z-index:2;left:0;right:0;top:calc(100% + 4px);border:1px solid var(--text);border-radius:var(--radius-sm);background:var(--surface);padding:8px;box-shadow:0 8px 24px rgba(0,0,0,.12)}.select-multiple-list--portal{position:fixed;right:auto;z-index:2;display:flex;width:auto;padding:5px}.select-multiple-list.open{display:block}.select-multiple-list--portal.open{display:flex}.select-multiple-cols{display:flex;flex-direction:row;gap:4px;width:100%}.select-multiple-col{flex:1 1;min-width:56px}.select-multiple-options{list-style:none;margin:0;padding:5px 10px 0;max-height:100px;overflow-x:hidden;overflow-y:auto}.select-multiple-option{width:100%;border:none;background:var(--surface);padding:10px 16px;margin-bottom:5px;border-radius:var(--radius-sm);font-weight:600;cursor:pointer;text-align:center;white-space:nowrap}.select-multiple-option.active{background:var(--primary);color:#fff}.select-multiple-option.disabled{opacity:.5;cursor:not-allowed}.driver-course-edit{--driver-course-header-row-1-height:41px}.driver-course-table-wrap{overflow-x:auto;overflow-y:visible}.driver-course-table{width:100%;border-collapse:collapse}.driver-course-table td,.driver-course-table th{vertical-align:middle;padding:8px}.driver-course-table thead tr:first-child th{position:-webkit-sticky;position:sticky;top:0;z-index:10}.driver-course-table thead tr:nth-child(2) th{position:-webkit-sticky;position:sticky;top:var(--driver-course-header-row-1-height);z-index:10}.driver-course-table tbody td{position:relative;z-index:3;background:var(--surface)}.driver-course-th-remove{width:3%;text-align:center}.driver-course-th-course{width:13%}.driver-course-th-departure{width:14%;text-align:center}.driver-course-th-time{width:7%;min-width:120px}.driver-course-th-vehicle{width:8%}.driver-course-th-days{width:26%}.driver-course-table select{width:100%;padding:6px 8px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:12px;background:var(--surface)}.driver-course-action-cell{text-align:center}.driver-course-departure-cell{min-width:120px;text-align:center}.driver-course-day-group{display:flex;flex-wrap:wrap;gap:8px}.driver-course-day-item{display:inline-flex;align-items:center;gap:4px;font-size:12px;white-space:nowrap}.driver-form-tabs{width:100%;max-width:420px}.driver-form-tabs button{flex:1 1;min-width:0;text-align:center}.driver-course-add-row{margin-top:10px}.driver-course-add-btn{width:100%;justify-content:center;font-size:18px;font-weight:600;padding:8px}.text-danger{color:#dc2626}.driver-working-conditions{display:grid;grid-gap:16px;gap:16px}.driver-select-with-suffix{display:flex;align-items:center;gap:8px}.driver-select-with-suffix select{min-width:120px;padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);font-size:13px}.driver-holiday-checkboxes{display:flex;flex-wrap:wrap;gap:10px 14px}.driver-holiday-check-item{display:inline-flex;align-items:center;gap:6px;font-size:13px;white-space:nowrap}.driver-form-actions{margin-top:32px}.driver-retirement-notes-card{margin-bottom:16px;display:flex;flex-direction:column;gap:16px}.driver-retirement-section{margin-bottom:0}.driver-retirement-section input[type=date]{width:100%;max-width:280px;border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px 10px;font-size:13px;font-family:inherit;background:var(--surface);color:var(--text)}.driver-notes-section{margin-bottom:0}.driver-notes-field{width:100%;min-height:160px;resize:vertical;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff;box-shadow:none;font-size:13px;line-height:1.6;color:var(--text);font-family:inherit}.driver-notes-field:focus{outline:2px solid var(--primary-soft);border-color:var(--primary)}.driver-notes-content{font-size:13px;color:var(--text)}.driver-notes-content,.driver-notes-readonly{margin:0;white-space:pre-wrap;line-height:1.6}.driver-notes-readonly{padding:10px 12px;min-height:120px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg)}