/* NEMT Trip Feasibility Assessor — scoped styles. Everything under .nemt-assessor. */
.nemt-assessor{
  --nemt-navy:#1f3b57;--nemt-teal:#1f7a72;--nemt-accent:#c74e2c;--nemt-ink:#222;--nemt-muted:#5a6672;
  --nemt-line:#dbe4e3;--nemt-light:#eef4f3;--nemt-bg:#f4f7f7;--nemt-card:#fff;--nemt-good:#1f7a72;--nemt-bad:#c0492b;--nemt-warn:#c98a1a;
  --nemt-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  font-family:var(--nemt-sans);color:var(--nemt-ink);line-height:1.5;font-size:14px;
  background:var(--nemt-bg);border:1px solid var(--nemt-line);border-radius:12px;overflow:hidden;max-width:1180px;margin:0 auto;
}
.nemt-assessor *{box-sizing:border-box}
.nemt-hd{background:linear-gradient(135deg,#1f3b57,#245e5a);color:#fff;padding:20px 26px}
.nemt-hd .nemt-title{margin:0;font-size:22px;font-weight:800;color:#fff}
.nemt-hd .nemt-sub{margin:4px 0 0;color:#cfe1df;font-size:13px}
.nemt-priv{background:#eaf4f2;border-bottom:1px solid var(--nemt-line);color:#1f6b63;padding:8px 26px;font-size:12.5px}
.nemt-priv b{color:#154f49}
.nemt-about{background:#fbfdfd;border-bottom:1px solid var(--nemt-line);padding:12px 26px;font-size:13px;color:#33414d}
.nemt-about p{margin:0 0 6px}
.nemt-about p:last-child{margin:0}
.nemt-about b{color:var(--nemt-navy)}
.nemt-step{display:inline-block;min-width:18px;height:18px;line-height:18px;text-align:center;background:var(--nemt-teal);color:#fff;border-radius:50%;font-size:11px;font-weight:800;margin:0 3px 0 8px}
.nemt-main{padding:20px 26px 26px}
.nemt-card{background:var(--nemt-card);border:1px solid var(--nemt-line);border-radius:10px;padding:18px 20px;margin-bottom:18px;box-shadow:0 2px 10px rgba(31,59,87,.04)}
.nemt-card .nemt-h{margin:0 0 4px;font-size:16px;color:var(--nemt-navy)}
.nemt-card .nemt-hint{color:var(--nemt-muted);font-size:12.5px;margin:0 0 14px}
.nemt-row{display:flex;flex-wrap:wrap;gap:14px;align-items:flex-end}
.nemt-fld{display:flex;flex-direction:column;gap:3px}
.nemt-fld label{font-size:11.5px;color:var(--nemt-muted);font-weight:600;text-transform:uppercase;letter-spacing:.03em}
.nemt-assessor input,.nemt-assessor select{font-family:inherit;font-size:13.5px;padding:7px 9px;border:1px solid #c8d4d3;border-radius:7px;background:#fff;color:var(--nemt-ink);min-height:0;line-height:1.3;box-shadow:none;width:auto}
.nemt-assessor input[type=number]{width:88px}
.nemt-assessor input[type=text]{width:110px}
.nemt-assessor button{font-family:inherit;font-weight:700;font-size:13.5px;border:none;border-radius:8px;padding:9px 16px;cursor:pointer;color:#fff;text-transform:none;letter-spacing:0;line-height:1.3;width:auto;height:auto}
.nemt-btn{background:var(--nemt-teal);color:#fff}
.nemt-btn:hover{background:#186a63}
.nemt-btn.nemt-alt{background:#eaf1f0;color:var(--nemt-navy)}
.nemt-btn.nemt-alt:hover{background:#dce8e6}
.nemt-btn.nemt-sm{padding:6px 11px;font-size:12.5px}
.nemt-btn.nemt-ghost{background:transparent;color:var(--nemt-accent);padding:4px 8px}
.nemt-pill{display:inline-block;background:var(--nemt-light);color:var(--nemt-navy);border-radius:20px;padding:2px 10px;font-size:12px;font-weight:600;margin:2px 4px 2px 0}
.nemt-muted{color:var(--nemt-muted)}
.nemt-hidden{display:none}
.nemt-warnbar{background:#fbeecb;border:1px solid #e8cf87;color:#8a5f16;padding:9px 12px;border-radius:8px;font-size:12.5px;margin-top:12px}
.nemt-assessor table.nemt-map{border-collapse:collapse;font-size:12.5px;width:100%}
.nemt-assessor table.nemt-map td{padding:5px 8px;border-bottom:1px solid var(--nemt-line);vertical-align:middle}
.nemt-assessor table.nemt-map td:first-child{color:var(--nemt-muted);width:170px}
.nemt-assessor table.nemt-map select{font-size:12.5px;padding:4px 7px;max-width:360px}
.nemt-assessor table.nemt-map tr.nemt-req td:first-child{color:var(--nemt-navy);font-weight:700}
.nemt-assessor table.nemt-map tr.nemt-missing td:first-child::after{content:" *";color:var(--nemt-accent)}
.nemt-caprow{display:flex;gap:14px;align-items:flex-end;padding:8px 0;border-bottom:1px dashed #e1e9e8}
.nemt-caprow:last-child{border-bottom:none}
.nemt-capname{font-weight:700;color:var(--nemt-navy);min-width:190px;padding-bottom:6px}
.nemt-viewtoggle{display:flex;gap:8px;margin:0 0 12px}
.nemt-vt.nemt-active{background:var(--nemt-navy);color:#fff}
.nemt-ganttwrap{overflow-x:auto;border:1px solid var(--nemt-line);border-radius:8px;background:#fbfdfd}
.nemt-gantt{position:relative;min-width:820px}
.nemt-grow{display:flex;border-bottom:1px solid #eef2f1;height:44px;position:relative}
.nemt-grow:last-child{border-bottom:none}
.nemt-glabel{flex:0 0 118px;padding:6px 10px;font-weight:700;color:var(--nemt-navy);font-size:12.5px;background:#f2f7f6;border-right:1px solid var(--nemt-line);display:flex;align-items:center}
.nemt-gtrack{position:relative;flex:1 1 auto;height:100%}
.nemt-ruler{display:flex;height:22px;border-bottom:1px solid var(--nemt-line);position:relative;background:#f2f7f6}
.nemt-ruler .nemt-rlabel{flex:0 0 118px;border-right:1px solid var(--nemt-line)}
.nemt-rtick{position:absolute;top:0;height:100%;border-left:1px solid #e3ebea;color:var(--nemt-muted);font-size:10.5px;padding-left:2px}
.nemt-blk{position:absolute;top:7px;height:30px;border-radius:5px;background:#3d6f86;color:#fff;font-size:10.5px;
  display:flex;align-items:center;justify-content:center;overflow:hidden;white-space:nowrap;padding:0 4px;border:1px solid rgba(0,0,0,.12);cursor:default}
.nemt-blk.nemt-cancel{background:#b6bcc2;text-decoration:line-through}
.nemt-blk.nemt-prop{background:var(--nemt-accent);border:2px dashed #7a2c16;top:5px;height:34px;z-index:6;font-weight:700}
.nemt-gap{position:absolute;top:7px;height:30px;z-index:4;cursor:help;border-radius:4px}
.nemt-gap:hover{background:rgba(31,122,114,.14);outline:1px dashed rgba(31,122,114,.5)}
.nemt-roster{}
.nemt-rblock{border:1px solid var(--nemt-line);border-radius:9px;margin-bottom:12px;overflow:hidden;background:#fff}
.nemt-rhead{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:8px;background:#eef4f3;padding:9px 14px;border-bottom:1px solid var(--nemt-line)}
.nemt-rhead .nemt-hc{font-weight:800;color:var(--nemt-navy);cursor:help}
.nemt-rhead .nemt-hc small{display:block;font-size:9.5px;color:var(--nemt-muted);text-transform:uppercase;letter-spacing:.04em;font-weight:700}
.nemt-rtrip{display:grid;grid-template-columns:1fr 1fr 1fr 1fr 1fr;gap:8px;padding:7px 14px;border-bottom:1px solid #eef2f1;font-variant-numeric:tabular-nums}
.nemt-rtrip:last-child{border-bottom:none}
.nemt-rtrip .nemt-tc{cursor:help}
.nemt-rtrip.nemt-cancel{color:#9aa4ad}
.nemt-rtrip.nemt-cancel .nemt-tc{text-decoration:line-through}
.nemt-rtrip.nemt-prop{background:#fdeee8}
.nemt-rtrip.nemt-prop .nemt-tc{color:var(--nemt-accent);font-weight:800}
.nemt-rcolhdr{display:grid;grid-template-columns:1fr 1fr 1fr 1fr 1fr;gap:8px;padding:5px 14px;font-size:9.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--nemt-muted);font-weight:700;background:#f7fafa;border-bottom:1px solid #eef2f1}
.nemt-recpick{display:flex;flex-wrap:wrap;gap:10px;align-items:center;background:#f3faf8;border:1px solid #cfe6e2;border-radius:8px;padding:9px 12px;margin-bottom:12px;font-size:12.5px}
.nemt-recpick .nemt-reclabel{font-weight:700;color:var(--nemt-navy)}
.nemt-recpick .nemt-reclegsel{display:flex;align-items:center;gap:5px;color:var(--nemt-muted);font-weight:600}
.nemt-res{border:1px solid var(--nemt-line);border-radius:9px;padding:12px 14px;margin:10px 0;background:#fff}
.nemt-res.nemt-best{border:2px solid var(--nemt-teal);background:#f3faf8}
.nemt-res h4{margin:0 0 6px;font-size:14.5px;color:var(--nemt-navy);display:flex;align-items:center;gap:8px}
.nemt-tag{font-size:11px;font-weight:700;padding:2px 8px;border-radius:20px}
.nemt-tag.nemt-good{background:#dff0ec;color:var(--nemt-good)}
.nemt-tag.nemt-warn{background:#fbeecb;color:var(--nemt-warn)}
.nemt-tag.nemt-bad{background:#f6ddd5;color:var(--nemt-bad)}
.nemt-metrics{display:flex;flex-wrap:wrap;gap:16px;margin-top:6px;font-size:12.5px}
.nemt-metrics b{color:var(--nemt-navy)}
.nemt-legrow{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;padding:10px;border:1px dashed #c8d4d3;border-radius:8px;margin-bottom:8px;background:#fafcfc}
.nemt-footnote{font-size:12px;color:var(--nemt-muted);margin-top:8px}
.nemt-assessor details{margin-top:8px}
.nemt-assessor summary{cursor:pointer;color:var(--nemt-teal);font-size:12.5px;font-weight:600}
#nemt-tip{position:fixed;z-index:99999;display:none;background:#1f3b57;color:#fff;padding:8px 11px;border-radius:8px;
  font-family:var(--nemt-sans);font-size:12px;line-height:1.5;max-width:300px;pointer-events:none;box-shadow:0 6px 20px rgba(0,0,0,.28)}
#nemt-tip b{color:#a9e5dd}
#nemt-tip .nemt-k{color:#9fb4c9}
/* access gate */
.nemt-gate{max-width:560px;margin:0 auto;background:#fff;border:1px solid #dbe4e3;border-radius:12px;padding:26px;text-align:center;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}
.nemt-gate h3{margin:0 0 8px;color:#1f3b57}
.nemt-gate-btn{display:inline-block;background:#1f7a72;color:#fff;text-decoration:none;font-weight:700;padding:9px 18px;border-radius:8px;margin:6px 4px}
.nemt-gate-btn.alt{background:#eaf1f0;color:#1f3b57}
