:root{
  --bg:#0b0d12; --panel:#141821; --panel-2:#1b202b; --border:#232936;
  --text:#e7e9ee; --muted:#8a93a6; --accent:#5b8cff; --accent-2:#7dd3fc;
  --ok:#22c55e; --err:#ef4444; --warn:#f59e0b;
  --radius:12px;
  --font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{background:var(--bg);color:var(--text);font-family:var(--font);line-height:1.55;-webkit-font-smoothing:antialiased}
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}
.container{max-width:1080px;margin:0 auto;padding:0 20px}
.muted{color:var(--muted)}
.hidden{display:none !important}

.nav{background:rgba(11,13,18,.9);backdrop-filter:blur(8px);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:10}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:60px}
.brand{font-weight:700;color:var(--text);font-size:1.15rem;letter-spacing:-.01em}
.brand-accent{color:var(--accent);margin-left:2px}
.nav nav a{color:var(--text);margin-left:18px;font-size:.95rem}
.nav nav .inline{display:inline}
.btn-link{background:none;border:0;color:var(--text);cursor:pointer;font-size:.95rem;padding:0;margin-left:18px}

main.container{padding-top:32px;padding-bottom:64px}
.hero{padding:56px 0 24px;text-align:center}
.hero h1{font-size:clamp(1.8rem,4vw,2.8rem);margin:0 0 12px;letter-spacing:-.02em}
.hero .accent{color:var(--accent)}
.lead{color:var(--muted);max-width:640px;margin:0 auto 24px}
.cta{display:flex;gap:12px;justify-content:center}

.btn{display:inline-block;border:1px solid var(--border);background:var(--panel-2);color:var(--text);
     padding:10px 18px;border-radius:10px;font-weight:500;cursor:pointer;font-size:.95rem;transition:.15s}
.btn:hover{background:var(--panel);text-decoration:none}
.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}
.btn-primary:hover{filter:brightness(1.1);background:var(--accent)}
.btn-outline{background:transparent}
.btn-block{display:block;width:100%}
.btn-sm{padding:8px 14px;font-size:.9rem}

.panel{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:20px;margin:18px 0}
.grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.grid-2{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:20px}
.card h3{margin-top:0}
.price{font-size:1.5rem;font-weight:700;color:var(--accent);margin:8px 0}
.specs{list-style:none;padding:0;margin:12px 0 0;font-size:.92rem;color:var(--muted)}
.specs li{padding:4px 0;border-top:1px solid var(--border)}
.specs li:first-child{border-top:0}

.stats .stat-num{font-size:1.6rem;font-weight:700;color:var(--accent-2)}

label{display:block;margin:12px 0;font-size:.92rem;color:var(--muted)}
input,textarea,select{width:100%;margin-top:6px;padding:10px 12px;background:var(--panel-2);color:var(--text);
  border:1px solid var(--border);border-radius:10px;font-size:.95rem;font-family:inherit}
textarea{resize:vertical;min-height:160px;line-height:1.5}
input:focus,textarea:focus,select:focus{outline:0;border-color:var(--accent)}

.auth-card{max-width:420px;margin:48px auto;background:var(--panel);border:1px solid var(--border);
  border-radius:var(--radius);padding:28px}
.auth-card h1{margin-top:0;font-size:1.4rem}

.alert{padding:12px 16px;border-radius:10px;margin:16px 0;font-size:.92rem}
.alert-error{background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.35);color:#fca5a5}
.alert-success{background:rgba(34,197,94,.1);border:1px solid rgba(34,197,94,.35);color:#86efac}

.dash-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:8px}
.row{display:flex;gap:12px;align-items:center}
.row.between{justify-content:space-between;margin-top:12px}
.actions{display:flex;gap:10px}
.estimate{margin-top:12px;padding:12px 16px;background:var(--panel-2);border:1px solid var(--border);border-radius:10px;font-size:.92rem}
.output{white-space:pre-wrap;background:var(--panel-2);padding:16px;border-radius:10px;margin:12px 0;line-height:1.6}
.score{font-size:2rem;font-weight:700;color:var(--accent-2)}

.table{width:100%;border-collapse:collapse;font-size:.92rem}
.table th,.table td{text-align:left;padding:10px;border-bottom:1px solid var(--border)}
.table th{color:var(--muted);font-weight:500;font-size:.82rem;text-transform:uppercase;letter-spacing:.03em}
.pill{background:var(--panel-2);border:1px solid var(--border);padding:2px 10px;border-radius:999px;font-size:.82rem}

.footer{border-top:1px solid var(--border);padding:24px 0;color:var(--muted);font-size:.85rem;margin-top:64px}
.footer .container{display:flex;justify-content:center}