.tmj-index{margin-top:32px;padding:24px;border:1px solid var(--line);border-radius:14px;background:var(--white);box-shadow:var(--shadow);color:var(--ink)}
.tmj-index h2{margin:0;color:var(--navy);font-size:17px}
.tmj-index header>p:last-child{margin:8px 0 24px;color:var(--muted)}
.tmj-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(240px,1fr);gap:28px;align-items:start}
.tmj-controls{min-width:0}.tmj-index fieldset{border:0;margin:0 0 24px;padding:0;min-width:0}
.tmj-index legend{width:100%;padding:0 0 10px;border-bottom:1px solid var(--line);font-weight:700;color:var(--navy)}
.tmj-index legend span{display:block;font-size:12px;font-weight:400;color:var(--muted)}
.tmj-rating{display:grid;grid-template-columns:minmax(0,1fr) 140px 26px;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}
.tmj-rating label{font-size:14px}.tmj-number{color:var(--muted)}
.tmj-rating input{width:100%;margin:0;min-height:28px;accent-color:var(--navy);cursor:pointer}
.tmj-rating output{font-variant-numeric:tabular-nums;text-align:right;font-weight:700;color:var(--navy)}
.tmj-scale{margin:5px 0;color:var(--muted);font-size:12px}
.tmj-opening label{display:block;margin-bottom:8px;font-weight:600}.tmj-opening label span{font-weight:400;color:var(--muted)}
.tmj-opening>div{display:flex;align-items:center;gap:10px}.tmj-opening input{width:130px;max-width:100%;padding:10px;border:1px solid var(--control-border);border-radius:8px;font:inherit;color:var(--ink);background:var(--white)}
.tmj-opening p{font-size:12px;color:var(--muted);margin:8px 0}.tmj-opening [aria-invalid=true]{border-color:var(--navy)}
.tmj-summary{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:20px}
.tmj-summary h3{font-size:18px;color:var(--navy);margin:12px 0 20px}
.tmj-summary [data-severity]{border-bottom:3px solid var(--teal)}
.tmj-summary [data-severity=moderate]{border-color:#b38435}.tmj-summary [data-severity=severe]{border-color:#a3483e}
.tmj-summary dl{margin:0}.tmj-summary dl>div{display:flex;justify-content:space-between;gap:12px;padding:14px 0;border-top:1px solid var(--line)}
.tmj-summary dt{font-size:14px}.tmj-summary dt small{display:block;color:var(--muted);font-size:12px}.tmj-summary dd{margin:0;font-size:24px;font-weight:700;color:var(--navy);font-variant-numeric:tabular-nums;white-space:nowrap}.tmj-summary dd small{font-size:12px;font-weight:400}
.tmj-note,.tmj-mio-result{font-size:12px;color:var(--muted)}
.tmj-summary button{margin-top:12px;padding:9px 14px;background:var(--white);border:1px solid var(--control-border);border-radius:8px;color:var(--navy);font:inherit;cursor:pointer}
.tmj-summary button:hover{background:var(--teal)}.tmj-index :is(input,button,a):focus-visible{outline:2px solid var(--navy);outline-offset:3px}
@media(max-width:800px){.tmj-layout{grid-template-columns:minmax(0,1fr)}.tmj-index{padding:18px}}
@media(max-width:480px){.tmj-rating{grid-template-columns:minmax(0,1fr) 30px;gap:6px}.tmj-rating label{grid-column:1/-1}.tmj-rating input{grid-row:2}.tmj-rating output{grid-row:2}}

.tmj-heading{display:flex;justify-content:space-between;align-items:center;gap:16px}
.tmj-heading .eyebrow{margin:0 0 6px}
.tmj-print{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:42px;height:42px;padding:10px;border:1px solid var(--control-border);border-radius:8px;background:var(--white);color:var(--navy);cursor:pointer}
.tmj-print:hover{background:var(--teal)}
@media print{
  body.tmj-printing>:not(main){display:none!important}
  body.tmj-printing main>:not(.tmj-index){display:none!important}
  body.tmj-printing main{max-width:none;margin:0;padding:0}
  body.tmj-printing .tmj-index{margin:0;padding:0;border:0;border-radius:0;box-shadow:none}
  body.tmj-printing .tmj-index :is(button,input,.tmj-opening){display:none!important}
  body.tmj-printing .tmj-layout{display:block}
  body.tmj-printing .tmj-rating{grid-template-columns:minmax(0,1fr) 30px;padding:7px 0;break-inside:avoid}
  body.tmj-printing .tmj-rating label{grid-column:1;grid-row:1}
  body.tmj-printing .tmj-rating output{grid-column:2;grid-row:1}
  body.tmj-printing .tmj-index fieldset{margin-bottom:14px}
  body.tmj-printing .tmj-summary{padding:14px;background:transparent;break-inside:avoid}
  body.tmj-printing .tmj-summary dl>div{padding:7px 0}
}
