@font-face{font-family:robotoCondensed;src:url(../media/RobotoCondensed_Regular-s.p.1dm1upagg0f06.ttf)format("truetype");font-display:swap;font-weight:400;font-style:normal}@font-face{font-family:robotoCondensed;src:url(../media/RobotoCondensed_Bold-s.p.09f061buclx1i.ttf)format("truetype");font-display:swap;font-weight:700;font-style:normal}@font-face{font-family:robotoCondensed Fallback;src:local(Arial);ascent-override:104.18%;descent-override:27.42%;line-gap-override:0.0%;size-adjust:89.05%}.robotocondensed_a68cf5b7-module__r4L4Qq__className{font-family:robotoCondensed,robotoCondensed Fallback}.robotocondensed_a68cf5b7-module__r4L4Qq__variable{--font-roboto-condensed:"robotoCondensed", "robotoCondensed Fallback"}
:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ink:#0a0304;--accent:#f5a800;--accent-secondary:#0bd7f4;--text-secondary:#64748b;--text-muted:#94a3b8;--border-subtle:#e2e8f0;--border:#cbd5e1;--bg-primary:#fff;--bg-secondary:#f8fafc;--bg-tertiary:#f1f5f9;--accent-dark:#cf8f00;--accent-light:#fdf1d6;--success:#16a34a;--error:#dc2626;--warning:#f59e0b;--space-xs:4px;--space-sm:8px;--space-md:12px;--space-lg:16px;--space-xl:20px;--space-2xl:24px;--space-3xl:32px;--font-family:var(--font-roboto-condensed), "Arial Narrow", sans-serif;--line-height-tight:1.4;--line-height-normal:1.5;--line-height-relaxed:1.6;--shadow-xs:0 1px 2px 0 #0000000d;--shadow-sm:0 1px 3px 0 #0000001a, 0 1px 2px 0 #0000000f;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -1px #0000000f}*{box-sizing:border-box}body{background:var(--bg-secondary);color:var(--ink);font-family:var(--font-family);line-height:var(--line-height-normal);margin:0}main{max-width:640px;padding:var(--space-lg);margin:0 auto}main.main--wide{max-width:1180px}.main--wide .app-header{max-width:640px}.app-header h1,h2,h3{text-transform:uppercase;letter-spacing:-.02em;font-weight:700;line-height:var(--line-height-tight);color:var(--ink)}.brand-logo{width:auto;height:28px;display:block}.app-header{margin-bottom:var(--space-xl)}.app-header h1{margin:0;font-size:1.5rem}h2{margin:0 0 var(--space-md) 0;font-size:1.2rem}h3{margin:0 0 var(--space-sm) 0;font-size:.95rem}.hint{color:var(--text-muted);font-size:.9rem;line-height:var(--line-height-normal)}.error{color:var(--error);font-size:.9rem;font-weight:700}.issue-box{padding:var(--space-md) var(--space-lg);border:1px solid;border-radius:8px;font-size:.95rem;line-height:1.45}.issue-box--block{border-color:var(--error);background:#fef2f2}.issue-box--warn{border-color:var(--warning);background:var(--accent-light)}.issue-heading{margin:0 0 var(--space-sm);font-weight:700}.issue-box--block .issue-heading{color:var(--error)}.issue-box ul{gap:var(--space-sm);flex-direction:column;margin:0;padding-left:1.2em;display:flex}.badge{color:#713f12;padding:var(--space-xs) var(--space-md);text-transform:uppercase;letter-spacing:0;background:#fef08a;border:1px solid #fcd34d;border-radius:8px;font-size:.85rem;font-weight:700;transition:all .15s ease-out;display:inline-block}.badge:empty{display:none}.badge:hover{background:#fef3c7;border-color:#fbbf24}.steps{gap:var(--space-xs);margin:var(--space-lg) 0 0;color:var(--text-muted);padding:0;font-size:.75rem;line-height:1.2;list-style:none;display:flex}.steps li,.steps-button{align-items:center;gap:var(--space-xs);text-align:center;flex-direction:column;flex:1;min-width:0;display:flex}.steps-button{width:100%;box-shadow:none;min-height:0;color:inherit;font:inherit;cursor:pointer;background:0 0;border:none;padding:0}.steps-button:hover:not(:disabled){color:var(--accent-dark);box-shadow:none;background:0 0;transform:none}.steps-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}.steps-dot{border:2px solid var(--border);background:var(--bg-primary);border-radius:50%;flex:none;place-items:center;width:24px;height:24px;font-size:.75rem;font-weight:700;display:grid}.steps-label{white-space:nowrap;text-overflow:ellipsis;max-width:100%;overflow:hidden}.steps li.done .steps-dot{background:var(--accent);border-color:var(--accent);color:var(--ink)}.steps li.active .steps-dot{border-color:var(--accent);color:var(--accent-dark);box-shadow:0 0 0 3px var(--accent-light)}.steps li.active .steps-label{color:var(--ink);font-weight:700}@media (max-width:560px){.steps li:not(.active) .steps-label{display:none}.steps li.active{flex:2.5}}.back-link{box-shadow:none;color:var(--accent-dark);min-height:32px;margin-bottom:var(--space-sm);background:0 0;border:none;align-self:flex-start;padding:0;font-size:.9rem}.back-link:hover:not(:disabled){color:var(--ink);box-shadow:none;background:0 0;transform:none}.link-button{box-shadow:none;color:var(--accent-dark);text-underline-offset:3px;text-align:left;background:0 0;border:none;min-height:32px;padding:0;font-size:.95rem;font-weight:700;text-decoration:underline}.link-button:hover:not(:disabled){color:var(--ink);box-shadow:none;background:0 0;transform:none}.card{background:var(--bg-primary);border:1px solid var(--border);padding:var(--space-2xl);margin-top:var(--space-xl);box-shadow:var(--shadow-xs);border-radius:12px}.stack{gap:var(--space-md);flex-direction:column;display:flex}.row{gap:var(--space-sm);flex-wrap:wrap;display:flex}label{gap:var(--space-xs);color:var(--ink);flex-direction:column;font-size:.9rem;font-weight:700;display:flex}input,select{border:1px solid var(--border);padding:var(--space-md) var(--space-md);color:var(--ink);background:var(--bg-primary);border-radius:8px;min-height:44px;font-family:inherit;font-size:1rem;transition:all .15s ease-out}input:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-light);outline:none}input:disabled,select:disabled{background:var(--bg-tertiary);color:var(--text-muted);cursor:not-allowed}button{background:var(--accent);color:var(--ink);padding:var(--space-md) var(--space-lg);cursor:pointer;min-height:44px;box-shadow:var(--shadow-sm);border:none;border-radius:8px;justify-content:center;align-items:center;font-size:.95rem;font-weight:700;transition:all .15s ease-out;display:flex}button:hover:not(:disabled){background:var(--accent-dark);color:var(--bg-primary);box-shadow:var(--shadow-md);transform:translateY(-1px)}button:active:not(:disabled){box-shadow:var(--shadow-xs);transform:translateY(0)}button:focus:not(:disabled){box-shadow:0 0 0 3px var(--accent-light), var(--shadow-md);outline:none}button:disabled{background:var(--text-muted);color:var(--bg-primary);cursor:not-allowed;opacity:.5}button.secondary{color:var(--accent-dark);border:2px solid var(--accent);padding:calc(var(--space-md) - 1px) calc(var(--space-lg) - 1px);box-shadow:none;background:0 0}button.secondary:hover:not(:disabled){background:var(--accent-light);box-shadow:var(--shadow-sm)}button.secondary:active:not(:disabled){box-shadow:var(--shadow-xs)}button.secondary:focus:not(:disabled){box-shadow:0 0 0 3px var(--accent-light), 0 0 0 5px var(--accent);outline:none}table{border-collapse:collapse;width:100%}td{padding:var(--space-md) 0;border-bottom:1px solid var(--border-subtle);font-size:.95rem}td:last-child{text-align:right}.photo-frame{border:1px solid var(--border);background:var(--bg-tertiary);width:100%;box-shadow:var(--shadow-xs);margin:var(--space-md) 0;border-radius:12px;line-height:0;display:block;position:relative;overflow:hidden}.photo-frame img{width:100%;height:auto;display:block}.photo-overlay{width:100%;height:100%;position:absolute;inset:0}.photo-3d{pointer-events:none;position:absolute;top:0;left:0}.photo-label{fill:#fff;stroke:#0a0304b8;stroke-width:3px;stroke-linejoin:round;paint-order:stroke;pointer-events:none;font-size:12px;font-weight:700;font-family:var(--font-family)}.photo-handle{fill:#fff;stroke:var(--accent-secondary);stroke-width:2.5px}.photo-tools{bottom:var(--space-sm);right:var(--space-sm);gap:6px;line-height:1.2;display:flex;position:absolute}.icon-button{color:#fff;min-height:30px;box-shadow:none;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0a03049e;border-radius:999px;padding:3px 10px;font-size:.75rem}.icon-button:hover:not(:disabled){color:#fff;box-shadow:none;background:#0a0304d9;transform:none}.photo-frame.photo-frame--expanded,.workspace .photo-frame.photo-frame--expanded{width:min(96vw, calc(96vh * var(--aspect)));height:min(96vh, calc(96vw / var(--aspect)));z-index:1001;border:none;border-radius:8px;margin:auto;position:fixed;inset:0}.photo-backdrop{z-index:1000;background:#0a0304e0;position:fixed;inset:0}.loupe{background-repeat:no-repeat;background-color:var(--bg-tertiary);pointer-events:none;border:3px solid #fff;border-radius:50%;position:absolute;overflow:hidden;box-shadow:0 4px 16px #00000059}.loupe:before,.loupe:after{content:"";background:var(--accent-secondary);position:absolute;box-shadow:0 0 0 1px #fff9}.loupe:before{width:1.5px;margin-left:-.75px;top:22%;bottom:22%;left:50%}.loupe:after{height:1.5px;margin-top:-.75px;top:50%;left:22%;right:22%}.workspace{gap:var(--space-lg);display:grid}.workspace .photo-frame{margin:0}@media (min-width:900px){.workspace{grid-template-columns:minmax(0,1fr) 300px;align-items:start}}.file-button{justify-content:center;align-items:center;gap:var(--space-sm);min-height:44px;padding:var(--space-md) var(--space-lg);background:var(--accent);color:var(--ink);cursor:pointer;box-shadow:var(--shadow-sm);border-radius:8px;flex-direction:row;font-size:.95rem;font-weight:700;display:inline-flex}.file-button.secondary{color:var(--accent-dark);border:2px solid var(--accent);box-shadow:none;background:0 0}.file-button:focus-within{box-shadow:0 0 0 3px var(--accent-light), var(--shadow-md)}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;min-height:0;margin:-1px;padding:0;position:absolute;overflow:hidden}.summary-visual{gap:var(--space-sm);flex-direction:column;margin:0;display:flex}.summary-visual img{border:1px solid var(--border);border-radius:12px;width:100%;height:auto;display:block}.summary-visual figcaption{margin:0}.button-link{min-height:44px;padding:var(--space-md) var(--space-lg);border-radius:8px;justify-content:center;align-items:center;font-size:.95rem;font-weight:700;text-decoration:none;display:inline-flex}.button-link.secondary{color:var(--accent-dark);border:2px solid var(--accent);padding:calc(var(--space-md) - 2px) calc(var(--space-lg) - 2px)}.button-link.secondary:hover{background:var(--accent-light)}textarea{border:1px solid var(--border);padding:var(--space-md);color:var(--ink);background:var(--bg-primary);resize:vertical;border-radius:8px;font-family:inherit;font-size:1rem}textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-light);outline:none}.survey-grid,.survey-line{gap:var(--space-md);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));align-items:start;display:grid}.survey-line{padding-top:var(--space-md);border-top:1px solid var(--border-subtle)}.survey-line>button{align-self:end}.survey-notes{white-space:pre-wrap;margin:0}.ar-overlay{pointer-events:none;z-index:1000;flex-direction:column;justify-content:flex-end;display:flex;position:fixed;inset:0}.ar-overlay--hidden{display:none}.ar-panel{pointer-events:auto;margin:var(--space-lg);padding:var(--space-lg);color:var(--ink);background:#ffffffeb;border-radius:12px}.ar-instruction{margin:0 0 var(--space-sm);font-weight:700}.ar-length{margin:0 0 var(--space-md);font-size:1.6rem;font-weight:700}.outline-details{gap:var(--space-lg);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));align-items:start;display:grid}.floor-plan{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:8px;width:100%;max-width:320px}.floor-plan-room{fill:var(--accent-light);stroke:var(--ink);stroke-width:2px}.floor-plan-corner{fill:var(--accent)}.floor-plan-letter,.floor-plan-length{text-anchor:middle;dominant-baseline:middle;fill:var(--ink);font-size:12px}.floor-plan-letter{font-weight:700}.outline-walls{padding-left:var(--space-lg);margin:0}.project-open{padding-bottom:var(--space-xl);margin-bottom:var(--space-xl);border-bottom:1px solid var(--border-subtle)}.engineer-badge{text-transform:uppercase;padding:2px var(--space-sm);background:var(--accent-secondary);color:var(--ink);border-radius:4px;font-size:.8rem;font-weight:700;display:inline-block}.field{gap:var(--space-xs);flex-direction:column;display:flex}.field-hint,.field-preview,.field-warning,.field-error{font-size:.9rem;line-height:var(--line-height-normal);margin:0}.field-hint{color:var(--text-secondary)}.field-preview{color:var(--ink);font-weight:700}.field-warning{background:var(--accent-light);border-left:3px solid var(--accent);padding:var(--space-sm) var(--space-md);color:var(--ink);border-radius:4px}.field-error{color:var(--error);font-weight:700}input[aria-invalid=true]{border-color:var(--error)}input[aria-invalid=true]:focus{box-shadow:0 0 0 3px #dc262633}.summary-date{margin:0;font-size:.8rem}.hardware-list{margin:0;padding:0;list-style:none}.hardware-item{align-items:center;gap:var(--space-lg);padding:var(--space-sm) 0;border-bottom:1px solid var(--border-subtle);break-inside:avoid;grid-template-columns:96px 1fr;display:grid}.hardware-thumb{background:var(--bg-secondary);width:96px;height:64px;color:var(--text-muted);border-radius:8px;justify-content:center;align-items:center;display:flex;position:relative}.hardware-thumb-frame{position:absolute;overflow:hidden}.hardware-thumb-frame img{max-width:none;display:block;position:absolute}.hardware-text{flex-direction:column;display:flex}.hardware-name{font-weight:700}.hardware-text .hint{text-transform:capitalize}.price-section{background:var(--bg-secondary);border:1px solid var(--border);padding:var(--space-lg) var(--space-xl);border-radius:12px}.price-section h3{margin-bottom:var(--space-xs)}.price-line td{color:var(--text-secondary);font-size:.9rem}.price-total td{border-bottom:0;border-top:2px solid var(--ink);padding-top:var(--space-lg);color:var(--ink);font-size:1.4rem;font-weight:700;line-height:1.2}.price-total td:first-child{text-transform:uppercase;letter-spacing:-.02em}.price-vat{color:var(--text-secondary);font-size:.85rem;font-weight:400;display:block}@media print{@page{size:A4;margin:15mm}.app-header [role=group],.steps,.back-link,button,.button-link,.no-print{display:none!important}body{background:#fff}main,main.main--wide{max-width:none;padding:0}.app-header{margin-bottom:var(--space-md)}.card{box-shadow:none;border:0;border-radius:0;margin-top:0;padding:0}.price-section{background:0 0}.badge,.hardware-thumb,.hardware-thumb-frame img{-webkit-print-color-adjust:exact;print-color-adjust:exact}.price-section,.price-table,.summary-visual,.summary-visual img,.hardware-item{break-inside:avoid}.summary-visual img{width:auto;max-width:100%;max-height:120mm}}.photo-3d-host{pointer-events:none;position:absolute;inset:0}.choice-field{border:none;margin:0;padding:0}.choice-field legend{margin-bottom:var(--space-sm);padding:0;font-weight:700}.choice{align-items:center;gap:var(--space-sm);cursor:pointer;flex-direction:row;min-height:44px;font-weight:400;display:flex}.choice input{width:20px;height:20px;accent-color:var(--accent);margin:0}
