
:root {
  --mid:#0f1720;
  --ink:#071018;
  --fog:#f7f8f8;
  --mist:#e9eeee;
  --mint:#2ee6c6;
  --muted:#687078;
  --line:rgba(15,23,32,.14);
  --danger:#ff5a5a;
  --ok:#2ee6c6;
  --panel:rgba(255,255,255,.045);
  --panelLine:rgba(255,255,255,.10);
  /* semantic aliases constrained to the master palette */
  --midnight:var(--mid);
  --midnight-2:var(--ink);
  --paper:var(--fog);
  --surface:#fff;
  --surface-2:var(--mist);
  --mint-strong:var(--mint);
  --mint-ink:var(--mint);
  --turquoise:var(--mint);
  --turquoise-dark:var(--mint);
  --amber:var(--danger);
  --line-dark:rgba(15,23,32,.28);
  --shadow:0 18px 48px rgba(7,16,24,.10);
  --shadow-small:0 8px 24px rgba(7,16,24,.07);
  --max:1480px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--paper);
  font-family: Manrope, Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  line-height: 1.45;
}
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; }
img, svg { max-width: 100%; }

.site-header {
  position: sticky;
  top: 0;
  z-index: 100;
  color: white;
  background: rgba(15,23,32,.97);
  border-bottom: 1px solid var(--panelLine);
  backdrop-filter: blur(16px);
}
.header-inner {
  width: min(calc(100% - 32px), var(--max));
  min-height: 68px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
}
.brand-link {
  display: flex;
  align-items: center;
  gap: 12px;
  text-decoration: none;
  min-width: max-content;
}
.brand-radar {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(46,230,198,.68);
  background: rgba(46,230,198,.08);
}
.brand-radar svg { width: 24px; height: 24px; }
.brand-copy strong { display: block; font-size: 1rem; letter-spacing: -.02em; }
.brand-copy span { display: block; color: rgba(247,248,248,.66); font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; }
.main-nav { display: flex; align-items: center; gap: 4px; }
.main-nav a {
  text-decoration: none;
  color: rgba(247,248,248,.82);
  padding: 9px 11px;
  border-bottom: 2px solid transparent;
  font-size: .88rem;
}
.main-nav a:hover, .main-nav a.active { color: white; border-bottom-color: var(--mint); }
.menu-toggle { display: none; }

