@font-face{font-family:"Archivo";src:url(fonts/archivo-var-latin.woff2) format("woff2");font-weight:100 900;font-stretch:62% 125%;font-display:block}
@font-face{font-family:"Plex Mono";src:url(fonts/plexmono-500-latin.woff2) format("woff2");font-weight:500;font-display:block}
:root{
  --bg:#f4f5f7;--panel:#ffffff;--panel-2:#f5f6f8;--line:#e3e5e9;--line-2:#d2d5db;
  --ink:#15171c;--ink-2:#464b55;--ink-3:#686e79;
  --volt:#ffd23f;--volt-2:#ffdb5e;--volt-ink:#16130a;--volt-soft:rgba(255,204,40,.24);--volt-tx:#7a5a00;--volt-edge:#e6b31e;
  --ok:#1a8a4f;--lo:#c2521d;
  --r:12px;--chat-b:16px;
}
*{box-sizing:border-box}
html,body{height:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:400 14px/1.45 "Archivo",system-ui,sans-serif;-webkit-font-smoothing:antialiased;overflow:hidden}
button{font:inherit;color:inherit;cursor:pointer}
img{display:block}
.num{font-family:"Plex Mono",ui-monospace,monospace;font-weight:500;font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r)}

/* top bar */
.bar{display:flex;align-items:center;gap:20px;height:60px;padding:0 20px;border-bottom:1px solid var(--line);background:#ffffff}
.brand{display:flex;align-items:center;gap:9px;color:inherit;text-decoration:none}
.brand b{font-weight:800;font-size:17px;letter-spacing:-.02em;font-stretch:112%}
.b-sub{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}
.crumbs{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--ink-3);padding-left:20px;border-left:1px solid var(--line);min-width:0;white-space:nowrap}
.crumbs a{color:var(--ink-3);text-decoration:none}
.crumbs b{color:var(--ink);font-weight:600}
.crumb-job{color:var(--ink-2);overflow:hidden;text-overflow:ellipsis}
.saved{display:flex;align-items:center;gap:7px;font-size:12.5px;color:var(--ink-3);white-space:nowrap}
.saved i{width:7px;height:7px;border-radius:50%;background:var(--ok)}
.saved i.sent{background:#3a4cc0}
.phone-q{display:none}
.bar .menu-btn{margin-left:-6px}
.bar-r{margin-left:auto;display:flex;gap:8px}
.bar-r a.btn{text-decoration:none}
.btn{display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 14px;border-radius:9px;border:0;font-weight:600;font-size:13.5px;white-space:nowrap}
.btn.ghost{background:var(--panel-2);box-shadow:inset 0 0 0 1px var(--line-2);color:var(--ink-2)}
.btn.ghost:hover{color:var(--ink)}
.btn.primary{background:var(--volt);color:var(--volt-ink);box-shadow:inset 0 0 0 1px var(--volt-edge),0 6px 16px -8px rgba(180,130,0,.55)}
.btn.primary:hover{background:var(--volt-2)}

.layout{display:grid;grid-template-columns:minmax(0,1fr) 470px;height:calc(100vh - 60px)}

/* builder */
.builder{display:flex;flex-direction:column;gap:14px;padding:18px 22px 0;overflow:auto;position:relative}
.cust{display:flex;align-items:center;gap:14px;padding:14px 16px}
.cust>img{width:52px;height:52px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 2px var(--panel),0 0 0 3px var(--line-2)}
.c-txt{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1}
.c-name{display:flex;align-items:center;gap:8px}
.c-name b{font-size:16.5px;font-weight:700;letter-spacing:-.01em}
.tag{font-size:11.5px;font-weight:600;color:var(--volt-tx);background:var(--volt-soft);padding:2px 7px;border-radius:5px}
.c-txt span{font-size:13px;color:var(--ink-2)}
.c-txt .c-contact{color:var(--ink-3)}
.site{display:flex;align-items:center;gap:12px;padding-left:16px;border-left:1px solid var(--line)}
.site img{width:88px;height:64px;object-fit:cover;border-radius:8px}
.site b{display:block;font-size:13px;font-weight:600}
.site span{display:block;font-size:12.5px;color:var(--ink-3)}
.site .warn{color:var(--lo);font-weight:600}
.site .ph{width:64px;height:64px;border-radius:8px;flex:none;display:grid;place-items:center;background:var(--panel-2);box-shadow:inset 0 0 0 1px var(--line);font:500 18px "Plex Mono";color:var(--ink-3)}
.site .ph::after{content:" photos";font:600 10px Archivo;margin-left:2px}
.site .desc{max-width:300px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tb.pb{background:rgba(26,138,79,.12);color:var(--ok)}
.sent-st{font-size:13px;font-weight:600;color:var(--ink-2)}
.callout{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;padding:11px 14px;border-radius:var(--r);background:var(--volt-soft);box-shadow:inset 0 0 0 1px var(--volt-edge);font-size:13.5px}
.callout a{margin-left:auto;font-weight:700;color:var(--ink)}
.pv-open{margin-left:auto;font-size:12.5px;font-weight:700;color:var(--ink);white-space:nowrap}

.t-head{display:flex;align-items:baseline;gap:10px;margin-bottom:8px}
.t-head b{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-2)}
.t-head span{font-size:12.5px;color:var(--ink-3)}
.tier-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.tier{display:grid;grid-template-columns:1fr auto;align-items:end;gap:2px 10px;text-align:left;background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:12px 14px;transition:border-color .15s,background .15s}
.tier:hover{border-color:var(--line-2)}
.tier.on{ background:linear-gradient(180deg,rgba(255,210,63,.32),rgba(255,210,63,.12)); }
.tr-top{grid-column:1/-1;display:flex;align-items:center;gap:8px}
.tr-top b{font-size:15px;font-weight:700}
.tr-top em{font-style:normal;font-size:11px;font-weight:700;color:var(--volt-ink);background:var(--volt);padding:1px 6px;border-radius:4px}
.radio{margin-left:auto;width:16px;height:16px;border-radius:50%;border:1.5px solid var(--line-2)}
.tier.on .radio{border:5px solid var(--ink)}
.tr-desc{grid-column:1/-1;font-size:12.5px;color:var(--ink-3);margin-bottom:6px}
.tr-total{font-size:19px;color:var(--ink)}
.tr-meta{font-size:11.5px;color:var(--ink-3);text-align:right}

.items{overflow:hidden;flex:none}
.i-head,.li{display:grid;grid-template-columns:minmax(0,1fr) 124px 96px 112px;align-items:center;gap:12px}
.i-head{height:34px;padding:0 16px;font-size:11.5px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-3);border-bottom:1px solid var(--line)}
.r{text-align:right}
.g-head{display:flex;align-items:baseline;gap:10px;padding:10px 16px 6px;background:var(--panel-2);border-bottom:1px solid var(--line)}
.g-head b{font-size:13px;font-weight:700}
.g-head span{font-size:12px;color:var(--ink-3)}
.g-head .g-sub{margin-left:auto;font-size:12.5px;color:var(--ink-2)}
.li{padding:8px 16px;border-bottom:1px solid var(--line);min-height:50px}
.li:hover{background:rgba(20,24,32,.02)}
.li-name{min-width:0}
.li-name b{display:flex;align-items:center;gap:8px;font-size:13.5px;font-weight:600;white-space:nowrap}
.li-name span{display:block;font-size:12px;color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tb{font-style:normal;font-size:10.5px;font-weight:700;padding:0 5px;border-radius:4px;line-height:16px}
.tb.t2{background:var(--volt-soft);color:var(--volt-tx)}
.tb.t3{background:rgba(70,95,220,.11);color:#3a4cc0}
.qty{justify-self:end;display:flex;align-items:center;height:30px;border:1px solid var(--line-2);border-radius:8px;background:var(--bg)}
.qty button{width:28px;height:28px;border:0;background:none;color:var(--ink-3);font-size:16px;line-height:1}
.qty button:hover{color:var(--volt-tx)}
.qty span{min-width:58px;text-align:center;font-size:13px}
.qty small{font-family:"Archivo";font-size:11px;color:var(--ink-3);margin-left:3px;letter-spacing:0}
.rate{text-align:right;font-size:13px;color:var(--ink-3)}
.amt{text-align:right;font-size:13.5px;color:var(--ink)}
.flash{animation:flash .6s ease-out}
@keyframes flash{from{color:var(--volt-tx);background:var(--volt-soft)}}
.add{display:flex;align-items:center;gap:8px;width:100%;height:42px;padding:0 16px;border:0;background:none;color:var(--ink-3);font-size:13px;font-weight:600}
.add:hover{color:var(--volt-tx)}
.add kbd{margin-left:6px;font:500 11px "Plex Mono";border:1px solid var(--line-2);border-radius:4px;padding:0 5px}

.sum{position:sticky;bottom:0;margin:0 -22px;border-radius:0;border-width:1px 0 0;background:rgba(255,255,255,.985);backdrop-filter:blur(10px);padding:14px 22px 16px;box-shadow:0 -8px 20px -16px rgba(20,24,32,.25);display:flex;align-items:center;gap:24px;z-index:3;margin-top:auto}
.s-cols{display:grid;grid-template-columns:repeat(4,auto);gap:4px 26px;flex:1}
.s-cols span{display:block;font-size:12px;color:var(--ink-3);white-space:nowrap}
.s-cols b{font-size:14.5px;color:var(--ink-2)}
.s-total{display:flex;align-items:center;gap:26px}
.margin{display:flex;flex-direction:column;gap:3px;padding-right:24px;border-right:1px solid var(--line)}
.margin span{font-size:12px;color:var(--ink-3)}
.margin b{font-size:15px}.margin b.ok{color:var(--ok)}.margin b.lo{color:var(--lo)}
.mbar{width:96px;height:4px;border-radius:2px;background:var(--line-2);overflow:hidden}
.mbar i{display:block;height:100%;background:var(--ok)}
.tot{display:flex;flex-direction:column;align-items:flex-end}
.tot span{font-size:12px;color:var(--ink-3)}
.tot b{font-size:27px;color:var(--ink);line-height:1.1;letter-spacing:-.03em;background:linear-gradient(transparent 60%,var(--volt) 60%,var(--volt) 92%,transparent 92%);padding:0 3px}
.tot small{font-size:12px;color:var(--ink-3)}
.mobile-total{display:none}

/* preview */
.preview{background:#eceef1;border-left:1px solid var(--line);padding:16px 22px 76px;display:flex;flex-direction:column;gap:12px;overflow:hidden}
.pv-bar{display:flex;align-items:baseline;gap:10px}
.pv-bar b,.pv-bar span{white-space:nowrap}
.pv-bar b{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-2)}
.pv-bar span{font-size:12.5px;color:var(--ink-3)}
.doc{background:#fbfaf6;color:#1a1b1f;border-radius:14px;overflow:hidden;box-shadow:0 24px 48px -24px rgba(20,24,32,.28),0 0 0 1px rgba(20,24,32,.08);flex:1;min-height:0;display:flex;flex-direction:column}
.doc-hero{position:relative;height:150px;flex:none}
@media (max-height:940px){.doc-hero{height:112px}}
.doc-hero img{width:100%;height:100%;object-fit:cover;object-position:50% 62%}
.doc-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.35),transparent 45%)}
.doc-brand{position:absolute;left:16px;top:14px;z-index:1;display:flex;align-items:center;gap:8px;color:#fff;font-weight:700;font-size:14px;letter-spacing:-.01em}
.doc-body{padding:16px 20px 18px;display:flex;flex-direction:column;flex:1;min-height:0}
.doc-kicker{margin:0 0 4px;font-size:11.5px;font-weight:600;color:#8a8576;letter-spacing:.02em}
.doc h2{margin:0 0 6px;font-size:20px;line-height:1.2;font-weight:750;letter-spacing:-.02em;font-stretch:96%}
.doc-p{margin:0 0 12px;font-size:13px;color:#56575f;line-height:1.45}
.doc-tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:12px}
.dt{display:flex;flex-direction:column;align-items:flex-start;gap:1px;text-align:left;border:1.5px solid #e6e2d6;background:#fff;border-radius:10px;padding:8px 10px;color:#1a1b1f}
.dt.on{ background:rgba(26,27,31,.07); }
.dt-n{font-size:12.5px;font-weight:700;display:flex;align-items:center;gap:5px;white-space:nowrap}
.dt-n em{font-style:normal;font-size:9.5px;font-weight:700;background:var(--volt);padding:0 4px;border-radius:3px}
.dt-d{font-size:10.5px;color:#77746a;line-height:1.25;min-height:26px}
.dt b{font-size:14px;margin-top:3px}
.doc-inc{list-style:none;margin:0 0 12px;padding:0;display:grid;gap:5px}
.doc-inc li{position:relative;padding-left:22px;font-size:12.5px;color:#34353b}
.doc-inc li::before{content:"";position:absolute;left:0;top:2px;width:14px;height:14px;border-radius:50%;background:#1a1b1f}
.doc-inc li::after{content:"";position:absolute;left:4.5px;top:5.5px;width:5px;height:3px;border-left:1.6px solid var(--volt);border-bottom:1.6px solid var(--volt);transform:rotate(-45deg)}
.doc-fin{display:flex;align-items:center;gap:9px;background:#f1eee4;border-radius:10px;padding:9px 12px;font-size:12.5px;color:#4a4b52;margin-bottom:12px}
.doc-fin svg{color:#1a1b1f;flex:none}
.doc-fin b{font-family:"Plex Mono",monospace;font-weight:500;color:#1a1b1f}
.doc-fin em{margin-left:auto;font-style:normal;font-weight:700;color:#1a1b1f;text-decoration:underline;text-underline-offset:2px;white-space:nowrap}
.doc-total{margin-top:auto;border-top:1px solid #e6e2d6;padding-top:10px;display:grid;gap:2px}
.doc-total div{display:flex;justify-content:space-between;align-items:baseline}
.doc-total span{font-size:12.5px;color:#6b6a63}
.doc-total b{font-family:"Plex Mono",monospace;font-weight:500;font-size:22px;letter-spacing:-.03em}
.doc-total .dep b{font-size:14px;color:#56575f}
.doc-cta{margin-top:10px;height:44px;border:0;border-radius:10px;background:#1a1b1f;color:#fff;font-weight:700;font-size:14.5px;display:flex;align-items:center;justify-content:center;gap:8px}
.doc-cta::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--volt);box-shadow:0 0 10px var(--volt)}
.doc-fine{margin:8px 0 0;font-size:10.5px;color:#8a8576;text-align:center;line-height:1.4}

.toast{position:fixed;left:50%;bottom:22px;transform:translate(-50%,16px);opacity:0;background:var(--volt);color:var(--volt-ink);padding:10px 16px;border-radius:10px;font-size:13.5px;font-weight:600;box-shadow:0 10px 26px -10px rgba(120,90,0,.45),inset 0 0 0 1px var(--volt-edge);transition:.25s;pointer-events:none;z-index:80;max-width:calc(100vw - 32px)}
.toast.show{opacity:1;transform:translate(-50%,0)}
@media (prefers-reduced-motion:reduce){.flash{animation:none}.toast{transition:none}}

/* phone */
@media (max-width:760px){
  body{overflow:auto}
  :root{--chat-b:84px}
  .bar{height:56px;padding:0 16px;gap:12px}
  .brand b{font-size:16px}.b-sub,.crumbs,.saved,.hide-sm,.bar-r{display:none}
  .phone-q{display:block;margin-left:auto;font-size:12.5px;color:var(--ink-3)}
  .site .desc{display:none}
  .layout{display:block;height:auto}
  .builder{padding:14px 16px 96px;overflow:visible;gap:12px}
  .cust{flex-wrap:wrap;padding:12px;gap:12px}
  .cust>img{width:44px;height:44px}
  .c-name b{font-size:15.5px}
  .c-txt span{font-size:12.5px}
  .c-txt .c-contact{display:none}
  .site{flex-basis:100%;border-left:0;padding:10px 0 0;border-top:1px solid var(--line)}
  .site img{width:64px;height:46px}
  .tier-tabs{gap:6px}
  .tier{padding:10px;gap:1px}
  .tr-top b{font-size:14px}
  .tr-top em{display:none}
  .radio{width:14px;height:14px}
  .tier.on .radio{border-width:4px}
  .tr-desc{display:none}
  .tr-total{font-size:14px;grid-column:1/-1}
  .tr-meta{display:none}
  .t-head span{display:none}
  .i-head{display:none}
  .li{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"n a" "q r";gap:6px 10px;padding:10px 12px}
  .li-name{grid-area:n}.amt{grid-area:a}.qty{grid-area:q;justify-self:start}.rate{grid-area:r;align-self:center}
  .rate::before{content:"@ ";}
  .li-name b{white-space:normal;font-size:13.5px}
  .g-head{padding:9px 12px 6px}
  .g-head span:not(.g-sub){display:none}
  .sum{display:none}
  .preview{display:none}
  .mobile-total{display:flex;align-items:center;gap:12px;position:fixed;left:0;right:0;bottom:0;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:rgba(255,255,255,.96);backdrop-filter:blur(10px);border-top:1px solid var(--line);z-index:10}
  .mobile-total div{flex:1;display:flex;flex-direction:column}
  .mobile-total span{font-size:12px;color:var(--ink-3)}
  .mobile-total b{font-size:21px;color:var(--ink);letter-spacing:-.03em;align-self:flex-start;background:linear-gradient(transparent 60%,var(--volt) 60%,var(--volt) 92%,transparent 92%);padding:0 3px}
  .mobile-total .btn{height:44px;padding:0 18px;font-size:14.5px}
  .toast{bottom:84px}
}

/* No italics anywhere (operator rule): accent words stay upright. */
*, *::before, *::after { font-style: normal !important; }
