.nlc-root { --nlc-ink:#182c39; --nlc-muted:#546672; --nlc-line:#d9e3e7; --nlc-blue:#075f78; --nlc-pale:#eef7f7; color:var(--nlc-ink); font:inherit; max-width:1160px; margin:2rem auto; }
.nlc-root * { box-sizing:border-box; }
.nlc-shell { background:#fff; border:1px solid var(--nlc-line); border-radius:18px; overflow:hidden; box-shadow:0 12px 40px rgba(16,46,58,.08); }
.nlc-head { background:linear-gradient(125deg,#103c4d,#0b6672); color:#fff; padding:2rem clamp(1.2rem,4vw,3rem); }
.nlc-head h2 { color:#fff; margin:.1rem 0 .7rem; font-size:clamp(1.6rem,3vw,2.4rem); line-height:1.2; }
.nlc-head p { max-width:58rem; margin:.4rem 0; }
.nlc-eyebrow { text-transform:uppercase; font-size:.72rem; font-weight:700; letter-spacing:.13em; }
.nlc-layout { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr); gap:0; }
.nlc-simple-layout { display:grid; grid-template-columns:minmax(300px,.76fr) minmax(0,1.24fr); gap:0; }
.nlc-simple-form { padding:2rem clamp(1rem,3vw,2rem); }
.nlc-simple-form .nlc-field { margin-bottom:1.4rem; font-size:1rem; }
.nlc-simple-form .nlc-field input { min-height:50px; font-size:1rem; }
.nlc-submit { width:100%; border:0; border-radius:9px; padding:.9rem 1rem; background:var(--nlc-blue); color:#fff; font:inherit; font-weight:700; cursor:pointer; }
.nlc-submit:hover,.nlc-submit:focus { background:#0b4d60; }
.nlc-choice-list { display:flex; flex-wrap:wrap; gap:.5rem; margin-top:1rem; }
.nlc-choice-list button { border:1px solid #8fb7c2; background:#fff; color:var(--nlc-blue); border-radius:8px; padding:.65rem .8rem; font:inherit; cursor:pointer; }
.nlc-details { border:1px solid var(--nlc-line); background:#fff; border-radius:10px; margin:1.2rem 0; }
.nlc-details summary { cursor:pointer; padding:.85rem 1rem; font-size:.87rem; font-weight:700; }
.nlc-details-body { border-top:1px solid var(--nlc-line); padding:1rem; font-size:.82rem; line-height:1.5; }
.nlc-details-body p { margin:.7rem 0; }
.nlc-details-body a { color:var(--nlc-blue); }
.nlc-decision h4 { margin:0 0 .5rem; }
.nlc-decision .nlc-line { font-size:.9rem; }
.nlc-form { padding:1.6rem clamp(1rem,3vw,2rem); }
.nlc-form section { border-bottom:1px solid var(--nlc-line); padding:0 0 1.5rem; margin:0 0 1.5rem; }
.nlc-form section:last-child { border:0; margin:0; }
.nlc-form h3 { font-size:1.16rem; margin:0 0 1rem; }
.nlc-field { display:flex; flex-direction:column; gap:.33rem; font-size:.91rem; font-weight:600; margin:0 0 1rem; }
.nlc-field input,.nlc-field select { display:block; width:100%; min-height:42px; border:1px solid #b9c9d0; border-radius:8px; padding:.53rem .68rem; background:#fff; color:var(--nlc-ink); font:inherit; font-weight:400; }
.nlc-field input:focus,.nlc-field select:focus { outline:2px solid #3b9db2; outline-offset:1px; }
.nlc-field input:disabled { background:#f4f7f8; color:#677883; }
.nlc-field small,.nlc-hint { color:var(--nlc-muted); font-size:.76rem; font-weight:400; line-height:1.45; }
.nlc-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:1rem; }
.nlc-check { display:flex; align-items:center; gap:.5rem; font-size:.89rem; font-weight:600; margin:.4rem 0 1rem; }
.nlc-check input { width:1.1rem; height:1.1rem; }
.nlc-manual { border:1px solid #cbdde2; border-radius:10px; background:#f8fbfc; padding:1rem; margin:.8rem 0; }
.nlc-manual[hidden] { display:none; }
.nlc-caution,.nlc-route-note { padding:.7rem .8rem; background:var(--nlc-pale); border-left:3px solid #2994a6; color:#304e5c; font-size:.84rem; line-height:1.45; }
.nlc-route-note { margin:.7rem 0; }
.nlc-results { background:#f7fafb; border-left:1px solid var(--nlc-line); padding:1.7rem clamp(1rem,3vw,2rem); }
.nlc-empty { border:1px dashed #a9c0c9; background:#fff; padding:1.3rem; border-radius:10px; color:var(--nlc-muted); }
.nlc-result-label h3 { margin:.3rem 0; font-size:1.12rem; }
.nlc-result-label p { margin:.3rem 0 .8rem; font-size:.85rem; line-height:1.5; }
.nlc-result-label .nlc-eyebrow { color:var(--nlc-blue); }
.nlc-big-label { margin:1.25rem 0 .3rem; font-weight:700; font-size:.85rem; }
.nlc-big-number { font-size:clamp(1.35rem,2.2vw,2rem); font-weight:800; letter-spacing:-.025em; line-height:1.15; color:var(--nlc-blue); margin:.2rem 0 .7rem; }
.nlc-muted { font-size:.82rem; color:var(--nlc-muted); line-height:1.5; }
.nlc-lines { border-top:1px solid var(--nlc-line); border-bottom:1px solid var(--nlc-line); padding:.8rem 0; margin:1.2rem 0; }
.nlc-line { display:flex; justify-content:space-between; align-items:baseline; gap:1rem; padding:.42rem 0; font-size:.83rem; }
.nlc-line strong { text-align:right; white-space:nowrap; }
.nlc-decision { border:1px solid #badfdc; background:#e9f6f3; padding:1rem; border-radius:10px; }
.nlc-decision .nlc-big-label:first-child { margin-top:0; }
.nlc-decision-number { font-size:1.27rem; font-weight:800; color:#125a55; margin:.25rem 0; }
.nlc-decision p:not(.nlc-big-label):not(.nlc-decision-number) { font-size:.83rem; line-height:1.45; }
.nlc-sources { margin:1.3rem 0; font-size:.8rem; line-height:1.5; color:var(--nlc-muted); }
.nlc-sources h4 { color:var(--nlc-ink); margin:0 0 .5rem; }
.nlc-sources p { margin:.45rem 0; }
.nlc-sources a { color:var(--nlc-blue); }
.nlc-actions { display:flex; flex-wrap:wrap; gap:.7rem; align-items:center; }
.nlc-actions button,.nlc-actions a { border-radius:8px; padding:.7rem 1rem; font-size:.88rem; font-weight:700; line-height:1.2; text-decoration:none; cursor:pointer; }
.nlc-actions button { border:1px solid #7ca5b0; color:var(--nlc-blue); background:#fff; }
.nlc-actions a { border:1px solid var(--nlc-blue); background:var(--nlc-blue); color:#fff; }
.nlc-foot { border-top:1px solid var(--nlc-line); padding:1rem clamp(1rem,3vw,2rem); font-size:.77rem; color:var(--nlc-muted); line-height:1.5; margin:0; }
@media(max-width:820px) { .nlc-layout,.nlc-simple-layout { grid-template-columns:1fr; } .nlc-results { border-left:0; border-top:1px solid var(--nlc-line); } }
@media(max-width:520px) { .nlc-grid { grid-template-columns:1fr; } .nlc-line { display:block; } .nlc-line strong { display:block; text-align:left; margin-top:.1rem; } }
@media print { .nlc-form,.nlc-simple-form,.nlc-head,.nlc-foot,.nlc-actions { display:none!important; } .nlc-shell,.nlc-results { border:0; box-shadow:none; padding:0; } .nlc-layout,.nlc-simple-layout { display:block; } .nlc-details { display:block; } .nlc-details-body { display:block!important; } }
