.hero{max-width:820px;margin:0 auto var(--space-8);text-align:center}.hero-badge{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border:1px solid rgba(255,92,0,.2);background:#ff5c0014;border-radius:999px;font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.06em;color:var(--color-primary);margin-bottom:var(--space-4)}.hero-dot{width:6px;height:6px;background:var(--color-primary);border-radius:999px;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.hero h1{font-size:clamp(1.65rem,1.1rem + 2.5vw,2.7rem);font-weight:800;letter-spacing:-.03em;line-height:1.1;margin-bottom:var(--space-3)}.accent-serif{font-family:var(--font-serif);font-style:italic;font-weight:400;color:var(--color-primary)}.accent-serif-muted{font-family:var(--font-serif);font-style:italic;font-weight:400;color:var(--color-text-muted)}.hero p{color:var(--color-text-muted);font-size:var(--fs-md);line-height:1.7;max-width:680px;margin:0 auto}.hero-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:12px;margin-top:var(--space-6)}.hero-hint{font-size:var(--fs-xs);font-family:var(--font-mono);color:var(--color-text-muted);min-height:44px;display:inline-flex;align-items:center}.tool-card{max-width:1280px;margin:0 auto var(--space-8);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-6)}@media (min-width:768px){.tool-card{padding:var(--space-8)}}.tool-grid{display:grid;grid-template-columns:1fr;gap:var(--space-8)}@media (min-width:960px){.tool-grid{grid-template-columns:1fr 1fr}}.tool-form{display:flex;flex-direction:column;gap:var(--space-6)}.form-section{border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-4);background:var(--color-surface)}.form-section h3{font-size:var(--fs-sm);font-weight:700;color:var(--color-primary);margin-bottom:var(--space-4);display:flex;align-items:center;gap:var(--space-2)}.step-num{width:24px;height:24px;border-radius:999px;background:#ff5c001a;color:var(--color-primary);display:inline-flex;align-items:center;justify-content:center;font-size:var(--fs-xs);font-weight:800;flex-shrink:0}.field-label{display:block;font-size:var(--fs-sm);font-weight:600;color:var(--color-text);margin-bottom:var(--space-2)}.text-input{width:100%;font:inherit;font-size:var(--fs-base);color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:calc(var(--radius) - 2px);padding:var(--space-3) var(--space-4);min-height:44px;transition:border-color .15s,box-shadow .15s}textarea.text-input{resize:vertical;min-height:76px}.text-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #ff5c0026}select.text-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23888890' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;padding-right:2.5rem}select.text-input option{background:var(--color-surface);color:var(--color-text)}.field-row{display:grid;gap:var(--space-3)}.field-row.two{grid-template-columns:1fr 1fr}@media (max-width:768px){.field-row.two{grid-template-columns:1fr}}.items-list{display:flex;flex-direction:column;gap:var(--space-2)}.item-row{display:grid;grid-template-columns:1.6fr .55fr .7fr .85fr .85fr 40px;gap:var(--space-2);align-items:center}.item-row .text-input{min-height:42px;padding:var(--space-2) var(--space-3);font-size:var(--fs-sm)}.item-total{font-size:var(--fs-sm);font-weight:700;font-variant-numeric:tabular-nums;color:var(--color-text);text-align:right;white-space:nowrap}.remove-btn{width:40px;height:40px;border:1px solid var(--color-border);border-radius:calc(var(--radius) - 2px);background:var(--color-bg);color:var(--color-text-muted);font-size:var(--fs-lg);line-height:1;cursor:pointer;transition:color .15s,border-color .15s}.remove-btn:hover{color:var(--color-danger);border-color:#ef444459}.add-btn{font:inherit;font-size:var(--fs-sm);font-weight:600;color:var(--color-primary);background:#ff5c001a;border:1px solid rgba(255,92,0,.2);border-radius:calc(var(--radius) - 2px);min-height:44px;padding:0 var(--space-4);cursor:pointer;align-self:flex-start;transition:background .15s}.add-btn:hover{background:#ff5c0026}.btn{font:inherit;font-size:var(--fs-base);font-weight:700;border-radius:999px;min-height:48px;padding:0 var(--space-6);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);transition:transform .15s,background .15s,border-color .15s,opacity .15s;text-decoration:none;border:none}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover{background:var(--color-primary-light);transform:translateY(-1px)}.btn-secondary{background:var(--color-surface);color:var(--color-text-muted);border:1px solid var(--color-border)}.btn-secondary:hover{color:var(--color-text);border-color:var(--color-text-muted)}.toggle-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2);background:var(--color-bg);border:1px solid var(--color-border);border-radius:calc(var(--radius) - 2px);padding:4px}.toggle-row button{font:inherit;font-size:var(--fs-sm);font-weight:600;color:var(--color-text-muted);background:transparent;border:none;border-radius:calc(var(--radius) - 6px);min-height:40px;cursor:pointer;transition:background .15s,color .15s}.toggle-row button.active{background:var(--color-surface);color:var(--color-primary);box-shadow:0 1px 2px #0000001f}.switch{position:relative;display:inline-block;width:44px;height:26px;flex-shrink:0}.switch input{opacity:0;width:0;height:0}.slider{position:absolute;inset:0;cursor:pointer;background:#3f3f46;border-radius:999px;transition:.2s}.slider:before{content:"";position:absolute;height:20px;width:20px;left:3px;bottom:3px;background:#fff;border-radius:50%;transition:.2s}input:checked+.slider{background:var(--color-primary)}input:checked+.slider:before{transform:translate(18px)}.wht-switch-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-3);border-radius:calc(var(--radius) - 2px);background:var(--color-bg);border:1px solid var(--color-border)}.wht-title{font-size:13px;font-weight:600}.wht-sub{font-size:11px;line-height:1.6;color:var(--color-text-muted)}.wht-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:var(--space-3)}.wht-chips button{min-height:36px;padding:0 14px;border-radius:999px;font-size:12px;font-weight:600;cursor:pointer;transition:background .15s,color .15s,border-color .15s;background:var(--color-bg);border:1px solid var(--color-border);color:var(--color-text-muted)}.wht-chips button.active-chip{background:#ff5c001a;border-color:#ff5c0038;color:var(--color-primary)}.helper{font-size:var(--fs-xs);color:var(--color-text-muted);margin-top:var(--space-2);line-height:1.6}.mini-totals{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;text-align:center;background:#ff5c000f;border:1px solid rgba(255,92,0,.14);border-radius:calc(var(--radius) - 2px);padding:var(--space-3)}.mini-label{font-size:10px;font-family:var(--font-mono);letter-spacing:.06em;color:var(--color-text-muted);text-transform:uppercase}.mini-value{font-size:13px;font-weight:700;font-variant-numeric:tabular-nums;margin-top:2px}.mini-value.text-primary{color:var(--color-primary)}.mini-value.text-danger{color:var(--color-danger)}.mini-grand{grid-column:1 / -1;padding-top:var(--space-2);border-top:1px solid rgba(255,92,0,.14);margin-top:var(--space-1)}.mini-value-grand{font-size:17px;font-weight:800;font-variant-numeric:tabular-nums;color:var(--color-primary);margin-top:2px}.actions{display:flex;flex-wrap:wrap;gap:var(--space-3)}.copy-note{font-size:var(--fs-xs);min-height:1.2em;text-align:center;color:var(--color-text-muted);margin-top:var(--space-2)}.preview-panel{display:flex;flex-direction:column;gap:var(--space-4)}.preview-header{display:flex;align-items:center;justify-content:space-between}.preview-header .field-label{margin-bottom:0}.mono-hint{font-family:var(--font-mono);font-size:var(--fs-2xs);color:var(--color-text-muted);letter-spacing:.06em}.quote-preview{--print-bg:#fff;--print-text:#18181b;--print-muted:#6b7280;--print-border:#e4e4e7;--print-accent:#FF5C00;border:1px solid var(--print-border);border-radius:calc(var(--radius) - 2px);overflow:hidden;background:var(--print-bg);color:var(--print-text)}.quote-doc{padding:var(--space-6)}.quote-top{display:flex;justify-content:space-between;gap:var(--space-4);padding-bottom:var(--space-4);border-bottom:2px solid var(--print-text);margin-bottom:var(--space-4)}.quote-brand{font-size:var(--fs-lg);font-weight:800;color:var(--print-accent);line-height:1.2}.quote-brand small{display:block;font-size:var(--fs-xs);font-weight:500;color:var(--print-muted);margin-top:2px}.quote-title{text-align:right;font-weight:800;letter-spacing:.02em;line-height:1.3}.quote-title small{display:block;font-size:var(--fs-xs);font-weight:500;color:var(--print-muted);font-family:var(--font-mono)}.quote-badge{margin-top:6px;display:inline-flex;align-items:center;gap:6px;font-size:10px;font-weight:700;letter-spacing:.06em;padding:4px 8px;border-radius:999px;border:1px solid var(--print-border);background:#f4f4f5;font-family:var(--font-mono)}.quot-meta{display:flex;justify-content:space-between;gap:var(--space-6);margin-bottom:var(--space-4);flex-wrap:wrap}.quot-meta .col{display:flex;flex-direction:column;gap:2px;min-width:0}.quot-meta .label{font-size:var(--fs-2xs);color:var(--print-muted);text-transform:uppercase;letter-spacing:.04em}.quot-meta .value{font-size:var(--fs-sm);font-weight:600;word-break:break-word}.quot-ref{font-size:var(--fs-xs);background:#f4f4f5;border:1px solid var(--print-border);border-radius:10px;padding:10px 12px;display:grid;grid-template-columns:1fr 1fr;gap:6px 16px;margin-bottom:var(--space-4)}.quot-ref span{color:var(--print-muted)}.quot-ref strong{color:var(--print-text);font-weight:700}.quot-table{width:100%;border-collapse:collapse;font-size:var(--fs-sm);border:1px solid var(--print-text)}.quot-table th{background:var(--print-text);color:#fff;font-size:var(--fs-2xs);text-transform:uppercase;letter-spacing:.04em;padding:7px 8px;text-align:left;font-weight:700;white-space:nowrap}.quot-table th.num,.quot-table td.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.quot-table td{padding:9px 8px;border-bottom:1px solid var(--print-border);vertical-align:top}.quot-table tr:last-child td{border-bottom:none}.quot-table td .desc-line{font-weight:600}.quot-table td .unit-line{font-size:var(--fs-2xs);color:var(--print-muted)}.quot-table tr.empty td{color:var(--print-muted);text-align:center;padding:20px 12px}.totals-wrap{display:flex;justify-content:flex-end;margin-top:var(--space-4)}.totals-box{border:1px solid var(--print-text);min-width:300px;border-radius:10px;overflow:hidden;font-size:var(--fs-sm)}.totals-row{display:flex;justify-content:space-between;gap:var(--space-4);padding:9px 12px;border-bottom:1px solid var(--print-border)}.totals-row:last-child{border-bottom:none}.totals-row .label{color:var(--print-muted)}.totals-row .value{font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}.totals-row.wht .value{color:#c2410c}.totals-row.grand{background:#fff4ec;border-top:2px solid var(--print-text);font-size:var(--fs-md);font-weight:800}.totals-row.grand .value{color:var(--print-accent);font-size:clamp(1.05rem,1rem + .6vw,1.35rem)}.baht-box{margin-top:var(--space-4);border:1px dashed var(--print-border);border-radius:10px;padding:12px;display:flex;justify-content:space-between;gap:var(--space-4);background:#fafafa}.baht-head{font-size:var(--fs-2xs);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--print-muted)}.baht-text{font-size:var(--fs-sm);font-weight:600;color:var(--print-text);margin-top:2px;word-break:break-word}.baht-line{font-size:var(--fs-2xs);color:var(--print-muted);margin-top:4px;font-family:var(--font-mono)}.baht-side{text-align:right;font-size:var(--fs-2xs);color:var(--print-muted);line-height:1.6;max-width:190px}.quote-note{margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px dashed var(--print-border);font-size:var(--fs-xs);color:var(--print-muted);line-height:1.7}.quote-note strong{color:var(--print-text)}.signs{margin-top:var(--space-6);display:grid;grid-template-columns:1fr 1fr;gap:var(--space-8)}.sign{font-size:var(--fs-xs);color:var(--print-muted);text-align:center}.sign .line{margin-top:44px;border-top:1px solid var(--print-text);padding-top:6px;font-weight:600;color:var(--print-text)}.sign-sub{margin-top:4px;font-size:10px}.quote-foot{margin-top:var(--space-4);font-size:10px;color:var(--print-muted);text-align:center;font-family:var(--font-mono)}.preview-hint{font-size:var(--fs-xs);color:var(--color-text-muted);text-align:center}.features{max-width:980px;margin:0 auto var(--space-8);display:grid;gap:var(--space-6)}@media (min-width:768px){.features{grid-template-columns:repeat(3,1fr)}}.feature{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-6)}.feature .icon{width:44px;height:44px;border-radius:10px;background:#ff5c001a;color:var(--color-primary);display:inline-flex;align-items:center;justify-content:center;font-size:22px;margin-bottom:var(--space-3)}.feature h3{font-size:var(--fs-md);font-weight:700;margin-bottom:var(--space-2)}.feature p{font-size:var(--fs-sm);color:var(--color-text-muted);line-height:1.7}.faq{max-width:720px;margin:0 auto var(--space-8)}.faq h2{font-size:var(--fs-xl);font-weight:800;text-align:center;margin-bottom:var(--space-6)}.faq details{background:var(--color-surface);border:1px solid var(--color-border);border-radius:calc(var(--radius) - 2px);margin-bottom:var(--space-2);overflow:hidden}.faq summary{cursor:pointer;list-style:none;padding:var(--space-4) var(--space-6);font-weight:600;font-size:var(--fs-base);display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);min-height:44px}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";font-size:var(--fs-lg);color:var(--color-text-muted);flex-shrink:0}.faq details[open] summary:after{content:"−"}.faq .answer{padding:0 var(--space-6) var(--space-6);font-size:var(--fs-sm);color:var(--color-text-muted);line-height:1.7}@media (max-width:960px){.totals-wrap{justify-content:stretch}.totals-box{width:100%;min-width:0}}@media (max-width:768px){.item-row{grid-template-columns:1fr .55fr .7fr 36px}.item-row .item-total{display:none}.quot-meta{flex-direction:column}.quot-ref{grid-template-columns:1fr}.quote-doc{padding:var(--space-4)}.signs{grid-template-columns:1fr}.baht-box{flex-direction:column}}@media print{body{background:#fff;background-image:none}.hero,.tool-form,.preview-header,.preview-hint,.features,.faq{display:none!important}main{padding:0;max-width:100%}.tool-card{border:none;padding:0;box-shadow:none}.tool-grid,.preview-panel{display:block}.quote-preview{border:none}.quote-doc{padding:0}}
