/* Mavensum new tools — shared visual language, based on existing design tokens. */
.nt-page { background: var(--slate-50); color: var(--slate-800); min-height: 75vh; }
.nt-wrap { width: min(1140px, calc(100% - 48px)); margin-inline: auto; }
.nt-hero { position: relative; overflow: hidden; color: #fff; background: linear-gradient(125deg,var(--brand-darker),var(--brand) 55%,#5558e9); padding: 54px 0 64px; }
.nt-hero::before { content: ''; position: absolute; width: 580px; height: 580px; right: -210px; top: -260px; border-radius: 50%; background: rgba(255,255,255,.055); pointer-events:none; }
.nt-hero::after { content: ''; position: absolute; width: 360px; height: 360px; left: 50%; bottom: -300px; border-radius: 50%; background: rgba(255,255,255,.045); pointer-events:none; }
.nt-hero .nt-wrap { position:relative; z-index:1; }
.nt-breadcrumb { display:flex; align-items:center; flex-wrap:wrap; gap:8px; margin-bottom:22px; color:rgba(255,255,255,.72); font-size:.78rem; }
.nt-breadcrumb a { color:inherit; text-decoration:none; }
.nt-breadcrumb a:hover { color:#fff; text-decoration:underline; }
.nt-eyebrow { display: inline-flex; align-items: center; gap: 8px; text-transform: uppercase; letter-spacing:.085em; font-family:'Space Grotesk',sans-serif; font-size:.74rem; font-weight:700; }
.nt-eyebrow::before { content:''; width:8px; height:8px; border-radius:50%; background:#84e1bc; box-shadow: 0 0 0 4px rgba(132,225,188,.14); }
.nt-hero h1 { font-size:clamp(2.2rem,4.3vw,3.65rem); max-width:790px; line-height:1.13; letter-spacing:-.045em; margin:17px 0 15px; font-weight:700; }
.nt-hero h1 em { font-style:normal; color:#d6d7ff; }
.nt-hero p { max-width:720px; font-size:1rem; color:rgba(255,255,255,.83); line-height:1.8; }
.nt-pills { display:flex; gap:8px; flex-wrap:wrap; margin-top:22px; }
.nt-pills span { display:inline-flex; align-items:center; padding:6px 12px; font-size:.74rem; border:1px solid rgba(255,255,255,.22); background:rgba(255,255,255,.07); border-radius:30px; font-weight:500; color:#fff; }
.nt-main { padding:40px 0 64px; }
.nt-layout { display:grid; grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr); align-items:start; gap:22px; }
.nt-panel { min-width:0; background:var(--white); border:1.5px solid var(--slate-200); border-radius:var(--radius-xl); padding:27px; box-shadow:0 8px 28px rgba(15,23,42,.025); }
.nt-panel h2 { font-size:1.2rem; line-height:1.35; letter-spacing:-.025em; color:var(--slate-900); margin-bottom:6px; }
.nt-panel-intro { font-size:.81rem; color:var(--slate-500); margin-bottom:22px; line-height:1.7; }
.nt-panel-head { display:flex; justify-content:space-between; align-items:flex-start; flex-wrap:wrap; gap:12px; }
.nt-step { font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:.69rem; color:var(--brand); background:var(--brand-50); border-radius:100px; padding:5px 10px; white-space:nowrap; }
.nt-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:15px; }
.nt-field { display:flex; flex-direction:column; gap:5px; min-width:0; }
.nt-field.wide { grid-column:1/-1; }
.nt-field label, .nt-field .nt-label { font-size:.77rem; color:var(--slate-700); font-weight:600; }
.nt-field input, .nt-field select, .nt-field textarea { width:100%; min-width:0; outline:none; padding:11px 13px; border:1.5px solid var(--slate-200); border-radius:var(--radius-sm); color:var(--slate-900); background:var(--white); font:500 .88rem 'Poppins',sans-serif; transition:border-color .16s, box-shadow .16s; }
.nt-field input:focus, .nt-field select:focus, .nt-field textarea:focus { border-color:var(--brand); box-shadow:0 0 0 3px rgba(60,63,222,.08); }
.nt-field input[aria-invalid=true], .nt-field textarea[aria-invalid=true] { border-color:var(--red); }
.nt-field textarea { min-height:155px; resize:vertical; line-height:1.65; font-weight:400; }
.nt-field small, .nt-field .nt-hint { color:var(--slate-500); font-size:.7rem; line-height:1.5; }
.nt-form-section { margin-top:22px; padding-top:21px; border-top:1px solid var(--slate-200); }
.nt-form-section h3 { font-size:.92rem; letter-spacing:-.01em; color:var(--slate-900); margin:0 0 14px; }
.nt-inline { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; }
.nt-switch { display:flex; gap:8px; align-items:center; font-size:.8rem; color:var(--slate-700); }
.nt-switch input { accent-color:var(--brand); width:16px; height:16px; }
.nt-range { accent-color:var(--brand); width:100%; margin:9px 0 2px; }
.nt-range-label { display:flex; align-items:center; justify-content:space-between; color:var(--slate-600); font-size:.76rem; }
.nt-range-label strong { color:var(--brand); }
.nt-result-col { position:sticky; top:88px; min-width:0; }
.nt-result-hero { background:linear-gradient(135deg,var(--brand-darker),var(--brand)); border-radius:var(--radius-lg); padding:27px; color:#fff; margin:19px 0 15px; position:relative; overflow:hidden; }
.nt-result-hero::after { content:''; position:absolute; width:220px; height:220px; background:rgba(255,255,255,.055); border-radius:50%; right:-100px; top:-120px; pointer-events:none; }
.nt-result-hero .nt-overline { font-family:'Space Grotesk',sans-serif; font-size:.76rem; font-weight:600; text-transform:uppercase; letter-spacing:.06em; color:rgba(255,255,255,.75); }
.nt-result-hero .nt-big { display:block; margin:7px 0; font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:clamp(2rem,4.2vw,2.9rem); letter-spacing:-.045em; line-height:1.12; overflow-wrap:anywhere; font-variant-numeric:tabular-nums; }
.nt-result-hero p { font-size:.75rem; line-height:1.65; color:rgba(255,255,255,.79); }
.nt-metrics { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-bottom:15px; }
.nt-metric { padding:15px; border:1px solid var(--slate-200); border-radius:var(--radius-md); background:var(--slate-50); }
.nt-metric span { display:block; color:var(--slate-500); font-size:.7rem; margin-bottom:6px; }
.nt-metric strong { display:block; color:var(--slate-900); font-family:'Space Grotesk',sans-serif; font-size:1.14rem; line-height:1.25; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.nt-metric small { display:block; font-size:.67rem; color:var(--slate-500); margin-top:3px; }
.nt-detail { background:var(--slate-50); padding:16px; border:1px solid var(--slate-200); border-radius:var(--radius-md); margin-top:16px; }
.nt-detail h3 { margin-bottom:12px; font-size:.88rem; }
.nt-line { display:flex; gap:12px; justify-content:space-between; align-items:baseline; margin:7px 0; font-size:.76rem; }
.nt-line span { color:var(--slate-500); }
.nt-line strong { color:var(--slate-800); font-weight:600; font-variant-numeric:tabular-nums; text-align:right; }
.nt-line.nt-total { padding-top:11px; border-top:1px solid var(--slate-200); font-weight:600; }
.nt-actions { display:flex; flex-wrap:wrap; gap:9px; margin:18px 0 10px; }
.nt-btn { appearance:none; display:inline-flex; gap:8px; align-items:center; justify-content:center; padding:11px 17px; background:var(--brand); border:1px solid var(--brand); border-radius:var(--radius-sm); color:#fff; font:600 .8rem 'Space Grotesk',sans-serif; cursor:pointer; text-decoration:none; transition:background .2s, transform .2s; }
.nt-btn:hover { background:var(--brand-dark); transform:translateY(-1px); }
.nt-btn:focus-visible { outline:3px solid var(--brand-200); outline-offset:3px; }
.nt-btn.secondary { background:#fff; color:var(--brand); border-color:var(--brand-100); }
.nt-btn.secondary:hover { background:var(--brand-50); }
.nt-btn:disabled { opacity:.5; cursor:not-allowed; transform:none; }
.nt-message { font-size:.76rem; line-height:1.65; color:var(--slate-500); margin-top:9px; min-height:20px; }
.nt-message.error { color:#be123c; }
.nt-message.success { color:#15803d; }
.nt-note { color:var(--slate-500); font-size:.72rem; line-height:1.7; }
.nt-note a { color:var(--brand); }
.nt-alert { background:var(--orange-bg); border:1px solid var(--orange-light); border-radius:var(--radius-md); color:#9a3412; padding:12px 14px; font-size:.75rem; line-height:1.7; margin-top:14px; }
.nt-alert.good { background:var(--green-bg); border-color:var(--green-light); color:#166534; }
.nt-alert.error { background:var(--red-bg); border-color:var(--red-light); color:#9f1239; }
.nt-support { margin-top:42px; }
.nt-section-kicker { display:block; font-size:.69rem; font-weight:700; letter-spacing:.08em; color:var(--brand); text-transform:uppercase; margin-bottom:7px; }
.nt-support > h2 { font-size:clamp(1.55rem,3vw,2rem); letter-spacing:-.035em; color:var(--slate-900); margin-bottom:20px; }
.nt-info-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.nt-info-card { background:#fff; border:1px solid var(--slate-200); border-radius:var(--radius-lg); padding:24px; }
.nt-info-num { display:inline-flex; align-items:center; justify-content:center; width:33px; height:33px; background:var(--brand-50); border-radius:var(--radius-sm); color:var(--brand); font:700 .82rem 'Space Grotesk',sans-serif; margin-bottom:16px; }
.nt-info-card h3 { font-size:1rem; color:var(--slate-900); margin-bottom:8px; }
.nt-info-card p { font-size:.79rem; color:var(--slate-500); line-height:1.75; }
.nt-faq { max-width:860px; }
.nt-faq details { background:#fff; border:1px solid var(--slate-200); border-radius:var(--radius-md); margin:0 0 10px; }
.nt-faq summary { list-style:none; cursor:pointer; padding:17px 20px; display:flex; justify-content:space-between; gap:14px; color:var(--slate-900); font:600 .88rem 'Space Grotesk',sans-serif; }
.nt-faq summary::-webkit-details-marker { display:none; }
.nt-faq summary::after { content:'+'; font:700 1.1rem 'Space Grotesk',sans-serif; color:var(--brand); }
.nt-faq details[open] summary::after { content:'−'; }
.nt-faq details p { font-size:.79rem; color:var(--slate-600); line-height:1.85; padding:0 20px 18px; }
.nt-related { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.nt-related a { padding:19px; display:flex; flex-direction:column; gap:6px; background:#fff; border:1px solid var(--slate-200); border-radius:var(--radius-md); text-decoration:none; transition:transform .2s,border-color .2s; }
.nt-related a:hover { transform:translateY(-2px); border-color:var(--brand-100); }
.nt-related strong { font-family:'Space Grotesk',sans-serif; font-size:.9rem; color:var(--brand); }
.nt-related small { color:var(--slate-500); font-size:.74rem; line-height:1.6; }
.nt-progress { height:11px; background:var(--slate-200); border-radius:20px; overflow:hidden; margin:8px 0 15px; }
.nt-progress span { display:block; height:100%; background:var(--brand); border-radius:20px; transition:width .3s; }
.nt-score-good { color:var(--green) !important; }
.nt-score-warn { color:var(--orange) !important; }
.nt-check-list { list-style:none; margin-top:12px; }
.nt-check-list li { padding:11px 0; border-bottom:1px solid var(--slate-200); display:flex; align-items:flex-start; gap:9px; font-size:.76rem; line-height:1.55; }
.nt-check-list li:last-child { border-bottom:none; }
.nt-status { display:inline-flex; align-items:center; padding:3px 9px; font:700 .65rem 'Space Grotesk',sans-serif; border-radius:30px; background:var(--green-bg); color:#15803d; white-space:nowrap; }
.nt-status.warn { background:var(--orange-bg); color:#c2410c; }
.nt-status.fail { background:var(--red-bg); color:#be123c; }
.nt-keywords { display:flex; flex-wrap:wrap; gap:7px; margin:12px 0 3px; }
.nt-keyword { background:var(--green-bg); border:1px solid var(--green-light); color:#166534; font-size:.73rem; padding:5px 10px; border-radius:30px; }
.nt-keyword.missing { background:var(--orange-bg); border-color:var(--orange-light); color:#9a3412; }
.nt-file { border:1.5px dashed var(--brand-100); background:var(--brand-50); border-radius:var(--radius-md); padding:16px; margin-bottom:14px; }
.nt-file input[type=file] { display:block; width:100%; max-width:100%; font-size:.77rem; margin-top:8px; }
.nt-chart-row { display:grid; grid-template-columns:90px minmax(0,1fr) 70px; align-items:center; gap:10px; font-size:.72rem; margin:11px 0; }
.nt-chart-track { background:var(--slate-200); height:12px; border-radius:20px; overflow:hidden; }
.nt-chart-track span { display:block; height:100%; background:var(--brand); border-radius:20px; }
.nt-chart-row.alt .nt-chart-track span { background:var(--sky); }
.nt-chart-row strong { text-align:right; font-variant-numeric:tabular-nums; }
.nt-empty { color:var(--slate-500); font-size:.82rem; text-align:center; padding:25px 14px; border:1px dashed var(--slate-300); border-radius:var(--radius-md); background:var(--slate-50); }
.nt-hide { display:none !important; }
@media (max-width:860px) { .nt-layout { grid-template-columns:1fr; } .nt-result-col { position:static; } .nt-info-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:620px) { .nt-wrap{width:min(100% - 30px,1140px);} .nt-hero{padding:32px 0 39px;} .nt-hero h1{font-size:2.15rem;} .nt-hero p{font-size:.89rem;} .nt-main{padding-top:18px;} .nt-panel{padding:18px; border-radius:var(--radius-lg);} .nt-fields{grid-template-columns:1fr;} .nt-info-grid,.nt-related{grid-template-columns:1fr;} .nt-result-hero{padding:20px;} .nt-metric{padding:12px;} .nt-metric strong{font-size:1.02rem;} .nt-actions .nt-btn{flex:1;} .nt-chart-row{grid-template-columns:70px minmax(0,1fr) 65px;} }
@media (prefers-reduced-motion:reduce) { .nt-progress span,.nt-btn,.nt-related a { transition:none; } }
@media print { nav,footer,.nt-hero,.nt-input-col,.nt-actions,.nt-support,.nt-note,.nt-message{display:none !important;} body,.nt-page{background:#fff !important;} .nt-main{padding:0;} .nt-layout{display:block;} .nt-result-col{position:static;} .nt-panel{box-shadow:none;border:1px solid #ddd;} .nt-result-hero{print-color-adjust:exact;-webkit-print-color-adjust:exact;} .nt-wrap{width:100%;} }
