@import"https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;500;600;700&display=swap";:root{--color-navy: #0B1220;--color-charcoal: #111827;--bg-primary: #F8FAFC;--bg-secondary: #F1F5F9;--bg-tertiary: #E2E8F0;--bg-card: #FFFFFF;--bg-card-hover: #F9FAFB;--border-subtle: #F1F5F9;--border-light: #E5E7EB;--border-medium: #D1D5DB;--text-primary: #0F172A;--text-secondary: #475569;--text-tertiary: #6B7280;--color-accent: #C2410C;--color-accent-hover: #EA580C;--accent-green: #059669;--accent-green-bg: #D1FAE5;--accent-blue: #2563EB;--accent-blue-bg: #DBEAFE;--accent-yellow: #D97706;--accent-yellow-bg: #FEF3C7;--accent-red: #DC2626;--accent-red-bg: #FEE2E2;--accent-purple: #C2410C;--accent-purple-bg: #FFF7ED;--font-sans: "IBM Plex Sans", -apple-system, BlinkMacSystemFont, sans-serif;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 12px}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{font-family:var(--font-sans);background:var(--bg-primary);color:var(--text-primary);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}input,select,textarea{font-family:inherit;font-size:14px;color:var(--text-primary);background:#fff;border:1px solid var(--border-medium);border-radius:var(--radius-md);padding:8px 12px;transition:border-color .2s,box-shadow .2s}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px #c2410c1a}.app-container{display:flex;min-height:100vh}.sidebar{width:260px;background:var(--color-navy);border-right:none;padding:24px 16px;display:flex;flex-direction:column;position:fixed;left:0;top:0;bottom:0;z-index:100}.sidebar-logo{display:flex;align-items:center;gap:12px;padding:0 12px 24px;margin-bottom:8px;border-bottom:1px solid rgba(255,255,255,.1)}.sidebar-logo h1{font-size:18px;font-weight:600;color:#fff;letter-spacing:.5px}.sidebar-nav{display:flex;flex-direction:column;gap:4px}.nav-item{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:var(--radius-md);color:#ffffffb3;text-decoration:none;font-size:14px;font-weight:500;transition:all .2s ease}.nav-item:hover{background:#ffffff1a;color:#fff}.nav-item.active{background:var(--color-accent);color:#fff}.main-content{flex:1;margin-left:260px;padding:32px;min-height:100vh}.page-header{margin-bottom:32px}.page-header h1{font-size:28px;font-weight:600;margin-bottom:8px}.page-header p{color:var(--text-secondary);font-size:15px}.card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:24px;box-shadow:none;transition:all .3s ease}.card:hover{border-color:var(--border-medium);box-shadow:0 1px 3px #00000014}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.card-title{font-size:16px;font-weight:600;color:var(--text-primary)}.card-subtitle{font-size:13px;color:var(--text-tertiary);margin-top:4px}.grid{display:grid;gap:24px}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}@media(max-width:1200px){.grid-4,.grid-3{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.grid-4,.grid-3,.grid-2{grid-template-columns:1fr}.sidebar{width:100%;position:relative}.main-content{margin-left:0}}.metric-card{position:relative;overflow:hidden}.metric-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--color-accent);opacity:0;transition:opacity .3s ease}.metric-card:hover:before{opacity:1}.metric-value{font-size:36px;font-weight:700;line-height:1.1;margin-bottom:4px}.metric-label{font-size:14px;color:var(--text-secondary)}.metric-change{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:500;padding:4px 8px;border-radius:9999px;margin-top:12px}.metric-change.positive{background:var(--accent-green-bg);color:var(--accent-green)}.metric-change.negative{background:var(--accent-red-bg);color:var(--accent-red)}.matrix-container{overflow-x:auto;margin:-24px;padding:24px}.matrix-table{width:100%;border-collapse:separate;border-spacing:0;font-size:14px}.matrix-table th,.matrix-table td{padding:12px 16px;text-align:left;border-bottom:1px solid var(--border-subtle)}.matrix-table th{font-weight:600;color:var(--text-secondary);font-size:12px;text-transform:uppercase;letter-spacing:.5px;background:var(--bg-tertiary);position:sticky;top:0}.matrix-table th:first-child{border-radius:var(--radius-md) 0 0 0}.matrix-table th:last-child{border-radius:0 var(--radius-md) 0 0}.matrix-table tbody tr:hover{background:var(--bg-card-hover)}.status-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:9999px;font-size:12px;font-weight:500}.status-badge.qualified{background:var(--accent-green-bg);color:var(--accent-green)}.status-badge.in-progress{background:var(--accent-blue-bg);color:var(--accent-blue)}.status-badge.not-started{background:var(--bg-tertiary);color:var(--text-tertiary)}.status-badge.expired{background:var(--accent-red-bg);color:var(--accent-red)}.status-dot{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .2s ease}.status-dot:hover{transform:scale(1.2)}.status-dot.qualified{background:var(--accent-green)}.status-dot.in-progress{background:var(--accent-blue)}.status-dot.not-started{background:var(--bg-tertiary);border:2px solid var(--border-medium)}.status-dot.expired{background:var(--accent-red)}.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border-radius:var(--radius-md);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;border:none;text-decoration:none}.btn-primary{background:var(--color-accent);color:#fff;box-shadow:none}.btn-primary:hover{background:var(--color-accent-hover)}.btn-secondary{background:transparent;color:var(--text-primary);border:1px solid var(--border-medium)}.btn-secondary:hover{background:var(--bg-tertiary);border-color:var(--border-medium)}.progress-bar{height:8px;background:var(--bg-tertiary);border-radius:9999px;overflow:hidden}.progress-fill{height:100%;border-radius:9999px;transition:width .5s ease}.progress-fill.success{background:var(--accent-green)}.progress-fill.warning{background:var(--accent-yellow)}.progress-fill.danger{background:var(--accent-red)}.scope-card{cursor:pointer}.scope-card .progress-section{display:flex;gap:8px;margin-top:16px}.scope-card .progress-segment{flex:1;text-align:center}.scope-card .progress-segment-value{font-size:20px;font-weight:600;margin-bottom:4px}.scope-card .progress-segment-label{font-size:11px;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px}.loading-spinner{width:40px;height:40px;border:3px solid var(--border-subtle);border-top-color:var(--accent-blue);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-container{display:flex;align-items:center;justify-content:center;padding:48px}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-in{animation:fadeIn .4s ease forwards}.animate-in:nth-child(1){animation-delay:.05s}.animate-in:nth-child(2){animation-delay:.1s}.animate-in:nth-child(3){animation-delay:.15s}.animate-in:nth-child(4){animation-delay:.2s}.form-group{margin-bottom:20px}.form-label{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:500;color:var(--text-secondary);margin-bottom:8px}.form-label .required{color:var(--accent-red)}.form-input,.form-select{width:100%;padding:12px 16px;background:var(--bg-tertiary);border:1px solid var(--border-medium);border-radius:var(--radius-md);color:var(--text-primary);font-size:14px;font-family:var(--font-sans);transition:all .2s ease}.form-input:focus,.form-select:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea33}.form-input::placeholder{color:var(--text-tertiary)}.form-hint{font-size:12px;color:var(--text-tertiary);margin-top:4px}.form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.radio-group{display:flex;flex-direction:column;gap:12px}.radio-group.horizontal{flex-direction:row;gap:16px}.radio-card{display:flex;align-items:flex-start;gap:12px;padding:16px;background:var(--bg-tertiary);border:1px solid var(--border-medium);border-radius:var(--radius-md);cursor:pointer;transition:all .2s ease}.radio-card:hover{border-color:var(--border-medium);background:var(--bg-card-hover)}.radio-card.selected{border-color:#667eea;background:#667eea1a}.radio-card.compact{padding:12px 16px;flex:1;justify-content:center;text-align:center}.radio-card input[type=radio]{display:none}.radio-content{display:flex;flex-direction:column;gap:4px}.radio-title{font-size:14px;font-weight:500;color:var(--text-primary)}.radio-desc{font-size:12px;color:var(--text-tertiary)}.wizard-container{max-width:800px;margin:0 auto}.wizard-header{margin-bottom:32px}.wizard-steps{display:flex;align-items:center;justify-content:space-between;margin-bottom:32px;position:relative}.wizard-step-item{display:flex;align-items:center;flex:1;position:relative}.wizard-step-item:last-child{flex:0}.wizard-step-circle{width:32px;height:32px;border-radius:50%;background:var(--bg-tertiary);border:2px solid var(--border-medium);display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;color:var(--text-tertiary);z-index:2;transition:all .3s ease}.wizard-step-circle.active{background:var(--bg-primary);border-color:#667eea;color:var(--text-primary);box-shadow:0 0 15px #667eea66}.wizard-step-circle.completed{background:var(--color-accent);border-color:transparent;color:#fff}.wizard-step-line{flex:1;height:2px;background:var(--border-medium);margin:0 12px;position:relative}.wizard-step-line.completed{background:var(--color-accent)}.wizard-step-label{font-size:14px;color:var(--text-secondary);margin-bottom:24px;font-weight:500}.wizard-step-info{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.wizard-step-info h2{font-size:24px;font-weight:600}.wizard-step{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:32px}.wizard-intro{font-size:15px;color:var(--text-secondary);margin-bottom:24px}.wizard-footer{display:flex;justify-content:space-between;margin-top:32px;padding-top:24px;border-top:1px solid var(--border-subtle)}.wizard-info{display:flex;align-items:center;gap:8px;padding:12px 16px;background:var(--accent-blue-bg);color:var(--accent-blue);border-radius:var(--radius-md);font-size:14px;margin-top:16px}.wizard-hint{font-size:13px;color:var(--text-tertiary);margin-top:16px}.wizard-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px;gap:16px;color:var(--text-secondary)}.scope-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.scope-card{padding:20px;background:var(--bg-tertiary);border:1px solid var(--border-medium);border-radius:var(--radius-md);cursor:pointer;transition:all .2s ease}.scope-card:hover{border-color:var(--border-medium);background:var(--bg-card-hover)}.scope-card.selected{border-color:#667eea;background:#667eea1a}.scope-card-header{display:flex;align-items:center;gap:12px;margin-bottom:16px}.scope-checkbox{width:20px;height:20px;border:2px solid var(--border-medium);border-radius:4px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.scope-checkbox.checked,.pack-checkbox.checked{background:var(--color-accent);border-color:transparent;color:#fff}.scope-name{font-size:15px;font-weight:500}.scope-requirements{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.scope-req-item{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--text-tertiary);padding:4px 8px;background:var(--bg-secondary);border-radius:var(--radius-sm)}.scope-details{margin-top:16px;padding-top:16px;border-top:1px solid var(--border-subtle)}.scope-details h4{font-size:13px;font-weight:600;color:var(--text-secondary);margin-bottom:8px}.scope-details ul{font-size:13px;color:var(--text-tertiary);padding-left:16px}.scope-details li{margin-bottom:4px}.pack-list{display:flex;flex-direction:column;gap:12px}.pack-card{display:flex;align-items:center;gap:16px;padding:16px;background:var(--bg-tertiary);border:1px solid var(--border-medium);border-radius:var(--radius-md);cursor:pointer;transition:all .2s ease}.pack-card:hover{border-color:var(--border-medium);background:var(--bg-card-hover)}.pack-card.selected{border-color:#667eea;background:#667eea1a}.pack-checkbox{width:20px;height:20px;border:2px solid var(--border-medium);border-radius:4px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.pack-checkbox.checked{background:var(--color-accent);border-color:transparent;color:#fff}.pack-icon{color:var(--accent-purple)}.pack-content{flex:1}.pack-name{font-size:15px;font-weight:500;margin-bottom:4px}.pack-desc{font-size:13px;color:var(--text-tertiary)}.selected-summary{margin-top:24px;padding:16px;background:var(--bg-tertiary);border-radius:var(--radius-md)}.selected-summary h4{font-size:13px;font-weight:600;color:var(--text-secondary);margin-bottom:8px}.selected-summary ul{font-size:13px;color:var(--text-tertiary);padding-left:16px}.upload-zone{padding:32px;border:2px dashed var(--border-medium);border-radius:var(--radius-lg);text-align:center;cursor:pointer;transition:all .2s ease;display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--text-secondary)}.upload-zone:hover{border-color:#667eea;background:#667eea0d}.divider{display:flex;align-items:center;gap:16px;margin:24px 0;color:var(--text-tertiary);font-size:13px}.divider:before,.divider:after{content:"";flex:1;height:1px;background:var(--border-subtle)}.roster-table{background:var(--bg-tertiary);border-radius:var(--radius-md);overflow:hidden}.roster-header{display:grid;grid-template-columns:1fr 1fr 120px 120px 50px;gap:8px;padding:12px 16px;background:var(--bg-secondary);font-size:12px;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px}.roster-row{display:grid;grid-template-columns:1fr 1fr 120px 120px 50px;gap:8px;padding:12px 16px;border-top:1px solid var(--border-subtle);align-items:center}.roster-col.actions{text-align:right}.form-input.compact,.form-select.compact{padding:8px 12px;font-size:13px}.add-row{margin-top:8px;width:100%;justify-content:center}.btn-ghost{background:transparent;color:var(--text-secondary);padding:8px 12px}.btn-ghost:hover{background:var(--bg-tertiary);color:var(--text-primary)}.btn-sm{padding:6px 10px;font-size:13px}.alert{display:flex;align-items:center;gap:8px;padding:12px 16px;border-radius:var(--radius-md);font-size:14px;margin-bottom:16px}.alert-error{background:var(--accent-red-bg);color:var(--accent-red)}.programs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.program-card{display:block;padding:24px;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);text-decoration:none;color:inherit;transition:all .2s ease}.program-card:hover{border-color:var(--border-medium);transform:translateY(-2px);box-shadow:var(--shadow-elevated)}.program-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.program-card-header h3{font-size:16px;font-weight:600}.program-customer{font-size:14px;color:var(--text-secondary);margin-bottom:16px}.program-stats{display:flex;gap:16px;margin-bottom:16px}.program-stats .stat{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text-tertiary)}.program-card-footer{padding-top:16px;border-top:1px solid var(--border-subtle)}.view-link{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--accent-blue);font-weight:500}.empty-state{text-align:center;padding:64px 32px}.empty-icon{font-size:48px;margin-bottom:16px}.empty-state h3{font-size:18px;font-weight:600;margin-bottom:8px}.empty-state p{color:var(--text-secondary);margin-bottom:24px}.page-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:64px;gap:16px;color:var(--text-secondary)}.status-green{background:var(--accent-green-bg);color:var(--accent-green)}.status-amber{background:var(--accent-yellow-bg);color:var(--accent-yellow)}.status-blue{background:var(--accent-blue-bg);color:var(--accent-blue)}.status-gray{background:var(--bg-tertiary);color:var(--text-tertiary)}.spin{animation:spin 1s linear infinite}.page-container{padding:0}.page-subtitle{color:var(--text-secondary);font-size:15px;margin-top:4px}
