:root {
  color-scheme: light;
  font-family: Inter, Arial, sans-serif;
  --brown:#8B5E34;
  --sand:#D9B493;
  --sky:#4DB6E2;
  --blue:#1782C6;
  --blue-dark:#106eab;
  --black:#111111;
  --charcoal:#2B2B2B;
  --muted:#6f6f6f;
  --mist:#F2F2F2;
  --white:#FFFFFF;
  --border:#E2E2E2;
  --blue-soft:#F1F9FD;
  --sand-soft:#FBF7F2;
  --danger:#9B2C2C;
  --danger-soft:#FFF2F1;
  --warning:#7A5614;
  --warning-soft:#FFF7E5;
  --radius:22px;
  --shadow:0 18px 50px rgba(17,17,17,.08);
}

* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:#f8f8f8; color:var(--charcoal); line-height:1.6; }
button,input { font:inherit; }
button,summary,input[type="range"],label[for="away"] { touch-action:manipulation; }
a { color:inherit; text-decoration:none; }
img { max-width:100%; display:block; }
[hidden] { display:none!important; }

.site-header { position:sticky; top:0; z-index:50; background:rgba(255,255,255,.94); backdrop-filter:blur(16px); border-bottom:1px solid rgba(17,17,17,.07); }
.header-inner { width:min(1160px,calc(100% - 40px)); min-height:82px; margin:0 auto; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.tokani-brand img { width:205px; }
.header-badges { display:flex; align-items:center; gap:8px; }
.product-badge,.offline-note { display:inline-flex; align-items:center; min-height:34px; border-radius:999px; padding:7px 12px; font-size:11px; font-weight:800; white-space:nowrap; }
.product-badge { background:var(--black); color:var(--white); }
.offline-note { background:var(--blue-soft); color:var(--blue-dark); border:1px solid #d5edf7; }

.shell { width:min(1160px,calc(100% - 40px)); margin:0 auto; padding:58px 0 86px; }
.hero { display:grid; grid-template-columns:1.2fr .8fr; gap:64px; align-items:center; margin-bottom:54px; }
.hero-copy { padding:20px 0; }
.eyebrow { margin:0 0 13px; color:var(--blue); text-transform:uppercase; letter-spacing:.13em; font-size:12px; font-weight:800; }
.hero h1 { margin:0; color:var(--black); font-size:clamp(42px,6.3vw,76px); line-height:1.02; letter-spacing:-.055em; }
.hero h1 span { color:var(--blue); }
.hero-copy > p:last-child { max-width:760px; margin:22px 0 0; color:#575757; font-size:clamp(16px,2vw,20px); line-height:1.6; }
.hero-mark { min-height:390px; display:flex; align-items:center; justify-content:center; }
.hero-mark-inner { width:min(390px,100%); min-height:340px; padding:32px; border-radius:34px; background:var(--black); color:white; box-shadow:0 32px 90px rgba(17,17,17,.2); position:relative; overflow:hidden; display:flex; flex-direction:column; justify-content:flex-end; }
.hero-mark-inner::before { content:""; position:absolute; width:210px; height:210px; border-radius:50%; background:rgba(77,182,226,.95); right:-72px; top:-82px; }
.hero-mark-inner::after { content:""; position:absolute; width:190px; height:190px; border-radius:50%; background:rgba(139,94,52,.95); left:-96px; bottom:-110px; }
.hero-mark-inner > * { position:relative; z-index:2; }
.hero-mark img { width:78px; border-radius:18px; margin-bottom:auto; }
.hero-mark strong { font-size:29px; line-height:1.12; letter-spacing:-.03em; }
.hero-mark span { margin-top:14px; color:#cfcfcf; font-size:13px; }

.app-grid { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr); gap:24px; align-items:start; }
.panel,.quote-card,.mini-card,.settings-card { background:var(--white); border:1px solid var(--border); border-radius:var(--radius); }
.panel,.quote-card { box-shadow:var(--shadow); }
.form-panel { padding:30px; }
.results-column { display:grid; gap:14px; position:sticky; top:100px; }
.section-heading { display:flex; gap:14px; align-items:flex-start; margin-bottom:26px; }
.section-heading.compact { margin-bottom:20px; }
.section-heading h2 { margin:0; color:var(--black); font-size:21px; letter-spacing:-.02em; line-height:1.15; }
.section-heading p { margin:5px 0 0; color:var(--muted); font-size:13px; line-height:1.5; }
.step { flex:0 0 auto; color:var(--blue); font-weight:900; font-size:13px; letter-spacing:.04em; padding-top:2px; }

.field { display:grid; gap:8px; margin-bottom:19px; }
.field label,.label-row label { color:var(--black); font-size:14px; font-weight:750; line-height:1.35; }
.field small { color:var(--muted); font-size:12px; line-height:1.5; }
.profit-field small:first-of-type { color:#4f5b5e; }
input[type="number"] { width:100%; min-height:50px; border:1px solid #cfcfcf; border-radius:12px; background:#fff; padding:11px 13px; color:var(--black); font-size:16px; outline:none; }
input[type="number"]:focus { outline:3px solid rgba(77,182,226,.18); border-color:var(--blue); }
.input-with-start,.input-with-end { display:flex; align-items:center; border:1px solid #cfcfcf; border-radius:12px; background:#fff; overflow:hidden; }
.input-with-start:focus-within,.input-with-end:focus-within { outline:3px solid rgba(77,182,226,.18); border-color:var(--blue); }
.input-with-start > span,.input-with-end > span { color:var(--muted); font-size:13px; font-weight:700; padding:0 13px; white-space:nowrap; }
.input-with-start input,.input-with-end input { border:0; border-radius:0; outline:0!important; }
.label-row { display:flex; justify-content:space-between; align-items:center; gap:14px; }
.label-row strong { color:var(--blue); }
.range { width:100%; accent-color:var(--blue); min-height:35px; }
.range-ends { display:flex; justify-content:space-between; font-size:11px; color:var(--muted); }

.toggle-card { display:flex; gap:13px; align-items:center; padding:16px; border:1px solid var(--border); border-radius:16px; cursor:pointer; margin:5px 0 20px; background:#fff; transition:.2s ease; }
.toggle-card:hover { border-color:#c4dfea; }
.toggle-card input { position:absolute; opacity:0; pointer-events:none; }
.switch { width:46px; height:27px; border-radius:999px; background:#d5d5d5; position:relative; flex:0 0 auto; transition:.2s; }
.switch::after { content:""; position:absolute; width:21px; height:21px; top:3px; left:3px; border-radius:50%; background:#fff; transition:.2s; box-shadow:0 2px 5px rgba(0,0,0,.15); }
.toggle-card input:checked + .switch { background:var(--blue); }
.toggle-card input:checked + .switch::after { transform:translateX(19px); }
.toggle-card > span:last-child { display:grid; gap:2px; }
.toggle-card strong { color:var(--black); }
.toggle-card small { color:var(--muted); font-size:12px; }
.away-fields { background:var(--mist); border-radius:18px; padding:18px; margin-bottom:20px; }
.subheading { display:grid; gap:2px; margin-bottom:15px; }
.subheading strong { color:var(--black); }
.subheading span { font-size:12px; color:var(--muted); }
.two-col { display:grid; grid-template-columns:1fr 1fr; gap:14px; }

.settings-card { margin-top:14px; overflow:hidden; box-shadow:none; }
.settings-card summary { list-style:none; cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:17px; }
.settings-card summary::-webkit-details-marker { display:none; }
.settings-card summary > span:first-child { display:grid; gap:3px; }
.settings-card summary strong { color:var(--black); font-size:14px; }
.settings-card summary small { color:var(--muted); font-size:12px; }
.settings-body { border-top:1px solid var(--border); padding:17px; }
.chevron { color:var(--muted); font-size:20px; }
.lock-badge { background:var(--black); color:white; border-radius:999px; padding:6px 9px; font-size:10px; font-weight:850; letter-spacing:.04em; text-transform:uppercase; }
.note { border-radius:14px; padding:12px 13px; font-size:12px; line-height:1.5; margin-bottom:16px; }
.note.friendly { background:var(--mist); color:var(--muted); }
.note.protected { background:var(--blue-soft); color:#31576a; border:1px solid #d6edf6; font-weight:650; }
.settings-actions { display:flex; align-items:center; flex-wrap:wrap; gap:10px; }
.primary-btn,.text-btn,.quote-reset { min-height:46px; border-radius:999px; padding:10px 18px; cursor:pointer; transition:.2s ease; }
.primary-btn { border:0; background:var(--blue); color:white; font-weight:800; }
.primary-btn:hover { background:var(--blue-dark); transform:translateY(-1px); }
.text-btn { border:1px solid #cfcfcf; background:white; color:var(--black); font-weight:700; }
.text-btn:hover { border-color:var(--black); }
.saved { color:var(--blue-dark); font-size:12px; font-weight:800; }
.rules-list { display:grid; gap:10px; }
.rules-list > div { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:4px 12px; padding:13px; border:1px solid var(--border); border-radius:14px; }
.rules-list span { color:var(--black); font-size:13px; font-weight:700; }
.rules-list strong { color:var(--blue-dark); }
.rules-list small { grid-column:1 / -1; color:var(--muted); font-size:11px; line-height:1.45; }
.rule-scope { margin:14px 0 0; padding-left:12px; border-left:3px solid var(--sand); color:#69615a; font-size:11px; line-height:1.5; }
.admin-note { margin:14px 0 0; font-size:10px; text-transform:uppercase; letter-spacing:.08em; font-weight:800; color:var(--muted); }

.compliance-alert { border-radius:14px; padding:13px 14px; margin-bottom:18px; }
.compliance-alert strong,.compliance-alert span { display:block; }
.compliance-alert span { margin-top:4px; font-size:12px; line-height:1.5; }
.danger-alert { background:var(--danger-soft); border:1px solid #f0c5c1; color:var(--danger); }
.overtime-alert { background:var(--warning-soft); border:1px solid #f0dfb8; color:var(--warning); }
.field-warning { color:var(--danger)!important; font-weight:750; }
.field-ok { color:#24734f!important; font-weight:650; }

.quote-card { min-height:268px; padding:0; background:var(--black); color:white; border-color:transparent; position:relative; overflow:hidden; }
.quote-card::before { content:""; position:absolute; width:210px; height:210px; border-radius:50%; background:rgba(77,182,226,.93); right:-82px; top:-100px; }
.quote-card::after { content:""; position:absolute; width:175px; height:175px; border-radius:50%; background:rgba(139,94,52,.92); left:-100px; bottom:-115px; }
.quote-card-content { position:relative; z-index:2; padding:27px; }
.quote-card p { margin:0; font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:.08em; color:var(--sky); }
.big-price { font-size:clamp(39px,6vw,56px); font-weight:900; letter-spacing:-.05em; margin:7px 0 7px; overflow-wrap:anywhere; line-height:1.02; }
.quote-card span { display:block; max-width:430px; color:#cfcfcf; font-size:12px; line-height:1.5; }
.quote-reset { width:100%; margin-top:19px; border:1px solid rgba(255,255,255,.26); background:rgba(255,255,255,.08); color:white; font-weight:750; }
.quote-reset:hover { background:white; color:var(--black); }

.mini-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.mini-card { padding:15px; box-shadow:none; display:grid; gap:7px; min-height:87px; }
.mini-card span { color:var(--muted); font-size:11px; line-height:1.35; }
.mini-card strong { color:var(--black); font-size:18px; overflow-wrap:anywhere; }
.mini-card.owner { border-top:4px solid var(--brown); }
.mini-card.profit { border-top:4px solid var(--blue); }
.mini-card.safe { background:var(--blue-soft); border-color:#cce8f4; }
.mini-card.safe strong { color:var(--blue-dark); }

.negotiate-panel { padding:21px; box-shadow:none; }
.deal-box { background:var(--mist); border-radius:16px; padding:15px; display:grid; gap:4px; margin-top:11px; }
.deal-box span,.deal-box small { color:var(--muted); font-size:12px; }
.deal-box > strong { color:var(--black); font-size:29px; letter-spacing:-.035em; overflow-wrap:anywhere; }
.deal-message { margin-top:10px; border-radius:12px; padding:11px 12px; font-size:12px; font-weight:750; line-height:1.45; }
.deal-message.success { background:#edf8f3; color:#246344; }
.deal-message.warning { background:var(--warning-soft); color:var(--warning); }
.deal-message.danger { background:var(--danger-soft); color:var(--danger); }
.breakdown { padding:0; overflow:hidden; box-shadow:none; }
.breakdown summary { list-style:none; cursor:pointer; padding:16px 18px; display:flex; justify-content:space-between; gap:12px; align-items:center; }
.breakdown summary::-webkit-details-marker { display:none; }
.breakdown summary strong { color:var(--black); }
.breakdown summary span { color:var(--muted); font-size:11px; }
.breakdown-list { border-top:1px solid var(--border); padding:14px 18px; display:grid; gap:10px; }
.breakdown-list > div { display:flex; justify-content:space-between; gap:16px; font-size:12px; }
.breakdown-list span { color:var(--muted); }
.breakdown-list strong { color:var(--black); }
.plain-rule { background:#fff; border:1px dashed #c9c9c9; border-radius:16px; padding:14px; color:var(--muted); font-size:12px; line-height:1.55; }
.plain-rule strong { color:var(--black); }

.site-footer { background:var(--black); color:#c9c9c9; padding:48px 0; }
.footer-inner { width:min(1160px,calc(100% - 40px)); margin:0 auto; display:flex; align-items:flex-end; justify-content:space-between; gap:30px; }
.footer-inner img { width:210px; background:white; border-radius:12px; padding:9px 11px; margin-bottom:15px; }
.footer-inner p { margin:0; font-size:12px; }
.footer-inner span { display:block; margin-top:3px; color:var(--sand); font-style:italic; font-size:12px; }
.footer-inner a { color:white; font-weight:750; font-size:13px; }
.footer-inner a:hover { color:var(--sky); }

.setup-dialog { width:min(520px,calc(100% - 28px)); max-height:calc(100vh - 28px); border:0; border-radius:28px; padding:0; box-shadow:0 34px 100px rgba(17,17,17,.32); }
.setup-dialog::backdrop { background:rgba(17,17,17,.65); backdrop-filter:blur(4px); }
.setup-card { padding:30px; background:white; }
.setup-brand { display:flex; align-items:center; gap:10px; margin-bottom:27px; color:var(--black); font-weight:850; }
.setup-brand img { width:42px; border-radius:11px; }
.setup-card h2 { margin:0; color:var(--black); font-size:34px; line-height:1.08; letter-spacing:-.04em; }
.setup-intro { margin:12px 0 24px; color:var(--muted); font-size:14px; line-height:1.55; }
.setup-primary,.setup-secondary { width:100%; }
.setup-secondary { margin-top:9px; }
.setup-card > small { display:block; margin-top:13px; text-align:center; color:var(--muted); font-size:11px; }
.setup-error { margin:0 0 13px; background:var(--danger-soft); color:var(--danger); border-radius:12px; padding:10px 11px; font-size:12px; }

@media (max-width:900px) {
  .shell { padding-top:42px; }
  .hero { grid-template-columns:1fr; gap:18px; }
  .hero-mark { min-height:0; }
  .hero-mark-inner { min-height:260px; width:100%; }
  .hero-mark img { width:64px; }
  .app-grid { grid-template-columns:1fr; }
  .results-column { position:static; }
}

@media (max-width:620px) {
  .header-inner,.shell,.footer-inner { width:min(100% - 28px,1160px); }
  .header-inner { min-height:74px; }
  .tokani-brand img { width:170px; }
  .product-badge { display:none; }
  .shell { padding:34px 0 66px; }
  .hero { margin-bottom:34px; }
  .hero h1 { font-size:clamp(39px,12vw,58px); }
  .hero-copy > p:last-child { font-size:16px; }
  .hero-mark-inner { padding:26px; border-radius:26px; }
  .hero-mark strong { font-size:25px; }
  .form-panel { padding:19px; }
  .two-col,.mini-grid { grid-template-columns:1fr; }
  .rules-list > div { grid-template-columns:1fr; }
  .rules-list small { grid-column:1; }
  .label-row { align-items:flex-start; }
  .footer-inner { align-items:flex-start; flex-direction:column; }
  .setup-card { padding:23px; }
  .setup-card h2 { font-size:29px; }
}

@media (max-width:420px) {
  .offline-note { display:none; }
  .tokani-brand img { width:176px; }
  .big-price { font-size:38px; }
}
