.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--spacing-lg)}.login-container{width:100%;max-width:400px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--spacing-xl);box-shadow:var(--shadow-md)}.login-header{text-align:center;margin-bottom:var(--spacing-xl)}.login-logo{display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.login-logo h1{font-family:var(--font-display);font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0}.login-subtitle{color:var(--text-secondary);font-size:.875rem}.login-form{margin-bottom:var(--spacing-lg)}.login-error{background:var(--status-red-light);border:1px solid var(--status-red);color:var(--status-red);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);margin-bottom:var(--spacing-md);font-size:.8125rem}.login-btn{width:100%;padding:var(--spacing-md);font-size:.9375rem;margin-top:var(--spacing-sm);background:var(--text-primary);color:#fff;border:none;border-radius:var(--radius-md);font-weight:500;cursor:pointer;transition:background-color .15s ease}.login-btn:hover:not(:disabled){background:#1f2937}.login-btn:disabled{opacity:.5;cursor:not-allowed}.login-footer{text-align:center;color:var(--text-muted);font-size:.75rem}.dashboard{max-width:100%;background:var(--bg-primary);min-height:100vh;padding:var(--spacing-md);font-family:var(--font-display)}.dashboard .page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--spacing-lg);margin-bottom:var(--spacing-md);flex-wrap:wrap}.page-header-left{flex-shrink:0}.page-header-filters{display:flex;align-items:center;gap:var(--spacing-md);flex-wrap:wrap}.quick-filter-group{display:flex;align-items:center;gap:var(--spacing-sm)}.quick-filter-label{font-size:.6875rem;font-weight:500;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.quick-filter-pills{display:flex;gap:4px;flex-wrap:wrap}.quick-filter-pill{padding:4px 12px;font-size:.8125rem;font-weight:500;font-family:var(--font-display);border:1px solid var(--border-color);border-radius:var(--radius-md);background:transparent;color:var(--text-secondary);cursor:pointer;transition:background-color .15s ease,color .15s ease,border-color .15s ease;white-space:nowrap}.quick-filter-pill:hover{background:var(--bg-hover);color:var(--text-primary)}.quick-filter-pill.active{background:var(--text-primary);border-color:var(--text-primary);color:#fff}.quick-filter-divider{width:1px;height:24px;background:var(--border-color)}.dashboard-layout{display:grid;grid-template-columns:320px 1fr;gap:var(--spacing-md);align-items:start}.dashboard-left{display:flex;flex-direction:column;gap:var(--spacing-md);position:sticky;top:var(--spacing-md);max-height:calc(100vh - var(--spacing-md) * 2);overflow-y:auto}.dashboard-right{min-width:0}.dashboard .page-header h1{font-size:1.5rem;font-weight:600;color:var(--text-primary);margin-bottom:var(--spacing-xs);font-family:var(--font-display)}.dashboard .page-subtitle{color:var(--text-secondary);font-size:.875rem;font-family:var(--font-display)}.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-sm);margin-bottom:0}.stat-card{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:var(--spacing-md);text-align:left;cursor:pointer;transition:background-color .15s ease}.stat-card:hover{background:var(--bg-hover)}.stat-value{font-size:1.75rem;font-weight:600;font-family:var(--font-display);font-variant-numeric:tabular-nums;line-height:1;margin-bottom:4px;color:var(--text-primary);letter-spacing:-.02em}.stat-label{font-size:.75rem;text-transform:none;letter-spacing:0;color:var(--text-secondary);font-weight:500}.stat-green .stat-value{color:#10b981}.stat-yellow .stat-value{color:#eab308}.stat-red .stat-value{color:#ef4444}.summary-bar{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-bottom:0;padding:var(--spacing-md);background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md)}.summary-bar-text{font-size:.75rem;color:var(--text-secondary);font-weight:500;text-transform:uppercase;letter-spacing:.05em}.filter-chip{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:4px 10px;background:transparent;border:none;border-radius:var(--radius-sm);font-size:.8125rem;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:background-color .15s ease,color .15s ease;font-family:var(--font-display)}.filter-chip-count{font-weight:600;font-variant-numeric:tabular-nums;font-family:var(--font-display)}.swim-lanes{display:flex;flex-direction:column;gap:var(--spacing-md);max-width:900px}.swim-lane{padding:0;overflow:hidden;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md)}.lane-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-secondary);border-bottom:1px solid var(--border-color)}.lane-header.group-header{background:var(--bg-secondary);padding:var(--spacing-sm) var(--spacing-md);border-bottom:1px solid var(--border-color)}.lane-header h2{font-size:.75rem;font-weight:600;margin:0;color:var(--text-secondary);font-family:var(--font-display);text-transform:uppercase;letter-spacing:.05em}.group-header h2{font-size:.75rem;font-weight:600;color:var(--text-secondary);font-family:var(--font-display);text-transform:uppercase;letter-spacing:.05em}.group-toggle{display:flex;align-items:center;gap:var(--spacing-sm);background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:0;font-family:var(--font-display);text-align:left}.group-toggle:hover{color:var(--text-primary)}.group-toggle-icon{font-size:.625rem;color:var(--text-muted);transition:transform .2s;flex-shrink:0;width:12px;display:inline-block}.group-stats{display:flex;align-items:center;gap:var(--spacing-sm)}.survey-link-btn{padding:4px 10px;background:var(--accent-primary);color:#fff;border:none;border-radius:var(--radius-sm);font-size:.75rem;font-weight:500;cursor:pointer;text-decoration:none;transition:background-color .15s ease;font-family:var(--font-display);display:inline-flex;align-items:center;gap:4px}.survey-link-btn:hover{background:var(--accent-secondary)}.group-count{font-size:.75rem;color:var(--text-muted);font-weight:500;margin-right:var(--spacing-xs);font-family:var(--font-display);font-variant-numeric:tabular-nums}.lane-stats{display:flex;gap:var(--spacing-xs)}.lane-stat{padding:2px 8px;border-radius:var(--radius-sm);font-size:.6875rem;font-weight:500;font-family:var(--font-display);font-variant-numeric:tabular-nums}.lane-stat.green{background:#a7f3d0;color:#10b981}.lane-stat.yellow{background:#fde047;color:#eab308}.lane-stat.red{background:#fca5a5;color:#ef4444}.dashboard-controls{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-bottom:0;padding:var(--spacing-md);background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md)}.control-group{display:flex;flex-direction:column;gap:var(--spacing-xs)}.control-label{font-size:.6875rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-weight:500;font-family:var(--font-display)}.control-select{min-width:160px;padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-size:.875rem;cursor:pointer;font-family:var(--font-display)}.control-select:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px #2563eb1a}.control-select optgroup{font-weight:600}.sku-list{display:flex;flex-direction:column;padding:0}.sku-row{display:grid;grid-template-columns:4px 1fr 180px 120px 100px;align-items:center;padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-tertiary);border-bottom:1px solid var(--border-light);cursor:pointer;transition:background-color .15s ease;gap:var(--spacing-sm)}.sku-row:hover,.sku-row.expanded{background:var(--bg-hover)}.sku-row.green .status-indicator{background:#10b981}.sku-row.yellow .status-indicator{background:#eab308}.sku-row.red .status-indicator{background:#ef4444}.status-indicator{width:4px;height:100%;min-height:24px;background:var(--border-color);border-radius:2px}.sku-name{font-weight:400;font-size:.8125rem;color:var(--text-primary);font-family:var(--font-mono);letter-spacing:0}.sku-checkpoint{font-size:.8125rem;color:var(--text-secondary);font-family:var(--font-display);font-variant-numeric:tabular-nums;display:flex;align-items:center;gap:4px}.sku-deadline{font-size:.8125rem;color:var(--text-secondary);font-family:var(--font-display)}.sku-deadline.urgent{color:var(--status-red);font-weight:500}.sku-deadline.warning{color:var(--status-yellow);font-weight:500}.sku-owner{font-size:.8125rem;color:var(--text-muted);font-family:var(--font-display)}.sku-detail-panel{grid-column:1 / -1;padding:var(--spacing-md);background:var(--bg-tertiary);border-top:1px solid var(--border-color);animation:slideDown .2s ease-out}@keyframes slideDown{0%{opacity:0;max-height:0}to{opacity:1;max-height:1000px}}.detail-panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-sm);padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--border-color)}.detail-panel-title{font-size:.9375rem;font-weight:600;color:var(--text-primary);font-family:var(--font-display)}.view-details-btn{padding:6px 12px;background:var(--text-primary);color:#fff;border:none;border-radius:var(--radius-sm);font-size:.8125rem;font-weight:500;cursor:pointer;transition:background-color .15s ease;font-family:var(--font-display)}.view-details-btn:hover{background:#1f2937}.sku-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--spacing-md);padding:var(--spacing-lg)}.sku-card{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:var(--spacing-md);cursor:pointer;transition:background-color .15s ease;text-align:left;font-family:var(--font-display);color:var(--text-primary);display:flex;flex-direction:column;gap:var(--spacing-xs)}.sku-card.green{border-left:4px solid var(--status-green)}.sku-card.yellow{border-left:4px solid var(--status-yellow)}.sku-card.red{border-left:4px solid var(--status-red)}.no-skus{color:var(--text-secondary);font-size:.875rem;grid-column:1 / -1;text-align:center;padding:var(--spacing-lg);font-family:var(--font-display)}.empty-state{text-align:center;padding:var(--spacing-xl);background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-lg)}.empty-state h3{margin-bottom:var(--spacing-sm);color:var(--text-primary);font-family:var(--font-display)}.empty-state p{color:var(--text-secondary);font-family:var(--font-display)}.side-panel-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0006;z-index:1000;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.side-panel{position:fixed;top:0;right:0;bottom:0;width:450px;background:var(--bg-tertiary);border-left:1px solid var(--border-color);z-index:1001;overflow-y:auto;animation:slideIn .2s ease;transform:translate(0)}@keyframes slideIn{0%{transform:translate(100%)}to{transform:translate(0)}}.side-panel-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-md);padding:var(--spacing-md);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--border-color);position:sticky;top:0;background:var(--bg-tertiary);z-index:10}.side-panel-actions{display:flex;align-items:center;gap:var(--spacing-sm)}.bulk-action-btn{padding:6px 12px;background:var(--status-green);color:#fff;border:none;border-radius:var(--radius-sm);font-size:.75rem;font-weight:500;cursor:pointer;transition:background-color .15s ease;font-family:var(--font-display)}.bulk-action-btn:hover:not(:disabled){background:#064e3b}.bulk-action-btn:disabled{background:var(--text-muted);cursor:not-allowed}.side-panel-header h2{font-size:1rem;font-family:var(--font-display);margin-bottom:var(--spacing-xs);color:var(--text-primary);font-weight:600}.side-panel-meta{color:var(--text-secondary);font-size:.75rem;font-family:var(--font-display)}.side-panel-close{background:none;border:none;color:var(--text-muted);font-size:1.25rem;cursor:pointer;padding:var(--spacing-xs);line-height:1;transition:color .15s ease;flex-shrink:0}.side-panel-close:hover{color:var(--text-primary)}.side-panel .checkpoints-list{padding:0 var(--spacing-md) var(--spacing-md)}.checkpoint-toggle{display:flex;align-items:center;gap:var(--spacing-sm);cursor:pointer;-webkit-user-select:none;user-select:none}.checkpoint-toggle input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:var(--accent-primary)}.toggle-label{font-size:.8125rem;color:var(--text-secondary);font-weight:500}.checkpoint-toggle input[type=checkbox]:checked+.toggle-label{color:var(--status-green);font-weight:500}.checkpoint-toggle input[type=checkbox]:disabled{cursor:not-allowed;opacity:.5}.missing-commit-dates-alert{margin-bottom:var(--spacing-md);background:#fef3c7;border:1px solid #f59e0b;border-radius:var(--radius-md);overflow:hidden}.alert-header{padding:var(--spacing-md);background:#fde68a;border-bottom:1px solid #f59e0b}.alert-title{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-xs)}.alert-icon{font-size:1.25rem}.alert-title h3{font-size:.875rem;font-weight:600;color:#92400e;margin:0;font-family:var(--font-display)}.alert-count{padding:2px 8px;background:#f59e0b;color:#fff;border-radius:var(--radius-sm);font-size:.6875rem;font-weight:600;font-family:var(--font-display)}.alert-description{font-size:.8125rem;color:#92400e;margin:0;font-family:var(--font-display)}.missing-dates-table{display:flex;flex-direction:column}.missing-dates-header{display:grid;grid-template-columns:1fr 150px 120px 1fr;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:#fde68a;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#92400e;font-family:var(--font-display)}.missing-dates-row{display:grid;grid-template-columns:1fr 150px 120px 1fr;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:#fffbeb;border-bottom:1px solid #fde68a;align-items:center}.missing-dates-row:last-child{border-bottom:none}.missing-dates-row .sku-display-name{font-size:.8125rem;font-weight:500;color:#78350f;font-family:var(--font-mono)}.missing-dates-row .sku-account,.missing-dates-row .sku-team{font-size:.8125rem;color:#92400e;font-family:var(--font-display)}.commit-date-actions{display:flex;gap:var(--spacing-sm);align-items:center;flex-wrap:wrap}.commit-date-input-group{display:flex;gap:var(--spacing-xs);align-items:center;flex:1;min-width:200px}.commit-date-input{flex:1;padding:6px 10px;border:1px solid #d97706;border-radius:var(--radius-sm);font-size:.8125rem;font-family:var(--font-display);background:#fff;color:#78350f}.commit-date-input:focus{outline:none;border-color:#f59e0b;box-shadow:0 0 0 3px #f59e0b33}.commit-date-save-btn{padding:6px 12px;background:#f59e0b;color:#fff;border:none;border-radius:var(--radius-sm);font-size:.75rem;font-weight:600;cursor:pointer;transition:background-color .15s ease;font-family:var(--font-display);white-space:nowrap}.commit-date-save-btn:hover:not(:disabled){background:#d97706}.commit-date-save-btn:disabled{background:#fcd34d;cursor:not-allowed}.archive-btn{padding:6px 12px;background:#6b7280;color:#fff;border:none;border-radius:var(--radius-sm);font-size:.75rem;font-weight:600;cursor:pointer;transition:background-color .15s ease;font-family:var(--font-display);white-space:nowrap}.archive-btn:hover:not(:disabled){background:#4b5563}.archive-btn:disabled{background:#9ca3af;cursor:not-allowed}@media (max-width: 768px){.missing-dates-header,.missing-dates-row{grid-template-columns:1fr;gap:var(--spacing-xs)}.missing-dates-row .sku-account,.missing-dates-row .sku-team{display:none}.missing-dates-header span:nth-child(2),.missing-dates-header span:nth-child(3){display:none}.commit-date-actions{flex-direction:column;align-items:stretch}.commit-date-input-group{min-width:100%}.archive-btn{width:100%}}.search-container{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-md);padding:var(--spacing-md);background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md)}.search-input{flex:1;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--border-color);border-radius:var(--radius-sm);font-size:.875rem;font-family:var(--font-display);color:var(--text-primary)}.search-close{background:none;border:none;color:var(--text-muted);font-size:1.25rem;cursor:pointer;padding:var(--spacing-xs);line-height:1;transition:color .15s ease}.search-close:hover{color:var(--text-primary)}.checkpoints-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.checkpoint-row{display:flex;align-items:flex-start;gap:var(--spacing-sm);padding:var(--spacing-sm);background:var(--bg-secondary);border-radius:var(--radius-sm);border-left:4px solid var(--border-color);margin-bottom:var(--spacing-sm)}.checkpoint-row.green{border-left-color:var(--status-green)}.checkpoint-row.yellow{border-left-color:var(--status-yellow)}.checkpoint-row.red{border-left-color:var(--status-red)}.checkpoint-row.pending{border-left-color:var(--border-color);opacity:.6}.checkpoint-status{flex-shrink:0;width:8px;height:8px;border-radius:50%;margin-top:6px;background:var(--border-color)}.checkpoint-row.green .checkpoint-status{background:var(--status-green)}.checkpoint-row.yellow .checkpoint-status{background:var(--status-yellow)}.checkpoint-row.red .checkpoint-status{background:var(--status-red)}.checkpoint-row.pending .checkpoint-status{background:var(--border-color);opacity:.5}.checkpoint-content{flex:1;min-width:0}.checkpoint-question{font-size:.875rem;margin-bottom:var(--spacing-xs);color:var(--text-primary);font-family:var(--font-display)}.checkpoint-meta{font-size:.6875rem;color:var(--text-muted);font-family:var(--font-display)}.checkpoint-response{flex-shrink:0}.response-yes{background:var(--status-green-light);color:var(--status-green);padding:2px 8px;border-radius:var(--radius-sm);font-size:.6875rem;font-weight:500;font-family:var(--font-display)}.response-no{background:var(--status-red-light);color:var(--status-red);padding:2px 8px;border-radius:var(--radius-sm);font-size:.6875rem;font-weight:500;font-family:var(--font-display)}.response-pending{color:var(--text-muted);font-size:.6875rem;font-style:italic}.no-checkpoints{text-align:center;color:var(--text-secondary);padding:var(--spacing-lg);font-family:var(--font-display)}.checkpoint-dots{display:flex;gap:2px;align-items:center;flex-wrap:wrap;max-width:120px}.checkpoint-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.checkpoint-dot.complete{background:#10b981}.checkpoint-dot.attention{background:#eab308}.checkpoint-dot.pending{background:transparent;border:1px solid var(--border-color)}.sku-card[title]:hover:after{content:attr(title);position:absolute;background:var(--bg-tertiary);color:var(--text-primary);padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:.8125rem;white-space:normal;max-width:300px;z-index:1000;pointer-events:none;box-shadow:var(--shadow-lg);margin-top:8px;margin-left:-8px}.sku-card{position:relative}.swim-lane .sku-grid{transition:max-height .3s ease-out,opacity .2s ease-out;overflow:hidden}@media (max-width: 768px){.dashboard{padding:var(--spacing-sm)}.dashboard .page-header{flex-direction:column;align-items:flex-start}.page-header-filters{flex-direction:column;align-items:flex-start;width:100%}.quick-filter-divider{display:none}.quick-filter-group{flex-direction:column;align-items:flex-start;width:100%}.quick-filter-pills{width:100%}.quick-filter-pill{padding:4px 10px;font-size:.75rem}.dashboard-layout{grid-template-columns:1fr;gap:var(--spacing-md)}.dashboard-left{position:static;max-height:none}.stats-grid{grid-template-columns:repeat(2,1fr);gap:var(--spacing-sm)}.stat-value{font-size:1.5rem}.summary-bar{flex-direction:column;align-items:flex-start;gap:var(--spacing-sm)}.filter-chip{font-size:.75rem}.sku-row{grid-template-columns:4px 1fr;gap:var(--spacing-sm);padding:var(--spacing-sm)}.sku-checkpoint,.sku-deadline,.sku-owner{grid-column:2;font-size:.75rem;margin-top:2px}.sku-checkpoint{order:1}.sku-deadline{order:2}.sku-owner{order:3}.swim-lanes{max-width:100%}.side-panel{width:100%}}@media (max-width: 480px){.dashboard{padding:var(--spacing-xs)}.dashboard-layout{gap:var(--spacing-sm)}.stats-grid{grid-template-columns:1fr 1fr;gap:var(--spacing-xs)}.stat-value{font-size:1.25rem}.stat-card{padding:var(--spacing-sm)}.sku-row{grid-template-columns:4px 1fr;padding:var(--spacing-xs) var(--spacing-sm)}.group-header h2{font-size:.6875rem}.lane-header{flex-wrap:wrap;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm)}.summary-bar{padding:var(--spacing-sm)}.filter-chip{padding:4px 8px;font-size:.6875rem}.side-panel{width:100%}}.crud-page{max-width:100%}.page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-xl)}.page-header h1{font-size:1.5rem;font-weight:600;margin-bottom:var(--spacing-xs);font-family:var(--font-display)}.page-subtitle{color:var(--text-secondary);font-size:.8125rem}.filters{display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.filter-select{width:200px}.name-cell{font-weight:500}.date-cell{color:var(--text-secondary);font-family:var(--font-mono);font-size:.8125rem}.email-cell{font-family:var(--font-mono);font-size:.8125rem;color:var(--text-secondary)}.actions-cell{display:flex;gap:var(--spacing-xs)}.empty-cell{text-align:center;color:var(--text-secondary);padding:var(--spacing-xl)!important}.btn-sm{padding:4px 10px;font-size:.75rem}.teams-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.team-card{padding:0;overflow:hidden}.team-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md) var(--spacing-lg);background:var(--bg-tertiary)}.team-info{display:flex;align-items:center;gap:var(--spacing-md)}.team-info h3{font-size:1rem;font-weight:600;margin:0}.expand-btn{background:none;border:none;color:var(--text-secondary);font-size:.75rem;padding:4px;cursor:pointer}.member-count{color:var(--text-muted);font-size:.6875rem;background:var(--bg-secondary);padding:2px 6px;border-radius:var(--radius-sm);font-variant-numeric:tabular-nums}.team-actions{display:flex;gap:var(--spacing-xs)}.members-list{padding:var(--spacing-md) var(--spacing-lg);border-top:1px solid var(--border-color)}.members-table{margin:0}.no-members{color:var(--text-muted);font-size:.875rem;text-align:center;padding:var(--spacing-md)}.empty-card{text-align:center;color:var(--text-secondary)}.sku-cell{min-width:200px}.sku-name{font-weight:400;font-family:var(--font-mono);font-size:.8125rem}.sku-details{color:var(--text-secondary);font-size:.75rem;margin-top:2px}.week-cell{font-family:var(--font-mono);font-size:.8125rem}.checkpoints-cell{font-family:var(--font-mono);font-size:.75rem;display:flex;gap:var(--spacing-sm)}.cp-green{color:var(--status-green)}.cp-yellow{color:var(--status-yellow)}.cp-red{color:var(--status-red)}.form-row{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-md)}.multi-select-container{border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-tertiary);max-height:300px;display:flex;flex-direction:column}.multi-select-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-sm) var(--spacing-md);border-bottom:1px solid var(--border-color);background:var(--bg-tertiary)}.multi-select-count{font-size:.75rem;color:var(--text-secondary)}.multi-select-options{max-height:200px;overflow-y:auto;padding:var(--spacing-xs)}.multi-select-option{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);cursor:pointer;border-radius:4px;transition:background-color .15s}.multi-select-option:hover{background:var(--bg-hover)}.multi-select-option input[type=checkbox]{cursor:pointer;width:16px;height:16px}.multi-select-option span{flex:1;font-size:.875rem}.form-hint{font-size:.75rem;color:var(--text-secondary);font-style:italic;margin-top:4px}@media (max-width: 768px){.form-row{grid-template-columns:1fr}.filters{flex-direction:column}.filter-select{width:100%}}.config-page{max-width:900px}.config-grid{display:grid;gap:var(--spacing-xl)}.config-page .card{padding:var(--spacing-xl)}.config-page .card h2{font-size:1rem;font-weight:600;margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--border-color);font-family:var(--font-display)}.form-help{color:var(--text-muted);font-size:.75rem;margin-top:var(--spacing-xs)}.card-description{color:var(--text-secondary);font-size:.875rem;margin-bottom:var(--spacing-lg)}.actions-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.action-item{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md);background:var(--bg-tertiary);border-radius:var(--radius-md)}.action-item h3{font-size:.9375rem;font-weight:600;margin-bottom:2px}.action-item p{color:var(--text-secondary);font-size:.8125rem}.message-banner{background:var(--status-green-light);border:1px solid var(--status-green);color:var(--status-green);padding:var(--spacing-md);border-radius:var(--radius-md);margin-bottom:var(--spacing-lg);text-align:center;font-weight:500;font-size:.875rem}.backup-summary{background:var(--bg-tertiary);border-radius:var(--radius-md);padding:var(--spacing-md);margin-bottom:var(--spacing-lg)}.backup-summary h4{font-size:.875rem;font-weight:600;margin-bottom:var(--spacing-sm);color:var(--text-secondary)}.backup-summary ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-sm)}.backup-summary li{font-size:.8125rem;color:var(--text-primary)}.backup-summary li strong{color:var(--accent)}.restore-confirm{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:var(--spacing-lg);margin-top:var(--spacing-lg)}.restore-confirm h4{font-size:1rem;font-weight:600;margin-bottom:var(--spacing-md)}.restore-options{margin:var(--spacing-md) 0}.checkbox-label{display:flex;align-items:flex-start;gap:var(--spacing-sm);cursor:pointer;font-size:.875rem}.checkbox-label input[type=checkbox]{margin-top:2px;cursor:pointer}.restore-warning{font-size:.875rem;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-sm);margin:var(--spacing-md) 0;background:var(--status-yellow-light);color:var(--status-yellow)}.restore-actions{display:flex;gap:var(--spacing-md);justify-content:flex-end;margin-top:var(--spacing-md)}.btn-danger{background:var(--status-red);color:#fff}.btn-danger:hover{background:#c0392b}.checkpoint-card{grid-column:1 / -1}.checkpoint-weeks{display:flex;flex-direction:column;gap:var(--spacing-sm)}.checkpoint-week{border:1px solid var(--border-color);border-radius:var(--radius-md);overflow:hidden}.week-header{display:flex;align-items:center;gap:var(--spacing-md);width:100%;padding:var(--spacing-md) var(--spacing-lg);background:var(--bg-tertiary);border:none;cursor:pointer;text-align:left;font-size:.9375rem;font-weight:600;color:var(--text-primary);transition:background-color .15s ease}.week-header:hover{background:var(--bg-secondary)}.week-toggle{font-size:.75rem;color:var(--text-muted);width:1rem}.week-title{flex:1;font-family:var(--font-display)}.week-count{font-size:.75rem;font-weight:400;color:var(--text-muted)}.week-checkpoints{padding:var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-sm);background:var(--bg-primary)}.checkpoint-item{padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-tertiary);border-radius:var(--radius-sm)}.checkpoint-display{display:flex;align-items:flex-start;gap:var(--spacing-md)}.checkpoint-order{font-size:.8125rem;font-weight:600;color:var(--text-muted);min-width:1.5rem;padding-top:2px}.checkpoint-text{flex:1;font-size:.875rem;line-height:1.5;color:var(--text-primary)}.btn-edit{opacity:0;transition:opacity .15s ease;font-size:.75rem;padding:var(--spacing-xs) var(--spacing-sm)}.checkpoint-item:hover .btn-edit{opacity:1}.checkpoint-edit{display:flex;flex-direction:column;gap:var(--spacing-sm)}.checkpoint-input{width:100%;padding:var(--spacing-sm) var(--spacing-md);font-size:.875rem;font-family:inherit;border:1px solid var(--accent);border-radius:var(--radius-sm);background:var(--bg-primary);color:var(--text-primary);resize:vertical;line-height:1.5}.checkpoint-input:focus{outline:none;box-shadow:0 0 0 2px var(--accent-light)}.checkpoint-actions{display:flex;gap:var(--spacing-sm);justify-content:flex-end}.btn-small{font-size:.75rem;padding:var(--spacing-xs) var(--spacing-md)}.no-checkpoints{color:var(--text-muted);font-size:.875rem;text-align:center;padding:var(--spacing-md)}.bulk-survey-page{min-height:100vh;display:flex;align-items:flex-start;justify-content:center;padding:var(--spacing-xl);padding-top:60px;background:var(--bg-primary)}.bulk-survey-container{width:100%;max-width:1000px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--spacing-xl)}.bulk-survey-container.loading,.bulk-survey-container.error,.bulk-survey-container.success{text-align:center;padding:60px var(--spacing-xl)}.spinner{width:40px;height:40px;border:3px solid var(--border-color);border-top-color:var(--accent-primary);border-radius:50%;margin:0 auto var(--spacing-lg);animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.error-icon,.success-icon{font-size:3rem;margin-bottom:var(--spacing-lg)}.success-icon{width:64px;height:64px;display:flex;align-items:center;justify-content:center;background:var(--status-green);border-radius:50%;margin:0 auto var(--spacing-lg);color:#fff;font-size:1.5rem}.bulk-survey-header{text-align:center;margin-bottom:var(--spacing-xl)}.bulk-survey-logo{margin-bottom:var(--spacing-md);color:var(--text-primary)}.bulk-survey-header h1{color:var(--text-primary);margin-bottom:var(--spacing-md);font-size:1.5rem;font-family:var(--font-display)}.bulk-survey-team{display:flex;flex-direction:column;gap:var(--spacing-xs);margin-bottom:var(--spacing-md)}.team-name{font-size:1rem;font-weight:600;color:var(--text-primary)}.team-details{font-size:.875rem;color:var(--text-secondary)}.bulk-survey-greeting{color:var(--text-secondary);font-size:.875rem}.summary-dashboard{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.summary-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.summary-stats-4{grid-template-columns:repeat(4,1fr)}.stat-card{text-align:center;padding:var(--spacing-md);background:var(--bg-secondary);border-radius:var(--radius-md);border:1px solid var(--border-color)}.stat-value{font-size:2rem;font-weight:600;line-height:1;margin-bottom:var(--spacing-xs);font-family:var(--font-display);font-variant-numeric:tabular-nums}.stat-label{font-size:.75rem;color:var(--text-secondary);font-weight:500;font-family:var(--font-display)}.stat-total .stat-value{color:var(--text-primary)}.stat-green .stat-value{color:var(--status-green)}.stat-yellow .stat-value{color:var(--status-yellow)}.stat-red .stat-value{color:var(--status-red)}.stat-lagging .stat-value{color:#d97706}.stat-exceptions .stat-value{color:var(--status-yellow)}.summary-progress{margin-top:var(--spacing-md)}.summary-progress-bar{width:100%;height:8px;background:var(--border-color);border-radius:var(--radius-sm);overflow:hidden;margin-bottom:var(--spacing-xs)}.summary-progress-fill{height:100%;transition:width .3s ease}.summary-progress-fill.green{background:var(--status-green)}.summary-progress-text{text-align:center;font-size:.8125rem;color:var(--text-secondary);font-weight:500;font-family:var(--font-display)}.quick-actions-bar{display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-md);padding:var(--spacing-md);background:var(--bg-secondary);border-radius:var(--radius-md);border:1px solid var(--border-color);flex-wrap:wrap}.quick-actions-left{display:flex;gap:var(--spacing-sm);flex-wrap:wrap}.quick-actions-right{display:flex;gap:var(--spacing-sm)}.quick-action-btn{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-tertiary);color:var(--text-primary);cursor:pointer;font-size:.8125rem;font-weight:500;transition:background-color .15s ease;font-family:var(--font-display)}.quick-action-btn:hover{background:var(--bg-hover)}.quick-action-btn.primary{background:var(--status-green);color:#fff;border-color:var(--status-green)}.quick-action-btn.primary:hover{background:#064e3b}.quick-action-btn.active{background:var(--text-primary);color:#fff;border-color:var(--text-primary)}.quick-action-btn.active:hover{background:#1f2937}.filter-bar{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-tertiary);border-radius:var(--radius-md);border:1px solid var(--border-color);flex-wrap:wrap}.filter-label{font-size:.75rem;color:var(--text-muted);font-weight:500;font-family:var(--font-display);margin-right:var(--spacing-xs);text-transform:uppercase;letter-spacing:.05em}.filter-chip{padding:4px 10px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);cursor:pointer;font-size:.8125rem;font-weight:500;transition:background-color .15s ease,color .15s ease;font-family:var(--font-display)}.filter-chip:hover{background:var(--bg-hover);color:var(--text-primary)}.filter-chip.active{background:var(--text-primary);color:#fff}.filter-chip.active:hover{background:#1f2937}.bulk-survey-progress{margin-bottom:var(--spacing-lg)}.progress-bar{width:100%;height:6px;background:var(--border-color);border-radius:var(--radius-sm);overflow:hidden;margin-bottom:var(--spacing-xs)}.progress-fill{height:100%;background:var(--accent-primary);transition:width .3s ease}.progress-text{text-align:center;font-size:.8125rem;color:var(--text-secondary);font-family:var(--font-display)}.bulk-survey-actions{display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-lg);justify-content:center}.action-btn{padding:var(--spacing-sm) var(--spacing-md);background:#fff;border:1px solid #e5e7eb;border-radius:8px;color:#1a1a1a;cursor:pointer;font-size:.875rem;font-weight:500;transition:all .2s;font-family:-apple-system,BlinkMacSystemFont,Inter,SF Pro Display,sans-serif}.action-btn:hover{background:var(--bg-hover)}.bulk-survey-error{background:var(--status-red-light);border:1px solid var(--status-red);color:var(--status-red);padding:var(--spacing-md);border-radius:var(--radius-md);margin-bottom:var(--spacing-lg);text-align:center;font-family:var(--font-display)}.survey-matrix-container{margin-bottom:var(--spacing-xl);border:1px solid var(--border-color);border-radius:var(--radius-md);overflow:hidden;background:var(--bg-tertiary)}.survey-matrix-wrapper{overflow-x:auto;overflow-y:auto;max-height:70vh}.survey-matrix{width:100%;border-collapse:separate;border-spacing:0;min-width:800px}.matrix-header{position:sticky;top:0;z-index:10;background:var(--bg-tertiary)}.matrix-header th{background:#f9fafb;border-bottom:2px solid #e5e7eb;border-right:1px solid var(--border-light);padding:var(--spacing-sm);text-align:center;font-weight:500;font-size:.75rem;color:#374151;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;vertical-align:bottom}.matrix-sku-header{min-width:220px;max-width:220px;width:220px;position:sticky;left:0;z-index:11;background:#f9fafb;text-align:left;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:500;font-size:.75rem;color:#374151;text-transform:uppercase;letter-spacing:.05em}.matrix-question-header{min-width:80px;max-width:100px;width:90px;padding:var(--spacing-sm) var(--spacing-xs)}.question-header-content{display:flex;flex-direction:column;gap:4px}.question-text{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:.75rem;font-weight:500;line-height:1.3;color:#374151;text-transform:none;letter-spacing:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%;display:block}.question-meta{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:.625rem;font-weight:500;color:var(--text-muted);text-transform:uppercase;letter-spacing:.02em}.matrix-body{background:var(--bg-tertiary)}.matrix-row{border-bottom:1px solid #e5e7eb;background:#fff;transition:background-color .15s}.matrix-row:hover{background:#f9fafb}.matrix-row.status-green,.matrix-row.status-yellow,.matrix-row.status-red{background:#fff}.matrix-row.status-green:hover,.matrix-row.status-yellow:hover,.matrix-row.status-red:hover{background:#f9fafb}.matrix-sku-cell{position:sticky;left:0;z-index:5;background:#fff;border-right:1px solid var(--border-color);padding:var(--spacing-sm) var(--spacing-md);min-width:220px;max-width:220px;width:220px}.matrix-row:hover .matrix-sku-cell{background:#f9fafb}.matrix-row.status-green .matrix-sku-cell,.matrix-row.status-yellow .matrix-sku-cell,.matrix-row.status-red .matrix-sku-cell{background:#fff}.matrix-row.status-green:hover .matrix-sku-cell,.matrix-row.status-yellow:hover .matrix-sku-cell,.matrix-row.status-red:hover .matrix-sku-cell{background:#f9fafb}.sku-cell-content{display:flex;flex-direction:column;gap:4px;padding:4px 0}.sku-cell-content .sku-code{font-size:.8125rem;font-weight:500;color:var(--text-primary);font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,monospace;line-height:1.3}.sku-cell-content .sku-meta{font-size:.6875rem;font-weight:500;color:var(--text-secondary);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.sku-progress-row{display:flex;align-items:center;gap:6px;margin-top:2px}.sku-progress-text{font-size:.6875rem;font-weight:500;color:var(--text-secondary);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-variant-numeric:tabular-nums}.status-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.status-dot.green{background:var(--status-green)}.status-dot.yellow{background:var(--status-yellow)}.status-dot.red{background:var(--status-red)}.mark-row-icon-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid #d1d5db;border-radius:var(--radius-sm);color:#6b7280;cursor:pointer;transition:all .15s ease;margin-left:auto;flex-shrink:0}.mark-row-icon-btn:hover{background:#f3f4f6;border-color:#9ca3af;color:#374151}.mark-row-icon-btn svg{width:16px;height:16px}.matrix-cell{padding:8px 6px;border-right:1px solid var(--border-light);text-align:center;vertical-align:middle;min-width:70px;max-width:90px;width:80px;background:#fff}.matrix-cell.cell-complete{background:#a7f3d0}.matrix-cell.cell-attention{background:#fde047}.matrix-cell.cell-pending{background:#f9fafb}.matrix-cell.cell-escalated{background:#fca5a5}.matrix-cell.na-cell{background:#f3f4f6}.na-indicator{color:var(--text-muted);font-size:.75rem}.matrix-cell-btn{width:32px;height:32px;min-height:32px;padding:0;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);cursor:pointer;font-size:.875rem;font-weight:500;transition:background-color .15s ease,border-color .15s ease,transform .1s ease;font-family:var(--font-display);display:flex;align-items:center;justify-content:center;margin:0 auto}.matrix-cell-btn:hover{border-color:var(--accent-primary);background:#2563eb1a;transform:scale(1.05)}.matrix-cell-btn.yes{background:transparent;border-color:var(--status-green);color:var(--status-green)}.matrix-cell-btn.yes:hover{background:#065f461a}.matrix-cell-btn.not-yet{background:transparent;border-color:#b45309;color:#b45309}.matrix-cell-btn.not-yet:hover{background:#b453091a}.matrix-cell-btn.unanswered{background:#fff;border-color:var(--border-color);color:var(--text-muted)}.matrix-cell-btn.unanswered:hover{background:#f3f4f6;border-color:var(--text-muted);color:var(--text-secondary)}.matrix-cell-btn.saving{opacity:.7;cursor:wait}.matrix-cell-btn:disabled{opacity:.5;cursor:not-allowed}.sticky-column{position:sticky;left:0;z-index:5}.sku-list{display:flex;flex-direction:column;gap:var(--spacing-md);margin-bottom:var(--spacing-xl)}.sku-card{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);overflow:hidden;transition:background-color .15s ease}.sku-card:hover{background:var(--bg-hover)}.sku-card.expanded{border-color:var(--accent-primary)}.sku-card.complete,.sku-card.status-green{border-left:4px solid var(--status-green)}.sku-card.status-yellow{border-left:4px solid var(--status-yellow)}.sku-card.status-red{border-left:4px solid var(--status-red)}.sku-card-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md) var(--spacing-lg);transition:background .2s}.sku-header-left{cursor:pointer;flex:1}.sku-header-left:hover{opacity:.8}.sku-expand-icon{color:var(--text-secondary);font-size:.8rem;width:20px;text-align:center}.sku-info{flex:1}.sku-name{font-size:.8125rem;font-weight:500;color:var(--text-primary);margin-bottom:var(--spacing-xs);font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,monospace}.sku-meta{font-size:.8125rem;color:var(--text-secondary);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.sku-header-right{display:flex;align-items:center;gap:var(--spacing-md);flex-shrink:0}.sku-progress-badge{background:var(--bg-secondary);border:1px solid var(--border-color);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);font-size:.75rem;font-weight:500;font-family:var(--font-display);color:var(--text-primary);font-variant-numeric:tabular-nums}.submitted-badge,.complete-badge{background:var(--status-green);color:#fff;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);font-size:.6875rem;font-weight:500;font-family:var(--font-display)}.status-badge{padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);font-size:.6875rem;font-weight:500;font-family:var(--font-display)}.status-badge.status-green{background:var(--status-green-light);color:var(--status-green)}.status-badge.status-yellow{background:var(--status-yellow-light);color:var(--status-yellow)}.status-badge.status-red{background:var(--status-red-light);color:var(--status-red)}.quick-mark-btn{padding:var(--spacing-xs) var(--spacing-sm);background:var(--status-green);color:#fff;border:none;border-radius:var(--radius-sm);font-size:.75rem;font-weight:500;cursor:pointer;transition:background-color .15s ease;font-family:var(--font-display);white-space:nowrap}.quick-mark-btn:hover{background:#064e3b}.sku-card-content{padding:var(--spacing-lg);border-top:1px solid var(--border-color);background:var(--bg-secondary)}.sku-progress-bar{width:100%;height:6px;background:var(--bg-tertiary);border-radius:3px;overflow:hidden;margin-bottom:var(--spacing-md)}.bulk-survey-footer-actions{display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-lg);padding-top:var(--spacing-lg);border-top:1px solid var(--border-color)}.save-status{display:flex;align-items:center}.auto-save-indicator{font-size:.8125rem;color:var(--text-muted);font-style:italic}.submit-all-btn{padding:var(--spacing-md) var(--spacing-xl);background:var(--text-primary);color:#fff;border:none;border-radius:var(--radius-md);font-size:.9375rem;font-weight:500;cursor:pointer;transition:background-color .15s ease;font-family:var(--font-display)}.submit-all-btn:hover:not(:disabled){background:#1f2937}.submit-all-btn:disabled{opacity:.5;cursor:not-allowed}.bulk-survey-footer{text-align:center;color:var(--text-secondary);font-size:.85rem;padding-top:var(--spacing-lg);border-top:1px solid var(--border-color)}.error-help{color:var(--text-secondary);font-size:.9rem;margin-top:var(--spacing-md)}.success-detail{color:var(--text-secondary);font-size:.95rem;margin-top:var(--spacing-md)}.search-bar{margin-bottom:var(--spacing-md);padding:var(--spacing-md);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md)}.search-input-wrapper{display:flex;align-items:center;gap:var(--spacing-sm)}.search-input{flex:1;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--border-color);border-radius:var(--radius-sm);font-size:.875rem;font-family:var(--font-display);transition:border-color .15s ease}.search-input:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px #2563eb1a}.search-close-btn{padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;font-size:1rem;font-weight:500;line-height:1;transition:color .15s ease;font-family:var(--font-display)}.search-close-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.search-results-info{margin-top:var(--spacing-sm);font-size:.8125rem;color:var(--text-secondary);font-family:var(--font-display)}.matrix-row.search-match{background:#fff;box-shadow:inset 4px 0 0 0 var(--accent-primary)}.matrix-row.search-match .matrix-sku-cell{background:#fff;border-left:3px solid var(--accent-primary)}.matrix-row.search-match:hover,.matrix-row.search-match:hover .matrix-sku-cell{background:#f9fafb}.view-mode-bar{display:flex;justify-content:center;margin-bottom:var(--spacing-md)}.view-mode-selector{display:inline-flex;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:4px;gap:4px}.view-mode-btn{padding:var(--spacing-sm) var(--spacing-lg);border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);cursor:pointer;font-size:.875rem;font-weight:500;transition:all .15s ease;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;display:flex;align-items:center;gap:6px}.view-mode-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.view-mode-btn.active{background:var(--text-primary);color:#fff}.view-mode-btn.active:hover{background:#1f2937}.lagging-badge{background:var(--status-yellow);color:#1a1a1a;font-size:.6875rem;font-weight:600;padding:2px 6px;border-radius:10px;min-width:18px;text-align:center}.view-mode-btn.active .lagging-badge{background:#ffffff4d;color:#fff}.by-week-view{display:flex;flex-direction:column;gap:var(--spacing-md)}.week-section{border:1px solid var(--border-color);border-radius:var(--radius-md);overflow:hidden;background:var(--bg-tertiary)}.week-section-header{display:flex;align-items:center;gap:var(--spacing-md);width:100%;padding:var(--spacing-md) var(--spacing-lg);background:#f9fafb;border:none;border-bottom:1px solid var(--border-color);cursor:pointer;text-align:left;transition:background-color .15s ease;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.week-section-header:hover{background:#f3f4f6}.week-section-toggle{font-size:.875rem;color:var(--text-muted);width:16px;flex-shrink:0}.week-section-title{font-size:.9375rem;font-weight:600;color:var(--text-primary)}.week-section-count{font-size:.8125rem;color:var(--text-secondary)}.week-section-checkpoints{font-size:.75rem;color:var(--text-muted);margin-left:auto;background:var(--bg-tertiary);padding:2px 8px;border-radius:var(--radius-sm);border:1px solid var(--border-light)}.week-section-content{padding:0}.week-section-content .survey-matrix-wrapper{border-radius:0;max-height:none}.week-section-content .survey-matrix{min-width:auto}.flat-view{overflow:hidden}.flat-matrix-wrapper{max-height:70vh;overflow:auto}.flat-matrix{min-width:2000px}.week-header-row .matrix-sku-header{border-bottom:1px solid var(--border-color)}.week-group-header{background:#e5e7eb;border-bottom:1px solid var(--border-color);border-right:2px solid var(--border-color);padding:var(--spacing-sm) var(--spacing-md);text-align:center;font-size:.8125rem;font-weight:600;color:var(--text-primary);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.week-group-header:last-child{border-right:1px solid var(--border-light)}.checkpoint-header-row th{border-bottom:2px solid #e5e7eb}.matrix-cell.cell-past-week{background:#e5e7eb}.matrix-cell.cell-future-week{background:#f3f4f6}.matrix-cell.cell-past-week .disabled-indicator,.matrix-cell.cell-future-week .disabled-indicator{color:var(--text-muted);font-size:.875rem}.matrix-cell.cell-past-week .disabled-indicator{color:#9ca3af}.matrix-cell.cell-future-week .disabled-indicator{color:#d1d5db}.lagging-view{display:flex;flex-direction:column;gap:var(--spacing-md)}.lagging-header-info{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md) var(--spacing-lg);background:#fef3c7;border:1px solid #f59e0b;border-radius:var(--radius-md);margin-bottom:var(--spacing-sm)}.lagging-expected{font-size:.875rem;font-weight:500;color:#92400e;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.lagging-count{font-size:.8125rem;color:#b45309;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.lagging-section .week-section-header{background:#fef3c7;border-bottom-color:#fcd34d}.lagging-section .week-section-header:hover{background:#fde68a}.lagging-week-header .week-section-title{color:#92400e}.weeks-behind-badge{font-size:.6875rem;font-weight:600;color:#fff;background:#d97706;padding:2px 8px;border-radius:10px}.empty-state{text-align:center;padding:var(--spacing-xl) var(--spacing-lg);color:var(--text-secondary);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md)}.empty-state p{font-size:.9375rem;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.lagging-empty{background:#ecfdf5;border-color:#a7f3d0}.lagging-empty .empty-icon{font-size:3rem;margin-bottom:var(--spacing-md)}.lagging-empty h3{font-size:1.125rem;font-weight:600;color:#065f46;margin-bottom:var(--spacing-sm);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.lagging-empty p{color:#047857}@media (max-width: 1200px){.flat-matrix{min-width:1800px}.matrix-question-header{min-width:60px;max-width:70px;width:65px}.matrix-cell{min-width:55px;max-width:65px;width:60px}}.layout{min-height:100vh;display:flex;flex-direction:column}.header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md) var(--spacing-xl);background:var(--bg-tertiary);border-bottom:1px solid var(--border-color);position:sticky;top:0;z-index:100}.header-left{display:flex;align-items:center;gap:var(--spacing-xl)}.logo{display:flex;align-items:center;gap:var(--spacing-sm)}.logo-icon{color:var(--text-primary)}.logo-text{font-family:var(--font-display);font-size:1rem;font-weight:600;color:var(--text-primary)}.nav{display:flex;gap:var(--spacing-md)}.nav-link{padding:var(--spacing-sm) 0;color:var(--text-secondary);font-size:.875rem;font-weight:500;font-family:var(--font-display);transition:color .15s ease;text-decoration:none;border-bottom:2px solid transparent}.nav-link:hover{color:var(--text-primary)}.nav-link.active{color:var(--text-primary);font-weight:600;border-bottom-color:var(--text-primary)}.header-right{display:flex;align-items:center;gap:var(--spacing-md)}.user-email{color:var(--text-muted);font-size:.8125rem;font-family:var(--font-display)}.btn-logout{padding:var(--spacing-xs) var(--spacing-md);font-size:.75rem;font-family:var(--font-display);font-weight:500}.main{flex:1;padding:var(--spacing-lg);max-width:1400px;width:100%;margin:0 auto}:root{--bg-primary: #f9fafb;--bg-secondary: #f3f4f6;--bg-tertiary: #ffffff;--bg-hover: #f3f4f6;--text-primary: #111827;--text-secondary: #6b7280;--text-muted: #9ca3af;--accent-primary: #2563eb;--accent-secondary: #1d4ed8;--status-green: #065f46;--status-green-bg: #a7f3d0;--status-green-light: #a7f3d0;--status-yellow: #eab308;--status-yellow-bg: #fde047;--status-yellow-light: #fde047;--status-red: #991b1b;--status-red-bg: #fca5a5;--status-red-light: #fca5a5;--border-color: #e5e7eb;--border-light: #f3f4f6;--font-display: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 2px 4px rgba(0, 0, 0, .06);--shadow-lg: 0 4px 6px rgba(0, 0, 0, .07)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-display);font-feature-settings:"cv02","cv03","cv04","cv11";background:var(--bg-primary);color:var(--text-primary);font-size:.875rem;line-height:1.5;min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body:before{content:"";position:fixed;top:0;left:0;right:0;bottom:0;background:var(--bg-primary);pointer-events:none;z-index:-1}a{color:var(--accent-primary);text-decoration:none}a:hover{color:var(--accent-secondary)}button{font-family:var(--font-display);cursor:pointer}input,textarea,select{font-family:var(--font-mono)}.loading{display:flex;align-items:center;justify-content:center;height:100vh;font-size:1.25rem;color:var(--text-secondary)}.btn{display:inline-flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-tertiary);color:var(--text-primary);font-size:.875rem;font-weight:500;transition:background-color .15s ease,border-color .15s ease}.btn:hover{background:var(--bg-hover);border-color:var(--border-color)}.btn-primary{background:var(--text-primary);border-color:var(--text-primary);color:#fff}.btn-primary:hover{background:#1f2937;border-color:#1f2937}.btn-danger{border-color:var(--status-red);color:var(--status-red)}.btn-danger:hover{background:var(--status-red-light)}.form-group{margin-bottom:var(--spacing-md)}.form-label{display:block;margin-bottom:var(--spacing-xs);font-size:.875rem;color:var(--text-secondary)}.form-input{width:100%;padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-size:.875rem}.form-input:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px #2563eb1a}.card{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-sm)}.table{width:100%;border-collapse:collapse;font-size:.875rem}.table th,.table td{padding:var(--spacing-sm) var(--spacing-md);text-align:left;border-bottom:1px solid var(--border-light)}.table th{font-weight:600;color:var(--text-secondary);font-size:.75rem;text-transform:uppercase;letter-spacing:.05em}.table tr:hover td{background:var(--bg-hover)}.status{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:2px 8px;border-radius:var(--radius-sm);font-size:.75rem;font-weight:400;font-family:var(--font-mono)}.status-green{background:var(--status-green-light);color:var(--status-green)}.status-yellow{background:var(--status-yellow-light);color:var(--status-yellow)}.status-red{background:var(--status-red-light);color:var(--status-red)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--spacing-xl);min-width:400px;max-width:90vw;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg)}.modal-title{font-size:1.25rem;font-weight:600;margin-bottom:var(--spacing-lg)}.modal-actions{display:flex;gap:var(--spacing-sm);justify-content:flex-end;margin-top:var(--spacing-lg)}
