:root{color-scheme:light;--color-bg: #f5f6f8;--color-surface: #ffffff;--color-border: #dde1e6;--color-text: #1f2430;--color-muted: #6b7280;--color-accent: #2f6f4f;--color-accent-bg: #eaf5ee;--color-error: #b3261e;--radius: 10px;font-family:Segoe UI,Arial,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--color-bg);color:var(--color-text)}.not-found{min-height:100vh;display:grid;place-items:center;padding:1rem}.not-found__card{width:min(100%,34rem);text-align:center}.not-found__code{margin:0 0 .25rem;color:var(--color-accent);font-size:2.5rem;font-weight:700}.not-found__card>p:not(.not-found__code){color:var(--color-muted)}.not-found__links{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem;margin-top:1.25rem}.not-found__links a{color:var(--color-accent);font-weight:600}h1,h2{margin:0 0 .5rem}.app{max-width:1280px;margin:0 auto;padding:1.5rem 1rem 3rem}.app-header{text-align:center;margin-bottom:1.5rem}.app-header p{color:var(--color-muted);margin:0}.app-toolbar{display:flex;justify-content:flex-end;margin-bottom:1rem}.app-toolbar--bottom{margin-top:.25rem;margin-bottom:0}.app-layout{display:grid;grid-template-columns:1fr;gap:1.5rem}.app-main{display:flex;flex-direction:column;gap:1.5rem;min-width:0}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:1.25rem}.hint{color:var(--color-muted);font-size:.85rem;margin:.2rem 0 .6rem}.form-grid{display:grid;grid-template-columns:1fr;gap:.6rem}.field{display:flex;flex-direction:column;gap:.2rem;font-size:.85rem;font-weight:600}.field-wide{margin-top:.6rem}.field input,.field textarea{font:inherit;font-weight:400;padding:.35rem .5rem;border:1px solid var(--color-border);border-radius:6px;background:var(--color-surface);color:var(--color-text);width:100%}.field textarea{resize:vertical;min-height:2.4rem}.field input:focus,.field textarea:focus{outline:2px solid var(--color-accent);outline-offset:1px}.field input[aria-invalid=true]{border-color:var(--color-error)}.field-error{color:var(--color-error);font-weight:400;font-size:.8rem}.fieldset{border:none;padding:0;margin:1.25rem 0 0}.fieldset legend{font-weight:600;padding:0 0 .5rem}.option-card{border:1px solid var(--color-border);border-radius:var(--radius);padding:.75rem 1rem;margin-bottom:.75rem;transition:border-color .15s ease,background-color .15s ease}.option-card:last-child{margin-bottom:0}.option-card--selected{border-color:var(--color-accent);background:var(--color-accent-bg)}.option-card__label{display:flex;align-items:center;gap:.6rem;font-weight:600;cursor:pointer}.option-card__title{display:flex;flex:1;justify-content:space-between;gap:.5rem;flex-wrap:wrap}.option-card__price{color:var(--color-accent);white-space:nowrap}.option-card__description{list-style:disc;margin:.5rem 0 0 1.6rem;padding:0;color:var(--color-muted);font-size:.85rem}.option-card__badge{color:var(--color-muted);font-weight:400;font-size:.8rem;white-space:nowrap}.inline-field{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-top:.6rem;font-size:.85rem;font-weight:600}.inline-field input{max-width:9rem;font:inherit;font-weight:400;padding:.3rem .5rem;border:1px solid var(--color-border);border-radius:6px}.custom-item-grid{display:grid;grid-template-columns:1fr;gap:.6rem}.custom-item-footer{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-top:.6rem}.button{border:1px solid var(--color-accent);background:var(--color-accent-bg);color:var(--color-accent);border-radius:6px;padding:.45rem .9rem;font-weight:600;cursor:pointer}.button--danger{border-color:var(--color-error);background:var(--color-surface);color:var(--color-error);padding:.3rem .6rem;font-size:.8rem}.button--secondary{border-color:var(--color-border);background:var(--color-surface);color:var(--color-text)}.adjustment{border-top:1px solid var(--color-border);padding-top:.9rem;margin-top:.9rem}.adjustment:first-of-type{border-top:none;padding-top:0;margin-top:0}.adjustment h3{margin:0 0 .5rem;font-size:1rem}.adjustment__fields{margin-top:.6rem;display:flex;flex-direction:column;gap:.6rem;max-width:20rem}.adjustment__type-row{display:flex;gap:1rem}.radio-inline{display:flex;align-items:center;gap:.35rem;font-size:.85rem;font-weight:400}.summary{align-self:start;position:static;display:flex;flex-direction:column;height:fit-content}.summary__section{margin-bottom:1rem}.summary__section h3{margin:0 0 .4rem;font-size:.95rem;color:var(--color-muted)}.summary__items{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem}.summary__item{display:flex;justify-content:space-between;gap:.5rem;font-size:.95rem}.summary__totals{border-top:1px solid var(--color-border);padding-top:.75rem;display:flex;flex-direction:column;gap:.5rem}.summary__row{display:flex;justify-content:space-between;gap:.5rem;font-size:.95rem}.summary__row--negative{color:var(--color-accent)}.summary__row--positive{color:var(--color-error)}.summary__total{display:flex;justify-content:space-between;gap:.5rem;font-weight:700;font-size:1.15rem;border-top:1px solid var(--color-border);padding-top:.5rem;margin-top:.25rem}@media (min-width: 900px){.app-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}.form-grid{grid-template-columns:repeat(2,1fr)}.summary{position:sticky;top:1.5rem}}.demo-banner{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;background:#eef2ff;border:1px solid #c7d2fe;border-radius:var(--radius);padding:.6rem .9rem;margin-bottom:1rem}.demo-banner__badge{flex-shrink:0;display:inline-block;background:#4338ca;color:#fff;font-size:.75rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;border-radius:999px;padding:.25rem .7rem}.demo-banner__text{margin:0;color:#3730a3;font-size:.85rem;line-height:1.4}.demo-guidance-note{margin:0 0 1.25rem;color:var(--color-text);font-size:.9rem;line-height:1.5}.demo-cta{margin-top:2rem;padding:1.5rem;background:var(--color-accent-bg);border:1px solid var(--color-border);border-radius:var(--radius);text-align:center}.demo-cta h2{margin:0 0 .5rem;font-size:1.2rem}.demo-cta p{margin:0 0 1rem;color:var(--color-muted)}.demo-cta__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem}.demo-cta__button{text-decoration:none;display:inline-flex;align-items:center}.demo-cta__button--primary{border-color:var(--color-accent);background:var(--color-accent);color:#fff}.demo-cta__button:disabled{opacity:.55;cursor:not-allowed}.quote-page{--quote-accent: #d88281;--quote-accent-soft: #f7e7e7;--quote-text: #2f2f2f;--quote-muted: #6b6b6b;--quote-border: #e8e1de;--quote-bg: #fffdfb;min-height:100vh;background:var(--color-bg);padding:1.5rem 1rem 3rem}.quote-toolbar{display:flex;justify-content:center;flex-wrap:wrap;gap:.75rem;max-width:210mm;margin:0 auto 1.25rem}.quote-toolbar-error{max-width:210mm;margin:0 auto 1rem;color:var(--color-error);text-align:center;font-size:.85rem}.quote-document{position:relative;overflow:hidden;background:var(--quote-bg);color:var(--quote-text);border:1px solid var(--quote-border);border-radius:var(--radius);max-width:210mm;margin:0 auto;padding:16mm;box-shadow:0 2px 16px #2f2f2f0f}.quote-header-accent-strip{position:absolute;top:0;left:0;right:0;height:.3rem;background:var(--quote-accent);pointer-events:none;-webkit-user-select:none;user-select:none}.quote-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--quote-border);padding-bottom:.9rem;margin-bottom:1.25rem}.quote-wordmark{display:block;height:2.1rem;width:auto}.quote-header h1{margin:0;font-size:.8rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--quote-muted)}.quote-preliminary-notice{color:var(--quote-muted);font-size:.85rem;line-height:1.55;max-width:none;margin:0 0 1.25rem}.quote-meta{display:flex;flex-wrap:wrap;gap:1.5rem;background:var(--quote-accent-soft);border-radius:3px;padding:.75rem 1.1rem;margin-bottom:1.5rem;break-inside:avoid;page-break-inside:avoid}.quote-meta__item{display:flex;flex-direction:column;gap:.2rem;font-size:.9rem}.quote-meta__label{color:var(--quote-muted);font-size:.7rem;text-transform:uppercase;letter-spacing:.06em}.quote-meta__item span:last-child{font-weight:700;color:var(--quote-text)}.quote-section{margin-bottom:1.25rem;break-inside:avoid;page-break-inside:avoid}.quote-section h2{display:flex;align-items:center;gap:.5rem;font-size:.85rem;text-transform:uppercase;letter-spacing:.08em;color:var(--quote-muted);border-bottom:1px solid var(--quote-border);padding-bottom:.4rem;margin:0 0 .7rem}.quote-section h2:before{content:"";display:inline-block;width:14px;height:2px;background:var(--quote-accent);flex-shrink:0}.quote-fields{margin:0;display:flex;flex-direction:column;gap:0}.quote-fields__row{display:flex;gap:.5rem;font-size:.9rem;padding:.35rem 0;border-bottom:1px solid var(--quote-border)}.quote-fields__row:last-child{border-bottom:none}.quote-fields__row dt{color:var(--quote-muted);min-width:9rem}.quote-fields__row dd{margin:0;font-weight:600;color:var(--quote-text)}.quote-line{break-inside:avoid;page-break-inside:avoid;padding-bottom:1.1rem;margin-bottom:1.1rem;border-bottom:1px solid var(--quote-border)}.quote-line:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.quote-line__row{display:flex;justify-content:space-between;gap:.5rem;font-size:.9rem;font-weight:600;color:var(--quote-text)}.quote-line__description{list-style:disc;margin:.6rem 0 0 1.4rem;padding:0;color:var(--quote-muted);font-size:.8rem;font-weight:400;line-height:1.6}.quote-line__note{margin:.3rem 0 0;color:var(--quote-muted);font-size:.8rem;font-weight:400}.quote-note{white-space:pre-wrap;font-size:.9rem;margin:0;color:var(--quote-text)}.quote-totals{background:var(--quote-accent-soft);border-radius:8px;padding:1.1rem 1.25rem;margin-top:.5rem}.quote-totals__row{display:flex;justify-content:space-between;gap:.5rem;font-size:.9rem;padding:.25rem 0;color:var(--quote-text)}.quote-totals__row--grand{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem;font-weight:700;font-size:1.55rem;color:var(--quote-accent);border-top:1px solid var(--quote-border);margin-top:.5rem;padding-top:.75rem}.quote-disclaimer{margin-top:1.5rem;padding-top:.75rem;border-top:1px solid var(--quote-border);color:var(--quote-muted);font-size:.78rem;font-style:italic}.quote-demo-stamp{margin-top:.75rem;color:var(--quote-muted);font-size:.7rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;text-align:center}@media print{@page{size:A4;margin:16mm 14mm}.no-print{display:none!important}body,.quote-page{background:#fff;padding:0}.quote-document{box-shadow:none;border:none;border-radius:0;max-width:none;margin:0;padding:0}}
