/* Produkt-Scoring — Layout und Bausteine. Tokens, Buttons, Formulare und Bereiche kommen aus brand.css. */

.top .brand{margin-right:4px}
.top #catalog-link{text-decoration:none}

/* Start */
.start{display:grid;gap:28px;max-width:1080px;margin:16px auto 0}
.intro{display:grid;gap:12px}
.two{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}
.actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:20px}
.sep{margin:18px 0 14px;border:0;border-top:1px solid var(--line-soft)}
.inline{display:flex;gap:8px;align-items:end}
.inline .field{flex:1}

/* Moderation */
.mod{display:grid;grid-template-columns:minmax(320px,1fr) minmax(0,2.2fr);gap:20px;align-items:start}
.col{display:grid;gap:20px;min-width:0}
.join{display:flex;flex-wrap:wrap;align-items:center;gap:24px}
.join .link{font-size:.85rem;color:var(--ink-75);word-break:break-all}
.session-meta{display:grid;gap:2px;margin-bottom:12px}
.session-meta h1{font-size:1.5rem}
.plist{display:grid;gap:6px}
.plist .prow{display:grid;grid-template-columns:1fr auto;gap:6px;align-items:center}
.plist input{min-height:36px;padding:6px 10px}
.padd{display:grid;grid-template-columns:1fr auto;gap:6px;margin-top:10px}
.scen{display:grid;gap:6px}
.scen-opt{display:grid;gap:3px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--r);background:var(--white);cursor:pointer;text-align:left}
.scen-opt:hover{border-color:var(--petrol-50)}
.scen-opt.on{border-color:var(--petrol);box-shadow:0 0 0 1px var(--petrol);background:var(--petrol-10)}
.scen-opt .t{display:flex;justify-content:space-between;gap:8px;font-weight:600;font-size:.9rem}
.scen-opt .w{font-family:var(--mono);font-size:.74rem;color:var(--ink-75);letter-spacing:.02em}
.scen-opt .x{font-size:.8rem;color:var(--ink-75)}
.sliders{display:grid;gap:8px;margin-top:10px;padding:12px;border:1px solid var(--petrol-25);border-radius:var(--r);background:var(--white)}
.slider{display:grid;grid-template-columns:minmax(0,1fr) 1fr 52px;gap:10px;align-items:center;font-size:.85rem}
.slider input[type=range]{min-height:0;padding:0;border:0;accent-color:var(--petrol);background:transparent}
.slider .v{text-align:right;font-family:var(--mono);font-size:.8rem}
.plist-tbl td{padding:7px 10px}
.pbar{display:flex;align-items:center;gap:8px;min-width:130px}
.pbar .bar{flex:1}
.pbar .c{font-family:var(--mono);font-size:.78rem;white-space:nowrap}

