:root{--color-bg: #f8f9fa;--color-surface: #ffffff;--color-text: #2d3748;--color-muted: #a0aec0;--color-muted-strong: #718096;--color-border: #e2e8f0;--color-primary: #f2a900;--color-primary-soft: #fff6dc;--color-primary-text: #2d3748;--color-accent-text: #8f5e00;--color-error: #e53e3e;--color-error-bg: #fff5f5;--color-success: #48bb78;--color-success-bg: #f0fff4;--radius-sm: 12px;--radius: 15px;--radius-lg: 20px;--shadow: 0 3.5px 5.5px rgba(0, 0, 0, .02);--shadow-nav: 0 7px 23px rgba(0, 0, 0, .05);--space-1: .25rem;--space-2: .5rem;--space-3: 1rem;--space-4: 1.5rem;--space-5: 2rem;--font: "Helvetica Neue", Helvetica, Arial, system-ui, sans-serif;--sidebar-width: 260px;color-scheme:light}*{box-sizing:border-box}body{margin:0;font-family:var(--font);font-size:14px;background:var(--color-bg);color:var(--color-text);line-height:1.5}h1,h2,p{margin:0}a{color:var(--color-accent-text);font-weight:600;text-decoration:none}a:hover{text-decoration:underline}input,select,textarea{font:inherit;font-size:14px;color:inherit;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:0 var(--space-3);height:50px}textarea{height:auto;padding:var(--space-2) var(--space-3);resize:vertical}select{height:36px;border-radius:var(--radius-sm);padding:0 var(--space-2);font-size:12px}input::placeholder{color:var(--color-muted)}input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible,a:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.app-layout{display:flex;min-height:100vh}.app-main{flex:1;min-width:0;display:flex;flex-direction:column;padding:var(--space-4) var(--space-4) 0}.content{flex:1;gap:var(--space-4)}.stack{display:flex;flex-direction:column;gap:var(--space-3)}.flex{display:flex;align-items:center;flex-wrap:wrap}.align-end{align-items:flex-end}.gap-1{gap:var(--space-1)}.gap-2{gap:var(--space-3)}.push-right{margin-left:auto}.sidebar{position:sticky;top:0;align-self:flex-start;width:var(--sidebar-width);height:100vh;flex-shrink:0;padding:var(--space-5) var(--space-3);overflow-y:auto}.sidebar-brand{padding:0 var(--space-3) var(--space-4);margin-bottom:var(--space-4);border-bottom:1px solid transparent;border-image:linear-gradient(90deg,transparent,var(--color-border),transparent) 1}.brand{display:inline-flex;align-items:center;gap:var(--space-2);font-size:14px;font-weight:700;text-transform:uppercase;color:var(--color-text)}.brand svg{color:var(--color-primary)}.sidebar-link{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius);color:var(--color-muted);font-size:12px;font-weight:700}.sidebar-link:hover{text-decoration:none;color:var(--color-text)}.sidebar-link.active{background:var(--color-surface);box-shadow:var(--shadow);color:var(--color-text)}.icon-chip{display:grid;place-items:center;width:30px;height:30px;border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-primary);box-shadow:var(--shadow)}.sidebar-link.active .icon-chip{background:var(--color-primary);color:var(--color-primary-text)}.sidebar-backdrop{display:none}.topbar{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:var(--space-3);margin:calc(var(--space-4) * -1) calc(var(--space-4) * -1) var(--space-4);padding:var(--space-3) var(--space-4);background:color-mix(in srgb,var(--color-bg) 88%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.breadcrumb{font-size:12px;color:var(--color-muted)}.breadcrumb span{color:var(--color-text)}.page-header{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4)}.page-header h1{font-size:24px}.account-menu,.dropdown{position:relative}.account-trigger{display:inline-flex;align-items:center;gap:var(--space-2);padding:4px 10px 4px 4px;border:1px solid var(--color-border);border-radius:999px;background:var(--color-surface);font:inherit;font-size:13px;font-weight:700;color:var(--color-text);cursor:pointer}.account-avatar{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--color-primary);color:var(--color-primary-text);font-size:11px}.account-name{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dropdown-panel{position:absolute;top:calc(100% + 8px);right:0;z-index:30;display:flex;flex-direction:column;min-width:240px;padding:var(--space-2);border-radius:var(--radius);background:var(--color-surface);box-shadow:var(--shadow-nav)}.account-head{display:flex;flex-direction:column;padding:var(--space-2) var(--space-3) var(--space-3);margin-bottom:var(--space-1);border-bottom:1px solid var(--color-border)}.dropdown-item{white-space:nowrap;display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:0;border-radius:var(--radius-sm);background:none;font:inherit;font-size:14px;font-weight:600;color:var(--color-text);text-align:left;cursor:pointer}.dropdown-item:hover,.dropdown-item.active{background:var(--color-bg);text-decoration:none}.account-logout{margin-top:var(--space-1);border-top:1px solid var(--color-border);border-radius:0 0 var(--radius-sm) var(--radius-sm);color:var(--color-error)}.placeholder-card{align-items:flex-start}.icon-button{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-2);border:0;background:none;color:var(--color-muted-strong);font:inherit;font-weight:700;cursor:pointer;border-radius:var(--radius-sm)}.icon-button:hover{color:var(--color-text)}.menu-toggle{display:none}.card{padding:var(--space-4);background:var(--color-surface);border-radius:var(--radius);box-shadow:var(--shadow)}.card-title{font-size:18px;font-weight:700}.field{display:flex;flex-direction:column;gap:var(--space-1);flex:1;min-width:220px}.field label{font-size:14px;font-weight:400;padding-left:var(--space-1)}.field-control{display:flex;position:relative}.field-control input{flex:1;min-width:0;padding-right:90px}.field-addon{position:absolute;right:6px;top:50%;transform:translateY(-50%);font:inherit;font-size:10px;font-weight:700;text-transform:uppercase;padding:var(--space-2) var(--space-3);border:0;border-radius:var(--radius-sm);background:var(--color-bg);color:var(--color-muted-strong);cursor:pointer}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-1);font:inherit;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.02em;height:45px;padding:0 var(--space-4);border:0;border-radius:var(--radius-sm);background:var(--color-primary);color:var(--color-primary-text);cursor:pointer}.btn:hover{filter:brightness(.96);text-decoration:none}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-danger{background:var(--color-error);color:#fff}.modal{width:min(440px,calc(100% - 32px));padding:var(--space-4);border:0;border-radius:var(--radius);box-shadow:var(--shadow-nav);color:var(--color-text)}.modal::backdrop{background:#2d374873}.modal-actions{justify-content:flex-end}.modal-wide{width:min(620px,calc(100% - 32px))}.shortcut-table td{padding:var(--space-2) var(--space-2) var(--space-2) 0;font-size:13px}kbd{display:inline-block;min-width:24px;margin-right:4px;padding:2px 6px;border:1px solid var(--color-border);border-bottom-width:2px;border-radius:6px;background:var(--color-bg);font:inherit;font-size:12px;font-weight:700;text-align:center}.link-button{border:0;background:none;font:inherit;font-size:10px;font-weight:700;color:var(--color-muted-strong);cursor:pointer}.link-button:hover{color:var(--color-error)}.alert{padding:var(--space-3);border-radius:var(--radius-sm);font-size:13px}.alert-error{background:var(--color-error-bg);color:var(--color-error)}.alert-success{background:var(--color-success-bg);color:var(--color-success)}.tabs{display:flex;padding:var(--space-1);background:var(--color-surface);border-radius:var(--radius-sm);box-shadow:var(--shadow)}.tab{flex:1;padding:var(--space-2) var(--space-3);text-align:center;font-size:10px;font-weight:700;text-transform:uppercase;color:var(--color-muted);border-radius:10px}.tab:hover{text-decoration:none;color:var(--color-text)}.tab.active{background:var(--color-primary);color:var(--color-primary-text)}.table-scroll{overflow-x:auto}.table{width:100%;border-collapse:collapse}.table th{padding:var(--space-2) 0;text-align:left;font-size:10px;font-weight:700;text-transform:uppercase;color:var(--color-muted);border-bottom:1px solid var(--color-border)}.table td{padding:var(--space-3) var(--space-2) var(--space-3) 0;font-size:14px;border-bottom:1px solid var(--color-border)}.table tr:last-child td{border-bottom:0}.badge{display:inline-block;padding:2px 10px;border-radius:8px;font-size:12px;font-weight:700;background:var(--color-primary);color:var(--color-primary-text)}.planner{display:flex;flex-direction:column;gap:var(--space-4)}.planner-body{display:grid;grid-template-columns:minmax(0,600px);justify-content:center;gap:var(--space-4);align-items:start;padding-top:var(--space-3)}.planner-body.is-wide{grid-template-columns:minmax(0,1000px)}.planner-body.is-editor{grid-template-columns:minmax(300px,380px) minmax(0,1fr);justify-content:stretch}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.form-grid .field,.package-row .field{min-width:0}.planner-stage{position:sticky;top:84px}.canvas-wrap{padding:var(--space-2);border:2px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface)}.planner-nav{position:sticky;top:0;z-index:20;padding:var(--space-2) 0 var(--space-3);border-bottom:1px solid var(--color-border);background:var(--color-surface)}.planner-info{display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-3);font-size:13px;line-height:1.5}.planner-info-title{display:flex;align-items:center;gap:var(--space-1);font-size:14px}.step-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-2);margin:0;padding:0;list-style:none;counter-reset:step}.step-list li{display:flex;align-items:flex-start;gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-sm);background:var(--color-bg);counter-increment:step}.step-list li:before{display:grid;flex:none;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--color-primary);font-size:12px;font-weight:700;color:var(--color-primary-text);content:counter(step)}@media(max-width:900px){.step-list{grid-template-columns:1fr}}.required-mark{color:var(--color-error);font-weight:700}.canvas-wrap{position:relative}.item-tag{display:inline-block;min-width:28px;margin-right:var(--space-2);padding:1px 6px;border-radius:9px;font-size:11px;font-weight:700;text-align:center}.item-tag-surface{background:var(--color-primary);color:var(--color-primary-text)}.item-tag-obstacle{background:var(--color-error);color:#fff}.planner-canvas{display:flex;justify-content:center;width:100%;border-radius:var(--radius-sm);overflow:hidden;touch-action:none}.planner-canvas.tool-obstacle{cursor:crosshair}.canvas-toolbar{position:absolute;top:var(--space-3);left:var(--space-3);z-index:2;display:flex;align-items:center;gap:2px;padding:4px;background:#ffffffeb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:var(--radius-sm);box-shadow:var(--shadow-nav)}.toolbar-button{display:grid;place-items:center;min-width:34px;height:34px;padding:0 var(--space-2);border:0;border-radius:9px;background:none;color:var(--color-text);font:inherit;cursor:pointer}.toolbar-button:hover:not(:disabled){background:var(--color-bg)}.toolbar-button:disabled{opacity:.35;cursor:not-allowed}.toolbar-button.is-active{background:var(--color-primary);color:var(--color-primary-text)}.toolbar-text.is-yellow{color:var(--color-primary)}.toolbar-text{font-size:11px;font-weight:700;text-transform:uppercase;white-space:nowrap}.toolbar-danger{color:var(--color-error)}.is-active .toolbar-danger{color:var(--color-primary-text)}.toolbar-divider{width:1px;height:22px;margin:0 4px;background:var(--color-border)}.surface-card{padding:var(--space-3);border:2px solid var(--color-border);border-radius:var(--radius)}.surface-card.is-selected{border-color:var(--color-primary)}.surface-card.is-hidden{opacity:.55}.edge-editor{display:grid;grid-template-columns:76px 1fr 76px;grid-template-rows:auto auto auto;gap:4px;align-items:center;justify-items:center}.edge-editor input,.input-sm,.surface-card select{height:36px;border-radius:var(--radius-sm);padding:0 var(--space-2);font-size:13px}.edge-editor input{width:76px;text-align:center}.edge-top{grid-column:2;grid-row:1}.edge-left{grid-column:1;grid-row:2}.edge-right{grid-column:3;grid-row:2}.edge-bottom{grid-column:2;grid-row:3}.edge-sketch{grid-column:2;grid-row:2;width:100%;max-width:140px;height:60px}.edge-sketch polygon{fill:var(--color-primary-soft);stroke:var(--color-primary);stroke-width:2}.obstacle-card .flex{gap:var(--space-1)}.obstacle-row{display:grid;grid-template-columns:minmax(0,1fr) 64px auto 64px auto;gap:4px;align-items:center}.obstacle-row select{min-width:0}.obstacle-card.is-selected{border-color:var(--color-error)}.card-dot{width:10px;height:10px;margin-right:var(--space-2);border-radius:3px}.card-dot-surface{background:var(--color-primary)}.card-dot-obstacle{background:var(--color-error)}.input-sm{width:100%}.result-panel .stat-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.text-center{text-align:center}.orientation-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding:4px;background:var(--color-bg);border-radius:var(--radius-sm)}.orientation-tab{display:flex;align-items:center;justify-content:center;gap:var(--space-2);height:40px;border:0;border-radius:9px;background:none;font:inherit;font-size:11px;font-weight:700;text-transform:uppercase;color:var(--color-muted-strong);cursor:pointer}.orientation-tab svg rect{fill:var(--color-surface);stroke:currentColor;stroke-width:1.5}.orientation-tab.is-active{background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow)}.orientation-tab.is-active svg rect{fill:var(--color-primary);stroke:var(--color-accent-text)}.roof-type-tabs{grid-template-columns:repeat(4,1fr)}.roof-type-tabs .orientation-tab{flex-direction:column;gap:2px;height:52px}.orientation-tab svg path{fill:var(--color-surface);stroke:currentColor;stroke-width:1.5;stroke-linejoin:round}.orientation-tab.is-active svg path{fill:var(--color-primary);stroke:var(--color-accent-text)}.hip-calibration{padding:var(--space-2);border-radius:var(--radius-sm);background:var(--color-bg)}.hip-calibration input[type=range]{height:auto;padding:0;border:0;background:none;accent-color:var(--color-primary)}.override-box{padding:var(--space-2);border-radius:var(--radius-sm);background:var(--color-bg)}.badge-soft{background:var(--color-primary-soft);color:var(--color-accent-text);font-size:10px}.link-inline{padding:0;border:0;background:none;font:inherit;font-weight:700;color:var(--color-accent-text);cursor:pointer}.spacing-settings summary{cursor:pointer}.spacing-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2);margin-top:var(--space-2)}.spacing-grid .field{min-width:0}.module-row-reason{margin-left:var(--space-2);font-size:11px;font-weight:700;color:var(--color-error)}.module-list{max-height:280px;margin:0;padding:0;overflow-y:auto;list-style:none;border-top:1px solid var(--color-border)}.module-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;border-bottom:1px solid var(--color-border)}.module-row.is-selected{background:var(--color-primary-soft)}.module-row.is-hidden .module-row-name{opacity:.45;text-decoration:line-through}.module-row.is-invalid .module-row-name{color:var(--color-error)}.module-row-name{padding:var(--space-2);border:0;background:none;font:inherit;font-size:13px;font-weight:600;text-align:left;color:var(--color-text);cursor:pointer}.icon-danger:hover{color:var(--color-error)}.economics{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4);border:2px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface)}.economics-top{display:grid;grid-template-columns:minmax(220px,1fr) minmax(0,1.4fr);gap:var(--space-4);align-items:start}.economics-hero{display:flex;flex-direction:column;gap:2px;padding:var(--space-3);border-radius:var(--radius-sm);background:var(--color-primary-soft)}.hero-number{font-size:44px;line-height:1.1;color:var(--color-text)}.split-bar{width:100%;line-height:0}.split-savings{fill:var(--chart-self, #2f6fd6);background:var(--chart-self, #2f6fd6)}.split-feedin{fill:var(--chart-yield, #d99a00);background:var(--chart-yield, #d99a00)}.legend{margin:0;padding:0;list-style:none;font-size:13px}.legend li{display:grid;grid-template-columns:10px minmax(0,1fr) auto;align-items:center;gap:var(--space-2);padding:4px 0}.legend-detail{display:block;font-size:11px;color:var(--color-muted-strong)}.legend-swatch{width:10px;height:10px;border-radius:3px}.legend-bar{background:var(--chart-yield, #d99a00)}.legend-line{height:3px;background:var(--color-text)}.balance-chart{margin:0}.balance-plot{width:100%}.balance-plot svg{display:block;overflow:visible}.chart-grid{stroke:var(--color-border);stroke-dasharray:3 3}.chart-line{fill:none;stroke:var(--color-text);stroke-width:2;stroke-linejoin:round}.hero-unit{font-size:18px;font-weight:700}.bar-negative{fill:#cbd5e0}.bar-positive{fill:var(--chart-yield, #d99a00)}.chart-baseline{stroke:var(--color-muted-strong);stroke-width:1}.chart-label{font-size:12px;fill:var(--color-muted-strong)}.payback-marker line{stroke:var(--color-text);stroke-width:1.5;stroke-dasharray:3 3}.payback-marker text{font-size:12px;font-weight:700;fill:var(--color-text)}.chart-tooltip-box{display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 10px;border-radius:10px;background:var(--color-text);box-shadow:0 4px 12px #0000002e;font-size:12px;line-height:1.4;text-align:center;color:#fff;white-space:nowrap}.chart-tooltip .tooltip-title{font-weight:700}.quote-range{font-size:26px}.quote-table td{padding:var(--space-2) var(--space-2) var(--space-2) 0;font-size:13px}.quote-table .is-missing td{color:var(--color-error)}.quote-subtotal td{border-top:2px solid var(--color-border);font-weight:700}.quote-total td{font-size:15px;font-weight:700;border-bottom:0}.economics-assumptions{padding-top:var(--space-3);border-top:1px solid var(--color-border)}.assumption-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:var(--space-2)}.assumption{display:flex;flex-direction:column;justify-content:flex-end;gap:2px}.assumption>.text-small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.unit-input{display:flex;align-items:center;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface)}.unit-input:focus-within{outline:2px solid var(--color-primary);outline-offset:1px}.unit-input input{flex:1;min-width:0;height:38px;border:0;background:none;padding:0 var(--space-2);outline:none}.unit{padding:0 var(--space-2);font-size:12px;font-weight:700;color:var(--color-muted-strong)}.dropdown .dropdown-panel{min-width:240px}.dropdown-item.is-warning{color:var(--color-accent-text)}.dropdown-item.is-danger{color:var(--color-error)}.dropdown-item.is-warning:hover{background:var(--color-primary-soft)}.dropdown-item.is-danger:hover{background:var(--color-error-bg)}.search-field{display:flex;align-items:center;gap:var(--space-2);padding:0 var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-muted)}.search-field:focus-within{border-color:var(--color-primary)}.search-field input{flex:1;height:40px;padding:0;border:0;outline:0}.filter-chip{display:inline-flex;align-items:center;gap:var(--space-1);padding:4px 10px;border:1px solid var(--color-border);border-radius:999px;background:var(--color-surface);font:inherit;font-size:12px;font-weight:600;color:var(--color-muted-strong);cursor:pointer}.filter-chip.is-active{border-color:var(--color-primary);background:var(--color-primary-soft);color:var(--color-text)}.filter-count{min-width:18px;padding:0 5px;border-radius:8px;background:var(--color-primary);font-size:10px;text-align:center}.filter-panel{min-width:300px;left:0;right:auto;max-height:360px;overflow-y:auto}.filter-search{height:36px;margin-bottom:var(--space-2)}.filter-option,.filter-toggle,.switch-row{display:flex;align-items:center;gap:var(--space-2);font-size:13px;cursor:pointer}.filter-option{padding:6px var(--space-2);border-radius:8px}.filter-option:hover{background:var(--color-bg)}.filter-option input,.filter-toggle input,.switch-row input{width:16px;height:16px;accent-color:var(--color-primary)}.sort-button{display:inline-flex;align-items:center;gap:4px;padding:0;border:0;background:none;font:inherit;text-transform:inherit;color:inherit;cursor:pointer}.sort-button.is-active{color:var(--color-text)}.table tr.is-clickable{cursor:pointer}.table tr.is-clickable:hover td{background:var(--color-bg)}.cell-thumb{width:56px}.product-thumb{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:10px;background:var(--color-bg);color:var(--color-muted);overflow:hidden}.product-thumb img{width:100%;height:100%;object-fit:contain}.badge-type{background:var(--color-primary-soft);color:var(--color-accent-text);font-weight:600}.block{display:block}.justify-end{justify-content:flex-end}.grow{flex:1}.hint-icon{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:6px;background:var(--color-primary-soft);color:var(--color-accent-text);font-size:11px;font-weight:700}.icon-button.is-danger{color:var(--color-error)}.btn-sm{height:32px;padding:0 12px}.text-success{color:var(--color-success)}.detail-grid{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:var(--space-4);align-items:start}.subpanel{margin:0;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.eyebrow{margin:0;padding:0 4px;font-size:10px;font-weight:700;text-transform:uppercase;color:var(--color-muted-strong)}.form-grid .assumption,.tier-row .assumption{justify-content:flex-start;gap:var(--space-1)}.tier-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:var(--space-2);align-items:end}.package-row{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,1fr) 100px auto;gap:var(--space-2);align-items:end;padding-bottom:var(--space-2);border-bottom:1px solid var(--color-border)}.toggle-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--space-2)}.product-image{position:relative;display:flex;justify-content:center;padding:var(--space-3);border-radius:var(--radius-sm);background:var(--color-bg)}.product-image img{max-width:100%;max-height:320px;object-fit:contain}.product-image .icon-button{position:absolute;top:var(--space-2);right:var(--space-2);background:var(--color-surface)}.drop-zone{display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-4);border:1px dashed var(--color-border);border-radius:var(--radius-sm);background:none;font:inherit;font-size:13px;color:var(--color-muted-strong);cursor:pointer}.drop-zone:hover{border-color:var(--color-primary);color:var(--color-text)}.document-row{display:grid;grid-template-columns:1fr auto;gap:var(--space-1) var(--space-2);align-items:center;padding:var(--space-2) 0;border-bottom:1px solid var(--color-border)}.document-row .switch-row{grid-column:1 / -1}.sortable-list{display:flex;flex-direction:column;gap:4px;margin:0;padding:0;list-style:none}.sortable-list li{display:flex;align-items:center;gap:var(--space-2);padding:4px var(--space-2);border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface);cursor:grab}.sortable-list li.is-dragging{opacity:.5}.breadcrumb a{color:inherit}.segmented{display:inline-flex;gap:2px;padding:3px;border-radius:var(--radius-sm);background:var(--color-bg)}.segmented-option{padding:6px 14px;border:0;border-radius:9px;background:none;font:inherit;font-size:12px;font-weight:700;color:var(--color-muted-strong);cursor:pointer}.segmented-option:hover{color:var(--color-text)}.segmented-option.is-active{background:var(--color-primary);color:var(--color-primary-text);box-shadow:var(--shadow)}.product-image-box{display:flex;align-self:stretch;width:100%;align-items:center;justify-content:center;height:120px;border-radius:var(--radius-sm);background:var(--color-bg);color:var(--color-muted);overflow:hidden}.product-image-box img{max-width:100%;max-height:100%;object-fit:contain}.offer-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--space-3)}.offer-card{position:relative;display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);box-shadow:var(--shadow);font:inherit;text-align:left;cursor:pointer}.offer-card:hover,.offer-card.is-recommended{border-color:var(--color-primary)}.offer-card.is-selected{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft)}.offer-card .btn{margin-top:auto}.offer-badge{position:absolute;top:var(--space-2);right:var(--space-2)}.offer-price{font-size:20px;font-weight:700}.offer-specs{display:flex;flex-wrap:wrap;gap:var(--space-2)}.nav-count{margin-left:auto;min-width:20px;padding:0 6px;border-radius:8px;background:var(--color-primary);color:var(--color-primary-text);font-size:11px;font-weight:700;text-align:center}.table tr.is-new td:first-child{box-shadow:inset 3px 0 0 var(--color-primary)}.badge.status-saved,.badge.status-lost{background:var(--color-border);color:var(--color-muted-strong)}.badge.status-offer,.badge.status-consultation,.badge.status-planning{background:var(--color-primary-soft);color:var(--color-accent-text)}.badge.status-installation{background:var(--color-success-bg);color:var(--color-success)}.status-bar{padding:var(--space-3)}.pipeline{display:flex;flex-wrap:wrap;gap:4px;margin:0;padding:0;list-style:none}.pipeline-step{padding:6px 14px;border:1px solid var(--color-border);border-radius:999px;background:var(--color-surface);font:inherit;font-size:12px;font-weight:600;color:var(--color-muted-strong);cursor:pointer}.pipeline-step.is-done{border-color:var(--color-primary);background:var(--color-primary-soft);color:var(--color-accent-text)}.pipeline-step.is-current{background:var(--color-primary);color:var(--color-primary-text)}.detail-list{display:grid;grid-template-columns:max-content 1fr;gap:var(--space-1) var(--space-3);margin:0}.detail-list dt{color:var(--color-muted-strong)}.detail-list dd{margin:0}.lead-message{margin:0;padding:var(--space-3);border-left:3px solid var(--color-primary);border-radius:var(--radius-sm);background:var(--color-bg);white-space:pre-line}.lead-photo{width:100%;max-height:360px;object-fit:contain;border-radius:var(--radius-sm);background:var(--color-bg)}.configurator{display:flex;flex-direction:column;gap:var(--space-3);max-width:1400px;margin:0 auto;padding:var(--space-3)}.configurator-header{display:flex;align-items:baseline;gap:var(--space-3);flex-wrap:wrap}.configurator-header strong{font-size:18px}.configurator-header{align-items:center}.configurator-logo{display:block;max-width:200px;max-height:48px;object-fit:contain}.modal-inline{position:fixed;right:var(--space-4);bottom:var(--space-4);z-index:50;width:min(480px,calc(100vw - 2 * var(--space-4)));padding:var(--space-4);border-radius:var(--radius);background:var(--color-surface);box-shadow:var(--shadow-nav)}.consent-row{align-items:flex-start;line-height:1.4}.thank-you{align-items:center;padding:var(--space-5);border-radius:var(--radius);background:var(--color-success-bg);color:#1c5a37;text-align:center}.thank-icon{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%;background:var(--color-success);color:#fff}.code-box{font-family:ui-monospace,Menlo,monospace;font-size:12px}.preview-stage{position:relative;line-height:0;border-radius:var(--radius-sm);background:var(--color-bg);overflow:hidden}.preview-stage img,.preview-stage svg{display:block;width:100%;height:auto}.preview-stage svg{position:absolute;top:0;right:0;bottom:0;left:0;height:100%}.preview-module{fill:#1e408cbf;stroke:#fff;stroke-width:1.5}.preview-surface{fill:#f2a90038;stroke:var(--color-primary);stroke-width:3}.preview-obstacle{fill:#e53e3e73;stroke:var(--color-error);stroke-width:2}.preview-label{fill:#fff;font-weight:700;paint-order:stroke;stroke:#0000008c;stroke-width:3px}.preview-label.is-surface{fill:var(--color-primary-text);stroke:#ffffffe6}.status-filter{display:flex;flex-wrap:wrap;gap:var(--space-2)}.status-tab{display:inline-flex;align-items:center;gap:var(--space-2);padding:8px 14px;border:1px solid var(--color-border);border-radius:999px;background:var(--color-surface);font:inherit;font-size:13px;font-weight:600;color:var(--color-muted-strong);cursor:pointer}.status-tab.is-active{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-primary-text)}.status-count{min-width:20px;padding:0 6px;border-radius:8px;background:var(--color-bg);font-size:11px;text-align:center}.lead-list{display:flex;flex-direction:column;gap:var(--space-3)}.lead-row{display:grid;grid-template-columns:120px minmax(0,2fr) minmax(0,1fr) minmax(0,1.3fr) minmax(0,1fr);gap:var(--space-4);align-items:center;padding:var(--space-3);cursor:pointer}.lead-row:hover{box-shadow:var(--shadow-nav)}.lead-row.is-new{box-shadow:inset 4px 0 0 var(--color-primary),var(--shadow)}.lead-thumb .product-image-box{height:80px}.lead-status{align-items:flex-start}.notice{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius);background:var(--color-primary-soft);color:var(--color-text)}.notice-icon{display:inline-flex;flex:none;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:var(--color-primary);color:var(--color-primary-text)}.result-summary{margin-top:var(--space-3);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}@media(max-width:640px){.result-summary{grid-template-columns:1fr}}.summary-box{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:var(--space-3);border:2px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);font:inherit;text-align:left;color:var(--color-text);cursor:pointer}.summary-box:hover{border-color:var(--color-primary)}.summary-box.is-price{border-color:var(--color-primary);background:var(--color-primary-soft)}.summary-price{font-size:22px;line-height:1.2}.summary-facts{display:flex;flex-direction:column;gap:2px;font-size:13px}.summary-link{margin-top:2px;font-size:12px;font-weight:700;color:var(--color-accent-text)}.result-panel{padding-top:var(--space-3);border-top:1px solid var(--color-border)}.yield-section,.economics{scroll-margin-top:90px}.note-bubble{display:flex;flex-direction:column;gap:4px;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:var(--color-bg)}.note-bubble p{margin:0;white-space:pre-line}.yield-compare{padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:var(--color-success-bg);color:#1c5a37;margin:0}@media(max-width:900px){.lead-row{grid-template-columns:80px 1fr}.lead-system,.lead-price,.lead-status{grid-column:2}}@media(max-width:1100px){.detail-grid{grid-template-columns:1fr}}@media(max-width:991px){.economics-top{grid-template-columns:1fr}}.rating-very_good,.rating-good{background:var(--color-success-bg);color:var(--color-success)}.rating-medium{background:var(--color-primary-soft);color:var(--color-accent-text)}.rating-low{background:var(--color-error-bg);color:var(--color-error)}.stat-span{grid-column:span 2}.stepper{display:flex;margin:0;padding:0;list-style:none;overflow-x:auto}.stepper-item{flex:1;position:relative;min-width:90px}.stepper-item:not(:last-child):after{content:"";position:absolute;top:15px;left:calc(50% + 22px);right:calc(-50% + 22px);height:2px;background:var(--color-border)}.stepper-item.is-done:not(:last-child):after{background:var(--color-primary)}.stepper-button{display:flex;flex-direction:column;align-items:center;gap:var(--space-1);width:100%;padding:0;border:0;background:none;font:inherit;cursor:pointer}.stepper-button:disabled{cursor:not-allowed;opacity:.5}.stepper-dot{display:grid;place-items:center;width:30px;height:30px;border-radius:var(--radius-sm);font-size:12px;font-weight:700;background:var(--color-bg);color:var(--color-muted)}.stepper-label{font-size:10px;font-weight:700;text-transform:uppercase;color:var(--color-muted);text-align:center}.is-done .stepper-dot{background:var(--color-primary-soft);color:var(--color-accent-text)}.is-current .stepper-dot{background:var(--color-primary);color:var(--color-primary-text);box-shadow:var(--shadow)}.is-current .stepper-label{color:var(--color-text)}.module-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--space-3)}.module-card{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:var(--space-3);border:2px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);font:inherit;text-align:left;color:var(--color-text);cursor:pointer}.module-card:hover{border-color:var(--color-primary)}.module-card.is-selected{border-color:var(--color-primary);background:var(--color-primary-soft);box-shadow:var(--shadow)}.module-power{font-size:18px;font-weight:700}.module-price{margin-top:var(--space-1);font-weight:700;color:var(--color-accent-text)}.stat-wide{gap:2px}.field-label{font-size:14px;padding-left:var(--space-1)}.select-lg{height:50px;border-radius:var(--radius);padding:0 var(--space-3);font-size:14px}.upload-drop{display:flex;flex-direction:column;align-items:center;gap:var(--space-1);padding:var(--space-5) var(--space-3);border:2px dashed var(--color-border);border-radius:var(--radius);text-align:center;cursor:pointer}.upload-drop:hover,.upload-drop:focus-within,.upload-drop.is-dragging{border-color:var(--color-primary);background:var(--color-primary-soft)}.sample-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-2)}.sample-thumb{padding:0;border:2px solid transparent;border-radius:var(--radius-sm);background:none;overflow:hidden;cursor:pointer;box-shadow:var(--shadow)}.sample-thumb:hover,.sample-thumb:focus-visible{border-color:var(--color-primary)}.sample-thumb:disabled{cursor:wait;opacity:.6}.sample-placeholder{display:block;aspect-ratio:16 / 10;background:linear-gradient(90deg,var(--color-bg),var(--color-border),var(--color-bg));background-size:200% 100%;animation:shimmer 1.2s linear infinite}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media(prefers-reduced-motion:reduce){.sample-placeholder{animation:none}}.sample-thumb img{display:block;width:100%;height:auto;aspect-ratio:16 / 10;object-fit:cover}.item-list{margin:0;padding:0;list-style:none}.item-list li{padding:var(--space-2) 0;border-bottom:1px solid var(--color-border);font-size:13px}.stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.stat-grid.is-quad{grid-template-columns:repeat(4,minmax(0,1fr))}.stat{display:flex;flex-direction:column;padding:var(--space-3);border-radius:var(--radius-sm);background:var(--color-bg)}.stat-label{font-size:12px;color:var(--color-muted);font-weight:700}.stat strong{font-size:18px}.alert-warning{background:var(--color-primary-soft);color:var(--color-accent-text)}.btn-secondary{background:var(--color-surface);color:var(--color-text);box-shadow:inset 0 0 0 1px var(--color-border)}.pricing-status{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius);background:var(--color-surface);box-shadow:var(--shadow);margin-bottom:var(--space-4)}.pricing-status p{margin:0}.pricing-status.is-example{border-left:4px solid var(--color-primary)}.pricing-status.is-confirmed{border-left:4px solid var(--color-success)}.pricing-layout{display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:var(--space-4);align-items:start}.pricing-side{position:sticky;top:84px;max-height:calc(100vh - 200px);overflow-y:auto}.pricing-range{display:flex;flex-direction:column;gap:2px;padding:var(--space-3);border-radius:var(--radius-sm);background:var(--color-primary-soft)}@media(max-width:1100px){.pricing-layout{grid-template-columns:1fr}.pricing-side{position:static;max-height:none;overflow:visible}}.extra-row{display:grid;grid-template-columns:minmax(0,1fr) 120px auto;gap:var(--space-2);align-items:end}.link-plain{color:inherit}.link-action{font-size:10px;font-weight:700;text-transform:uppercase;margin-right:var(--space-3)}.auth-layout{min-height:100vh;display:flex;flex-direction:column;position:relative}.auth-nav{position:absolute;top:var(--space-4);left:50%;transform:translate(-50%);z-index:2;width:min(1000px,calc(100% - 32px));display:flex;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-4);background:color-mix(in srgb,var(--color-surface) 82%,transparent);-webkit-backdrop-filter:blur(21px);backdrop-filter:blur(21px);border:1.5px solid var(--color-surface);border-radius:var(--radius);box-shadow:var(--shadow-nav)}.auth-nav nav{margin-left:auto}.nav-link{display:inline-flex;align-items:center;gap:var(--space-1);font-size:10px;font-weight:700;text-transform:uppercase;color:var(--color-text)}.auth-main{flex:1;display:grid;grid-template-columns:1fr 1fr}.auth-form{align-self:center;justify-self:center;width:min(350px,100%);padding:140px var(--space-3) var(--space-5)}.auth-title{font-size:32px;font-weight:700;color:var(--color-text)}.auth-title+p{font-size:14px;font-weight:700;margin-top:var(--space-1)}.auth-form .btn{width:100%}.auth-brand{position:relative;display:grid;place-items:center;overflow:hidden;min-height:600px;background:var(--color-primary);border-bottom-left-radius:var(--radius-lg)}.auth-waves{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;fill:none;stroke:#ffffff59;stroke-width:40}.auth-brand-logo{position:relative;display:inline-flex;align-items:center;gap:var(--space-3);font-size:48px;font-weight:700;color:#fff}.auth-brand-icon{display:grid;place-items:center;width:72px;height:72px;border-radius:50%;background:#fff;color:var(--color-primary)}.app-footer{padding:var(--space-4);font-size:12px;text-align:center}.text-muted{color:var(--color-muted)}.text-strong{font-weight:700}.text-small{font-size:12px}.text-accent{color:var(--color-accent-text)}.text-error{color:var(--color-error);font-size:12px}.text-right{text-align:right}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}@media(max-width:991px){.sidebar{height:auto;position:fixed;inset:0 auto 0 0;z-index:20;background:var(--color-bg);visibility:hidden;transform:translate(-100%);transition:transform .2s ease,visibility .2s}.sidebar.is-open{visibility:visible;transform:none;box-shadow:var(--shadow-nav)}.sidebar-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:10;border:0;background:#0000004d}.menu-toggle{display:inline-flex}.auth-main,.planner-body.is-editor{grid-template-columns:1fr}.planner-stage{position:static;order:-1}.stepper-item:not(.is-current) .stepper-label{display:none}.stepper-item{min-width:44px}.form-grid{grid-template-columns:1fr}.auth-brand{display:none}}@media(max-width:640px){.stat-grid.is-quad{grid-template-columns:1fr 1fr}.app-main{padding:var(--space-3) var(--space-3) 0}.topbar{margin:calc(var(--space-3) * -1) calc(var(--space-3) * -1) var(--space-3);padding:var(--space-2) var(--space-3)}.auth-nav nav,.account-name{display:none}.table th:nth-child(3),.table td:nth-child(3){display:none}}@media(prefers-reduced-motion:reduce){.sidebar{transition:none}}.planner-body.is-form{grid-template-columns:minmax(0,880px)}.choice-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-2)}.choice-card{position:relative;flex:0 0 calc((100% - 4 * var(--space-2)) / 5);min-height:160px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-1);padding:var(--space-3) var(--space-2);border:2px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);font:inherit;font-size:15px;line-height:1.3;text-align:center;color:var(--color-text);cursor:pointer;transition:border-color .15s,background .15s,box-shadow .15s}.choice-card:hover{border-color:var(--color-primary)}.choice-card.is-selected{border-color:var(--color-primary);background:var(--color-primary-soft);box-shadow:var(--shadow)}.choice-grid.is-invalid .choice-card{border-color:var(--color-error)}.choice-icon{display:grid;place-items:center;width:60px;height:60px;margin-bottom:var(--space-1);border-radius:var(--radius-sm);background:var(--color-bg);color:var(--color-muted-strong);transition:background .15s,color .15s}.choice-card:hover .choice-icon,.choice-card.is-selected .choice-icon{background:var(--color-primary);color:var(--color-primary-text)}.choice-check{position:absolute;top:6px;right:6px;padding:3px;box-sizing:content-box;border-radius:50%;background:var(--color-primary);color:var(--color-primary-text)}.choice-card:focus-visible,.toggle-card:focus-within{outline:3px solid var(--color-primary);outline-offset:2px}.choice-card.is-selected .choice-check{animation:choice-pop .18s ease-out}@keyframes choice-pop{0%{transform:scale(0)}to{transform:scale(1)}}@media(max-width:480px){.choice-grid{grid-template-columns:repeat(2,1fr)}.form-section{padding:var(--space-3) var(--space-2)}}@media(prefers-reduced-motion:reduce){.choice-card.is-selected .choice-check{animation:none}}.question-label{font-weight:600}.choice-label{text-align:center}.choice-icon svg{width:30px;height:30px}.choice-icon .roof-shape-icon path{fill:none;stroke:currentColor;stroke-width:1.6}.form-section{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface)}.form-section-head{display:flex;align-items:center;gap:var(--space-3);padding-bottom:var(--space-3);border-bottom:1px solid var(--color-border)}.form-section-head p{margin:0}.form-section-title{margin:0;font-size:16px}.form-section-icon{display:grid;flex:none;place-items:center;width:40px;height:40px;border-radius:var(--radius-sm);background:var(--color-primary-soft);color:var(--color-accent-text)}.toggle-card{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);border:2px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);cursor:pointer;transition:border-color .15s,background .15s}.toggle-card:hover,.toggle-card.is-selected{border-color:var(--color-primary)}.toggle-card.is-selected{background:var(--color-primary-soft)}.toggle-card-text{display:flex;flex:1;flex-direction:column;gap:2px}.toggle-card input{flex:none;width:20px;height:20px;accent-color:var(--color-primary)}.fact-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--space-3);margin:0}.fact-list dd{margin:0;font-weight:600}.photo-row{display:flex;flex-wrap:wrap;gap:var(--space-2)}.photo-thumb,.photo-add{position:relative;width:130px;height:80px;border-radius:var(--radius-sm);overflow:hidden}.photo-thumb img{width:100%;height:100%;object-fit:cover}.photo-remove{position:absolute;top:4px;right:4px;width:22px;height:22px;border:0;border-radius:50%;background:var(--color-text);color:#fff;cursor:pointer}.photo-add{display:flex;align-items:center;flex-direction:column;justify-content:center;gap:2px;text-align:center;color:var(--color-muted-strong);border:2px dashed var(--color-border);font-size:13px;font-weight:600;cursor:pointer}.photo-add:hover{border-color:var(--color-primary)}.photo-add.is-busy{cursor:wait}.photo-tip summary{cursor:pointer;color:var(--color-accent-text)}.photo-tip p{margin:var(--space-1) 0 0}select:not([multiple]){-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:36px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23718096' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:16px;cursor:pointer;text-overflow:ellipsis;transition:border-color .15s,box-shadow .15s}select:not([multiple]):hover{border-color:var(--color-primary)}select:not([multiple]):focus-visible{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft);outline:none}select:disabled{background-color:var(--color-bg);cursor:not-allowed;opacity:.7}.field.field-narrow{width:100%;max-width:300px;margin-inline:auto}.field-dial{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius);background:var(--color-bg)}.dial{display:block;width:100%;max-width:200px;height:160px;margin:0 auto var(--space-2);touch-action:none;cursor:grab;-webkit-user-select:none;user-select:none}.dial:active{cursor:grabbing}.dial:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-sm)}.dial-ring{fill:var(--color-bg);stroke:var(--color-border);stroke-width:2}.dial-letter{font-size:11px;font-weight:700;fill:var(--color-muted-strong)}.dial-house{fill:var(--color-surface);stroke:var(--color-muted-strong);stroke-width:2}.dial-ridge{stroke:var(--color-border);stroke-width:2}.dial-front,.dial-arrow,.dial-roof{stroke:var(--color-primary);stroke-width:4;stroke-linecap:round}.dial-handle{fill:var(--color-primary);stroke:var(--color-surface);stroke-width:2}.dial-ground{stroke:var(--color-muted-strong);stroke-width:2}.dial-angle{fill:none;stroke:var(--color-muted-strong);stroke-width:1.5;stroke-dasharray:3 3}.dial-value{font-size:14px;font-weight:700;fill:var(--color-text)}.info-note{display:flex;align-items:flex-start;gap:var(--space-1);margin:0;padding:var(--space-2);border-radius:var(--radius-sm);background:var(--color-bg)}.info-note svg{flex:none;margin-top:2px}input:disabled{background:var(--color-bg);color:var(--color-muted-strong);cursor:not-allowed}.lead-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:var(--space-4);align-items:start;margin-top:var(--space-4)}.lead-side{position:sticky;top:84px;max-height:calc(100vh - 200px);overflow-y:auto;padding-bottom:var(--space-2)}.kpi-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--space-3);margin-top:var(--space-4)}.kpi-tile{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius);background:var(--color-surface);box-shadow:var(--shadow)}.kpi-value{display:block;font-size:18px;line-height:1.2}.lead-section-title{display:flex;align-items:center;gap:var(--space-2);margin:0}.fact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2);margin:0}.fact-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:var(--color-bg)}.fact-item dd{margin:0;font-weight:600}.fact-icon{display:grid;flex:none;place-items:center;width:34px;height:34px;border-radius:10px;background:var(--color-surface);color:var(--color-muted-strong)}.avatar{display:grid;flex:none;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--color-primary);font-weight:700;color:var(--color-primary-text)}.contact-name{font-size:16px}.contact-list{display:flex;flex-direction:column;gap:var(--space-2);margin:0;padding:0;list-style:none}.contact-list li{display:flex;align-items:center;gap:var(--space-2);color:var(--color-muted-strong);overflow-wrap:anywhere}@media(max-width:1100px){.lead-layout{grid-template-columns:1fr}.lead-side{position:static;max-height:none;overflow:visible}.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.fact-grid{grid-template-columns:1fr}}.wrap{flex-wrap:wrap}.kpi-grid.is-compact{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:0;gap:var(--space-2)}.kpi-grid.is-compact .kpi-tile{padding:var(--space-2) var(--space-3);background:var(--color-bg);box-shadow:none}.company-form{display:flex;flex-direction:column;gap:var(--space-3);max-width:820px}.company-brand{display:flex;flex-wrap:wrap;gap:var(--space-4)}.logo-box{display:flex;flex-direction:column;gap:var(--space-2);width:240px}.logo-preview{display:grid;place-items:center;height:140px;border:2px dashed var(--color-border);border-radius:var(--radius);background:var(--color-bg);color:var(--color-muted)}.logo-preview img{max-width:100%;max-height:100%;object-fit:contain}.color-input{display:flex;align-items:stretch;gap:var(--space-2)}.color-swatch{width:50px;padding:4px;cursor:pointer}.color-input input[type=text]{flex:1;font-family:ui-monospace,monospace}.overview-greeting{margin:0 0 var(--space-3);color:var(--color-muted-strong)}.overview-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:var(--space-4);align-items:start;margin-top:var(--space-4)}.kpi-link{color:inherit;text-decoration:none}.kpi-link:hover{box-shadow:0 4px 14px #00000014;text-decoration:none}.kpi-tile.is-highlight{border:2px solid var(--color-primary);background:var(--color-primary-soft)}.progress-bar{width:100%;height:8px;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;border-radius:999px;background:var(--color-bg);overflow:hidden}.progress-bar::-webkit-progress-bar{background:var(--color-bg)}.progress-bar::-webkit-progress-value{border-radius:999px;background:var(--color-primary)}.progress-bar::-moz-progress-bar{border-radius:999px;background:var(--color-primary)}.checklist{display:flex;flex-direction:column;gap:var(--space-2);margin:0;padding:0;list-style:none}.check-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:var(--color-bg)}.check-item.is-done{opacity:.6}.check-icon{display:grid;flex:none;place-items:center;width:36px;height:36px;border-radius:10px;background:var(--color-surface);color:var(--color-accent-text)}.check-item.is-done .check-icon{background:var(--color-success-bg);color:var(--color-success)}.check-text{display:flex;flex:1;flex-direction:column;gap:2px}.recent-list{display:flex;flex-direction:column;margin:0;padding:0;list-style:none}.recent-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-2);border-top:1px solid var(--color-border);color:inherit;text-decoration:none}.recent-item:hover{background:var(--color-bg);text-decoration:none}.recent-main{display:flex;flex:1;flex-direction:column;min-width:0}.recent-side{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.avatar-sm{width:38px;height:38px;font-size:13px}.explain-item{display:flex;align-items:flex-start;gap:var(--space-3)}@media(max-width:1100px){.overview-layout{grid-template-columns:1fr}}.extras-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2);margin:0;padding:0;list-style:none}.extras-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:var(--color-bg)}.extras-item strong{flex:1}.extras-item.is-no{opacity:.6}.interest-chip{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:999px;background:var(--color-border);font-size:12px;font-weight:700;color:var(--color-muted-strong)}.interest-chip.is-yes{background:var(--color-success-bg);color:var(--color-success)}.interest-chip.is-unsure{background:var(--color-primary-soft);color:var(--color-accent-text)}@media(max-width:640px){.extras-grid{grid-template-columns:1fr}}.reonic-done{display:inline-flex;align-items:center;gap:6px;padding:0 var(--space-3);height:45px;border-radius:var(--radius-sm);font-size:12px}.key-mask{padding:4px 10px;border-radius:var(--radius-sm);background:var(--color-bg);font-family:ui-monospace,monospace;font-size:13px;letter-spacing:.04em}.action-bar{position:fixed;right:8px;bottom:8px;left:calc(var(--sidebar-width) + 8px);z-index:30;display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);box-shadow:0 6px 24px #0000001a}.action-bar-start,.action-bar-end{display:flex;align-items:center;gap:var(--space-2)}.action-bar-end{margin-left:auto}.content:has(.action-bar){padding-bottom:104px}@media(max-width:900px){.action-bar{left:8px}}.covering-list{display:flex;flex-direction:column;gap:var(--space-2);margin:0;padding:0;list-style:none}.covering-row{display:grid;grid-template-columns:150px minmax(0,1fr) 190px;gap:var(--space-3);align-items:center;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:var(--color-bg)}.covering-row .field>.field-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.covering-row .field{min-width:0}.covering-name{display:flex;align-items:center;gap:var(--space-2);font-weight:600;font-size:14px}@media(max-width:900px){.covering-row{grid-template-columns:1fr}}
