*{box-sizing:border-box}
body{margin:0;min-height:100vh;color:var(--cc-text);background:var(--cc-bg);font-family:var(--cc-font)}
.wizard-shell{width:min(1220px,calc(100% - 32px));margin:0 auto;padding:28px 0 56px}
.wizard-head{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;padding:12px 2px}
.wizard-head h1{margin:6px 0 5px;font-size:clamp(30px,4vw,44px);letter-spacing:.01em}
.wizard-head p{margin:0;color:var(--cc-muted);max-width:700px}
.progress{display:flex;align-items:center;margin:24px 0 18px;padding:12px 16px;border:1px solid var(--cc-border);border-radius:14px;background:rgba(14,18,26,.72);backdrop-filter:blur(8px)}
.progress-step{display:flex;align-items:center;gap:10px;color:#627087;min-width:170px}
.progress-step>span{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;border:1px solid var(--cc-border-strong);background:#080d14;font:900 11px/1 var(--cc-mono)}
.progress-step b{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.06em}
.progress-step small{display:block;color:var(--cc-muted);font-size:10px;margin-top:2px}
.progress-step.active{color:white}.progress-step.active>span{border-color:var(--cc-purple);color:white;background:var(--cc-purple-soft);box-shadow:0 0 18px rgba(123,44,191,.24)}
.progress-step.done{color:var(--cc-cyan)}.progress-step.done>span{border-color:rgba(0,245,212,.5);background:var(--cc-cyan-soft);color:var(--cc-cyan);box-shadow:0 0 15px rgba(0,245,212,.12)}
.line{height:1px;background:linear-gradient(90deg,var(--cc-border),#2d3a50,var(--cc-border));flex:1;margin:0 10px}
.wizard-card{background:linear-gradient(180deg,rgba(14,18,26,.98),rgba(7,11,17,.98));border:1px solid var(--cc-border);border-radius:20px;padding:24px;box-shadow:var(--cc-shadow);position:relative;overflow:hidden}
.wizard-card::before{content:'';position:absolute;inset:0 auto auto 0;width:42%;height:1px;background:linear-gradient(90deg,var(--cc-purple),transparent);opacity:.8}
.step-title{display:flex;justify-content:space-between;align-items:flex-end;gap:22px;margin-bottom:22px}
.step-title h2{margin:4px 0 0;font-size:24px}.step-title p{margin:0;max-width:460px;color:var(--cc-muted);font-size:12px;text-align:right;line-height:1.5}
.type-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.type-card{appearance:none;color:var(--cc-text);background:linear-gradient(180deg,#111722,#0a0f16);border:1px solid var(--cc-border-strong);border-radius:17px;padding:19px;text-align:left;cursor:pointer;min-height:240px;display:flex;flex-direction:column;transition:.15s ease;position:relative;overflow:hidden}
.type-card::after{content:'';position:absolute;inset:auto 0 0;height:2px;background:var(--cc-purple);transform:scaleX(0);transform-origin:left;transition:.18s ease}
.type-card:hover{transform:translateY(-2px);border-color:#495c79}.type-card.selected{border-color:rgba(123,44,191,.8);background:linear-gradient(145deg,rgba(123,44,191,.18),#0a0f16 60%);box-shadow:0 0 30px rgba(123,44,191,.16)}
.type-card.selected::after{transform:scaleX(1)}
.type-top{display:flex;align-items:center;justify-content:space-between}.type-number{font:800 11px/1 var(--cc-mono);letter-spacing:.12em;color:#58677d}.type-icon{font-size:32px}
.type-card h3{font-size:20px;margin:24px 0 8px}.type-card p{color:var(--cc-muted);line-height:1.5;margin:0}.type-example{margin-top:auto;padding-top:18px;color:#7f8da1;font:700 10px/1.3 var(--cc-mono);text-transform:uppercase;letter-spacing:.06em}
.mode-row{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;margin-top:18px;padding:14px;border:1px solid var(--cc-border);border-radius:13px;background:#080d14}.mode-row>div b{display:block}.mode-row>div span{display:block;color:var(--cc-muted);font-size:11px;margin-top:3px}.mode-choice{position:relative}.mode-choice input{position:absolute;opacity:0;pointer-events:none}.mode-choice span{display:block;border:1px solid var(--cc-border-strong);border-radius:10px;padding:9px 15px;font-weight:900;cursor:pointer;background:#101620}.mode-choice input:checked+span{border-color:var(--cc-purple);background:var(--cc-purple-soft);box-shadow:0 0 14px rgba(123,44,191,.18)}
.footer-actions{display:flex;gap:10px;align-items:center;margin-top:22px}.grow{flex:1}.hint{color:var(--cc-muted);font-size:12px}
.form-grid{display:grid;gap:13px}.form-grid.two{grid-template-columns:1fr 1fr}.form-grid.three{grid-template-columns:repeat(3,1fr)}.compact-form{margin-top:15px}
.phase-simple{margin-top:16px;padding:16px;background:#080d14;border:1px solid var(--cc-border);border-radius:14px}.phase-simple h3{margin:7px 0 3px}
.drop-zone{margin-top:18px;border:1px dashed #3d4b62;background:linear-gradient(180deg,#0b1119,#080c12);border-radius:18px;min-height:220px;display:grid;grid-template-columns:auto 1fr auto;gap:20px;align-items:center;cursor:pointer;padding:24px;transition:.15s ease;position:relative}
.drop-zone:hover,.drop-zone.drag{border-color:var(--cc-purple);box-shadow:0 0 26px rgba(123,44,191,.14)}
.drop-zone.has-file{border-color:rgba(0,245,212,.72);background:linear-gradient(90deg,rgba(0,245,212,.08),#080d14);box-shadow:0 0 28px rgba(0,245,212,.12)}
.drop-target-icon{display:grid;place-items:center;width:70px;height:70px;border:1px solid var(--cc-border-strong);border-radius:18px;font-size:35px;color:var(--cc-purple);background:#0d131c}.drop-zone.has-file .drop-target-icon{color:var(--cc-cyan);border-color:rgba(0,245,212,.45)}
.drop-copy h3{margin:5px 0 3px;font-size:20px}.drop-copy p,.drop-copy span{margin:0;color:var(--cc-muted);font-size:12px}.drop-ready{opacity:0;color:var(--cc-cyan);font:900 10px/1 var(--cc-mono);letter-spacing:.12em;border:1px solid rgba(0,245,212,.35);border-radius:999px;padding:8px 10px;transition:.15s}.drop-zone.has-file .drop-ready{opacity:1}
.csv-summary{margin-top:16px;padding:18px;border:1px solid var(--cc-border);border-radius:16px;background:#080d14}.csv-summary h3{margin:0 0 14px}.metrics-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.metric{padding:15px;border:1px solid var(--cc-border);border-radius:12px;background:#0d131c}.metric strong{font:900 27px/1 var(--cc-mono);display:block}.metric span{color:var(--cc-muted);font-size:11px;text-transform:uppercase;letter-spacing:.05em}.metric.good{border-color:rgba(0,245,212,.25)}.metric.good strong{color:var(--cc-cyan)}.metric.info{border-color:rgba(123,44,191,.34)}.metric.info strong{color:#b66be8}.metric.bad{border-color:rgba(255,0,84,.36)}.metric.bad strong{color:var(--cc-red)}
.roster-secondary{display:flex;gap:9px;flex-wrap:wrap;margin-top:10px}.roster-secondary span{font:800 10px/1 var(--cc-mono);color:var(--cc-muted);padding:7px 9px;border:1px solid var(--cc-border);border-radius:999px}
.validation-list{display:grid;gap:8px;margin-top:12px}.validation-item{padding:10px 12px;border-radius:10px;background:#0d131c;font-size:12px;border:1px solid var(--cc-border)}.validation-item.good{border-color:rgba(0,245,212,.26);color:#bffff4}.validation-item.warn{border-color:rgba(255,238,50,.3);color:#fff7a0}.validation-item.bad{border-color:rgba(255,0,84,.38);color:#ff9abb}
.conflict-shell{margin-top:14px;border:1px solid rgba(255,0,84,.35);border-radius:13px;overflow:hidden}.conflict-head{padding:11px 13px;background:rgba(255,0,84,.08);color:#ff91b5;font-weight:900}.conflict-table{overflow:auto}.conflict-table table{width:100%;border-collapse:collapse}.conflict-table th,.conflict-table td{font-size:11px;padding:9px;border-bottom:1px solid var(--cc-border);text-align:left}.conflict-table th{color:var(--cc-muted);font-family:var(--cc-mono);text-transform:uppercase;letter-spacing:.04em}.conflict-table select{background:#070b11;color:white;border:1px solid var(--cc-border-strong);border-radius:8px;padding:7px}
.channel-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:12px;margin-bottom:16px}.channel-choice{appearance:none;display:grid;grid-template-columns:auto 1fr;gap:13px;align-items:center;padding:16px;background:linear-gradient(180deg,#0e141e,#090e15);border:1px solid var(--cc-border-strong);border-radius:15px;color:white;text-align:left;cursor:pointer;min-height:118px;transition:.15s}.channel-choice::before{content:'';width:15px;height:54px;border-radius:5px;background:#39465a;box-shadow:inset 0 0 0 1px #56657a}.channel-choice.selected{border-color:var(--cc-purple);box-shadow:0 0 26px rgba(123,44,191,.16)}.channel-choice.selected::before{background:var(--cc-purple);box-shadow:0 0 14px rgba(123,44,191,.55)}.channel-choice.busy{opacity:.62;cursor:not-allowed}.channel-choice.busy::before{background:var(--cc-yellow);box-shadow:0 0 12px rgba(255,238,50,.35)}.channel-choice .name{font-size:16px;font-weight:900}.channel-choice .technical{font:700 10px/1.4 var(--cc-mono);color:#67758a;margin-top:5px}.channel-choice .status{font-size:11px;color:var(--cc-muted);margin-top:3px}.channel-choice .badge{display:inline-flex;margin-top:8px;font:800 10px/1 var(--cc-mono);letter-spacing:.08em;color:var(--cc-cyan)}.channel-choice.busy .badge{color:var(--cc-yellow)}
.preflight-shell{margin-top:18px;padding:16px;border:1px solid var(--cc-border);border-radius:15px;background:#080d14}.preflight-head{display:flex;align-items:center;justify-content:space-between;gap:14px}.preflight-head h3{margin:4px 0 0}.preflight{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:13px}.preflight-row{display:flex;align-items:center;gap:9px;min-height:44px;padding:10px 11px;border:1px solid var(--cc-border);border-radius:10px;background:#0d131c;font-size:12px}.preflight-row.ok{color:#bffff4;border-color:rgba(0,245,212,.24)}.preflight-row.warn{color:#fff59a;border-color:rgba(255,238,50,.28)}
.launch-big{appearance:none;border:1px solid rgba(0,245,212,.65);background:linear-gradient(180deg,#087b6b,#05564e);color:white;border-radius:12px;padding:15px 20px;font-weight:900;letter-spacing:.055em;cursor:pointer;box-shadow:0 0 24px rgba(0,245,212,.16)}.launch-big:disabled{opacity:.42;cursor:not-allowed;box-shadow:none}
.wizard-toast{position:fixed;right:20px;bottom:20px;background:#0e141e;border:1px solid var(--cc-border-strong);border-left:4px solid var(--cc-purple);border-radius:11px;padding:12px 14px;max-width:440px;z-index:100;box-shadow:var(--cc-shadow)}
.hidden{display:none!important}
@media(max-width:850px){.type-grid{grid-template-columns:1fr}.form-grid.two,.form-grid.three,.metrics-row,.preflight{grid-template-columns:1fr}.step-title,.wizard-head{align-items:flex-start;flex-direction:column}.step-title p{text-align:left}.progress-step{min-width:auto}.progress-step div{display:none}.drop-zone{grid-template-columns:1fr;text-align:center}.drop-target-icon{margin:auto}.drop-ready{justify-self:center}.mode-row{grid-template-columns:1fr 1fr}.mode-row>div{grid-column:1/-1}}

.roster-template-bar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:4px 0 12px;padding:14px 16px;border:1px solid var(--cc-border);border-radius:13px;background:#090e15}.roster-template-bar strong{display:block;font-size:14px;margin:3px 0}.roster-template-bar p{margin:0;color:var(--cc-muted);font-size:11px;line-height:1.45}.quick-roster-notice{display:flex;align-items:flex-start;gap:9px;flex-direction:column;margin:0 0 12px;padding:13px 15px;border:1px solid rgba(0,245,212,.32);border-left:3px solid var(--cc-cyan);border-radius:12px;background:rgba(0,245,212,.055);box-shadow:0 0 22px rgba(0,245,212,.05)}.quick-roster-notice b{color:var(--cc-cyan);font-size:12px}.quick-roster-notice span{color:#b9c7d9;font-size:11px;line-height:1.5}
@media(max-width:720px){.roster-template-bar{align-items:stretch;flex-direction:column}.roster-template-bar .cc-btn{width:100%}}
