:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#151923;background:#f5f6f8;font-synthesis:none;--ink:#121826;--muted:#697386;--line:#e7e9ee;--surface:#fff;--soft:#f1f3f6;--accent:#1f6f5c;--accent2:#8be8c0;--danger:#b42318;--warning:#a15c00;--shadow:0 12px 34px rgba(18,24,38,.08);--radius:22px}*{box-sizing:border-box}html,body,#app{margin:0;min-height:100%;background:#f5f6f8}body{min-height:100vh}.shell{min-height:100vh;max-width:520px;margin:0 auto;background:#f8f9fb;position:relative;padding-bottom:92px}.topbar{position:sticky;top:0;z-index:20;padding:18px 18px 10px;background:rgba(248,249,251,.92);backdrop-filter:blur(14px);display:flex;align-items:center;justify-content:space-between}.brand{font-weight:850;letter-spacing:-.04em;font-size:23px}.brand-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--accent2);margin-left:3px}.icon-btn{width:42px;height:42px;border:1px solid var(--line);background:white;border-radius:14px;font-size:18px;display:grid;place-items:center}.content{padding:10px 18px 24px}.hero{padding:16px 0 8px}.eyebrow{color:var(--muted);font-size:13px;font-weight:650}.hero h1{margin:4px 0 0;font-size:30px;letter-spacing:-.045em;line-height:1.07}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:18px 0}.metric{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:14px 12px;min-width:0}.metric strong{display:block;font-size:17px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.metric span{font-size:11px;color:var(--muted)}.section-title{display:flex;align-items:center;justify-content:space-between;margin:24px 0 10px}.section-title h2{font-size:17px;margin:0}.section-title button{border:0;background:transparent;color:var(--accent);font-weight:700}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px;box-shadow:0 1px 0 rgba(18,24,38,.02);margin-bottom:10px}.card.clickable{cursor:pointer}.row{display:flex;gap:12px;align-items:center;justify-content:space-between}.row-start{display:flex;gap:12px;align-items:center;min-width:0}.avatar{width:44px;height:44px;border-radius:15px;background:#edf6f2;color:var(--accent);display:grid;place-items:center;font-weight:850;flex:none}.title{font-weight:760}.sub{font-size:13px;color:var(--muted);margin-top:3px}.amount{font-weight:800}.badge{display:inline-flex;gap:6px;align-items:center;font-size:11px;font-weight:760;border-radius:999px;padding:6px 9px;background:#eff2f5;color:#4d5767}.badge.accepted,.badge.paid{background:#e9f7f1;color:#176b52}.badge.viewed{background:#eef4ff;color:#275db0}.badge.sent{background:#fff5e8;color:#965a00}.badge.rejected,.badge.expired{background:#fff0ef;color:#a12b23}.primary,.secondary,.ghost,.danger{border:0;border-radius:16px;padding:14px 16px;font:inherit;font-weight:800;cursor:pointer}.primary{background:var(--ink);color:white}.primary.accent{background:var(--accent)}.secondary{background:#e9f4f0;color:#155b49}.ghost{background:var(--soft);color:var(--ink)}.danger{background:#fff0ef;color:var(--danger)}.block{width:100%}.fab{position:fixed;z-index:40;bottom:78px;left:50%;transform:translateX(-50%);width:58px;height:58px;border-radius:20px;border:5px solid #f8f9fb;background:var(--ink);color:white;font-size:30px;box-shadow:var(--shadow)}.nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);z-index:30;width:min(520px,100%);height:76px;background:rgba(255,255,255,.96);border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(4,1fr);padding:8px 8px max(8px,env(safe-area-inset-bottom));backdrop-filter:blur(16px)}.nav button{border:0;background:transparent;color:#778090;font-size:11px;font-weight:700}.nav button.active{color:var(--ink)}.nav .nav-icon{display:block;font-size:19px;margin-bottom:3px}.form label{display:block;font-size:12px;font-weight:750;color:#5d6675;margin:14px 0 7px}.input,.select,.textarea{width:100%;border:1px solid var(--line);background:white;border-radius:15px;padding:13px 14px;font:inherit;color:var(--ink);outline:none}.input:focus,.select:focus,.textarea:focus{border-color:#7aa99c;box-shadow:0 0 0 3px rgba(31,111,92,.08)}.textarea{min-height:90px;resize:vertical}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.chips{display:flex;gap:8px;overflow:auto;padding:2px 0 10px}.chip{white-space:nowrap;border:1px solid var(--line);background:white;border-radius:999px;padding:9px 12px;font-size:12px;font-weight:700}.chip.active{background:var(--ink);color:white;border-color:var(--ink)}.steps{display:flex;gap:6px;margin:4px 0 18px}.step{height:5px;border-radius:99px;background:#dde1e8;flex:1}.step.active{background:var(--accent)}.quote-line{padding:12px 0;border-bottom:1px solid var(--line)}.quote-line:last-child{border-bottom:0}.quote-line small{color:var(--muted)}.summary{background:#f5f7f9;border-radius:18px;padding:14px;margin-top:14px}.summary-row{display:flex;justify-content:space-between;margin:8px 0;color:#586170}.summary-row.total{font-size:20px;font-weight:850;color:var(--ink);padding-top:10px;border-top:1px solid #dde1e8}.empty{text-align:center;color:var(--muted);padding:36px 20px}.preview-sheet{background:white;border-radius:22px;padding:22px;box-shadow:var(--shadow);border:1px solid #eceef2}.preview-head{display:flex;justify-content:space-between;gap:16px;border-bottom:2px solid var(--ink);padding-bottom:18px}.preview-logo{width:48px;height:48px;border-radius:15px;background:var(--ink);color:white;display:grid;place-items:center;font-size:22px;font-weight:900}.preview-table{width:100%;border-collapse:collapse;margin:22px 0}.preview-table td{padding:10px 0;border-bottom:1px solid #eceef2;font-size:13px}.preview-table td:last-child{text-align:right;font-weight:700}.muted{color:var(--muted)}.timeline{position:relative;padding-left:18px}.timeline::before{content:"";position:absolute;left:4px;top:8px;bottom:8px;width:2px;background:#e2e5ea}.event{position:relative;margin:14px 0}.event::before{content:"";position:absolute;left:-18px;top:5px;width:10px;height:10px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px #edf6f2}.settings-row{display:flex;align-items:center;justify-content:space-between;padding:15px 0;border-bottom:1px solid var(--line)}.settings-row:last-child{border-bottom:0}.notice{border-radius:18px;padding:14px;background:#edf6f2;color:#174c3f;font-size:13px}.notice.warning{background:#fff5e8;color:#7c4c09}.plan-card{padding:18px;border-radius:22px;border:1px solid var(--line);background:white;margin:12px 0}.plan-card.pro{background:var(--ink);color:white}.plan-card ul{padding-left:20px;color:inherit}.plan-card .price{font-size:30px;font-weight:900;letter-spacing:-.04em}.onboard{min-height:100vh;max-width:520px;margin:auto;background:#f7f8fa;padding:26px 22px;display:flex;flex-direction:column}.onboard-hero{margin:auto 0 28px}.logo-large{width:78px;height:78px;border-radius:25px;background:var(--ink);color:white;display:grid;place-items:center;font-size:38px;font-weight:900;box-shadow:var(--shadow);position:relative}.logo-large::after{content:"";width:15px;height:15px;background:var(--accent2);border-radius:50%;position:absolute;right:10px;top:9px}.onboard h1{font-size:42px;letter-spacing:-.06em;margin:18px 0 8px}.onboard p{color:var(--muted);font-size:17px;line-height:1.5}.actions{display:grid;gap:10px;margin-top:18px}.modal-backdrop{position:fixed;inset:0;background:rgba(18,24,38,.45);z-index:80;display:flex;align-items:flex-end;justify-content:center}.modal{width:min(520px,100%);max-height:90vh;overflow:auto;background:white;border-radius:28px 28px 0 0;padding:8px 18px calc(22px + env(safe-area-inset-bottom));box-shadow:0 -15px 40px rgba(18,24,38,.2);transition:transform .18s ease-out;will-change:transform;overscroll-behavior:contain}.modal.dragging{transition:none;user-select:none}.modal.closing{transition:transform .18s ease-in}.modal-handle{position:relative;width:80px;height:32px;background:transparent;margin:0 auto 4px;touch-action:none;cursor:grab}.modal-handle::before{content:"";position:absolute;left:50%;top:12px;transform:translateX(-50%);width:44px;height:5px;border-radius:99px;background:#d7dbe2}.modal.dragging .modal-handle{cursor:grabbing}.toast{position:fixed;z-index:100;left:50%;bottom:96px;transform:translateX(-50%);background:#121826;color:white;border-radius:14px;padding:11px 14px;font-size:13px;box-shadow:var(--shadow);animation:toast .2s ease}.list-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.small-btn{border:1px solid var(--line);background:white;padding:8px 10px;border-radius:12px;font-size:12px;font-weight:750}.split{display:grid;grid-template-columns:1fr 1fr;gap:10px}.toggle{width:46px;height:28px;border-radius:99px;background:#dfe3e8;position:relative}.toggle.on{background:var(--accent)}.toggle::after{content:"";position:absolute;width:22px;height:22px;border-radius:50%;background:white;top:3px;left:3px;transition:.2s}.toggle.on::after{left:21px}.pro-lock{font-size:11px;background:#efeafe;color:#6a43b8;border-radius:99px;padding:5px 8px;font-weight:800}.screen-title{font-size:28px;letter-spacing:-.04em;margin:8px 0 18px}.wizard-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:8px 0 18px}.wizard-title-row .screen-title{margin:0}.wizard-add-btn{width:36px;height:36px;border-radius:12px;color:var(--accent);flex:none}.customer-shell{max-width:520px;margin:0 auto;padding:24px 18px 60px;background:#f5f6f8;min-height:100vh}.customer-brand{text-align:center;margin:16px 0 24px}.customer-brand .preview-logo{margin:0 auto 10px}.checkbox-line{display:flex;gap:10px;align-items:flex-start;padding:12px;border:1px solid var(--line);border-radius:15px;margin:10px 0;background:white}.checkbox-line input{margin-top:3px}.progress-note{text-align:center;font-size:12px;color:var(--muted);margin-top:8px}.hide{display:none!important}@keyframes toast{from{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%,0)}}@media(min-width:700px){body{padding:24px 0}.shell{min-height:calc(100vh - 48px);border-radius:30px;overflow:hidden;box-shadow:var(--shadow)}.topbar{top:24px}.nav{bottom:24px;border-radius:0 0 30px 30px}.fab{bottom:98px}.onboard{min-height:calc(100vh - 48px);border-radius:30px;box-shadow:var(--shadow)}}@media print{body{background:white;padding:0}.shell,.customer-shell{max-width:none}.topbar,.nav,.fab,.no-print,.actions{display:none!important}.content{padding:0}.preview-sheet{box-shadow:none;border:0;border-radius:0}.preview-sheet *{color:#111!important}}

