:root{--color-bg:#f4f6fa;--color-surface:#fff;--color-surface-hover:#f8fafd;--color-border:#e5e9f0;--color-border-strong:#d3dae4;--color-text:#0f172a;--color-text-secondary:#475569;--color-text-muted:#94a3b8;--color-text-invert:#fff;--color-overlay:#0f172a73;--color-primary:#2563eb;--color-primary-hover:#1d4ed8;--color-primary-soft:#eff4ff;--color-primary-border:#c7d9fb;--color-accent:#7c3aed;--color-accent-soft:#f3efff;--gradient-ai:linear-gradient(135deg, #4f46e5 0%, #7c3aed 100%);--gradient-ai-hover:linear-gradient(135deg, #4338ca 0%, #6d28d9 100%);--color-success:#16a34a;--color-success-soft:#e7f6ec;--color-warning:#e08700;--color-warning-soft:#fff4e0;--color-danger:#e11d48;--color-danger-soft:#fdebef;--color-info:#0891b2;--color-info-soft:#e6f7fb;--color-sidebar-bg:#0b1220;--color-sidebar-text:#94a3b8;--color-sidebar-text-active:#fff;--color-sidebar-active-bg:#2563eb;--color-sidebar-hover-bg:#ffffff0f;--color-sidebar-border:#ffffff14;--color-sidebar-count-active:#ffffff40;--color-sidebar-promo-border:#7c3aed59;--gradient-sidebar-promo:linear-gradient(160deg, #4f46e559, #7c3aed26);--chart-1:#3b82f6;--chart-2:#8b5cf6;--chart-3:#10b981;--chart-4:#f59e0b;--chart-5:#f43f5e;--chart-6:#94a3b8;--shadow-sm:0 1px 2px #0f172a0d;--shadow-md:0 4px 16px #0f172a12;--shadow-lg:0 12px 32px #0f172a1f;--shadow-ai:0 4px 14px #6366f159;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-full:999px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--font-family:"Inter", "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Segoe UI", "Hiragino Kaku Gothic ProN", "Yu Gothic UI", sans-serif;--text-xs:11px;--text-sm:12px;--text-base:13px;--text-md:14px;--text-lg:16px;--text-xl:20px;--text-2xl:24px;--text-kpi:28px;--leading-tight:1.3;--leading-normal:1.6;--sidebar-width:232px;--topbar-height:64px;--rail-width:300px;--content-max-width:1600px;--submission-max-width:760px;--rail-wide:440px;--tap-target:44px;--control-compact-width:112px;--control-date-width:160px;--coverage-row-min-width:920px;--schedule-row-min-width:760px;--result-table-min-width:680px;--schedule-staff-column-width:168px;--schedule-cell-width:112px;--availability-cell-width:104px;--availability-target-column-width:96px;--schedule-editor-rail-width:320px;--schedule-timeline-min-width:760px;--schedule-board-min-height:480px;--schedule-issue-max-height:520px;--transition:.15s ease;--focus-ring:0 0 0 3px #2563eb40;--progress-width:0%}
*{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased}body{font-family:var(--font-family);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--color-text);background:var(--color-bg)}button{cursor:pointer;font-family:inherit}input,select,textarea{font-family:inherit}a{color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}.app-shell{min-height:100vh;display:flex}.app-main{flex-direction:column;flex:1;min-width:0;display:flex}.app-content{padding:var(--space-6);max-width:var(--content-max-width);flex:1;width:100%}.content-with-rail{gap:var(--space-6);align-items:flex-start;display:flex}.content-with-rail>.content-primary{flex:1;min-width:0}.rail{width:var(--rail-width);gap:var(--space-4);flex-direction:column;flex-shrink:0;display:flex}@media (max-width:1100px){.content-with-rail{flex-direction:column}.content-with-rail>.content-primary,.rail{width:100%}}.sidebar{width:var(--sidebar-width);background:var(--color-sidebar-bg);color:var(--color-sidebar-text);padding:var(--space-5) var(--space-3);flex-direction:column;flex-shrink:0;height:100vh;display:flex;position:sticky;top:0;overflow-y:auto}.sidebar-brand{align-items:center;gap:var(--space-3);padding:0 var(--space-3) var(--space-5);color:var(--color-sidebar-text-active);display:flex}.sidebar-brand .brand-logo{background:var(--gradient-ai);border-radius:10px;flex-shrink:0;width:34px;height:34px}.sidebar-brand .brand-name{font-size:var(--text-lg);font-weight:700}.sidebar-brand .brand-sub{font-size:var(--text-xs);color:var(--color-sidebar-text)}.nav-list{flex-direction:column;gap:2px;list-style:none;display:flex}.nav-item{align-items:center;gap:var(--space-3);padding:10px var(--space-3);border-radius:var(--radius-md);color:var(--color-sidebar-text);font-size:var(--text-md);transition:background var(--transition), color var(--transition);font-weight:500;display:flex}.nav-item:hover{background:var(--color-sidebar-hover-bg);color:var(--color-sidebar-text-active);text-decoration:none}.nav-item.active{background:var(--color-sidebar-active-bg);color:var(--color-sidebar-text-active)}.nav-item .nav-icon{flex-shrink:0;width:18px;height:18px}.nav-item .nav-count{background:var(--color-primary);color:var(--color-text-invert);font-size:var(--text-xs);border-radius:var(--radius-full);margin-left:auto;padding:1px 7px}.nav-item.active .nav-count{background:var(--color-sidebar-count-active)}.sidebar-footer{border-top:1px solid var(--color-sidebar-border);padding-top:var(--space-4);margin-top:auto}.sidebar-promo{margin:var(--space-5) var(--space-1);padding:var(--space-4);border-radius:var(--radius-lg);background:var(--gradient-sidebar-promo);border:1px solid var(--color-sidebar-promo-border);text-align:center;font-size:var(--text-sm);color:var(--color-sidebar-text-active)}.sidebar-promo .btn{margin-top:var(--space-3);width:100%}.sidebar-user{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);color:var(--color-sidebar-text-active);display:flex}.sidebar-user .user-role{font-size:var(--text-xs);color:var(--color-sidebar-text)}.topbar{height:var(--topbar-height);background:var(--color-surface);border-bottom:1px solid var(--color-border);align-items:center;gap:var(--space-4);padding:0 var(--space-6);z-index:10;display:flex;position:sticky;top:0}.topbar .search-box{align-items:center;gap:var(--space-2);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);max-width:380px;padding:8px var(--space-3);color:var(--color-text-muted);font-size:var(--text-base);flex:1;display:flex}.topbar .search-box input{font-size:var(--text-base);color:var(--color-text);background:0 0;border:none;outline:none;flex:1}.topbar .search-box kbd{font-size:var(--text-xs);background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-muted);border-radius:4px;padding:1px 5px}.topbar-spacer{flex:1}.icon-btn{border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface);width:38px;height:38px;color:var(--color-text-secondary);transition:background var(--transition);justify-content:center;align-items:center;display:inline-flex;position:relative}.icon-btn:hover{background:var(--color-surface-hover)}.icon-btn .badge-dot{background:var(--color-danger);color:var(--color-text-invert);border-radius:var(--radius-full);border:2px solid var(--color-surface);justify-content:center;align-items:center;min-width:16px;height:16px;padding:0 4px;font-size:10px;display:flex;position:absolute;top:-5px;right:-5px}.page-header{margin-bottom:var(--space-6)}.page-title{font-size:var(--text-2xl);letter-spacing:-.01em;font-weight:700}.page-subtitle{color:var(--color-text-secondary);margin-top:var(--space-1);font-size:var(--text-md)}.month-page-header{justify-content:space-between;align-items:flex-end;gap:var(--space-4);display:flex}.month-page-copy{min-width:0}.month-heading-row{align-items:center;gap:var(--space-3);margin-top:var(--space-1);display:flex}.month-page-title{min-width:var(--control-date-width);font-size:var(--text-kpi);letter-spacing:-.02em;font-weight:700;line-height:var(--leading-tight);text-align:center}.month-nav-link{min-height:var(--tap-target);align-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text-secondary);font-size:var(--text-sm);white-space:nowrap;font-weight:700;display:inline-flex}.month-nav-link:hover{border-color:var(--color-primary-border);background:var(--color-primary-soft);color:var(--color-primary);text-decoration:none}.month-page-actions{justify-content:flex-end;align-items:center;gap:var(--space-2);display:flex}.month-store-form{align-items:center;gap:var(--space-2);display:flex}.month-store-form .select{min-width:var(--control-date-width)}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-5)}.card-header{margin-bottom:var(--space-4);justify-content:space-between;align-items:center;display:flex}.card-title{font-size:var(--text-md);font-weight:700}.card-link{font-size:var(--text-sm);font-weight:600}.kpi-grid{gap:var(--space-4);margin-bottom:var(--space-6);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.kpi-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-5)}.kpi-card .kpi-top{align-items:center;gap:var(--space-2);color:var(--color-text-secondary);font-size:var(--text-sm);margin-bottom:var(--space-3);font-weight:600;display:flex}.kpi-icon{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;display:inline-flex}.kpi-icon.blue{background:var(--color-primary-soft);color:var(--color-primary)}.kpi-icon.purple{background:var(--color-accent-soft);color:var(--color-accent)}.kpi-icon.green{background:var(--color-success-soft);color:var(--color-success)}.kpi-icon.orange{background:var(--color-warning-soft);color:var(--color-warning)}.kpi-icon.red{background:var(--color-danger-soft);color:var(--color-danger)}.kpi-value{font-size:var(--text-kpi);letter-spacing:-.02em;font-weight:700;line-height:var(--leading-tight)}.kpi-value.kpi-value-text{font-size:var(--text-xl)}.kpi-value .kpi-unit{font-size:var(--text-md);color:var(--color-text-secondary);margin-left:2px;font-weight:600}.kpi-delta{font-size:var(--text-sm);margin-top:var(--space-1);font-weight:600}.kpi-delta.up{color:var(--color-success)}.kpi-delta.down{color:var(--color-danger)}.kpi-delta .delta-label{color:var(--color-text-muted);margin-right:4px;font-weight:500}.btn{justify-content:center;align-items:center;gap:var(--space-2);border-radius:var(--radius-md);font-size:var(--text-md);padding:9px var(--space-4);transition:background var(--transition), box-shadow var(--transition);white-space:nowrap;border:1px solid #0000;font-weight:600;display:inline-flex}.btn:focus-visible{box-shadow:var(--focus-ring);outline:none}.btn-primary{background:var(--color-primary);color:var(--color-text-invert)}.btn-primary:hover{background:var(--color-primary-hover)}.btn-secondary{background:var(--color-surface);color:var(--color-text);border-color:var(--color-border-strong)}.btn-secondary:hover{background:var(--color-surface-hover)}.btn-ghost{color:var(--color-text-secondary);background:0 0}.btn-ghost:hover{background:var(--color-surface-hover)}.btn-ai{background:var(--gradient-ai);color:var(--color-text-invert);box-shadow:var(--shadow-ai)}.btn-ai:hover{background:var(--gradient-ai-hover)}.btn-sm{padding:5px var(--space-3);font-size:var(--text-sm);border-radius:var(--radius-sm)}.btn-lg{padding:12px var(--space-6);font-size:var(--text-lg)}.badge{font-size:var(--text-sm);border-radius:var(--radius-full);white-space:nowrap;align-items:center;gap:5px;padding:3px 10px;font-weight:600;display:inline-flex}.badge-success{background:var(--color-success-soft);color:var(--color-success)}.badge-warning{background:var(--color-warning-soft);color:var(--color-warning)}.badge-danger{background:var(--color-danger-soft);color:var(--color-danger)}.badge-info{background:var(--color-info-soft);color:var(--color-info)}.badge-primary{background:var(--color-primary-soft);color:var(--color-primary)}.badge-accent{background:var(--color-accent-soft);color:var(--color-accent)}.badge-neutral{background:var(--color-bg);color:var(--color-text-secondary)}.status-dot{border-radius:var(--radius-full);flex-shrink:0;width:8px;height:8px;display:inline-block}.status-dot.green{background:var(--color-success)}.status-dot.orange{background:var(--color-warning)}.status-dot.red{background:var(--color-danger)}.status-dot.blue{background:var(--color-primary)}.status-dot.gray{background:var(--color-text-muted)}.legend{align-items:center;gap:var(--space-4);font-size:var(--text-sm);color:var(--color-text-secondary);flex-wrap:wrap;display:flex}.legend-item{align-items:center;gap:6px;display:inline-flex}.table-wrap{position:relative;overflow-x:auto}.table{border-collapse:collapse;width:100%;font-size:var(--text-base)}.table th{text-align:left;font-size:var(--text-sm);color:var(--color-text-muted);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);white-space:nowrap;font-weight:600}.table td{padding:var(--space-4);border-bottom:1px solid var(--color-border);vertical-align:middle}.table tbody tr:last-child td{border-bottom:none}.table tbody tr:hover{background:var(--color-surface-hover)}.table .cell-main{font-weight:600}.table .cell-sub{font-size:var(--text-sm);color:var(--color-text-muted);margin-top:2px}.avatar{border-radius:var(--radius-full);object-fit:cover;background:var(--color-border);flex-shrink:0;width:36px;height:36px}.avatar-sm{width:28px;height:28px}.avatar-lg{width:44px;height:44px}.avatar-initial{color:var(--color-text-invert);font-weight:700;font-size:var(--text-sm);justify-content:center;align-items:center;display:inline-flex}.avatar-initial.c1{background:var(--chart-1)}.avatar-initial.c2{background:var(--chart-2)}.avatar-initial.c3{background:var(--chart-3)}.avatar-initial.c4{background:var(--chart-4)}.avatar-initial.c5{background:var(--chart-5)}.person{align-items:center;gap:var(--space-3);display:flex}.person .person-name{font-weight:600;font-size:var(--text-base)}.person .person-role{font-size:var(--text-sm);color:var(--color-text-muted)}.progress{background:var(--color-border);border-radius:var(--radius-full);height:8px;overflow:hidden}.progress-bar{height:100%;width:var(--progress-width);border-radius:var(--radius-full);background:var(--color-primary)}.progress-bar[data-progress="10"]{--progress-width:10%}.progress-bar[data-progress="0"]{--progress-width:0%}.progress-bar[data-progress="20"]{--progress-width:20%}.progress-bar[data-progress="30"]{--progress-width:30%}.progress-bar[data-progress="40"]{--progress-width:40%}.progress-bar[data-progress="50"]{--progress-width:50%}.progress-bar[data-progress="60"]{--progress-width:60%}.progress-bar[data-progress="70"]{--progress-width:70%}.progress-bar[data-progress="80"]{--progress-width:80%}.progress-bar[data-progress="90"]{--progress-width:90%}.progress-bar[data-progress="100"]{--progress-width:100%}.progress-bar.green{background:var(--color-success)}.progress-bar.orange{background:var(--color-warning)}.progress-bar.red{background:var(--color-danger)}.ring-track{stroke:var(--color-border)}.ring-value{stroke:var(--color-success);stroke-linecap:round}.ring-value.blue{stroke:var(--color-primary)}.ring-value.purple{stroke:var(--color-accent)}.ring-value.orange{stroke:var(--color-warning)}.ring-value.red{stroke:var(--color-danger)}.ring-label{fill:var(--color-text);font-weight:700}.alert-item{gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface);align-items:flex-start;display:flex}.alert-item+.alert-item{margin-top:var(--space-3)}.alert-item .alert-title{font-weight:600;font-size:var(--text-base)}.alert-item .alert-desc{font-size:var(--text-sm);color:var(--color-text-secondary);margin-top:2px}.alert-item .alert-action{flex-shrink:0;margin-left:auto}.alert-icon{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:inline-flex}.alert-icon.danger{background:var(--color-danger-soft);color:var(--color-danger)}.alert-icon.warning{background:var(--color-warning-soft);color:var(--color-warning)}.alert-icon.info{background:var(--color-primary-soft);color:var(--color-primary)}.ai-card{background:var(--color-surface);border:1px solid var(--color-primary-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-4)}.ai-card+.ai-card{margin-top:var(--space-3)}.ai-card .ai-card-title{align-items:center;gap:var(--space-2);font-weight:700;font-size:var(--text-base);color:var(--color-text);display:flex}.ai-card .ai-card-title .ai-spark{color:var(--color-accent)}.ai-card .ai-card-body{font-size:var(--text-sm);color:var(--color-text-secondary);margin:var(--space-2) 0 var(--space-3)}.ai-card .ai-card-footer{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.field{flex-direction:column;gap:6px;display:flex}.field-label{font-size:var(--text-sm);color:var(--color-text-secondary);font-weight:600}.input,.select,.textarea{border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);padding:9px var(--space-3);font-size:var(--text-base);background:var(--color-surface);color:var(--color-text);transition:border-color var(--transition), box-shadow var(--transition);width:100%}.input:focus,.select:focus,.textarea:focus{border-color:var(--color-primary);box-shadow:var(--focus-ring);outline:none}.input::placeholder,.textarea::placeholder{color:var(--color-text-muted)}.textarea{resize:vertical;min-height:80px}.segmented{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);gap:2px;padding:3px;display:inline-flex}.segmented button{border-radius:var(--radius-sm);padding:6px var(--space-4);font-size:var(--text-base);color:var(--color-text-secondary);transition:background var(--transition), color var(--transition);background:0 0;border:none;font-weight:600}.segmented button.active{background:var(--color-primary);color:var(--color-text-invert)}.tabs{gap:var(--space-5);border-bottom:1px solid var(--color-border);display:flex}.tab{padding:var(--space-3) 2px;font-size:var(--text-md);color:var(--color-text-secondary);background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;font-weight:600}.tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.modal-overlay{background:var(--color-overlay);padding:var(--space-6);z-index:100;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%;max-width:520px;padding:var(--space-6)}.modal-title{font-size:var(--text-xl);margin-bottom:var(--space-4);font-weight:700}.modal-footer{justify-content:flex-end;gap:var(--space-3);margin-top:var(--space-6);display:flex}.pagination{align-items:center;gap:var(--space-1);display:flex}.pagination .page-btn{min-width:32px;height:32px;padding:0 var(--space-2);border-radius:var(--radius-sm);font-size:var(--text-base);color:var(--color-text-secondary);transition:background var(--transition);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;font-weight:600;display:inline-flex}.pagination .page-btn:hover{background:var(--color-surface-hover)}.pagination .page-btn.active{background:var(--color-primary);color:var(--color-text-invert)}.pagination .page-btn:disabled{color:var(--color-text-muted);cursor:default}.auth-shell{min-height:100vh;padding:var(--space-6);background:var(--color-bg);justify-content:center;align-items:center;display:flex}.auth-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);width:100%;max-width:400px;box-shadow:var(--shadow-md);padding:var(--space-8)}.auth-brand{align-items:center;gap:var(--space-3);margin-bottom:var(--space-6);text-align:center;flex-direction:column;display:flex}.auth-brand .brand-logo{background:var(--gradient-ai);border-radius:12px;width:44px;height:44px}.auth-title{font-size:var(--text-xl);font-weight:700}.auth-subtitle{font-size:var(--text-base);color:var(--color-text-secondary)}.auth-divider{align-items:center;gap:var(--space-3);color:var(--color-text-muted);font-size:var(--text-sm);margin:var(--space-5) 0;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--color-border);flex:1;height:1px}.auth-footer{text-align:center;margin-top:var(--space-5);font-size:var(--text-sm);color:var(--color-text-secondary)}.empty-state{text-align:center;padding:var(--space-10) var(--space-6);color:var(--color-text-muted)}.empty-state .empty-title{color:var(--color-text-secondary);margin-bottom:var(--space-2);font-weight:700}.text-muted{color:var(--color-text-muted)}.text-secondary{color:var(--color-text-secondary)}.text-success{color:var(--color-success)}.text-danger{color:var(--color-danger)}.fw-bold{font-weight:700}.mt-2{margin-top:var(--space-2)}.mt-4{margin-top:var(--space-4)}.mb-4{margin-bottom:var(--space-4)}.flex{align-items:center;display:flex}.flex-between{justify-content:space-between;align-items:center;display:flex}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.grid-2{gap:var(--space-4);grid-template-columns:1fr 1fr;display:grid}.grid-3{gap:var(--space-4);grid-template-columns:repeat(3,1fr);display:grid}@media (max-width:900px){.grid-2,.grid-3{grid-template-columns:1fr}}.auth-logo,.brand-image{border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.auth-product,.eyebrow{color:var(--color-primary);font-size:var(--text-xs);letter-spacing:.12em;font-weight:700}.form-stack{gap:var(--space-4);flex-direction:column;display:flex}.btn-block{width:100%}.btn:disabled{cursor:wait;opacity:.65}.otp-input{font-size:var(--text-xl);letter-spacing:.32em;text-align:center;font-weight:700}.field-error{min-height:var(--space-4);color:var(--color-danger);font-size:var(--text-xs)}.form-message{border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-3);font-size:var(--text-sm)}.form-message.is-error{border-color:var(--color-danger);background:var(--color-danger-soft);color:var(--color-danger)}.form-message.is-success{border-color:var(--color-success);background:var(--color-success-soft);color:var(--color-success)}.sidebar-brand:hover{text-decoration:none}.sidebar-brand .brand-image{flex-shrink:0}.sidebar-user-copy{min-width:0}.sidebar-user-name{font-size:var(--text-base);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.sidebar-logout{width:100%;margin-top:var(--space-2);color:var(--color-sidebar-text);font-size:var(--text-sm);text-align:left;padding:var(--space-2) var(--space-3);background:0 0;border:0}.sidebar-logout:hover{color:var(--color-sidebar-text-active)}.topbar-context{align-items:center;gap:var(--space-2);color:var(--color-text-secondary);font-size:var(--text-sm);display:flex}.page-header-wrap{gap:var(--space-4)}.card-caption{margin-top:var(--space-1);color:var(--color-text-muted);font-size:var(--text-sm)}.next-action-card{align-items:center;gap:var(--space-5);border-color:var(--color-primary-border);display:flex}.next-action-icon{border-radius:var(--radius-md);background:var(--color-primary-soft);width:48px;height:48px;color:var(--color-primary);flex-shrink:0;justify-content:center;align-items:center;display:flex}.next-action-icon svg{width:var(--space-6)}.next-action-copy{flex:1;min-width:0}.next-action-copy h2{margin:var(--space-1) 0;font-size:var(--text-lg)}.next-action-copy p{color:var(--color-text-secondary)}.table-card{padding:0 0 var(--space-2);overflow:hidden}.card-header-padded{padding:var(--space-5) var(--space-5) 0}.compact-card{padding:var(--space-4)}.summary-list{flex-direction:column;list-style:none;display:flex}.summary-list li{align-items:center;gap:var(--space-3);border-bottom:1px solid var(--color-border);min-height:44px;color:var(--color-text-secondary);display:flex}.summary-list li:last-child{border-bottom:0}.summary-list li{justify-content:space-between}.filter-card{padding:var(--space-4)}.filter-form{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.search-input{align-items:center;gap:var(--space-2);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);min-width:240px;padding:0 var(--space-3);background:var(--color-surface);color:var(--color-text-muted);flex:1;display:flex}.search-input:focus-within{border-color:var(--color-primary);box-shadow:var(--focus-ring)}.search-input input{width:100%;min-height:38px;color:var(--color-text);background:0 0;border:0;outline:0}.filter-select{width:auto;min-width:144px}.audit-filter{min-width:220px}.person-link{color:var(--color-text)}.person-link:hover{text-decoration:none}.person-link:hover .person-name{color:var(--color-primary)}.person span>.person-name,.person span>.person-role{display:block}.table-actions{text-align:right;white-space:nowrap}.table-actions>form{display:inline-block}.table-actions>*+*{margin-left:var(--space-2)}.table-pagination{padding:var(--space-4) var(--space-5) var(--space-2);justify-content:flex-end}.pagination-summary{color:var(--color-text-secondary);font-size:var(--text-sm)}.page-btn.is-disabled{pointer-events:none;opacity:.45}.empty-icon{width:var(--space-8);margin-bottom:var(--space-3);color:var(--color-text-muted)}.full-empty{flex-direction:column;justify-content:center;align-items:center;min-height:60vh;display:flex}.input-with-unit{position:relative}.input-with-unit .input{padding-right:var(--space-10)}.input-with-unit>span{top:50%;right:var(--space-3);color:var(--color-text-muted);font-size:var(--text-sm);position:absolute;transform:translateY(-50%)}.form-actions{justify-content:flex-end;display:flex}.breadcrumb{align-items:center;gap:var(--space-2);margin-bottom:var(--space-4);color:var(--color-text-muted);font-size:var(--text-sm);display:flex}.detail-person{gap:var(--space-4)}.detail-kpi-grid{gap:var(--space-4);margin-bottom:var(--space-6);grid-template-columns:repeat(3,1fr);display:grid}.detail-grid{grid-template-columns:minmax(0, 1fr) var(--rail-width);gap:var(--space-6);align-items:start;display:grid}.detail-side{top:calc(var(--topbar-height) + var(--space-6));position:sticky}.skill-form-list{border-top:1px solid var(--color-border)}.skill-form-row{gap:var(--space-4);border-bottom:1px solid var(--color-border);grid-template-columns:minmax(0,1fr) 120px;align-items:center;min-height:64px;display:grid}.skill-form-row label .cell-main,.skill-form-row label .cell-sub{display:block}.score-select{min-height:40px}.score-legend{gap:var(--space-2);flex-wrap:wrap;display:flex}.score-rule-grid{gap:var(--space-4);grid-template-columns:repeat(4,1fr);display:grid}.score-rule-grid>div{align-items:flex-start;gap:var(--space-2);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);flex-direction:column;display:flex}.score-rule-grid p{color:var(--color-text-secondary);font-size:var(--text-sm)}.store-card-list{gap:var(--space-4);flex-direction:column;display:flex}.card.is-inactive{opacity:.72}.store-edit-form{gap:var(--space-4);grid-template-columns:minmax(0,1fr) minmax(180px,240px) auto;align-items:start;display:grid}.store-edit-form .form-message{grid-column:1/-1}.store-edit-form>.btn{margin-top:var(--space-5);align-self:center}.audit-target{text-overflow:ellipsis;max-width:280px;overflow:hidden}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (max-width:1024px){.sidebar{width:200px}.detail-grid{grid-template-columns:1fr}.detail-side{position:static}.score-rule-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:767px){.app-shell{display:block}.sidebar{width:100%;height:auto;position:static}.sidebar-navigation{display:none}.sidebar.is-open .sidebar-navigation{display:flex}.sidebar nav{overflow:visible}.nav-list{flex-direction:column}.nav-item{min-width:max-content;min-height:44px}.btn,.input,.select,.textarea{min-height:44px}.sidebar-footer{justify-content:space-between;align-items:center;gap:var(--space-3);margin-top:var(--space-3);padding-top:var(--space-3);display:flex}.sidebar-footer .sidebar-user{padding:0}.sidebar-footer .user-role{display:none}.sidebar-logout{border:1px solid var(--color-sidebar-border);border-radius:var(--radius-sm);text-align:center;min-height:44px;margin:0}.topbar{display:none}.sidebar-heading{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.sidebar-heading .sidebar-brand{padding:0}.sidebar-heading .sidebar-menu-toggle{display:inline-flex}.app-content{padding:var(--space-4)}.page-header-wrap,.next-action-card,.filter-form{flex-direction:column;align-items:stretch}.next-action-card .btn{width:100%}.filter-select,.search-input{width:100%;min-width:0}.detail-kpi-grid,.score-rule-grid,.store-edit-form{grid-template-columns:1fr}.store-edit-form>.btn{margin-top:0}}.period-create-stack{gap:var(--space-5);flex-direction:column;display:flex}.selection-summary{justify-content:flex-end;align-items:flex-end;gap:var(--space-2);flex-wrap:wrap;display:flex}.staff-selector{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3);gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr));max-height:320px;display:grid;overflow-y:auto}.staff-selector legend{padding:0 var(--space-2);color:var(--color-text-secondary);font-size:var(--text-sm);font-weight:600}.staff-check{align-items:center;gap:var(--space-3);min-height:var(--tap-target);padding:var(--space-2);border-radius:var(--radius-sm);cursor:pointer;display:flex}.staff-check:hover{background:var(--color-surface-hover)}.staff-check input{width:var(--space-4);height:var(--space-4);accent-color:var(--color-primary)}.staff-check span{flex-direction:column;min-width:0;display:flex}.staff-check strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.staff-check small{color:var(--color-text-muted)}.issued-links{border:1px solid var(--color-success);border-radius:var(--radius-md);background:var(--color-success-soft);padding:var(--space-4)}.issued-links-heading{justify-content:space-between;align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-3);display:flex}.issued-links-heading h3{font-size:var(--text-md)}.issued-links-heading p{color:var(--color-text-secondary);font-size:var(--text-sm)}.issued-link-list{gap:var(--space-2);flex-direction:column;display:flex}.issued-link-row{align-items:center;gap:var(--space-2);padding:var(--space-2);border-radius:var(--radius-sm);background:var(--color-surface);grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;display:grid}.issued-link-row>span{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.issued-link-row code{color:var(--color-text-muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.submission-rate{justify-content:space-between;align-items:center;gap:var(--space-4);margin-bottom:var(--space-2);display:flex}.submission-rate span{color:var(--color-text-muted);font-size:var(--text-sm)}.submission-table{min-width:1120px}.invitation-action-stack{align-items:flex-end;gap:var(--space-1);flex-direction:column;min-width:200px;display:flex}.inline-issued-link{align-items:center;gap:var(--space-2);color:var(--color-success);font-size:var(--text-xs);display:flex}.inline-error,.inline-success{max-width:240px;font-size:var(--text-xs);text-align:right}.inline-error{color:var(--color-danger)}.inline-success{color:var(--color-success)}.submission-shell{min-height:100vh;padding:var(--space-6) var(--space-4);background:var(--color-bg)}.submission-shell.has-form{max-width:var(--submission-max-width);padding-bottom:var(--space-10);margin:0 auto}.submission-state{width:100%;max-width:440px;min-height:360px;margin:var(--space-10) auto;padding:var(--space-8);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);background:var(--color-surface);justify-content:center;align-items:center;gap:var(--space-3);text-align:center;flex-direction:column;display:flex}.submission-state h1{font-size:var(--text-xl)}.submission-state p{color:var(--color-text-secondary)}.submission-state-icon{width:var(--tap-target);height:var(--tap-target);border-radius:var(--radius-full);background:var(--color-warning-soft);justify-content:center;align-items:center;display:flex}.loading-spinner{width:var(--space-8);height:var(--space-8);border:var(--space-1) solid var(--color-primary-soft);border-top-color:var(--color-primary);border-radius:var(--radius-full);animation:.8s linear infinite submission-spin}@keyframes submission-spin{to{transform:rotate(360deg)}}.submission-header{margin-bottom:var(--space-5)}.submission-product{color:var(--color-primary);font-size:var(--text-xs);letter-spacing:.12em;font-weight:700}.submission-header h1{margin-top:var(--space-1);font-size:var(--text-2xl)}.submission-header p{margin-top:var(--space-1);color:var(--color-text-secondary)}.availability-form{gap:var(--space-4);flex-direction:column;display:flex}.submission-complete{min-height:440px;padding:var(--space-8);border:1px solid var(--color-success);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-sm);justify-content:center;align-items:center;gap:var(--space-3);text-align:center;flex-direction:column;display:flex}.complete-check{border-radius:var(--radius-full);background:var(--color-success-soft);width:56px;height:56px;color:var(--color-success);font-size:var(--text-2xl);justify-content:center;align-items:center;font-weight:700;display:flex}.submission-complete h2{font-size:var(--text-xl)}.submission-complete>p{max-width:440px;color:var(--color-text-secondary)}.submission-complete dl{gap:var(--space-4);width:100%;max-width:440px;margin:var(--space-2) 0;grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.submission-complete dl div{padding:var(--space-3);border-radius:var(--radius-sm);background:var(--color-bg)}.submission-complete dt{color:var(--color-text-muted);font-size:var(--text-xs)}.submission-complete dd{margin-top:var(--space-1);font-weight:700}.submission-summary-card{padding:var(--space-4);border:1px solid var(--color-primary-border);border-radius:var(--radius-lg);background:var(--color-primary-soft)}.submission-summary-card>div{gap:var(--space-2);display:flex}.submission-summary-card dl{gap:var(--space-3);margin-top:var(--space-3);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.submission-summary-card dl div{min-width:0}.submission-summary-card dt{color:var(--color-text-secondary);font-size:var(--text-xs)}.submission-summary-card dd{margin-top:var(--space-1);text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.availability-bulk{box-shadow:none}.bulk-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.bulk-time-row{align-items:center;gap:var(--space-2);margin-top:var(--space-3);grid-template-columns:auto minmax(96px,1fr) auto minmax(96px,1fr) auto;display:grid}.bulk-time-row label{color:var(--color-text-secondary);font-size:var(--text-sm);font-weight:600}.availability-days{gap:var(--space-2);flex-direction:column;display:flex}.availability-day{gap:var(--space-3);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);grid-template-columns:52px minmax(0,1fr);display:grid}.availability-day.is-weekend{border-color:var(--color-primary-border)}.day-label{border-right:1px solid var(--color-border);flex-direction:column;justify-content:center;align-items:center;display:flex}.day-label strong{font-size:var(--text-xl);line-height:var(--leading-tight)}.day-label span{color:var(--color-text-secondary);font-size:var(--text-sm)}.day-controls{min-width:0}.day-mode{gap:var(--space-1);padding:var(--space-1);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.day-mode button{min-height:var(--tap-target);padding:var(--space-2);border-radius:var(--radius-sm);color:var(--color-text-secondary);font-size:var(--text-sm);background:0 0;border:0;font-weight:600}.day-mode button.is-active{background:var(--color-primary);color:var(--color-text-invert)}.day-mode button.is-active.is-off{background:var(--color-danger-soft);color:var(--color-danger)}.day-mode-note{min-height:var(--space-8);padding-top:var(--space-2);color:var(--color-text-muted);font-size:var(--text-sm)}.day-time-range{align-items:center;gap:var(--space-2);margin-top:var(--space-2);grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);display:grid}.day-time-range select{width:100%;min-height:var(--tap-target);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);padding:var(--space-2)}.day-time-range select:focus{border-color:var(--color-primary);box-shadow:var(--focus-ring);outline:none}.day-time-range select.is-invalid{border-color:var(--color-danger);background:var(--color-danger-soft)}.target-hours-card{box-shadow:none}.field-help{color:var(--color-text-secondary);font-size:var(--text-sm)}.privacy-note{margin-top:var(--space-4);padding:var(--space-3);border-radius:var(--radius-sm);background:var(--color-bg);color:var(--color-text-secondary);font-size:var(--text-sm)}.submission-savebar{bottom:var(--space-3);z-index:8;justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-3);border:1px solid var(--color-primary-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);background:var(--color-surface);display:flex;position:sticky}.submission-savebar.has-error{border-color:var(--color-danger)}.save-feedback{color:var(--color-text-secondary);font-size:var(--text-sm)}.has-error .save-feedback{color:var(--color-danger)}.save-actions{gap:var(--space-2);display:flex}.proxy-submission-page .availability-form{max-width:var(--submission-max-width)}.store-card-actions{padding-top:var(--space-4);border-top:1px solid var(--color-border);justify-content:flex-end;display:flex}.coverage-form{gap:var(--space-4);flex-direction:column;display:flex}.configuration-section{overflow:hidden}.operating-hours-grid{gap:var(--space-2);padding:0 var(--space-5) var(--space-5);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.operating-hour-row{grid-template-columns:var(--space-10) var(--control-compact-width) minmax(0, 1fr);align-items:center;gap:var(--space-3);min-height:var(--tap-target);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);display:grid}.operating-hour-row.is-inactive,.config-edit-row.is-inactive,.fixed-shift-editor.is-inactive{background:var(--color-bg);color:var(--color-text-secondary)}.compact-checkbox{margin:0}.time-range{align-items:center;gap:var(--space-2);display:flex}.compact-select{min-width:var(--control-compact-width)}.config-row-list{border-top:1px solid var(--color-border);overflow-x:auto}.config-edit-row{grid-template-columns:var(--control-compact-width) auto auto minmax(var(--control-date-width), 1fr) auto auto;align-items:center;gap:var(--space-2);min-width:var(--coverage-row-min-width);padding:var(--space-3) var(--space-5);border-bottom:1px solid var(--color-border);display:grid}.config-edit-row:last-child{border-bottom:0}.override-row{grid-template-columns:var(--control-date-width) auto auto minmax(var(--control-date-width), 1fr) auto auto}.weekday-select{min-width:var(--control-compact-width)}.number-with-unit{align-items:center;gap:var(--space-2);white-space:nowrap;display:flex}.compact-number{width:var(--control-compact-width)}.compact-date{width:var(--control-date-width)}.compact-empty{padding:var(--space-6)}.fixed-shift-list{gap:var(--space-3);padding:0 var(--space-5) var(--space-5);flex-direction:column;display:flex}.fixed-shift-editor{padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md)}.fixed-shift-main{grid-template-columns:minmax(var(--control-compact-width), 1fr) auto auto auto minmax(var(--control-date-width), 1.5fr);align-items:end;gap:var(--space-3);display:grid}.fixed-skill-field .select{width:100%}.weekday-checks{align-items:center;gap:var(--space-2);margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--color-border);flex-wrap:wrap;display:flex}.weekday-chip{position:relative}.weekday-chip input{opacity:0;pointer-events:none;position:absolute}.weekday-chip span{min-width:var(--space-8);min-height:var(--space-8);border:1px solid var(--color-border-strong);border-radius:var(--radius-full);color:var(--color-text-secondary);cursor:pointer;justify-content:center;align-items:center;display:flex}.weekday-chip.is-selected span{border-color:var(--color-primary);background:var(--color-primary-soft);color:var(--color-primary);font-weight:700}.weekday-chip input:focus-visible+span{box-shadow:var(--focus-ring)}.sticky-save-bar{bottom:var(--space-3);z-index:8;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-4);border:1px solid var(--color-primary-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-md);grid-template-columns:minmax(0,1fr) minmax(0,2fr) auto;display:grid;position:sticky}.sticky-save-bar>div:first-child{flex-direction:column;display:flex}.sticky-save-bar>div:first-child span{color:var(--color-text-secondary);font-size:var(--text-sm)}.sticky-save-bar .form-message{margin:0}.muted-text{color:var(--color-text-muted);font-size:var(--text-sm)}.schedule-period-list{gap:var(--space-3);flex-direction:column;display:flex}.schedule-period-card{align-items:center;gap:var(--space-5);min-width:0;padding:var(--space-4) var(--space-5);grid-template-columns:auto minmax(0,1fr) auto auto;display:grid}.schedule-period-date{min-width:72px;padding-right:var(--space-5);border-right:1px solid var(--color-border);flex-direction:column;align-items:center;display:flex}.schedule-period-date span{color:var(--color-text-muted);font-size:var(--text-xs)}.schedule-period-date strong{font-size:var(--text-xl)}.schedule-period-copy{min-width:0}.schedule-period-copy h2{margin:0 0 var(--space-2);font-size:var(--text-lg);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.schedule-readiness{gap:var(--space-4);flex-wrap:wrap;display:flex}.schedule-readiness span{align-items:center;gap:var(--space-1);color:var(--color-text-secondary);font-size:var(--text-sm);display:inline-flex}.schedule-readiness span.is-ready{color:var(--color-success)}.schedule-period-status{min-width:var(--control-date-width);align-items:flex-end;gap:var(--space-1);flex-direction:column;display:flex}.schedule-period-status small{color:var(--color-text-muted);font-size:var(--text-xs)}.readiness-grid{gap:var(--space-3);margin-bottom:var(--space-4);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.readiness-card{align-items:center;gap:var(--space-3);padding:var(--space-4);border:1px solid var(--color-warning);border-radius:var(--radius-lg);background:var(--color-warning-soft);color:var(--color-warning);grid-template-columns:auto minmax(0,1fr) auto;display:grid}.readiness-card.is-ready{border-color:var(--color-border);background:var(--color-surface);color:var(--color-success)}.readiness-card>div{flex-direction:column;min-width:0;display:flex}.readiness-card strong{color:var(--color-text)}.readiness-card span,.readiness-card a{color:var(--color-text-secondary);font-size:var(--text-sm)}.readiness-card a{font-weight:700}.run-launcher{align-items:center;gap:var(--space-4);padding:var(--space-5);grid-template-columns:minmax(0,1fr) auto;display:grid}.run-launcher.is-running{border-color:var(--color-primary-border)}.run-launcher-main{align-items:center;gap:var(--space-3);display:flex}.run-launcher-main p{margin-top:var(--space-1)}.run-controls{align-items:end;gap:var(--space-3);display:flex}.run-progress{gap:var(--space-2);flex-direction:column;min-width:280px;display:flex}.run-progress span{color:var(--color-text-secondary);font-size:var(--text-sm)}.run-progress .btn{align-self:flex-end}.run-launcher>.form-message,.run-launcher>.btn{grid-column:1/-1}.result-kpis{margin-bottom:var(--space-4)}.result-layout{align-items:flex-start}.result-layout>.table-card{flex:1;min-width:0}.result-table-wrap table{min-width:var(--result-table-min-width)}.result-summary-rail{top:calc(var(--topbar-height) + var(--space-4));position:sticky}.staff-summary-list{flex-direction:column;max-height:620px;display:flex;overflow-y:auto}.staff-summary-list>div{gap:var(--space-1) var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--color-border);grid-template-columns:minmax(0,1fr) auto;display:grid}.staff-summary-list>div:last-child{border-bottom:0}.staff-summary-list span{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.staff-summary-list small{color:var(--color-text-secondary);grid-column:1/-1}.issue-panel{overflow:hidden}.issue-list{gap:var(--space-2);padding:0 var(--space-5) var(--space-5);flex-direction:column;display:flex}.result-meta{gap:var(--space-4);margin-top:var(--space-4);color:var(--color-text-muted);font-size:var(--text-xs);flex-wrap:wrap;display:flex}.availability-period-form{min-width:var(--schedule-editor-rail-width);gap:var(--space-1);flex-direction:column;display:flex}.availability-period-controls{gap:var(--space-2);display:flex}.availability-period-controls .select{flex:1}.availability-readiness{margin-bottom:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr))}.availability-board-card{padding:0;overflow:hidden}.availability-board-header{justify-content:space-between;align-items:flex-start;gap:var(--space-4);padding:var(--space-4);border-bottom:1px solid var(--color-border);display:flex}.availability-legend{justify-content:flex-end;gap:var(--space-2);flex-wrap:wrap;display:flex}.availability-legend span{padding:var(--space-1) var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:700}.availability-legend .is-available{border-color:var(--color-success);background:var(--color-success-soft);color:var(--color-success)}.availability-legend .is-custom{border-color:var(--color-primary-border);background:var(--color-primary-soft);color:var(--color-primary)}.availability-legend .is-off{border-color:var(--color-warning);background:var(--color-warning-soft);color:var(--color-warning)}.availability-legend .is-unsubmitted{background:var(--color-surface-hover);color:var(--color-text-secondary)}.availability-board-toolbar{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);display:flex}.availability-matrix-wrap{max-height:calc(100vh - var(--topbar-height) - var(--topbar-height));overflow:auto}.availability-matrix{border-collapse:separate;border-spacing:0;width:max-content;min-width:100%;font-size:var(--text-sm)}.availability-matrix th,.availability-matrix td{min-width:var(--availability-cell-width);border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border);background:var(--color-surface);text-align:center}.availability-matrix thead th{z-index:4;padding:var(--space-2);color:var(--color-text-secondary);position:sticky;top:0}.availability-matrix thead th span,.availability-matrix thead th small{display:block}.availability-matrix thead th small{color:var(--color-text-muted);font-weight:500}.availability-matrix thead th.is-weekend span,.availability-matrix thead th.is-weekend small{color:var(--color-warning)}.availability-matrix .availability-staff-column{z-index:5;width:var(--schedule-staff-column-width);min-width:var(--schedule-staff-column-width);max-width:var(--schedule-staff-column-width);padding:var(--space-2) var(--space-3);text-align:left;position:sticky;left:0}.availability-matrix thead .availability-staff-column{z-index:7}.availability-staff-column strong,.availability-staff-column>span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.availability-staff-column strong{color:var(--color-text);font-size:var(--text-base)}.availability-staff-column>span{color:var(--color-text-muted);font-size:var(--text-xs);font-weight:400}.availability-staff-column .availability-submit-status{width:max-content;margin-top:var(--space-1);color:var(--color-warning);font-weight:700;display:inline-flex}.availability-staff-column .availability-submit-status.is-submitted{color:var(--color-success)}.availability-matrix .availability-target-column{left:var(--schedule-staff-column-width);z-index:3;width:var(--availability-target-column-width);min-width:var(--availability-target-column-width);background:var(--color-surface);color:var(--color-text-secondary);white-space:nowrap;position:sticky}.availability-matrix thead .availability-target-column{z-index:6}.availability-matrix td{padding:var(--space-1)}.availability-cell{min-height:var(--tap-target);padding:var(--space-1) var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-secondary);font-size:var(--text-xs);white-space:nowrap;justify-content:center;align-items:center;font-weight:700;display:flex}.availability-cell.is-available{border-color:var(--color-success);background:var(--color-success-soft);color:var(--color-success)}.availability-cell.is-custom{border-color:var(--color-primary-border);background:var(--color-primary-soft);color:var(--color-primary)}.availability-cell.is-preferred_off{border-color:var(--color-warning);background:var(--color-warning-soft);color:var(--color-warning)}.availability-cell.is-unsubmitted,.availability-cell.is-missing{background:var(--color-surface-hover);color:var(--color-text-muted)}.btn.is-disabled{pointer-events:none;opacity:.45}.schedule-header-status,.schedule-state-actions,.schedule-toolbar,.schedule-date-nav,.schedule-pagination,.modal-heading{align-items:center;gap:var(--space-2);display:flex}.schedule-header-status{flex-wrap:wrap;justify-content:flex-end}.schedule-kpis{margin-bottom:var(--space-4)}.schedule-statebar{top:calc(var(--topbar-height) + var(--space-2));z-index:9;justify-content:space-between;align-items:center;gap:var(--space-4);margin-bottom:var(--space-4);padding:var(--space-3) var(--space-4);border:1px solid var(--color-primary-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-md);display:flex;position:sticky}.schedule-statebar.has-error{border-color:var(--color-danger)}.save-state-copy{flex-direction:column;min-width:0;display:flex}.save-state-copy span{color:var(--color-text-secondary);font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.has-error .save-state-copy strong,.has-error .save-state-copy span{color:var(--color-danger)}.schedule-state-actions{flex-wrap:wrap;justify-content:flex-end}.schedule-workspace{grid-template-columns:minmax(0, 1fr) var(--schedule-editor-rail-width);align-items:start;gap:var(--space-4);display:grid}.schedule-board{min-height:var(--schedule-board-min-height);padding:0;overflow:hidden}.schedule-toolbar{z-index:7;min-height:var(--topbar-height);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);background:var(--color-surface);flex-wrap:wrap;position:sticky;left:0}.schedule-search{align-items:center;gap:var(--space-2);min-width:var(--control-date-width);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);color:var(--color-text-muted);flex:1;display:flex}.schedule-search:focus-within{border-color:var(--color-primary);box-shadow:var(--focus-ring)}.schedule-search input{width:100%;color:var(--color-text);background:0 0;border:0;outline:0}.schedule-date-nav{min-width:var(--schedule-editor-rail-width);justify-content:center}.schedule-date-nav strong,.schedule-month-label{color:var(--color-text-secondary);font-size:var(--text-sm);white-space:nowrap}.page-size-field{align-items:center;gap:var(--space-2);color:var(--color-text-secondary);font-size:var(--text-sm);display:flex}.page-size-field .select{width:var(--control-compact-width)}.schedule-matrix-wrap{max-height:calc(100vh - var(--topbar-height) - var(--topbar-height) - var(--space-10))}.schedule-matrix{border-collapse:separate;border-spacing:0;width:max-content;min-width:100%;font-size:var(--text-sm)}.schedule-matrix th,.schedule-matrix td{min-width:var(--schedule-cell-width);border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border);background:var(--color-surface)}.schedule-matrix thead th{z-index:4;padding:var(--space-3);color:var(--color-text-secondary);font-size:var(--text-xs);text-align:center;position:sticky;top:0}.schedule-matrix .schedule-staff-column{z-index:5;width:var(--schedule-staff-column-width);min-width:var(--schedule-staff-column-width);max-width:var(--schedule-staff-column-width);padding:var(--space-3);text-align:left;border-left:0;position:sticky;left:0}.schedule-matrix thead .schedule-staff-column{z-index:6}.schedule-staff-column strong,.schedule-staff-column span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.schedule-staff-column strong{color:var(--color-text);font-size:var(--text-base)}.schedule-staff-column span{margin-top:var(--space-1);color:var(--color-text-muted);font-size:var(--text-xs);font-weight:400}.schedule-matrix td{padding:var(--space-1)}.shift-cell{width:100%;min-height:var(--tap-target);padding:var(--space-2);border-radius:var(--radius-sm);color:var(--color-text-muted);text-align:left;background:0 0;border:1px solid #0000;flex-direction:column;justify-content:center;align-items:flex-start;display:flex;position:relative}.shift-cell:hover:not(:disabled),.shift-cell.has-shift{border-color:var(--color-primary-border);background:var(--color-primary-soft);color:var(--color-primary)}.shift-cell.is-locked{border-color:var(--color-warning);background:var(--color-warning-soft);color:var(--color-warning)}.shift-cell strong,.shift-cell span{white-space:nowrap}.shift-cell span{font-size:var(--text-xs)}.shift-cell svg{top:var(--space-1);right:var(--space-1);position:absolute}.day-schedule-wrap{min-width:var(--schedule-timeline-min-width);overflow-x:auto}.day-time-header,.day-staff-row{grid-template-columns:var(--schedule-staff-column-width) minmax(var(--schedule-timeline-min-width), 1fr);display:grid}.day-time-header{z-index:5;border-bottom:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-muted);font-size:var(--text-xs);position:sticky;top:0}.day-time-header>span{padding:var(--space-3);font-weight:600}.day-hour-labels{padding:var(--space-3) var(--space-2);border-left:1px solid var(--color-border);justify-content:space-between;display:flex}.day-staff-row{min-height:calc(var(--tap-target) + var(--space-3));border-bottom:1px solid var(--color-border)}.schedule-staff-cell{z-index:3;min-width:0;padding:var(--space-2) var(--space-3);background:var(--color-surface);flex-direction:column;justify-content:center;display:flex;position:sticky;left:0}.schedule-staff-cell strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.schedule-staff-cell span{color:var(--color-text-muted);font-size:var(--text-xs)}.day-timeline-grid{grid-template-columns:repeat(var(--timeline-columns), minmax(var(--space-2), 1fr));padding:var(--space-2);border-left:1px solid var(--color-border);align-items:center;display:grid}.timeline-shift{z-index:2;min-height:var(--tap-target);justify-content:center;align-items:center;gap:var(--space-1);padding:var(--space-2);border:1px solid var(--color-primary-border);border-radius:var(--radius-md);background:var(--color-primary-soft);color:var(--color-primary);font-size:var(--text-sm);font-weight:700;display:flex;position:relative}.timeline-shift.is-locked{border-color:var(--color-warning);background:var(--color-warning-soft);color:var(--color-warning)}.timeline-empty{min-height:var(--tap-target);border:1px dashed var(--color-border-strong);border-radius:var(--radius-md);color:var(--color-text-muted);background:0 0;grid-column:1/-1}.timeline-empty:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary)}.schedule-pagination{padding:var(--space-3) var(--space-4);border-top:1px solid var(--color-border);justify-content:space-between}.schedule-issues-rail{top:calc(var(--topbar-height) + var(--space-4));gap:var(--space-4);flex-direction:column;min-width:0;display:flex;position:sticky}.schedule-issues-card{padding-left:0;padding-right:0;overflow:hidden}.schedule-issues-card>.card-header{padding:0 var(--space-5)}.schedule-issue-list{max-height:var(--schedule-issue-max-height);border-top:1px solid var(--color-border);flex-direction:column;display:flex;overflow-y:auto}.schedule-issue{align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border:0;border-bottom:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);text-align:left;grid-template-columns:auto minmax(0,1fr) auto;display:grid}.schedule-issue:hover{background:var(--color-surface-hover)}.schedule-issue>span:nth-child(2){min-width:0}.schedule-issue strong,.schedule-issue small{display:block}.schedule-issue strong{font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.schedule-issue small{margin-top:var(--space-1);color:var(--color-text-secondary);font-size:var(--text-xs)}.modal-heading{justify-content:space-between;align-items:flex-start}.modal-heading .modal-title{margin-bottom:var(--space-1)}.modal-heading p{color:var(--color-text-secondary)}.shift-time-fields{align-items:end;gap:var(--space-3);margin:var(--space-5) 0;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);display:grid}.lock-checkbox{align-items:center;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;grid-template-columns:auto auto minmax(0,1fr);display:grid}.lock-checkbox>span:last-child{flex-direction:column;display:flex}.lock-checkbox small{color:var(--color-text-secondary)}.shift-modal-actions>span{flex:1}.skeleton-block{min-height:var(--topbar-height)}.skeleton-table{min-height:var(--schedule-board-min-height)}@media (max-width:1100px){.operating-hours-grid{grid-template-columns:1fr}.fixed-shift-main{grid-template-columns:repeat(2,minmax(0,1fr))}.fixed-skill-field{grid-column:1/-1}.schedule-period-card{grid-template-columns:auto minmax(0,1fr) auto}.schedule-period-status{display:none}.readiness-grid,.run-launcher{grid-template-columns:1fr}.run-controls,.run-progress{justify-self:stretch}.schedule-workspace{grid-template-columns:1fr}.schedule-issues-rail{position:static}.availability-readiness{grid-template-columns:1fr}}@media (max-width:600px){.month-page-header{flex-direction:column;align-items:stretch}.month-heading-row{justify-content:space-between;gap:var(--space-2)}.month-page-title{min-width:0;font-size:var(--text-2xl)}.month-nav-link{padding:var(--space-2)}.month-page-actions{flex-wrap:wrap;justify-content:flex-start}.month-store-form{width:100%}.month-store-form .select{flex:1;min-width:0}.submission-shell{padding:var(--space-4) var(--space-3)}.submission-state{min-height:320px;margin:var(--space-6) auto;padding:var(--space-6)}.submission-header h1{font-size:var(--text-xl)}.submission-summary-card dl{grid-template-columns:1fr 1fr}.submission-summary-card dl div:last-child{grid-column:1/-1}.bulk-actions .btn{width:100%}.bulk-time-row{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}.bulk-time-row label,.bulk-time-row .btn{grid-column:1/-1}.availability-day{gap:var(--space-2);padding:var(--space-2);grid-template-columns:40px minmax(0,1fr)}.day-mode button{padding:var(--space-1);font-size:var(--text-xs)}.submission-savebar{bottom:var(--space-2);flex-direction:column;align-items:stretch}.save-actions{grid-template-columns:1fr 1fr;display:grid}.staff-selector{grid-template-columns:1fr}.issued-links-heading,.issued-link-row{flex-direction:column;grid-template-columns:1fr;align-items:stretch}.operating-hours-grid{padding:0 var(--space-3) var(--space-3)}.operating-hour-row{grid-template-columns:var(--space-10) minmax(0, 1fr)}.operating-hour-row .time-range,.operating-hour-row .muted-text{grid-column:1/-1}.fixed-shift-list{padding:0 var(--space-3) var(--space-3)}.fixed-shift-main{grid-template-columns:1fr}.fixed-skill-field{grid-column:auto}.sticky-save-bar{bottom:var(--space-2);grid-template-columns:1fr;align-items:stretch}.schedule-period-card{gap:var(--space-3);padding:var(--space-3);grid-template-columns:auto minmax(0,1fr)}.schedule-period-date{padding-right:var(--space-3)}.schedule-period-card>.btn{grid-column:1/-1;width:100%}.schedule-readiness{gap:var(--space-2)}.run-controls{flex-direction:column;align-items:stretch}.run-controls .btn{width:100%}.run-progress{min-width:0}.result-summary-rail{position:static}.schedule-statebar{flex-direction:column;align-items:stretch;position:static}.schedule-state-actions{grid-template-columns:1fr;display:grid}.schedule-state-actions .btn{width:100%}.schedule-toolbar{flex-direction:column;align-items:stretch}.schedule-date-nav{justify-content:space-between;min-width:0}.schedule-pagination{flex-direction:column;align-items:stretch}.shift-modal-actions{grid-template-columns:1fr;display:grid}.shift-modal-actions>span{display:none}.availability-period-form{width:100%;min-width:0}.availability-period-controls,.availability-board-header{flex-direction:column;align-items:stretch}.availability-legend{justify-content:flex-start}.availability-board-toolbar{flex-direction:column;align-items:stretch}.availability-board-toolbar .btn{width:100%}}.sidebar-navigation{gap:var(--space-6);flex-direction:column;flex:1;display:flex}.nav-group+.nav-group{margin-top:var(--space-6)}.nav-group-label{padding:var(--space-2) var(--space-3);font-size:var(--text-xs);color:var(--color-sidebar-text)}.sidebar-menu-toggle{justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--tap-target);padding:var(--space-2) var(--space-3);border:1px solid var(--color-sidebar-border);border-radius:var(--radius-sm);color:var(--color-sidebar-text-active);background:0 0;display:none}.topbar-organization{color:var(--color-text-secondary);font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap;margin-left:auto;overflow:hidden}a:focus-visible,summary:focus-visible,.sidebar-menu-toggle:focus-visible,.sidebar-logout:focus-visible{outline:2px solid var(--color-primary);outline-offset:var(--space-1)}.list-workspace,.dashboard-content{min-width:0}.list-workspace .table{min-width:var(--result-table-min-width)}.create-panel{margin-bottom:var(--space-4);padding:0}.create-panel>summary{align-items:center;gap:var(--space-2);min-height:var(--tap-target);padding:var(--space-4) var(--space-5);color:var(--color-primary);cursor:pointer;font-weight:600;list-style:none;display:flex}.create-panel>summary::-webkit-details-marker{display:none}.create-panel>summary:hover{background:var(--color-surface-hover);border-radius:var(--radius-lg)}.create-panel-hint{color:var(--color-text-secondary);font-size:var(--text-sm);margin-left:auto;font-weight:400}.create-panel[open] .disclosure-chevron{transform:rotate(90deg)}.create-panel-body{border-top:1px solid var(--color-border);padding:var(--space-5);max-width:var(--submission-max-width)}.create-panel-body>.page-subtitle{margin:0 0 var(--space-5)}.store-settings>summary{cursor:pointer;color:var(--color-text-secondary);min-height:var(--tap-target);padding:var(--space-3) 0}.workflow-steps{gap:var(--space-4);grid-template-columns:repeat(4,minmax(0,1fr));list-style:none;display:grid}.workflow-step{align-items:center;gap:var(--space-3);min-height:var(--tap-target);color:var(--color-text);display:flex}.workflow-step>span{flex:1;min-width:0}.workflow-step small{color:var(--color-text-secondary);font-size:var(--text-sm);display:block}.workflow-step>svg{flex-shrink:0}.workflow-done{color:var(--color-success)}@media (max-width:767px){.sidebar-navigation{display:none}.workflow-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.create-panel>summary{padding:var(--space-3) var(--space-4)}.create-panel-body{padding:var(--space-4)}.create-panel-hint{display:none}.create-panel .disclosure-chevron{margin-left:auto}.page-header-wrap>.badge{align-self:flex-start}.dashboard-kpis{gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-kpis .kpi-card{padding:var(--space-3)}.dashboard-kpis .kpi-top{gap:var(--space-1);margin-bottom:var(--space-2)}.dashboard-kpis .kpi-icon{width:var(--space-6);height:var(--space-6);border-radius:var(--radius-sm)}.dashboard-content .next-action-icon{display:none}.dashboard-content .card-header{align-items:flex-start;gap:var(--space-2);flex-wrap:wrap}}