.page { width: min(calc(100% - 32px), var(--max)); margin: 0 auto; padding: 30px 0 64px; }
.page.narrow { max-width: 980px; }
.eyebrow { color: var(--mint-ink); font-weight: 800; letter-spacing: .11em; text-transform: uppercase; font-size: .72rem; }
.hero {
  min-height: 520px;
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 40px;
  align-items: center;
  padding: 48px 0 58px;
}
.hero h1 {
  margin: 12px 0 18px;
  max-width: 820px;
  font-size: clamp(3.2rem, 7vw, 7.2rem);
  letter-spacing: -.075em;
  line-height: .88;
  color: var(--midnight);
}
.hero h1 span { color: var(--mint-ink); }
.hero-lead { max-width: 700px; margin: 0; color: var(--muted); font-size: clamp(1rem, 1.9vw, 1.28rem); }
.action-row { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 28px; }
.button {
  appearance: none;
  border: 1px solid var(--line-dark);
  background: white;
  color: var(--midnight);
  min-height: 44px;
  padding: 11px 16px;
  border-radius: 4px;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-weight: 750;
  cursor: pointer;
  box-shadow: 0 1px 0 rgba(7,16,24,.06);
}
.button:hover { border-color: var(--mint-ink); transform: translateY(-1px); }
.button.primary { background: var(--midnight); border-color: var(--midnight); color: white; }
.button.mint { background: var(--mint); border-color: var(--mint); color: var(--ink); }
.button.ghost { background: transparent; box-shadow: none; }
.button.danger { color: var(--danger); border-color: #ff5a5a; }
.button.small { min-height: 34px; padding: 7px 10px; font-size: .82rem; }
.button.icon { width: 38px; min-height: 38px; padding: 0; }
.button.listening { background: var(--mint); }

.hero-radar-card {
  position: relative;
  min-height: 430px;
  padding: 26px;
  color: white;
  background: var(--midnight);
  box-shadow: var(--shadow);
  overflow: hidden;
}
.hero-radar-card::before {
  content: '';
  position: absolute;
  inset: -30% 35% 35% -20%;
  background: radial-gradient(circle, rgba(46,230,198,.18), transparent 66%);
}
.hero-radar-card svg { position: relative; width: 100%; height: 300px; }
.hero-radar-card h2 { position: relative; margin: 0; font-size: 1rem; color: rgba(247,248,248,.86); }
.hero-radar-card .winner { position: relative; display: flex; align-items: end; justify-content: space-between; gap: 16px; border-top: 1px solid rgba(255,255,255,.15); padding-top: 16px; }
.hero-radar-card .winner div span, .hero-radar-card .winner div strong { display: block; }
.hero-radar-card .winner strong { font-size: 1.8rem; line-height: 1; margin-top: 5px; }
.hero-radar-card .winner span { color: rgba(247,248,248,.62); font-size: .84rem; }

.section-block { padding: 52px 0; border-top: 1px solid var(--line); }
.section-heading { display: grid; grid-template-columns: .72fr 1.28fr; gap: 40px; margin-bottom: 28px; }
.section-heading h2 { margin: 0; color: var(--midnight); font-size: clamp(2rem, 4vw, 4rem); letter-spacing: -.055em; line-height: .96; }
.section-heading p { margin: 5px 0 0; max-width: 700px; color: var(--muted); font-size: 1.05rem; }
.feature-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.feature-card, .panel, .tool-card {
  background: var(--surface);
  border: 1px solid var(--line);
  box-shadow: var(--shadow-small);
}
.feature-card { min-height: 210px; padding: 22px; }
.feature-card .number { color: var(--mint-ink); font-size: .78rem; font-weight: 800; }
.feature-card h3 { margin: 30px 0 8px; font-size: 1.35rem; letter-spacing: -.035em; }
.feature-card p { margin: 0; color: var(--muted); }

.page-head { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin: 12px 0 24px; }
.page-head h1 { margin: 5px 0 0; color: var(--midnight); font-size: clamp(2.4rem, 5vw, 5rem); letter-spacing: -.065em; line-height: .95; }
.page-head p { max-width: 650px; margin: 10px 0 0; color: var(--muted); }
.status-line { display: flex; align-items: center; gap: 8px; color: var(--muted); font-size: .82rem; }
.status-dot { width: 8px; height: 8px; background: var(--mint); border-radius: 50%; }

.workspace {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(400px, .78fr);
  gap: 18px;
  align-items: start;
}
.editor-stack, .result-stack { display: grid; gap: 14px; }
.result-stack { position: sticky; top: 86px; }
.panel { padding: 20px; }
.panel.dark { background: var(--midnight); color: white; border-color: var(--midnight); }
.panel-head { display: flex; justify-content: space-between; align-items: start; gap: 14px; margin-bottom: 16px; }
.panel-head h2, .panel-head h3 { margin: 0; letter-spacing: -.035em; }
.panel-head h2 { font-size: 1.3rem; }
.panel-head h3 { font-size: 1rem; }
.panel-head p { margin: 5px 0 0; color: var(--muted); font-size: .87rem; }
.panel.dark .panel-head p { color: rgba(247,248,248,.62); }
.step-label { display: inline-grid; place-items: center; width: 28px; height: 28px; margin-right: 7px; background: var(--mint); color: var(--midnight); font-size: .8rem; }

.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.field { display: grid; gap: 6px; }
.field.full { grid-column: 1 / -1; }
.field label { color: var(--muted); font-size: .78rem; font-weight: 750; }
.input-wrap { display: flex; gap: 6px; }
.input-wrap .input { flex: 1; }
.input, .select, .textarea {
  width: 100%;
  min-height: 43px;
  border: 1px solid var(--line-dark);
  border-radius: 3px;
  background: var(--fog);
  color: var(--ink);
  padding: 10px 11px;
  outline: none;
}
.textarea { min-height: 96px; resize: vertical; }
.input:focus, .select:focus, .textarea:focus { border-color: var(--mint-ink); box-shadow: 0 0 0 3px rgba(46,230,198,.18); }
.segmented { display: grid; grid-template-columns: 1fr 1fr; border: 1px solid var(--line-dark); background: var(--surface-2); }
.segmented button { border: 0; background: transparent; padding: 10px; color: var(--muted); cursor: pointer; }
.segmented button.active { background: var(--midnight); color: white; }
.help { color: var(--muted); font-size: .78rem; margin: 5px 0 0; }

.option-row { display: grid; grid-template-columns: 34px 1fr 38px; gap: 8px; align-items: center; margin-bottom: 8px; }
.option-index { display: grid; place-items: center; width: 34px; height: 42px; color: white; background: var(--option-color, var(--mint)); font-weight: 850; }
.inline-actions { display: flex; flex-wrap: wrap; gap: 7px; }

.criteria-list { display: grid; gap: 9px; }
.criterion {
  border: 1px solid var(--line);
  background: var(--fog);
}
.criterion-top { display: grid; grid-template-columns: 1fr 118px 38px; gap: 8px; align-items: center; padding: 10px; border-bottom: 1px solid var(--line); }
.weight-wrap { display: flex; align-items: center; gap: 7px; }
.weight-wrap span { color: var(--muted); font-size: .72rem; }
.weight-wrap input { width: 54px; }
.score-grid { display: grid; gap: 8px; padding: 10px; }
.score-line { display: grid; grid-template-columns: minmax(90px, 1fr) minmax(130px, 2fr) 42px; gap: 9px; align-items: center; }
.score-line label { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .82rem; font-weight: 700; }
.score-value { display: grid; place-items: center; min-height: 32px; border: 1px solid var(--line); background: white; font-weight: 850; }
input[type="range"] { width: 100%; accent-color: var(--mint-ink); }

.radar-stage { position: relative; min-height: 430px; display: grid; place-items: center; }
.radar-stage svg { width: 100%; height: 430px; overflow: visible; }
.chart-empty { color: var(--muted); text-align: center; max-width: 290px; }
.legend { display: flex; flex-wrap: wrap; gap: 8px 14px; margin-top: 8px; }
.legend-item { display: flex; align-items: center; gap: 6px; font-size: .78rem; color: rgba(247,248,248,.74); }
.legend-swatch { width: 15px; height: 3px; background: var(--legend-color); }
.ranking { display: grid; gap: 8px; }
.rank-row { display: grid; grid-template-columns: 28px 1fr auto; gap: 10px; align-items: center; padding: 10px 0; border-bottom: 1px solid var(--line); }
.rank-row:last-child { border-bottom: 0; }
.rank-number { color: var(--mint-ink); font-size: .78rem; font-weight: 850; }
.rank-name { font-weight: 800; }
.rank-score { font-variant-numeric: tabular-nums; font-weight: 850; }
.recommendation { padding: 14px; border-left: 4px solid var(--mint); background: var(--surface-2); }
.recommendation strong { display: block; font-size: 1.25rem; letter-spacing: -.025em; }
.recommendation span { color: var(--muted); font-size: .82rem; }

.library-toolbar { display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-bottom: 16px; }
.library-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.radar-card { display: grid; min-height: 250px; padding: 18px; background: white; border: 1px solid var(--line); box-shadow: var(--shadow-small); }
.radar-card h2 { margin: 8px 0 6px; font-size: 1.35rem; letter-spacing: -.035em; }
.radar-card p { margin: 0; color: var(--muted); }
.radar-meta { display: flex; flex-wrap: wrap; gap: 7px 12px; color: var(--muted); font-size: .76rem; }
.radar-card .card-actions { align-self: end; display: flex; flex-wrap: wrap; gap: 6px; margin-top: 20px; }
.empty-state { padding: 52px 22px; text-align: center; background: white; border: 1px dashed var(--line-dark); }
.empty-state h2 { margin: 0 0 8px; }
.empty-state p { color: var(--muted); }

.stat-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin-bottom: 18px; }
.stat { padding: 18px; background: white; border: 1px solid var(--line); }
.stat strong { display: block; color: var(--midnight); font-size: 2rem; letter-spacing: -.05em; }
.stat span { color: var(--muted); font-size: .78rem; }
.check-list { display: grid; gap: 8px; }
.check-row { display: grid; grid-template-columns: 18px 1fr auto; gap: 10px; align-items: center; padding: 12px; border: 1px solid var(--line); background: white; }
.check-mark { width: 12px; height: 12px; border-radius: 50%; background: var(--mint-strong); }
.check-mark.warn { background: var(--amber); }
.check-row small { color: var(--muted); }
.content-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.prose { background: white; border: 1px solid var(--line); padding: 24px; }
.prose h2 { margin-top: 0; letter-spacing: -.04em; }
.prose h3 { margin-top: 28px; }
.prose p, .prose li { color: var(--muted); }
.prose li { margin-bottom: 8px; }

.site-footer { color: rgba(247,248,248,.76); background: var(--midnight); }
.footer-inner { width: min(calc(100% - 32px), var(--max)); margin: 0 auto; padding: 28px 0; display: flex; justify-content: space-between; gap: 24px; flex-wrap: wrap; }
.footer-inner a { color: rgba(247,248,248,.76); text-decoration: none; }
.footer-inner a:hover { color: white; }
.footer-links { display: flex; flex-wrap: wrap; gap: 16px; font-size: .82rem; }

.toast-root { position: fixed; right: 16px; bottom: 16px; z-index: 500; display: grid; gap: 8px; }
.toast { max-width: 360px; padding: 11px 14px; color: white; background: var(--midnight); border-left: 4px solid var(--mint); box-shadow: var(--shadow); opacity: 0; transform: translateY(8px); transition: .2s ease; }
.toast.warn { border-left-color: var(--amber); }
.toast.error { border-left-color: var(--danger); }
.toast.show { opacity: 1; transform: translateY(0); }

.modal { position: fixed; inset: 0; z-index: 300; display: none; place-items: center; padding: 20px; background: rgba(7,16,24,.72); }
.modal.open { display: grid; }
.modal-card { width: min(620px, 100%); max-height: 88vh; overflow: auto; background: white; border: 1px solid var(--line); box-shadow: var(--shadow); padding: 22px; }
.modal-head { display: flex; justify-content: space-between; align-items: start; gap: 12px; margin-bottom: 16px; }
.modal-head h2 { margin: 0; }