/* v0.1.1 polish */
.icon{width:20px;height:20px;display:inline-block;vertical-align:-4px;flex:none}.icon-btn .icon{width:20px;height:20px}.primary .icon,.secondary .icon,.ghost .icon,.small-btn .icon{width:17px;height:17px;margin-right:5px}.minw0{min-width:0}.text-wrap{overflow-wrap:anywhere;word-break:normal}.quote-card-end{flex:none;text-align:right;max-width:46%}.quote-detail-head{align-items:flex-start}.chevron{font-size:22px;color:var(--muted)}
.nav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}.nav button .icon{width:20px;height:20px}.nav button span{line-height:1}.nav button.active .icon{stroke-width:2.2}.fab{display:grid;place-items:center}.fab .icon{width:25px;height:25px}
.primary,.secondary,.ghost,.small-btn{align-items:center;justify-content:center}.primary:has(.icon),.secondary:has(.icon),.ghost:has(.icon),.small-btn:has(.icon){display:flex}
.menu-label{display:flex;align-items:center;gap:12px}.menu-label .icon{width:21px;height:21px;color:#576273}.menu-card .settings-row{padding:17px 2px}
.logo-editor{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:center;padding:14px;border:1px solid var(--line);border-radius:18px;background:#fbfcfd;margin:4px 0 16px}.logo-preview,.customer-logo,.doc-logo{display:grid;place-items:center;overflow:hidden;background:var(--ink);color:white;font-weight:900;flex:none}.logo-preview{width:64px;height:64px;border-radius:18px}.customer-logo{width:58px;height:58px;border-radius:17px;margin:0 auto 10px}.doc-logo{width:56px;height:56px;border-radius:14px}.logo-preview img,.customer-logo img,.doc-logo img,.preview-logo img{width:100%;height:100%;object-fit:contain;background:white}.logo-editor-copy{display:flex;flex-direction:column;align-items:flex-start;gap:5px;min-width:0}.logo-editor-copy>span{font-size:11px;color:var(--muted);line-height:1.35}.file-button{display:inline-flex;cursor:pointer;margin-top:3px}.text-button{border:0;background:transparent;padding:2px 0;font:inherit;font-size:12px;font-weight:750;cursor:pointer}.danger-text{color:var(--danger)}
.notice.soft{background:#f4f6f8;color:#5b6573}.catalog-card .list-actions{margin-top:10px}.catalog-price{font-weight:850;white-space:nowrap}.danger-outline{color:var(--danger);border-color:#f2d4d1}.compact-empty{padding:20px 14px}.catalog-title{margin-top:24px}.catalog-title button{font-size:12px}.catalog-picker{border:1px solid var(--line);border-radius:20px;background:white;overflow:hidden}.catalog-pick-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 14px;border-bottom:1px solid var(--line)}.catalog-pick-row:last-child{border-bottom:0}.catalog-pick-row strong{display:block;font-size:13px}.catalog-pick-row span{display:block;font-size:11px;color:var(--muted);margin-top:3px}.catalog-pick-actions{display:flex;gap:7px;flex:none}.tiny-btn{min-width:34px;height:34px;border:1px solid var(--line);border-radius:11px;background:white;display:grid;place-items:center;color:var(--ink);font:inherit;font-size:10px;font-weight:800;padding:0 9px}.tiny-btn .icon{width:15px;height:15px}.optional-btn{background:#f4f0fb;color:#6949a5;border-color:#e9e0f7}.catalog-note{margin-top:10px;font-size:11px}.passive-input{color:var(--muted);display:flex;align-items:center}
.timeline{padding-left:29px;overflow:hidden}.timeline::before{left:14px}.event{padding-right:2px}.event::before{left:-20px}.event-copy{min-width:0;max-width:100%}.event-note{font-size:13px;line-height:1.45;background:#f6f7f9;border-radius:12px;padding:10px 11px;margin:6px 0;color:#3d4654;overflow-wrap:anywhere}.event .title,.event .sub{max-width:100%;overflow-wrap:anywhere}
.document-preview{padding:0;overflow:hidden;border-radius:20px;border:1px solid #e4e7ec;box-shadow:0 14px 36px rgba(18,24,38,.075)}.doc-header{display:flex;justify-content:space-between;gap:18px;padding:22px;border-bottom:1px solid #e6e8ec;background:linear-gradient(180deg,#fff,#fbfcfd)}.doc-brand{display:flex;gap:13px;align-items:center;min-width:0}.doc-brand h2{font-size:17px;line-height:1.15;margin:0;overflow-wrap:anywhere}.doc-brand p{font-size:10px;color:var(--muted);line-height:1.4;margin:5px 0 0;overflow-wrap:anywhere}.doc-meta{text-align:right;display:flex;flex-direction:column;align-items:flex-end;min-width:92px}.doc-meta span{font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:800}.doc-meta strong{font-size:15px;margin-top:4px}.doc-meta small{font-size:10px;color:var(--muted);margin-top:2px}.doc-info{display:grid;grid-template-columns:1fr auto;gap:18px;padding:18px 22px;border-bottom:1px solid #eceef2}.doc-info>div{display:flex;flex-direction:column;gap:3px;min-width:0}.doc-info>div:last-child{text-align:right}.doc-info span{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:800}.doc-info strong{font-size:12px;overflow-wrap:anywhere}.doc-info small{font-size:10px;color:var(--muted);overflow-wrap:anywhere}.doc-table-wrap{padding:0 22px;overflow-x:auto}.doc-table{width:100%;border-collapse:collapse;table-layout:fixed}.doc-table th{font-size:8px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-weight:800;text-align:right;padding:12px 5px 8px;border-bottom:1px solid #e7e9ee}.doc-table th:first-child{text-align:left;width:46%}.doc-table th:nth-child(2){width:12%}.doc-table th:nth-child(3){width:20%}.doc-table th:nth-child(4){width:22%}.doc-table td{font-size:10px;text-align:right;padding:11px 5px;border-bottom:1px solid #eef0f3;vertical-align:top;overflow-wrap:anywhere}.doc-table td:first-child{text-align:left}.doc-table td strong{display:block;font-size:10.5px}.doc-table td small{display:block;color:var(--muted);font-size:8.5px;margin-top:3px}.doc-optionals{margin:15px 22px 0;padding:14px;border-radius:14px;background:#f7f8fa}.doc-section-label{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:800;margin-bottom:8px}.doc-optional-row{display:flex;justify-content:space-between;gap:12px;font-size:10px;padding:6px 0;border-bottom:1px solid #e8eaee}.doc-optional-row:last-child{border-bottom:0}.doc-bottom{display:grid;grid-template-columns:1fr minmax(150px,42%);gap:18px;padding:20px 22px}.doc-notes{font-size:9px;color:#4b5565}.doc-notes>div{margin-bottom:12px}.doc-notes span{display:block;font-size:8px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:800}.doc-notes p{margin:4px 0 0;line-height:1.5;overflow-wrap:anywhere}.doc-totals{font-size:10px}.doc-totals>div{display:flex;justify-content:space-between;gap:10px;padding:5px 0}.doc-totals span{color:var(--muted)}.doc-totals .grand-total{border-top:1.5px solid var(--ink);margin-top:6px;padding-top:10px;align-items:end}.doc-totals .grand-total span{color:var(--ink);font-weight:800}.doc-totals .grand-total strong{font-size:17px}.doc-footer{display:flex;justify-content:space-between;gap:12px;padding:10px 22px;background:#121826;color:#d9dee7;font-size:8px;letter-spacing:.04em}.accept-line{font-size:13px}
.customer-shell{padding-top:18px}.customer-brand{margin-top:8px}
@media(max-width:380px){.grid3{grid-template-columns:1fr}.metric{display:flex;justify-content:space-between;align-items:center}.metric strong{font-size:18px}.doc-header{padding:18px 16px}.doc-info,.doc-bottom{padding-left:16px;padding-right:16px}.doc-table-wrap{padding:0 16px}.doc-bottom{grid-template-columns:1fr}.doc-totals{border-top:1px solid var(--line);padding-top:10px}.quote-card-end{max-width:42%}.catalog-pick-row{align-items:flex-start;flex-direction:column}.catalog-pick-actions{width:100%}.catalog-pick-actions .tiny-btn{flex:1}}

@media print{
  @page{size:A4;margin:12mm}
  html,body,#app{background:#fff!important}
  body{padding:0!important;font-family:Arial,Helvetica,sans-serif!important}
  .shell,.customer-shell{max-width:none!important;min-height:auto!important;background:#fff!important;padding:0!important}
  .topbar,.nav,.fab,.no-print,.actions,.customer-brand,.accept-line,.customer-shell>button{display:none!important}
  .content{padding:0!important}
  .document-preview{width:100%!important;max-width:none!important;border:0!important;border-radius:0!important;box-shadow:none!important;overflow:visible!important}
  .doc-header{padding:0 0 16px!important;background:#fff!important}.doc-logo{width:52px;height:52px}.doc-brand h2{font-size:18px}.doc-brand p{font-size:9px}.doc-info{padding:14px 0!important}.doc-table-wrap{padding:0!important;overflow:visible!important}.doc-table th{font-size:8.5px!important}.doc-table td{font-size:9.5px!important;padding:9px 5px!important}.doc-table td strong{font-size:9.5px!important}.doc-optionals{margin:14px 0 0!important}.doc-bottom{padding:18px 0!important}.doc-footer{margin-top:6px!important;padding:9px 12px!important;-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#121826!important;color:white!important}.document-preview *{print-color-adjust:exact;-webkit-print-color-adjust:exact}
}


/* v0.1.2 mobile UX polish */
.wizard-shell{padding-bottom:168px}
.wizard-shell .content{padding-bottom:118px}
.wizard-dock{position:fixed;left:50%;bottom:76px;transform:translateX(-50%);z-index:35;width:min(520px,100%);padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:linear-gradient(180deg,rgba(248,249,251,.15),rgba(248,249,251,.98) 28%);backdrop-filter:blur(16px)}
.wizard-dock-inner{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#fff;border:1px solid var(--line);border-radius:20px;padding:10px;box-shadow:0 12px 32px rgba(18,24,38,.12)}
.wizard-back{height:46px;min-width:46px;border:1px solid var(--line);border-radius:14px;background:#f7f8fa;color:var(--ink);display:flex;align-items:center;justify-content:center;gap:5px;padding:0 11px;font:inherit;font-size:11px;font-weight:800;flex:none}.wizard-back .icon{width:17px;height:17px;margin:0}.wizard-back span{display:none}
.wizard-step-copy{display:flex;flex-direction:column;min-width:0}
.wizard-step-copy strong{font-size:12px}
.wizard-step-copy span{font-size:10px;color:var(--muted);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wizard-next{min-width:132px;min-height:48px;display:flex;align-items:center;gap:8px}
.quote-line .row{align-items:flex-start}
.quote-line .amount{font-size:clamp(14px,4vw,18px);max-width:44%;text-align:right;overflow-wrap:anywhere;line-height:1.15}
.metric strong{font-size:clamp(13px,4vw,17px);font-variant-numeric:tabular-nums}
.detail-secondary-actions{display:flex;justify-content:flex-end;margin-top:10px}
.screen-intro{margin:-8px 0 18px;color:var(--muted);font-size:14px;line-height:1.45}
.template-grid{display:grid;gap:12px}
.template-card{width:100%;display:grid;grid-template-columns:82px 1fr 34px;align-items:center;gap:14px;border:1px solid var(--line);background:#fff;border-radius:20px;padding:12px;text-align:left;color:var(--ink)}
.template-card.selected{border-color:#84b6aa;box-shadow:0 0 0 3px rgba(31,111,92,.08)}
.template-copy{display:flex;flex-direction:column;min-width:0}
.template-copy strong{font-size:14px}
.template-copy small{font-size:11px;color:var(--muted);margin-top:4px;line-height:1.35}
.template-check{display:grid;place-items:center;color:var(--accent)}
.template-thumb{height:60px;border-radius:12px;border:1px solid #e4e7ec;background:#fff;padding:9px;display:flex;flex-direction:column;gap:5px;overflow:hidden}
.template-thumb i{display:block;height:5px;border-radius:5px;background:#dfe3e8}
.template-thumb i:first-child{width:64%}.template-thumb i:nth-child(2){width:86%}.template-thumb i:nth-child(3){width:48%}
.template-thumb-studio{background:#121826}.template-thumb-studio i:first-child{background:#8be8c0}.template-thumb-studio i{background:#5e687a}
.template-thumb-classic{background:#fbf8f1;border-color:#ddd4c2}.template-thumb-classic i:first-child{background:#6e5d43}
.template-thumb-bold{background:#eff8f5;border-color:#cfe7df}.template-thumb-bold i:first-child{height:12px;background:#1f6f5c}
.signature-card{margin-top:16px;padding:14px;background:#fff;border:1px solid var(--line);border-radius:18px}
.signature-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}
.signature-head div{display:flex;flex-direction:column}.signature-head span{font-size:11px;color:var(--muted);margin-top:2px}
#signature-canvas{display:block;width:100%;height:132px;border:1px dashed #cfd5dd;border-radius:14px;background:#fbfcfd;touch-action:none}
.doc-acceptance{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin:0 22px 18px;padding-top:14px;border-top:1px solid #e7e9ee}
.doc-acceptance>div:first-child{display:flex;flex-direction:column;gap:3px}.doc-acceptance span{font-size:8px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:800}.doc-acceptance strong{font-size:11px}.doc-acceptance small{font-size:9px;color:var(--muted)}
.doc-signature{display:flex;flex-direction:column;align-items:center}.doc-signature img{max-width:130px;max-height:48px;object-fit:contain}.doc-signature span{margin-top:3px}
.template-studio .doc-header{background:#121826;color:#fff;border-bottom:0}.template-studio .doc-header p,.template-studio .doc-meta span,.template-studio .doc-meta small{color:#c8cfda}.template-studio .doc-logo{background:#fff;color:#121826}.template-studio .doc-footer{background:#1f6f5c}
.template-classic{font-family:Georgia,"Times New Roman",serif;background:#fffdf8}.template-classic .doc-header{background:#fffdf8;border-bottom:1px solid #cfc6b6}.template-classic .doc-meta strong,.template-classic .grand-total strong{color:#6e5d43}.template-classic .doc-footer{background:#6e5d43}
.template-bold .doc-header{background:#eef8f4;border-bottom:4px solid #1f6f5c}.template-bold .doc-meta strong{font-size:20px;color:#1f6f5c}.template-bold .doc-totals .grand-total{background:#eef8f4;border:0;border-radius:12px;padding:10px}.template-bold .doc-footer{background:#1f6f5c}
@media(max-width:380px){
  .wizard-dock-inner{padding-left:8px}.wizard-step-copy span{display:none}.wizard-next{min-width:108px}.wizard-back{min-width:42px;width:42px;padding:0}
  .template-card{grid-template-columns:70px 1fr 28px}.template-thumb{height:54px}
}
@media(min-width:700px){.wizard-dock{bottom:100px}}
@media print{
  .wizard-dock,.signature-card,.detail-secondary-actions{display:none!important}
  .doc-acceptance{margin-left:0!important;margin-right:0!important}
  .template-studio .doc-header,.template-bold .doc-header,.template-classic .doc-header{-webkit-print-color-adjust:exact;print-color-adjust:exact}
}

@media print{
  .template-studio .doc-header,.template-studio .doc-header *{color:#fff!important}
  .template-studio .doc-header .doc-logo{color:#121826!important}
}


/* accepted-document integrity + concept responsive pass */
.quote-line-main{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px}
.quote-line-copy{min-width:0}
.quote-line-title{display:flex;align-items:center;gap:8px;min-width:0;flex-wrap:wrap}
.quote-line-title .title{min-width:0}
.quote-line-main .amount{font-variant-numeric:tabular-nums;white-space:nowrap}
.catalog-title-responsive{gap:12px;align-items:flex-end}
.catalog-title-responsive h2{min-width:0}
.catalog-title-responsive button{flex:none;text-align:right}
.locked-document{margin-top:16px;background:#eef4ff;color:#244d87;border:1px solid #dce8fb}
.doc-optional-row.selected{font-weight:750;color:var(--ink)}
@media(max-width:430px){
  .quote-line-main{grid-template-columns:1fr}
  .quote-line-main .amount{justify-self:start;max-width:100%;font-size:17px;margin-top:2px}
  .quote-line-title{padding-right:0}
  .catalog-title-responsive{align-items:flex-start;flex-direction:column;margin-bottom:10px}
  .catalog-title-responsive button{text-align:left;padding:0}
  .catalog-picker{margin-bottom:4px}
}
@media(max-width:360px){
  .quote-line{padding:14px}
  .quote-line .list-actions{gap:6px}
  .quote-line .small-btn{padding:7px 9px}
}


/* local backend sync states */
.sync-ok{border:1px solid #cfe8df;background:#f2faf7}
.sync-offline{border:1px solid #ead8d5;background:#fff7f5}
.sync-pending{border:1px solid #eadfbf;background:#fffaf0}


.version-stamp{margin:16px 0 4px;text-align:center;font-size:11px;color:var(--muted);letter-spacing:.02em}


/* activity notifications */
.notification-button{position:relative}
.notification-badge{position:absolute;top:2px;right:1px;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:#c93d3d;color:#fff;font-size:9px;font-weight:800;display:grid;place-items:center;line-height:1}
.notification-list{display:grid;gap:8px;max-height:min(62vh,520px);overflow:auto;padding-right:2px}
.notification-item{display:grid;grid-template-columns:8px minmax(0,1fr);gap:10px;align-items:start;padding:12px;border:1px solid var(--line);border-radius:14px;background:#fff}
.notification-dot{width:8px;height:8px;border-radius:50%;background:var(--accent);margin-top:6px}
.notification-item .title{font-size:13px;line-height:1.35}
.notification-item .sub{margin-top:4px}


/* lifecycle + notification preferences */
.closed-document{margin-top:16px;background:#f7f7f8;color:#4b5565;border:1px solid var(--line)}
.notification-settings{margin-top:12px}
.notification-settings .settings-row{align-items:flex-start}
.notification-settings .settings-row>div{min-width:0;padding-right:10px}
.notification-prefs{display:grid;gap:10px;padding-top:12px;border-top:1px solid var(--line);margin-top:10px}
.muted-settings{opacity:.58}
.check-setting{display:flex;align-items:center;gap:10px;font-size:13px}
.check-setting input{width:17px;height:17px}
.notification-view-note{margin-top:12px;line-height:1.45}
.switch{position:relative;display:inline-flex;flex:none}
.switch input{position:absolute;opacity:0;pointer-events:none}
.switch span{width:42px;height:24px;border-radius:999px;background:#d7dbe1;position:relative;transition:.18s}
.switch span::after{content:'';position:absolute;width:18px;height:18px;left:3px;top:3px;border-radius:50%;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.18);transition:.18s}
.switch input:checked+span{background:var(--accent)}
.switch input:checked+span::after{transform:translateX(18px)}
.switch input:disabled+span{opacity:.45}
.badge.rejected,.badge.expired{background:#f3eded;color:#844a4a}


/* account + public quote checkpoint */
.account-onboard{max-width:520px}
.auth-shell{width:100%;display:grid;gap:14px}
.account-card{margin-bottom:14px}
.account-card h2{margin:6px 0}
.account-meta{display:flex;justify-content:space-between;gap:12px;margin-top:14px;padding-top:12px;border-top:1px solid var(--line);font-size:12px}
.public-customer-shell{padding-bottom:36px}
.public-loading{margin-top:20px;text-align:center}
.public-status-row{display:flex;justify-content:flex-end;margin:10px 0}
.public-security-note{text-align:center;margin:16px auto 0;max-width:520px;line-height:1.45}


/* payment methods */
.settings-link-card{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;margin-top:12px}
.settings-link-card span:first-child{display:grid;gap:4px}
.settings-link-card small{font-size:11px;color:var(--muted);font-weight:500}
.payment-method-card{display:grid;gap:10px}
.payment-method-copy{margin:0;font-size:13px;line-height:1.45;white-space:pre-wrap}
.payment-copy-preview{padding:9px 10px;border-radius:10px;background:#f4f5f7;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px;overflow-wrap:anywhere}
.public-payment-panel{margin-top:18px}
.payment-method-public-list{display:grid;gap:10px}
.payment-method-public{display:grid;gap:10px}
.payment-method-public p{margin:0;font-size:13px;line-height:1.5;white-space:pre-wrap}
.payment-copy-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}
.payment-copy-row code{min-width:0;padding:9px 10px;border-radius:10px;background:#f4f5f7;overflow-wrap:anywhere}
.public-payment-note{margin-top:10px;line-height:1.45}


/* sync diagnostics */
.sync-error-detail{margin-top:8px;font-size:11px;line-height:1.4;opacity:.82;overflow-wrap:anywhere}


/* compact settings + copy-friendly payment layout */
.settings-primary-link{margin:0 0 12px}
.settings-accordion{border:1px solid var(--line);border-radius:16px;background:#fff;margin:0 0 12px;overflow:hidden}
.settings-accordion>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 16px;cursor:pointer}
.settings-accordion>summary::-webkit-details-marker{display:none}
.settings-accordion>summary>span:first-child{display:grid;gap:4px;min-width:0}
.settings-accordion>summary small{font-size:11px;color:var(--muted);font-weight:500}
.settings-accordion>summary .chevron{transition:transform .18s}
.settings-accordion[open]>summary .chevron{transform:rotate(90deg)}
.settings-accordion-body{padding:0 16px 16px;border-top:1px solid var(--line)}
.settings-accordion-body.form{padding-top:16px}
.settings-save[disabled]{opacity:.36;filter:saturate(.35);cursor:not-allowed}
.settings-save.is-dirty{opacity:1;filter:none}
.payment-method-fields{display:grid;gap:9px}
.payment-method-fields>div{display:grid;gap:4px;padding-top:9px;border-top:1px solid var(--line)}
.payment-method-fields span{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:700}
.payment-method-fields p{margin:0;white-space:pre-wrap;line-height:1.45;font-size:13px}
.payment-method-fields code{font-size:12px;overflow-wrap:anywhere;white-space:pre-wrap}

@media(min-width:430px){.wizard-back span{display:inline}}


/* launch subscription / monetization */
.billing-toggle{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:5px;border:1px solid var(--line);border-radius:16px;background:#eef1f4;margin:4px 0 10px}
.billing-toggle button{border:0;border-radius:12px;background:transparent;padding:10px 8px;font:inherit;font-size:12px;font-weight:800;color:var(--muted)}
.billing-toggle button.active{background:#fff;color:var(--ink);box-shadow:0 2px 8px rgba(18,24,38,.08)}
.billing-toggle button span{display:block;font-size:9px;margin-top:2px;color:var(--accent)}
.market-price-note{text-align:center;font-size:11px;color:var(--muted);margin-bottom:12px}
.plan-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.plan-head h2{margin:4px 0 0;font-size:17px;line-height:1.25}
.plan-head .price{text-align:right;white-space:nowrap}
.plan-head .price span{display:block;font-size:10px;font-weight:600;letter-spacing:0;margin-top:2px}
.plan-feature-list{display:grid;gap:9px;list-style:none;padding:0!important;margin:16px 0}
.plan-feature-list li{display:grid;grid-template-columns:18px minmax(0,1fr);gap:8px;align-items:start;font-size:12px;line-height:1.4}
.plan-feature-list .icon{width:16px;height:16px;margin-top:1px}
.plan-card.pro .plan-feature-list .icon{color:#8be8c0}
.plan-current{font-size:11px;font-weight:800;color:var(--accent);padding-top:10px;border-top:1px solid var(--line)}
.plan-card.pro .plan-current{color:#8be8c0;border-color:rgba(255,255,255,.14)}
.annual-equivalent{font-size:11px;color:#c8cfda;margin-top:8px}
.trial-copy{text-align:center;font-size:10px;color:#c8cfda;margin-top:9px;line-height:1.4}
.trust-card{display:grid;gap:12px}
.trust-grid{display:grid;gap:8px}
.trust-grid>div{display:grid;grid-template-columns:18px minmax(0,1fr);gap:8px;align-items:start;font-size:12px}
.trust-grid .icon{width:16px;height:16px;color:var(--accent)}
@media(max-width:380px){.plan-head{display:grid}.plan-head .price{text-align:left}}


/* quote document display controls */
.quote-display-options{
  display:grid;
  gap:10px;
  margin:4px 0 2px;
  padding:12px;
  border:1px solid var(--line);
  border-radius:14px;
  background:#f8f9fb;
}
.quote-display-options .check-setting{
  align-items:flex-start;
}
.quote-display-options .check-setting span{
  display:grid;
  gap:3px;
}
.quote-display-options .check-setting small{
  color:var(--muted);
  font-size:11px;
  font-weight:500;
  line-height:1.35;
}
