.login-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1f2937,#374151);padding:20px}.login-card{background:#fff;padding:40px;border-radius:12px;box-shadow:0 10px 40px #0003;text-align:center;max-width:360px;width:100%}.login-card h1{font-size:1.75rem;color:#1f2937;margin-bottom:8px}.login-card h2{font-size:1.1rem;color:#6b7280;font-weight:500;margin-bottom:8px}.login-hint{font-size:.85rem;color:#9ca3af;margin-bottom:24px}.login-input-group{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.login-input{width:100%;padding:14px 16px;font-size:1rem;border:2px solid #e5e7eb;border-radius:8px;outline:none;transition:border-color .2s;box-sizing:border-box}.login-input:focus{border-color:#3b82f6}.login-input::placeholder{color:#9ca3af}.login-error{color:#dc2626;font-size:.9rem;margin-bottom:16px;padding:10px;background:#fef2f2;border-radius:6px}.login-message{color:#059669;font-size:.9rem;margin-bottom:16px;padding:10px;background:#ecfdf5;border-radius:6px}.login-button{width:100%;padding:14px;font-size:1rem;font-weight:600;color:#fff;background:#3b82f6;border:none;border-radius:8px;cursor:pointer;transition:background-color .2s}.login-button:hover:not(:disabled){background:#2563eb}.login-button:disabled{background:#9ca3af;cursor:not-allowed}.login-toggle{display:block;width:100%;margin-top:16px;padding:8px;background:none;border:none;color:#3b82f6;font-size:.85rem;cursor:pointer}.login-toggle:hover{text-decoration:underline}.av{border-radius:50%;background-color:#8b83d1;display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden;letter-spacing:-.01em}.av--sm{width:28px;height:28px}.av--md{width:36px;height:36px}.av--lg{width:44px;height:44px}.av-initials{color:#fff;font-weight:600;line-height:1;-webkit-user-select:none;user-select:none}.av--sm .av-initials{font-size:11px}.av--md .av-initials{font-size:13px}.av--lg .av-initials{font-size:16px}.av-img{width:100%;height:100%;object-fit:cover}.management-shell{display:flex;height:100vh;background:var(--color-background-tertiary);padding:10px;gap:10px;min-width:640px;box-sizing:border-box}.management-shell-sidebar{width:220px;flex-shrink:0;background:var(--sidebar-bg);border-radius:12px;box-shadow:var(--sidebar-shadow);display:flex;flex-direction:column;overflow:hidden;transition:width .18s ease}.management-shell--collapsed .management-shell-sidebar{width:56px}.management-shell-brand{display:flex;align-items:center;gap:10px;padding:18px 14px 16px;border-bottom:1px solid rgba(255,255,255,.07);flex-shrink:0}.management-shell-brand-mark{width:28px;height:28px;background:#ffffff1f;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;color:#fff;flex-shrink:0;letter-spacing:0}.management-shell-brand-wordmark{font-size:15px;font-weight:600;color:var(--sidebar-brand-text);letter-spacing:.01em;white-space:nowrap}.management-shell-nav{list-style:none;margin:0;padding:8px;flex:1;overflow-y:auto;overflow-x:hidden}.management-shell-nav-item{display:flex;align-items:center;gap:10px;width:100%;padding:9px 10px;background:none;border:none;border-radius:var(--radius-md);color:var(--sidebar-nav-text);font-size:var(--font-size-md);font-weight:var(--font-weight-normal);cursor:pointer;text-align:left;transition:background .12s,color .12s;white-space:nowrap;overflow:hidden}.management-shell-nav-item:hover{background:var(--sidebar-nav-hover-bg);color:var(--sidebar-nav-hover-text)}.management-shell-nav-item--active{background:var(--sidebar-active-bg);color:var(--sidebar-active-text);font-weight:var(--font-weight-medium)}.management-shell-nav-icon{flex-shrink:0}.management-shell-nav-label{flex:1;overflow:hidden;text-overflow:ellipsis}.management-shell-nav-item--sub{padding-left:36px;font-size:var(--font-size-base);color:var(--sidebar-sub-text)}.management-shell-nav-item--sub:hover{color:var(--sidebar-sub-hover-text)}.management-shell-nav-item--sub.management-shell-nav-item--active{color:var(--sidebar-active-text)}.management-shell--collapsed .management-shell-nav-item--sub{padding-left:10px}.management-shell-settings-area{padding:0 8px 4px}.management-shell-sidebar-footer{border-top:1px solid rgba(255,255,255,.07);flex-shrink:0}.management-shell-user-card{display:flex;align-items:center;gap:10px;padding:10px 10px 8px;min-width:0}.management-shell-user-card--collapsed{justify-content:center;padding:10px 8px 8px}.management-shell-user-info{flex:1;min-width:0;overflow:hidden}.management-shell-user-name{color:#fff;font-size:13px;font-weight:var(--font-weight-medium);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3}.management-shell-user-role{color:var(--sidebar-nav-text);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3}.management-shell-logout-icon{background:none;border:none;color:var(--sidebar-nav-text);cursor:pointer;padding:4px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:color .12s,background .12s}.management-shell-logout-icon:hover{color:#fff;background:#ffffff14}.management-shell-collapse-btn{width:100%;padding:7px 8px;background:none;border:none;color:var(--sidebar-collapse-color);cursor:pointer;display:flex;justify-content:center;align-items:center;border-radius:0 0 12px 12px;transition:color .12s,background .12s}.management-shell-collapse-btn:hover{color:#fff;background:#ffffff0d}.management-shell--collapsed .management-shell-nav-item{justify-content:center;padding:9px 10px}.management-shell-content{flex:1;overflow:auto;background:var(--color-bg-page);border-radius:var(--radius-lg);display:flex;flex-direction:column;min-width:0}.mc{background:var(--color-bg-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:16px 20px;display:flex;flex-direction:column;gap:8px;min-width:0}.mc-header{display:flex;align-items:center;gap:8px}.mc-icon{width:28px;height:28px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:14px;line-height:1}.mc-icon--brand{background:var(--color-brand-50);color:var(--color-brand-600)}.mc-icon--teal{background:var(--color-cat-teal-bg);color:var(--color-cat-teal-text)}.mc-icon--blue{background:var(--color-cat-blue-bg);color:var(--color-cat-blue-text)}.mc-icon--pink{background:var(--color-cat-pink-bg);color:var(--color-cat-pink-text)}.mc-icon--coral{background:var(--color-cat-coral-bg);color:var(--color-cat-coral-text)}.mc-icon--green{background:var(--color-cat-green-bg);color:var(--color-cat-green-text)}.mc-icon--gray{background:var(--color-cat-gray-bg);color:var(--color-cat-gray-text)}.mc-icon--amber{background:var(--color-break-bg);color:var(--color-break-text)}.mc-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-muted);line-height:1.2}.mc-value{font-size:var(--font-size-kpi);font-weight:var(--font-weight-medium);color:var(--color-text-primary);line-height:1;font-variant-numeric:tabular-nums}.mc-incomplete-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.mc-value--dash{color:var(--color-text-faint)}.mc-incomplete-pill{font-size:10px;padding:2px 7px}.mc-sub{font-size:var(--font-size-xs);color:var(--color-text-faint);margin-top:-2px}.mc-trend{display:flex;align-items:center;gap:3px;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}.mc-trend--good{color:var(--color-success-icon)}.mc-trend--bad{color:var(--color-danger-icon)}.mc-trend--neutral{color:var(--color-text-muted)}.mc-trend-arrow{font-size:10px;line-height:1}.mc-trend-label{color:var(--color-text-faint);font-weight:var(--font-weight-normal);margin-left:2px}.ph{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-bottom:16px;border-bottom:1px solid var(--color-border);margin-bottom:var(--space-5)}.ph-text{min-width:0;flex:1}.ph-title{font-size:var(--font-size-display);font-weight:var(--font-weight-medium);color:var(--color-text-primary);line-height:1.2}.ph-subtitle{font-size:var(--font-size-base);color:var(--color-text-muted);margin-top:4px;line-height:1.5}.ph-action{flex-shrink:0;display:flex;align-items:center;gap:var(--space-2)}.es{display:flex;flex-direction:column;align-items:center;text-align:center;padding:48px 24px;gap:10px}.es-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--color-bg-subtle);border-radius:var(--radius-lg);color:var(--color-text-muted);font-size:22px;margin-bottom:4px}.es-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-medium);color:var(--color-text-primary);line-height:1.3}.es-description{font-size:var(--font-size-base);color:var(--color-text-muted);max-width:320px;line-height:1.5}.es-action{margin-top:6px}.sp-brand{background:var(--color-brand-50);color:var(--color-brand-600)}.st{background:var(--color-bg-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:12px 14px;display:flex;flex-direction:column;gap:6px;min-width:0}.st-icon{width:28px;height:28px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:14px;line-height:1}.st-icon--brand{background:var(--color-brand-50);color:var(--color-brand-600)}.st-icon--teal{background:var(--color-cat-teal-bg);color:var(--color-cat-teal-text)}.st-icon--blue{background:var(--color-cat-blue-bg);color:var(--color-cat-blue-text)}.st-icon--pink{background:var(--color-cat-pink-bg);color:var(--color-cat-pink-text)}.st-icon--coral{background:var(--color-cat-coral-bg);color:var(--color-cat-coral-text)}.st-icon--green{background:var(--color-cat-green-bg);color:var(--color-cat-green-text)}.st-icon--gray{background:var(--color-cat-gray-bg);color:var(--color-cat-gray-text)}.st-icon--amber{background:var(--color-break-bg);color:var(--color-break-text)}.st-value{font-size:1.75rem;font-weight:600;color:var(--color-text-primary);line-height:1;font-variant-numeric:tabular-nums}.st-value--danger{color:var(--color-danger-text)}.st-label{font-size:var(--font-size-xs);color:var(--color-text-muted);white-space:nowrap}.st-sub{font-size:var(--font-size-xs);color:var(--color-text-faint);margin-top:-3px}.dashboard-page{display:flex;flex-direction:column;height:100%;background:var(--color-bg-page)}.dashboard-page>.ph{padding-top:14px;padding-left:20px;padding-right:20px}.dashboard-page-body{flex:1;overflow:auto;padding:14px 20px}.dash-kpi-row{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.dash-kpi-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.dash-live-indicator{display:flex;align-items:center;gap:6px}.dash-live-dot{width:7px;height:7px;border-radius:50%;background:var(--color-success-icon);flex-shrink:0;animation:dash-live-pulse 2.4s ease-in-out infinite}@keyframes dash-live-pulse{0%,to{opacity:1}50%{opacity:.3}}.dash-live-label{font-size:var(--font-size-xs);color:var(--color-text-muted)}.dash-card{background:var(--color-bg-surface);border:.5px solid var(--color-border);box-shadow:var(--shadow-sm);border-radius:var(--radius-lg);padding:16px 18px;overflow:hidden}.dash-card-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-muted);margin-bottom:14px}.dash-card-label-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.dash-card-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 5px;background:var(--color-bg-muted);border-radius:var(--radius-sm);font-size:.73rem;font-weight:600;color:var(--color-text-muted)}.dash-today-team{margin-bottom:14px}.dash-team-list{list-style:none;margin:0;padding:0}.dash-team-row{display:grid;grid-template-columns:1fr auto auto auto;align-items:center;gap:12px;padding:8px 0;border-bottom:1px solid var(--color-border-subtle);font-size:.82rem}.dash-team-row:last-child{border-bottom:none}.dash-team-identity{display:flex;align-items:center;gap:10px;overflow:hidden;min-width:0}.dash-team-info{display:flex;flex-direction:column;gap:1px;min-width:0}.dash-team-name{font-weight:500;color:var(--color-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dash-team-role{font-size:var(--font-size-xs);color:var(--color-text-muted);font-weight:var(--font-weight-normal);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dash-team-time{color:var(--color-text-muted);font-variant-numeric:tabular-nums;white-space:nowrap}.dash-team-elapsed{color:var(--color-text-faint);font-variant-numeric:tabular-nums;white-space:nowrap;min-width:42px;text-align:right}.dash-overnight{font-size:.72rem;color:var(--color-text-faint)}.dash-bento-grid{display:grid;grid-template-columns:2fr 1fr;grid-template-rows:auto auto;gap:14px;align-items:start}.dash-requests{grid-column:2;grid-row:1 / 3}.dash-ops-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.dash-ops-stale{margin:10px 0 0;font-size:var(--font-size-xs);color:var(--color-warning-text)}.dash-attention-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.dash-attention-item{display:flex;align-items:center;gap:8px;font-size:.82rem;color:var(--color-text-secondary)}.dash-attention-icon{flex-shrink:0;color:var(--color-border-hover)}.dash-attention-icon--warning{color:var(--color-warning-icon)}.dash-attention-icon--info{color:var(--color-info-text)}.dash-attention-label{flex:1}.dash-attention-link{font-size:.72rem;color:var(--color-accent);background:none;border:none;cursor:pointer;padding:0;font-weight:500;white-space:nowrap}.dash-attention-link:hover{text-decoration:underline}.dash-requests-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.dash-request-row{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--color-border-subtle);font-size:var(--font-size-sm)}.dash-request-row:last-child{border-bottom:none}.dash-request-info{display:flex;flex-direction:column;gap:1px;min-width:0}.dash-request-name{font-weight:var(--font-weight-medium);color:var(--color-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dash-request-detail{font-size:var(--font-size-xs);color:var(--color-text-muted)}.dash-conn-dot{flex-shrink:0;width:7px;height:7px;border-radius:50%;background:var(--color-border-hover)}.dash-conn-dot--active{background:var(--color-success-icon)}.dash-link{display:inline-block;margin-top:12px;background:none;border:none;padding:0;font-size:.78rem;color:var(--color-accent);cursor:pointer;font-weight:500}.dash-link:hover{text-decoration:underline}.dash-footer{display:flex;align-items:center;gap:24px;padding:12px 0;border-top:1px solid var(--color-border-subtle);margin-top:14px;flex-wrap:wrap}.dash-footer-team{display:flex;align-items:center;gap:12px;flex-shrink:0}.dash-footer-team-text{font-size:var(--font-size-sm);color:var(--color-text-muted)}.dash-footer-team-text strong{font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.dash-footer-connections{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.dash-footer-conn{display:flex;align-items:center;gap:5px;font-size:var(--font-size-sm);color:var(--color-text-muted)}.dash-footer-link{margin-top:0}@media (max-width: 1100px){.dash-kpi-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width: 900px){.dash-bento-grid{grid-template-columns:1fr;grid-template-rows:auto}.dash-requests{grid-column:1;grid-row:auto}.dash-ops-stats{grid-template-columns:1fr 1fr}.dash-footer{flex-direction:column;align-items:flex-start;gap:12px}}@media (max-width: 700px){.dash-kpi-grid{grid-template-columns:repeat(2,1fr)}}.shift-block{position:absolute;left:0;right:0;border-radius:8px;padding:7px 10px;cursor:pointer;overflow:hidden;transition:box-shadow .12s,opacity .2s,border-color .12s;z-index:1;box-sizing:border-box}.shift-block:hover{box-shadow:var(--shadow-sm);z-index:2}.shift-block.highlighted{background:var(--color-brand-50)!important;border-left:3px solid var(--color-brand-600);box-shadow:0 2px 10px #534ab726;z-index:3}.shift-block.dimmed{opacity:.45}.shift-block-content{display:flex;flex-direction:column;gap:2px;height:100%;justify-content:center}.shift-block-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:#1f2937;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shift-block-time{font-size:var(--font-size-xs);color:var(--color-text-muted)}.shift-block--unavailable .shift-block-name{color:#fff}.shift-block--unavailable .shift-block-time{color:#ffffffd9}.shift-block--normal{background:var(--color-bg-surface, #fff);border:1px solid var(--color-brand-200, #c0bbf0);box-shadow:0 1px 4px #534ab71a}.shift-block--normal .shift-block-name{color:var(--color-brand-500, #6b64c8)}.shift-block--normal .shift-block-time{color:var(--color-brand-400, #7f77dd)}.shift-block.highlighted .shift-block-name{color:#0f172a}.shift-block.highlighted .shift-block-time{color:#374151}.shift-block.shift-block--unassigned{background:var(--color-bg-muted, #f3f4f6);border:1.5px dashed #c4c9d0}.shift-block--unassigned.highlighted{border:1px solid var(--color-brand-300, #c0bbf0)}.shift-block--unassigned .shift-block-name{color:var(--color-text-muted, #9ca3af);display:flex;align-items:center;gap:4px}.shift-block--unassigned .shift-block-time{color:var(--color-text-muted, #9ca3af);opacity:.7}.shift-block-unassigned-icon{flex-shrink:0;opacity:.65}.shift-block-lifecycle-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--color-brand-600, #534ab7);flex-shrink:0;vertical-align:middle;margin-right:3px;margin-bottom:1px}.shift-block--unavailable{background-color:#ef4444!important;cursor:default;opacity:.25;pointer-events:none}.shift-block--unavailable:hover{transform:none;box-shadow:none}.shift-block--unavailable .shift-block-name{font-style:italic}.shift-block.drop-target{box-shadow:0 0 0 2px var(--color-brand-600, #534ab7),0 4px 16px #534ab740;z-index:4}.shift-block.state-new-draft,.shift-block.state-changed{box-shadow:0 0 0 1px var(--color-brand-300, #c0bbf0)}.shift-block.state-pending-delete{opacity:.6;box-shadow:0 0 0 1.5px var(--color-danger-border, #ef4444);cursor:default}.shift-block.state-pending-delete .shift-block-name{text-decoration:line-through}.shift-block.state-pending-delete:hover{box-shadow:0 0 0 1.5px var(--color-danger-border, #ef4444)}.shift-block--avail-good{outline:1.5px dashed rgba(16,185,129,.65);outline-offset:-2px}.shift-block--avail-warning{outline:1.5px dashed rgba(245,158,11,.75);outline-offset:-2px}.shift-block--avail-conflict{outline:1.5px dashed rgba(239,68,68,.8);outline-offset:-2px}.shift-block--compliance-warning{border-left:3px solid rgba(245,158,11,.7)!important}.shift-block--compliance-violation{border-left:3px solid rgba(239,68,68,.7)!important}.shift-block-compliance{font-size:8px;font-weight:400;margin-left:2px;vertical-align:middle;line-height:1;cursor:default;opacity:.65}.shift-block-compliance--warning{color:var(--color-warning-icon)}.shift-block-compliance--violation{color:var(--color-danger-icon)}.shift-block{overflow:visible}.shift-block-content{overflow:hidden}.shift-diff-tooltip{display:none;position:absolute;bottom:calc(100% + 6px);left:0;right:0;background:#1f2937;color:#fff;border-radius:6px;padding:8px 10px;font-size:11px;z-index:20;pointer-events:none;white-space:nowrap;box-shadow:0 4px 12px #0000004d}.shift-block:hover .shift-diff-tooltip{display:flex;flex-direction:column;gap:4px}.diff-row{display:flex;gap:6px;align-items:baseline}.diff-label{font-weight:600;flex-shrink:0;color:#9ca3af}.diff-published .diff-label{color:#9ca3af}.diff-draft .diff-label{color:var(--color-brand-400, #7f77dd)}.diff-delete .diff-label{color:#f87171;font-weight:500}.shift-block--draggable{cursor:grab}.shift-block--dragging{cursor:grabbing;opacity:.5;box-shadow:0 8px 24px #0003;z-index:100}.shift-block--swap-source{outline:2px solid var(--color-brand-600, #534ab7);outline-offset:-2px;box-shadow:0 0 0 3px #534ab72e;z-index:3}.shift-block--swap-target{cursor:pointer;opacity:1;border-color:var(--color-brand-200, #afa9ec);box-shadow:inset 0 0 0 1px #534ab726}.shift-block--swap-target:hover{outline:2px solid var(--color-brand-300, #c0bbf0);outline-offset:-2px;box-shadow:0 0 0 3px #534ab71a}.shift-block--conflict{outline:2px solid #ef4444;outline-offset:-2px;background:repeating-linear-gradient(45deg,transparent,transparent 4px,rgba(239,68,68,.2) 4px,rgba(239,68,68,.2) 8px)!important}@keyframes compliance-focus-pulse{0%{box-shadow:0 0 0 3px #534ab78c}to{box-shadow:0 0 #534ab700}}.shift-block--focus-pulse{animation:compliance-focus-pulse 1.5s ease-out forwards;z-index:4}.shift-block-compliance-tooltip{display:none;position:absolute;top:calc(100% + 4px);left:0;min-width:160px;max-width:240px;background:#1f2937;color:#f9fafb;border-radius:6px;padding:6px 9px;font-size:11px;z-index:20;pointer-events:none;white-space:normal;line-height:1.4;box-shadow:0 4px 12px #0000004d}.shift-block:hover .shift-block-compliance-tooltip{display:block}.compliance-tooltip-row+.compliance-tooltip-row{margin-top:3px;padding-top:3px;border-top:1px solid rgba(255,255,255,.1)}.shift-block-former{font-size:10px;font-weight:400;color:var(--color-text-muted);opacity:.65;margin-left:3px;vertical-align:middle;white-space:nowrap}.shift-block-unqualified{font-size:11px;color:#f59e0b;margin-left:4px;flex-shrink:0}.schedule-grid{background-color:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a}.schedule-grid:not(.sg-sectioned){overflow:hidden}.schedule-grid.read-only .day-column{cursor:default}.grid-header{display:flex;border-bottom:2px solid #e5e7eb;background-color:#f9fafb}.day-header{flex:1;min-width:120px;padding:10px 8px;text-align:center;display:flex;flex-direction:column;gap:2px}.day-name{font-weight:600;color:#374151;font-size:.9rem}.day-date{font-size:.75rem;color:#6b7280}.grid-body{display:flex}.days-container{display:flex;flex:1}.day-column{flex:1;min-width:120px;position:relative;border-right:1px solid #e5e7eb;background-color:#fefefe;padding:4px}.day-column.clickable{cursor:pointer}.day-column.clickable:hover{background-color:#fafafa}.day-column:last-child{border-right:none}.day-column.day-unavailable{background:repeating-linear-gradient(45deg,rgba(239,68,68,.08),rgba(239,68,68,.08) 4px,transparent 4px,transparent 8px)}.day-column.day-unavailable.clickable:hover{background:repeating-linear-gradient(45deg,#ef44441f,#ef44441f 4px,#fafafa80 4px,#fafafa80 8px)}.day-column.column-drop-target{background:#534ab70f;outline:2px dashed var(--color-brand-200, #afa9ec);outline-offset:-2px}.schedule-root{background:#fff;border-radius:0;box-shadow:none;min-width:max-content}.schedule-weekdays{display:grid;grid-template-columns:repeat(7,minmax(140px,1fr));border-bottom:2px solid #c7cdd6;background:#f9fafb;position:sticky;top:0;z-index:4;box-shadow:0 2px 6px #0000000a}.schedule-weekday{padding:10px 8px;text-align:center;display:flex;flex-direction:column;gap:2px;border-right:1px solid #e5e7eb}.schedule-weekday:last-child{border-right:none}.schedule-weekday .day-name{font-weight:700;color:#111827}.day-cost{font-size:10.5px;color:#374151;font-weight:500;margin-top:2px;line-height:1.2;white-space:nowrap}.day-cost--partial{color:#6b7280}.day-cost--no-wages{color:#6b7280;font-style:italic}.section-block{border-bottom:2px solid #dde3ed}.section-block:last-child{border-bottom:none}.section-header{display:flex;align-items:center;justify-content:flex-start;gap:8px;padding:8px 16px;background:var(--color-bg-subtle, #f1f5f9);font-size:12px;font-weight:600;color:var(--color-text-secondary, #374151);border-bottom:1px solid #dde3ed;-webkit-user-select:none;user-select:none;position:sticky;top:var(--weekdays-h, 60px);z-index:3;transform:translate(var(--section-header-tx, 0px))}.section-header--clickable{cursor:pointer}.section-header--clickable:hover{background:#e8edf5}.section-header--archived{background:#f9fafb;color:#9ca3af;font-weight:600;cursor:default}.section-header-name{flex:0 0 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:flex;align-items:center;gap:6px}.section-archived-tag{font-weight:400;font-size:11px}.section-color-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.section-collapse-summary{font-size:11px;font-weight:400;color:var(--color-text-muted, #9ca3af);white-space:nowrap}.section-header-right{display:flex;align-items:center;gap:6px;flex-shrink:0}.section-row{display:grid;grid-template-columns:repeat(7,minmax(140px,1fr))}.section-cell{display:flex;flex-direction:column;gap:8px;padding:6px;border-right:1px solid #e5e7eb;background:#fefefe;position:relative;min-height:52px}.section-cell:last-child{border-right:none}.section-cell.clickable{cursor:pointer}.section-cell.clickable:hover{background:#fafafa}.section-cell.column-drop-target{background:#534ab70f;outline:2px dashed var(--color-brand-200, #afa9ec);outline-offset:-2px}.section-cell--archived{background:#fafafa;cursor:default}.section-block--archived .section-cell{background:#fafafa}.sg-conflict-badge{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;background:#ef4444;color:#fff;border-radius:50%;font-size:9px;font-weight:700;line-height:1}.sg-empty-state{padding:32px;text-align:center;color:#9ca3af;font-size:14px}.sg-link-btn{background:none;border:none;color:var(--color-brand-600, #534ab7);cursor:pointer;font-size:inherit;padding:0;text-decoration:underline}.sg-link-btn:hover{color:var(--color-brand-800, #3c3489)}.section-cell-add-tile{width:100%;height:54px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;background:#f9fafb;border:1px dashed #c4c9d0;border-radius:6px;color:#6b7280;font-size:11.5px;cursor:pointer;margin-top:4px;box-sizing:border-box;padding:6px 8px;transition:background .1s,border-color .1s,color .1s}.section-cell-add-tile:hover{background:#f3f4f6;border-color:#9ca3af;color:#6b7280}.section-cell-add-tile--swap-muted{opacity:.4;pointer-events:none;cursor:default}.section-cell-add-tile--avail-available{border-color:#10b98173;background:#10b9810a}.section-cell-add-tile--avail-available:hover{background:#10b98114;border-color:#10b981a6}.section-cell-add-tile--avail-unavailable{border-color:#ef444459;background:#ef444408}.section-cell-add-tile--avail-unavailable:hover{background:#ef444412;border-color:#ef44448c}.section-cell-add-tile-label{font-size:9.5px;font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;line-height:1.2;opacity:.9}.section-cell-add-tile--avail-available .section-cell-add-tile-label{color:#166534}.section-cell-add-tile--avail-unavailable .section-cell-add-tile-label{color:#991b1b}.schedule-weekday--week-start,.section-cell--week-start{border-left:2px solid #22d3ee;box-shadow:inset 3px 0 10px #06b6d426}.schedule-weekday--month-boundary,.section-cell--month-boundary{border-left:2px solid #818cf8;box-shadow:inset 4px 0 12px #6366f12b}.schedule-weekday--spillover{background:#f3f4f6}.schedule-weekday--spillover .day-name,.schedule-weekday--spillover .day-date{color:#9ca3af}.section-cell--spillover{background:#fafafa}.schedule-week-cost-row{display:grid;background:#f9fafb;border-bottom:1px solid #e5e7eb}.schedule-week-cost-summary{display:flex;justify-content:center;align-items:center;gap:8px;padding:5px 8px;white-space:nowrap;font-size:12px}.schedule-week-cost-label{color:#6b7280;font-weight:500}.schedule-week-cost-sep{color:#d1d5db}.schedule-week-cost-planned{color:#111827;font-weight:600}.schedule-week-cost-incomplete{color:#6b7280;font-weight:400;font-style:italic}.compliance-bar{position:relative;display:inline-flex;align-items:center}.compliance-bar-pill{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:6px;font-size:.78rem;font-weight:500;cursor:pointer;border:1px solid rgba(255,255,255,.22);line-height:1.4;white-space:nowrap;background:#ffffff14;color:#ffffffe6;transition:background .15s,border-color .15s}.compliance-bar-pill:hover{background:#ffffff26;border-color:#ffffff59}.compliance-bar-pill-dot{font-size:.7rem;line-height:1}.compliance-bar-pill-dot--warning{color:#fbbf24}.compliance-bar-pill-dot--violation{color:#f87171}.compliance-bar-pill-text{flex:1}.compliance-bar-pill-chevron{font-size:.6rem;opacity:.6}.compliance-bar-panel{position:absolute;top:calc(100% + 6px);right:0;z-index:200;min-width:340px;max-width:480px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 4px 16px #0000001a;overflow:hidden}.compliance-bar-panel-header{padding:8px 12px;font-size:.78rem;font-weight:600;color:#374151;background:#f9fafb;border-bottom:1px solid #e5e7eb;display:flex;align-items:center;gap:6px}.compliance-bar-issue-list{list-style:none;margin:0;padding:4px 0;max-height:300px;overflow-y:auto}.compliance-issue-group{border-bottom:1px solid #f3f4f6}.compliance-issue-group:last-child{border-bottom:none}.compliance-issue-group-header{padding:5px 12px 2px;font-size:.75rem;font-weight:600;color:#374151;letter-spacing:.01em}.compliance-issue-row{display:flex;align-items:baseline;gap:5px;padding:3px 12px 4px 20px;font-size:.79rem;transition:background .1s}.compliance-issue-row:last-child{padding-bottom:6px}.compliance-issue-icon{flex-shrink:0;font-size:.65rem;margin-top:1px}.compliance-issue-icon--warning{color:var(--color-warning-icon)}.compliance-issue-icon--violation{color:var(--color-danger-icon)}.compliance-issue-icon--info{color:var(--color-text-muted)}.compliance-issue-body{flex:1;min-width:0;line-height:1.35}.compliance-issue-msg{color:#6b7280}.compliance-issue-action{flex-shrink:0;margin-left:4px}.compliance-view-btn{font-size:.7rem;padding:0;border:none;background:none;color:#6b7280;cursor:pointer;white-space:nowrap;text-decoration:underline;text-underline-offset:2px;transition:color .1s}.compliance-view-btn:hover{color:#374151}.month-navigator{display:flex;align-items:center;gap:10px}.month-nav-btn{width:32px;height:32px;border:1px solid var(--color-border);background:var(--color-bg-surface);border-radius:var(--radius-md);font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--color-text-secondary);transition:background var(--transition-fast),border-color var(--transition-fast)}.month-nav-btn:hover{background:var(--color-bg-subtle);border-color:var(--color-border-hover)}.month-label{font-size:var(--font-size-md);font-weight:var(--font-weight-medium);color:var(--color-text-primary);min-width:130px;text-align:center}.month-today-btn{padding:5px 11px;border:1px solid var(--color-brand-400, #7f77dd);background:none;color:var(--color-brand-600, #534ab7);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.month-today-btn:hover{background:var(--color-brand-600, #534ab7);color:#fff;border-color:var(--color-brand-600, #534ab7)}.eip-popover{position:fixed;z-index:1000;background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);width:240px;padding:0;overflow:hidden}.eip-header{display:flex;align-items:center;justify-content:space-between;padding:10px 12px 8px;border-bottom:1px solid var(--color-border);gap:8px}.eip-header-left{display:flex;align-items:center;gap:8px;min-width:0}.eip-avatar{width:36px;height:36px;border-radius:50%;background:var(--color-brand-50);color:var(--color-brand-600);font-size:12px;font-weight:var(--font-weight-bold);display:flex;align-items:center;justify-content:center;flex-shrink:0;letter-spacing:.03em;-webkit-user-select:none;user-select:none}.eip-header-text{display:flex;flex-direction:column;min-width:0}.eip-name{font-weight:var(--font-weight-semibold);font-size:13px;color:var(--color-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eip-job-role{font-size:var(--font-size-xs);color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eip-close{background:none;border:none;color:var(--color-text-faint);cursor:pointer;padding:2px 4px;line-height:1;flex-shrink:0;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm)}.eip-close:hover{color:var(--color-text-secondary);background:var(--color-bg-subtle)}.eip-progress-row{display:flex;align-items:center;gap:12px;padding:12px 12px 8px}.eip-progress-svg{flex-shrink:0}.eip-progress-text{display:flex;flex-direction:column;gap:1px;min-width:0}.eip-hours-planned{font-size:18px;font-weight:var(--font-weight-bold);color:var(--color-text-primary);line-height:1.2}.eip-hours-label{font-size:11px;color:var(--color-text-muted)}.eip-hours-target{font-size:11px;color:var(--color-text-muted);margin-top:2px}.eip-hours-over{font-size:11px;color:var(--color-danger-action);font-weight:var(--font-weight-semibold)}.eip-hours-remaining{font-size:11px;color:var(--color-success-text)}.eip-info-rows{border-top:1px solid var(--color-border);padding:6px 12px;display:flex;flex-direction:column;gap:4px}.eip-info-row{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.eip-info-label{font-size:11px;color:var(--color-text-muted);flex-shrink:0}.eip-info-value{font-size:12px;color:var(--color-text-secondary);text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eip-quals{border-top:1px solid var(--color-border);padding:6px 12px 10px;display:flex;flex-wrap:wrap;gap:4px}.eip-qual-badge{display:inline-flex;align-items:center;background:var(--color-bg-subtle);border-radius:4px;font-size:11px;color:var(--color-text-secondary);padding:2px 6px}.eip-qual-dot{display:inline-block;width:6px;height:6px;border-radius:50%;margin-right:4px;flex-shrink:0}.eip-pending{border-top:1px solid var(--color-border);padding:6px 12px 10px;font-size:11px;color:var(--color-text-faint);font-style:italic}.employee-manager{background-color:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.employee-manager-toggle{width:100%;padding:12px 16px;background:none;border:none;text-align:left;font-size:14px;font-weight:600;color:#374151;cursor:pointer;display:flex;align-items:center;gap:8px}.employee-manager-toggle:hover{background-color:#f9fafb}.employee-manager-content{padding:0 0 8px}.employee-manager-list,.em-ranked-list{display:flex;flex-direction:column}.employee-manager-empty{color:#9ca3af;font-size:14px;text-align:center;padding:12px 16px}.em-row-wrapper{display:flex;flex-direction:column}.em-row{display:flex;align-items:center;gap:6px;padding:8px 12px 8px 8px;border-bottom:1px solid #e9eaec;min-height:52px;transition:background-color .1s}.em-row:last-child{border-bottom:none}.em-row--selected{background:var(--color-brand-50, #eeedfe);border-left:3px solid var(--color-brand-600, #534ab7);padding-left:5px;box-shadow:inset 0 1px #534ab714,inset 0 -1px #534ab714}.em-row--selected .em-name{font-weight:600;color:var(--color-brand-800, #3c3489)}.em-row--dragging{opacity:.4}.em-row--non-assignable{opacity:.55}.em-row--assignable{cursor:pointer}.em-row--assignable:hover{background-color:var(--color-brand-50, #eeedfe)}.em-row:not(.em-row--non-assignable):not(.em-row--selected):hover{background-color:#f3f4f6}.em-avatar{width:28px;height:28px;border-radius:50%;background:var(--color-brand-50);color:var(--color-brand-600);font-size:10px;font-weight:var(--font-weight-bold);display:flex;align-items:center;justify-content:center;flex-shrink:0;letter-spacing:.03em;-webkit-user-select:none;user-select:none;border:1.5px solid var(--color-brand-200, #c0bbf0)}.em-identity{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.em-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.em-role-row{display:flex;align-items:center;justify-content:space-between;gap:4px;min-width:0}.em-role-line{font-size:var(--font-size-xs);color:var(--color-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.em-hours-text{font-size:var(--font-size-xs);color:var(--color-brand-600);font-weight:var(--font-weight-medium);white-space:nowrap;flex-shrink:0}.em-hours-text--over{color:var(--color-danger-action)}.em-hours-bar-track{height:5px;background:var(--color-border);border-radius:99px;overflow:hidden;margin-top:3px}.em-hours-bar-fill{height:100%;background:var(--color-brand-600);border-radius:99px;transition:width .3s ease}.em-hours-bar-fill--over{background:var(--color-danger-action)}.em-qual-badge{font-size:10px;font-weight:600;padding:2px 5px;border-radius:4px;flex-shrink:0;text-transform:capitalize;letter-spacing:.02em}.em-qual-badge--lead{background:#dbeafe;color:#1e40af}.em-qual-badge--advanced{background:#dcfce7;color:#166534}.em-qual-badge--beginner{background:#fef9c3;color:#854d0e}.em-qual-badge--unqualified{background:#fee2e2;color:#991b1b}.em-warning-icon{font-size:12px;color:#f59e0b;flex-shrink:0}.em-info-btn{width:24px;height:24px;border:none;background:none;color:var(--color-text-faint);cursor:pointer;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0;padding:0;transition:background var(--transition-fast),color var(--transition-fast)}.em-info-btn:hover,.em-info-btn--open{background:var(--color-bg-subtle);color:var(--color-text-secondary)}.em-info-card{background:#f8fafc;border-top:1px solid #e5e7eb;border-bottom:1px solid #e5e7eb;padding:8px 12px;display:flex;flex-direction:column;gap:4px}.em-info-row{display:flex;gap:8px;font-size:12px;align-items:baseline}.em-info-label{color:#9ca3af;font-weight:500;min-width:80px;flex-shrink:0}.em-info-value{color:#374151;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.em-info-quals{display:flex;flex-wrap:wrap;gap:4px;margin-top:2px}.em-info-qual-item{font-size:11px;color:#6b7280;background:#e5e7eb;padding:2px 6px;border-radius:4px}.em-info-pending{font-size:11px;color:#f59e0b;font-style:italic}.em-unlinked-section{border-top:1px dashed #e5e7eb;margin-top:4px}.em-group3{display:flex;flex-direction:column}.em-show-unqualified-btn{background:none;border:none;border-top:1px dashed #e5e7eb;color:#6b7280;font-size:11px;cursor:pointer;padding:6px 12px;text-align:left;width:100%}.em-show-unqualified-btn:hover{color:#374151;background-color:#f9fafb}.att-date-picker{display:inline-block}.att-date-picker-trigger{display:flex;align-items:center;gap:8px;padding:10px 14px;font-size:15px;font-weight:500;color:var(--color-text-primary);background:var(--color-bg-surface);border:1px solid var(--color-border-hover);border-radius:var(--radius-lg);cursor:pointer;white-space:nowrap;transition:border-color .15s,box-shadow .15s}.att-date-picker-trigger:hover{border-color:var(--color-text-faint)}.att-date-picker-trigger--open,.att-date-picker-trigger:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px;border-color:var(--color-accent)}.att-date-picker-value{flex:1}.att-date-picker-chevron{color:var(--color-text-muted);flex-shrink:0;transition:transform .15s}.att-date-picker-trigger--open .att-date-picker-chevron{transform:rotate(180deg)}.att-date-picker-popover{width:308px;background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:0 8px 24px #0000001f;padding:12px;z-index:200}.att-cal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.att-cal-nav{width:32px;height:32px;display:flex;align-items:center;justify-content:center;font-size:18px;color:var(--color-text-secondary);background:none;border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;padding:0;line-height:1}.att-cal-nav:hover:not(:disabled){background:var(--color-bg-muted);border-color:var(--color-border-hover)}.att-cal-nav:disabled{color:var(--color-border-hover);cursor:default;border-color:var(--color-border-subtle)}.att-cal-month-label{font-size:15px;font-weight:600;color:var(--color-text-primary)}.att-cal-dow-row{display:grid;grid-template-columns:repeat(7,1fr);margin-bottom:4px}.att-cal-dow{display:flex;align-items:center;justify-content:center;height:32px;font-size:12px;font-weight:600;color:var(--color-text-faint);text-transform:uppercase;letter-spacing:.03em}.att-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.att-cal-day{display:flex;align-items:center;justify-content:center;width:40px;height:40px;font-size:14px;font-weight:400;color:var(--color-text-primary);background:none;border:none;border-radius:var(--radius-lg);cursor:pointer;padding:0;transition:background .1s,color .1s}.att-cal-day:hover:not(:disabled):not(.att-cal-day--selected){background:var(--color-bg-muted)}.att-cal-day--other-month{color:var(--color-border-hover)}.att-cal-day--today{font-weight:700;color:var(--color-accent-hover)}.att-cal-day--today:not(.att-cal-day--selected){background:var(--color-accent-subtle)}.att-cal-day--selected{background:var(--color-accent-hover);color:var(--color-bg-surface);font-weight:600}.att-cal-day--selected.att-cal-day--today{background:var(--color-accent-deep)}.att-cal-day--disabled{color:var(--color-border-hover);cursor:default}.att-cal-day--disabled:hover{background:none}.att-cal-footer{margin-top:10px;padding-top:10px;border-top:1px solid var(--color-border-subtle);display:flex;justify-content:center}.att-cal-today-btn{padding:6px 16px;font-size:13px;font-weight:500;color:var(--color-text-secondary);background:none;border:1px solid var(--color-border-hover);border-radius:var(--radius-md);cursor:pointer}.att-cal-today-btn:hover{background:var(--color-bg-subtle);border-color:var(--color-text-faint)}.export-panel{position:absolute;top:calc(100% + 8px);right:0;z-index:300;width:296px;background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);padding:14px 16px 16px}.export-panel-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.export-panel-title{font-size:.88rem;font-weight:600;color:var(--color-text-primary)}.export-panel-close{background:none;border:none;color:var(--color-text-faint);font-size:1.25rem;line-height:1;cursor:pointer;padding:0 2px}.export-panel-close:hover{color:var(--color-text-secondary)}.export-panel-hint{font-size:.77rem;color:var(--color-text-muted);line-height:1.45;margin-bottom:12px}.export-date-field{display:flex;flex-direction:column;gap:4px;margin-bottom:10px}.export-date-field-label{font-size:.77rem;font-weight:500;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em}.export-date-field .att-date-picker{display:block;width:100%}.export-date-field .att-date-picker-trigger{width:100%;font-size:13px;padding:7px 10px}.export-error{font-size:.77rem;color:var(--color-danger-action);line-height:1.4;margin:0 0 10px}.export-open-slots-row{display:flex;align-items:center;gap:7px;font-size:.82rem;color:var(--color-text-secondary);cursor:pointer;margin-bottom:14px;-webkit-user-select:none;user-select:none}.export-open-slots-check{width:14px;height:14px;flex-shrink:0;cursor:pointer;accent-color:var(--color-accent-hover)}.export-actions{display:flex;flex-direction:column;gap:6px}.export-action-btn{width:100%;padding:9px 12px;border:1px solid var(--color-border);background:var(--color-bg-surface);border-radius:var(--radius-lg);font-size:.85rem;color:var(--color-text-secondary);cursor:pointer;text-align:left;transition:background var(--transition-base),border-color var(--transition-base)}.export-action-btn:hover{background:var(--color-bg-subtle);border-color:var(--color-border-hover)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:100}.modal{background:var(--color-bg-surface);border-radius:var(--radius-xl);padding:28px 32px;width:440px;max-width:calc(100vw - 32px);box-shadow:var(--shadow-modal)}.modal-title{font-size:1.15rem;font-weight:700;color:var(--color-text-primary);margin:0 0 12px}.modal-body{font-size:.9rem;color:var(--color-text-secondary);line-height:1.5;margin:0 0 16px}.modal-empty{font-size:.875rem;color:var(--color-text-muted);font-style:italic;margin:0 0 16px}.modal-slot-list{list-style:none;margin:0 0 20px;padding:0;display:flex;flex-direction:column;gap:6px;max-height:240px;overflow-y:auto}.modal-slot-item{display:flex;align-items:center;gap:10px;font-size:.875rem;padding:6px 10px;background:var(--color-bg-subtle);border-radius:var(--radius-md);color:var(--color-text-secondary)}.modal-slot-day{font-weight:600;width:32px;flex-shrink:0}.modal-slot-time{flex:1;color:var(--color-text-muted)}.modal-slot-qty{font-weight:500;color:var(--color-text-secondary)}.modal-error{color:var(--color-danger-action);font-size:.875rem;margin:8px 0 0}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:4px}.modal-section{background:var(--color-bg-subtle);border-radius:var(--radius-md);padding:var(--space-4);margin-bottom:var(--space-4)}.publish-modal{width:560px}.publish-modal-instruction{font-size:13px;color:#6b7280;margin:0 0 16px}.publish-calendar{margin-bottom:12px;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.publish-calendar-header{display:grid;grid-template-columns:repeat(7,1fr);background:#f3f4f6;border-bottom:1px solid #e5e7eb}.publish-cal-day-name{padding:6px 0;text-align:center;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#6b7280}.publish-calendar-week{display:grid;grid-template-columns:repeat(7,1fr);border-bottom:1px solid #f3f4f6}.publish-calendar-week:last-child{border-bottom:none}.publish-cal-day{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:8px 4px;min-height:54px;background:#fff;border:none;border-right:1px solid #f3f4f6;cursor:pointer;font-size:13px;color:#374151;position:relative;transition:background .1s}.publish-cal-day:last-child{border-right:none}.publish-cal-day--unchanged{color:#d1d5db;cursor:default;background:#fafafa}.publish-cal-day--spillover{opacity:.45}.publish-cal-day--changed:hover{background:var(--color-brand-50, #eeedfe)}.publish-cal-day--in-range{background:var(--color-brand-50, #eeedfe);color:var(--color-brand-800, #3c3489)}.publish-cal-day--range-start,.publish-cal-day--range-end{background:var(--color-brand-600, #534ab7);color:#fff}.publish-cal-day--range-start:hover,.publish-cal-day--range-end:hover{background:var(--color-brand-800, #3c3489)}.publish-cal-day-num{font-weight:600;line-height:1}.publish-cal-day-dot{width:5px;height:5px;border-radius:50%;background:currentColor;opacity:.7}.publish-modal-selection-label{font-size:13px;color:#374151;margin:0 0 14px}.publish-modal-shortcuts{margin-bottom:12px}.btn-link{background:none;border:none;color:var(--color-brand-600, #534ab7);font-size:13px;cursor:pointer;padding:0;text-decoration:underline;text-underline-offset:2px}.btn-link:hover{color:var(--color-brand-800, #3c3489)}.publish-modal-skip-note{font-size:13px;color:#92400e;background:#fef3c7;border:1px solid #fcd34d;border-radius:6px;padding:8px 12px;margin:0 0 14px}.publish-compliance-summary{background:#fafafa;border:1px solid #e5e7eb;border-radius:6px;padding:8px 12px;margin:0 0 14px;font-size:13px}.publish-compliance-summary--blocking{border-color:#fca5a5;background:#fff9f9}.publish-compliance-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:2px}.publish-compliance-counts{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.compliance-count--warning{font-size:12px;font-weight:600;color:#b45309}.compliance-count--violation{font-size:12px;font-weight:600;color:#dc2626}.compliance-count--warning:not(.compliance-count--advisory){background:#fef3c7;border:1px solid #fcd34d;padding:2px 8px;border-radius:4px}.compliance-count--violation:not(.compliance-count--advisory){background:#fee2e2;border:1px solid #fca5a5;padding:2px 8px;border-radius:4px}.publish-compliance-toggle{background:none;border:none;padding:0;font-size:12px;color:#9ca3af;cursor:pointer;text-decoration:underline;text-underline-offset:2px;white-space:nowrap;flex-shrink:0;transition:color .1s}.publish-compliance-toggle:hover{color:#6b7280}.publish-compliance-issue-list{list-style:none;margin:6px 0 2px;padding:0;display:flex;flex-direction:column;gap:4px;max-height:180px;overflow-y:auto}.publish-compliance-issue{display:flex;align-items:baseline;gap:5px;font-size:12px;color:#6b7280;line-height:1.4}.publish-compliance-issue--blocking,.publish-compliance-issue--blocking strong{color:#991b1b}.publish-compliance-issue-dot{flex-shrink:0;font-size:.65rem}.publish-compliance-issue-dot--warning{color:#d97706}.publish-compliance-issue-dot--violation{color:#dc2626}.publish-compliance-issue-dot--info{color:#6b7280}.publish-compliance-block-notice{margin:6px 0 0;font-size:12px;color:#dc2626;font-weight:500}.sm-content{display:flex;flex-direction:column;padding:0}.sm-subtitle{padding:14px 20px 8px;font-size:13px;color:#6b7280;margin:0}.sm-error{padding:6px 20px;font-size:13px;color:#dc2626;flex-shrink:0}.sm-list{flex:1;overflow-y:auto;padding:6px 0 4px}.sm-empty{padding:10px 20px;font-size:13px;color:#9ca3af}.sm-section-row{padding:0 16px;margin-bottom:1px}.sm-section-row-inner{display:flex;align-items:center;gap:8px;padding:6px 4px;border-radius:5px}.sm-section-row-inner:hover{background:#f9fafb}.sm-reorder-btns{display:flex;flex-direction:column;gap:1px}.sm-reorder-btn{background:none;border:none;cursor:pointer;color:#9ca3af;font-size:11px;padding:1px 3px;line-height:1}.sm-reorder-btn:hover:not(:disabled){color:#374151}.sm-reorder-btn:disabled{opacity:.3;cursor:default}.sm-section-name{flex:1;font-size:14px;color:#111827;font-weight:500}.sm-section-actions{display:flex;gap:4px}.sm-edit-row,.sm-archive-confirm-row,.sm-add-form{display:flex;align-items:center;gap:8px;padding:6px 4px}.sm-input{flex:1;border:1px solid #d1d5db;border-radius:5px;padding:5px 10px;font-size:13px;outline:none}.sm-input:focus{border-color:#374151;box-shadow:0 0 0 2px #3741511f}.sm-archive-confirm-text{flex:1;font-size:13px;color:#374151}.sm-btn{background:none;border:1px solid transparent;border-radius:5px;font-size:12px;padding:4px 9px;cursor:pointer;white-space:nowrap}.sm-btn--save{background:#1f2937;color:#fff;border-color:#1f2937}.sm-btn--save:hover{background:#374151;border-color:#374151}.sm-btn--save:disabled{opacity:.55;cursor:not-allowed}.sm-btn--cancel{background:#fff;color:#374151;border-color:#d1d5db}.sm-btn--cancel:hover{background:#f3f4f6}.sm-btn--rename{color:#6b7280;border-color:transparent}.sm-btn--rename:hover{background:#f3f4f6;color:#374151}.sm-btn--archive{color:#9ca3af;border-color:transparent}.sm-btn--archive:hover{background:#f3f4f6;color:#6b7280}.sm-btn--archive-confirm{background:#fff;color:#dc2626;border-color:#fca5a5}.sm-btn--archive-confirm:hover{background:#fef2f2;border-color:#dc2626}.sm-btn--archive-confirm:disabled{opacity:.55;cursor:not-allowed}.sm-btn--unarchive{background:#fff;color:#374151;border-color:#d1d5db}.sm-btn--unarchive:hover{background:#f3f4f6}.sm-add-btn{display:inline-flex;align-items:center;gap:4px;background:none;border:1px solid #d1d5db;border-radius:5px;padding:5px 10px;font-size:12px;color:#374151;cursor:pointer;margin:6px 20px}.sm-add-btn:hover{background:#f3f4f6;border-color:#9ca3af}.sm-divider{border:none;border-top:1px solid #f3f4f6;margin:8px 0 0}.sm-archived-section{padding:6px 20px 16px;flex-shrink:0}.sm-archived-label{font-size:11px;font-weight:600;color:#9ca3af;text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px}.sm-archived-row{display:flex;align-items:center;gap:8px;padding:4px 0}.sm-archived-name{font-size:13px;color:#9ca3af}.sm-archived-badge{font-size:10px;background:#f3f4f6;color:#9ca3af;padding:1px 6px;border-radius:4px}.sm-color-row{display:flex;align-items:center;gap:5px;padding:4px 0 8px 40px}.sm-color-swatch{width:20px;height:20px;border-radius:50%;border:2px solid transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:transform .1s,border-color .1s;padding:0}.sm-color-swatch:hover:not(:disabled){transform:scale(1.18)}.sm-color-swatch:disabled{opacity:.5;cursor:default}.sm-color-swatch--default{background:var(--color-bg-muted, #f3f4f6);border-color:var(--color-border, #e5e7eb);color:var(--color-text-muted, #9ca3af)}.sm-color-swatch--selected{border-color:currentColor}.time-input-wrapper{display:inline-flex;flex-direction:column;gap:2px}.time-input{padding:5px 8px;border:1px solid #d1d5db;border-radius:5px;font-size:.85rem;color:#374151;text-align:center;font-variant-numeric:tabular-nums;font-family:monospace;background-color:#fff}.time-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f633}.time-input.invalid{border-color:#dc2626}.time-input.invalid:focus{border-color:#dc2626;box-shadow:0 0 0 2px #dc262626}.time-input-error{font-size:.7rem;color:#dc2626;line-height:1.2;white-space:nowrap}.time-input-wrapper.full-width{width:100%}.time-input-wrapper.full-width .time-input{width:100%;padding:10px 12px;font-size:14px;text-align:left}.time-input-wrapper.full-width .time-input:focus{box-shadow:0 0 0 3px #3b82f61a}.spe-panel{padding:20px 24px 24px;background:#f3f4f6;min-height:100%;display:flex;flex-direction:column;gap:20px}.spe-header{display:flex;flex-direction:column;gap:6px}.spe-title{font-size:1.25rem;font-weight:700;color:#111827;margin:0}.spe-subtitle{font-size:.875rem;color:#6b7280;margin:0;line-height:1.5;max-width:560px}.spe-close-btn{align-self:flex-start;margin-top:4px}.spe-days{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}.spe-day-section{background:#fff;border-radius:6px;padding:12px;border:1px solid #e5e7eb;display:flex;flex-direction:column;gap:8px}.spe-day-name{font-size:.875rem;font-weight:600;color:#374151;margin:0}.spe-empty-day{font-size:.8rem;color:#9ca3af;margin:0}.spe-slot-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:4px}.spe-slot-time{flex:1;color:#374151;font-variant-numeric:tabular-nums}.spe-slot-qty{color:#6b7280;font-weight:500;font-size:.8rem}.spe-slot-delete{background:none;border:none;color:#9ca3af;font-size:16px;line-height:1;padding:0 2px;cursor:pointer;border-radius:3px;transition:color .1s,background .1s}.spe-slot-delete:hover:not(:disabled){color:#dc2626;background:#fef2f2}.spe-slot-delete:disabled{opacity:.4;cursor:not-allowed}.spe-add-form{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding-top:4px;border-top:1px solid #f3f4f6}.spe-time-input{width:64px;padding:5px 8px;border:1px solid #d1d5db;border-radius:5px;font-size:.85rem;color:#374151;text-align:center;font-variant-numeric:tabular-nums}.spe-time-input:focus{outline:none;border-color:#374151;box-shadow:0 0 0 2px #3741511f}.spe-dash{color:#9ca3af;font-size:.875rem}.spe-qty-control{display:flex;align-items:center;gap:4px;margin-left:4px}.spe-qty-btn{width:24px;height:24px;border:1px solid #d1d5db;border-radius:4px;background:#fff;color:#374151;font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1;padding:0}.spe-qty-btn:hover:not(:disabled){background:#f3f4f6}.spe-qty-btn:disabled{opacity:.4;cursor:not-allowed}.spe-qty-value{font-size:.875rem;font-weight:500;color:#374151;min-width:20px;text-align:center}.spe-add-btn{font-size:.8rem;padding:5px 12px;margin-left:4px}.spe-cancel-btn{font-size:.8rem;padding:5px 10px}.spe-add-day-btn{width:100%;font-size:.8rem;padding:6px 0;color:#6b7280;border:1px dashed #d1d5db!important;background:none!important;border-radius:4px}.spe-add-day-btn:hover:not(:disabled){background:#f9fafb!important;border-color:#9ca3af!important;color:#374151}.spe-error{font-size:.75rem;color:#ef4444;width:100%}.spe-section-select{border:1px solid #d1d5db;border-radius:5px;padding:5px 8px;font-size:.8rem;color:#374151;background:#fff;cursor:pointer;max-width:120px}.spe-section-select:focus{outline:none;border-color:#374151;box-shadow:0 0 0 2px #3741511f}.spe-slot-item-wrapper{display:flex;flex-direction:column;gap:0}.spe-slot-item{display:flex;align-items:center;gap:8px;padding:6px 8px;background:#f3f4f6;border-radius:5px;font-size:.875rem}.spe-slot-section{font-size:.75rem;font-weight:600;color:#6b7280;background:#e5e7eb;padding:1px 6px;border-radius:4px;white-space:nowrap;flex-shrink:0}.spe-slot-copy{background:none;border:none;color:#9ca3af;font-size:14px;line-height:1;padding:0 2px;cursor:pointer;border-radius:3px;transition:color .1s,background .1s}.spe-slot-copy:hover:not(:disabled){color:#374151;background:#e5e7eb}.spe-slot-copy:disabled{opacity:.4;cursor:not-allowed}.spe-copy-panel{background:#fff;border:1px solid #e5e7eb;border-radius:5px;padding:10px 12px;margin-top:4px;display:flex;flex-direction:column;gap:8px}.spe-copy-title{font-size:.8rem;font-weight:600;color:#374151;margin:0}.spe-copy-empty{font-size:.8rem;color:#9ca3af;margin:0}.spe-copy-section-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:4px}.spe-copy-section-label{display:flex;align-items:center;gap:6px;font-size:.8rem;color:#374151;cursor:pointer}.spe-copy-section-label input[type=checkbox]{cursor:pointer}.spe-copy-mode{display:flex;gap:12px}.spe-copy-mode-label{display:flex;align-items:center;gap:4px;font-size:.8rem;color:#374151;cursor:pointer}.spe-copy-actions{display:flex;gap:6px}.spe-section-tabs{display:flex;flex-wrap:wrap;gap:3px;border-bottom:1px solid #e5e7eb;padding-bottom:10px}.spe-section-tab{padding:5px 12px;border:1px solid #e5e7eb;border-radius:4px;background:#f3f4f6;font-size:12px;font-weight:500;color:#6b7280;cursor:pointer;transition:all .1s}.spe-section-tab:hover{background:#e9eaec;border-color:#d1d5db;color:#374151}.spe-section-tab--active{background:#fff;border-color:#374151;color:#111827;font-weight:600}.spe-no-sections{color:#9ca3af;font-size:14px;padding:16px 0;text-align:center}.setup-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:flex-start;justify-content:center;padding:40px 24px;z-index:200;overflow-y:auto}.setup-panel{width:100%;max-width:960px;background:var(--color-bg-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-modal);display:flex;flex-direction:column;overflow:hidden}.setup-tab-bar{display:flex;align-items:center;border-bottom:2px solid var(--color-border);background:var(--color-bg-surface);padding:0 16px;gap:0;flex-shrink:0}.setup-tab-btn{padding:12px 20px;border:none;background:none;font-size:14px;font-weight:500;color:var(--color-text-secondary);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;transition:color var(--transition-fast),border-color var(--transition-fast)}.setup-tab-btn:hover{color:var(--color-text-primary)}.setup-tab-btn--active{color:var(--color-text-primary);border-bottom-color:var(--color-text-secondary);font-weight:600}.setup-close-btn{margin-left:auto;background:none;border:none;color:var(--color-text-faint);font-size:18px;cursor:pointer;padding:10px;line-height:1;border-radius:var(--radius-sm)}.setup-close-btn:hover{color:var(--color-text-secondary);background:var(--color-bg-muted)}.setup-tab-content{overflow-y:auto;max-height:calc(90vh - 80px)}.setup-tab-content .spe-close-btn,.setup-tab-content .sm-close-btn{display:none}.vrp-container{border-top:1px solid #f3f4f6}.vrp-header{width:100%;display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:none;border:none;cursor:pointer;text-align:left}.vrp-header:hover{background:var(--color-bg-subtle)}.vrp-header-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-muted);display:flex;align-items:center;gap:6px}.vrp-pending-count{font-size:.7rem;font-weight:600;background:#fef3c7;color:#92400e;padding:1px 6px;border-radius:20px;text-transform:none;letter-spacing:0}.vrp-chevron{font-size:.65rem;color:#9ca3af}.vrp-list{display:flex;flex-direction:column;gap:1px;padding-bottom:8px}.vrp-empty{font-size:.8rem;color:#9ca3af;text-align:center;padding:12px 16px;margin:0}.vrp-row{padding:10px 16px;display:flex;flex-direction:column;gap:8px;border-bottom:1px solid #f9fafb}.vrp-row-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.vrp-row-info{display:flex;flex-direction:column;gap:2px;min-width:0}.vrp-employee-name{font-size:.85rem;font-weight:600;color:#111827}.vrp-employee-email{font-size:.72rem;color:#9ca3af}.vrp-dates{font-size:.8rem;color:#374151}.vrp-submitted{font-size:.72rem;color:#9ca3af}.vrp-rejection-reason{font-size:.75rem;color:#dc2626}.vrp-affects-week{font-size:.72rem;font-weight:600;color:#92400e;background:#fef3c7;border-radius:4px;padding:1px 6px;display:inline-block}.vrp-badge{border-radius:var(--radius-full);flex-shrink:0}.vrp-actions{display:flex;gap:6px}.vrp-reject-form{display:flex;flex-direction:column;gap:6px}.vrp-reject-input{padding:6px 8px;border:1px solid #d1d5db;border-radius:6px;font-size:.8rem;font-family:inherit;width:100%;box-sizing:border-box}.vrp-reject-input:focus{outline:none;border-color:var(--color-brand-600, #534ab7);box-shadow:0 0 0 2px #534ab71f}.vrp-reject-actions{display:flex;gap:6px}.vrp-btn{font-size:.75rem;font-weight:600;padding:4px 12px;border-radius:6px;border:none;cursor:pointer}.vrp-btn:disabled{opacity:.5;cursor:not-allowed}.vrp-btn-approve{background:#dcfce7;color:#166534}.vrp-btn-approve:hover:not(:disabled){background:#bbf7d0}.vrp-btn-reject{background:#fee2e2;color:#991b1b}.vrp-btn-reject:hover:not(:disabled){background:#fecaca}.vrp-btn-cancel{background:#f3f4f6;color:#374151}.vrp-btn-cancel:hover:not(:disabled){background:#e5e7eb}.shift-popover{position:fixed;width:260px;background:var(--color-bg-surface, #ffffff);border-radius:var(--radius-xl, 12px);box-shadow:0 4px 20px #0000001f,0 1px 6px #0000000f;border:1px solid var(--color-border);z-index:1000;padding:11px 14px 14px;display:flex;flex-direction:column;gap:8px;overflow:hidden;box-sizing:border-box}.shift-popover-header{display:flex;align-items:center;justify-content:space-between}.shift-popover-title{font-size:var(--font-size-xs);font-weight:600;color:var(--color-text-secondary);text-transform:lowercase}.shift-popover-title:first-letter{text-transform:uppercase}.shift-popover-close{background:none;border:none;color:var(--color-text-muted);font-size:.8rem;cursor:pointer;padding:4px 6px;line-height:1;border-radius:4px;margin:-4px -6px -4px 0}.shift-popover-close:hover{color:#6b7280;background:var(--color-bg-muted)}.shift-popover-summary{display:flex;flex-direction:column;gap:2px;background:var(--color-bg-subtle);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:6px 9px}.shift-popover-summary-context{font-size:.7rem;color:var(--color-text-muted);font-weight:500}.shift-popover-summary-employee{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-primary)}.shift-popover-row{display:flex;align-items:center;gap:8px}.shift-popover-label{font-size:.72rem;font-weight:600;color:var(--color-text-muted);width:40px;flex-shrink:0}.shift-popover-value{font-size:.82rem;color:var(--color-text-primary);font-weight:500}.shift-popover-row .time-input-wrapper{flex:1;min-width:0}.shift-popover-row .time-input{width:100%}.shift-popover-error{font-size:.75rem;color:var(--color-danger-action);background:var(--color-danger-bg);border-radius:5px;padding:5px 8px}.shift-popover-overnight{font-size:.72rem;color:var(--color-text-muted);margin-left:4px;white-space:nowrap}.shift-popover-actions{display:flex;flex-direction:column;gap:4px;margin-top:0}.shift-popover-open-hint{font-size:11px;color:var(--color-text-secondary, #6b7280);text-align:center;margin:0 0 4px}.shift-popover-btn{width:100%;padding:6px 12px;border:none;border-radius:var(--radius-md);font-size:.8rem;font-weight:600;cursor:pointer;text-align:center;box-sizing:border-box}.shift-popover-btn--save{background:var(--color-brand-600);color:#fff}.shift-popover-btn--save:hover{background:var(--color-brand-700, #3c3489)}.shift-popover-divider{display:flex;align-items:center;gap:6px;margin:0}.shift-popover-divider:before,.shift-popover-divider:after{content:"";flex:1;height:1px;background:var(--color-border)}.shift-popover-divider span{font-size:.62rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-faint);white-space:nowrap}.shift-popover-manage-actions{display:flex;flex-direction:column;gap:3px}.shift-popover-btn--swap{background:var(--color-brand-50);color:var(--color-brand-700, #3c3489);border:1px solid var(--color-brand-200);font-weight:500}.shift-popover-btn--swap:hover{background:var(--color-brand-100, #cecbf6);border-color:var(--color-brand-300, #afa9ec)}.shift-popover-btn--unassign{background:none;color:var(--color-text-secondary);border:1px solid var(--color-border);font-weight:500}.shift-popover-btn--unassign:hover{background:var(--color-bg-muted);color:var(--color-text-primary)}.shift-popover-btn--delete{background:none;color:var(--color-danger-action);border:1px solid var(--color-danger-border);font-weight:500}.shift-popover-btn--delete:hover{background:var(--color-danger-bg);border-color:#f87171}.shift-popover-row--break{align-items:center}.shift-popover-break-inputs{display:flex;align-items:center;gap:4px;flex:1;min-width:0}.shift-popover-break-inputs .time-input-wrapper{flex:1;min-width:0}.shift-popover-break-inputs .time-input{width:100%}.shift-popover-break-sep{font-size:.75rem;color:var(--color-text-muted);flex-shrink:0}.shift-popover-break-clear{background:none;border:none;color:var(--color-border-hover);font-size:.7rem;cursor:pointer;padding:2px 3px;line-height:1;border-radius:3px;flex-shrink:0}.shift-popover-break-clear:hover{color:var(--color-text-muted);background:var(--color-bg-muted)}.shift-popover-former{display:block;font-size:10px;font-weight:400;color:var(--color-text-faint);margin-top:1px;opacity:.8}.shift-popover-split{display:flex;flex-direction:column;gap:8px;padding-top:2px}.shift-popover-select{flex:1;min-width:0;padding:5px 7px;border:1px solid var(--color-border-hover);border-radius:5px;font-size:.82rem;color:var(--color-text-secondary);background:var(--color-bg-surface, white);cursor:pointer}.shift-popover-select:focus{outline:none;border-color:var(--color-brand-600);box-shadow:0 0 0 2px #534ab726}.shift-popover-split-actions{display:flex;gap:8px}.shift-popover-btn--secondary{flex:0 0 auto;padding:7px 10px;background:none;color:var(--color-text-secondary);border:1px solid var(--color-border);border-radius:8px;font-size:.82rem;font-weight:500;cursor:pointer}.shift-popover-btn--secondary:hover{background:var(--color-bg-muted);color:var(--color-text-primary)}.shift-popover-btn--flex{flex:1}.shift-popover-btn--split{background:none;color:var(--color-text-secondary);border:1px solid var(--color-border);border-radius:8px}.shift-popover-btn--split:hover{background:var(--color-bg-muted);color:var(--color-text-primary)}.schedule-page{flex:1;min-height:0;min-width:900px;display:flex;flex-direction:column;background:var(--color-bg-page)}.schedule-page-top{padding:14px 20px 0;flex-shrink:0}.schedule-page-top .ph{margin-bottom:var(--space-3)}.schedule-header-actions{display:flex;align-items:center;gap:var(--space-2)}.schedule-alerts-row{display:flex;align-items:center;gap:var(--space-2);padding:6px 0 8px;flex-wrap:wrap}.drag-error-banner{padding:10px 20px;background:var(--color-danger-bg);color:var(--color-danger-text);font-size:var(--font-size-base);display:flex;align-items:center;justify-content:space-between;gap:12px;flex-shrink:0}.drag-error-banner button{background:none;border:none;color:var(--color-danger-text);font-size:18px;cursor:pointer;line-height:1;padding:0 4px}.schedule-body{display:flex;flex:1;min-height:0;overflow:hidden}.schedule-rail{width:264px;flex-shrink:0;display:flex;flex-direction:column;background:var(--color-bg-surface);border-right:1px solid var(--color-border);transition:width .18s ease;overflow:hidden}.schedule-rail--collapsed{width:44px}.rail-top{display:flex;align-items:center;gap:8px;padding:10px 8px;border-bottom:1px solid var(--color-border);flex-shrink:0}.schedule-rail--collapsed .rail-top{justify-content:center;padding:10px 6px}.rail-search{flex:1;min-width:0;padding:7px 10px;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-base);color:var(--color-text-primary);background:var(--color-bg-surface);outline:none}.rail-search:focus{border-color:var(--color-brand-600);box-shadow:0 0 0 2px #534ab71f;background:var(--color-bg-surface)}.rail-search::placeholder{color:var(--color-text-faint)}.rail-collapse-btn{width:28px;height:28px;padding:0;display:flex;align-items:center;justify-content:center;background:none;border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-muted);cursor:pointer;flex-shrink:0;transition:background var(--transition-fast),color var(--transition-fast)}.rail-collapse-btn:hover{background:var(--color-bg-subtle);color:var(--color-text-secondary)}.rail-content{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:0;padding-bottom:12px}.rail-content .employee-manager{border-radius:0;box-shadow:none;border-bottom:1px solid var(--color-border-subtle)}.schedule-board{flex:1;min-width:0;display:flex;flex-direction:column;padding:0 20px 16px;gap:10px;overflow:hidden}.schedule-board-toolbar{display:flex;justify-content:flex-end;align-items:center;gap:8px;flex-shrink:0}.schedule-swap-cancel{height:32px;padding:0 12px;border-radius:var(--radius-md);border:1px solid var(--color-border-hover);background:var(--color-bg-surface);color:var(--color-text-secondary);font-size:var(--font-size-base);cursor:pointer;transition:background var(--transition-fast)}.schedule-swap-cancel:hover{background:var(--color-bg-subtle)}.schedule-board-content{flex:1;min-height:0;display:flex}.grid-wrapper{flex:1;overflow-x:auto}.grid-card{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;border-radius:10px;border:1px solid var(--color-border, #e5e7eb);box-shadow:0 4px 24px #00000014,0 1px 4px #0000000d;overflow:clip;position:relative}.grid-card:after{content:"";position:absolute;top:0;right:0;bottom:0;width:48px;background:linear-gradient(to right,transparent,rgba(255,255,255,.88));pointer-events:none;z-index:5;border-radius:0 10px 10px 0}.conflict-warning{font-size:var(--font-size-sm);color:var(--color-danger-action);font-weight:var(--font-weight-medium);white-space:nowrap}.pattern-editor-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:flex-start;justify-content:center;padding:40px 24px;z-index:200;overflow-y:auto}.pattern-editor-overlay>*{width:100%;max-width:960px;border-radius:var(--radius-xl);box-shadow:var(--shadow-modal)}.vacation-conflict-callout{margin:0 16px 12px;padding:8px 12px;background:var(--color-warning-bg);border:1px solid var(--color-warning-border);border-radius:var(--radius-lg);font-size:var(--font-size-sm);color:var(--color-warning-text);font-weight:var(--font-weight-medium)}.section-active-banner--context{background:#253b5c0f;color:#253b5c;border-color:#253b5c2e;font-weight:600}.schedule-meta-row{display:flex;justify-content:space-between;align-items:center;flex-shrink:0;padding:2px 0 8px}.schedule-kpi-chips{display:flex;align-items:center;gap:var(--space-2);flex:1;justify-content:center}.kpi-chip{display:flex;align-items:center;gap:5px;padding:6px 12px;background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:8px;white-space:nowrap}.kpi-chip-value{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.kpi-chip-label{font-size:var(--font-size-xs);color:var(--color-text-muted)}.kpi-chip-incomplete{font-size:var(--font-size-xs);color:var(--color-text-faint);margin-left:1px}.kpi-chip--open svg{color:var(--color-warning-icon);flex-shrink:0}.kpi-chip--coverage svg{color:var(--color-brand-600);flex-shrink:0}.kpi-chip--hours svg{color:var(--color-brand-600);flex-shrink:0}.kpi-chip--cost svg{color:var(--color-success-icon);flex-shrink:0}.kpi-chip--alert .kpi-chip-value{color:var(--color-warning-icon)}.att-strip{display:flex;align-items:center;justify-content:center;gap:4px;padding:10px 24px;background:var(--color-bg-subtle);border-bottom:1px solid var(--color-border);flex-shrink:0}.att-strip-arrow{width:28px;height:28px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-faint);cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;padding:0}.att-strip-arrow:hover:not(:disabled){background:var(--color-border);color:var(--color-text-secondary)}.att-strip-arrow:disabled{color:var(--color-border-hover);cursor:default}.att-strip-track{display:flex;align-items:center;gap:4px}.att-strip-day{display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 16px;min-width:80px;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;cursor:pointer;transition:background .12s,border-color .12s,color .12s}.att-strip-day-label{font-size:12px;font-weight:500;color:var(--color-text-muted);white-space:nowrap}.att-strip-day--far .att-strip-day-label{color:var(--color-border-hover);font-weight:400}.att-strip-day--near:not(.att-strip-day--selected) .att-strip-day-label{color:var(--color-text-faint);font-weight:400}.att-strip-day--selected{background:var(--color-bg-muted);border-color:var(--color-text-primary);box-shadow:0 1px 3px #0f172a14}.att-strip-day--selected .att-strip-day-label{color:var(--color-text-primary);font-weight:700}.att-strip-day--today:not(.att-strip-day--selected) .att-strip-day-label{color:var(--color-accent-hover);font-weight:600}.att-strip-day:hover:not(.att-strip-day--selected):not(.att-strip-day--disabled){background:var(--color-border);border-color:var(--color-border)}.att-strip-day:hover:not(.att-strip-day--selected):not(.att-strip-day--disabled) .att-strip-day-label{color:var(--color-text-secondary)}.att-strip-day--disabled{opacity:.3;cursor:default}.att-strip-day-badge{font-size:9px;padding:1px 5px;border-radius:3px}.att-strip-today-dot{width:4px;height:4px;border-radius:50%;background:var(--color-accent-hover);display:block}.ds-viewport{flex:1;min-height:0;overflow:auto}.ds-grid{display:grid;width:max-content;min-height:100%;align-content:start}.ds-corner{position:sticky;top:0;left:0;z-index:4;background:var(--color-bg-subtle, #f9fafb);border-right:1px solid var(--color-border, #e5e7eb);border-bottom:2px solid var(--color-border, #e5e7eb)}.ds-time-header{position:sticky;top:0;z-index:3;background:var(--color-bg-subtle, #f9fafb);border-bottom:2px solid var(--color-border, #e5e7eb)}.ds-time-label{position:absolute;top:50%;transform:translateY(-50%);font-size:.7rem;color:var(--color-text-muted, #6b7280);font-weight:600;letter-spacing:.03em;padding-left:5px;white-space:nowrap;pointer-events:none;-webkit-user-select:none;user-select:none}.ds-time-label--midnight{color:var(--color-text-secondary, #374151)}.ds-time-tick{position:absolute;top:0;bottom:0;width:1px;background:var(--color-border-hover, #d1d5db);pointer-events:none}.ds-time-tick--midnight{background:#9ca3af;width:2px}.ds-name-cell{position:sticky;left:0;z-index:2;background:var(--color-bg-subtle, #f9fafb);border-right:1px solid var(--color-border, #e5e7eb);border-bottom:1px solid var(--color-border, #e5e7eb);display:flex;align-items:center;padding:0 10px;gap:8px;min-width:0}.ds-rail-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.ds-rail-name{font-size:.82rem;font-weight:600;color:var(--color-text-primary, #111827);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.3}.ds-rail-subtitle{font-size:.72rem;color:var(--color-text-muted, #6b7280);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.3}.ds-rail-hours{font-size:.72rem;color:var(--color-text-muted, #6b7280);white-space:nowrap;flex-shrink:0}.ds-row--odd.ds-name-cell,.ds-row--odd.ds-row-canvas{background:var(--color-bg-subtle, #f9fafb)}.ds-name-cell.ds-row--selected{border-left:3px solid var(--color-brand-600, #534ab7);background:var(--color-brand-50, #f0effe);padding-left:7px}.ds-row-canvas{position:relative;border-bottom:1px solid var(--color-border, #e5e7eb);background:var(--color-bg-canvas, #ffffff)}.ds-row-line{position:absolute;top:0;bottom:0;width:1px;background:var(--color-border, #e5e7eb);pointer-events:none}.ds-row-line--midnight{background:#c4c9d4;width:2px}.ds-now-line{position:absolute;top:0;bottom:0;width:2px;background:var(--color-brand-600, #534ab7);pointer-events:none;z-index:1;opacity:.75}.ds-now-line:after{content:"";position:absolute;bottom:-4px;left:50%;transform:translate(-50%);width:8px;height:8px;border-radius:50%;background:var(--color-brand-600, #534ab7)}.ds-now-row-line{position:absolute;top:0;bottom:0;width:2px;background:var(--color-brand-600, #534ab7);pointer-events:none;z-index:1;opacity:.35}.ds-shift-block{position:absolute;top:8px;bottom:8px;border-radius:4px;background:#638fff24;border:1px solid rgba(99,143,255,.45);overflow:hidden;display:flex;flex-direction:column;justify-content:center;padding:2px 7px;gap:1px;min-width:0;box-sizing:border-box}.ds-shift-block--new-draft{background:#10b9811f;border-color:#10b98180}.ds-shift-block--changed{background:#f59e0b1f;border-color:#f59e0b8c}.ds-shift-block--pending-delete{background:#ef444414;border-color:#ef444459;opacity:.55}.ds-shift-section{font-size:.74rem;font-weight:600;color:var(--color-text-primary, #111827);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.3}.ds-shift-time{font-size:.67rem;color:var(--color-text-muted, #6b7280);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3}.ds-shift-block--segmented{padding:0;background:transparent;border-color:#638fff4d}.ds-shift-block--segmented.ds-shift-block--new-draft{border-color:#10b98166}.ds-shift-block--segmented.ds-shift-block--changed{border-color:#f59e0b73}.ds-segment{position:absolute;top:0;bottom:0;overflow:hidden;display:flex;align-items:center;padding:0 6px;box-sizing:border-box;border-right:1px solid rgba(255,255,255,.5)}.ds-segment:last-child{border-right:none}.ds-segment--work{background:#638fff2e}.ds-shift-block--new-draft .ds-segment--work{background:#10b98129}.ds-shift-block--changed .ds-segment--work{background:#f59e0b29}.ds-segment--break{background:#f59e0b24}.ds-segment--unplanned{background:repeating-linear-gradient(-45deg,transparent,transparent 3px,rgba(156,163,175,.18) 3px,rgba(156,163,175,.18) 6px)}.ds-segment-label{font-size:.72rem;font-weight:600;color:var(--color-text-secondary, #374151);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1}.ds-segment--break .ds-segment-label{color:#92400e;font-weight:500}.ds-segment--unplanned .ds-segment-label{color:var(--color-text-faint, #9ca3af);font-weight:400;font-style:italic}.ds-seg-block{position:absolute;top:8px;bottom:8px;border-radius:5px;overflow:hidden;display:flex;align-items:center;gap:4px;padding:0 8px;box-sizing:border-box;margin-right:1px}.ds-seg-block--work{background:var(--color-bg-subtle, #f9fafb);border:1px solid var(--color-border, #e5e7eb);cursor:pointer}.ds-seg-block--work.ds-seg-block--unpublished{box-shadow:0 0 0 1.5px var(--color-brand-400, #7b74d4)}.ds-seg-block--work.ds-seg-block--pending-delete{opacity:.55}.ds-seg-block--break{background:var(--color-bg-subtle, #f9fafb);border:1px solid var(--color-border, #e5e7eb);cursor:pointer}.ds-seg-block--gap{background:repeating-linear-gradient(-45deg,transparent,transparent 3px,rgba(156,163,175,.1) 3px,rgba(156,163,175,.1) 6px);border:1px dashed rgba(156,163,175,.4);cursor:pointer}.ds-seg-lifecycle-dot{width:6px;height:6px;min-width:6px;border-radius:50%;background:var(--color-brand-600, #534ab7);flex-shrink:0}.ds-seg-break-icon{opacity:.5;flex-shrink:0;color:var(--color-text-muted, #9ca3af)}.ds-seg-label{font-size:.72rem;font-weight:600;color:var(--color-text-primary, #1a1f2e);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1;pointer-events:none}.ds-seg-label--deleted{text-decoration:line-through;opacity:.65}.ds-seg-block--break .ds-seg-label{color:var(--color-text-secondary, #6b7280);font-weight:500}.ds-seg-label--gap{color:var(--color-text-muted, #9ca3af);font-weight:400;font-style:italic}.ds-group-header{grid-column:1 / -1;position:sticky;left:0;z-index:2;display:flex;align-items:center;gap:6px;padding:0 12px;height:28px;background:var(--color-bg-subtle, #f9fafb);border-top:1px solid var(--color-border, #e5e7eb);border-bottom:1px solid var(--color-border, #e5e7eb);cursor:pointer;-webkit-user-select:none;user-select:none}.ds-group-header:hover{background:var(--color-bg-muted, #f3f4f6)}.ds-group-header-label{font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted, #6b7280)}.ds-group-header-count{font-size:.7rem;color:var(--color-text-faint, #9ca3af);margin-left:2px}.ds-assign-item-cell{position:sticky;left:0;z-index:2;background:var(--color-bg-canvas, #ffffff);border-right:1px solid var(--color-border, #e5e7eb);border-bottom:1px solid var(--color-border-subtle, #f3f4f6);display:flex;flex-direction:column;justify-content:center;padding:0 12px;gap:2px;cursor:pointer}.ds-assign-item-cell:hover,.ds-row--odd.ds-assign-item-cell{background:var(--color-bg-subtle, #f9fafb)}.ds-assign-item-name{font-size:var(--font-size-sm, .82rem);font-weight:500;color:var(--color-text-muted, #6b7280)}.ds-assign-item-time{font-size:var(--font-size-xs, .72rem);color:var(--color-text-faint, #9ca3af)}.ds-assign-item-canvas{position:relative;border-bottom:1px solid var(--color-border-subtle, #f3f4f6);background:var(--color-bg-canvas, #ffffff)}.ds-row--odd.ds-assign-item-canvas{background:var(--color-bg-subtle, #f9fafb)}.ds-assign-real-block{position:absolute;height:36px;top:50%;transform:translateY(-50%);border-radius:4px;border:1.5px dashed var(--color-brand-400, #7b74d4);background:var(--color-brand-50, #f0effe);display:flex;align-items:center;padding:0 8px;min-width:0;overflow:hidden;box-sizing:border-box;transition:box-shadow .12s ease,background .12s ease}.ds-assign-real-block:hover{background:#534ab71a;box-shadow:0 1px 4px #534ab726,0 0 0 1.5px var(--color-brand-400, #7b74d4)}.ds-assign-real-label{font-size:.72rem;font-weight:600;color:var(--color-text-primary, #111827);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ds-assign-demand-block{position:absolute;top:8px;bottom:8px;border-radius:4px;background:#534ab70d;border:1.5px dashed rgba(83,74,183,.35);overflow:hidden;display:flex;align-items:center;padding:2px 7px;box-sizing:border-box;cursor:pointer;transition:box-shadow .12s ease,background .12s ease,border-color .12s ease}.ds-assign-demand-block:hover{background:#534ab717;border-color:var(--color-brand-400, #7b74d4);box-shadow:0 1px 4px #534ab71f,0 0 0 1.5px #534ab740}.ds-assign-demand-label{font-size:.7rem;font-weight:500;color:var(--color-text-secondary, #374151);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ds-break-bar{position:absolute;top:0;bottom:0;background:#f59e0b38;border-left:2px solid rgba(245,158,11,.65);border-right:2px solid rgba(245,158,11,.65);pointer-events:none}.dap-popover{position:fixed;width:280px;background:var(--color-bg-surface, #ffffff);border-radius:10px;box-shadow:0 4px 20px #0000001f,0 1px 6px #0000000f;border:1px solid var(--color-border, #e5e7eb);z-index:1000;padding:12px 14px 14px;display:flex;flex-direction:column;gap:8px;box-sizing:border-box}.dap-header{display:flex;align-items:center;justify-content:space-between}.dap-title{font-size:.78rem;font-weight:600;color:var(--color-text-secondary, #374151);text-transform:lowercase}.dap-title:first-letter{text-transform:uppercase}.dap-close{background:none;border:none;color:var(--color-text-faint, #9ca3af);font-size:.8rem;cursor:pointer;padding:4px 6px;line-height:1;border-radius:4px;margin:-4px -6px -4px 0}.dap-close:hover{color:var(--color-text-muted, #6b7280);background:var(--color-bg-muted, #f3f4f6)}.dap-summary{display:flex;flex-direction:column;gap:2px;background:var(--color-bg-subtle, #f9fafb);border-radius:7px;padding:7px 10px}.dap-summary-employee{font-size:.88rem;font-weight:600;color:var(--color-text-primary, #111827)}.dap-summary-time{font-size:.7rem;color:var(--color-text-faint, #9ca3af);font-weight:500}.dap-summary-section{font-size:.72rem;color:var(--color-text-muted, #6b7280);font-weight:500}.dap-field{display:flex;flex-direction:column;gap:3px}.dap-label{font-size:.7rem;font-weight:600;color:var(--color-text-faint, #9ca3af);letter-spacing:.02em;text-transform:uppercase}.dap-select{width:100%;padding:5px 8px;border:1px solid var(--color-border, #d1d5db);border-radius:6px;font-size:.82rem;color:var(--color-text-primary, #374151);background:var(--color-bg-surface, #ffffff);cursor:pointer;box-sizing:border-box}.dap-select:focus{outline:none;border-color:var(--color-brand-400, #7b74d4);box-shadow:0 0 0 2px #534ab726}.dap-row-two{display:grid;grid-template-columns:1fr 1fr;gap:8px}.dap-btn-primary{width:100%;padding:8px 12px;background:var(--color-brand-600, #534ab7);color:#fff;border:none;border-radius:8px;font-size:.82rem;font-weight:600;cursor:pointer}.dap-btn-primary:hover:not(:disabled){background:var(--color-brand-700, #4038a0)}.dap-btn-primary:disabled{background:var(--color-border-hover, #d1d5db);color:var(--color-text-faint, #9ca3af);cursor:default}.dap-btn-primary--flex{flex:1}.dap-btn-secondary{width:100%;padding:7px 12px;background:none;color:var(--color-text-muted, #6b7280);border:1px solid var(--color-border, #e5e7eb);border-radius:8px;font-size:.82rem;font-weight:500;cursor:pointer}.dap-btn-secondary:hover:not(:disabled){background:var(--color-bg-muted, #f3f4f6);color:var(--color-text-secondary, #374151)}.dap-btn-secondary:disabled{opacity:.5;cursor:default}.dap-btn-danger{width:100%;padding:7px 12px;background:#fef2f2;color:#dc2626;border:1px solid #fecaca;border-radius:8px;font-size:.82rem;font-weight:600;cursor:pointer}.dap-btn-danger:hover:not(:disabled){background:#fee2e2;border-color:#fca5a5}.dap-btn-danger:disabled{opacity:.5;cursor:default}.dap-error{margin:0;font-size:.75rem;color:#dc2626;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;padding:5px 8px;line-height:1.4}.dap-employee-list{max-height:200px;overflow-y:auto;display:flex;flex-direction:column;gap:2px;border:1px solid var(--color-border, #e5e7eb);border-radius:7px;padding:4px;background:var(--color-bg-subtle, #f9fafb)}.dap-employee-row{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:6px;cursor:pointer;border-left:3px solid transparent}.dap-employee-row:hover{background:var(--color-bg-muted, #f3f4f6)}.dap-employee-row--selected{background:var(--color-brand-50, #f0effe);border-left-color:var(--color-brand-600, #534ab7)}.dap-employee-name{font-size:.82rem;font-weight:500;color:var(--color-text-primary, #111827);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dap-split-preview{display:flex;flex-wrap:wrap;align-items:center;gap:4px;font-size:.72rem;color:var(--color-text-muted, #6b7280);background:var(--color-bg-subtle, #f9fafb);border-radius:6px;padding:6px 9px;line-height:1.4}.dap-split-section{font-weight:600;color:var(--color-text-secondary, #374151)}.dap-split-divider{color:var(--color-border-hover, #d1d5db);margin:0 2px}.dap-action-row{display:flex;gap:8px}.dap-action-row .dap-btn-secondary{width:auto;flex-shrink:0}.dap-employee-list-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.dap-btn-toggle{padding:3px 8px;font-size:.72rem;font-weight:500;color:var(--color-text-muted, #6b7280);background:none;border:1px solid var(--color-border, #e5e7eb);border-radius:5px;cursor:pointer;white-space:nowrap;flex-shrink:0}.dap-btn-toggle:hover{background:var(--color-bg-muted, #f3f4f6);color:var(--color-text-secondary, #374151)}.dap-employee-empty{padding:10px 8px;font-size:.78rem;color:var(--color-text-faint, #9ca3af);text-align:center;font-style:italic}.ds-page{height:100%;display:flex;flex-direction:column;overflow:hidden;background:var(--color-bg-page, #f5f6f9)}.ds-page-header{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 20px 10px;background:var(--color-bg-page, #f5f6f9)}.ds-page-title{margin:0;font-size:1.35rem;font-weight:700;color:var(--color-text, #1a1f2e)}.ds-page-header-controls{display:flex;align-items:center;gap:10px;flex-shrink:0}.ds-grid-card{flex:1;min-height:0;margin:0 20px 20px;background:var(--color-bg-surface, #ffffff);border:1px solid var(--color-border, #e5e7eb);border-radius:10px;overflow:hidden;box-shadow:0 1px 3px #0000000f;display:flex;flex-direction:column}.ds-daily-kpi-strip{flex-shrink:0;display:flex;align-items:center;justify-content:center;gap:var(--space-2, 8px);padding:8px 20px}.ds-daily-kpi-strip .kpi-chip{display:flex;align-items:center;gap:5px;padding:6px 12px;background:var(--color-bg-surface, #ffffff);border:1px solid var(--color-border, #e5e7eb);border-radius:8px;white-space:nowrap}.ds-daily-kpi-strip .kpi-chip-value{font-size:var(--font-size-sm, .82rem);font-weight:var(--font-weight-semibold, 600);color:var(--color-text-primary, #111827)}.ds-daily-kpi-strip .kpi-chip-label{font-size:var(--font-size-xs, .72rem);color:var(--color-text-muted, #6b7280)}.ds-daily-kpi-strip .kpi-chip-incomplete{font-size:var(--font-size-xs, .72rem);color:var(--color-text-faint, #9ca3af);margin-left:1px}.ds-daily-kpi-strip .kpi-chip--open svg{color:var(--color-warning-icon);flex-shrink:0}.ds-daily-kpi-strip .kpi-chip--hours svg{color:var(--color-brand-600);flex-shrink:0}.ds-daily-kpi-strip .kpi-chip--employees svg{color:var(--color-brand-600);flex-shrink:0}.ds-daily-kpi-strip .kpi-chip--cost svg{color:var(--color-success-icon);flex-shrink:0}.ds-daily-kpi-strip .kpi-chip--alert .kpi-chip-value{color:var(--color-warning-icon)}.publish-changes-pill{background:var(--color-brand-50);color:var(--color-brand-800);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);padding:3px 9px;white-space:nowrap;line-height:1.4}.ds-error-banner{padding:10px 20px;background:#fef2f2;color:#991b1b;font-size:14px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-shrink:0}.ds-error-banner button{background:none;border:none;color:#991b1b;font-size:18px;cursor:pointer;line-height:1;padding:0 4px}.requests-page{display:flex;flex-direction:column;height:100%;background:var(--color-bg-page)}.requests-page-header{padding:24px 32px 16px;background:var(--color-bg-surface);border-bottom:1px solid var(--color-border);flex-shrink:0}.requests-page-header h1{margin:0;font-size:1.25rem;font-weight:600;color:var(--color-text-primary)}.requests-page-body{flex:1;overflow:auto;padding:24px 32px}.requests-section-title{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.06em;margin:0 0 12px}.requests-loading{color:var(--color-text-muted);font-size:var(--font-size-md)}.ui-tabs{display:flex;border-bottom:1px solid var(--color-border);gap:0}.ui-tab{padding:10px 16px;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--color-text-muted);border:none;background:none;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;display:flex;align-items:center;gap:6px;transition:color var(--transition-base),border-color var(--transition-base);white-space:nowrap}.ui-tab:hover{color:var(--color-text-secondary)}.ui-tab--active{color:var(--color-brand-600);border-bottom-color:var(--color-brand-600)}.ui-tab-count{display:inline-flex;align-items:center;justify-content:center;background:var(--color-neutral-bg);color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);border-radius:var(--radius-full);padding:1px 6px;min-width:18px}.ui-tab--active .ui-tab-count{background:var(--color-brand-50);color:var(--color-brand-600)}.ui-modal-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#00000073;display:flex;align-items:center;justify-content:center}.ui-modal-panel{background:var(--color-bg-surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-modal);width:640px;max-width:calc(100vw - 32px);max-height:86vh;display:flex;flex-direction:column;outline:none}.ui-modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 24px 0;flex-shrink:0}.ui-modal-title{font-size:var(--font-size-lg, 16px);font-weight:500;color:var(--color-text-primary);margin:0}.ui-modal-close{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:none;border:none;border-radius:var(--radius-md);cursor:pointer;color:var(--color-text-muted);font-size:18px;line-height:1;flex-shrink:0}.ui-modal-close:hover{background:var(--color-bg-muted);color:var(--color-text-secondary)}.ui-modal-body{overflow-y:auto;flex:1;min-height:0;display:flex;flex-direction:column}.ui-dropdown{position:relative;display:inline-flex}.ui-dropdown-trigger{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-md);color:var(--color-text-secondary);cursor:pointer;white-space:nowrap;outline:none}.ui-dropdown-trigger:hover{border-color:var(--color-border-hover)}.ui-dropdown-trigger:focus-visible{border-color:var(--color-brand-600);box-shadow:0 0 0 2px #534ab71f}.ui-dropdown-label{flex:1}.ui-dropdown-chevron{flex-shrink:0;color:var(--color-text-muted);transition:transform var(--transition-base)}.ui-dropdown-chevron--open{transform:rotate(180deg)}.ui-dropdown-menu{position:absolute;top:calc(100% + 4px);left:0;background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);min-width:100%;z-index:50;padding:4px;display:flex;flex-direction:column}.ui-dropdown-item{display:flex;align-items:center;gap:6px;width:100%;text-align:left;padding:7px 12px 7px 8px;font-size:var(--font-size-md);border:none;background:none;cursor:pointer;border-radius:var(--radius-md);color:var(--color-text-secondary);white-space:nowrap}.ui-dropdown-item:hover{background:var(--color-bg-subtle);color:var(--color-text-primary)}.ui-dropdown-item--selected{color:var(--color-text-primary);font-weight:var(--font-weight-medium)}.ui-dropdown-item-check{width:16px;height:16px;flex-shrink:0;display:flex;align-items:center;justify-content:center;color:var(--color-brand-600)}.employees-page{display:flex;flex-direction:column;height:100%;min-width:720px;background:var(--color-bg-page);overflow:hidden}.emp-admin-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background-color:var(--color-warning-icon);margin-left:6px;vertical-align:middle;flex-shrink:0}.employees-page>.ph{padding-top:14px;padding-left:20px;padding-right:20px}.emp-header-actions{display:flex;gap:8px;align-items:center}.emp-kpi-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:0 24px 16px;flex-shrink:0}.emp-toolbar{display:flex;align-items:center;gap:10px;padding:0 24px 16px;flex-shrink:0}.emp-search{flex:1;max-width:320px;padding:7px 12px;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-md);color:var(--color-text-primary);background:var(--color-bg-surface);outline:none}.emp-search:focus{border-color:var(--color-brand-600);box-shadow:0 0 0 2px #534ab71f}.emp-filter-select{padding:7px 10px;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-md);color:var(--color-text-secondary);background:var(--color-bg-surface);outline:none;cursor:pointer}.emp-filter-select:focus{border-color:var(--color-brand-600)}.emp-banner{margin:0 24px 8px;padding:8px 12px;border-radius:var(--radius-md);font-size:var(--font-size-sm)}.emp-banner--success{background:var(--color-success-bg);color:var(--color-success-text)}.emp-banner--error{background:var(--color-danger-bg);color:var(--color-danger-text)}.emp-table-wrap{flex:1;overflow-y:auto;margin:0 24px 24px;min-height:0;background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.emp-table{width:100%;border-collapse:collapse;font-size:var(--font-size-md)}.emp-table th{text-align:left;font-size:var(--font-size-sm);font-weight:500;color:var(--color-text-muted);padding:12px 12px 8px 0;border-bottom:1px solid var(--color-border);white-space:nowrap}.emp-table th:first-child,.emp-table td:first-child{padding-left:16px}.emp-table th:last-child,.emp-table td:last-child{padding-right:16px}.emp-table-row{cursor:pointer;border-bottom:1px solid var(--color-border-subtle);height:var(--row-h-comfortable, 44px)}.emp-table-row:hover{background:var(--color-bg-subtle)}.emp-table-row:last-child{border-bottom:none}.emp-table td{padding:0 12px 0 0;color:var(--color-text-secondary);font-size:var(--font-size-md);vertical-align:middle}.emp-col-employee{display:flex;align-items:center;gap:10px;padding:10px 16px 10px 0;min-width:200px}.emp-col-employee-text{display:flex;flex-direction:column;gap:1px;min-width:0}.emp-col-name{font-weight:500;color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.emp-col-num{font-size:var(--font-size-xs, .72rem);color:var(--color-text-faint);font-family:monospace}.emp-col-email{font-size:var(--font-size-sm);color:var(--color-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.emp-col-status{display:flex;align-items:center;gap:6px}.emp-col-actions{width:40px;text-align:right}.emp-menu{position:relative;display:inline-flex}.emp-menu-trigger{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:none;border:none;border-radius:var(--radius-md);cursor:pointer;color:var(--color-text-muted)}.emp-menu-trigger:hover{background:var(--color-bg-muted);color:var(--color-text-secondary)}.emp-menu-dropdown{position:absolute;right:0;top:calc(100% + 4px);background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);min-width:160px;z-index:50;padding:4px;display:flex;flex-direction:column}.emp-menu-dropdown button{display:block;width:100%;text-align:left;padding:7px 12px;font-size:var(--font-size-md);border:none;background:none;cursor:pointer;border-radius:var(--radius-md);color:var(--color-text-secondary)}.emp-menu-dropdown button:hover{background:var(--color-bg-subtle);color:var(--color-text-primary)}.emp-menu-item--danger{color:var(--color-danger-action, #dc2626)!important}.emp-menu-item--danger:hover{background:var(--color-danger-bg)!important}.emp-modal-header-bar{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:20px 24px 0;flex-shrink:0}.emp-modal-close{margin-top:2px}.employees-record-name-row{display:flex;align-items:center;gap:8px;margin-bottom:4px}.emp-stat-tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:4px 0 8px}.employees-record-panel{background:var(--color-bg-surface);box-shadow:var(--shadow-sm);border-radius:var(--radius-lg);display:flex;flex-direction:column;overflow:hidden;flex:1}.employees-record-header{padding:20px 24px 0;background:var(--color-bg-surface);flex-shrink:0}.employees-record-header-identity{display:flex;align-items:flex-start;gap:12px;margin-bottom:6px}.employees-record-header-text{display:flex;flex-direction:column;gap:2px;min-width:0}.employees-record-name{margin:0;font-size:1.1rem;font-weight:600;color:#111827}.employees-record-header-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding-bottom:4px}.employees-record-status{font-size:.8rem;font-weight:600;color:#374151}.employees-record-status--inactive{color:#9ca3af}.employees-record-status--pending{color:#d97706}.employees-record-meta-sep{font-size:.8rem;color:#d1d5db}.employees-record-meta-item{font-size:.8rem;color:#6b7280}.employees-record-header-desc{margin:4px 0 16px;font-size:.82rem;color:#6b7280}.employees-record-panel .ui-tabs{padding:0 24px;border-top:1px solid var(--color-border-subtle);flex-shrink:0}.emp-tab-content{padding:20px 24px 28px;display:flex;flex-direction:column;gap:12px;overflow-y:auto;flex:1}.emp-field-row{display:flex;align-items:center;gap:12px}.emp-field-row--top{align-items:flex-start}.emp-label{flex:0 0 160px;font-size:.8rem;font-weight:500;color:#374151}.emp-input{flex:1;padding:6px 10px;border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;color:#111827;background:#fff;outline:none;min-width:0}.emp-input:focus{border-color:var(--color-brand-600);box-shadow:0 0 0 2px #534ab726}.emp-input--short{flex:0 0 80px}.emp-wage-wrap{display:flex;align-items:center;gap:4px}.emp-currency{font-size:.875rem;color:#6b7280;flex-shrink:0}.emp-value{font-size:.875rem;color:#374151}.emp-textarea{resize:vertical}.emp-input-with-suggestions{flex:1;min-width:0}.emp-capabilities{flex:1;display:flex;flex-direction:column;gap:8px;min-width:0}.emp-capability-tags{display:flex;flex-wrap:wrap;gap:6px}.emp-capability-tag{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:4px;font-size:.78rem;color:#374151}.emp-capability-remove{background:none;border:none;padding:0;cursor:pointer;font-size:.85rem;line-height:1;color:#9ca3af}.emp-capability-remove:hover{color:#ef4444}.emp-capability-input-row{display:flex;gap:6px}.emp-section-heading{margin:4px 0;font-size:var(--font-size-md);font-weight:500;color:var(--color-text-secondary);text-transform:none;letter-spacing:normal}.emp-subsection-heading{margin:12px 0 4px;font-size:var(--font-size-md);font-weight:500;color:var(--color-text-muted);text-transform:none;letter-spacing:normal}.emp-section-divider{height:1px;background:#f3f4f6;margin:8px 0 4px}.emp-section-footer{display:flex;gap:8px;margin-top:4px}.emp-add-form-footer{margin-top:8px}.emp-employee-number{font-size:.76rem;font-weight:600;color:var(--color-text-muted);background:var(--color-bg-muted);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:1px 7px;letter-spacing:.04em;font-family:monospace}.emp-email-field{flex:1;display:flex;align-items:center;gap:10px;min-width:0}.emp-email-value{font-size:.875rem;color:#374151;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.emp-email-update-btn{font-size:.78rem;padding:3px 8px;flex-shrink:0}.emp-email-edit-section{display:flex;flex-direction:column;gap:8px;padding:10px 12px;background:var(--color-bg-subtle);border:1px solid var(--color-border);border-radius:var(--radius-md)}.emp-email-edit-actions{display:flex;gap:6px}.emp-email-confirm{display:flex;flex-direction:column;gap:8px}.emp-email-confirm-text{margin:0;font-size:.82rem;color:#374151;line-height:1.5}.emp-access-summary{display:flex;flex-direction:column}.emp-access-summary-item{display:flex;align-items:center;justify-content:space-between;padding:7px 0;border-bottom:1px solid var(--color-border-subtle)}.emp-access-summary-item:last-child{border-bottom:none}.emp-access-summary-label{font-size:.82rem;color:#374151}.emp-access-summary-value{font-size:.76rem;font-weight:600;padding:2px 8px;border-radius:var(--radius-full)}.emp-access-summary-value--on{background:#d1fae5;color:#065f46}.emp-access-summary-value--off{background:#f3f4f6;color:#9ca3af}.emp-danger-zone{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:16px;background:var(--color-bg-subtle)}.emp-danger-zone-title{font-size:var(--font-size-md);font-weight:500;color:var(--color-text-muted);text-transform:none;letter-spacing:normal;margin:0 0 10px}.emp-danger-zone-desc{font-size:.82rem;color:#6b7280;margin:0 0 12px;line-height:1.5}.emp-perm-group{border-radius:var(--radius-md);padding:14px 16px;background:var(--color-bg-surface);box-shadow:var(--shadow-xs)}.emp-perm-group--notice{background:#fffbeb;border:1px solid #fde68a;box-shadow:none}.emp-perm-group--sensitive{background:var(--color-bg-surface)}.emp-perm-group--admin{background:#fffbeb;border:1px solid #fde68a;box-shadow:none}.emp-perm-group-title{font-size:var(--font-size-md);font-weight:500;color:var(--color-text-secondary);text-transform:none;letter-spacing:normal;margin:0 0 10px}.emp-perm-group-desc{font-size:.8rem;color:#6b7280;margin:-4px 0 12px;line-height:1.5}.emp-preset-options{display:flex;flex-direction:column;gap:4px}.emp-preset-option{display:flex;align-items:center;gap:12px;padding:10px 14px;border:1.5px solid #e5e7eb;border-radius:6px;cursor:pointer;background:#fff;text-align:left;width:100%;transition:border-color .12s,background .12s}.emp-preset-option:hover:not(:disabled){border-color:var(--color-brand-600);background:var(--color-brand-50)}.emp-preset-option--active{border-color:var(--color-brand-600);background:var(--color-brand-50)}.emp-preset-option--custom{cursor:default;border-color:#e5e7eb;background:#f9fafb}.emp-preset-option:disabled{opacity:.5;cursor:not-allowed}.emp-preset-option-name{font-size:.875rem;font-weight:600;color:#111827;flex-shrink:0;min-width:84px}.emp-preset-option--active .emp-preset-option-name{color:var(--color-brand-600)}.emp-preset-option-desc{font-size:.8rem;color:#6b7280;flex:1;text-align:left}.emp-preset-option-selected-badge{margin-left:auto;font-size:.72rem;color:var(--color-brand-600);font-weight:600;flex-shrink:0}.initial-access-preset-card-group{display:flex;flex-direction:column;gap:4px}.initial-access-preset-card{display:flex;align-items:center;gap:12px;padding:10px 14px;border:1.5px solid #e5e7eb;border-radius:6px;background:#fff;cursor:pointer;text-align:left;width:100%;transition:border-color .12s,background .12s}.initial-access-preset-card:hover:not(:disabled){border-color:var(--color-brand-600);background:var(--color-brand-50)}.initial-access-preset-card--active{border-color:var(--color-brand-600);background:var(--color-brand-50)}.initial-access-preset-card:disabled{opacity:.45;cursor:not-allowed}.initial-access-preset-card-label{font-size:.875rem;font-weight:600;color:#111827;flex-shrink:0;min-width:84px}.initial-access-preset-card--active .initial-access-preset-card-label{color:var(--color-brand-600)}.initial-access-preset-card-description{font-size:.8rem;color:#6b7280;flex:1;text-align:left}.emp-toggle{display:inline-flex;align-items:center;gap:8px;cursor:pointer}.emp-toggle input[type=checkbox]{width:36px;height:20px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#d1d5db;border-radius:10px;position:relative;cursor:pointer;transition:background .15s;flex-shrink:0}.emp-toggle input[type=checkbox]:checked{background:var(--color-brand-600)}.emp-toggle input[type=checkbox]:disabled{opacity:.4;cursor:not-allowed}.emp-toggle input[type=checkbox]:after{content:"";position:absolute;width:14px;height:14px;background:#fff;border-radius:50%;top:3px;left:3px;transition:transform .15s;box-shadow:0 1px 2px #0003}.emp-toggle input[type=checkbox]:checked:after{transform:translate(16px)}.emp-toggle-label{font-size:.82rem;color:#6b7280;min-width:28px}.emp-perm-row{padding:3px 0}.emp-perm-label{font-size:.82rem}.emp-perm-label--disabled{color:#9ca3af}.emp-perm-deferred{font-weight:400;color:#9ca3af;font-style:italic}.emp-pending-preset-note{margin:0 0 10px;font-size:.8rem;color:#6b7280}.emp-pending-preset-saving{margin:6px 0 0;font-size:.78rem;color:#9ca3af}.emp-self-warning{margin:4px 0;font-size:.8rem;color:#d97706;background:#fffbeb;border:1px solid #fde68a;border-radius:6px;padding:8px 12px}.emp-transfer-confirm{background:#fff7ed;border:1px solid #fed7aa;border-radius:6px;padding:12px;margin-top:8px}.emp-transfer-confirm-text{font-size:.82rem;color:#92400e;margin:0 0 12px;line-height:1.5}.emp-transfer-confirm-actions{display:flex;gap:8px}.emp-primary-section-field{display:flex;align-items:center;gap:8px}.emp-saving-indicator{font-size:.8rem;color:#9ca3af}.emp-qual-empty{font-size:.85rem;color:#9ca3af;font-style:italic;padding:4px 0}.emp-qual-row{display:flex;align-items:center;gap:8px;padding:6px 0;border-bottom:1px solid var(--color-border-subtle)}.emp-qual-section-name{flex:1;font-size:.875rem;color:#374151;font-weight:500;display:flex;align-items:center;gap:6px}.emp-qual-level-select{width:110px!important;flex-shrink:0}.emp-qual-remove{background:none;border:none;color:#9ca3af;font-size:16px;line-height:1;padding:0 2px;cursor:pointer;border-radius:3px}.emp-qual-remove:hover{color:#ef4444;background:#fee2e2}.emp-qual-add-row{display:flex;align-items:center;gap:8px;padding:8px 0 4px;flex-wrap:wrap}.emp-qual-add-btn{font-size:.8rem;padding:4px 10px;margin-top:4px}.employees-form-error{margin:0;font-size:.8rem;color:#dc2626}.emp-field-hint{margin:0 0 4px;font-size:.78rem;color:#6b7280;line-height:1.4;padding-left:120px}.emp-field-warning{margin:0 0 4px;font-size:.78rem;color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:4px;padding:6px 8px;line-height:1.4}.emp-wage-save-result{margin:0 0 4px;font-size:.8rem;color:#065f46}.emp-quiet{margin:0;font-size:.8rem;color:#9ca3af}.emp-wage-history-table{width:100%;border-collapse:collapse;font-size:.78rem;color:#374151;margin:4px 0 8px}.emp-wage-history-table th{text-align:left;font-weight:500;color:var(--color-text-muted);padding:4px 8px 4px 0;border-bottom:1px solid var(--color-border);white-space:nowrap}.emp-wage-history-table td{padding:5px 8px 5px 0;border-bottom:1px solid var(--color-border-subtle);vertical-align:top}.emp-wage-history-table tr:last-child td{border-bottom:none}.att-time-field{position:relative;display:inline-flex;align-items:center}.att-time-field-edited-indicator{position:absolute;top:-3px;left:-3px;width:7px;height:7px;background:var(--color-accent);border-radius:1px;z-index:1}.att-time-field-input{font-size:14px;font-variant-numeric:tabular-nums;padding:6px 8px;border:1px solid var(--color-border-hover);border-radius:var(--radius-sm);background:var(--color-bg-surface);color:var(--color-text-primary);width:90px;min-height:44px;box-sizing:border-box;text-align:center}.att-time-field--edited .att-time-field-input{border-color:var(--color-accent);background:var(--color-accent-subtle)}.att-time-field-input:disabled{background:var(--color-bg-subtle);color:var(--color-text-faint);cursor:default}.att-time-field--error .att-time-field-input{border-color:var(--color-danger-action);background:var(--color-danger-bg)}.att-time-field-error{position:absolute;top:calc(100% + 2px);left:0;font-size:11px;color:var(--color-danger-action);white-space:nowrap;pointer-events:none;z-index:10}.att-emp-row{display:grid;grid-template-columns:var(--att-cols, minmax(200px, 240px) minmax(360px, 1fr) 120px 44px);column-gap:var(--att-col-gap, 12px);padding:11px var(--att-row-hpad, 20px);border-bottom:1px solid var(--color-border-subtle);align-items:start}.att-emp-row:last-child{border-bottom:none}.att-emp-col-info{display:flex;flex-direction:column;gap:3px;padding-top:2px;min-width:0}.att-emp-row-name{font-size:14px;font-weight:600;color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.att-emp-row-sched{display:flex;align-items:center;gap:5px;font-size:11px;color:var(--color-text-muted)}.att-emp-row-sched-label{flex-shrink:0;font-weight:500;color:var(--color-text-faint)}.att-emp-row-sched-value{color:var(--color-text-secondary);font-variant-numeric:tabular-nums}.att-emp-row-status{display:inline-block;font-size:10px;font-weight:600;padding:2px 6px;border-radius:var(--radius-sm);letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;width:fit-content}.att-emp-row-status--missing{background:var(--color-warning-bg);color:var(--color-warning-text)}.att-emp-row-status--working{background:var(--color-success-bg);color:var(--color-success-text)}.att-emp-row-status--on_break{background:var(--color-warning-bg);color:var(--color-warning-text)}.att-emp-row-status--completed,.att-emp-row-status--unscheduled{background:var(--color-bg-muted);color:var(--color-text-secondary)}.att-emp-row-status--manually_added{background:var(--color-bg-muted);color:var(--color-text-muted)}.att-emp-row-status--upcoming{background:var(--color-info-bg);color:var(--color-info-text)}.att-compliance-badge{display:inline-block;font-size:10px;font-weight:var(--font-weight-medium);border-radius:var(--radius-sm);padding:2px 5px;line-height:1.4;width:fit-content;cursor:default}.att-compliance-badge--warning{background:var(--color-warning-bg);color:var(--color-warning-text)}.att-compliance-badge--violation{background:var(--color-danger-bg);color:var(--color-danger-action)}.att-compliance-badge--info{background:var(--color-info-bg);color:var(--color-info-text)}.att-compliance-badge--acknowledged{background:var(--color-bg-muted);color:var(--color-text-faint);font-style:italic}.att-ack-btn{display:inline-block;font-size:10px;padding:2px 6px;border-radius:var(--radius-sm);border:1px solid var(--color-border-hover);background:var(--color-bg-surface);color:var(--color-text-secondary);cursor:pointer;margin-top:2px;line-height:1.4;transition:background .1s}.att-ack-btn:hover{background:var(--color-bg-muted)}.att-emp-col-actual{display:flex;flex-direction:column;gap:3px;min-width:0}.att-emp-segment-row{display:flex;align-items:center;gap:6px;padding:2px 0}.att-emp-row-field-label{min-width:46px;flex-shrink:0;font-size:11px;font-weight:500;color:var(--color-text-faint)}.att-emp-row-arrow{font-size:12px;color:var(--color-border-hover);flex-shrink:0}.att-emp-row-actions{flex-shrink:0;display:flex;align-items:center}.att-emp-segment-row .att-time-field-input{min-height:30px;padding:4px 8px;font-size:13px;border-radius:var(--radius-sm)}.att-emp-row-duration-warning{font-size:12px;color:var(--color-warning-text);margin-top:2px;padding-left:52px}.att-emp-row-open-break-warning{font-size:12px;color:var(--color-warning-icon);margin-top:4px;padding-left:52px}.att-break-add{display:inline-flex;align-items:center;gap:3px;padding:2px 0;font-size:12px;font-weight:400;color:var(--color-text-faint);background:transparent;border:none;cursor:pointer;margin-top:2px}.att-break-add:hover{color:var(--color-text-secondary);text-decoration:underline}.att-break-remove{width:22px;height:22px;border:1px solid var(--color-border);background:transparent;color:var(--color-text-faint);border-radius:var(--radius-sm);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;font-size:14px;line-height:1}.att-break-remove:hover{background:var(--color-danger-bg);border-color:var(--color-danger-border);color:var(--color-danger-action)}.att-emp-col-totals{display:flex;flex-direction:column;gap:6px;padding-top:2px}.att-emp-total-row{display:flex;flex-direction:column;gap:1px}.att-emp-total-label{font-size:10px;font-weight:600;color:var(--color-text-faint);text-transform:uppercase;letter-spacing:.05em}.att-emp-total-value{font-size:13px;font-weight:500;color:var(--color-text-secondary);font-variant-numeric:tabular-nums}.att-emp-total-value--empty{color:var(--color-border-hover);font-weight:400}.att-emp-wage-snapshot{font-size:11px;color:var(--color-text-faint);font-variant-numeric:tabular-nums;margin-top:2px}.att-emp-col-actions{display:flex;align-items:flex-start;justify-content:flex-end;padding-top:2px}.att-emp-row-bin{width:28px;height:28px;border:none;background:transparent;color:var(--color-border-hover);border-radius:var(--radius-sm);cursor:pointer;flex-shrink:0;display:flex;align-items:center;justify-content:center;padding:0}.att-emp-row-bin:hover{background:var(--color-bg-muted);color:var(--color-text-faint)}.att-emp-row-bin--destructive:hover{background:var(--color-warning-bg);color:var(--color-warning-text)}.att-emp-suggestion-icon{width:24px;height:24px;border:none;background:transparent;color:var(--color-border-hover);border-radius:var(--radius-sm);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;flex-shrink:0}.att-emp-suggestion-icon:hover{background:var(--color-accent-subtle);color:var(--color-accent-hover)}.att-emp-former-badge{display:inline-block;font-size:10px;font-weight:500;color:var(--color-text-faint);opacity:.7;letter-spacing:.02em}.att-day-table{background:var(--color-bg-surface);border-radius:var(--radius-md);border:1px solid var(--color-border);overflow:hidden;min-width:820px;--att-cols: minmax(200px, 240px) minmax(360px, 1fr) 120px 44px;--att-col-gap: 12px;--att-row-hpad: 20px}.att-day-header{display:flex;flex-direction:column;align-items:stretch;gap:12px;padding:14px 20px;border-bottom:1px solid var(--color-border);background:var(--color-bg-subtle)}.att-day-stat-tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.att-day-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap}.att-day-locked-badge{font-size:10px;font-weight:600;padding:2px 7px;border-radius:var(--radius-sm);background:var(--color-info-bg);color:var(--color-info-text);letter-spacing:.05em;text-transform:uppercase;align-self:center;margin-right:auto}.att-day-error{font-size:13px;color:var(--color-danger-icon);max-width:240px}.att-grid-header{display:grid;grid-template-columns:var(--att-cols);column-gap:var(--att-col-gap);padding:6px var(--att-row-hpad) 4px;border-bottom:1px solid var(--color-border-subtle);background:var(--color-bg-subtle)}.att-grid-col-label{font-size:10px;font-weight:600;color:var(--color-text-faint);text-transform:uppercase;letter-spacing:.06em}.att-day-empty{padding:24px 0;color:var(--color-text-faint);font-size:13px;text-align:center}.att-picker-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000004d;z-index:100;display:flex;align-items:center;justify-content:center}.att-picker{background:var(--color-bg-surface);border-radius:var(--radius-md);box-shadow:0 4px 20px #00000026;width:280px;max-height:400px;display:flex;flex-direction:column;overflow:hidden}.att-picker-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--color-border)}.att-picker-title{font-size:13px;font-weight:600;color:var(--color-text-primary)}.att-picker-close{background:transparent;border:none;cursor:pointer;color:var(--color-text-muted);font-size:14px;padding:2px 6px;border-radius:var(--radius-sm)}.att-picker-close:hover{color:var(--color-text-primary);background:var(--color-bg-muted)}.att-picker-empty{padding:16px;font-size:13px;color:var(--color-text-faint);margin:0}.att-picker-list{list-style:none;margin:0;padding:6px 0;overflow-y:auto}.att-picker-item{display:block;width:100%;text-align:left;background:transparent;border:none;cursor:pointer;padding:8px 16px;font-size:13px;color:var(--color-text-primary)}.att-picker-item:hover{background:var(--color-bg-muted)}.att-compliance-summary{display:flex;align-items:center;padding:5px 12px;font-size:.78rem;color:var(--color-warning-text);background:var(--color-warning-bg);border:1px solid var(--color-warning-border);border-radius:var(--radius-md);margin-bottom:8px}@media (max-width: 1040px){.att-day-table{--att-cols: minmax(160px, 180px) 1fr 96px 40px;min-width:700px}.att-day-stat-tiles{grid-template-columns:repeat(2,1fr)}}.att-audit-log{border-top:1px solid var(--color-border)}.att-audit-toggle{display:flex;align-items:center;gap:6px;width:100%;background:transparent;border:none;cursor:pointer;padding:10px 20px;font-size:12px;color:var(--color-text-muted);text-align:left}.att-audit-toggle:hover{color:var(--color-text-secondary);background:var(--color-bg-subtle)}.att-audit-chevron{font-size:9px;color:var(--color-text-faint)}.att-audit-list{padding:4px 20px 16px;border-top:1px solid var(--color-border-subtle)}.att-audit-empty{font-size:12px;color:var(--color-text-faint);margin:8px 0 0}.att-audit-entry{display:flex;align-items:baseline;flex-wrap:wrap;gap:0 4px;padding:5px 0;font-size:12px;color:var(--color-text-secondary);border-bottom:1px solid var(--color-border-subtle)}.att-audit-entry:last-child{border-bottom:none}.att-audit-entry--clock{color:var(--color-text-muted)}.att-audit-editor{font-weight:600;color:var(--color-text-primary)}.att-audit-employee{font-weight:500;color:var(--color-text-secondary)}.att-audit-change{font-family:ui-monospace,SFMono-Regular,monospace;font-size:11px;color:var(--color-text-secondary);background:var(--color-bg-muted);padding:1px 5px;border-radius:var(--radius-sm)}.att-audit-time{margin-left:auto;font-size:11px;color:var(--color-text-faint);white-space:nowrap;font-variant-numeric:tabular-nums}.att-page-noaccess{display:flex;align-items:center;justify-content:center;height:100%;padding:48px;font-size:15px;color:var(--color-text-muted)}.att-page{display:flex;flex-direction:column;height:100%;overflow-y:auto;overflow-x:auto;background:var(--color-bg-page)}.att-page-header-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.att-setup-toggle{white-space:nowrap}.att-setup-toggle--active{background:var(--color-accent-subtle)!important;border-color:var(--color-accent-border)!important;color:var(--color-accent-deep)!important}.att-setup-panel{background:var(--color-bg-subtle);border-bottom:1px solid var(--color-border);padding:14px 24px;flex-shrink:0}.att-setup-description{font-size:13px;color:var(--color-text-muted);margin:0 0 10px;line-height:1.5}.att-setup-url{font-family:ui-monospace,SFMono-Regular,monospace;font-size:12px;background:var(--color-bg-surface);color:var(--color-text-secondary);padding:8px 12px;border:1px solid var(--color-border);border-radius:var(--radius-sm);-webkit-user-select:all;user-select:all;word-break:break-all;line-height:1.5}.att-setup-actions{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}.att-setup-hint{font-size:12px;color:var(--color-text-faint);margin:10px 0 0;line-height:1.5}.att-page-body{padding:20px 24px;flex:1;overflow-x:auto}.att-page-loading{padding:48px;text-align:center;font-size:14px;color:var(--color-text-faint)}.att-page-error{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--color-danger-bg);border:1px solid var(--color-danger-border);border-radius:var(--radius-md);font-size:13px;color:var(--color-danger-icon)}.fp{display:inline-flex;align-items:center;gap:5px;padding:4px 12px;border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);border:1px solid var(--color-border);background:none;color:var(--color-text-muted);cursor:pointer;transition:border-color var(--transition-fast),color var(--transition-fast),background var(--transition-fast);white-space:nowrap}.fp:hover{border-color:var(--color-border-hover);color:var(--color-text-secondary)}.fp--active{background:var(--color-brand-50);border-color:var(--color-brand-200);color:var(--color-brand-600)}.fp--active:hover{background:var(--color-brand-50);border-color:var(--color-brand-400)}.fp-count{display:inline-flex;align-items:center;justify-content:center;background:#00000012;color:inherit;border-radius:var(--radius-full);font-size:var(--font-size-xs);padding:0 5px;min-width:16px;line-height:16px}.fp--active .fp-count{background:var(--color-brand-200);color:var(--color-brand-800)}.labor-page{display:flex;flex-direction:column;height:100%;overflow-y:auto;overflow-x:auto;background:var(--color-bg-page)}.labor-page>.ph{padding:14px 20px 0;margin-bottom:0}.labor-tabs-wrapper{padding:0 24px;margin-bottom:20px;flex-shrink:0}.labor-header-controls{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.labor-header-pills{display:flex;gap:4px;flex-wrap:wrap;justify-content:flex-end}.labor-custom-range{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.labor-custom-range .att-date-picker-trigger{font-size:var(--font-size-sm);padding:5px 10px;border-radius:var(--radius-sm);gap:6px}.labor-custom-range .att-date-picker-value{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.labor-custom-range .att-date-picker-chevron{width:11px;height:11px}.labor-custom-sep{font-size:var(--font-size-base);color:var(--color-text-faint)}.labor-page-body{padding:20px 24px;flex:1;overflow-x:auto}.labor-page-loading{padding:48px;text-align:center;font-size:var(--font-size-md);color:var(--color-text-faint)}.labor-page-error{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--color-danger-bg);border:1px solid var(--color-danger-border);border-radius:var(--radius-md);font-size:var(--font-size-base);color:var(--color-danger-icon)}.labor-snapshot-note{display:flex;align-items:flex-start;gap:8px;padding:9px 14px;background:var(--color-info-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);margin-bottom:14px;font-size:var(--font-size-base);color:var(--color-info-text);line-height:1.5}.labor-snapshot-note-icon{flex-shrink:0;font-size:var(--font-size-md);line-height:1.5}.labor-kpi-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:20px}.mc-color-pos .mc-value{color:var(--color-success-text)}.mc-color-neg .mc-value{color:var(--color-danger-action)}.labor-table{width:100%;border-collapse:collapse;font-size:var(--font-size-base);background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.labor-table-head th{padding:9px 12px;background:var(--color-bg-subtle);border-bottom:1px solid var(--color-border);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-muted);white-space:nowrap;text-align:left}.labor-col-num{text-align:right}.labor-table-row{cursor:pointer;border-bottom:1px solid var(--color-border-subtle);transition:background var(--transition-fast)}.labor-table-row:last-of-type{border-bottom:none}.labor-table-row:hover{background:var(--color-bg-subtle)}.labor-table-row--expanded,.labor-table-row--expanded:hover{background:var(--color-brand-50)}.labor-table-row td{padding:12px;color:var(--color-text-secondary);vertical-align:middle}.labor-col-employee{display:flex;align-items:center;gap:8px}.labor-employee-name{font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.labor-employee-num{font-size:var(--font-size-xs);color:var(--color-text-faint)}.labor-col-muted{color:var(--color-text-faint)!important}.labor-col-pos{color:var(--color-success-text)}.labor-col-neg{color:var(--color-danger-action)}.labor-col-status{text-align:left}.labor-expand-row{background:var(--color-brand-50)}.labor-expand-cell{padding:0!important;border-bottom:2px solid var(--color-brand-200)}.labor-expand-content{padding:0 16px 16px}.labor-expand-tabs{display:flex;gap:0;border-bottom:1px solid var(--color-border);margin-bottom:14px}.labor-expand-tab{display:flex;align-items:center;gap:6px;padding:9px 14px 8px;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-muted);background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;margin-bottom:-1px;transition:color var(--transition-fast),border-color var(--transition-fast)}.labor-expand-tab:hover{color:var(--color-text-secondary)}.labor-expand-tab--active{color:var(--color-brand-600);border-bottom-color:var(--color-brand-400);font-weight:var(--font-weight-semibold)}.labor-expand-tab-count{font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);background:var(--color-neutral-bg);color:var(--color-text-muted);padding:1px 5px;border-radius:var(--radius-full);letter-spacing:0}.labor-expand-tab--active .labor-expand-tab-count{background:var(--color-brand-50);color:var(--color-brand-600)}.labor-expand-empty{font-size:var(--font-size-sm);color:var(--color-text-faint);margin:4px 0 0;padding:0}.labor-sub-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.labor-sub-table thead th{padding:5px 8px;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-faint);border-bottom:1px solid var(--color-border);text-align:left;white-space:nowrap}.labor-sub-table tbody tr{border-bottom:1px solid var(--color-border-subtle)}.labor-sub-table tbody tr:last-child{border-bottom:none}.labor-sub-table td{padding:6px 8px;color:var(--color-text-secondary);vertical-align:middle}.labor-sub-mono{font-variant-numeric:tabular-nums;color:var(--color-text-muted)}.labor-sub-muted{color:var(--color-text-faint)}.labor-sva-note{padding:9px 14px;background:var(--color-bg-subtle);border:1px solid var(--color-border);border-radius:var(--radius-md);margin-bottom:14px;font-size:var(--font-size-base);color:var(--color-text-muted);line-height:1.5}.labor-daily-section{margin-top:24px}.labor-daily-title{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-muted);margin-bottom:8px}.labor-daily-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm);background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.labor-daily-table thead th{padding:7px 10px;background:var(--color-bg-subtle);border-bottom:1px solid var(--color-border);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-muted);white-space:nowrap;text-align:left}.labor-daily-table thead th.labor-col-num{text-align:right}.labor-daily-table tbody tr{border-bottom:1px solid var(--color-border-subtle)}.labor-daily-table tbody tr:last-child{border-bottom:none}.labor-daily-table td{padding:7px 10px;color:var(--color-text-secondary);vertical-align:middle}.labor-daily-future{font-size:var(--font-size-xs);color:var(--color-text-faint);font-weight:var(--font-weight-normal);margin-left:4px}.labor-payroll-export-bar{display:flex;justify-content:flex-end;padding:0 0 10px}.labor-expand-section-label{margin:10px 0 6px}.labor-expand-section-label:first-child{margin-top:0}.labor-expand-section-label--muted,.labor-sub-table--muted td,.labor-sub-table--muted .labor-sub-mono{color:var(--color-text-faint)}.labor-wage-cell{display:flex;flex-direction:column;gap:3px}.labor-wage-original{font-size:var(--font-size-xs);color:var(--color-text-faint);margin-top:1px}.labor-wage-correct-btn{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-muted);background:none;border:1px solid var(--color-border-hover);border-radius:var(--radius-sm);padding:2px 7px;cursor:pointer;transition:color var(--transition-fast),border-color var(--transition-fast),background var(--transition-fast);white-space:nowrap;flex-shrink:0}.labor-wage-correct-btn:hover{color:var(--color-text-secondary);border-color:var(--color-text-faint);background:var(--color-bg-subtle)}.labor-correction-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;display:flex;align-items:center;justify-content:center;z-index:200}.labor-correction-modal{background:var(--color-bg-surface);border-radius:var(--radius-xl);padding:24px 28px;width:400px;max-width:calc(100vw - 32px);box-shadow:var(--shadow-modal)}.labor-correction-title{font-size:var(--font-size-md);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin:0 0 4px}.labor-correction-subtitle{font-size:var(--font-size-sm);color:var(--color-text-muted);margin:0 0 18px}.labor-correction-context{background:var(--color-bg-subtle);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:10px 12px;margin-bottom:18px;display:flex;flex-direction:column;gap:4px}.labor-correction-context-row{display:flex;justify-content:space-between;font-size:var(--font-size-sm)}.labor-correction-context-label{color:var(--color-text-muted)}.labor-correction-context-value{color:var(--color-text-primary);font-weight:var(--font-weight-medium)}.labor-correction-context-value--muted{color:var(--color-text-faint);font-weight:var(--font-weight-normal)}.labor-correction-form{display:flex;flex-direction:column;gap:14px}.labor-correction-field{display:flex;flex-direction:column;gap:5px}.labor-correction-field label{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary)}.labor-correction-field input,.labor-correction-field textarea{font-size:var(--font-size-base);color:var(--color-text-primary);background:var(--color-bg-surface);border:1px solid var(--color-border-hover);border-radius:var(--radius-md);padding:7px 10px;outline:none;transition:border-color var(--transition-base);font-family:inherit}.labor-correction-field input:focus,.labor-correction-field textarea:focus{border-color:var(--color-text-muted)}.labor-correction-field textarea{resize:vertical;min-height:64px}.labor-correction-error{font-size:var(--font-size-sm);color:var(--color-danger-action);padding:7px 10px;background:var(--color-danger-bg);border:1px solid var(--color-danger-border);border-radius:var(--radius-md)}.labor-correction-actions{display:flex;align-items:center;gap:12px;justify-content:flex-end;margin-top:4px}.labor-former-badge{display:block;font-size:var(--font-size-xs);font-weight:var(--font-weight-normal);color:var(--color-text-faint);opacity:.65;margin-top:1px}.perf-page{display:flex;flex-direction:column;height:100%;background:var(--color-bg-page)}.perf-page>.ph{padding:14px 20px 0;margin-bottom:0}.perf-body{flex:1;overflow-y:auto;padding:20px 28px;display:flex;flex-direction:column;gap:16px}.perf-live-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:12px}.perf-live-indicator{display:flex;align-items:center;gap:6px;margin-top:-4px}.perf-live-dot{width:6px;height:6px;border-radius:50%;background:var(--color-success-icon);animation:perf-pulse 2.4s ease-in-out infinite;flex-shrink:0}.perf-live-label{font-size:var(--font-size-xs);color:var(--color-text-faint);white-space:nowrap}@keyframes perf-pulse{0%,to{opacity:1}50%{opacity:.3}}.perf-skeleton-card{background:var(--color-bg-subtle);border:1px solid var(--color-border);border-radius:var(--radius-md);height:88px;animation:perf-skeleton-shimmer 1.5s ease-in-out infinite}@keyframes perf-skeleton-shimmer{0%,to{opacity:1}50%{opacity:.5}}.perf-date-input{font-size:.82rem;font-weight:500;color:var(--color-text-secondary);background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:5px 10px;cursor:pointer;outline:none;transition:border-color var(--transition-base)}.perf-date-input:hover,.perf-date-input:focus{border-color:var(--color-border-hover)}.perf-wtd-strip{display:flex;align-items:center;gap:0;background:var(--color-bg-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:12px 20px;flex-shrink:0;border:1px solid var(--color-border)}.perf-wtd-strip--empty{gap:16px}.perf-wtd-item{display:flex;flex-direction:column;gap:4px;flex:1}.perf-wtd-label{font-size:.72rem;font-weight:600;color:var(--color-text-faint)}.perf-wtd-value{font-size:1.15rem;font-weight:600;color:var(--color-text-primary);font-variant-numeric:tabular-nums}.perf-wtd-empty-msg{font-size:.82rem;color:var(--color-text-faint);font-style:italic}.perf-wtd-sep{width:1px;height:36px;background:var(--color-border);margin:0 24px;flex-shrink:0}.perf-wtd-mixed-note{font-size:.72rem;color:var(--color-warning-text);font-style:italic;margin-left:auto;padding-left:16px;flex-shrink:1}.perf-wtd-delta{font-size:.78rem;font-weight:600;display:inline-flex;align-items:center;gap:3px;width:fit-content;padding:2px 7px;border-radius:var(--radius-sm)}.perf-wtd-delta--up{background:var(--color-success-bg);color:var(--color-success-text)}.perf-wtd-delta--down{background:var(--color-danger-bg);color:var(--color-danger-text)}.perf-wtd-delta--neutral{background:var(--color-neutral-bg);color:var(--color-neutral-text)}.perf-kpi-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}.perf-panel-row{display:grid;grid-template-columns:1.5fr 1fr;gap:14px}.perf-card{background:var(--color-bg-surface);box-shadow:var(--shadow-sm);border-radius:var(--radius-md);padding:16px 18px;border:1px solid var(--color-border)}.perf-card-title{font-size:.82rem;font-weight:600;color:var(--color-text-muted);margin:0 0 14px}.perf-data-notice{font-size:.75rem;color:var(--color-text-faint);margin:-8px 0 12px;font-style:italic}.perf-kv-list{display:flex;flex-direction:column}.perf-kv-row{display:flex;justify-content:space-between;align-items:center;padding:7px 0;font-size:.82rem;border-bottom:1px solid var(--color-border-subtle)}.perf-kv-row:last-child{border-bottom:none}.perf-kv-divider{height:1px;background:var(--color-border);margin:8px 0}.perf-kv-key{color:var(--color-text-muted)}.perf-kv-val{font-weight:500;color:var(--color-text-primary);font-variant-numeric:tabular-nums}.perf-kv-val--faint{color:var(--color-text-faint);font-weight:400}.perf-kv-val--warn{color:var(--color-warning-text)}.perf-forecast-missing{font-size:.73rem;color:var(--color-warning-text);margin:8px 0 0}.perf-chart-card{background:var(--color-bg-surface);box-shadow:var(--shadow-sm);border-radius:var(--radius-md);padding:16px 18px;border:1px solid var(--color-border)}.perf-chart-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.perf-chart-title{font-size:.82rem;font-weight:600;color:var(--color-text-muted);margin:0}.perf-chart-link{background:none;border:none;padding:0;font-size:.78rem;color:var(--color-brand-600);cursor:pointer;font-weight:500}.perf-chart-link:hover{text-decoration:underline}.perf-chart-wrap{display:flex;flex-direction:column;gap:6px}.perf-chart-bars-wrap{position:relative}.perf-chart-scale-top{position:absolute;top:0;right:0;font-size:8px;color:var(--color-text-faint);line-height:1;pointer-events:none}.perf-chart-scale-bottom{position:absolute;bottom:0;right:0;font-size:8px;color:var(--color-text-faint);line-height:1;pointer-events:none}.perf-chart-bars{display:flex;align-items:flex-end;gap:3px;height:72px}.perf-chart-col{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%}.perf-chart-bar{width:100%;background:var(--color-data-blue);border-radius:2px 2px 0 0;min-height:2px;opacity:.75;transition:opacity var(--transition-base)}.perf-chart-bar:hover{opacity:1}.perf-chart-divider{height:1px;background:var(--color-border-subtle)}.perf-chart-staff-row{display:flex;gap:3px}.perf-chart-staff-cell{flex:1;text-align:center;font-size:9px;color:var(--color-text-muted);font-variant-numeric:tabular-nums}.perf-chart-hour-row{display:flex;gap:3px}.perf-chart-hour-cell{flex:1;text-align:center;font-size:8px;color:var(--color-text-faint)}.perf-chart-legend{display:flex;gap:16px;margin-top:6px}.perf-chart-legend-item{display:flex;align-items:center;gap:5px;font-size:.72rem;color:var(--color-text-muted)}.perf-chart-legend-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.perf-staffing-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:14px}.perf-table-wrap{overflow-x:auto}.perf-table{width:100%;border-collapse:collapse;font-size:.82rem}.perf-table th{text-align:left;font-size:var(--font-size-xs);font-weight:600;color:var(--color-text-muted);padding:6px 10px;background:var(--color-bg-subtle);border-bottom:1px solid var(--color-border);white-space:nowrap}.perf-table th:not(:first-child),.perf-table td:not(:first-child){text-align:right}.perf-table td{padding:8px 10px;border-bottom:1px solid var(--color-border-subtle);color:var(--color-text-secondary);font-variant-numeric:tabular-nums;white-space:nowrap}.perf-table tr:last-child td{border-bottom:none}.perf-table tr:hover td{background:var(--color-bg-subtle)}.perf-table td:first-child{font-weight:500;color:var(--color-text-primary)}.perf-status-cell{display:flex;align-items:center;justify-content:flex-end;gap:6px}.perf-status-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.perf-status-dot--efficient{background:var(--color-success-icon)}.perf-status-dot--good{background:var(--color-success-text)}.perf-status-dot--understaffed{background:var(--color-info-text)}.perf-status-dot--overstaffed{background:var(--color-warning-icon)}.perf-status-dot--no-data{background:var(--color-border-hover)}.perf-status-label{color:var(--color-text-muted);font-size:.78rem}.perf-insights-stack{display:flex;flex-direction:column;gap:14px}.perf-insight-item{display:flex;gap:10px;font-size:.82rem}.perf-insight-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;margin-top:5px}.perf-insight-dot--understaffed{background:var(--color-info-text)}.perf-insight-dot--overstaffed{background:var(--color-warning-icon)}.perf-insight-body{display:flex;flex-direction:column;gap:3px}.perf-insight-heading{font-weight:600;color:var(--color-text-primary)}.perf-insight-detail{color:var(--color-text-muted);line-height:1.4}.perf-side-panels{display:flex;flex-direction:column;gap:14px}.perf-history-controls{display:flex;align-items:center;justify-content:space-between;padding:12px 28px;background:var(--color-bg-surface);border-bottom:1px solid var(--color-border);flex-shrink:0;gap:16px;flex-wrap:wrap}.perf-history-controls-left{flex:1;min-width:0}.perf-history-controls-right{display:flex;align-items:center;gap:10px;flex-shrink:0}.perf-header-subtitle{margin:0;font-size:.8rem;color:var(--color-text-muted)}@media (max-width: 1200px){.perf-live-grid{grid-template-columns:repeat(4,1fr)}}@media (max-width: 900px){.perf-live-grid{grid-template-columns:repeat(2,1fr)}.perf-panel-row,.perf-staffing-grid{grid-template-columns:1fr}}.general-settings-modal{width:480px}.general-settings-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:20px}.general-settings-header .modal-title{margin:0}.general-settings-close{background:none;border:none;font-size:1.4rem;line-height:1;color:#9ca3af;cursor:pointer;padding:0 2px;flex-shrink:0;margin-top:-2px}.general-settings-close:hover{color:#374151}.general-settings-section{margin-bottom:8px}.general-settings-section-heading{font-size:.72rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px}.general-settings-section-desc{font-size:.875rem;color:#6b7280;margin:0 0 14px;line-height:1.5}.compliance-options{display:flex;flex-direction:column;gap:6px}.compliance-option{display:flex;align-items:flex-start;gap:10px;width:100%;padding:11px 14px;background:none;border:1px solid #e5e7eb;border-radius:7px;cursor:pointer;text-align:left;transition:border-color .1s,background .1s}.compliance-option:hover{border-color:#9ca3af;background:#f9fafb}.compliance-option--selected{border-color:#2563eb;background:#eff6ff}.compliance-option-radio{font-size:.85rem;color:#9ca3af;flex-shrink:0;margin-top:2px}.compliance-option--selected .compliance-option-radio{color:#2563eb}.compliance-option-text{display:flex;flex-direction:column;gap:2px}.compliance-option-name{font-size:.875rem;font-weight:600;color:#111827}.compliance-option-desc{font-size:.8rem;color:#6b7280}.day-detail{padding:8px 0}.day-detail-empty{padding:24px 16px;text-align:center;color:#9ca3af;font-size:.875rem;margin:0}.day-detail-row{display:flex;align-items:center;gap:10px;padding:10px 16px;border-radius:8px;margin:2px 8px;transition:background .1s}.day-detail-row.self{background:#eff6ff}.day-detail-row.unassigned{opacity:.6}.day-detail-name{flex:1;font-size:.9rem;color:#111827;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.day-detail-row.self .day-detail-name{font-weight:700}.day-detail-row.unassigned .day-detail-name{font-style:italic;color:#6b7280}.day-detail-time{font-size:.85rem;color:#6b7280;font-variant-numeric:tabular-nums;white-space:nowrap}.day-detail-row.self .day-detail-time{color:#3b82f6}.day-detail-notes{font-size:.75rem;color:#9ca3af;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100px}.day-detail-section{padding:0 0 8px}.day-detail-section+.day-detail-section{border-top:1px solid #f3f4f6;padding-top:8px}.day-detail-section-label{display:block;font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#9ca3af;padding:4px 16px 2px}.day-detail-own-empty{padding:8px 16px;font-size:.85rem;color:#9ca3af;margin:0;font-style:italic}.schedule-page{display:flex;flex-direction:column;min-height:100%}.schedule-week-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px 12px;background:#fff;border-bottom:1px solid #e5e7eb}.schedule-nav-btn{background:none;border:none;font-size:1.4rem;color:#6b7280;cursor:pointer;padding:4px 8px;line-height:1}.schedule-nav-btn:active{color:#111827}.schedule-week-info{display:flex;flex-direction:column;align-items:center;gap:2px}.schedule-week-range{font-size:.9rem;font-weight:600;color:#111827}.schedule-week-hours{font-size:.75rem;color:#6b7280}.schedule-days-list{display:flex;flex-direction:column;padding:8px 12px 24px;gap:6px}.schedule-day-card{display:flex;align-items:center;gap:10px;background:#fff;border-radius:10px;padding:12px 14px;box-shadow:0 1px 2px #0000000f;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.schedule-day-card:active,.schedule-day-card.expanded{background:#f0f4ff}.schedule-day-heading{display:flex;align-items:baseline;gap:5px;min-width:110px}.schedule-day-name{font-size:.9rem;font-weight:600;color:#111827}.schedule-day-num{font-size:.8rem;color:#6b7280}.schedule-day-shifts{display:flex;flex-wrap:wrap;gap:4px;flex:1}.schedule-day-shift-time{font-size:.8rem;color:#374151;background:#eff6ff;border-radius:5px;padding:2px 7px;font-variant-numeric:tabular-nums}.schedule-day-off{font-size:.8rem;color:#9ca3af;font-style:italic}.schedule-day-expand-icon{font-size:.65rem;color:#9ca3af;flex-shrink:0}.schedule-day-detail{border-radius:0 0 10px 10px;overflow:hidden;margin-top:-6px;padding-top:4px}.week-strip{display:flex;align-items:center;gap:4px;padding:12px 16px;background:var(--color-bg-surface);border-bottom:1px solid var(--color-border)}.week-strip-nav{flex-shrink:0;width:32px;height:32px;border:none;background:none;font-size:22px;color:#6b7280;cursor:pointer;border-radius:6px;display:flex;align-items:center;justify-content:center;line-height:1;padding:0;transition:background .1s,color .1s}.week-strip-nav:hover{background:#f3f4f6;color:#111827}.week-strip-days{flex:1;display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.week-strip-day{display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 2px;border:none;background:none;border-radius:8px;cursor:pointer;transition:background .1s;min-width:0}.week-strip-day:hover:not(.selected){background:#f3f4f6}.week-strip-day.today .week-strip-day-num{color:#3b82f6;font-weight:700}.week-strip-day.selected{background:#3b82f6}.week-strip-day.selected .week-strip-day-label,.week-strip-day.selected .week-strip-day-num{color:#fff}.week-strip-day-label{font-size:.7rem;font-weight:500;color:#6b7280;text-transform:uppercase;letter-spacing:.03em}.week-strip-day-num{font-size:.95rem;font-weight:600;color:#111827}.avail-page{display:flex;flex-direction:column;min-height:100%;padding-bottom:24px}.avail-page-header{padding:16px 16px 12px;background:#fff;border-bottom:1px solid #e5e7eb}.avail-page-title{font-size:1.25rem;font-weight:700;color:#111827;margin:0}.avail-loading,.avail-error-screen{padding:32px 16px;text-align:center;color:#6b7280;font-size:.9rem}.avail-days{display:flex;flex-direction:column;padding:10px 12px 0;gap:6px}.avail-day-row{background:#fff;border-radius:10px;box-shadow:var(--shadow-xs);overflow:hidden}.avail-day-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;padding:13px 14px;border:none;background:none;cursor:pointer;gap:8px;text-align:left;transition:background .1s;-webkit-tap-highlight-color:transparent}.avail-day-trigger:hover{background:#f9fafb}.avail-day-labels{display:flex;flex-direction:column;gap:1px}.avail-day-name{font-size:.875rem;font-weight:600;color:#374151}.avail-day-name.today{color:#2563eb}.avail-day-full{font-size:.75rem;color:#9ca3af}.avail-status-badge{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);padding:3px 8px;border-radius:var(--radius-sm);white-space:nowrap;letter-spacing:.01em;border:1px solid transparent}.avail-status-badge--available{background:#f0fdf4;border-color:var(--color-success-border);color:var(--color-success-text)}.avail-status-badge--unavailable{background:#fef2f2;border-color:var(--color-danger-border);color:var(--color-danger-text)}.avail-status-badge.unset{background:var(--color-neutral-bg);color:var(--color-text-faint);border-color:var(--color-border)}.avail-edit-panel{padding:12px 14px 14px;background:#fff;border-top:1px solid #e5e7eb;display:flex;flex-direction:column;gap:10px}.avail-toggle-group{display:flex;gap:6px}.avail-toggle-btn{flex:1;padding:10px 4px;font-size:.875rem;font-weight:500;border:1px solid #d1d5db;border-radius:5px;background:#fff;color:#374151;cursor:pointer;transition:all .1s}.avail-toggle-btn--available.active{background:#f0fdf4;border-color:#16a34a;color:#15803d;font-weight:600}.avail-toggle-btn--unavailable.active{background:#fef2f2;border-color:#dc2626;color:#b91c1c;font-weight:600}@keyframes avail-scope-in{0%{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:translateY(0)}}.avail-scope-section{animation:avail-scope-in .12s ease-out}.avail-scope-control{display:inline-flex;background:#f3f4f6;border-radius:6px;padding:2px;gap:2px}.avail-scope-btn{padding:5px 12px;font-size:.78rem;font-weight:400;border:none;border-radius:4px;background:transparent;color:#6b7280;cursor:pointer;transition:all .1s;white-space:nowrap}.avail-scope-btn:hover{color:#374151}.avail-scope-btn.active{background:#fff;color:#111827;font-weight:500;box-shadow:0 1px 2px #00000014}.avail-time-row{display:flex;align-items:center;gap:8px}.avail-time-dash{color:#9ca3af;font-size:.875rem}.avail-note-input{width:100%;padding:8px 10px;border:1px solid #d1d5db;border-radius:6px;font-size:.85rem;color:#374151;resize:none;font-family:inherit;box-sizing:border-box;background:#fff}.avail-note-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f626}.avail-error{font-size:.8rem;color:#dc2626;margin:0}.avail-edit-actions{display:flex;align-items:center;gap:4px}.avail-btn-save{padding:7px 18px;font-size:.85rem}.avail-btn-link{background:none;border:none;padding:6px 10px;font-size:.85rem;cursor:pointer;color:#6b7280;border-radius:4px;transition:color .1s}.avail-btn-link:hover{color:#374151}.avail-btn-link:disabled{opacity:.5;cursor:not-allowed}.avail-btn-link--danger{color:#dc2626}.avail-btn-link--danger:hover{color:#b91c1c}.hours-widget{background:var(--color-bg-surface);border-radius:12px;padding:16px;box-shadow:var(--shadow-xs);display:flex;flex-direction:column;align-items:center;gap:8px}.hours-widget-header{display:flex;flex-direction:column;align-items:center;gap:2px;text-align:center}.hours-widget-label{font-size:.78rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.04em}.hours-widget-period{font-size:.78rem;color:#9ca3af}.hours-widget-body{display:flex;flex-direction:column;align-items:center;gap:6px;padding:4px 0 2px}.hours-ring{width:88px;height:88px}.hours-ring-track{fill:none;stroke:#f3f4f6;stroke-width:8}.hours-ring-fill{fill:none;stroke:#3b82f6;stroke-width:8;stroke-linecap:round;transform:rotate(-90deg);transform-origin:44px 44px;transition:stroke-dashoffset .4s ease}.hours-ring-fill.over{stroke:#f59e0b}.hours-ring-value{font-size:15px;font-weight:700;fill:#111827;font-family:inherit}.hours-widget-target{font-size:.8rem;color:#6b7280;margin:0}.home-page{display:flex;flex-direction:column;padding-bottom:24px}.home-greeting{padding:16px 16px 12px;background:#fff;border-bottom:1px solid #e5e7eb}.home-greeting-text{font-size:1.3rem;font-weight:700;color:#111827;margin:0}.home-cards{display:flex;flex-direction:column;gap:8px;padding:10px 16px 0}.home-profile-pill,.home-today-card,.home-next-card,.home-hours-card{border-radius:12px;box-shadow:var(--shadow-xs);background:#fff;padding:14px 16px}.home-profile-pill{display:flex;align-items:center;gap:12px}.home-avatar{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.95rem;font-weight:700;color:#fff;flex-shrink:0;letter-spacing:-.01em}.home-identity{display:flex;flex-direction:column;gap:2px;min-width:0}.home-identity-name{font-size:.9rem;font-weight:600;color:#111827;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home-identity-number{font-size:.75rem;color:#9ca3af;font-variant-numeric:tabular-nums}.home-today-card{display:flex;flex-direction:column;gap:3px}.home-today-card.has-shift{background:#eff6ff;border-color:#bfdbfe}.home-today-card-title{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#9ca3af}.home-today-card.has-shift .home-today-card-title{color:#1d4ed8}.home-today-card-date{font-size:.82rem;color:#6b7280;margin-bottom:2px}.home-today-card.has-shift .home-today-card-date{color:#475569}.home-today-card-time{font-size:1.5rem;font-weight:700;color:#1e40af;font-variant-numeric:tabular-nums;line-height:1.2;margin:2px 0 0}.home-today-card-no-shift{font-size:1rem;color:#6b7280;margin:4px 0 0}.home-today-card-status{font-size:.8rem;color:#475569;margin-top:4px}.home-next-card{display:flex;flex-direction:column;gap:3px}.home-next-card-label{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#9ca3af}.home-next-card-date{font-size:.82rem;color:#6b7280;margin-bottom:1px}.home-next-card-time{font-size:1.1rem;font-weight:600;color:#111827;font-variant-numeric:tabular-nums}.home-next-card-empty-title{font-size:.9rem;font-weight:500;color:#6b7280;margin-top:2px}.home-next-card-empty-sub{font-size:.78rem;color:#9ca3af;margin-top:2px}.home-hours-card{padding:0;box-shadow:none;background:transparent}.home-hours-error{font-size:.85rem;color:#dc2626;margin:0;padding:12px 0}.home-actions{display:flex;flex-direction:column;gap:8px;padding:10px 16px 0}.home-switch-surface-btn{width:100%;padding:10px 16px;font-size:.875rem;font-weight:500;border:1px solid #d1d5db;border-radius:8px;background:#fff;color:#374151;cursor:pointer;text-align:center}.home-switch-surface-btn:hover{background:#f3f4f6;border-color:#9ca3af}.home-logout-btn{width:100%}.vacation-page{display:flex;flex-direction:column;min-height:100%;padding-bottom:24px}.vacation-page-header{display:flex;align-items:center;justify-content:space-between;padding:16px 16px 12px;background:#fff;border-bottom:1px solid #e5e7eb}.vacation-page-title{font-size:1.25rem;font-weight:700;color:#111827;margin:0}.vacation-new-btn{font-size:.85rem;padding:7px 14px}.vacation-loading{padding:32px 16px;text-align:center;color:#9ca3af;font-size:.9rem}.vacation-helper-text{font-size:.82rem;color:#6b7280;padding:0 16px 8px;margin:0}.vacation-section-label{padding:4px 16px 6px;margin:0}.vacation-empty{display:flex;flex-direction:column;align-items:center;gap:6px;margin:12px 16px 0;padding:28px 20px;background:#fff;border-radius:12px;box-shadow:var(--shadow-xs);text-align:center}.vacation-empty-primary{font-size:.95rem;font-weight:600;color:#374151;margin:0}.vacation-empty-secondary{font-size:.8rem;color:#9ca3af;margin:0;max-width:240px}.vacation-empty-btn{margin-top:10px;font-size:.85rem;padding:8px 20px}.vacation-error{padding:24px 16px;text-align:center;color:#6b7280}.vacation-list{display:flex;flex-direction:column;gap:10px;padding:0 16px 24px}.vacation-card{background:#fff;border-radius:10px;padding:14px;box-shadow:0 1px 3px #00000012;display:flex;flex-direction:column;gap:6px}.vacation-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.vacation-card-dates{font-size:.9rem;font-weight:600;color:#111827}.vacation-badge{border-radius:var(--radius-full)}.vacation-card-note{font-size:.82rem;color:#6b7280;margin:0}.vacation-card-rejection{font-size:.8rem;color:#dc2626;margin:0}.vacation-form{background:#fff;margin:0 16px 16px;border-radius:10px;padding:16px;box-shadow:0 1px 3px #00000012;display:flex;flex-direction:column;gap:14px}.vacation-form-title{font-size:1rem;font-weight:700;color:#111827;margin:0}.vacation-form-field{display:flex;flex-direction:column;gap:4px}.vacation-form-field label{font-size:.8rem;font-weight:500;color:#374151}.vacation-form-field input[type=date],.vacation-form-field textarea{padding:8px 10px;border:1px solid #d1d5db;border-radius:6px;font-size:.9rem;color:#111827;font-family:inherit;width:100%;box-sizing:border-box}.vacation-form-field input[type=date]:focus,.vacation-form-field textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f626}.vacation-form-field textarea{resize:none}.vacation-form-error{font-size:.8rem;color:#dc2626;margin:0}.vacation-form-actions{display:flex;gap:8px}.worked-hours-list{display:flex;flex-direction:column;gap:16px;padding:16px}.wh-nav{display:flex;align-items:center;justify-content:center;gap:16px}.wh-nav-btn{background:transparent;border:1px solid #e5e7eb;border-radius:6px;padding:6px 14px;cursor:pointer;font-size:16px;color:#374151}.wh-nav-btn:hover:not(:disabled){background:#f3f4f6}.wh-nav-btn:disabled{opacity:.4;cursor:default}.wh-nav-label{font-size:16px;font-weight:600;color:#111827;min-width:160px;text-align:center}.wh-helper-text{font-size:12px;color:#9ca3af;text-align:center;margin:0}.wh-summary{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#eff6ff;border-radius:8px;border:1px solid #bfdbfe}.wh-summary-label{font-size:14px;color:#1d4ed8}.wh-summary-value{font-size:18px;font-weight:700;color:#1d4ed8;font-variant-numeric:tabular-nums}.wh-loading{text-align:center;font-size:14px;color:#9ca3af;padding:24px 0}.wh-empty{display:flex;flex-direction:column;align-items:center;gap:6px;padding:24px 16px}.wh-empty-primary{font-size:14px;color:#9ca3af;margin:0;font-weight:500}.wh-empty-secondary{font-size:12px;color:#d1d5db;margin:0;text-align:center;max-width:280px}.wh-day-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.wh-day-item{padding:12px 16px;background:#fff;border-radius:10px;box-shadow:var(--shadow-xs);display:flex;flex-direction:column;gap:4px}.wh-day-header{display:flex;align-items:center;justify-content:space-between}.wh-day-date{font-size:14px;font-weight:600;color:#111827}.wh-day-net{font-size:13px;font-weight:600;color:#2563eb;font-variant-numeric:tabular-nums;background:#eff6ff;padding:2px 7px;border-radius:4px}.wh-stamped-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:#9ca3af;margin-bottom:1px}.wh-day-times{display:flex;align-items:center;gap:8px;font-size:13px;color:#374151;font-variant-numeric:tabular-nums}.wh-times-sep{color:#d1d5db}.wh-day-breaks{font-size:12px;color:#9ca3af;margin-top:1px}.wh-page{padding:16px;max-width:480px;margin:0 auto}.wh-page-error{display:flex;flex-direction:column;align-items:center;gap:12px;padding:48px 16px;text-align:center;font-size:var(--font-size-md);color:var(--color-text-muted)}.wh-page-retry{padding:8px 20px;background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-md);cursor:pointer;color:var(--color-text-secondary)}.wh-page-retry:hover{background:var(--color-bg-muted);border-color:var(--color-border-hover)}.emp-shell{display:flex;flex-direction:column;height:100dvh;height:100vh;background:#f9fafb;max-width:480px;margin:0 auto;position:relative}.emp-shell-main{flex:1;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}.emp-shell-tabbar{flex-shrink:0;display:flex;background:var(--color-bg-surface);border-top:1px solid var(--color-border);padding-bottom:env(safe-area-inset-bottom,0)}.emp-shell-tab{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:8px 4px;border:none;background:none;cursor:pointer;color:#9ca3af;transition:color .1s;min-width:0;position:relative}.emp-shell-tab:before{content:"";position:absolute;top:0;left:20%;right:20%;height:2px;border-radius:0 0 2px 2px;background:transparent;transition:background .1s}.emp-shell-tab.active:before{background:#3b82f6}.emp-shell-tab.center:before{left:15%;right:15%}.emp-shell-tab.active{color:#3b82f6}.emp-shell-tab:hover:not(.active){color:#6b7280}.emp-shell-tab-icon{display:flex;align-items:center;justify-content:center;line-height:1}.emp-shell-tab.center .emp-shell-tab-icon{padding-bottom:1px}.emp-shell-tab-label{font-size:.58rem;font-weight:500;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%;text-align:center}.tc-pin{display:flex;flex-direction:column;align-items:center;gap:20px;width:100%;max-width:300px;margin:0 auto}.tc-pin-display{display:flex;gap:14px;margin-bottom:4px}.tc-pin-dot{width:20px;height:20px;border-radius:50%;border:2px solid #d1d5db;background:transparent;flex-shrink:0;transition:background .12s,border-color .12s}.tc-pin-dot--filled{background:#111827;border-color:#111827}.tc-pin-error{color:#ef4444;font-size:14px;text-align:center;padding:0 8px}.tc-pin-pad{display:grid;grid-template-columns:repeat(3,76px);grid-template-rows:repeat(4,76px);gap:10px}.tc-pin-key{width:76px;height:76px;border-radius:50%;border:none;background:#1e293b;color:#fff;font-size:26px;font-weight:500;cursor:pointer;transition:background .1s,transform .08s;display:flex;align-items:center;justify-content:center}.tc-pin-key:hover:not(:disabled){background:#374151}.tc-pin-key:active:not(:disabled){transform:scale(.93)}.tc-pin-key:disabled{opacity:.4;cursor:default}.tc-pin-key--empty{background:transparent;pointer-events:none}.tc-pin-key--delete{font-size:20px}.tc-pin-hidden-input{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px}.tc-pin-clear{background:transparent;border:none;color:#9ca3af;font-size:14px;cursor:pointer;padding:4px 12px;text-decoration:underline;transition:color .1s}.tc-pin-clear:hover:not(:disabled){color:#6b7280}.tc-pin-clear:disabled{cursor:default}.tc-confirm{display:flex;flex-direction:column;align-items:center;gap:10px;padding:28px 20px;border-radius:12px;width:100%;text-align:center}.tc-confirm--start{background:#f0fdf4;border:1px solid #bbf7d0}.tc-confirm--finish{background:#fff7ed;border:1px solid #fed7aa}.tc-confirm--break{background:#fffbeb;border:1px solid #fde68a}.tc-confirm--return{background:#eff6ff;border:1px solid #bfdbfe}.tc-confirm--error{background:#fef2f2;border:1px solid #fecaca}.tc-confirm-check{width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:26px;font-weight:700;flex-shrink:0;margin-bottom:4px}.tc-confirm--start .tc-confirm-check{background:#dcfce7;color:#16a34a}.tc-confirm--finish .tc-confirm-check{background:#ffedd5;color:#ea580c}.tc-confirm--break .tc-confirm-check{background:#fef3c7;color:#b45309}.tc-confirm--return .tc-confirm-check{background:#dbeafe;color:#3b82f6}.tc-confirm--error .tc-confirm-check{background:#fee2e2;color:#dc2626}.tc-confirm-headline{font-size:30px;font-weight:700;color:#111827;margin:0;letter-spacing:-.02em}.tc-confirm-message{font-size:20px;font-weight:400;color:#374151;margin:0;line-height:1.4}.tc-confirm-time{font-size:16px;color:#6b7280;margin:4px 0 0;font-variant-numeric:tabular-nums}.tc-screen{display:flex;flex-direction:column;align-items:center;width:100%}.tc-entry-card,.tc-state-card{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:40px 36px;width:100%;display:flex;flex-direction:column;align-items:center;box-shadow:0 1px 4px #0000000f}.tc-card-label{font-size:17px;font-weight:600;color:#111827;margin:0 0 20px;text-align:center}.tc-checking-label{font-size:14px;color:#6b7280;margin:12px 0 0}.tc-entry-helper{font-size:13px;color:#9ca3af;text-align:center;margin:16px 0 0}.tc-greeting{font-size:26px;font-weight:700;color:#111827;margin:0 0 16px;text-align:center;letter-spacing:-.02em}.tc-status-badge{display:inline-block;padding:5px 14px;border-radius:999px;font-size:13px;font-weight:600;letter-spacing:.03em;text-transform:uppercase;margin-bottom:10px}.tc-status-badge--ready{background:var(--color-success-bg);color:var(--color-success-text);border:1px solid var(--color-success-border)}.tc-status-badge--active{background:var(--color-accent-subtle);color:var(--color-accent-deep);border:1px solid var(--color-accent-border)}.tc-status-badge--break{background:var(--color-break-bg);color:var(--color-break-text);border:1px solid var(--color-break-border)}.tc-status-badge--complete{background:var(--color-neutral-bg);color:var(--color-text-secondary);border:1px solid var(--color-border)}.tc-status-sub{font-size:15px;color:#6b7280;margin:0 0 4px;text-align:center}.tc-clock-time{font-size:20px;font-weight:500;color:#111827;margin:0 0 4px;font-variant-numeric:tabular-nums;text-align:center}.tc-completed-notice{font-size:13px;color:#9ca3af;text-align:center;margin:14px 0 0;line-height:1.5}.tc-actions-col{display:flex;flex-direction:column;gap:10px;width:100%;margin-top:20px}.tc-btn-action{width:100%;min-height:56px;padding:0 16px;border:none;border-radius:10px;font-size:17px;font-weight:600;cursor:pointer;transition:background .12s,opacity .12s;letter-spacing:-.01em}.tc-btn-action:disabled{opacity:.6;cursor:not-allowed}.tc-btn-action--start{background:#059669;color:#fff}.tc-btn-action--start:hover:not(:disabled){background:#047857}.tc-btn-action--finish{background:#ea580c;color:#fff}.tc-btn-action--finish:hover:not(:disabled){background:#c2410c}.tc-btn-action--break{background:#fff;color:#92400e;border:1.5px solid #fcd34d}.tc-btn-action--break:hover:not(:disabled){background:#fffbeb;border-color:#f59e0b}.tc-btn-action--return{background:#3b82f6;color:#fff}.tc-btn-action--return:hover:not(:disabled){background:#2563eb}.tc-btn-primary{width:100%;min-height:56px;padding:0 16px;background:#3b82f6;color:#fff;border:none;border-radius:10px;font-size:17px;font-weight:600;cursor:pointer;transition:background .12s}.tc-btn-primary:hover:not(:disabled){background:#2563eb}.tc-btn-primary:disabled{opacity:.6;cursor:not-allowed}.tc-btn-secondary{width:100%;min-height:56px;padding:0 16px;background:#fff;color:#374151;border:1px solid #d1d5db;border-radius:10px;font-size:17px;font-weight:500;cursor:pointer;transition:background .12s,border-color .12s}.tc-btn-secondary:hover:not(:disabled){background:#f9fafb;border-color:#9ca3af}.tc-btn-secondary:disabled{opacity:.5;cursor:not-allowed}.tc-not-found-msg{font-size:17px;font-weight:600;color:#ef4444;margin:0 0 6px;text-align:center}.tc-error-title{font-size:17px;font-weight:600;color:#111827;margin:0 0 6px;text-align:center}.tc-error-msg{font-size:14px;color:#6b7280;margin:0 0 20px;text-align:center;line-height:1.5}.tc-reset-link{background:none;border:none;color:#9ca3af;font-size:13px;cursor:pointer;margin-top:20px;padding:4px 8px;transition:color .1s}.tc-reset-link:hover:not(:disabled){color:#6b7280}.tc-reset-link:disabled{opacity:.4;cursor:not-allowed}.tc-page{min-height:100dvh;display:flex;flex-direction:column;background:#f4f6f9;color:#111827}.tc-page--center{align-items:center;justify-content:center}.tc-page-spinner{font-size:16px;color:#6b7280}.tc-page-error{text-align:center;padding:24px}.tc-page-error-msg{font-size:18px;font-weight:600;color:#111827;margin:0 0 8px}.tc-page-error-sub{font-size:14px;color:#6b7280;margin:0}.tc-page-header{display:flex;align-items:center;justify-content:space-between;padding:14px 28px;border-bottom:1px solid #e5e7eb;background:#fff;flex-shrink:0}.tc-page-business{font-size:16px;font-weight:700;color:#111827;letter-spacing:-.01em}.tc-page-label{font-size:12px;color:#9ca3af;font-weight:500;text-transform:uppercase;letter-spacing:.08em}.tc-page-main{flex:1;overflow-y:auto;padding:40px 24px 48px;display:flex;align-items:center;justify-content:center}.tc-page-content{display:flex;flex-direction:column;align-items:center;gap:32px;width:100%;max-width:520px}.tc-kiosk-clock{text-align:center}.tc-kiosk-time{font-size:72px;font-weight:200;color:#111827;font-variant-numeric:tabular-nums;line-height:1;letter-spacing:-.03em}.tc-kiosk-date{font-size:17px;color:#6b7280;margin-top:6px;font-weight:400}@media (min-width: 900px) and (max-height: 700px){.tc-kiosk-time{font-size:56px}.tc-page-main{padding:24px 24px 32px}.tc-page-content{gap:24px}}.entry-page{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#f3f4f6;padding:32px 16px}.entry-header{text-align:center;margin-bottom:40px}.entry-title{font-size:1.75rem;font-weight:700;color:#111827;letter-spacing:-.5px}.entry-subtitle{margin-top:6px;font-size:.95rem;color:#6b7280}.entry-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;width:100%;max-width:560px}.entry-card{display:flex;flex-direction:column;gap:6px;padding:20px 24px;background:#fff;border:1px solid #e5e7eb;border-radius:10px;text-decoration:none;color:inherit;transition:border-color .15s,box-shadow .15s}.entry-card:hover:not(.entry-card--info){border-color:#3b82f6;box-shadow:0 2px 8px #3b82f61f}.entry-card--info{cursor:default;opacity:.6}.entry-card-label{font-size:.95rem;font-weight:600;color:#111827}.entry-card--info .entry-card-label{color:#374151}.entry-card-desc{font-size:.82rem;color:#6b7280;line-height:1.4}@media (max-width: 480px){.entry-grid{grid-template-columns:1fr}}.ks{min-height:100vh;background:var(--color-bg-page);font-family:var(--font-family-sans)}.ks-banner{background:var(--color-warning-bg);color:var(--color-warning-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);padding:8px 24px;border-bottom:1px solid var(--color-warning-border);text-align:center}.ks-header{padding:24px 32px 16px;border-bottom:1px solid var(--color-border);background:var(--color-bg-surface)}.ks-title{font-size:var(--font-size-display);font-weight:var(--font-weight-medium);color:var(--color-text-primary);line-height:1.2}.ks-subtitle{font-size:var(--font-size-sm);color:var(--color-text-muted);margin-top:4px}.ks-nav-tabs{background:var(--color-bg-surface);padding:0 32px;border-bottom:1px solid var(--color-border)}.ks-content{padding:24px 32px;max-width:1200px}.ks-section{margin-bottom:36px}.ks-section-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-medium);color:var(--color-text-primary);margin-bottom:14px;padding-bottom:8px;border-bottom:1px solid var(--color-border-subtle)}.ks-section-body{display:flex;flex-direction:column;gap:12px}.ks-row{display:flex;align-items:center;gap:12px}.ks-row-label{width:280px;flex-shrink:0;font-size:var(--font-size-xs);color:var(--color-text-faint);font-weight:var(--font-weight-medium)}.ks-row-content{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ks-swatch-row{display:flex;align-items:center;gap:10px;padding:4px 0}.ks-swatch{width:36px;height:36px;border-radius:var(--radius-md);flex-shrink:0}.ks-swatch-label{font-size:var(--font-size-sm);color:var(--color-text-secondary);font-family:monospace}.ks-type-stack{display:flex;flex-direction:column;gap:8px;color:var(--color-text-primary)}.ks-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}.ks-density-bar{background:var(--color-brand-50);border:1px solid var(--color-brand-200);border-radius:var(--radius-sm);display:flex;align-items:center;padding:0 12px;font-size:var(--font-size-xs);color:var(--color-brand-600);font-weight:var(--font-weight-medium);width:200px}.ks-pill-row{display:flex;flex-wrap:wrap;gap:8px}:root{--color-bg-page: #f3f4f6;--color-bg-surface: #ffffff;--color-bg-subtle: #f9fafb;--color-bg-muted: #f3f4f6;--color-text-primary: #111827;--color-text-secondary: #374151;--color-text-muted: #6b7280;--color-text-faint: #9ca3af;--color-border: #e5e7eb;--color-border-subtle: #f3f4f6;--color-border-hover: #d1d5db;--color-accent: #3b82f6;--color-accent-hover: #2563eb;--color-accent-deep: #1d4ed8;--color-accent-subtle: #eff6ff;--color-accent-border: #bfdbfe;--color-success-bg: #dcfce7;--color-success-text: #166534;--color-success-border: #bbf7d0;--color-warning-bg: #fef3c7;--color-warning-text: #92400e;--color-warning-border: #fcd34d;--color-danger-bg: #fee2e2;--color-danger-text: #991b1b;--color-danger-border: #fca5a5;--color-danger-action: #ef4444;--color-danger-action-hover: #dc2626;--color-info-bg: #f0f9ff;--color-info-text: #0369a1;--color-neutral-bg: #f3f4f6;--color-neutral-text: #6b7280;--color-dark-action: #111827;--color-dark-action-hover: #1f2937;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .05);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .08);--shadow-md: 0 4px 12px rgba(0, 0, 0, .1);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .12);--shadow-modal: 0 20px 60px rgba(0, 0, 0, .25);--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 10px;--radius-full: 9999px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--font-size-xs: 11px;--font-size-sm: 12px;--font-size-base: 13px;--font-size-md: 14px;--font-size-lg: 16px;--font-size-xl: 18px;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--color-break-bg: #fef9c3;--color-break-text: #854d0e;--color-break-border: #fde68a;--color-warning-icon: #d97706;--color-danger-icon: #dc2626;--color-success-icon: #16a34a;--transition-fast: .1s;--transition-base: .15s;--font-family-sans: "Inter", -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-size-display: 22px;--font-size-kpi: 24px;--color-brand-50: #EEEDFE;--color-brand-200: #AFA9EC;--color-brand-300: #C0BBF0;--color-brand-400: #7F77DD;--color-brand-600: #534AB7;--color-brand-800: #3C3489;--color-brand-900: #26215C;--color-data-blue: #2563EB;--color-cat-teal-bg: #E1F5EE;--color-cat-teal-text: #0F6E56;--color-cat-blue-bg: #E6F1FB;--color-cat-blue-text: #0C447C;--color-cat-pink-bg: #FBEAF0;--color-cat-pink-text: #72243E;--color-cat-coral-bg: #FAECE7;--color-cat-coral-text: #993C1D;--color-cat-green-bg: #EAF3DE;--color-cat-green-text: #3B6D11;--color-cat-gray-bg: #F1EFE8;--color-cat-gray-text: #444441;--row-h-comfortable: 44px;--row-h-compact: 32px;--sidebar-bg: #1A1D24;--sidebar-shadow: 0 4px 24px rgba(0, 0, 0, .22);--sidebar-brand-text: #FFFFFF;--sidebar-nav-text: #9AA3B2;--sidebar-nav-hover-bg: rgba(255, 255, 255, .05);--sidebar-nav-hover-text: #FFFFFF;--sidebar-active-bg: rgba(255, 255, 255, .1);--sidebar-active-border: var(--color-brand-400);--sidebar-active-text: #FFFFFF;--sidebar-sub-text: #6E7682;--sidebar-sub-hover-text: #CDD3DB;--sidebar-collapse-color: #9AA3B2;--sidebar-logout-bg: rgba(255, 255, 255, .06);--sidebar-logout-border: rgba(255, 255, 255, .12);--sidebar-logout-text: #9AA3B2;--color-background-tertiary: #EAECF0}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family-sans);font-size:var(--font-size-md);line-height:1.5;background-color:var(--color-bg-page);color:var(--color-text-primary)}.loading-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--color-bg-page)}.loading-spinner{font-size:1.25rem;color:var(--color-text-muted)}.btn{padding:8px 16px;border:none;border-radius:var(--radius-md);font-size:var(--font-size-md);font-weight:500;cursor:pointer;transition:background-color var(--transition-base)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background-color:var(--color-brand-600);color:#fff}.btn-primary:hover:not(:disabled){background-color:var(--color-brand-800)}.btn-secondary{background:none;border:1px solid var(--color-border-hover);color:var(--color-text-secondary)}.btn-secondary:hover:not(:disabled){background:var(--color-bg-subtle);border-color:var(--color-text-muted)}.btn-ghost{background:none;border:1px solid var(--color-border);color:var(--color-text-secondary)}.btn-ghost:hover:not(:disabled){background:var(--color-bg-subtle)}.btn-dark{background-color:var(--color-dark-action);color:#f9fafb;border:1px solid var(--color-dark-action)}.btn-dark:hover:not(:disabled){background-color:var(--color-dark-action-hover);border-color:var(--color-dark-action-hover)}.btn-danger{background:none;border:1px solid var(--color-danger-border);color:var(--color-danger-action-hover)}.btn-danger:hover:not(:disabled){background:var(--color-danger-bg);border-color:var(--color-danger-action)}.btn-danger-outline{background:none;border:1px solid var(--color-border-hover);color:var(--color-danger-action-hover)}.btn-danger-outline:hover:not(:disabled){background:var(--color-danger-bg);border-color:var(--color-border-hover)}.btn-sm{font-size:var(--font-size-sm);padding:5px 10px}.btn-icon{width:32px;height:32px;padding:0;display:inline-flex;align-items:center;justify-content:center;background:none;border:1px solid var(--color-border);color:var(--color-text-secondary);border-radius:var(--radius-md);cursor:pointer;flex-shrink:0;transition:background var(--transition-fast),border-color var(--transition-fast)}.btn-icon:hover{background:var(--color-bg-subtle);border-color:var(--color-border-hover)}.badge{display:inline-flex;align-items:center;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);line-height:1.4;padding:2px 7px;border-radius:var(--radius-sm);white-space:nowrap}.badge-neutral{background:var(--color-neutral-bg);color:var(--color-neutral-text)}.badge-success{background:var(--color-success-bg);color:var(--color-success-text)}.badge-warning{background:var(--color-warning-bg);color:var(--color-warning-text)}.badge-danger{background:var(--color-danger-bg);color:var(--color-danger-text)}.badge-info{background:var(--color-info-bg);color:var(--color-info-text)}.badge-break{background:var(--color-break-bg);color:var(--color-break-text)}.badge-pending{background:var(--color-warning-bg);color:var(--color-warning-text)}.badge-active{background:var(--color-success-bg);color:var(--color-success-text)}.badge-inactive{background:var(--color-neutral-bg);color:var(--color-neutral-text)}.badge-draft{background:var(--color-brand-50);color:var(--color-brand-600)}.badge-published,.badge-live{background:var(--color-success-bg);color:var(--color-success-text)}.badge-uppercase{text-transform:uppercase;letter-spacing:.05em;font-size:10px}.section-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);color:var(--color-text-faint);text-transform:uppercase;letter-spacing:.05em}