/* Auswertung */
.stats-row{margin-bottom:16px}
.results-wrap{overflow-x:auto}
.results th,.results td{padding:9px 10px}
.results tr.prow{cursor:pointer}
.results tr.prow:hover td{background:var(--surface)}
.results tr.prow td:first-child{font-weight:600}
.results tr.prow td:first-child::before{content:"▸";display:inline-block;width:14px;color:var(--muted);font-size:.8em}
.results tr.prow.open td:first-child::before{content:"▾"}
.results .rank{display:inline-flex;align-items:center;justify-content:center;min-width:26px;height:26px;border-radius:var(--r-pill);background:var(--petrol);color:#fff;font-weight:600;font-size:.8rem}
.results .rank.none{background:var(--primary-10);color:var(--muted)}
.results .total{font-weight:700;font-size:1rem;color:var(--petrol)}
.results .partial{color:var(--warning);font-weight:500}
.results .partial small{display:block;font-size:.66rem;letter-spacing:.04em;text-transform:uppercase}
.results tr.detail td{padding:0;background:var(--surface)}
.results tr.detail>td{border-bottom:2px solid var(--line)}
.crit-wrap{padding:8px 10px 12px;overflow-x:auto}
.crit-table{font-size:.82rem;background:var(--white);border:1px solid var(--line-soft)}
.crit-table th{padding:7px 10px;font-size:.62rem}
.crit-table td{padding:6px 10px;white-space:nowrap}
.crit-table tr.sub td{font-size:.78rem;padding:5px 10px}
.crit-table .na{color:var(--muted)}
.crit-table td.dissens{background:var(--burgundy-10);color:var(--burgundy);font-weight:700}
.legend-note{display:flex;gap:16px;flex-wrap:wrap;margin-top:10px;font-size:.8rem;color:var(--ink-75)}
.legend-note .sw{display:inline-block;width:12px;height:12px;border-radius:3px;vertical-align:-1px;margin-right:4px}
.sw.dissens{background:var(--burgundy-10);border:1px solid var(--burgundy)}
.sw.partial{background:var(--warning-10);border:1px solid var(--warning)}

/* Portfolio-Matrix */
.matrix{display:grid;grid-template-columns:minmax(0,3fr) minmax(220px,2fr);gap:20px;align-items:start}
.matrix svg{width:100%;height:auto;display:block;font-family:var(--font-body)}
.matrix .q-stars{fill:var(--moss-10)} .matrix .q-invest{fill:var(--petrol-10)} .matrix .q-cashcow{fill:var(--warning-10)} .matrix .q-question{fill:var(--primary-10)}
.matrix .grid{stroke:var(--line);stroke-width:1}
.matrix .mid{stroke:var(--primary-50);stroke-width:1.5;stroke-dasharray:5 4}
.matrix .axis{stroke:var(--primary-75);stroke-width:1.2}
.matrix .tick{font-size:11px;fill:var(--ink-75)}
.matrix .qlabel{font-size:12px;font-weight:600;fill:var(--ink-75);letter-spacing:.04em;text-transform:uppercase}
.matrix .alabel{font-size:12px;font-weight:600;fill:var(--ink)}
.matrix .dot{fill:var(--petrol);stroke:#fff;stroke-width:2}
.matrix .dlabel{font-size:12.5px;font-weight:600;fill:var(--ink);paint-order:stroke;stroke:#fff;stroke-width:3px;stroke-linejoin:round}
.legend{display:grid;gap:8px}
.legend .q{display:grid;gap:2px;padding:8px 10px;border-left:4px solid var(--line);border-radius:var(--r-sm);font-size:.82rem;background:var(--white)}
.legend .q b{font-size:.85rem}
.legend .q.stars{border-color:var(--moss)} .legend .q.invest{border-color:var(--petrol)} .legend .q.cashcow{border-color:var(--warning)} .legend .q.question{border-color:var(--primary-50)}
.legend .q .p{color:var(--ink-75);font-size:.78rem}
.legend .q .where{color:var(--muted);font-weight:400;font-size:.74rem}

/* Diskussionspunkte */
.disc{display:grid;gap:16px}
.disc p.lead{font-size:1rem;font-weight:400;color:var(--ink);max-width:none}
.disc .list li{margin-bottom:4px}
.disc .dis{display:grid;gap:2px;padding:10px 12px;border-left:4px solid var(--burgundy);background:var(--burgundy-10);border-radius:var(--r-sm);font-size:.9rem}
.disc .dis b{font-size:.85rem}
.disc .dis span{color:var(--ink-75)}

/* Teilnehmer */
.work{display:grid;gap:16px;max-width:860px;margin:0 auto}
.tabs{display:flex;flex-wrap:wrap;gap:6px}
.tab{display:inline-flex;align-items:center;gap:8px;min-height:38px;padding:6px 12px;border:1px solid var(--line);border-radius:var(--r);background:var(--white);cursor:pointer;font-size:.85rem;text-align:left}
.tab:hover{border-color:var(--petrol-50)}
.tab.on{background:var(--petrol);border-color:var(--petrol);color:#fff}
.tab .c{font-family:var(--mono);font-size:.72rem;opacity:.85}
.tab.done .c::after{content:" ✓"}
.crits{display:grid;gap:24px}
.dim{display:grid;gap:12px}
.dim-head{display:grid;gap:2px;padding-bottom:8px;border-bottom:2px solid var(--petrol-25)}
.dim-head .k{font:600 .7rem/1 var(--font-body);letter-spacing:.1em;text-transform:uppercase;color:var(--petrol)}
.dim-head h3{font-size:1.05rem}
.dim-head .q{font-size:.85rem;color:var(--ink-75)}
.crit{display:grid;gap:8px;padding:14px;border:1px solid var(--line-soft);border-radius:var(--r-lg);background:var(--white)}
.crit.set{border-color:var(--petrol-25)}
.crit-head{display:flex;gap:10px;align-items:baseline}
.crit-head .nr{font-family:var(--mono);font-size:.75rem;color:var(--petrol);font-weight:600}
.crit-head h4{font-size:.95rem;font-weight:600}
.crit .q{font-size:.88rem;color:var(--ink-75)}
.crit .choices .choice{flex:1;min-width:44px}
.crit .choices .choice.na{flex:100%;height:36px;font-size:.82rem}
.crit details{font-size:.85rem}
.crit summary{cursor:pointer;color:var(--petrol);font-weight:500;user-select:none}
.anchors{display:grid;gap:4px;margin:8px 0 0;padding:0;list-style:none}
.anchors li{display:grid;grid-template-columns:28px 1fr;gap:6px;padding:6px 8px;border:1px solid var(--line-soft);border-radius:var(--r-sm);cursor:pointer;background:var(--surface)}
.anchors li:hover{border-color:var(--petrol-50)}
.anchors li.on{background:var(--petrol-10);border-color:var(--petrol)}
.anchors li b{font-family:var(--mono);color:var(--petrol)}
.crit .fn{font-size:.78rem;color:var(--muted);margin-top:6px}
.closed-note{margin-bottom:4px}
.work.readonly .choice,.work.readonly .anchors li{pointer-events:none;opacity:.7}
.work.readonly .choice.on,.work.readonly .anchors li.on{opacity:1}
.prog .txt{white-space:nowrap}

/* Kriterienkatalog */
.catalog{display:grid;gap:20px;max-width:1200px;margin:0 auto}
.catalog .steps-list{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;counter-reset:s}
.catalog .steps-list li{list-style:none;padding:10px 12px;border:1px solid var(--line-soft);border-radius:var(--r);background:var(--white);font-size:.85rem;counter-increment:s}
.catalog .steps-list li::before{content:counter(s);display:block;font-family:var(--font-display);font-weight:700;font-size:1.3rem;color:var(--petrol);line-height:1.2}
.catalog .dim-title{display:flex;align-items:baseline;gap:10px}
.catalog .dim-title .nr{font-family:var(--font-display);font-weight:700;font-size:1.4rem;color:var(--petrol)}
.catalog table{font-size:.82rem}
.catalog th,.catalog td{padding:8px 10px}
.catalog td.a{min-width:140px}
.catalog td.nr{font-family:var(--mono);white-space:nowrap}
.catalog .fn{padding:8px 10px;font-size:.78rem;color:var(--muted)}

/* Kleine Bildschirme (Teilnehmer am Handy) */
@media (max-width:980px){
  .two,.mod,.matrix{grid-template-columns:1fr}
  .catalog .steps-list{grid-template-columns:1fr 1fr}
  .top .appname{display:none}
  .top{gap:10px}
}
@media (max-width:600px){
  .catalog .steps-list{grid-template-columns:1fr}
  .top #catalog-link{display:none}
  .actionbar .inner{flex-wrap:wrap}
}

/* Druck: Auswertung und Matrix auf A4 quer */
@media print{
  @page{size:A4 landscape;margin:12mm}
  .top,.actionbar,.toasts,#modal,.noprint{display:none!important}
  main{padding:0;max-width:none}
  .mod{display:block}
  .mod .col.left{display:none}
  .mod .col.right{gap:12px}
  .panel{border:1px solid var(--line);box-shadow:none;break-inside:avoid}
  .panel>header{padding:6px 12px;min-height:0}
  .panel>.body{padding:12px}
  .results-wrap,.crit-wrap{overflow:visible}
  .results tr.prow td:first-child::before{content:""}
  .matrix{grid-template-columns:3fr 2fr;break-before:page}
  .matrix svg{max-height:150mm}
  .stats-row{display:none}
  .catalog .panel{break-inside:auto}
  .catalog table{font-size:9pt}
  .catalog tr{break-inside:avoid}
}
