:root{--navy:#102633;--navy2:#1a3b48;--mint:#d7f16c;--bg:#f5f7f5;--paper:#fff;--border:#dce4df;--text:#18313b;--muted:#647782;--red:#ae483c;--amber:#9a6819;--green:#18765c;--shadow:0 6px 30px rgba(10,35,45,.045)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--text);line-height:1.45}button,input,select,textarea{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #93bdcc;outline-offset:2px}button:disabled{opacity:.5;cursor:not-allowed}.header{background:var(--navy);color:white}.header-inner{max-width:1000px;margin:auto;display:flex;align-items:center;padding:17px 20px;gap:13px}.brand-mark{width:45px;height:45px;border:2px solid var(--mint);border-radius:12px;display:flex;align-items:center;justify-content:center;font-weight:900;letter-spacing:-.08em;font-size:21px;position:relative}.brand-mark span{font-size:9px;color:var(--mint);position:absolute;top:3px;right:2px}.brand-copy{display:flex;flex-direction:column;letter-spacing:.11em}.brand-copy strong{font-size:13px}.brand-copy small{font-size:10px;color:#adc1c5;margin-top:3px}.header-actions{margin-left:auto;display:flex;align-items:center;gap:12px}.local-pill{font-size:10px;letter-spacing:.11em;color:#c5d5d7;border:1px solid #40616c;padding:7px 9px;border-radius:30px}.dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--mint);margin-right:4px}.icon-btn{background:transparent;border:1px solid #52717a;color:#fff;border-radius:100%;width:32px;height:32px;font-weight:700}.page{max-width:1000px;margin:0 auto;padding:0 20px 60px}.hero{background:var(--navy);color:white;margin:0 -20px 24px;padding:24px max(20px,calc((100vw - 1000px)/2 + 20px)) 34px;display:flex;justify-content:space-between;gap:20px}.hero .eyebrow{color:var(--mint)}.hero h1{font-size:clamp(28px,5vw,44px);line-height:1.1;letter-spacing:-.045em;margin:8px 0}.hero p{color:#b6c8cd;font-size:14px;margin:0}.hero-badge{background:#234553;border:1px solid #3a5c68;border-radius:16px;align-self:center;padding:12px 17px;text-align:center;min-width:105px}.hero-badge span{font-size:39px;font-weight:800;color:var(--mint);line-height:1}.hero-badge small{display:block;font-size:9px;letter-spacing:.11em;color:#c8d8d9;margin-top:3px}.panel{background:var(--paper);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:16px;padding:22px;margin-bottom:18px}.eyebrow{font-size:10px;font-weight:800;letter-spacing:.14em;color:#64808a}.panel h2,.steps-section h2{font-size:20px;letter-spacing:-.03em;margin:5px 0 12px}.panel p{color:var(--muted)}.role-chooser{padding:28px}.role-chooser>p{max-width:700px;margin-bottom:20px}.role-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.role-card{text-align:left;background:#f8faf9;border:2px solid var(--border);border-radius:14px;padding:20px;display:flex;flex-direction:column;align-items:start;gap:12px;min-height:215px;color:var(--text)}.role-card:hover,.role-card:focus-visible{border-color:#4c837e;background:#f1f8f5}.role-icon{font-size:26px;color:#437d6a}.role-card strong{font-size:20px}.role-card small{font-size:13px;color:var(--muted)}.role-cta{color:var(--green);font-size:13px;font-weight:800;margin-top:auto}.soft-note{font-size:12px;color:#74838b;margin:13px 0 0!important}.session-top,.section-title-row,.progress-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.session-top h2{margin-bottom:16px}.fields{display:grid;grid-template-columns:1fr;gap:14px}.fields.two{grid-template-columns:repeat(2,minmax(0,1fr))}label{display:block;font-size:12px;color:#526873;font-weight:700}input:not([type=checkbox]),select,textarea{display:block;margin-top:7px;width:100%;border:1px solid #d2deda;background:#fff;border-radius:9px;padding:12px;color:var(--text);min-height:45px}textarea{resize:vertical}.role-chip{margin-top:7px;border:1px solid #dae6e2;background:#f3faf6;border-radius:9px;padding:12px;min-height:45px;color:#276858}.small-outline,.secondary{background:#fff;color:#254451;border:1px solid #cbd9d8;border-radius:10px;padding:11px 13px;font-size:12px;font-weight:750}.small-outline:hover,.secondary:hover{background:#edf4f1}.progress-panel{background:#eaf2eb}.progress-header h2{margin-bottom:7px}.percent{font-size:27px;font-weight:800;color:#28785d}.progress-track{background:#cad9d3;border-radius:12px;height:10px;overflow:hidden}.progress-fill{height:100%;width:0;background:#388e66;border-radius:12px;transition:width .2s}.progress-footer{display:flex;justify-content:space-between;font-size:11px;color:#5d7a70;margin-top:10px;gap:10px}.mini-tag{background:#ecf2f0;border-radius:6px;padding:5px 8px;font-size:11px;color:#57716f}.freq-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.freq-grid label{background:#f5f8f6;padding:13px;border-radius:10px}.freq-grid b,.freq-grid small{display:block}.freq-grid b{color:var(--text)}.freq-grid small{font-weight:400;color:var(--muted);margin-top:2px}.freq-grid input{font-variant-numeric:tabular-nums}.safety-panel{border-left:4px solid #d5a856}.safety-heading{display:flex;align-items:center;gap:12px}.safety-symbol{background:#fff0d3;color:#a16b12;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;font-weight:900;font-size:24px}.safety-check{display:flex;align-items:flex-start;gap:12px;font-size:13px;color:var(--text);font-weight:500;padding:12px 0;border-bottom:1px solid #eef1ef}.safety-check input,.task-check input{width:20px;height:20px;flex-shrink:0;accent-color:#247e60;margin:0;cursor:pointer}.gate-status{font-size:12px;font-weight:700;color:#8e6526;background:#fff7e8;border-radius:9px;padding:11px;margin-top:12px}.gate-status.ready{background:#e8f6ee;color:#18704f}.steps-section{margin:28px 0 20px}.step-card{border:1px solid var(--border);background:white;border-radius:13px;margin:12px 0;overflow:hidden}.step-top{width:100%;display:flex;align-items:center;padding:16px 17px;gap:12px;border:0;background:#fff;text-align:left;color:var(--text)}.step-top:hover{background:#f8faf9}.step-index{width:34px;height:34px;display:grid;place-items:center;background:#e9f0ed;border-radius:10px;font-weight:800;font-size:13px;color:#417063}.step-card.complete .step-index{background:#dff3e5;color:#267857}.step-heading{flex:1}.step-heading strong{display:block;font-size:15px}.step-heading small{color:var(--muted);font-size:11px}.chevron{color:#789197;font-size:19px}.step-body{border-top:1px solid #eaf0ed;padding:8px 17px 18px}.task{padding:11px 0;border-bottom:1px solid #eff2f0}.task:last-child{border-bottom:0}.task-check{display:flex;align-items:flex-start;gap:12px;cursor:pointer;color:var(--text);font-size:13px;font-weight:600}.task-check span{flex:1}.task.done .task-check span{text-decoration:line-through;color:#79918c}.task-detail{font-size:12px;line-height:1.6;color:#60747d;margin:7px 0 0 32px;padding-left:12px;border-left:2px solid #d4e4db}.task-detail b{color:#2c554c}.task-warning{background:#fff7e8;color:#876521;border-radius:9px;padding:10px 12px;margin:9px 0 1px 32px;font-size:12px}.task-blocked{font-size:11px;color:#a16a20;margin:8px 0 0 32px}.step-summary{padding:9px 17px;background:#f7faf8;color:#5f7d72;font-size:11px}.handoff-desc{font-size:13px}.handoff-status{margin:17px 0;padding:12px;background:#fff7e7;border-radius:9px;color:#976e28;font-size:12px;font-weight:700}.handoff-status.ready{background:#e6f5eb;color:#237151}.action-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.primary{background:var(--navy);color:white;border:1px solid var(--navy);border-radius:10px;padding:13px 16px;font-weight:750;font-size:13px}.primary:hover{background:#274b56}.text-danger{background:transparent;border:0;color:#a6453f;padding:15px 0 0;font-size:12px;text-decoration:underline}.hint-banner{background:#edf6f1;color:#477261;font-size:12px;border-radius:9px;padding:10px;margin-top:14px}footer{padding:25px 0;color:#83959b;display:flex;justify-content:space-between;gap:8px;border-top:1px solid #dbe5df;font-size:10px;letter-spacing:.055em}dialog{width:min(470px,calc(100vw - 30px));border:0;border-radius:16px;box-shadow:0 25px 100px #061a2470;padding:0}dialog::backdrop{background:#0c2638a6}.modal-body{padding:25px}.modal-body h2{margin-top:0}.modal-body p{font-size:14px;line-height:1.6;color:#617780}.modal-actions{display:flex;justify-content:end;gap:10px}.modal-actions button{min-width:110px}@media(max-width:650px){.header-inner{padding:13px 15px}.page{padding:0 12px 45px}.hero{margin:0 -12px 15px;padding:20px 17px 25px}.hero-badge{min-width:76px;padding:9px 7px}.hero-badge span{font-size:30px}.hero-badge small{font-size:8px}.brand-copy strong{font-size:11px}.brand-copy small{font-size:9px}.panel{padding:17px}.role-grid,.fields.two,.freq-grid{grid-template-columns:1fr}.role-card{min-height:155px}.freq-grid{gap:7px}.freq-grid label{display:grid;grid-template-columns:1fr 1fr;align-items:center;column-gap:10px}.freq-grid label small{grid-column:1}.freq-grid input{grid-column:2;grid-row:1 / span 2;margin:0}.action-grid{grid-template-columns:1fr}.step-top{padding:14px 12px}.step-body{padding:7px 14px 15px}.progress-footer{flex-wrap:wrap}footer{flex-direction:column}.session-top{align-items:flex-start}}@media print{body{background:white}.header-actions,.hero-badge,.small-outline,.action-grid,.text-danger,.role-chooser,.step-top .chevron,.role-chip,.progress-panel{display:none!important}.page{max-width:100%;padding:0}.hero{background:white;color:#111;margin:0;padding:0}.hero p{color:#555}.panel,.step-card{box-shadow:none;border:1px solid #bbb;break-inside:avoid}#appView{display:block!important}.step-body{display:block!important}.task-detail{display:block!important}input,textarea,select{border:0!important;padding:3px!important}.safety-panel{border:1px solid #ddd}footer{display:none}}

/* TV spectrum research module */
.tv-panel{border-left:4px solid #387e89}.tv-actions{margin:15px 0}.tv-source{display:grid;grid-template-columns:2fr 1fr;gap:12px;margin:14px 0}.tv-status{font-size:12px;color:#654d21;background:#fff4db;padding:12px;border-radius:9px;line-height:1.5}.tv-heading{margin-top:18px}.tv-grid-header,.tv-row{display:grid;grid-template-columns:75px 1fr minmax(155px,1.3fr);align-items:center;gap:12px}.tv-grid-header{font-size:11px;text-transform:uppercase;color:var(--muted);font-weight:800;padding:8px 12px}.tv-row{border-top:1px solid #e5eeea;padding:8px 12px;font-size:12px}.tv-row select{margin:0;padding:8px;min-height:38px;font-size:12px}.tv-bottom{border-top:1px solid #dee9e4;margin-top:15px;padding-top:12px}.tv-bottom .action-grid{margin-top:13px}@media(max-width:650px){.tv-source{grid-template-columns:1fr}.tv-grid-header,.tv-row{grid-template-columns:58px 1fr minmax(130px,1.5fr);gap:6px;padding-left:2px;padding-right:2px}.tv-row select{font-size:11px;padding:6px}.tv-actions{grid-template-columns:1fr}}

.venue-profile{background:#edf5f2;border:1px solid #cfe2d7;border-radius:12px;padding:15px;margin:13px 0}.venue-profile strong{display:block;margin-top:6px}.venue-profile p{font-size:12px;line-height:1.5}.tv-overview{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:14px 0}.tv-band{border:1px solid #dae6de;border-radius:10px;padding:12px;background:white;display:flex;flex-direction:column;gap:4px;font-size:12px}.tv-band small{color:#647782}.tv-band span{color:#9a6229}.station{display:block;color:#647782;font-size:11px;margin-top:3px}@media(max-width:650px){.tv-overview{grid-template-columns:1fr}}

.conversion-panel{padding:18px;border:1px solid #8eaab157;border-radius:15px;background:rgba(70,115,123,.10);margin:14px 0}.conversion-panel h3{margin:5px 0 10px;font-size:1.05rem}.conversion-panel .action-grid{margin:12px 0}.conversion-panel .tv-status{margin-top:8px}

/* v1.5 step-by-step Shure → WSM converter and version tracking */
.version-button{border:1px solid #49616b;border-radius:9px;background:#1b3a46;color:#f7faf9;padding:5px 9px;text-align:center;display:flex;flex-direction:column;gap:1px;min-width:71px}.version-button b{font-size:12px}.version-button small{font-size:9px;color:#bed0ce}.version-button:hover{background:#305261}
.tv-steps{display:grid;gap:13px;margin:16px 0}.tv-work-step{border:1px solid #d2e0dc;background:#f7faf8;padding:17px;border-radius:14px}.tv-step-head{display:flex;align-items:flex-start;gap:12px;margin-bottom:12px}.tv-step-number{width:30px;height:30px;flex-shrink:0;display:grid;place-items:center;border-radius:50%;color:white;background:#274c58;font-size:15px;font-weight:800}.tv-step-head h3{margin:0;font-size:17px}.tv-step-head p{margin:6px 0 0!important}.tv-import-result{margin-top:12px;color:#66512c;background:#fff6dd;border-radius:8px;padding:11px;font-size:12px;line-height:1.5}.tv-import-result.ready{color:#1e674d;background:#e4f5eb;font-weight:650}.tv-review-count{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;font-size:12px;margin-bottom:10px}.tv-review-count strong{color:#173e4b}.tv-review-count span{color:#7d6e50}.tv-preview-tags{display:flex;flex-wrap:wrap;gap:6px}.tv-preview-tags span{font-size:11px;background:#fff1e7;border:1px solid #ecd1bb;border-radius:7px;padding:5px 7px;color:#825232}.tv-jump{color:#236c62;font-weight:750;text-decoration:underline;font-size:12px;display:inline-block;margin-top:11px}.tv-full-btn{width:100%}.tv-step-ready{border-color:#78aa95}.tv-wsm-instructions,.tv-saved-export{border-top:1px solid #dfeae4;margin-top:13px;padding-top:12px;color:#3d5760;font-size:12px}.tv-wsm-instructions summary,.tv-saved-export summary{font-weight:800;cursor:pointer}.tv-wsm-instructions ol{padding-left:21px;line-height:1.8}.tv-saved-export button{margin-top:9px}#tvChannelReviewHeading{scroll-margin-top:16px}
@media(max-width:650px){.local-pill{display:none}.header-actions{gap:6px}.version-button{min-width:68px;padding:5px 6px}.tv-work-step{padding:13px}.tv-step-head h3{font-size:15px}}

/* v1.6 update prompt; hidden attribute must override layout rules */
.app-update-banner[hidden]{display:none!important}
.app-update-banner{display:flex;align-items:center;flex-wrap:wrap;gap:12px;justify-content:space-between;border:1px solid #c7dfc4;background:#ebf8e8;border-radius:14px;padding:14px 18px;margin:16px 0;color:#153e35}
.app-update-banner>div{flex:1;min-width:200px}
.app-update-banner strong{font-size:15px}
.app-update-banner p{font-size:12px;margin:5px 0 0;color:#426257}
.app-update-banner button{white-space:nowrap}
@media(max-width:650px){.app-update-banner{align-items:stretch}.app-update-banner button{flex:1}}

/* v1.8 two-workspace landing and module switching */
[hidden], .module-home[hidden], #stageWorkspace[hidden], #iemWorkspace[hidden], #appView[hidden], #roleView[hidden]{display:none!important}
.module-home{margin:12px 0 22px}.module-intro{text-align:center;margin:14px 0 22px}.module-intro h2{font-size:clamp(23px,3vw,32px);margin:7px 0 8px;letter-spacing:-.04em}.module-intro p{font-size:14px;color:var(--muted);margin:0}.module-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.module-card{display:flex;flex-direction:column;text-align:left;align-items:flex-start;gap:13px;min-height:365px;padding:26px;border-radius:24px;color:white;box-shadow:0 12px 35px #0c27311a;transition:transform .18s,box-shadow .18s;border:2px solid transparent}.module-card:hover{transform:translateY(-3px);box-shadow:0 18px 36px #0c273132}.module-card:focus-visible{outline:4px solid #b0e2c1}.module-iem{background:linear-gradient(135deg,#102c3f,#175d6b)}.module-stage{background:linear-gradient(135deg,#343065,#724d9e)}.module-illustration{font-size:46px;line-height:1.1;background:#ffffff1f;border:1px solid #ffffff33;width:90px;height:87px;display:grid;place-items:center;border-radius:20px}.module-overline{font-size:11px;letter-spacing:.17em;color:#d7f16c;font-weight:800}.module-card strong{font-size:clamp(22px,3vw,29px);line-height:1.16;letter-spacing:-.04em}.module-description{font-size:14px;line-height:1.65;color:#e5eff2}.module-tags{display:flex;gap:6px;flex-wrap:wrap}.module-tags em{font-size:10px;font-style:normal;border:1px solid #ffffff55;border-radius:50px;padding:6px 9px;color:#fff}.module-enter{margin-top:auto;display:flex;justify-content:space-between;width:100%;align-items:center;border-top:1px solid #ffffff4d;padding-top:17px;font-size:14px;font-weight:800}.module-enter b{font-size:21px}.module-home-note{text-align:center;color:var(--muted);font-size:12px;margin:16px 0}.workspace-nav{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:0 0 16px;padding:9px;border-radius:14px;background:#e9efed;border:1px solid #d5e2dd}.workspace-nav button{border:1px solid transparent;border-radius:10px;padding:10px 12px;font-size:12px;font-weight:750;background:transparent;color:#355664}.workspace-nav button:hover{background:white}.workspace-nav .selected{background:#fff;border-color:#cbded7;color:#0c4753;box-shadow:0 2px 8px #1026330d}.workspace-nav .workspace-home{margin-right:auto;color:#49746a}
@media(max-width:700px){.module-grid{grid-template-columns:1fr;gap:12px}.module-card{min-height:280px;padding:20px;gap:10px}.module-illustration{height:65px;width:70px;font-size:34px}.workspace-nav{display:grid;grid-template-columns:1fr 1fr}.workspace-nav .workspace-home{grid-column:1/-1;justify-self:stretch;text-align:left}.workspace-nav button{padding:10px 5px;font-size:11px}}
@media print{.module-home,.workspace-nav{display:none!important}}

.module-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.module-readiness{background:linear-gradient(145deg,#154a3f,#227d65);text-decoration:none}.module-card{text-decoration:none}.module-card:visited{color:white}.workspace-nav a.workspace-tab{display:inline-flex;align-items:center;text-decoration:none}
@media(max-width:900px){.module-grid{grid-template-columns:1fr}.module-card{min-height:250px}}
