:root{color-scheme:light;--brand: #204e43;--brand-hover: #173c33;--brand-soft: #eaf1ed;--accent: #b7cbba;--page: #f5f5f0;--surface: #ffffff;--surface-raised: #fafbf8;--text: #202e29;--text-secondary: #526159;--text-muted: #637168;--border: #dde2db;--input-border: #87978d;--success: #286247;--warning: #775018;--warning-bg: #faf3e5;--error: #a32c2c;--error-bg: #fff2f0;--focus: #32765f;--font: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.5rem;--text-2xl: 2rem;--text-3xl: 2.5rem;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--radius-sm: .5rem;--radius-md: .75rem;--radius-lg: 1.25rem;--radius-pill: 999px;--shadow-surface: 0 4px 24px #202e2906, 0 1px 3px #202e2904;--input-height: 3rem;--button-height: 3rem;--container: 72rem;--form-width: 32rem;--motion: .16s ease}*{box-sizing:border-box}body{margin:0;background:var(--page);color:var(--text);font-family:var(--font);font-size:var(--text-base);line-height:1.5;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button,summary,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{min-height:var(--button-height);padding:var(--space-3) var(--space-5);border:1px solid transparent;border-radius:var(--radius-sm);color:var(--surface);background:var(--brand);font-weight:var(--weight-semibold);cursor:pointer;transition:background var(--motion),border-color var(--motion),transform var(--motion)}button:hover:not(:disabled){background:var(--brand-hover)}button:active:not(:disabled){transform:translateY(1px)}button:disabled{opacity:.55;cursor:not-allowed}button.secondary{color:var(--brand);background:var(--surface);border-color:var(--border)}button.secondary:hover:not(:disabled){background:var(--brand-soft);border-color:var(--input-border)}button.quiet{color:var(--text-secondary);background:transparent}button.quiet:hover:not(:disabled){background:var(--brand-soft)}:where(button,input,select,textarea,summary,a):focus-visible{outline:3px solid var(--focus);outline-offset:3px}[tabindex="-1"]:focus{outline:none}input:not([type=checkbox]),select,textarea{display:block;width:100%;min-width:0;min-height:var(--input-height);padding:var(--space-3);border:1px solid var(--input-border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);transition:border-color var(--motion),box-shadow var(--motion)}input::placeholder,textarea::placeholder{color:var(--text-muted);opacity:1}input:hover,select:hover,textarea:hover{border-color:var(--brand)}input[aria-invalid=true],select[aria-invalid=true],textarea[aria-invalid=true]{border-color:var(--error);background:var(--error-bg)}textarea{resize:vertical}label{display:block;margin-bottom:var(--space-2);font-size:var(--text-sm);font-weight:var(--weight-semibold)}p{margin:0 0 var(--space-4)}h1,h2,h3,h4{line-height:1.2}h2,h3,h4{margin:0;overflow-wrap:anywhere}h2{font-size:clamp(var(--text-2xl),3vw,var(--text-3xl));letter-spacing:-.045em;font-weight:var(--weight-semibold)}h3{font-size:var(--text-lg);letter-spacing:-.02em}h4{font-size:var(--text-base);font-weight:var(--weight-semibold)}.hint,.optional{font-size:var(--text-sm);color:var(--text-secondary);font-weight:400}.hint{margin-top:var(--space-2)}.optional{margin-left:var(--space-2)}.eyebrow{display:block;font-size:var(--text-xs);font-weight:var(--weight-bold);letter-spacing:.12em;text-transform:uppercase;color:var(--brand)}.error{color:var(--error);font-size:var(--text-sm);margin:var(--space-2) 0 0}.badge{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);background:var(--brand-soft);color:var(--brand);font-size:var(--text-xs);font-weight:var(--weight-semibold);border-radius:var(--radius-pill)}.field{margin-bottom:var(--space-6);min-width:0}.field:last-child{margin-bottom:0}.input-unit{position:relative}.input-unit>span{position:absolute;top:50%;transform:translateY(-50%);left:var(--space-4);color:var(--text-secondary);pointer-events:none}.input-unit input{padding-left:var(--space-8);font-variant-numeric:tabular-nums}.input-unit.suffix>span{left:auto;right:var(--space-4)}.input-unit.suffix input{padding-left:var(--space-3);padding-right:var(--space-12)}.notice{padding:var(--space-4);border-radius:var(--radius-sm);background:var(--warning-bg);color:var(--warning);font-size:var(--text-sm)}details>summary{cursor:pointer;min-height:44px;align-content:center;font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--brand);border-radius:var(--radius-sm)}details>summary:hover{color:var(--brand-hover)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}[hidden]{display:none!important}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}.price-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-4)}.price-grid .field{margin-bottom:0}@media print{body:has(app-estimate-document,app-invoice-document){background:#fff;page:estimate}body:has(app-estimate-document,app-invoice-document) app-root{display:block!important;min-height:0!important}body:has(app-estimate-document,app-invoice-document) .app-header,body:has(app-estimate-document,app-invoice-document) .app-footer,body:has(app-estimate-document,app-invoice-document) .skip-link{display:none!important}body:has(app-estimate-document,app-invoice-document) main{max-width:none!important;margin:0!important;padding:0!important}}@page estimate{margin:16mm}a,a:visited{color:var(--brand)}a.nav-button{display:inline-flex;align-items:center;justify-content:center;min-height:var(--button-height);padding:var(--space-3) var(--space-5);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--brand);font-weight:var(--weight-semibold);text-decoration:none;text-align:center;gap:var(--space-2)}a.nav-button:hover{background:var(--brand-soft);border-color:var(--input-border)}a.nav-button.primary{background:var(--brand);border-color:var(--brand);color:var(--surface)}a.nav-button.primary:hover{background:var(--brand-hover)}.back-navigation{margin-bottom:var(--space-6)}.invoice-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4)}.invoice-toolbar h2{margin:0 0 var(--space-2)}.invoice-toolbar p{margin:0}.invoice-menu{position:relative;flex-shrink:0}.invoice-menu>summary{display:flex;align-items:center;gap:var(--space-2);min-height:var(--button-height);padding:var(--space-3) var(--space-4);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--brand);font-weight:var(--weight-semibold);list-style:none;cursor:pointer}.invoice-menu>summary::-webkit-details-marker{display:none}.hamburger{display:grid;gap:var(--space-1);width:var(--space-4)}.hamburger i{display:block;height:2px;background:currentColor}.invoice-menu nav{position:absolute;right:0;z-index:5;width:min(20rem,100vw - var(--space-10));max-height:70vh;overflow:auto;padding:var(--space-2);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-surface)}.invoice-menu nav button,.invoice-menu nav a,.invoice-history summary{display:block;width:100%;text-align:left;min-height:var(--button-height);padding:var(--space-3);color:var(--brand);text-decoration:none;border-radius:var(--radius-sm);cursor:pointer}.invoice-menu nav a:hover,.invoice-history summary:hover{background:var(--brand-soft)}.invoice-menu small{display:block;font-size:var(--text-xs);overflow-wrap:anywhere;color:var(--text-secondary)}.invoice-history{border-block:1px solid var(--border);margin-block:var(--space-2)}.invoice-history [aria-current=true]{background:var(--brand-soft)}.invoice-menu nav .menu-next{background:var(--brand-soft);font-weight:var(--weight-semibold);margin-bottom:var(--space-2)}