.only-print { display: none; }
@media print {
  .site-header, .site-footer, .no-print, .toast-root { display: none !important; }
  body { background: white; }
  .page { width: 100%; padding: 0; }
  .workspace { display: block; }
  .editor-stack { display: none; }
  .result-stack { position: static; }
  .panel { box-shadow: none; break-inside: avoid; }
  .only-print { display: block; }
  .radar-stage { min-height: 520px; }
  .radar-stage svg { height: 520px; }
}

@media (max-width: 1040px) {
  .workspace { grid-template-columns: 1fr; }
  .result-stack { position: static; }
  .library-grid { grid-template-columns: repeat(2, 1fr); }
  .hero { grid-template-columns: 1fr; }
  .hero-radar-card { max-width: 680px; }
}
@media (max-width: 780px) {
  .header-inner { min-height: 60px; }
  .main-nav { position: fixed; inset: 60px 0 auto; display: none; padding: 10px 16px 16px; background: var(--midnight); border-top: 1px solid rgba(255,255,255,.08); }
  .main-nav.open { display: grid; }
  .main-nav a { padding: 10px 0; }
  .menu-toggle { display: inline-flex; border: 1px solid rgba(255,255,255,.25); color: white; background: transparent; padding: 8px 10px; }
  .page { width: min(calc(100% - 22px), var(--max)); padding-top: 20px; }
  .hero { min-height: auto; padding-top: 28px; }
  .section-heading, .form-grid, .content-grid { grid-template-columns: 1fr; }
  .feature-grid, .library-grid, .stat-grid { grid-template-columns: 1fr; }
  .page-head { align-items: start; flex-direction: column; }
  .criterion-top { grid-template-columns: 1fr 100px 36px; }
  .score-line { grid-template-columns: minmax(80px, 1fr) minmax(100px, 1.6fr) 38px; }
  .radar-stage, .radar-stage svg { min-height: 350px; height: 350px; }
}
@media (max-width: 520px) {
  .brand-copy span { display: none; }
  .panel { padding: 15px; }
  .hero h1 { font-size: 3.2rem; }
  .action-row .button { width: 100%; }
  .option-row { grid-template-columns: 30px 1fr 36px; }
  .criterion-top { grid-template-columns: 1fr 36px; }
  .criterion-top .weight-wrap { grid-column: 1 / -1; grid-row: 2; }
  .score-line { grid-template-columns: 1fr 42px; }
  .score-line input[type="range"] { grid-column: 1 / -1; grid-row: 2; }
}
@media print {
  .panel.dark { background: var(--midnight) !important; color: white !important; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
}

/* v002 market readiness */
.button.small { min-height: 40px; }
.button.icon { width: 42px; min-height: 42px; }
.criterion-top { grid-template-columns: 1fr 118px 42px; }
.option-row { grid-template-columns: 34px 1fr 42px; }
.print-cover h1 { margin: 6px 0 4px; color: var(--midnight); font-size: 2.6rem; letter-spacing: -.05em; }
.print-cover > p { color: var(--muted); margin: 0 0 18px; }
.print-summary { display: grid; grid-template-columns: repeat(4,1fr); gap: 8px; margin: 14px 0 18px; }
.print-summary > div { border: 1px solid var(--line); padding: 9px; }
.print-summary strong, .print-summary span { display: block; }
.print-summary strong { font-size: .68rem; text-transform: uppercase; letter-spacing: .06em; color: var(--muted); }
.print-summary span { margin-top: 3px; font-size: .82rem; }
.print-table { width: 100%; border-collapse: collapse; font-size: .76rem; margin: 8px 0 20px; }
.print-table th, .print-table td { border: 1px solid var(--line); padding: 6px 7px; text-align: center; vertical-align: top; }
.print-table th:first-child, .print-table td:first-child { text-align: left; width: 34%; }
.print-table th { background: var(--surface-2); color: var(--midnight); }
@media (max-width: 520px) {
  .button.small { min-height: 44px; }
  .button.icon { width: 44px; min-height: 44px; }
  .criterion-top { grid-template-columns: 1fr 44px; }
  .option-row { grid-template-columns: 34px 1fr 44px; }
}
@media print {
  .print-summary { grid-template-columns: repeat(2,1fr); }
  .print-table { font-size: 9pt; }
  .print-table th, .print-table td { padding: 4pt; }
  .print-cover { break-after: auto; }
}


/* v003 LightTools master palette alignment */
.feature-card, .panel, .tool-card, .radar-card, .stat, .prose, .check-row {
  box-shadow: none;
}
.hero-radar-card { box-shadow: 0 18px 42px rgba(7,16,24,.12); }
.button { box-shadow: none; }
.panel.dark { border-color: rgba(255,255,255,.10); }
.step-label { background: var(--mint); color: var(--ink); font-weight: 850; }
.recommendation { background: rgba(46,230,198,.08); }
.score-value { background: var(--fog); }
@media print {
  .recommendation { background: #f7f8f8 !important; }
}


/* v004 - exact LightReservation V105 master visual language */
.site-header{background:#fff;color:var(--ink);border-bottom:1px solid var(--line);backdrop-filter:none}
.header-inner{min-height:72px}
.brand-radar{border-color:var(--mint);background:var(--mid)}
.brand-copy strong{font-weight:1000;letter-spacing:-.05em}
.brand-copy span{color:var(--muted);font-weight:800;letter-spacing:.14em}
.main-nav a{color:var(--ink);text-transform:uppercase;letter-spacing:.14em;font-size:11px;font-weight:900;border-bottom:2px solid transparent}
.main-nav a:hover,.main-nav a.active{color:var(--ink);border-bottom-color:var(--mint)}
.menu-toggle{border:1px solid var(--line);color:var(--ink);background:#fff;text-transform:uppercase;letter-spacing:.12em;font-size:11px;font-weight:900}
.eyebrow{color:var(--mint);font-size:12px;text-transform:uppercase;letter-spacing:.22em;font-weight:1000}
.hero h1,.page-head h1,.section-heading h2{color:var(--ink);font-weight:1000}
.hero h1 span{color:var(--mint);text-shadow:0 12px 50px rgba(46,230,198,.25)}
.button{border-radius:0;min-height:48px;border:1px solid var(--line);background:transparent;color:var(--ink);box-shadow:none;text-transform:uppercase;letter-spacing:.11em;font-size:11px;font-weight:1000;padding:0 16px}
.button:hover{border-color:var(--mint);transform:none}
.button.primary,.button.mint{min-height:54px;border:0;background:linear-gradient(90deg,#9af3e5,var(--mint));color:var(--ink);letter-spacing:.14em;padding:0 22px}
.button.ghost{background:transparent;border-color:var(--line)}
.button.danger{color:var(--danger);border-color:rgba(255,90,90,.42)}
.button.small{min-height:38px;padding:0 12px;font-size:10px}
.button.icon{width:42px;min-height:42px;padding:0;font-size:18px}
.panel,.feature-card,.tool-card,.radar-card,.stat,.prose,.check-row{background:#fff;border:1px solid var(--line);box-shadow:none}
.panel.dark{background:var(--mid);color:#fff;border-color:var(--panelLine)}
.input,.select,.textarea{border-radius:0;background:#fff;border:1px solid var(--line);color:var(--ink)}
.input:focus,.select:focus,.textarea:focus{border-color:var(--mint);box-shadow:0 0 0 3px rgba(46,230,198,.08)}
.field label{color:var(--ink);text-transform:uppercase;letter-spacing:.12em;font-size:10px;font-weight:900}
.segmented{background:var(--mist);border-color:var(--line)}
.segmented button.active{background:var(--mid);color:#fff}
.criterion{background:var(--fog);border-color:var(--line)}
.score-value{background:#fff}
.option-index{background:var(--mid);color:#fff;border-left:5px solid var(--option-color);font-weight:1000}
.score-line label{display:flex;align-items:center;gap:7px;color:var(--ink)!important}
.option-swatch{display:inline-block;width:16px;height:3px;background:var(--option-color);border-top:0 solid var(--option-color);flex:0 0 auto}
.option-swatch[style*="dashed"]{background:repeating-linear-gradient(90deg,var(--option-color) 0 5px,transparent 5px 8px)}
.legend-swatch.dashed{height:0;background:transparent;border-top:3px dashed var(--legend-color)}
.rank-number{color:var(--mint)}
.recommendation{background:var(--fog);border-left:4px solid var(--mint)}
.site-footer{background:var(--mid);color:rgba(247,248,248,.76)}
.toast.warn,.check-mark.warn{border-left-color:var(--danger);background-color:var(--danger)}
.modal{background:rgba(7,16,24,.72)}
.modal-card{border-radius:0;box-shadow:none}
@media(max-width:780px){.main-nav{background:#fff;border-top:1px solid var(--line)}.main-nav a{color:var(--ink)}}

/* dedicated one-page institutional PDF report - A4 portrait */
.report-body{margin:0;background:var(--mist);color:var(--ink)}
.report-toolbar{width:min(820px,calc(100% - 32px));margin:18px auto;display:flex;justify-content:flex-end;gap:8px}
.report-sheet{width:min(820px,calc(100% - 32px));aspect-ratio:210/297;margin:0 auto 24px;background:var(--fog);border:1px solid var(--line);display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;overflow:hidden}
.report-header{display:grid;grid-template-columns:minmax(0,1fr) 145px;gap:18px;padding:18px 22px 14px;background:#fff;border-bottom:1px solid var(--line);align-items:end}
.report-header>div:first-child{min-width:0}
.report-header h1{margin:5px 0 4px;font-size:clamp(28px,4.8vw,44px);line-height:.92;letter-spacing:-.065em;font-weight:1000;color:var(--ink);overflow-wrap:anywhere}
.report-header p{margin:0;color:var(--muted);font-size:10px}
.report-brand{width:145px;box-sizing:border-box;justify-self:end;text-align:right;border-left:4px solid var(--mint);padding-left:12px}
.report-brand span{display:block;color:var(--muted);font-size:8px;letter-spacing:.2em;font-weight:1000}
.report-brand strong{display:block;margin-top:5px;font-size:18px;line-height:.88;letter-spacing:-.05em;text-transform:lowercase}
.report-main{display:grid;grid-template-rows:minmax(0,1.48fr) minmax(0,.72fr);min-height:0}
.report-chart-panel{background:var(--mid);color:#fff;padding:12px 18px 9px;display:grid;grid-template-rows:auto minmax(0,1fr) auto;min-height:0}
.report-section-label,.report-mini-label{color:var(--mint);text-transform:uppercase;letter-spacing:.17em;font-size:8px;font-weight:1000}
.report-chart-rule{color:rgba(247,248,248,.68);letter-spacing:.04em;text-transform:none;font-weight:750;margin-left:8px}
.report-radar{min-height:0;display:grid;place-items:center;overflow:hidden}
.report-radar svg{width:100%;height:100%;max-height:420px;overflow:visible}
.report-legend{margin-top:1px;gap:4px 10px}
.report-legend .legend-item{font-size:8px;color:rgba(247,248,248,.82)}
.report-result-panel{background:#fff;border-top:1px solid var(--line);padding:11px 18px 10px;display:grid;grid-template-columns:1fr 1fr 1fr;grid-template-areas:"label label label" "score decision ranking" "reason next ranking";gap:7px 14px;min-height:0}
.report-result-panel>.report-section-label{grid-area:label}
.report-score-block{grid-area:score;border-bottom:0;border-right:1px solid var(--line);padding:0 12px 0 0}
.report-score-block span,.report-decision-block span,.report-copy-block span,.report-next span{display:block;color:var(--muted);text-transform:uppercase;letter-spacing:.12em;font-size:7px;font-weight:1000}
.report-score-block strong{display:block;margin-top:3px;font-size:18px;line-height:.95;letter-spacing:-.045em}
.report-score-block b{display:block;margin-top:3px;color:var(--mint);font-size:15px}
.report-decision-block{grid-area:decision;background:var(--fog);border-left:4px solid var(--mint);padding:7px 8px}
.report-decision-block strong{display:block;margin-top:3px;font-size:14px;line-height:1}
.report-copy-block{grid-area:reason;border-top:1px solid var(--line);padding-top:6px}
.report-copy-block p{margin:3px 0 0;font-size:8px;line-height:1.3;color:var(--ink);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.report-next{grid-area:next;border-top:1px solid var(--line);border-bottom:0;padding:6px 0 0}
.report-next strong{display:block;margin-top:3px;font-size:9px;line-height:1.2;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.report-ranking-wrap{grid-area:ranking;min-height:0;overflow:hidden;border-left:1px solid var(--line);padding-left:12px}
.report-ranking{display:grid;margin-top:3px}
.report-ranking>div{display:grid;grid-template-columns:16px 1fr auto;gap:5px;align-items:center;border-bottom:1px solid var(--line);padding:3px 0;font-size:8px}
.report-ranking>div span{color:var(--mint);font-weight:1000}.report-ranking>div strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.report-ranking>div b{font-variant-numeric:tabular-nums}
.report-audit{padding:8px 18px 7px;background:#fff;border-top:1px solid var(--line)}
.report-audit-head{display:flex;justify-content:space-between;gap:12px;align-items:end;margin-bottom:5px}
.report-audit-head strong{display:block;font-size:9px}.report-method{max-width:64%;text-align:right;color:var(--muted);font-size:6.8px;line-height:1.2}
.report-criteria{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));column-gap:9px;row-gap:2px}
.report-criterion{display:grid;grid-template-columns:14px minmax(0,1fr) 44px;gap:4px;align-items:center;min-width:0;font-size:7px;line-height:1.1}
.report-criterion span{color:var(--muted);font-variant-numeric:tabular-nums}.report-criterion strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.report-criterion b{color:var(--mint);text-align:right}
.report-footer{display:flex;justify-content:space-between;gap:14px;padding:6px 18px;background:var(--mid);color:rgba(247,248,248,.72);font-size:6.8px;letter-spacing:.04em}

@page{size:A4 portrait;margin:0}
@media print{
  html,body{width:210mm;height:297mm;margin:0!important;padding:0!important;background:var(--fog)!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .report-toolbar{display:none!important}
  .report-sheet{width:210mm!important;height:297mm!important;aspect-ratio:auto;margin:0!important;border:0!important;overflow:hidden!important;page-break-after:avoid!important;break-after:avoid-page!important}
}
@media(max-width:700px){.report-sheet{aspect-ratio:auto}.report-result-panel{grid-template-columns:1fr;grid-template-areas:"label" "score" "decision" "reason" "next" "ranking"}.report-score-block,.report-ranking-wrap{border-right:0;border-left:0;padding-left:0}.report-criteria{grid-template-columns:repeat(2,minmax(0,1fr))}.report-chart-rule{display:block;margin:3px 0 0}}

.hero-promise{margin:16px 0 0;padding:11px 0 11px 14px;border-left:5px solid var(--mint);font-size:clamp(19px,2.25vw,29px);line-height:1.05;letter-spacing:-.035em;font-weight:1000;color:var(--ink)}

/* DecisionRadar triage mode */
.segmented.three{grid-template-columns:repeat(3,1fr)}
.triage-toolbar{display:flex;align-items:center;gap:10px;margin:0 0 10px}.triage-toolbar .input{max-width:360px}.triage-toolbar span{color:var(--muted);font-size:11px;font-weight:800}
.triage-case-row{display:grid;grid-template-columns:minmax(0,1fr) auto 42px;gap:8px;align-items:stretch;border:1px solid var(--line);background:#fff;margin-bottom:7px}.triage-case-row.active{border-color:var(--mint);box-shadow:inset 4px 0 0 var(--mint)}
.triage-case-main{border:0;background:transparent;color:var(--ink);padding:9px 12px;text-align:left;display:grid;grid-template-columns:90px minmax(0,1fr) auto;gap:8px;align-items:center;cursor:pointer}.triage-case-main:hover{background:var(--fog)}.triage-case-main strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.triage-case-main small,.triage-case-ref{color:var(--muted);font-size:10px}.triage-case-ref{font-variant-numeric:tabular-nums;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.route-chip{display:inline-flex;align-items:center;justify-content:center;min-width:92px;padding:0 10px;text-transform:uppercase;letter-spacing:.09em;font-size:9px;font-weight:1000;border:1px solid var(--line);background:var(--mist);color:var(--ink)}.route-chip.clear{background:var(--mint);border-color:var(--mint)}.route-chip.review{background:var(--mist)}.route-chip.blocker{background:var(--danger);border-color:var(--danger);color:#fff}
.empty-state.compact{padding:20px}.empty-state.compact p{margin:4px 0 0}
.triage-active-card{border:1px solid var(--line);background:#fff;padding:12px;display:grid;grid-template-columns:minmax(0,1fr) 210px;gap:14px;align-items:end}.triage-active-route{border-left:4px solid var(--mint);padding:8px 0 8px 12px}.triage-active-route span,.triage-active-route small{display:block;color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.1em;font-weight:800}.triage-active-route strong{display:block;margin:4px 0;font-size:18px;line-height:1}.triage-active-route strong.blocker{color:var(--danger)}
.criterion-top.triage{grid-template-columns:minmax(0,1fr) 38px}
.triage-checks{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);padding-top:1px}.triage-checks button{min-height:42px;border:0;background:#fff;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:9px;font-weight:1000;cursor:pointer}.triage-checks button:hover{background:var(--fog)}.triage-checks button.active[data-check="unset"]{background:var(--mid);color:#fff}.triage-checks button.active[data-check="met"]{background:var(--mint);color:var(--ink)}.triage-checks button.active[data-check="review"]{background:var(--mist);color:var(--ink);box-shadow:inset 0 0 0 2px var(--muted)}.triage-checks button.active[data-check="blocker"]{background:var(--danger);color:#fff}
.triage-summary{width:100%;min-height:390px;display:grid;align-content:center;gap:18px;padding:18px}.triage-summary-kicker{color:var(--mint);text-transform:uppercase;letter-spacing:.16em;font-size:10px;font-weight:1000}.triage-metrics{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--panelLine);border-bottom:1px solid var(--panelLine)}.triage-metrics div{padding:18px 10px;border-right:1px solid var(--panelLine)}.triage-metrics div:last-child{border-right:0}.triage-metrics strong{display:block;color:#fff;font-size:38px;letter-spacing:-.06em;line-height:1}.triage-metrics span{display:block;margin-top:6px;color:rgba(247,248,248,.66);font-size:10px;text-transform:uppercase;letter-spacing:.12em;font-weight:900}.triage-selected{display:grid;grid-template-columns:1fr auto;gap:6px 12px;align-items:center}.triage-selected>span{grid-column:1/-1;color:rgba(247,248,248,.62);font-size:9px;text-transform:uppercase;letter-spacing:.12em;font-weight:900}.triage-selected>strong{font-size:20px;letter-spacing:-.03em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.triage-summary p{margin:0;color:rgba(247,248,248,.62);font-size:11px;max-width:540px}
.paste-cases-input{min-height:260px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px}
@media(max-width:780px){.triage-active-card{grid-template-columns:1fr}.triage-case-main{grid-template-columns:1fr}.triage-case-ref{display:none}.triage-checks{grid-template-columns:repeat(2,1fr)}.triage-toolbar{align-items:stretch;flex-direction:column}.triage-toolbar .input{max-width:none}.triage-metrics strong{font-size:30px}}
.report-triage-visual{width:100%;height:100%;display:grid;grid-template-rows:auto 1fr auto;gap:14px;align-content:center;padding:10px 4px}.report-triage-case{border-left:4px solid var(--mint);padding:10px 12px;background:var(--panel)}.report-triage-case span,.report-triage-rule span{display:block;color:var(--mint);text-transform:uppercase;letter-spacing:.16em;font-size:8px;font-weight:1000}.report-triage-case strong{display:block;margin-top:4px;color:#fff;font-size:24px;line-height:1;letter-spacing:-.04em}.report-triage-case small{display:block;margin-top:5px;color:rgba(247,248,248,.62);font-size:9px}.report-triage-metrics{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--panelLine);border-bottom:1px solid var(--panelLine)}.report-triage-metrics div{padding:18px 12px;border-right:1px solid var(--panelLine)}.report-triage-metrics div:last-child{border-right:0}.report-triage-metrics strong{display:block;color:#fff;font-size:40px;line-height:.9;letter-spacing:-.06em}.report-triage-metrics span{display:block;margin-top:6px;color:rgba(247,248,248,.62);text-transform:uppercase;letter-spacing:.12em;font-size:8px;font-weight:900}.report-triage-rule{padding-top:2px}.report-triage-rule strong{display:block;margin-top:5px;color:#fff;font-size:20px;line-height:1}.report-triage-rule p{margin:7px 0 0;max-width:520px;color:rgba(247,248,248,.68);font-size:9px;line-height:1.35}

/* v008 base: user-defined triage + session PDF intake */
.triage-rule-fields{display:grid;gap:9px;min-width:0}
.triage-rule-fields .field{gap:5px}
.criterion-top.triage{grid-template-columns:minmax(0,1fr) 42px;align-items:start}
.criterion-rule{min-height:72px;resize:vertical}
.triage-evidence-field{margin-top:10px;padding-top:10px;border-top:1px solid var(--line)}
.triage-evidence{min-height:64px;resize:vertical}
.triage-rules-empty{margin-top:8px}
.pdf-intake-status{padding:10px 12px;background:var(--fog);border:1px solid var(--line);color:var(--muted);font-size:11px;font-weight:800}
.pdf-intake-list{display:grid;gap:6px;margin-top:8px}
.pdf-intake-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:9px 10px;border:1px solid var(--line);background:#fff}
.pdf-intake-item>div:first-child{min-width:0}.pdf-intake-item strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.pdf-intake-item span{display:block;margin-top:2px;color:var(--muted);font-size:9px}
.assist-digest{margin-top:12px;border:1px solid var(--line);background:var(--fog)}
.assist-digest-head{display:flex;justify-content:space-between;gap:12px;padding:11px 12px;background:var(--mid);color:#fff}.assist-digest-head span,.assist-suggestion span{display:block;color:var(--mint);text-transform:uppercase;letter-spacing:.12em;font-size:8px;font-weight:1000}.assist-digest-head strong{display:block;margin-top:3px;font-size:12px}.assist-digest-head small{color:var(--mist);font-size:9px;text-align:right}
.assist-suggestion{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:11px 12px;border-top:1px solid var(--line);background:#fff}.assist-suggestion strong{display:block;margin-top:3px}.assist-suggestion p{margin:4px 0 0;color:var(--muted);font-size:10px;line-height:1.35}.assist-suggestion small{color:var(--muted)}
@media(max-width:780px){.pdf-intake-item,.assist-suggestion{grid-template-columns:1fr}.assist-digest-head{display:block}.assist-digest-head small{display:block;margin-top:6px;text-align:left}}

/* v009 cover-first triage */
.cover-intake-grid{display:grid;grid-template-columns:minmax(240px,.72fr) minmax(0,1.28fr);gap:14px;align-items:start}
.cover-preview{min-height:250px;border:1px solid var(--line);background:var(--fog);display:grid;place-items:center;overflow:hidden}
.cover-preview img{display:block;width:100%;height:100%;max-height:360px;object-fit:contain;background:#fff}
.cover-placeholder{padding:28px;text-align:center;color:var(--muted)}.cover-placeholder strong{display:block;color:var(--ink);font-size:16px}.cover-placeholder span{display:block;margin-top:6px;font-size:11px}
.cover-intake-side{display:grid;gap:10px}.cover-intake-status{padding:11px 12px;border:1px solid var(--line);background:#fff;color:var(--muted);font-size:11px;font-weight:800}.cover-intake-status.blocker{border-color:var(--danger);color:var(--danger)}.cover-intake-status.ready{border-color:var(--mint);color:var(--ink)}
.cover-actions{margin-top:2px}.criterion-source-row{display:grid;grid-template-columns:minmax(0,1fr) 180px;gap:9px}.criterion-source-row .field{min-width:0}
.assist-suggestion.blocker-suggestion{box-shadow:inset 4px 0 0 var(--danger)}
.assist-digest-actions{padding:10px 12px;border-top:1px solid var(--line);background:var(--fog);display:flex;gap:8px;align-items:center;justify-content:flex-end;flex-wrap:wrap}
@media(max-width:780px){.cover-intake-grid{grid-template-columns:1fr}.cover-preview{min-height:210px}.criterion-source-row{grid-template-columns:1fr}.cover-actions .button{flex:1}}


/* v011 institutional intake surfaces */
.sharepoint-intake-grid{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr);gap:12px;align-items:stretch}
.sharepoint-status,.sharepoint-case-card{border:1px solid var(--line);background:var(--fog);padding:12px;min-height:74px}
.sharepoint-status strong,.sharepoint-case-card strong{display:block;color:var(--ink);font-size:12px}
.sharepoint-status span,.sharepoint-case-card span,.sharepoint-case-card small{display:block;color:var(--muted);font-size:10px;line-height:1.45;margin-top:4px}
.sharepoint-status.connected{border-color:var(--mint);background:#fff}
.sharepoint-source-line{display:flex;flex-wrap:wrap;gap:7px;align-items:center;margin-top:8px}
.sharepoint-badge{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:20px;padding:0 7px;border:1px solid var(--mint);color:var(--ink);font-size:8px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;background:#fff}
.sharepoint-meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.sharepoint-meta span{margin:0;padding:4px 6px;border:1px solid var(--line);background:#fff;font-size:8px;color:var(--muted)}
.triage-case-ref .sharepoint-badge{margin-left:5px;vertical-align:middle}
@media(max-width:780px){.sharepoint-intake-grid{grid-template-columns:1fr}.sharepoint-intake-grid .button{width:100%}}

/* v015 · advanced calculation: human-facing, optional, no visual drift */
.calculation-advanced{margin-top:14px;border-top:1px solid var(--line);padding-top:12px}
.calculation-advanced[hidden]{display:none!important}
.calculation-advanced>summary{list-style:none;display:inline-flex;align-items:center;gap:8px;cursor:pointer;color:var(--ink);font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.12em;user-select:none}
.calculation-advanced>summary::-webkit-details-marker{display:none}
.calculation-advanced>summary::after{content:'+';display:inline-grid;place-items:center;width:18px;height:18px;border:1px solid var(--line-dark);font-size:13px;line-height:1;font-weight:700}
.calculation-advanced[open]>summary::after{content:'−'}
.calculation-advanced-body{margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}
.calculation-methods{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--line);margin-top:10px}
.calculation-methods button{position:relative;z-index:1;pointer-events:auto;touch-action:manipulation;min-height:54px;border:0;border-right:1px solid var(--line);background:#fff;color:var(--ink);padding:10px 12px;text-align:left;cursor:pointer}
.calculation-methods button:last-child{border-right:0}
.calculation-methods button strong{display:block;font-size:12px;letter-spacing:-.01em}
.calculation-methods button span{display:block;margin-top:3px;color:var(--muted);font-size:8px;text-transform:uppercase;letter-spacing:.12em;font-weight:900}
.calculation-methods button:hover,.calculation-methods button:focus-visible{background:var(--fog);outline:none;box-shadow:inset 0 -2px 0 var(--mint)}
.calculation-methods button.active{background:var(--mid);color:#fff;box-shadow:inset 0 -3px 0 var(--mint)}
.calculation-methods button.active span{color:var(--mint)}
.calculation-methods button:disabled{cursor:not-allowed;opacity:.34;background:var(--mist);color:var(--muted);box-shadow:none}
.calculation-method-note{margin:10px 0 0;padding-left:12px;border-left:3px solid var(--mint);color:var(--muted);font-size:11px;line-height:1.45;max-width:760px}
@media(max-width:820px){.calculation-methods{grid-template-columns:1fr 1fr}.calculation-methods button:nth-child(2){border-right:0}.calculation-methods button:nth-child(-n+2){border-bottom:1px solid var(--line)}}
@media(max-width:520px){.calculation-methods{grid-template-columns:1fr}.calculation-methods button{border-right:0;border-bottom:1px solid var(--line)}.calculation-methods button:last-child{border-bottom:0}}

/* v017 — canonical DecisionRadar app/search mark */
.brand-radar.brand-icon{
  width:34px;
  height:34px;
  border:0;
  background:transparent;
  overflow:hidden;
}
.brand-radar.brand-icon img{
  display:block;
  width:34px;
  height:34px;
  object-fit:cover;
}


/* v018 — curated access gate */
html.dr-access-pending body > :not(.dr-access-gate){visibility:hidden!important}
body.dr-access-locked{overflow:hidden}
.dr-access-gate{
  position:fixed;inset:0;z-index:10000;display:grid;place-items:center;
  padding:22px;background:rgba(7,16,24,.92);backdrop-filter:blur(16px);
  visibility:visible!important;
}
.dr-access-card{
  width:min(100%,560px);background:var(--mid);color:#fff;border:1px solid var(--panelLine);
  box-shadow:0 30px 90px rgba(0,0,0,.42);padding:34px;position:relative;overflow:hidden;
}
.dr-access-card::before{content:'';position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--mint)}
.dr-access-mark{width:46px;height:46px;margin-bottom:24px}
.dr-access-mark img{display:block;width:46px;height:46px;object-fit:cover}
.dr-access-eyebrow{color:var(--mint);font-size:10px;font-weight:1000;letter-spacing:.16em;text-transform:uppercase}
.dr-access-card h1{margin:8px 0 8px;font-size:clamp(30px,6vw,48px);line-height:.98;letter-spacing:-.055em}
.dr-access-card>p{margin:0;max-width:430px;color:rgba(247,248,248,.68);font-size:13px}
.dr-access-form{margin-top:28px}
.dr-access-form label{display:block;margin-bottom:7px;color:rgba(247,248,248,.68);font-size:9px;font-weight:900;letter-spacing:.13em;text-transform:uppercase}
.dr-access-row{display:grid;grid-template-columns:minmax(0,1fr) auto;border:1px solid rgba(247,248,248,.2);background:#fff}
.dr-access-row input{min-width:0;border:0;outline:0;padding:14px 15px;background:#fff;color:var(--ink);font-size:15px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.dr-access-row input::placeholder{text-transform:none;letter-spacing:0;color:#687078;font-weight:600}
.dr-access-row button{border:0;border-left:1px solid rgba(15,23,32,.14);padding:0 18px;background:var(--mint);color:var(--ink);font-size:11px;font-weight:1000;cursor:pointer;white-space:nowrap}
.dr-access-row button:hover,.dr-access-row button:focus-visible{background:#fff;outline:none}
.dr-access-row button:disabled{cursor:progress;opacity:.7}
.dr-access-error{min-height:20px;padding-top:7px;color:#ff5a5a;font-size:10px;font-weight:800}
.dr-guest-access{margin-top:5px}
.dr-guest-button{width:100%;min-height:42px;border:1px solid rgba(247,248,248,.22);background:transparent;color:var(--fog);font-size:10px;font-weight:900;letter-spacing:.02em;cursor:pointer}
.dr-guest-button:hover,.dr-guest-button:focus-visible{border-color:var(--mint);color:var(--mint);outline:none}
.dr-guest-code{margin-top:9px;padding:12px 14px;border:1px solid rgba(46,230,198,.4);background:rgba(46,230,198,.08);text-align:center}
.dr-guest-code[hidden]{display:none}
.dr-guest-code span{display:block;color:rgba(247,248,248,.58);font-size:9px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.dr-guest-code strong{display:block;margin-top:4px;color:var(--mint);font-size:18px;letter-spacing:.09em}
.dr-guest-code.shown{animation:dr-guest-reveal .18s ease-out}
@keyframes dr-guest-reveal{from{opacity:.4;transform:translateY(-2px)}to{opacity:1;transform:translateY(0)}}
.dr-access-foot{display:flex;justify-content:space-between;gap:16px;margin-top:20px;padding-top:15px;border-top:1px solid var(--panelLine);color:rgba(247,248,248,.46);font-size:9px;line-height:1.45}
.dr-access-foot a{color:rgba(247,248,248,.72);text-decoration:none}.dr-access-foot a:hover{text-decoration:underline}
.dr-access-card.invalid{animation:dr-access-shake .24s linear 1}
@keyframes dr-access-shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-6px)}75%{transform:translateX(6px)}}
@media(max-width:600px){.dr-access-gate{padding:12px}.dr-access-card{padding:26px 22px}.dr-access-row{grid-template-columns:1fr}.dr-access-row button{min-height:48px;border-left:0;border-top:1px solid rgba(15,23,32,.14)}.dr-access-foot{display:block}.dr-access-foot span{display:block;margin-top:5px}}
\n\n/* v019 — hidden operator Access Monitor */\n.access-monitor-shell{max-width:980px;margin:0 auto;padding:34px 22px 56px}\n.access-monitor-head{display:flex;justify-content:space-between;gap:24px;align-items:flex-end;margin-bottom:24px}\n.access-monitor-head h1{margin:5px 0 0;font-size:clamp(34px,6vw,58px);letter-spacing:-.055em;line-height:.96}\n.access-monitor-head p{margin:8px 0 0;max-width:620px;color:var(--muted);font-size:13px}\n.access-monitor-status{display:inline-flex;align-items:center;gap:8px;font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}\n.access-monitor-dot{width:8px;height:8px;border-radius:50%;background:var(--muted)}.access-monitor-status.ok .access-monitor-dot{background:var(--mint)}.access-monitor-status.warn .access-monitor-dot{background:#ff5a5a}\n.access-monitor-login,.access-monitor-panel{border:1px solid rgba(15,23,32,.12);background:#fff;box-shadow:0 18px 50px rgba(15,23,32,.08)}\n.access-monitor-login{max-width:560px;padding:24px}.access-monitor-login label{display:block;margin-bottom:7px;font-size:9px;font-weight:900;letter-spacing:.13em;text-transform:uppercase;color:var(--muted)}\n.access-monitor-login-row{display:grid;grid-template-columns:minmax(0,1fr) auto;border:1px solid rgba(15,23,32,.16)}\n.access-monitor-login input{min-width:0;border:0;outline:0;padding:13px 14px;font-size:14px}.access-monitor-login button{border:0;border-left:1px solid rgba(15,23,32,.14);padding:0 17px;background:var(--mid);color:#fff;font-size:10px;font-weight:900;cursor:pointer}\n.access-monitor-message{min-height:20px;padding-top:8px;font-size:10px;color:var(--muted)}\n.access-monitor-panel[hidden],.access-monitor-login[hidden]{display:none!important}\n.access-monitor-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-bottom:1px solid rgba(15,23,32,.10)}\n.access-monitor-card{padding:20px 22px;border-right:1px solid rgba(15,23,32,.10)}.access-monitor-card:last-child{border-right:0}\n.access-monitor-card span{display:block;color:var(--muted);font-size:9px;font-weight:900;letter-spacing:.11em;text-transform:uppercase}.access-monitor-card strong{display:block;margin-top:6px;font-size:30px;letter-spacing:-.035em}\n.access-monitor-table{width:100%;border-collapse:collapse}.access-monitor-table th,.access-monitor-table td{padding:15px 18px;text-align:left;border-bottom:1px solid rgba(15,23,32,.08);font-size:12px}.access-monitor-table th{font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.access-monitor-table td:nth-child(2),.access-monitor-table td:nth-child(3),.access-monitor-table th:nth-child(2),.access-monitor-table th:nth-child(3){text-align:right}.access-monitor-table tbody tr:last-child td{border-bottom:0}.access-monitor-table .total-row td{font-weight:900;background:rgba(46,230,198,.08)}\n.access-monitor-note{padding:16px 18px;border-top:1px solid rgba(15,23,32,.08);font-size:10px;line-height:1.55;color:var(--muted)}\n@media(max-width:700px){.access-monitor-head{display:block}.access-monitor-status{margin-top:14px}.access-monitor-cards{grid-template-columns:1fr}.access-monitor-card{border-right:0;border-bottom:1px solid rgba(15,23,32,.10)}.access-monitor-card:last-child{border-bottom:0}.access-monitor-table th,.access-monitor-table td{padding:12px 10px;font-size:10px}}\n
/* v022 — in-product feedback intake + narrow operator feedback inbox */
.feedback-nav-button{
  appearance:none;border:1px solid rgba(15,23,32,.16);background:transparent;color:var(--ink);
  min-height:34px;padding:0 12px;font:inherit;font-size:10px;font-weight:900;letter-spacing:.04em;
  text-transform:uppercase;cursor:pointer
}
.feedback-nav-button:hover,.feedback-nav-button:focus-visible{border-color:var(--mint);background:rgba(46,230,198,.08);outline:none}
.dr-feedback-modal[hidden]{display:none!important}
.dr-feedback-modal{position:fixed;inset:0;z-index:9500;display:grid;place-items:center;padding:20px;background:rgba(7,16,24,.78);backdrop-filter:blur(12px)}
.dr-feedback-card{width:min(100%,620px);max-height:min(92vh,760px);overflow:auto;background:#fff;color:var(--ink);border:1px solid rgba(15,23,32,.12);box-shadow:0 30px 90px rgba(0,0,0,.34);padding:28px;position:relative}
.dr-feedback-card::before{content:'';position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--mint)}
.dr-feedback-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}
.dr-feedback-head h2{margin:4px 0 6px;font-size:30px;line-height:1;letter-spacing:-.045em}
.dr-feedback-head p{margin:0;max-width:470px;color:var(--muted);font-size:12px;line-height:1.5}
.dr-feedback-close{width:36px;height:36px;border:1px solid var(--line);background:#fff;color:var(--ink);font-size:21px;line-height:1;cursor:pointer}
.dr-feedback-close:hover,.dr-feedback-close:focus-visible{border-color:var(--mint);outline:none}
.dr-feedback-form{display:grid;gap:13px;margin-top:22px}
.dr-feedback-field label{display:block;margin-bottom:6px;color:var(--muted);font-size:9px;font-weight:900;letter-spacing:.11em;text-transform:uppercase}
.dr-feedback-field input,.dr-feedback-field textarea{width:100%;border:1px solid rgba(15,23,32,.16);background:#fff;color:var(--ink);padding:12px 13px;font:inherit;font-size:13px;outline:none;border-radius:0}
.dr-feedback-field input:focus,.dr-feedback-field textarea:focus{border-color:var(--mint);box-shadow:0 0 0 2px rgba(46,230,198,.12)}
.dr-feedback-field textarea{min-height:150px;resize:vertical;line-height:1.5}
.dr-feedback-actions{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:2px}
.dr-feedback-privacy{font-size:9px;line-height:1.45;color:var(--muted);max-width:360px}.dr-feedback-privacy a{color:inherit}
.dr-feedback-submit{border:0;background:var(--mid);color:#fff;padding:13px 18px;font-size:10px;font-weight:900;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;white-space:nowrap}
.dr-feedback-submit:hover,.dr-feedback-submit:focus-visible{background:var(--mint);color:var(--ink);outline:none}.dr-feedback-submit:disabled{opacity:.55;cursor:progress}
.dr-feedback-message{min-height:18px;font-size:10px;font-weight:800;color:var(--muted)}.dr-feedback-message.error{color:#b42318}.dr-feedback-message.success{color:#087f6d}
.dr-feedback-hp{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
body.dr-feedback-open{overflow:hidden}

.access-feedback-section{border-top:1px solid rgba(15,23,32,.12)}
.access-feedback-head{display:flex;justify-content:space-between;gap:16px;align-items:end;padding:22px 18px 12px}
.access-feedback-head h2{margin:3px 0 0;font-size:22px;letter-spacing:-.03em}.access-feedback-head p{margin:4px 0 0;color:var(--muted);font-size:10px}
.access-feedback-summary{font-size:10px;font-weight:900;color:var(--muted);text-align:right}
.access-feedback-list{border-top:1px solid rgba(15,23,32,.08)}
.access-feedback-empty{padding:24px 18px;color:var(--muted);font-size:12px}
.access-feedback-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;padding:18px;border-bottom:1px solid rgba(15,23,32,.08);background:#fff}
.access-feedback-item.processed{background:rgba(15,23,32,.025);opacity:.72}
.access-feedback-meta{display:flex;flex-wrap:wrap;gap:6px 12px;margin-bottom:8px;color:var(--muted);font-size:9px;line-height:1.35}
.access-feedback-meta strong{color:var(--ink);font-size:11px}.access-feedback-meta a{color:var(--ink);text-decoration:underline;text-underline-offset:2px}
.access-feedback-text{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;line-height:1.55;color:var(--ink)}
.access-feedback-process{display:flex;align-items:flex-start;gap:7px;font-size:10px;font-weight:900;white-space:nowrap;cursor:pointer}.access-feedback-process input{margin-top:1px;accent-color:#0f1720}
.access-feedback-processing{color:var(--muted);font-size:9px;margin-top:6px;text-align:right;min-height:13px}
@media(max-width:700px){.feedback-nav-button{width:100%;min-height:44px;text-align:left;padding-left:0;border-width:0 0 1px}.dr-feedback-modal{padding:10px}.dr-feedback-card{padding:24px 20px}.dr-feedback-actions{display:block}.dr-feedback-submit{width:100%;margin-top:12px;min-height:46px}.access-feedback-item{grid-template-columns:1fr}.access-feedback-process{margin-top:2px}.access-feedback-processing{text-align:left}}

/* v026 bilingual language switch */
.dr-language-switch{display:inline-flex;align-items:center;gap:5px;padding:4px 7px;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:rgba(15,23,32,.74);font-size:11px;font-weight:900;letter-spacing:.08em;line-height:1;white-space:nowrap;z-index:4}
.dr-language-switch button{appearance:none;border:0;background:transparent;color:#87919b;padding:4px 3px;border-radius:999px;font:inherit;letter-spacing:inherit;cursor:pointer}
.dr-language-switch button[aria-pressed="true"]{color:#2ee6c6}
.dr-language-switch button:focus-visible{outline:2px solid #2ee6c6;outline-offset:2px}
.header-inner>.dr-language-switch{margin-left:auto}
.header-inner .main-nav+.dr-language-switch{margin-left:10px}
.dr-access-card>.dr-language-switch{position:absolute;top:18px;right:18px}
.report-body> .dr-language-switch{position:fixed;right:18px;top:18px}
@media(max-width:760px){.header-inner>.dr-language-switch{order:2;margin-left:auto}.header-inner .menu-toggle{order:3}.header-inner .main-nav{order:4}.dr-access-card>.dr-language-switch{top:12px;right:12px}.report-body>.dr-language-switch{right:10px;top:10px}}

/* Circular Impact Procurement partner shortcut + optional preset guidance */
.partner-preset-action { margin-top: 12px; }
.partner-preset-action .button { width: 100%; justify-content: center; white-space: normal; text-align: center; }
.criterion-name-wrap { min-width: 0; flex: 1 1 320px; }
.criterion-name-wrap .criterion-name { width: 100%; }
.criterion-description { margin-top: 5px; font-size: 12px; line-height: 1.35; color: var(--muted, #64748b); }
