:root{color-scheme:dark;--bg:#07111f;--panel:#0e1b2b;--line:#20334a;--muted:#99aabd;--text:#eef5ff;--cyan:#56d8ef;--blue:#7187ff;--green:#42d39b;--radius:18px;font-family:"DM Sans",sans-serif}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 78% 2%,#152b4d 0,transparent 38%),linear-gradient(155deg,#07111f,#081522 55%,#0b1324);color:var(--text);min-height:100vh}button,input,select,textarea{font:inherit}button{cursor:pointer}.wrap{max-width:1380px;padding:24px clamp(16px,4vw,58px) 48px;margin:auto}.topbar{display:flex;justify-content:space-between;align-items:center;border:1px solid #25364a;border-radius:16px;background:#07111fe8;padding:12px 18px;margin-bottom:42px}.brand{display:flex;align-items:center;gap:10px;color:#d8e9f6;text-decoration:none;font-size:12px;font-weight:700;letter-spacing:.15em}.brand small{display:block;font-size:9px;color:#8094a9;letter-spacing:.18em;margin-top:4px}.mark{font:700 23px "Space Grotesk";letter-spacing:-.08em;color:var(--cyan);border:1px solid #2a6278;border-radius:8px;padding:4px 8px}.secure{color:#a9b8c9;font-size:12px}.secure i,.status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 12px #42d39b;margin-right:7px}.eyebrow{color:var(--cyan);font-size:11px;font-weight:700;letter-spacing:.17em;text-transform:uppercase}.gate{max-width:640px;margin:8vh auto 16vh;padding:clamp(24px,5vw,54px)}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:"Space Grotesk",sans-serif}h1{font-size:clamp(34px,5vw,58px);letter-spacing:-.055em;margin:14px 0}p{color:#aebdce;line-height:1.65}.panel{background:linear-gradient(140deg,#112137ee,#0b1726f2);border:1px solid var(--line);border-radius:var(--radius);padding:24px;box-shadow:0 24px 70px #0003}.gate form{margin-top:28px}.gate label,.fields label,.search-label,.line-fields label,.quote-head>label{display:grid;gap:8px;color:#bdcbd9;font-size:12px;font-weight:600}.key-row{display:flex;gap:10px;margin-top:8px}.key-row input{flex:1}.input, input,select,textarea{min-width:0;width:100%;background:#091523;color:var(--text);border:1px solid #30435a;border-radius:10px;padding:12px 13px;outline:none}input:focus,select:focus,textarea:focus{border-color:#54cfe5;box-shadow:0 0 0 3px #54cfe522}.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:1px solid transparent;border-radius:11px;padding:12px 16px;font-size:13px;font-weight:700;white-space:nowrap}.primary{background:linear-gradient(115deg,#68dded,#7d94ff);color:#05101c}.secondary{background:#14283a;border-color:#2c5064;color:#dff8ff}.subtle{background:transparent;color:#c6d4e3;border-color:#32445a}.whatsapp{background:#123828;color:#bcf7d8;border-color:#247e51}.heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin:0 0 24px}.heading h1{font-size:clamp(34px,4vw,48px)}.heading p{margin:0}.layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(340px,.85fr);align-items:start;gap:18px}.form-column{display:grid;gap:16px}.section-title{display:flex;gap:14px;align-items:flex-start;margin-bottom:22px}.section-title>span{display:grid;place-items:center;flex:none;width:34px;height:34px;border-radius:10px;background:#143146;color:var(--cyan);font-weight:700}.section-title h2{font-size:19px;margin:0 0 4px}.section-title p{font-size:12px;margin:0}.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.fields .wide{grid-column:1/-1}.fields input,.fields textarea{font-weight:400}.check-field{display:flex!important;align-items:center;gap:10px!important}.check-field input{width:18px;height:18px;accent-color:#4ccbe0}.tax-note{font-size:11px;margin:12px 0 0}.search-label{margin-bottom:8px}.add-row{display:flex;gap:8px}.line-items{display:grid;gap:10px;margin-top:14px}.empty,.quote-lines>p{border:1px dashed #30435a;border-radius:12px;padding:19px;text-align:center;color:#8294a8;font-size:13px}.line-card{background:#0a1624;border:1px solid #24384e;border-radius:13px;padding:14px}.line-top{display:flex;justify-content:space-between;gap:12px}.line-category{font-size:10px;color:var(--cyan);letter-spacing:.13em;text-transform:uppercase}.line-top h3{font-size:15px;margin:4px 0}.line-top small{color:#94a6b9;font-size:11px}.remove{background:transparent;border:0;color:#d3a7a7;font-size:22px}.line-fields{display:grid;grid-template-columns:.7fr 1.3fr;gap:10px;margin-top:14px}.line-fields label{font-size:10px}.line-fields input{padding:10px;font-size:13px}.line-total{border-top:1px solid #203044;margin-top:12px;padding-top:10px;display:flex;justify-content:space-between;font-size:12px;color:#c0d0df}.line-total b{color:#eafaff}.internal-note{display:flex;gap:10px;background:#1d2830;border:1px solid #584e2c;border-radius:11px;padding:12px;margin-top:16px;color:#ddcf9f;font-size:11px;line-height:1.55}.internal-note b{white-space:nowrap;color:#ffe098}.preview-panel{position:sticky;top:18px}.large{font-size:10px;letter-spacing:.1em}.large .mark{font-size:18px}.quote-head{display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid #304257;padding-bottom:18px}.quote-head>label{max-width:145px}.quote-head input{text-align:right;font-family:monospace}.quote-client{display:grid;gap:6px;padding:18px 0;color:#a9bbcd;font-size:12px;border-bottom:1px solid #263a50}.quote-client b{font-size:15px;color:#f0f5fd}.quote-lines{padding:14px 0;border-bottom:1px solid #263a50}.quote-line{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:9px 0;font-size:12px}.quote-line small{display:block;color:#8598ac;font-size:10px;margin-top:4px}.quote-line b{white-space:nowrap}.totals{display:grid;gap:9px;padding:15px 0;border-bottom:1px solid #263a50}.totals>div{display:flex;justify-content:space-between;color:#a8b9c9;font-size:12px}.totals .grand{font-size:15px;color:#f3f7ff;padding-top:9px;border-top:1px solid #273b50}.grand b{color:var(--cyan);font-size:20px}.quote-meta{display:grid;gap:11px;padding:16px 0}.quote-meta>div{display:grid;gap:3px}.quote-meta span{color:#869aad;font-size:10px;text-transform:uppercase;letter-spacing:.08em}.quote-meta b{font-size:12px;font-weight:500;white-space:pre-wrap}.review-warning{color:#f0d395;font-size:11px;background:#392f1e;padding:10px;border-radius:8px}.actions{display:grid;gap:8px}.share-hint{display:block;color:#8194a7;font-size:10px;line-height:1.5;margin-top:10px}.error{min-height:18px;color:#ffa5a5;font-size:12px}.heading .button{flex:none}footer{margin-top:24px;color:#71879a;font-size:11px;text-align:center}
@media(max-width:980px){.layout{grid-template-columns:minmax(0,1fr)}.preview-panel{position:static}.heading{align-items:flex-start}.preview-panel{max-width:none}}
@media(max-width:560px){.wrap{padding:12px 12px 32px}.topbar{margin-bottom:24px;padding:10px 12px}.panel{padding:17px;border-radius:14px}.gate{margin:5vh auto 10vh}.key-row{flex-direction:column}.heading{display:block}.heading .button{margin-top:16px}.fields{grid-template-columns:1fr}.fields .wide{grid-column:auto}.add-row{align-items:stretch}.add-row select{font-size:12px}.add-row .button{padding:10px}.line-fields{grid-template-columns:1fr 1fr}.quote-head{align-items:flex-start}.large{font-size:8px}.secure{font-size:10px}}
@media print{body{background:#fff;color:#102033}.wrap{max-width:none;padding:0}.topbar,#gate,.heading,.form-column,.preview-panel>.section-title,.actions,.share-hint,footer,.review-warning{display:none!important}#app[hidden]{display:block!important}.layout{display:block}.preview-panel{position:static;display:block!important;background:#fff;color:#102033;box-shadow:none;border:0;padding:0}.quote-head,.quote-client,.quote-lines,.totals,.quote-meta{border-color:#cbd5df}.quote-client,.quote-lines,.totals>div,.quote-meta span,.quote-meta b,.quote-line,.quote-line b,.large,.large small{color:#102033}.quote-lines small{color:#4e6176}.quote-meta span{color:#485c70}.grand b{color:#076d8b}.quote-head input{color:#102033;background:#fff;border:0}.quote-line{break-inside:avoid}.brand{color:#102033}.mark{color:#05627a;border-color:#8aaebb}a{color:#102033}}
