body.ovi-busy,body.ovi-busy *{cursor:wait!important}.project-header{background:var(--hover-bg);border-bottom:1px solid var(--border-color);padding:8px 0;font-weight:500}.project-item{border-bottom:1px solid var(--border-color);padding:8px 0}.project-item:hover{background:var(--hover-bg)}.hvr-frame [data-profile=frame],.hvr-leaf [data-profile=leaf],.hvr-threshold [data-profile=threshold],.hvr-transom [data-profile=transom],.hvr-lp [data-profile=lp]{fill:#1976d22e!important}:root{--brand-primary:#4ea0ff;--brand-primary-dark:#3a8cef;--primary-color:var(--client-primary,var(--brand-primary));--primary-hover:var(--client-primary-dark,var(--brand-primary-dark));--bg-color:#f5f5f5;--surface-bg:#f8f8f8;--surface-alt:#fafafa;--panel-bg:#fff;--input-bg:#fff;--text-color:#333;--text-secondary:#555;--text-muted:#888;--border-color:#ddd;--border-faint:#eee;--hover-bg:#f0f0f0;--selected-bg:#e3f2fd;--danger:#e53935;--error-color:#d32f2f;--error-bg:#ffebee;--error-border:#ef9a9a;--success:#2e7d32;--success-bg:#e8f5e9;--dark-surface:#23272f;--dark-surface-2:#2c3444;--dark-text:#fff;--dark-text-muted:#9aaabb;--font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;--shadow:0 2px 4px #0000001a;--shadow-lg:0 4px 12px #00000026;--backdrop-bg:#00000080;--focus-ring:0 0 0 2px color-mix(in srgb, var(--primary-color) 25%, transparent)}@media (prefers-color-scheme:dark){:root{--brand-primary:#4ea0ff;--brand-primary-dark:#3a8cef;--bg-color:#1e1e1e;--surface-bg:#252525;--surface-alt:#2a2a2a;--panel-bg:#2d2d2d;--input-bg:#3a3a3a;--text-color:#e0e0e0;--text-secondary:#bbb;--text-muted:#aaa;--border-color:#444;--border-faint:#333;--hover-bg:#3a3a3a;--selected-bg:#0a3d7a;--danger:#ff6b6b;--error-color:#ff6b6b;--error-bg:#2d1b1b;--error-border:#7a2e2e;--success:#81c784;--success-bg:#1b3a1e;--shadow:0 2px 4px #0000004d;--shadow-lg:0 4px 12px #0006;--backdrop-bg:#000000a6}}button,input,select,textarea{font-family:inherit}.btn-primary,.btn-secondary,.btn-danger{box-sizing:border-box;cursor:pointer;border-radius:4px;padding:7px 16px;font-size:14px;font-weight:500;transition:background-color .15s,border-color .15s,color .15s,opacity .15s}.btn-primary{background-color:var(--primary-color);color:var(--dark-text);border:1px solid var(--primary-color)}.btn-primary:hover:not(:disabled){background-color:var(--primary-hover);border-color:var(--primary-hover)}.btn-primary:disabled,.btn-secondary:disabled,.btn-danger:disabled{cursor:not-allowed;opacity:.65}.btn-secondary{color:var(--text-color);border:1px solid var(--border-color);background-color:#0000}.btn-secondary:hover:not(:disabled){background-color:var(--hover-bg)}.btn-danger{background-color:var(--error-color);color:var(--dark-text);border:1px solid var(--error-color)}.btn-danger:hover:not(:disabled){opacity:.85}.btn-sm{padding:3px 10px;font-size:12px}.btn-lg{border-radius:8px;padding:12px 24px;font-size:16px;font-weight:600}.btn-icon-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:4px 8px;font-size:18px;line-height:1}.btn-icon-close:hover{color:var(--text-color)}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}.input-field,.design-input,.design-select,.design-textarea{box-sizing:border-box;border:1px solid var(--border-color);background:var(--input-bg);width:100%;color:var(--text-color);border-radius:4px;padding:7px 10px;font-size:14px}.input-field:focus,.design-input:focus,.design-select:focus,.design-textarea:focus{border-color:var(--primary-color);box-shadow:var(--focus-ring);outline:none}.modal-backdrop{z-index:1000;background:var(--backdrop-bg);justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-panel{background:var(--panel-bg);width:90%;max-height:85vh;color:var(--text-color);box-shadow:var(--shadow-lg);border-radius:8px;flex-direction:column;display:flex;overflow:hidden}.design-section{margin-bottom:20px}.design-section-title{color:var(--text-color);margin:0 0 12px;font-size:16px;font-weight:600}.design-label{color:var(--text-muted);margin-bottom:4px;font-size:13px;display:block}.design-muted{color:var(--text-muted)}.design-status-success{color:var(--success)}.design-status-error{color:var(--error-color)}.design-flex-row{align-items:center;gap:10px;display:flex}.design-actions{justify-content:flex-end;align-items:center;gap:8px;display:flex}.lang-toggle{border:1px solid var(--border-color);background:var(--panel-bg);color:var(--text-color);cursor:pointer;border-radius:4px;margin-left:auto;padding:2px 6px;font-size:12px;font-weight:600}.profile-tooltip{z-index:100;border:1px solid var(--border-color);background:var(--panel-bg);min-width:200px;max-width:300px;box-shadow:var(--shadow);color:var(--text-color);font-family:var(--font-family);border-radius:4px;padding:12px;font-size:14px;position:absolute}.profile-tooltip-role{color:var(--primary-color);margin-bottom:6px;font-weight:700}.profile-tooltip-close{margin-top:10px}.system-visibility-dialog{max-width:500px}.sv-header{border-bottom:1px solid var(--border-color);padding:16px 20px}.sv-header h2{color:var(--text-color);margin:0 0 4px;font-size:1.3rem}.sv-hint{color:var(--text-muted);margin:0;font-size:.85rem}.sv-list-container{flex:1;padding:8px;overflow-y:auto}.sv-list{flex-direction:column;gap:4px;display:flex}.sv-item{cursor:pointer;color:var(--text-color);border-radius:4px;align-items:center;gap:10px;padding:8px 12px;transition:background-color .15s;display:flex}.sv-item:hover{background:var(--hover-bg)}.sv-item input[type=checkbox]{cursor:pointer;width:18px;height:18px}.sv-item-name{flex:1;font-weight:500}.sv-item-vendor{color:var(--text-muted);font-size:.85rem}.sv-item-class{color:var(--text-muted);background:var(--border-color);border-radius:3px;margin-left:8px;padding:2px 6px;font-size:.8rem}.sv-actions{border-top:1px solid var(--border-color);background:var(--surface-bg);justify-content:flex-end;gap:8px;padding:12px 20px;display:flex}.sv-wide{max-width:700px}.sv-tabs{gap:4px;margin-top:10px;display:flex}.sv-tab{border:1px solid var(--border-color);background:var(--hover-bg);color:var(--text-color);cursor:pointer;border-bottom:none;border-radius:4px 4px 0 0;padding:6px 14px;font-size:.9rem}.sv-tab.active{background:var(--bg-color);border-bottom:1px solid var(--bg-color);font-weight:600}.sv-hint-pad{margin:0;padding:8px 20px 0}.sv-uv-selector{padding:10px 16px 0}.sv-uv-select{border:1px solid var(--border-color);background:var(--input-bg);width:100%;color:var(--text-color);border-radius:4px;padding:6px 8px;font-size:.9rem}.sv-uv-container{padding:12px 16px;overflow-y:auto}.sv-uv-system{border:1px solid var(--border-color);background:var(--bg-color);border-radius:6px;overflow:hidden}.sv-uv-system-name{background:var(--hover-bg);border-bottom:1px solid var(--border-color);padding:8px 12px;font-size:.95rem;font-weight:600}.sv-uv-section{border-bottom:1px solid var(--border-color);padding:8px 12px}.sv-uv-section:last-child{border-bottom:none}.sv-uv-section-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px;font-size:.8rem;font-weight:600}.sv-uv-table{border-collapse:collapse;width:100%;font-size:.85rem}.sv-uv-table th{text-align:left;color:var(--text-muted);border-bottom:1px solid var(--border-color);padding:4px 8px;font-weight:500}.sv-uv-table td{color:var(--text-color);padding:4px 8px}.sv-uv-input-cell{align-items:center;gap:4px;display:flex}.sv-uv-input{border:1px solid var(--border-color);background:var(--input-bg);width:90px;color:var(--text-color);border-radius:4px;padding:3px 6px;font-size:.85rem}.sv-uv-input.sv-uv-override{border-color:var(--primary-color);color:var(--primary-color)}.sv-uv-reset{cursor:pointer;color:var(--text-muted);background:0 0;border:none;padding:0 2px;font-size:1rem;line-height:1}.sv-uv-combo-wrap{overflow-x:auto}.sv-uv-combo-table{white-space:nowrap;width:auto}.sv-uv-combo-table th,.sv-uv-combo-table td{min-width:110px}.sv-uv-combo-table td:first-child{min-width:140px;font-weight:500}.sv-uv-reset:hover{color:var(--error-color)}.sv-loading{text-align:center;color:var(--text-muted);padding:20px}.sv-error{background:var(--error-bg);color:var(--error-color);border-radius:4px;justify-content:space-between;align-items:center;margin:8px 8px 0;padding:10px 12px;font-size:.85rem;display:flex}.sv-error-close{cursor:pointer;color:var(--error-color);background:0 0;border:none;padding:0 0 0 8px;font-size:1.2rem;line-height:1}.sv-error-close:hover{opacity:.7}.contact-dialog{max-width:440px}.contact-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.contact-header h2{color:var(--text-color);margin:0;font-size:18px}.contact-body{padding:20px}.contact-field{margin-bottom:14px}.contact-field label{color:var(--text-muted);margin-bottom:4px;font-size:13px;font-weight:500;display:block}.contact-field textarea{resize:vertical}.contact-error{background:var(--error-bg);color:var(--error-color);border:1px solid var(--error-color);border-radius:4px;margin-bottom:14px;padding:8px 12px;font-size:13px}.contact-sent-msg{color:var(--text-color);margin:0 0 20px}.contact-actions{justify-content:flex-end;gap:10px;margin-top:4px;display:flex}.upgrade-intro{color:var(--text-muted);margin:0 0 16px;font-size:14px}.portal-embed-dialog{max-width:720px}.portal-embed-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.portal-embed-header h2{color:var(--text-color);margin:0;font-size:18px}.portal-embed-body{color:var(--text-color);padding:20px;overflow-y:auto}.portal-embed-body h3{margin:18px 0 8px;font-size:15px}.portal-embed-body p{margin:0 0 12px;line-height:1.5}.portal-embed-instructions{margin:0 0 16px;padding-left:24px;line-height:1.6}.portal-embed-sites{color:var(--text-muted);font-size:13px}.portal-embed-warning,.portal-embed-error{border:1px solid var(--error-color);color:var(--error-color);background:var(--error-bg);border-radius:4px;padding:10px 12px}.portal-embed-warning a{color:inherit;font-weight:600}.portal-embed-body label{color:var(--text-muted);margin:16px 0 6px;font-size:13px;font-weight:500;display:block}.portal-embed-snippet{resize:vertical;min-height:150px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px;line-height:1.5}.portal-embed-actions{justify-content:flex-end;gap:10px;margin-top:16px;display:flex}.legacy-ovi-dialog{max-width:480px}.legacy-ovi-dialog__header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.legacy-ovi-dialog__header h2{color:var(--text-color);margin:0;font-size:18px}.legacy-ovi-dialog__body{color:var(--text-color);padding:20px}.legacy-ovi-dialog__body p{color:var(--text-muted);margin:0 0 16px;line-height:1.5}.legacy-ovi-dialog__picker{display:inline-block}.legacy-ovi-dialog__picker input{display:none}.legacy-ovi-dialog__error{border:1px solid var(--error-color);color:var(--error-color);background:var(--error-bg);border-radius:4px;margin:0 0 14px;padding:10px 12px}.legacy-ovi-dialog__actions{justify-content:flex-end;margin-top:20px;display:flex}.portal-quote-details-dialog{width:min(640px,100%)}.portal-quote-details-header,.portal-quote-details-actions{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;gap:16px;padding:18px 22px;display:flex}.portal-quote-details-header h2{color:var(--text-color);margin:2px 0 0;font-size:20px}.portal-quote-details-body{padding:20px 22px;overflow-y:auto}.portal-quote-details-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 18px;margin:0;display:grid}.portal-quote-details-fields div{min-width:0}.portal-quote-details-fields dt{color:var(--text-muted);margin-bottom:3px;font-size:12px;font-weight:650}.portal-quote-details-fields dd{overflow-wrap:anywhere;color:var(--text-color);margin:0;font-size:14px}.portal-quote-details-section{margin-top:22px}.portal-quote-details-section h3{color:var(--text-color);margin:0 0 8px;font-size:15px}.portal-quote-details-message{border:1px solid var(--border-color);background:var(--surface-bg);color:var(--text-secondary);white-space:pre-wrap;border-radius:7px;margin:0;padding:10px 12px}.portal-quote-details-doors{gap:8px;margin:0;padding-left:24px;display:grid}.portal-quote-details-doors li{color:var(--text-secondary);gap:2px;display:grid}.portal-quote-details-doors strong{color:var(--text-color)}.portal-quote-details-doors small{color:var(--text-muted)}.portal-quote-details-actions{border-top:1px solid var(--border-color);border-bottom:0;justify-content:flex-end}@media (width<=560px){.portal-quote-details-fields{grid-template-columns:1fr}}.drawing-overlay-button,.drawing-ghost-add{background:var(--primary-color);width:30px;height:30px;color:var(--dark-text);cursor:pointer;z-index:50;box-shadow:var(--shadow);border-radius:50%;justify-content:center;align-items:center;font-size:20px;font-weight:700;line-height:1;display:flex;position:absolute}.drawing-overlay-button.is-remove{background:var(--error-color)}.drawing-overlay-button.is-hovered{filter:brightness(1.2)}.drawing-ghost-rect{border:1.5px dashed color-mix(in srgb, var(--text-secondary) 40%, transparent);background:color-mix(in srgb, var(--text-secondary) 12%, transparent);pointer-events:auto;z-index:10;cursor:default;border-radius:2px;transition:background-color .15s,border-color .15s;position:absolute}.drawing-ghost-rect.is-hovered{border-color:color-mix(in srgb, var(--text-secondary) 70%, transparent);background:color-mix(in srgb, var(--text-secondary) 28%, transparent)}.drawing-canvas{touch-action:none;background:var(--panel-bg);width:100%;height:100%;position:relative;overflow:hidden}.drawing-touch-hint{background:color-mix(in srgb, var(--dark-surface) 82%, transparent);color:var(--dark-text);white-space:nowrap;pointer-events:none;z-index:100;box-shadow:var(--shadow);border-radius:4px;padding:5px 14px;font-size:13px;position:absolute;bottom:14px;left:50%;transform:translate(-50%)}.drawing-stage{justify-content:center;align-items:center;line-height:0;display:flex;position:absolute;inset:0}.drawing-stage-size{flex-shrink:0;position:relative}.drawing-inner{transform-origin:0 0;line-height:0;position:absolute}.drawing-svg-content{-webkit-user-select:none;user-select:none;width:100%;height:100%;line-height:0}.drawing-opening-overlay,.drawing-pinned-overlay,.drawing-pinned-rect,.drawing-rubber-band{pointer-events:none;position:absolute}.drawing-opening-overlay{background:color-mix(in srgb, var(--text-color) 10%, transparent);z-index:5;display:none}.drawing-pinned-overlay{background:color-mix(in srgb, var(--primary-color) 10%, transparent);outline:2px solid color-mix(in srgb, var(--primary-color) 85%, transparent);outline-offset:-1px;z-index:6;display:none}.drawing-pinned-rect{background:color-mix(in srgb, var(--primary-color) 10%, transparent);outline:2px solid color-mix(in srgb, var(--primary-color) 85%, transparent);outline-offset:-1px;z-index:6}.drawing-blue-ball,.drawing-mode-ball{border:2px solid var(--primary-color);background:color-mix(in srgb, var(--primary-color) 82%, transparent);width:16px;height:16px;box-shadow:var(--shadow);cursor:pointer;z-index:65;border-radius:50%;position:absolute}.drawing-blue-ball{display:none}.drawing-blue-ball-hint,.drawing-mode-hint{background:color-mix(in srgb, var(--dark-surface) 90%, transparent);color:var(--dark-text);white-space:nowrap;pointer-events:none;z-index:66;box-shadow:var(--shadow);border-radius:3px;padding:3px 7px;font-size:12px;font-weight:400;line-height:normal;display:none;position:absolute;transform:translate(-100%)}.drawing-mode-line{background:color-mix(in srgb, var(--primary-color) 65%, transparent);pointer-events:none;z-index:60;height:3px;position:absolute}.drawing-mode-ball{cursor:pointer}.drawing-mode-hint{transform:none}.drawing-mode-measure{background:color-mix(in srgb, var(--primary-color) 92%, transparent);color:var(--dark-text);white-space:nowrap;pointer-events:none;z-index:66;-webkit-text-stroke:1px var(--dark-surface);text-shadow:-1px -1px 0 var(--dark-surface), 1px -1px 0 var(--dark-surface), -1px 1px 0 var(--dark-surface), 1px 1px 0 var(--dark-surface);border-radius:3px;padding:2px 7px;font-size:18px;font-weight:700;line-height:normal;position:absolute;transform:translate(-100%)}.drawing-rubber-band{background:color-mix(in srgb, var(--primary-color) 8%, transparent);border:1.5px dashed color-mix(in srgb, var(--primary-color) 70%, transparent);z-index:200;display:none}.dim-editor{background:var(--panel-bg);border:1.5px solid var(--primary-color);width:170px;box-shadow:var(--shadow-lg);z-index:3000;color:var(--text-color);border-radius:5px;padding:8px 10px;font-family:sans-serif;position:fixed}.dim-editor-label{color:var(--text-secondary);margin-bottom:6px;font-size:11px;font-weight:600}.dim-editor-input-row{align-items:center;gap:4px;margin-bottom:8px;display:flex}.dim-editor-input{border:1px solid var(--border-color);background:var(--input-bg);width:80px;color:var(--text-color);border-radius:3px;padding:4px 6px;font-size:14px}.dim-editor-unit{color:var(--text-muted);font-size:12px}.dim-editor-buttons{gap:6px;display:flex}.dim-editor-buttons .btn-primary,.dim-editor-buttons .btn-secondary{flex:1;min-height:32px}.dim-editor-remove{width:100%;margin-top:4px}.extension-editor{z-index:1000;background:var(--panel-bg);border:1px solid var(--border-color);box-shadow:var(--shadow-lg);color:var(--text-color);border-radius:4px;padding:8px;font-family:sans-serif;font-size:14px;position:absolute}.extension-editor-title{margin-bottom:6px;font-weight:500}.extension-editor-controls{align-items:center;gap:6px;display:flex}.extension-editor-input{border:1px solid var(--border-color);background:var(--input-bg);width:80px;color:var(--text-color);border-radius:3px;padding:4px 6px;font-size:14px}.extension-editor-unit{font-size:14px}.profile-selector{background:var(--panel-bg);color:var(--text-color);border:1px solid var(--border-color);z-index:200;border-radius:6px;min-width:280px;padding:12px;font-family:sans-serif;font-size:14px;position:fixed;box-shadow:0 4px 16px #0000002e}.profile-selector-title{color:var(--primary-color);margin-bottom:8px;font-weight:600}.profile-selector-select{border:1px solid var(--border-color);background:var(--input-bg);width:100%;color:var(--text-color);border-radius:4px;margin-bottom:10px;padding:6px 4px;font-size:13px}.profile-selector-buttons{justify-content:flex-end;gap:8px;display:flex}.glazing-selector{background-color:var(--panel-bg);border:1px solid var(--border-color);width:400px;max-height:600px;box-shadow:var(--shadow-lg);z-index:1001;color:var(--text-color);border-radius:4px;flex-direction:column;padding:0;display:flex;position:fixed;overflow:hidden}.glazing-selector--inline{width:100%;height:100%;max-height:none;box-shadow:none;z-index:auto;border:none;border-radius:0;position:static}.glazing-selector--inline .glazing-list{max-height:none}.glazing-selector-header{background-color:var(--hover-bg);border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:10px 15px;display:flex}.glazing-selector-header h3{color:var(--text-color);margin:0;font-size:16px}.glazing-selector-content{flex:1;padding:15px;overflow:auto}.glazing-list{flex-direction:column;gap:8px;max-height:400px;display:flex;overflow-y:auto}.glazing-item{border:1px solid var(--border-color);cursor:pointer;background-color:var(--panel-bg);border-radius:4px;padding:10px 12px;transition:all .2s}.glazing-item:hover{background-color:var(--hover-bg);border-color:var(--text-muted)}.glazing-name{color:var(--text-color);margin-bottom:4px;font-weight:700}.glazing-details{color:var(--text-muted);margin-bottom:4px;font-size:12px}.glazing-description{color:var(--text-muted);font-size:12px;font-style:italic}.glazing-item-none{opacity:.7;border-style:dashed}.glazing-bead-row{border-bottom:1px solid var(--border-color);background-color:var(--hover-bg);align-items:center;gap:8px;padding:8px 15px;display:flex}.glazing-bead-label{color:var(--text-muted);white-space:nowrap;font-size:.85rem}.glazing-bead-select{border:1px solid var(--border-color);background-color:var(--panel-bg);color:var(--text-color);border-radius:4px;flex:1;padding:4px 6px;font-size:.85rem}.glazing-bead-row--warn{background-color:#dc960014}.glazing-gasket-info{color:#888;gap:1.2rem;padding:4px 10px 6px;font-size:.8rem;display:flex}.glazing-bead-select--warn{border-color:#c07000}.glazing-bead-select option.incompatible,.glazing-bead-select option[style*="opacity: 0.4"]{opacity:.4;color:var(--text-muted)}.bead-warning{color:#c07000;cursor:default;flex-shrink:0;font-size:1rem}.bead-warning--error{color:#b40000}.glazing-divide-row{border-bottom:1px solid var(--border-color);background-color:var(--hover-bg);align-items:center;gap:6px;padding:6px 15px;display:flex}.glazing-divide-label{color:var(--text-muted);white-space:nowrap;font-size:.85rem}.glazing-divide-btn{border:1px solid var(--border-color);background-color:var(--panel-bg);color:var(--text-color);cursor:pointer;border-radius:4px;padding:2px 10px;font-size:.85rem}.glazing-divide-btn:hover{background-color:var(--text-muted);color:var(--panel-bg)}.glazing-size-row{border-bottom:1px solid var(--border-color);background-color:var(--hover-bg);align-items:center;gap:8px;padding:6px 15px;display:flex}.glazing-size-label{color:var(--text-muted);white-space:nowrap;font-size:.85rem}.glazing-size-value{color:var(--text-color);font-size:.85rem;font-weight:600}.door-items-section{margin-top:12px}.door-items-header{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;padding:6px 0;font-size:14px;font-weight:600;display:flex}.door-items-arrow{font-size:10px}.door-items-count{color:var(--text-muted);margin-left:4px;font-size:11px}.door-items-content{padding-left:8px}.door-items-status{color:var(--text-muted);padding:4px 0;font-size:12px}.door-items-status.is-empty{opacity:.7;font-style:italic}.door-items-list{flex-direction:column;gap:4px;display:flex}.door-item-row{border-radius:4px;align-items:center;gap:6px;padding:3px 4px;font-size:13px;display:flex}.door-item-row.is-auto{background:var(--hover-bg)}.door-item-name{flex:1}.door-item-row.is-auto .door-item-name{opacity:.8}.door-item-auto-label{color:var(--text-muted);margin-left:4px;font-size:10px}.door-item-quantity{border:1px solid var(--border-color);background:var(--input-bg);width:52px;color:var(--text-color);text-align:center;border-radius:3px;padding:2px 4px;font-size:12px}.door-item-unit{min-width:24px;color:var(--text-muted);font-size:11px}.door-item-remove{opacity:.7;line-height:1.3}.door-items-add{margin-top:6px}.door-items-picker{border:1px solid var(--border-color);background:var(--input-bg);border-radius:6px;max-height:200px;padding:8px;overflow-y:auto}.door-items-picker-header{justify-content:space-between;margin-bottom:6px;display:flex}.door-items-picker-title{font-size:12px;font-weight:600}.door-items-picker-option{cursor:pointer;border-radius:3px;padding:4px 6px;font-size:12px}.door-items-picker-option:hover{background:var(--hover-bg)}.door-items-add-button{opacity:.7}.glass-types-editor{background-color:var(--bg-color);border:1px solid var(--border-color);z-index:1000;width:80%;max-width:1000px;max-height:80vh;color:var(--text-color);border-radius:8px;padding:20px;position:fixed;top:50%;left:50%;overflow:auto;transform:translate(-50%,-50%);box-shadow:0 4px 12px #00000026}.glass-types-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:10px;display:flex}.glass-types-header h2{color:var(--text-color);margin:0}.glass-types-list{width:100%;overflow-x:auto}.glass-types-list table{border-collapse:collapse;background-color:var(--panel-bg);width:100%}.glass-types-list th,.glass-types-list td{text-align:left;border-bottom:1px solid var(--border-color);color:var(--text-color);padding:10px 12px}.glass-types-list th{background-color:var(--hover-bg);font-weight:600}.glass-types-list tr:hover td{background-color:var(--hover-bg)}.glass-type-edit-dialog{z-index:2000;background-color:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.glass-type-edit-dialog .dialog-content{background-color:var(--panel-bg);border:1px solid var(--border-color);border-radius:8px;width:500px;max-width:90%;padding:25px;box-shadow:0 4px 20px #0003}.glass-type-edit-dialog h3{color:var(--text-color);border-bottom:1px solid var(--border-color);margin-top:0;padding-bottom:10px}.glass-type-edit-dialog .form-group{margin-bottom:15px}.glass-type-edit-dialog label{color:var(--text-color);margin-bottom:5px;font-weight:500;display:block}.glass-type-edit-dialog input[type=text],.glass-type-edit-dialog input[type=number]{border:1px solid var(--border-color);box-sizing:border-box;background-color:var(--panel-bg);width:100%;color:var(--text-color);border-radius:4px;padding:7px 10px;font-size:13px}.glass-type-edit-dialog .dialog-actions{border-top:1px solid var(--border-color)}.glass-type-edit-dialog input[type=checkbox]{margin-right:8px}.glass-type-edit-dialog .checkbox-group{align-items:center;display:flex}.glass-type-edit-dialog .dialog-actions{border-top:1px solid var(--border-faint);background:inherit;justify-content:flex-end;gap:10px;margin-top:20px;padding-top:15px;padding-bottom:10px;display:flex;position:sticky;bottom:0}.glass-type-edit-dialog .save-button{background-color:var(--primary-color);color:#fff;border:1px solid var(--primary-color);cursor:pointer;border-radius:4px;padding:7px 15px;font-size:13px;font-weight:500}.glass-type-edit-dialog .save-button:hover{background-color:var(--primary-hover);border-color:var(--primary-hover)}.glass-type-edit-dialog .cancel-button{background-color:var(--panel-bg);color:var(--text-color);border:1px solid var(--border-color);cursor:pointer;border-radius:4px;padding:7px 15px;font-size:13px;font-weight:500}.glass-type-edit-dialog .cancel-button:hover{background-color:var(--hover-bg)}.loading,.error{text-align:center;color:var(--text-color,#666);padding:20px}.error{color:var(--error-color);background-color:var(--error-bg);border:1px solid var(--error-border);border-radius:4px}.profile-systems-editor{background-color:var(--bg-color);border:1px solid var(--border-color);z-index:1000;border-radius:8px;flex-direction:column;width:90%;max-width:1200px;height:80%;max-height:800px;display:flex;position:fixed;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%);box-shadow:0 4px 20px #0000004d}.profile-systems-header{background-color:var(--panel-bg);border-bottom:1px solid var(--border-color);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.profile-systems-header h2{color:var(--text-color);margin:0;font-size:1.2rem}.system-selector{align-items:center;gap:8px;display:flex;position:relative}.system-selector label{color:var(--text-color);font-size:.95rem;font-weight:500}.system-selector select{border:1px solid var(--border-color);background-color:var(--panel-bg);color:var(--text-color);appearance:none;cursor:pointer;border-radius:4px;min-width:200px;padding:6px 30px 6px 12px;font-size:.95rem}.system-selector:after{content:"";border-left:5px solid #0000;border-right:5px solid #0000;border-top:5px solid var(--primary-color);pointer-events:none;width:0;height:0;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.system-selector select:focus{outline:2px solid var(--primary-color);outline-offset:1px}.system-selector select:hover{border-color:var(--primary-color)}.action-buttons{gap:8px;display:flex}.tabs-container{flex-direction:column;flex:1;display:flex;overflow:hidden}.tabs-header{background-color:var(--panel-bg);border-bottom:1px solid var(--border-color);padding:0 16px;display:flex}.tab-button{color:var(--text-color);cursor:pointer;background:0 0;border:none;padding:10px 16px;font-size:.95rem;transition:all .2s;position:relative}.tab-button:hover{background-color:var(--hover-bg)}.tab-button.active{background-color:var(--primary-color);color:#fff;font-weight:500}.tab-button.active:after{content:"";background-color:var(--primary-color);height:3px;position:absolute;bottom:-2px;left:0;right:0}.tab-content{background-color:var(--panel-bg);flex:1;padding:16px;overflow-y:auto}.dimensions-tab{flex-direction:column;gap:16px;display:flex}.pse-locked-note{background-color:var(--selected-bg);color:var(--text-color);opacity:.8;border-radius:4px;margin-bottom:8px;padding:8px 12px;font-size:.85rem}.illustration-note{background-color:var(--selected-bg);color:var(--text-color);border-radius:4px;padding:8px;font-size:.9rem}.dimensions-form{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px;display:grid}.form-row{flex-direction:column;gap:4px;display:flex}.form-row label{color:var(--text-color);font-size:.9rem}.form-row input,.form-row select{border:1px solid var(--border-color);background-color:var(--panel-bg);color:var(--text-color);border-radius:4px;padding:6px 12px}.form-row input:disabled{opacity:.7;cursor:not-allowed}.profiles-tab{flex-direction:column;gap:16px;display:flex}.profiles-note{background-color:var(--selected-bg);color:var(--text-color);border-radius:4px;padding:8px;font-size:.9rem}.profiles-table-container{flex:1;overflow:auto}.profiles-table{border-collapse:collapse;width:100%}.profiles-table th,.profiles-table td{text-align:left;border-bottom:1px solid var(--border-color);padding:8px 12px}.profiles-table th{background-color:var(--panel-bg);border-bottom:2px solid var(--primary-color);color:var(--text-color);font-weight:500}.profiles-table tr:hover{background-color:var(--hover-bg)}.profiles-actions{justify-content:flex-start;gap:8px;display:flex}.profile-pairs-tab{flex-direction:column;gap:16px;display:flex}.pairs-note{background-color:var(--selected-bg);color:var(--text-color);border-radius:4px;padding:8px;font-size:.9rem}.pairs-table-container{flex:1;overflow:auto}.pairs-table{border-collapse:collapse;width:100%}.pairs-table th,.pairs-table td{text-align:left;border-bottom:1px solid var(--border-color);padding:8px 12px}.pairs-table th{background-color:var(--panel-bg);border-bottom:2px solid var(--primary-color);color:var(--text-color);font-weight:500}.pairs-table tr:hover{background-color:var(--hover-bg)}.pairs-actions{justify-content:flex-start;gap:8px;display:flex}.uvalues-tab{flex-direction:column;gap:16px;display:flex}.uvalues-form{grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:12px;display:grid}.general-tab{flex-direction:column;gap:16px;display:flex}.general-form{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px;max-width:600px;display:grid}.pse-loading{color:var(--text-color);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.pse-error{background-color:var(--error-bg,#fee);color:var(--error-color,#c00);border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:8px 12px;font-size:.9rem;display:flex}.threshold-header-row td{background-color:var(--hover-bg);color:var(--text-color);opacity:.7;padding:6px 12px;font-size:.8rem;font-style:italic}.threshold-row{opacity:.6}.role-checkboxes{flex-wrap:wrap;gap:8px;margin-top:4px;display:flex}.role-checkbox{cursor:pointer;align-items:center;gap:4px;font-size:.9rem;display:flex}.pse-dialog-backdrop{z-index:2000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.pse-dialog{background:var(--panel-bg);border:1px solid var(--border-color);border-radius:6px;flex-direction:column;gap:12px;width:90%;min-width:360px;max-width:480px;padding:20px;display:flex}.pse-dialog h3{color:var(--text-color);margin:0;font-size:1rem}.pse-dialog .form-group{flex-direction:column;gap:4px;display:flex}.pse-dialog .form-group label{color:var(--text-color);font-size:.9rem}.pse-dialog .form-group input,.pse-dialog .form-group select{border:1px solid var(--border-color);background:var(--panel-bg);color:var(--text-color);border-radius:4px;padding:6px 10px;font-size:.9rem}.pse-dialog .dialog-actions{justify-content:flex-end;gap:8px;margin-top:4px;display:flex}.pse-system-list{background-color:var(--panel-bg);flex:1;padding:16px;overflow-y:auto}.pse-list-table{border-collapse:collapse;width:100%}.pse-list-table th{background-color:var(--panel-bg);border-bottom:2px solid var(--primary-color);color:var(--text-color);text-align:left;padding:10px 14px;font-weight:500}.pse-list-table td{border-bottom:1px solid var(--border-color);color:var(--text-color);padding:10px 14px}.pse-list-row{cursor:pointer;transition:background-color .15s}.pse-list-row:hover{background-color:var(--hover-bg)}.pse-list-action{text-align:right;white-space:nowrap}.pse-edit-title{align-items:center;gap:12px;display:flex}.pse-edit-title h2{color:var(--text-color);margin:0;font-size:1.2rem}.beads-tab-header{align-items:center;gap:12px;margin-bottom:8px;display:flex}.beads-table{border-collapse:collapse;border:1px solid var(--border-color);width:100%}.beads-table th,.beads-table td{text-align:left;border:1px solid var(--border-color);padding:6px 10px}.beads-table th{background-color:var(--panel-bg);border-bottom:2px solid var(--primary-color);font-weight:500}.beads-table tbody tr:hover{background-color:var(--hover-bg)}.expand-btn{cursor:pointer;color:var(--text-color);background:0 0;border:none;padding:0 4px;font-size:.85rem}.gaskets-subtable{border-collapse:collapse;width:100%;margin:4px 0;font-size:.88rem}.gaskets-subtable th,.gaskets-subtable td{text-align:left;border:1px solid var(--border-color);padding:4px 8px}.gaskets-subtable th{background-color:var(--panel-bg);font-weight:500}.pse-subframe-options{align-items:center;gap:16px;display:flex}.pse-subframe-option{align-items:center;gap:4px;font-weight:400;display:flex}.pse-default-cell{text-align:center}.sv-uv-section-label--spaced{margin-top:1rem}.sv-uv-table--narrow{max-width:320px}.localization-editor-modal{z-index:1000;background-color:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0;overflow-y:auto}.localization-editor-content{background:var(--panel-bg);border-radius:6px;flex-direction:column;width:95%;max-width:1400px;height:90vh;min-height:400px;max-height:90vh;margin:20px;display:flex;box-shadow:0 4px 20px #0000004d}.localization-editor-header{border-bottom:1px solid var(--border-color);background-color:var(--surface-bg);flex-shrink:0;justify-content:space-between;align-items:center;padding:8px 16px;display:flex}.localization-editor-header h2{color:var(--text-color);margin:0;font-size:16px;font-weight:600}.close-button{cursor:pointer;color:var(--text-muted);background:0 0;border:none;padding:2px 6px;font-size:22px;line-height:1}.close-button:hover{color:var(--text-color)}.localization-controls{border-bottom:1px solid var(--border-color);background-color:var(--surface-alt);flex-wrap:wrap;flex-shrink:0;align-items:center;gap:8px;padding:6px 16px;display:flex}.localization-controls select,.localization-controls input{border:1px solid var(--border-color);background:var(--panel-bg);color:var(--text-color);border-radius:3px;padding:5px 8px;font-size:13px}.localization-controls select:hover,.localization-controls input:hover{border-color:var(--primary-color)}.stats{color:var(--text-muted);text-align:right;flex-grow:1;font-size:12px}.category-filter{border-bottom:1px solid var(--border-color);background-color:var(--surface-alt);flex-shrink:0;align-items:center;gap:8px;padding:6px 16px;display:flex}.category-filter label{color:var(--text-color);white-space:nowrap;font-size:13px;font-weight:500}.category-filter select{border:1px solid var(--border-color);background:var(--panel-bg);color:var(--text-color);border-radius:3px;padding:5px 8px;font-size:13px}.category-description{color:var(--text-muted);border-bottom:1px solid var(--border-color);flex-shrink:0;padding:6px 16px;font-size:12px}.localization-table-container{flex-grow:1;overflow:hidden auto}.localization-table{border-collapse:collapse;table-layout:fixed;width:100%;font-size:12px}.localization-table th:first-child,.localization-table td:first-child{width:minmax(150px, 30%)}.localization-table th:nth-child(2),.localization-table td:nth-child(2){width:auto}.localization-table th:nth-child(3),.localization-table td:nth-child(3){width:minmax(150px, 25%)}.localization-table th,.localization-table td{text-align:left;border-bottom:1px solid var(--border-color);color:var(--text-color);vertical-align:middle;padding:4px 8px}.localization-table th{background-color:var(--hover-bg);z-index:10;font-weight:500;position:sticky;top:0}.localization-table tr:hover td{background-color:var(--hover-bg)}.localization-table tr.highlighted td{background-color:var(--selected-bg)}.localization-table td input{border:1px solid var(--border-color);background-color:var(--panel-bg);width:100%;color:var(--text-color);box-sizing:border-box;border-radius:3px;padding:4px 6px;font-size:13px}.localization-table td input:focus{border-color:var(--primary-color);outline:none;box-shadow:0 0 0 2px #4ea0ff26}.actions{gap:4px;display:flex}.actions button{background:var(--panel-bg);border:1px solid var(--border-color);cursor:pointer;width:28px;height:28px;color:var(--text-color);border-radius:3px;padding:0;font-size:12px}.actions button:hover{background:var(--hover-bg)}.category-header{background-color:var(--surface-bg);z-index:5;position:sticky;top:30px}.category-header-cell{color:var(--text-color);background-color:var(--hover-bg);border-bottom:2px solid var(--primary-color);padding:6px 12px;font-size:13px}.category-description-text{color:var(--text-muted);margin-top:2px;font-size:11px;font-weight:400;display:block}.no-results{text-align:center;color:var(--text-muted);padding:40px 0}.error-message{text-align:center;color:var(--error-color);background-color:var(--error-bg);border-radius:4px;padding:20px}.error-message p{margin:8px 0;font-size:14px}.localization-actions{border-top:1px solid var(--border-color);background-color:var(--surface-bg);flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;gap:8px;padding:10px 16px;display:flex}@media (width<=768px){.localization-editor-content{width:95%;height:95vh;min-height:300px}.localization-controls{flex-direction:column;align-items:stretch}.stats{text-align:left}.localization-actions{justify-content:center}.category-filter{flex-direction:column;align-items:stretch}}@media (prefers-color-scheme:dark){.localization-table td input,.localization-controls select,.localization-controls input,.category-filter select{background:var(--input-bg);color:var(--text-color)}.error-message{background-color:var(--error-bg)}.no-results,.category-description{color:var(--text-muted)}}.cookie-banner{background:var(--panel-bg);border-top:1px solid var(--border-color);z-index:10001;padding:16px 20px;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -2px 8px #0000001a}.cookie-content{flex-direction:column;gap:12px;max-width:1200px;margin:0 auto;display:flex}@media (width>=768px){.cookie-content{flex-direction:row;justify-content:space-between;align-items:center}}.cookie-text{color:var(--text-color);margin:0;font-size:14px;line-height:1.5}.cookie-buttons{flex-shrink:0;gap:10px;display:flex}.auth-page{background:var(--bg-color);justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.auth-card{background:var(--panel-bg);border-radius:8px;width:100%;max-width:400px;padding:40px;box-shadow:0 4px 12px #00000026}.auth-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.auth-header h1{color:var(--text-color);margin:0;font-size:24px}.auth-card h1{text-align:center;color:var(--text-color);margin:0 0 24px;font-size:24px}.auth-field{margin-bottom:20px}.auth-field label{color:var(--text-color);margin-bottom:6px;font-weight:500;display:block}.auth-field input{box-sizing:border-box;border:1px solid var(--border-color);background:var(--input-bg);width:100%;color:var(--text-color);border-radius:4px;padding:10px 12px;font-size:16px;transition:border-color .2s,box-shadow .2s}.auth-field input:focus{border-color:var(--primary-color);outline:none;box-shadow:0 0 0 2px #06c3}.auth-button{color:#fff;background:var(--primary-color);cursor:pointer;border:none;border-radius:4px;width:100%;padding:12px 16px;font-size:16px;font-weight:500;transition:background-color .2s}.auth-button:hover:not(:disabled){background:var(--primary-hover)}.auth-button:disabled{opacity:.6;cursor:not-allowed}.auth-error{background:var(--error-bg);color:var(--error-color);border-radius:4px;margin-bottom:20px;padding:12px;font-size:14px}.auth-switch{text-align:center;margin-top:24px}.auth-link{color:var(--primary-color);cursor:pointer;background:0 0;border:none;padding:0;font-size:14px}.auth-link:hover{text-decoration:underline}.auth-hint,.auth-switch-sep{color:var(--text-muted);font-size:14px}.auth-textarea{box-sizing:border-box;border:1px solid var(--border-color);background:var(--input-bg);width:100%;color:var(--text-color);resize:vertical;border-radius:4px;padding:10px 12px;font-family:inherit;font-size:14px}.auth-textarea:focus{border-color:var(--primary-color);outline:none;box-shadow:0 0 0 2px #06c3}.auth-success{background:var(--badge-active-bg,#e8f5e9);color:var(--badge-active-color,#2e7d32);border-radius:4px;margin-bottom:20px;padding:12px;font-size:14px}.privacy-checkbox-field{margin-bottom:16px}.privacy-checkbox-field label{cursor:pointer;align-items:flex-start;gap:8px;margin:0;display:flex}.privacy-checkbox-field input[type=checkbox]{flex-shrink:0;width:16px;height:16px;margin-top:2px}.privacy-checkbox-field a{text-decoration:underline}.privacy-checkbox-field a:hover{color:var(--primary-color)}@keyframes fadeUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.login-page{flex-direction:column;min-height:100vh;display:flex;position:relative}.lp-header{z-index:100;-webkit-backdrop-filter:blur(14px);background:#23272fe6;border-bottom:1px solid #ffffff12;position:sticky;top:0}.lp-header-inner{justify-content:space-between;align-items:center;max-width:1200px;height:60px;margin:0 auto;padding:0 32px;display:flex}.logo{color:#fff;letter-spacing:1px;cursor:pointer;-webkit-user-select:none;user-select:none;font-size:22px;font-weight:700;transition:opacity .2s}.logo:hover{opacity:.85}.logo-accent{color:var(--primary-color)}.lp-header-right{align-items:center;gap:16px;display:flex}.sign-in-wrapper{position:relative}.sign-in-btn{color:#fff;cursor:pointer;background:#ffffff14;border:1px solid #ffffff1f;border-radius:8px;align-items:center;gap:6px;padding:8px 18px;font-size:14px;font-weight:500;transition:background .2s,border-color .2s;display:flex}.sign-in-btn:hover{background:#ffffff24;border-color:#ffffff40}.sign-in-arrow{opacity:.7;font-size:10px;transition:transform .25s}.sign-in-arrow.open{opacity:1;transform:rotate(180deg)}.sign-in-dropdown{background:var(--panel-bg);border:1px solid var(--border-color);z-index:200;border-radius:14px;width:340px;padding:24px;animation:.2s ease-out fadeUp;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 16px 48px #0003,0 4px 12px #0000001a}.sign-in-loading{text-align:center;color:var(--text-muted);padding:20px 0}.lp-hero{background:linear-gradient(135deg, var(--bg-color) 0%, var(--surface-alt) 50%, var(--surface-bg) 100%);padding:80px 32px 72px}.lp-hero-inner{grid-template-columns:1fr 1fr;align-items:center;gap:64px;max-width:1200px;margin:0 auto;display:grid}.lp-hero-text{animation:.6s ease-out fadeUp}.lp-hero-text h1{color:var(--text-color);letter-spacing:-.02em;margin:0 0 20px;font-size:clamp(32px,5vw,52px);font-weight:800;line-height:1.15}.hero-subhead{color:var(--text-secondary);max-width:520px;margin:0 0 36px;font-size:clamp(16px,2vw,20px);line-height:1.6}.hero-form{margin-bottom:24px}.hero-form-row{gap:8px;max-width:480px;display:flex}.hero-form-input{border:1.5px solid var(--border-color);background:var(--panel-bg);color:var(--text-color);border-radius:10px;flex:1;padding:14px 18px;font-size:15px;transition:border-color .2s,box-shadow .2s}.hero-form-input:focus{border-color:var(--primary-color);outline:none;box-shadow:0 0 0 3px #0066cc1a}.hero-form-btn{background:var(--primary-color);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:10px;padding:14px 28px;font-size:15px;font-weight:600;transition:background .2s,transform .15s}.hero-form-btn:hover:not(:disabled){background:var(--primary-hover);transform:translateY(-1px)}.hero-form-btn:disabled{opacity:.5;cursor:not-allowed}.hero-form-micro{color:var(--text-muted);margin:10px 0 0;font-size:13px}.hero-form-success{background:var(--panel-bg);border:1.5px solid var(--success);text-align:center;border-radius:12px;max-width:480px;padding:24px;animation:.4s ease-out fadeUp}.hero-form-success .magic-sent-msg{color:var(--text-color);margin:0 0 8px;font-size:16px;font-weight:600}.hero-form-success .magic-sent-detail{color:var(--text-muted);margin:0 0 12px;font-size:14px;line-height:1.5}.trust-text{color:var(--text-muted);margin-top:20px;font-size:13px;line-height:1.5}.lp-hero-visual{animation:.8s ease-out .2s both fadeIn}.browser-frame{background:var(--panel-bg);border:1px solid var(--border-color);border-radius:12px;animation:4s ease-in-out infinite float;overflow:hidden;box-shadow:0 24px 64px #0000001f,0 8px 20px #00000014}.browser-bar{background:var(--surface-bg);border-bottom:1px solid var(--border-color);align-items:center;gap:8px;padding:10px 16px;display:flex}.browser-dot{background:var(--border-color);opacity:.5;border-radius:50%;width:11px;height:11px}.browser-url{color:var(--text-muted);margin-left:8px;font-family:inherit;font-size:12px}.browser-body{background:linear-gradient(180deg, var(--surface-alt) 0%, var(--panel-bg) 100%);justify-content:center;align-items:center;padding:0;display:flex}.door-screenshot{max-width:100%;height:auto;display:block}.lp-section{padding:80px 32px}.lp-section-inner{max-width:1100px;margin:0 auto}.lp-section-title{text-align:center;color:var(--text-color);letter-spacing:-.01em;margin:0 0 12px;font-size:clamp(24px,3vw,34px);font-weight:700}.lp-features{background:var(--panel-bg)}.lp-howitworks{background:var(--bg-color)}.lp-pricing{background:var(--surface-alt)}.lp-faq{background:var(--panel-bg)}.feature-cards{grid-template-columns:repeat(3,1fr);gap:24px;margin-top:48px;display:grid}.feature-card{background:var(--bg-color);border:1px solid var(--border-color);border-radius:14px;padding:32px 24px;transition:transform .25s,box-shadow .25s,border-color .25s}.feature-card:hover{border-color:var(--primary-color);transform:translateY(-4px);box-shadow:0 12px 32px #00000014}.feature-icon-wrap{margin-bottom:16px;font-size:32px}.feature-card-title{color:var(--text-color);margin:0 0 10px;font-size:16px;font-weight:600;line-height:1.3}.feature-card-desc{color:var(--text-secondary);margin:0;font-size:14px;line-height:1.6}.lp-showcase{background:var(--bg-color);margin-top:60px}.lp-section-sub{text-align:center;color:var(--text-secondary);max-width:540px;margin:0 auto 40px;font-size:16px}.demo-door{-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;background:#fff;width:100vw;margin-left:calc(50% - 50vw);overflow:hidden}.demo-door-content{box-sizing:border-box;flex-direction:column;width:100%;padding:20px 0 0;display:flex}.demo-door-content>div{max-width:none}.demo-door-viewport{--demo-door-gap:24px;box-sizing:border-box;width:100%;padding:36px 48px 44px;overflow:hidden}.demo-door-track{gap:var(--demo-door-gap);width:max-content;animation:demo-door-marquee var(--demo-door-duration) linear infinite;will-change:transform;display:flex}.demo-door-track.is-paused{animation-play-state:paused}.demo-door-card{cursor:pointer;background:#fff;border:1px solid #ececec;border-radius:6px;outline:none;flex:0 0 clamp(240px,27vw,360px);justify-content:center;align-items:center;height:clamp(360px,42vw,520px);transition:transform .3s,box-shadow .3s;display:flex;overflow:hidden;box-shadow:0 8px 24px #1a263612}.demo-door-card:focus-visible{border-color:#1a56db;box-shadow:0 0 0 3px #1a56db33,0 8px 24px #1a263612}.demo-door-card:hover,.demo-door-card:focus-visible{z-index:2;position:relative;transform:scale(1.15);box-shadow:0 16px 34px #1a263629}.demo-door-svg{justify-content:center;align-items:center;width:100%;height:100%;display:flex}.demo-door-svg>svg{width:100%;height:100%;display:block}@keyframes demo-door-marquee{0%{transform:translate(0)}to{transform:translateX(calc(-50% - (var(--demo-door-gap) / 2)))}}@media (prefers-reduced-motion:reduce){.demo-door-track{animation:none}.demo-door-viewport{scrollbar-width:thin;overflow-x:auto}}.demo-door-skeleton{aspect-ratio:9/16;background:linear-gradient(110deg,#f0f0f0 30%,#e0e0e0 50%,#f0f0f0 70%) 0 0/200% 100%;border-radius:0;width:100%;max-height:560px;animation:1.5s infinite shimmer}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.deck-container{width:100%;max-width:1400px;height:500px;margin:0 auto;position:relative}.deck-card{z-index:0;cursor:pointer;filter:grayscale(30%)brightness(.85);transform-origin:0 100%;width:450px;height:450px;margin-left:-225px;transition:transform .3s,box-shadow .3s;position:absolute;top:0;left:50%}.deck-card .browser-frame{border-radius:12px;width:100%;height:100%;overflow:hidden}.deck-card .browser-body{height:calc(100% - 36px);padding:0}.deck-card .door-screenshot{object-fit:contain;width:100%;height:100%}.deck-card:first-child{transform:translate(-300px)rotate(-5deg)}.deck-card:nth-child(2){transform:translate(-180px)rotate(-3deg)}.deck-card:nth-child(3){transform:translate(-60px)rotate(-1deg)}.deck-card:nth-child(4){transform:translate(60px)rotate(1deg)}.deck-card:nth-child(5){transform:translate(180px)rotate(3deg)}.deck-card:nth-child(6){transform:translate(300px)rotate(5deg)}.deck-card--active{filter:brightness()grayscale(0);transition:transform .3s,box-shadow .3s,z-index;box-shadow:0 16px 48px #0000002e,0 4px 16px #00000014;z-index:10!important;transform:translate(40px)rotate(0)!important}.howitworks-steps{flex-wrap:wrap;justify-content:center;align-items:center;gap:24px;margin-top:48px;display:flex}.hiw-step{text-align:center;background:var(--panel-bg);border:1px solid var(--border-color);border-radius:14px;flex:0 0 280px;padding:32px 24px}.hiw-step-num{color:var(--primary-color);margin-bottom:14px;font-size:28px;font-weight:700}.hiw-step h3{color:var(--text-color);margin:0 0 10px;font-size:15px;font-weight:600;line-height:1.3}.hiw-step p{color:var(--text-secondary);margin:0;font-size:13px;line-height:1.6}.hiw-arrow{color:var(--text-muted);flex-shrink:0;font-size:24px}.pricing-grid{grid-template-columns:repeat(2,1fr);gap:24px;max-width:700px;margin-top:48px;margin-left:auto;margin-right:auto;display:grid}.pricing-card{background:var(--panel-bg);border:1px solid var(--border-color);text-align:center;border-radius:16px;padding:36px 28px;position:relative}.pricing-card--preview{border-color:var(--primary-color);box-shadow:0 0 0 1px var(--primary-color), 0 8px 24px #0066cc1a}.pricing-badge{background:var(--primary-color);color:#fff;text-transform:uppercase;letter-spacing:.06em;border-radius:20px;margin-bottom:16px;padding:4px 14px;font-size:12px;font-weight:600;display:inline-block}.pricing-amount{color:var(--primary-color);margin-bottom:8px;font-size:40px;font-weight:800;line-height:1}.pricing-amount--muted{color:var(--text-muted);font-size:32px;text-decoration:line-through}.pricing-valid{color:var(--text-muted);margin:0 0 24px;font-size:14px}.pricing-features{text-align:left;margin:0 0 28px;padding:0;list-style:none}.pricing-features li{color:var(--text-color);border-bottom:1px solid var(--border-faint);padding:8px 0;font-size:14px}.pricing-features li:last-child{border-bottom:none}.pricing-features--muted li{color:var(--text-muted)}.pricing-btn{background:var(--primary-color);color:#fff;cursor:pointer;border:none;border-radius:10px;width:100%;padding:14px;font-size:15px;font-weight:600;transition:background .2s,transform .15s}.pricing-btn:hover:not(:disabled){background:var(--primary-hover);transform:translateY(-1px)}.pricing-btn--muted{background:var(--border-color);color:var(--text-muted);cursor:default}.pricing-extra-note{text-align:center;color:var(--text-muted);margin-top:20px;font-size:13px}.faq-list{max-width:720px;margin:48px auto 0}.faq-item{border:1px solid var(--border-color);border-radius:12px;margin-bottom:10px;transition:border-color .2s;overflow:hidden}.faq-item:hover{border-color:var(--primary-color)}.faq-question{cursor:pointer;width:100%;color:var(--text-color);text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;gap:16px;padding:18px 20px;font-family:inherit;font-size:15px;font-weight:500;display:flex}.faq-question:hover{color:var(--primary-color)}.faq-q-icon{color:var(--primary-color);background:#0066cc0f;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:22px;font-weight:300;transition:transform .2s;display:flex}.faq-item--open .faq-q-icon{transform:rotate(45deg)}.faq-answer{color:var(--text-secondary);padding:0 20px 18px;font-size:14px;line-height:1.7;animation:.2s ease-out fadeUp}.faq-answer p{margin:0}.lp-footer{background:var(--dark-surface);color:var(--dark-text-muted);border-top:1px solid #ffffff12;padding:24px 32px}.lp-footer-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;max-width:1200px;margin:0 auto;display:flex}.lp-footer-inner p{color:var(--dark-text-muted);margin:0;font-size:13px}.lp-footer-links{align-items:center;gap:20px;display:flex}.footer-link{color:var(--dark-text-muted);cursor:pointer;background:0 0;border:none;font-size:13px;text-decoration:none;transition:color .2s}.footer-link:hover{color:var(--primary-color)}.footer-badge{color:var(--primary-color);background:#0066cc1a;border-radius:20px;align-items:center;gap:4px;padding:4px 10px;font-size:11px;font-weight:600;display:inline-flex}.lp-modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:500;background:#00000080;justify-content:center;align-items:center;padding:24px;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}.lp-modal{background:var(--panel-bg);border-radius:16px;width:100%;max-width:440px;padding:36px;animation:.25s ease-out fadeUp;position:relative;box-shadow:0 24px 64px #0003}.lp-modal-close{background:var(--surface-bg);border:1px solid var(--border-color);cursor:pointer;width:32px;height:32px;color:var(--text-muted);border-radius:50%;justify-content:center;align-items:center;font-size:14px;transition:background .2s;display:flex;position:absolute;top:14px;right:14px}.lp-modal-close:hover{background:var(--border-color);color:var(--text-color)}.lp-modal h2{color:var(--text-color);margin:0 0 24px;font-size:22px}.magic-loading-overlay{background:var(--bg-color);justify-content:center;align-items:center;min-height:100vh;display:flex}.magic-loading-card{background:var(--panel-bg);border-radius:14px;padding:40px;box-shadow:0 8px 32px #00000014}.magic-loading-text{text-align:center;color:var(--text-muted);font-size:16px}.auth-error--compact{margin:-4px 0 16px;padding:8px 12px;font-size:13px}.sign-in-dropdown .auth-field{margin-bottom:12px}.sign-in-dropdown .auth-field label{color:var(--text-muted);margin-bottom:4px;font-size:13px;font-weight:500;display:block}.sign-in-dropdown .auth-field input{border:1px solid var(--border-color);background:var(--input-bg);width:100%;color:var(--text-color);box-sizing:border-box;border-radius:8px;padding:10px 12px;font-family:inherit;font-size:14px;transition:border-color .2s,box-shadow .2s}.sign-in-dropdown .auth-field input:focus{border-color:var(--primary-color);outline:none;box-shadow:0 0 0 2px #0066cc1a}.auth-tabs{border-bottom:1px solid var(--border-color);margin:-24px -24px 20px;display:flex;overflow:hidden}.auth-tab{background:var(--surface-bg);cursor:pointer;color:var(--text-muted);border:none;border-bottom:2px solid #0000;flex:1;margin-bottom:-1px;padding:12px 8px;font-size:14px;font-weight:500;transition:background .15s,color .15s}.auth-tab:hover{color:var(--text-color);background:var(--panel-bg)}.auth-tab--active{color:var(--primary-color);background:var(--panel-bg);border-bottom-color:var(--primary-color);font-weight:600}.sign-in-dropdown .auth-button{background:var(--primary-color);color:#fff;cursor:pointer;border:none;border-radius:8px;width:100%;margin-top:4px;padding:11px 16px;font-size:14px;font-weight:600;transition:background .2s}.sign-in-dropdown .auth-button:hover:not(:disabled){background:var(--primary-hover)}.sign-in-dropdown .auth-button:disabled{opacity:.5;cursor:not-allowed}.sign-in-dropdown .auth-switch{text-align:center;border-top:1px solid var(--border-faint);margin-top:12px;padding-top:12px}.sign-in-dropdown .auth-link{color:var(--primary-color);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px 8px;font-size:13px;transition:background .2s}.sign-in-dropdown .auth-link:hover{background:#0066cc0f}.magic-sent-msg{color:var(--text-color);text-align:center;margin:0 0 8px;font-size:15px;font-weight:600}.magic-sent-detail{color:var(--text-muted);text-align:center;margin:0 0 16px;font-size:13px;line-height:1.5}.password-form{border-top:1px solid var(--border-faint);margin-top:8px;padding-top:16px}.login-link-option{border-top:1px solid var(--border-faint);margin-top:24px;padding-top:16px}.login-link-divider{text-align:center;margin-bottom:16px}.login-link-divider span{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:12px}.login-link-btn{background:var(--primary-color);color:#fff;cursor:pointer;border:none;border-radius:8px;width:100%;padding:10px 16px;font-size:13px;font-weight:600;transition:background .2s}.login-link-btn:hover:not(:disabled){background:var(--primary-hover)}.login-link-btn:disabled{opacity:.5;cursor:not-allowed}@media (width<=900px){.lp-hero-inner{grid-template-columns:1fr;gap:48px}.lp-hero{padding:60px 24px 56px}.feature-cards{grid-template-columns:repeat(2,1fr)}.hiw-arrow{display:none}.showcase-nav--prev{left:-8px}.showcase-nav--next{right:-8px}.howitworks-steps{flex-direction:column}.hiw-step{flex:none;width:100%;max-width:400px}.pricing-grid{grid-template-columns:1fr;max-width:400px}.lp-footer-inner{text-align:center;flex-direction:column;gap:12px}}@media (width<=600px){.lp-header-inner{padding:0 16px}.sign-in-dropdown{width:300px;right:-40px}.lp-hero{padding:40px 16px}.lp-hero-text h1{font-size:28px}.hero-form-row{flex-direction:column}.hero-form-btn{text-align:center;width:100%}.feature-cards{grid-template-columns:1fr}.lp-section{padding:56px 20px}.demo-door{width:100vw;margin-left:calc(50% - 50vw)}.demo-door-content{padding:12px}.demo-door-viewport{--demo-door-gap:16px;padding:28px 28px 34px}.lp-modal{margin:16px;padding:28px 20px}.lp-footer-links{flex-direction:column;gap:8px}.browser-frame{animation:none}}@media (width<=400px){.sign-in-dropdown{width:280px;right:-80px}.lp-hero-text h1{font-size:24px}}.osd-backdrop{z-index:1100}.osd-dialog{max-width:480px}.osd-header{border-bottom:1px solid var(--border-color);padding:16px 20px 12px}.osd-header h2{color:var(--text-color);margin:0 0 2px;font-size:1.2rem}.osd-org-name{color:var(--text-muted);margin:0;font-size:.85rem}.osd-body{flex:1;padding:8px 12px;overflow-y:auto}.osd-loading{text-align:center;color:var(--text-muted);padding:20px}.osd-tree{flex-direction:column;display:flex}.osd-vendor-row{border-top:1px solid var(--border-color);align-items:center;gap:8px;margin-top:4px;padding:8px 6px 6px;display:flex}.osd-vendor-row:first-child{border-top:none;margin-top:0}.osd-collapse-btn{cursor:pointer;color:var(--text-muted);background:0 0;border:none;width:16px;padding:0 2px;font-size:.7rem;line-height:1}.osd-vendor-name{color:var(--text-color);flex:1;font-size:.9rem;font-weight:600}.osd-vendor-count{color:var(--text-muted);font-size:.8rem}.osd-system-row{cursor:pointer;color:var(--text-color);border-radius:4px;align-items:center;gap:8px;padding:5px 6px 5px 32px;transition:background-color .12s;display:flex}.osd-system-row:hover{background:var(--hover-bg)}.osd-checkbox{cursor:pointer;flex-shrink:0;width:16px;height:16px}.osd-system-name{flex:1;font-size:.88rem}.osd-dim-class{color:var(--text-muted);background:var(--border-color);border-radius:3px;padding:1px 5px;font-size:.75rem}.osd-actions{border-top:1px solid var(--border-color);background:var(--surface-bg);justify-content:flex-end;gap:8px;padding:12px 16px;display:flex}.osd-error{background:var(--error-bg);color:var(--error-color);border-radius:4px;justify-content:space-between;align-items:center;margin:8px 12px 0;padding:8px 10px;font-size:.85rem;display:flex}.osd-error-close{cursor:pointer;color:var(--error-color);background:0 0;border:none;padding:0 0 0 6px;font-size:1.1rem;line-height:1}.admin-page{max-width:900px;margin:0 auto;padding:24px}.admin-create-user-form{flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;display:flex}.admin-create-user-input{border:1px solid var(--border-color,#ccc);border-radius:4px;flex:1;min-width:200px;padding:7px 10px;font-size:14px}.admin-create-user-select{border:1px solid var(--border-color,#ccc);border-radius:4px;padding:7px 10px;font-size:14px}.admin-modal-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.admin-modal{background:var(--panel-bg,#fff);border-radius:8px;width:90%;max-width:560px;padding:24px;box-shadow:0 8px 32px #0003}.admin-modal h3{margin:0 0 12px}.admin-modal p{margin:0 0 12px;font-size:14px}.admin-magic-link-box{gap:8px;margin-bottom:16px;display:flex}.admin-magic-link-input{border:1px solid var(--border-color,#ccc);background:var(--input-bg,#f8f8f8);border-radius:4px;flex:1;padding:7px 10px;font-family:monospace;font-size:13px}.admin-magic-emailed{color:var(--success,green);font-size:13px}.admin-header{align-items:center;gap:16px;margin-bottom:24px;display:flex}.admin-header h1{margin:0;font-size:22px}.admin-back{border:1px solid var(--border-color,#ccc);cursor:pointer;color:var(--text-color,#333);background:0 0;border-radius:4px;padding:6px 12px;font-size:14px}.admin-back:hover{background:var(--hover-bg,#f0f0f0)}.admin-error{background:var(--error-bg,#e539351a);color:var(--error-color,#d32f2f);border:1px solid var(--error-border,#e539354d);border-radius:4px;margin-bottom:16px;padding:12px;font-size:14px}.admin-loading{color:var(--text-muted,#888)}.admin-table{border-collapse:collapse;width:100%;font-size:14px}.admin-table th,.admin-table td{text-align:left;border-bottom:1px solid var(--border-color,#e0e0e0);color:var(--text-color,#333);padding:10px 12px}.admin-table th{background:var(--hover-bg,#f8f8f8);font-weight:600}.admin-row-inactive td{opacity:.55}.admin-you{color:var(--text-muted,#888);font-size:12px}.admin-badge{border-radius:12px;padding:2px 8px;font-size:12px;font-weight:500;display:inline-block}.admin-badge.active{background:var(--success-bg,#81c78433);color:var(--success,green)}.admin-badge.inactive{background:var(--panel-bg,#fafafa);color:var(--text-muted,#888);border:1px solid var(--border-color,#ddd)}.admin-badge.admin{background:var(--selected-bg,#e3f2fd);color:var(--brand-primary,#4ea0ff);margin-left:4px}.admin-toggle{cursor:pointer;background:var(--panel-bg,#fff);border:1px solid;border-radius:4px;padding:4px 12px;font-size:13px}.admin-last-seen-missing,.admin-member-role{color:var(--text-muted)}.admin-plan-value{font-weight:400}.admin-plan-value.is-paid{color:var(--primary-color);font-weight:700}.admin-org-address-input{resize:vertical;min-height:4rem;margin-top:.5rem}.admin-org-spaced-input{margin-top:.5rem}.admin-members-table{margin-bottom:1rem}.admin-member-role{font-size:.85em}.admin-add-member-row{align-items:center;gap:.5rem;margin-bottom:1rem;display:flex}.admin-add-member-select{flex:1}.org-settings-form{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start;gap:28px;max-width:980px;display:grid}.org-settings-section{min-width:0}.org-settings-portal-section{border:1px solid var(--border-color);background:var(--surface-bg);box-shadow:var(--shadow);border-radius:12px;padding:20px}.org-settings-section-heading{margin-bottom:18px}.org-settings-section-heading h3{color:var(--text-color);margin:0;font-size:16px;font-weight:700}.org-settings-section-heading p{color:var(--text-muted);margin:5px 0 0;font-size:13px;line-height:1.45}.org-settings-section-fields{flex-direction:column;gap:16px;display:flex}.org-portal-mapping-summary{border:1px solid var(--border-faint);background:var(--panel-bg);border-radius:8px;gap:8px;padding:12px;display:grid}.org-portal-mapping-summary span{color:var(--text-secondary);font-size:13px;line-height:1.4}.org-settings-portal-section .admin-toggle{align-self:flex-start;margin-top:8px}.org-settings-note{color:var(--text-muted);opacity:.8;margin-top:4px;font-size:.8em;font-style:italic}.org-settings-url{word-break:break-all;font-size:.85em;display:block}.org-settings-kerf-control{align-items:center;display:flex}.org-settings-kerf-input{width:100px}.org-settings-unit{color:var(--text-muted);margin-left:8px;font-size:.9em}.org-settings-actions{margin-top:1rem}.org-settings-saved{font-size:.9em}@media (width<=760px){.org-settings-form{grid-template-columns:1fr;gap:24px}.org-settings-portal-section{padding:16px}}.admin-toggle.disable{border-color:var(--error-color,#d32f2f);color:var(--error-color,#d32f2f)}.admin-toggle.disable:hover{background:var(--error-bg,#e539351a)}.admin-toggle.enable{border-color:var(--success,green);color:var(--success,green)}.admin-toggle.enable:hover{background:var(--success-bg,#81c78433)}.admin-toggle.reset-pw{border-color:var(--primary-color,#4ea0ff);color:var(--primary-color,#4ea0ff)}.admin-toggle.reset-pw:hover{background:var(--selected-bg,#e3f2fd)}.admin-toggle.delete{border-color:var(--error-color,#d32f2f);color:var(--error-color,#d32f2f)}.admin-toggle.delete:hover{background:var(--error-bg,#e539351a)}.admin-actions-cell{flex-wrap:wrap;gap:6px;display:flex}.admin-col-center{text-align:center}.admin-overlay{z-index:100;background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.admin-dialog{background:var(--panel-bg,#fff);min-width:320px;max-width:440px;color:var(--text-color,#333);border-radius:8px;padding:24px;box-shadow:0 8px 32px #0000002e}.admin-dialog p{margin:0 0 12px;font-size:14px}.admin-dialog-warn{color:var(--toggle-delete-color,#b71c1c);font-size:13px!important}.admin-dialog-error{color:var(--error-color,#c62828);margin:4px 0 8px!important;font-size:13px!important}.admin-dialog-actions{justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.admin-section-title{color:var(--text-color,#333);margin:0 0 12px;font-size:15px;font-weight:600}.admin-pw-input{border:1px solid var(--border-color,#ccc);background:var(--input-bg,#fff);width:100%;color:var(--text-color,#333);box-sizing:border-box;border-radius:4px;padding:8px 10px;font-size:14px}.admin-content{margin-top:32px}.admin-content-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.admin-content-form{flex-direction:column;gap:12px;margin:16px 0;display:flex}.admin-content-field{flex-direction:column;gap:4px;display:flex}.admin-content-field label{color:var(--text-muted,#666);font-size:13px;font-weight:500}.admin-content-field select,.admin-content-textarea{border:1px solid var(--border-color,#ccc);background:var(--input-bg,#fff);color:var(--text-color,#333);box-sizing:border-box;border-radius:4px;padding:8px 10px;font-size:14px}.admin-content-textarea{resize:vertical;min-height:80px;font-family:inherit}@media (prefers-color-scheme:dark){:root{--badge-active-bg:#1b3a1e;--badge-active-color:#81c784;--toggle-disable-border:#8b3a3a;--toggle-disable-color:#ff6b6b;--toggle-disable-hover:#3a1b1b;--toggle-enable-border:#2e6b30;--toggle-enable-color:#81c784;--toggle-enable-hover:#1b3a1e;--toggle-reset-border:#546e7a;--toggle-reset-color:#b0bec5;--toggle-reset-hover:#1e2a30;--toggle-delete-border:#8b2020;--toggle-delete-color:#ff6b6b;--toggle-delete-hover:#3a1010}}.admin-page{width:min(1180px,100% - 48px);max-width:none;color:var(--text-color);padding:36px 0 64px}.admin-hero{padding:4px 0 28px;position:relative}.admin-hero-top,.admin-panel-heading,.admin-toolbar,.admin-quick-actions,.admin-traffic-panel{align-items:center;display:flex}.admin-hero-top{gap:14px;margin-bottom:30px}.admin-eyebrow,.admin-panel-kicker{color:var(--primary-color);letter-spacing:.11em;text-transform:uppercase;font-size:11px;font-weight:700}.admin-traffic-button{border:1px solid var(--border-color);background:var(--panel-bg);color:var(--text-secondary);cursor:pointer;border-radius:8px;margin-left:auto;padding:8px 14px;font-size:13px;font-weight:600}.admin-traffic-button:hover:not(:disabled),.admin-secondary-button:hover:not(:disabled),.admin-manage-button:hover{background:var(--hover-bg);border-color:var(--primary-color);color:var(--primary-color)}.admin-hero h1{letter-spacing:-.035em;margin:0 0 8px;font-size:clamp(28px,4vw,40px)}.admin-hero p{max-width:600px;color:var(--text-secondary);margin:0;font-size:15px}.admin-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:30px;display:grid}.admin-stat-card{border:1px solid var(--border-color);background:var(--panel-bg);min-height:94px;box-shadow:var(--shadow);border-radius:12px;align-items:flex-start;gap:13px;padding:18px;display:flex}.admin-stat-card-action{cursor:pointer;transition:transform .15s,box-shadow .15s}.admin-stat-card-action:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.admin-stat-icon{border-radius:10px;flex:0 0 36px;place-items:center;width:36px;height:36px;font-size:20px;font-weight:700;display:grid}.admin-stat-icon-blue{color:var(--primary-color);background:#4ea0ff24}.admin-stat-icon-green{color:#269454;background:#38ab6624}.admin-stat-icon-purple{color:#8154d8;background:#8b5cf624}.admin-stat-icon-orange{color:#d27c22;background:#ea893126}.admin-stat-card div{min-width:0}.admin-stat-label,.admin-stat-card small{display:block}.admin-stat-label{color:var(--text-secondary);font-size:12px;font-weight:600}.admin-stat-card strong{letter-spacing:-.04em;margin:3px 0;font-size:25px;display:block}.admin-stat-card small{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.admin-tabs{border-bottom:1px solid var(--border-color);gap:24px;margin-bottom:20px;display:flex}.admin-tab{color:var(--text-muted);cursor:pointer;background:0 0;border:0;padding:12px 2px 14px;font-size:14px;font-weight:600;position:relative}.admin-tab:hover{color:var(--text-color)}.admin-tab.active{color:var(--primary-color)}.admin-tab.active:after{background:var(--primary-color);content:"";border-radius:2px 2px 0 0;height:2px;position:absolute;bottom:-1px;left:0;right:0}.admin-overview-grid{grid-template-columns:1.35fr 1fr;gap:16px;margin-bottom:16px;display:grid}.admin-panel{border:1px solid var(--border-color);background:var(--panel-bg);box-shadow:var(--shadow);border-radius:14px}.admin-welcome-panel{background:linear-gradient(135deg, var(--panel-bg), #4ea0ff12);padding:28px}.admin-panel h2{letter-spacing:-.02em;margin:5px 0 8px;font-size:20px}.admin-panel p{color:var(--text-secondary);margin:0;font-size:14px;line-height:1.55}.admin-quick-actions{gap:10px;margin-top:24px}.admin-health-panel{padding:24px}.admin-health-panel p{margin-bottom:20px}.admin-health-dot{background:#42b875;border-radius:50%;width:9px;height:9px;box-shadow:0 0 0 4px #42b87526}.admin-health-row{border-top:1px solid var(--border-faint);color:var(--text-secondary);justify-content:space-between;padding:11px 0;font-size:13px;display:flex}.admin-health-row strong{color:var(--text-color)}.admin-traffic-panel{justify-content:space-between;gap:20px;padding:22px 26px}.admin-traffic-panel h2{margin-bottom:4px}.admin-list-panel{padding:24px;overflow:visible}.admin-panel-heading{justify-content:space-between;gap:16px;margin-bottom:20px}.admin-panel-heading h2{margin-bottom:0}.admin-result-count{color:var(--text-muted);white-space:nowrap;font-size:12px}.admin-primary-button,.admin-secondary-button{cursor:pointer;border-radius:8px;min-height:36px;padding:8px 14px;font-size:13px;font-weight:650;transition:background .15s,border .15s,opacity .15s}.admin-primary-button{border:1px solid var(--primary-color);background:var(--primary-color);color:#fff}.admin-primary-button:hover:not(:disabled){border-color:var(--primary-hover);background:var(--primary-hover)}.admin-secondary-button{border:1px solid var(--border-color);background:var(--panel-bg);color:var(--text-color)}.admin-primary-button:disabled,.admin-secondary-button:disabled,.admin-traffic-button:disabled{cursor:wait;opacity:.55}.admin-create-user-form{background:#4ea0ff0f;border:1px solid #4ea0ff40;border-radius:10px;grid-template-columns:minmax(220px,1.4fr) minmax(160px,.8fr) auto;align-items:center;gap:10px;margin:0 0 22px;padding:15px;display:grid}.admin-create-heading{grid-column:1/-1;align-items:center;gap:10px;display:flex}.admin-create-heading strong,.admin-create-heading small{display:block}.admin-create-heading strong{font-size:13px}.admin-create-heading small{color:var(--text-muted);margin-top:2px;font-size:11px}.admin-create-icon{background:var(--primary-color);color:#fff;border-radius:7px;place-items:center;width:25px;height:25px;font-size:18px;display:grid}.admin-create-user-input,.admin-create-user-select,.admin-toolbar select,.admin-search input{box-sizing:border-box;border:1px solid var(--border-color);background:var(--input-bg);min-height:36px;color:var(--text-color);font:inherit;border-radius:8px;font-size:13px}.admin-create-user-input,.admin-create-user-select{width:100%;padding:8px 10px}.admin-toolbar{gap:10px;margin-bottom:16px}.admin-search{flex:1;align-items:center;min-width:180px;display:flex;position:relative}.admin-search>span{color:var(--text-muted);font-size:20px;line-height:1;position:absolute;left:11px}.admin-search input{width:100%;padding:8px 10px 8px 31px}.admin-search input:focus,.admin-toolbar select:focus,.admin-create-user-input:focus,.admin-create-user-select:focus{border-color:var(--primary-color);outline:2px solid #4ea0ff40}.admin-toolbar select{padding:8px 28px 8px 10px}.admin-table-wrap{border:1px solid var(--border-color);border-radius:10px;overflow-x:auto}.admin-table{border:0;min-width:760px}.admin-table th{border-bottom:1px solid var(--border-color);background:var(--surface-bg);color:var(--text-muted);letter-spacing:.05em;text-transform:uppercase;padding:11px 14px;font-size:11px}.admin-table td{border-bottom:1px solid var(--border-faint);vertical-align:middle;padding:13px 14px}.admin-table tbody tr:last-child td{border-bottom:0}.admin-table tbody tr:hover{background:var(--hover-bg)}.admin-user-cell,.admin-org-cell{align-items:center;gap:10px;min-width:210px;display:flex}.admin-user-cell strong{font-size:13px;font-weight:600;display:block}.admin-avatar,.admin-org-mark{width:31px;height:31px;color:var(--primary-color);background:#4ea0ff1f;border-radius:9px;flex:0 0 31px;place-items:center;font-size:12px;font-weight:700;display:grid}.admin-org-mark{color:#8154d8;background:#8b5cf621}.admin-you{color:var(--text-muted);margin-top:2px;font-size:11px;display:inline-block}.admin-muted{color:var(--text-muted)!important}.admin-badge{margin-right:4px}.admin-plan-badge{background:var(--surface-bg);color:var(--text-muted);text-transform:capitalize;border-radius:20px;padding:4px 9px;font-size:11px;font-weight:700;display:inline-block}.admin-plan-badge.paid{color:#269454;background:#38ab6621}.admin-action-cell{white-space:nowrap;width:1%;position:relative}.admin-manage-button{border:1px solid var(--border-color);background:var(--panel-bg);color:var(--text-secondary);cursor:pointer;border-radius:7px;padding:7px 10px;font-size:12px;font-weight:650}.admin-action-menu{z-index:20;border:1px solid var(--border-color);background:var(--panel-bg);min-width:150px;box-shadow:var(--shadow-lg);border-radius:9px;padding:5px;position:absolute;top:calc(100% - 4px);right:14px}.admin-action-menu button{width:100%;color:var(--text-color);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:6px;padding:8px 10px;font-size:12px;display:block}.admin-action-menu button:hover{background:var(--hover-bg)}.admin-action-menu button.danger{color:var(--error-color)}.admin-empty-state{border:1px dashed var(--border-color);min-height:140px;color:var(--text-secondary);text-align:center;border-radius:10px;place-content:center;gap:5px;display:grid}.admin-empty-state span{color:var(--text-muted);font-size:13px}@media (width<=900px){.admin-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-overview-grid{grid-template-columns:1fr}}@media (width<=640px){.admin-page{width:calc(100% - 28px);padding-top:20px}.admin-hero-top{margin-bottom:22px}.admin-eyebrow{display:none}.admin-traffic-button{padding:7px 9px;font-size:12px}.admin-stat-grid{gap:9px;margin-bottom:22px}.admin-stat-card{gap:8px;min-height:76px;padding:12px}.admin-stat-icon{border-radius:8px;flex-basis:29px;width:29px;height:29px;font-size:16px}.admin-stat-card strong{font-size:21px}.admin-stat-card small{font-size:10px}.admin-tabs{gap:16px;overflow-x:auto}.admin-tab{white-space:nowrap;font-size:13px}.admin-list-panel{padding:16px}.admin-panel-heading{align-items:flex-start}.admin-panel-heading .admin-primary-button{white-space:nowrap}.admin-create-user-form{grid-template-columns:1fr}.admin-toolbar{flex-wrap:wrap}.admin-search{flex-basis:100%}.admin-toolbar select{flex:1;min-width:0}.admin-traffic-panel{flex-direction:column;align-items:flex-start;padding:18px}.admin-quick-actions{flex-direction:column;align-items:stretch}}.portal-preset-dialog{max-width:680px}.portal-preset-dialog__header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.portal-preset-dialog__header h2{color:var(--text-color);margin:0;font-size:18px}.portal-preset-dialog__body{color:var(--text-color);padding:20px}.portal-preset-dialog__body p{margin:0 0 16px;line-height:1.5}.portal-preset-dialog__rows{gap:12px;display:grid}.portal-preset-dialog__row{grid-template-columns:minmax(150px,.8fr) minmax(240px,1.2fr);align-items:center;gap:16px;font-weight:600;display:grid}.portal-preset-dialog__row select{border:1px solid var(--border-color);background:var(--input-background,#fff);width:100%;min-height:38px;color:var(--text-color);border-radius:4px;padding:7px 10px}.portal-preset-dialog__warning{border:1px solid var(--error-color);color:var(--error-color);background:var(--error-bg);border-radius:4px;padding:10px 12px}.portal-preset-dialog__note{color:var(--text-muted);font-size:13px;margin-top:18px!important}.portal-preset-dialog__actions{justify-content:flex-end;gap:10px;padding:0 20px 20px;display:flex}@media (width<=600px){.portal-preset-dialog__row{grid-template-columns:1fr;gap:6px}}.system-items-form{max-width:100%}.system-items-list-section{margin-top:1rem}.system-items-empty{font-style:italic}.system-items-list{flex-direction:column;gap:8px;display:flex}.system-item-card{border:1px solid var(--border-color);background:var(--input-bg);border-radius:6px;padding:10px 12px}.system-item-fields,.system-item-auto-rule,.system-items-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.system-item-name{flex:180px;min-width:120px}.system-item-description{flex:200px;min-width:120px}.system-item-sort,.system-item-qty{width:60px}.system-item-auto-rule{margin-top:8px}.system-item-auto-label{font-size:12px;font-weight:600}.system-item-rule-select{width:160px;font-size:12px}.system-item-qty{font-size:12px}.system-items-actions{margin-top:12px}body{background-color:var(--bg-color);color:var(--text-color);margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif}.app{width:100%;margin:0;padding:0}.context-menu{background:var(--panel-bg);border:1px solid var(--border-color);box-shadow:var(--shadow), 0 4px 12px #00000026;z-index:2000;border-radius:4px;min-width:200px;padding:8px 0;font-size:14px;position:fixed}.context-menu-item{cursor:pointer;color:var(--text-color);align-items:center;padding:8px 16px;display:flex}.context-menu-item:hover{background-color:var(--hover-bg)}.context-menu input[type=checkbox]{cursor:pointer;margin-right:8px}.loading,.error{text-align:center;padding:20px;font-size:18px}.error{color:var(--error-color);background-color:var(--error-bg);border-radius:4px}.app-load-error{flex-direction:column;align-items:center;gap:12px;padding:40px;display:flex}.project-list{max-width:800px;margin:0 auto;padding-bottom:60px}.project-list h1{text-align:center;color:var(--primary-color)}.refresh-section{text-align:center;margin-top:20px}.refresh-button{background-color:var(--panel-bg);color:var(--primary-color);border:1px solid var(--primary-color);cursor:pointer;border-radius:4px;padding:8px 16px;font-size:14px;transition:all .2s}.refresh-button:hover{background-color:var(--primary-color);color:#fff}.trash-section{margin-top:24px}.trash-toggle{color:var(--text-muted,#888);cursor:pointer;background:0 0;border:none;padding:4px 0;font-size:13px}.trash-toggle:hover{color:var(--text-color)}.trash-list{margin-top:8px;padding:0 4px}.trash-list ul{margin:0;padding:0;list-style:none}.new-project-form{background-color:var(--panel-bg);box-shadow:var(--shadow);border-radius:8px;margin-bottom:20px;padding:20px}.new-project-form h2{color:var(--text-color);margin:0 0 16px;font-size:18px}.new-project-form form{gap:10px;display:flex}.new-project-form input{border:1px solid var(--border-color);background-color:var(--panel-bg);color:var(--text-color);border-radius:4px;flex:1;padding:10px;font-size:16px}.new-project-form button{background-color:var(--primary-color);color:#fff;border:1px solid var(--primary-color);cursor:pointer;border-radius:4px;padding:8px 16px;font-size:13px;font-weight:500}.new-project-form button:hover{background-color:var(--primary-hover);border-color:var(--primary-hover)}.free-limit-notice{background:rgba(var(--accent-rgb,0, 112, 243), .08);border:1px solid rgba(var(--accent-rgb,0, 112, 243), .3);border-radius:6px;padding:12px 16px;font-size:14px}.free-limit-notice p{margin:0 0 8px}.upgrade-link{cursor:pointer;color:var(--accent,#0070f3);font-size:inherit;background:0 0;border:none;padding:0;font-weight:500}.upgrade-link:hover{text-decoration:underline}.projects-grid ul{margin:0;padding:0;list-style:none}.project-list-header,.project-item{background-color:var(--panel-bg);border-bottom:1px solid var(--border-color);grid-template-columns:1fr 1fr 90px 90px 80px 80px;align-items:center;gap:8px;padding:10px 15px;display:grid}.project-list-header{border-bottom:2px solid var(--border-color);color:var(--text-color);font-weight:600}.project-item{margin-bottom:0}.project-item>div{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.project-item>.project-tab-col{overflow:visible}.project-item .project-actions{white-space:normal}.project-item:hover{background-color:var(--hover-bg)}.project-item:last-child{border-bottom:none}.sort-button{color:var(--text-color);cursor:pointer;text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;width:100%;height:28px;padding:0;font-size:14px;display:flex}.sort-button:hover{background-color:var(--hover-bg)}.sort-button.active{color:var(--primary-color);font-weight:600}.project-item a{color:var(--primary-color);font-size:15px;font-weight:500;text-decoration:none}.project-item a:hover{text-decoration:underline}.project-item .delete-button{background-color:var(--error-color);color:#fff;border:1px solid var(--error-color);cursor:pointer;border-radius:4px;padding:5px 11px;font-size:13px;font-weight:500}.project-item .delete-button:hover{opacity:.85}.global-actions{border-top:1px solid var(--border);margin-top:30px;padding-top:20px}.glass-types-button,.profile-systems-button{background-color:var(--primary-color);color:#fff;cursor:pointer;border:1px solid var(--primary-color);border-radius:4px;margin-right:10px;padding:6px 13px;font-size:13px;font-weight:500;text-decoration:none;display:inline-block}.glass-types-button:hover,.profile-systems-button:hover{background-color:var(--primary-hover);border-color:var(--primary-hover)}.project-view{flex-direction:column;gap:20px;display:flex}.project-header{background-color:var(--panel-bg);box-shadow:var(--shadow);border-radius:8px;justify-content:space-between;align-items:center;padding:15px 20px;display:flex}.project-header h1{color:var(--primary-color);margin:0}.project-actions{justify-content:flex-end;gap:10px;display:flex}.project-actions button,.project-actions .button{background-color:var(--primary-color);color:#fff;border:1px solid var(--primary-color);cursor:pointer;border-radius:4px;padding:6px 13px;font-size:13px;font-weight:500;text-decoration:none;display:inline-block}.project-actions button:hover,.project-actions .button:hover{background-color:var(--primary-hover);border-color:var(--primary-hover)}.project-actions button:disabled{opacity:.45;cursor:not-allowed}.project-content{gap:20px;display:flex}.position-table{background-color:var(--panel-bg);box-shadow:var(--shadow);border-radius:8px;flex:1;padding:20px}.position-table h2{color:var(--primary-color);margin-top:0}.position-table table{border-collapse:collapse;width:100%}.position-table th,.position-table td{text-align:left;border-bottom:1px solid var(--border-color);vertical-align:middle;color:var(--text-color);padding:6px 10px}.position-table th{background-color:var(--hover-bg);font-weight:600}.position-table tr:hover{background-color:var(--hover-bg)}.position-table tr.selected{background-color:var(--selected-bg)}.position-table tr.add-position:hover{background-color:#0000}.add-position-button{background-color:var(--primary-color);color:#fff;cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:24px;font-weight:700;display:inline-flex}.add-position-button:hover{background-color:var(--primary-hover)}.primary-button{background-color:var(--primary-color);color:#fff;cursor:pointer;border:none;border-radius:4px;padding:8px 16px;font-size:14px;display:inline-block}.primary-button:hover{background-color:var(--primary-hover)}.drawing-view{background-color:var(--panel-bg);box-shadow:var(--shadow);border-radius:8px;flex:2;padding:20px}.drawing-view h2{color:var(--primary-color);margin-top:0}.no-drawing{color:var(--text-muted);text-align:center;padding:40px}.door-form-overlay{z-index:1000;background-color:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.door-form{background-color:var(--panel-bg);width:80%;max-width:800px;max-height:90vh;color:var(--text-color);border-radius:8px;padding:20px;overflow-y:auto;box-shadow:0 4px 12px #0003}.form-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.form-header h2{color:var(--primary-color);margin:0}.icon-close-btn{cursor:pointer;color:var(--text-muted);background:0 0;border:none;padding:2px 6px;font-size:22px;line-height:1}.icon-close-btn:hover{color:var(--text-color)}.form-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:15px;display:grid}.form-field{margin-bottom:15px}.form-field label{margin-bottom:5px;font-weight:600;display:block}.form-field input,.form-field select{border:1px solid var(--border-color);background-color:var(--panel-bg);width:100%;color:var(--text-color);border-radius:4px;padding:8px;font-size:14px}.form-actions{justify-content:flex-end;gap:10px;margin-top:20px;display:flex}.form-actions button{cursor:pointer;border-radius:4px;padding:7px 15px;font-size:13px;font-weight:500}.form-actions button[type=submit]{background-color:var(--primary-color);color:#fff;border:1px solid var(--primary-color)}.form-actions button[type=submit]:hover{background-color:var(--primary-hover);border-color:var(--primary-hover)}.form-actions button[type=button]{background-color:var(--panel-bg);color:var(--text-color);border:1px solid var(--border-color)}.form-actions button[type=button]:hover{background-color:var(--hover-bg)}.sheet-optimizer{flex-direction:column;gap:20px;display:flex}.sheet-optimizer-header{background-color:var(--panel-bg);box-shadow:var(--shadow);border-radius:8px;justify-content:space-between;align-items:center;padding:15px 20px;display:flex}.sheet-optimizer-header h1{color:var(--primary-color);margin:0}.back-button{background-color:var(--hover-bg);color:var(--text-color);border-radius:4px;padding:8px 16px;text-decoration:none}.back-button:hover{background-color:var(--border-color)}.sheet-optimizer-controls{background-color:var(--panel-bg);box-shadow:var(--shadow);border-radius:8px;flex-wrap:wrap;align-items:center;gap:15px;padding:20px;display:flex}.control-group{align-items:center;gap:8px;display:flex}.control-group label{font-weight:600}.control-group input{border:1px solid var(--border-color);border-radius:4px;padding:8px}.sheet-optimizer-stats{background-color:var(--panel-bg);box-shadow:var(--shadow);border-radius:8px;padding:20px}.sheet-optimizer-stats h3{color:var(--primary-color);margin-top:0}.sheet-optimizer-panels{background-color:var(--panel-bg);box-shadow:var(--shadow);border-radius:8px;padding:20px}.sheet-optimizer-panels table{border-collapse:collapse;width:100%}.sheet-optimizer-panels th,.sheet-optimizer-panels td{text-align:left;border-bottom:1px solid var(--border-color);padding:10px}.sheet-optimizer-panels th{background-color:var(--hover-bg);font-weight:600}.sheet-optimizer-sheets{background-color:var(--panel-bg);box-shadow:var(--shadow);border-radius:8px;padding:20px}.sheet{border-bottom:1px solid var(--border-color);margin-bottom:30px;padding-bottom:20px}.sheet-optimizer{background:var(--bg-color);flex-direction:column;min-height:100vh;display:flex}.sheet-opt-header{background:var(--panel-bg);border-bottom:1px solid var(--border-color);box-shadow:var(--shadow);z-index:10;flex-wrap:wrap;align-items:center;gap:12px;padding:12px 20px;display:flex;position:sticky;top:0}.sheet-opt-back{color:var(--primary-color);white-space:nowrap;font-size:14px;text-decoration:none}.sheet-opt-back:hover{text-decoration:underline}.sheet-opt-title{color:var(--primary-color);white-space:nowrap;margin:0;font-size:18px;font-weight:600}.sheet-opt-controls{flex-wrap:wrap;align-items:flex-end;gap:12px;margin-left:auto;display:flex}.sheet-opt-label{color:var(--text-color);flex-direction:column;gap:3px;font-size:12px;font-weight:500;display:flex}.sheet-opt-select,.sheet-opt-input{border:1px solid var(--border-color);background:var(--panel-bg);color:var(--text-color);border-radius:4px;padding:5px 8px;font-size:13px}.sheet-opt-input-wide{width:100px}.sheet-opt-input-narrow{width:60px}.sheet-opt-btn{border:1px solid var(--border-color);background:var(--panel-bg);color:var(--text-color);cursor:pointer;white-space:nowrap;border-radius:4px;align-self:flex-end;padding:6px 14px;font-size:13px}.sheet-opt-btn:hover{background:var(--hover-bg)}.sheet-opt-btn:disabled{opacity:.45;cursor:not-allowed}.sheet-opt-btn-primary{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.sheet-opt-btn-primary:hover{background:var(--primary-hover);border-color:var(--primary-hover)}.sheet-size-dialog-title{margin:16px 20px 4px;font-size:16px}.sheet-size-dialog-hint{color:var(--text-muted);margin:0 20px 12px;font-size:13px}.sheet-size-dialog-custom-input{width:90px;padding:3px 6px;font-size:12px}.sheet-opt-svg{background:var(--panel-bg);border-radius:4px;max-width:100%;display:block}.sheet-opt-size-breakdown--spaced{margin:8px 0}.sheet-opt-labels-legend{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.sheet-opt-labels-legend-title{grid-column:1/-1}.sheet-opt-error{background:var(--error-bg);color:var(--error-color);border-radius:4px;margin:16px 20px 0;padding:10px 14px;font-size:14px}.sheet-opt-status{color:var(--text-color);opacity:.6;text-align:center;margin:40px auto;font-size:16px}.sheet-opt-stats{flex-wrap:wrap;gap:12px;padding:16px 20px 0;display:flex}.stat-card{background:var(--panel-bg);border:1px solid var(--border-color);text-align:center;min-width:100px;box-shadow:var(--shadow);border-radius:6px;padding:12px 20px}.stat-val{color:var(--primary-color);font-size:22px;font-weight:700;line-height:1.2}.stat-lbl{color:var(--text-color);opacity:.7;text-transform:uppercase;letter-spacing:.04em;margin-top:2px;font-size:11px}.sheet-opt-legend{flex-wrap:wrap;gap:10px;padding:12px 20px 0;display:flex}.legend-item{color:var(--text-color);align-items:center;gap:6px;font-size:13px;display:flex}.legend-dot{border-radius:3px;flex-shrink:0;width:14px;height:14px}.sheet-opt-labels-legend{color:#777;padding:8px 20px 16px;font-size:13px;line-height:1.5}.sheet-opt-sheets{flex-flow:wrap;justify-content:center;gap:16px;padding:16px 20px 24px;display:flex}.sheet-card{background:var(--panel-bg);border:1px solid var(--border-color);box-shadow:var(--shadow);border-radius:6px;flex:none;overflow:hidden}.sheet-card-title{border-bottom:1px solid var(--border-color);color:var(--text-color);align-items:baseline;gap:10px;padding:10px 14px;font-size:14px;font-weight:600;display:flex}.sheet-card-dims{opacity:.65;font-size:12px;font-weight:400}.sheet-card-no-rotation{color:#c0392b;background:#fce4e4;border-radius:4px;margin-left:auto;padding:2px 8px;font-size:11px;font-weight:400}.sheet-size-dialog-list{flex:1;padding:0 20px;overflow-y:auto}.sheet-size-dialog-row{border-bottom:1px solid var(--border-color);flex-wrap:wrap;align-items:center;gap:10px;padding:8px 0;display:flex}.sheet-size-dialog-row:last-child{border-bottom:none}.sheet-size-dialog-material{min-width:100px;color:var(--text-color);font-size:13px;font-weight:600}.sheet-size-dialog-cb{white-space:nowrap;cursor:pointer;color:var(--text-color);align-items:center;gap:4px;font-size:13px;display:flex}.sheet-size-dialog-custom{color:var(--text-color);align-items:center;gap:4px;margin-left:auto;font-size:12px;display:flex}.sheet-size-dialog-actions{border-top:1px solid var(--border-color);justify-content:flex-end;gap:8px;padding:12px 20px;display:flex}.user-info{align-items:center;gap:15px;margin-left:auto;padding:0 10px;display:flex}.user-welcome{color:var(--text-color);white-space:nowrap;font-size:13px}.logout-button{background-color:var(--error-color);color:#fff;border:1px solid var(--error-color);cursor:pointer;border-radius:4px;padding:4px 10px;font-size:12px;font-weight:500}.logout-button:hover{opacity:.85}.project-tab-actions{opacity:0;pointer-events:none;transition:opacity .15s}.project-tab-item:hover .project-tab-actions{opacity:1;pointer-events:auto}@media (prefers-color-scheme:dark){input,select,textarea{background:var(--bg-color);color:var(--text-color);border-color:var(--border-color)}}.project-list{width:min(1180px,100% - 48px);max-width:none;color:var(--text-color);padding:0 0 112px}.project-list>.menu-bar{box-sizing:border-box;border:1px solid var(--border-color);background:var(--panel-bg);height:auto;min-height:46px;box-shadow:var(--shadow);border-top:0;border-radius:0 0 12px 12px;margin:0 0 34px;padding:8px 12px}.project-list>.menu-bar .menu-item{color:var(--text-secondary);border-radius:7px;padding:8px 11px;font-size:13px;font-weight:600}.project-list>.menu-bar .menu-item:hover{background:var(--hover-bg);color:var(--text-color)}.projects-hero{justify-content:space-between;align-items:flex-end;gap:24px;padding:2px 0 30px;display:flex}.projects-eyebrow,.project-section-kicker{color:var(--primary-color);letter-spacing:.11em;text-transform:uppercase;margin-bottom:7px;font-size:11px;font-weight:700;display:block}.projects-hero h1{color:var(--text-color);letter-spacing:-.04em;text-align:left;margin:0 0 8px;font-size:clamp(30px,4vw,42px);line-height:1.05}.projects-hero p{color:var(--text-secondary);margin:0;font-size:15px}.projects-hero-stats{gap:10px;display:flex}.projects-hero-stats>div{border:1px solid var(--border-color);background:var(--panel-bg);min-width:92px;box-shadow:var(--shadow);border-radius:11px;padding:13px 16px}.projects-hero-stats strong,.projects-hero-stats span{display:block}.projects-hero-stats strong{letter-spacing:-.04em;margin-bottom:3px;font-size:24px}.projects-hero-stats span{color:var(--text-muted);font-size:11px;font-weight:600}.free-tier-banner,.projects-disclaimer{box-sizing:border-box;border-radius:10px;justify-content:space-between;align-items:center;gap:14px;margin:0 0 14px;font-size:13px;display:flex}.free-tier-banner{border:1px solid color-mix(in srgb, var(--primary-color) 25%, transparent);background:color-mix(in srgb, var(--primary-color) 8%, transparent);padding:12px 15px}.projects-disclaimer{color:var(--text-secondary);background:#c8780017;border:1px solid #c878004d;justify-content:flex-start;margin-bottom:22px;padding:10px 14px}.project-primary-button,.project-open-button,.project-batch-button{border:1px solid var(--border-color);background:var(--panel-bg);min-height:34px;color:var(--text-color);cursor:pointer;font:inherit;border-radius:8px;padding:7px 12px;font-size:12px;font-weight:650;transition:background .15s,border-color .15s,color .15s,opacity .15s}.project-primary-button{border-color:var(--primary-color);background:var(--primary-color);color:#fff}.project-primary-button:hover,.project-open-button:hover,.project-batch-button:hover:not(:disabled){border-color:var(--primary-color);background:var(--hover-bg);color:var(--primary-color)}.project-primary-button:hover{background:var(--primary-hover);color:#fff}.project-list .project-actions button.project-open-button{border-color:var(--border-color);background:var(--panel-bg);color:var(--text-color)}.project-list .project-actions button.project-open-button:hover{border-color:var(--primary-color);background:var(--hover-bg);color:var(--primary-color)}.project-color-picker{flex-wrap:wrap;align-items:center;gap:5px;display:flex}.project-tab-dropdown{flex-shrink:0;position:relative}.project-tab-current{border:1.5px dashed var(--tab-color);background:color-mix(in srgb, var(--tab-color) 13%, transparent);color:var(--tab-color);cursor:pointer;border-radius:4px;padding:2px 6px;font-size:11px}.project-tab-menu{z-index:300;border:1px solid var(--border-color);background:var(--panel-bg);min-width:140px;box-shadow:var(--shadow-lg);border-radius:6px;position:absolute;top:100%;left:0}.project-tab-option{cursor:pointer;align-items:center;gap:6px;padding:6px 10px;font-size:12px;display:flex}.project-tab-option:hover{background:var(--hover-bg)}.project-tab-option--empty{border-bottom:1px solid var(--border-color);color:var(--text-muted);display:block}.project-tab-dot{border:1px solid var(--border-color);border-radius:50%;width:10px;height:10px}.project-password-panel{width:auto;min-width:320px;max-width:420px;padding:28px 32px}.project-password-title{margin:0 0 18px}.project-password-close{margin-top:12px}.project-password-form{flex-direction:column;gap:12px;display:flex}.project-password-error{font-size:13px}.project-password-actions{margin-top:4px}.new-project-form,.projects-grid{border:1px solid var(--border-color);background:var(--panel-bg);box-shadow:var(--shadow);border-radius:14px;margin-bottom:16px}.new-project-form{padding:23px 24px}.new-project-form h2,.projects-grid h2{color:var(--text-color);letter-spacing:-.02em;margin:0;font-size:19px}.project-section-heading,.projects-grid-heading{align-items:center;gap:11px;display:flex}.project-section-heading{margin-bottom:18px}.project-section-heading .project-section-kicker,.projects-grid-heading .project-section-kicker{margin-bottom:3px}.project-section-icon{width:32px;height:32px;color:var(--primary-color);background:#4ea0ff24;border-radius:9px;flex:0 0 32px;place-items:center;font-size:22px;font-weight:500;display:grid}.new-project-form form{gap:10px}.new-project-form input{box-sizing:border-box;background:var(--input-bg);border-radius:8px;min-height:40px;padding:9px 11px;font-size:14px}.new-project-form button[type=submit]{border-radius:8px;min-height:40px;font-weight:650}.new-project-form .error{margin-top:12px;padding:9px 11px;font-size:13px}.projects-grid{padding:23px 24px 24px;overflow:visible}.projects-grid-heading{justify-content:space-between;margin-bottom:19px}.projects-result-count{color:var(--text-muted);white-space:nowrap;font-size:12px}.project-tab-bar{border:1px solid var(--border-faint);background:var(--surface-bg);border-radius:10px;flex-wrap:wrap!important;align-items:center!important;gap:7px!important;margin:0 -2px 18px!important;padding:11px 12px!important;display:flex!important}.project-tab-bar label,.project-tab-bar>button{box-sizing:border-box;min-height:30px;font-weight:600!important}.project-tab-bar>button{color:var(--text-secondary)!important}.project-group-chip{box-sizing:border-box;border:1.5px solid var(--tab-color,var(--border-color));min-height:30px;color:var(--tab-color,var(--text-color));cursor:pointer;background:0 0;border-radius:20px;align-items:center;gap:5px;padding:5px 10px;font-size:12px;font-weight:400;display:flex}.project-group-chip.is-selected{background:color-mix(in srgb, var(--tab-color,var(--primary-color)) 13%, transparent);font-weight:600}.project-group-chip--unassigned{--tab-color:var(--text-secondary)}.project-tab-item{position:relative}.project-tab-actions{gap:1px;display:flex;position:absolute;top:2px;right:4px}.project-tab-action{color:var(--text-color);cursor:pointer;background:0 0;border:0;padding:0 3px;font-size:11px}.project-tab-create-row,.project-tab-edit{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.project-tab-edit{margin-bottom:10px}.project-tab-name-input{box-sizing:border-box;border:1px solid var(--border-color);background:var(--input-bg);width:140px;min-height:30px;color:var(--text-color);border-radius:5px;padding:4px 8px;font-size:12px}.project-tab-add-button{border:1.5px dashed var(--border-color);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:20px;padding:5px 8px;font-size:12px}.project-trash-status{color:var(--text-muted);font-size:13px}.project-trash-item{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:6px 0;font-size:13px;display:flex}.project-trash-label{flex:1}.project-trash-date{color:var(--text-muted);font-size:11px}.project-trash-actions{flex-shrink:0;gap:6px;display:flex}.projects-grid ul{border:1px solid var(--border-color);border-radius:10px;overflow:visible}.project-list-header,.project-item{grid-template-columns:minmax(160px,1.1fr) minmax(160px,1.25fr) 92px 102px 110px 90px;gap:12px;padding:13px 15px}.project-list-header{border-bottom:1px solid var(--border-color);background:var(--surface-bg);color:var(--text-muted);letter-spacing:.05em;text-transform:uppercase;font-size:11px}.project-list-header .sort-button{height:auto;color:inherit;font-size:inherit;letter-spacing:inherit;text-transform:inherit;font-weight:700}.project-list-header .sort-button:hover{color:var(--text-color);background:0 0}.project-item{border-bottom:1px solid var(--border-faint);background:var(--panel-bg);outline:none;min-height:54px;transition:background .15s,box-shadow .15s}.project-item:hover,.project-item:focus-visible{background:var(--hover-bg)}.project-item.selected{background:color-mix(in srgb, var(--primary-color) 8%, var(--panel-bg));box-shadow:inset 3px 0 var(--primary-color)}.project-primary-cell{align-items:center;gap:10px;min-width:0;display:flex}.project-primary-cell input{width:15px;height:15px;accent-color:var(--primary-color);cursor:pointer;flex:none}.project-portal-note-button{border:1px solid var(--border-color);background:var(--surface-bg);width:26px;height:26px;color:var(--text-muted);cursor:pointer;border-radius:6px;flex:none;justify-content:center;align-items:center;padding:4px;display:inline-flex}.project-portal-note-button:hover,.project-portal-note-button:focus-visible{border-color:var(--primary-color);background:var(--hover-bg);color:var(--primary-color);box-shadow:var(--focus-ring);outline:none}.project-portal-note-button svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7px;width:16px;height:16px}.project-customer,.project-site{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.project-customer{font-size:13px;font-weight:650}.project-site{color:var(--text-secondary);font-size:13px}.project-date{color:var(--text-muted);font-size:12px}.project-open-button{white-space:nowrap;min-height:32px;padding:6px 11px}.project-group-header{border-top:1px solid var(--border-color);background:var(--surface-bg);color:var(--text-secondary);padding:13px 15px 7px;font-size:13px;font-weight:700;list-style:none}.project-group-header:first-child{border-top:0}.project-group-year{padding-top:16px;font-size:16px}.project-group-month-after-year{padding-top:9px}.projects-empty-state{border:1px dashed var(--border-color);min-height:120px;color:var(--text-secondary);text-align:center;border-radius:10px;place-items:center;margin:0;font-size:13px;display:grid}.refresh-section{margin-top:22px}.refresh-button{border-radius:8px;padding:8px 14px;font-size:12px;font-weight:650}.trash-section{border-top:1px solid var(--border-color);margin-top:22px;padding:15px 0}.trash-toggle{font-weight:600}.project-batch-toolbar{z-index:200;box-sizing:border-box;border-top:1px solid var(--border-color);background:color-mix(in srgb, var(--panel-bg) 94%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);align-items:center;gap:14px;min-height:66px;padding:11px max(20px,50% - 590px);display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -5px 18px #00000014}.project-batch-status{min-width:120px;color:var(--text-secondary);font-size:13px}.project-rename-input{box-sizing:border-box;border:1px solid var(--border-color);background:var(--input-bg);width:225px;min-height:34px;color:var(--text-color);font:inherit;border-radius:8px;padding:7px 10px;font-size:13px}.project-rename-input:focus{border-color:var(--primary-color);outline:2px solid #4ea0ff40}.project-rename-save{color:var(--primary-color)}.project-batch-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;margin-left:auto;display:flex}.project-batch-button:disabled{cursor:not-allowed;opacity:.35}.project-batch-button-danger{color:var(--error-color)}.project-transfer-button{color:var(--primary-color);border-color:color-mix(in srgb, var(--primary-color) 45%, var(--border-color));align-items:center;gap:6px;display:inline-flex}.project-transfer-admin-badge{letter-spacing:.04em;text-transform:uppercase;border:1px solid;border-radius:4px;padding:2px 5px;font-size:10px;font-weight:700;line-height:1.1}.project-transfer-panel{width:min(560px,100vw - 32px)}.project-transfer-panel h3{margin-top:0}.project-transfer-warning{border-left:3px solid var(--primary-color);background:var(--input-bg);color:var(--text-secondary);padding:10px 12px;font-size:13px}.project-transfer-results{max-height:280px;color:var(--text-secondary);margin:16px 0;padding-left:20px;font-size:13px;overflow:auto}.project-transfer-results li+li{margin-top:7px}.project-transfer-failed{color:var(--error-color)}@media (width<=900px){.project-list{width:calc(100% - 28px)}.projects-hero{flex-direction:column;align-items:flex-start}.projects-hero-stats{width:100%}.projects-hero-stats>div{flex:1}.project-batch-toolbar{flex-direction:column;align-items:flex-start;gap:7px;padding:9px 14px}.project-batch-actions{justify-content:flex-start;width:100%;margin-left:0}}@media (width<=640px){.project-list>.menu-bar{margin-bottom:25px}.projects-hero{padding-bottom:23px}.new-project-form,.projects-grid{padding:17px}.new-project-form form{flex-direction:column}.new-project-form button[type=submit]{width:100%}.projects-grid ul{overflow-x:auto}.project-list-header,.project-item{min-width:700px}.project-batch-button{padding:6px 9px}}.main-layout{flex-direction:column;width:100%;height:100vh;display:flex;overflow:hidden}.menu-bar{background-color:var(--hover-bg);border-bottom:1px solid var(--border-color);align-items:center;height:30px;padding:5px 10px;display:flex}.menu-item{cursor:pointer;color:var(--text-color);padding:0 10px;font-size:14px;position:relative}.menu-item:hover{background-color:var(--border-color)}.menu-dropdown{background-color:var(--panel-bg);border:1px solid var(--border-color);z-index:1000;border-radius:3px;min-width:200px;display:none;position:absolute;top:100%;left:0;box-shadow:2px 2px 5px #0003}.menu-item:hover .menu-dropdown{display:block}.menu-dropdown div{color:var(--text-color);align-items:center;gap:6px;padding:8px 15px;font-size:13px;display:flex}.menu-dropdown div:hover{background-color:var(--hover-bg)}.menu-dropdown-item.is-disabled{opacity:.4;pointer-events:none}.menu-dropdown-link{color:inherit;padding:4px 12px;text-decoration:none;display:block}.menu-item-user{margin-left:auto}.menu-dropdown-right{left:auto;right:0}.menu-copy-n-backdrop{z-index:1200}.menu-copy-n-panel{width:auto;min-width:260px;max-width:360px;padding:24px 28px}.menu-copy-n-title{margin-bottom:14px;font-size:15px;font-weight:600}.menu-copy-n-count-row{align-items:center;gap:10px;margin-bottom:18px;display:flex}.menu-copy-n-count-row label{font-size:13px}.menu-copy-n-input{text-align:center;width:64px;padding:5px 8px}.mobile-view-hidden{display:none!important}.pdf-settings-dialog{max-width:420px;padding:20px 24px}.pdf-filter-hint,.pdf-filter-error{border-radius:4px;margin-bottom:12px;padding:8px 10px;font-size:13px}.pdf-filter-hint{color:var(--text-secondary);background:var(--hover-bg)}.pdf-filter-error{color:var(--danger);background:var(--error-bg)}.door-list-panel tr.is-draggable{cursor:grab}.door-thumb-cell{padding:2px 2px 2px 4px}.door-thumb-wrap{align-items:center;gap:2px;display:flex}.door-indent-arrow{color:var(--text-secondary);flex-shrink:0;font-size:21px}.door-thumb{background:var(--panel-bg);display:block}.group-header-row{background:var(--group-header-bg,color-mix(in srgb, var(--primary-color) 8%, transparent));-webkit-user-select:none;user-select:none}.door-group-thumb-cell{padding:2px 4px}.door-group-thumb-wrap{display:inline-block;position:relative}.door-group-count{background:var(--primary-color);color:var(--dark-text);border-radius:10px;padding:1px 5px;font-size:10px;font-weight:700;line-height:14px;position:absolute;bottom:2px;right:2px}.door-group-label{color:var(--text-color);padding:6px 4px;font-size:12px;font-weight:500}.door-group-arrow{color:var(--text-secondary);margin-right:6px;font-size:16px}.door-list-empty{color:var(--text-muted);text-align:center;padding:20px}.door-add-actions{justify-content:center;gap:8px;padding:12px 4px;display:flex}.door-add-button{white-space:nowrap}.door-copy-n-backdrop{z-index:1200}.door-copy-n-panel{width:auto;max-width:340px}.door-copy-n-content{padding:24px 28px}.edit-system-row{align-items:center;gap:6px;display:flex}.system-guide-button{display:none}.system-guide-backdrop{z-index:400}.system-guide-panel{max-width:512px}.system-guide-header{justify-content:space-between;align-items:center;padding:12px 20px 0;display:flex}.system-guide-header strong{font-size:15px}.system-guide-body{padding:0 20px 20px}.system-guide-image{max-width:100%;height:auto;display:block}.door-color-row{align-items:center;gap:10px;display:flex}.door-color-swatch{border:1px solid var(--border-color);border-radius:4px;width:30px;height:30px}.menu-divider{background-color:var(--border-color);pointer-events:none;height:1px;margin:4px 0;padding:0!important}.toolbar{background-color:var(--surface-bg);border-bottom:1px solid var(--border-color);align-items:center;gap:5px;height:35px;padding:5px 10px;display:flex}.toolbar-button{background-color:var(--panel-bg);border:1px solid var(--border-color);cursor:pointer;color:var(--text-color);border-radius:4px;padding:4px 11px;font-size:13px;font-weight:500}.toolbar-button:hover{background-color:var(--hover-bg)}.panel-container{border-top:1px solid var(--border-color);flex:1;display:flex;overflow:hidden}.left-panel{border-right:1px solid var(--border-color);background-color:var(--surface-alt);flex-direction:column;width:350px;min-width:350px;max-width:350px;height:100%;display:flex;overflow:hidden}.collapse-toggle-btn{cursor:pointer;width:24px;height:24px;color:var(--text-color);background:0 0;border:none;justify-content:center;align-items:center;padding:0;font-size:12px;display:flex}@media (width<=899px){.left-panel{overflow:hidden auto}}.project-info-panel{border-bottom:1px solid var(--border-color);background-color:var(--panel-bg);padding:10px}.project-info-panel .form-row{flex-direction:row;align-items:center;width:100%;margin-bottom:8px;display:flex}.project-info-panel label{width:100px;color:var(--text-color);text-align:left;margin-left:0;padding-left:0;font-size:13px;font-weight:500}.project-info-panel input{border:1px solid var(--border-color);background-color:var(--panel-bg);color:var(--text-color);box-sizing:border-box;border-radius:3px;flex:1;width:100%;padding:4px 6px;font-size:13px}.door-list-panel{flex:1;padding:0 5px;overflow:hidden auto}.project-info-header{border-bottom:1px solid var(--border-color);background-color:var(--surface-bg);margin-bottom:4px;padding:8px 30px 4px 5px;font-size:12px;position:relative}.project-info-header .collapse-toggle-btn{position:absolute;top:50%;right:4px;transform:translateY(-50%)}.project-info-header .collapse-toggle-btn.collapsed{transform:translateY(-50%)rotate(90deg)}.door-table.collapsed{display:none}.project-info-label{margin-bottom:2px}.info-label{color:var(--text-secondary);font-weight:500}.info-value{color:var(--text-color)}.door-table{border-collapse:collapse;table-layout:fixed;width:100%;font-size:12px}.door-table th{text-align:left;background-color:var(--hover-bg);border-bottom:1px solid var(--border-color);color:var(--text-color);padding:6px 8px;font-weight:500}.door-table td{border-bottom:1px solid var(--border-color);color:var(--text-color);padding:4px}.door-table tr:hover{background-color:var(--hover-bg)}.door-table tr.selected{background-color:var(--selected-bg)}.door-table img{border:1px solid var(--border-faint)}.door-action-row td{border-bottom:1px solid var(--border-color);background-color:var(--selected-bg);padding:0}.door-action-bar{gap:6px;padding:5px 8px 7px;display:flex}.door-action-btn{border:1px solid var(--border-color);background:var(--panel-bg);color:var(--text-color);cursor:pointer;white-space:nowrap;border-radius:4px;padding:3px 10px;font-size:11px}.door-action-btn:hover{background:var(--hover-bg)}.door-action-btn--danger{color:var(--error-color);border-color:var(--error-color)}.door-action-btn--danger:hover{background:var(--error-color);color:#fff}.door-table tfoot tr.add-door-row{background-color:var(--surface-alt);border-top:1px solid var(--border-color)}.door-table tfoot tr.add-door-row:hover{background-color:var(--hover-bg)}.door-table tfoot tr.add-door-row td{border-bottom:none;padding:15px 8px}.door-table tr.drag-source{opacity:.35}.door-table tr.drag-drop-above td{border-top:2px solid var(--primary-color)}.door-table tr.drag-drop-below td{border-bottom:2px solid var(--primary-color)}.door-table tr.drag-drop-onto td{background-color:var(--selected-bg);outline:2px solid var(--primary-color);outline-offset:-2px}.center-panel{background-color:var(--panel-bg);flex-direction:column;flex:1;min-width:0;height:100%;display:flex;overflow:auto}.drawing-container{border-bottom:1px solid var(--border-color);flex:1;padding:10px;overflow:auto}.pdf-buttons{background-color:var(--surface-bg);border-top:1px solid var(--border-color);flex-wrap:wrap;justify-content:flex-end;gap:8px;padding:10px;display:flex}.pdf-settings-title{margin:0 0 16px;font-size:15px;font-weight:600}.pdf-settings-section{margin-bottom:14px;padding-bottom:12px}.pdf-settings-row{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;font-size:13px;display:flex}.pdf-settings-row:last-child{margin-bottom:0}.pdf-settings-row label{color:var(--text-color);flex:1}.pdf-settings-row select{border:1px solid var(--border-color);background:var(--surface-bg);color:var(--text-color);border-radius:3px;min-width:110px;padding:3px 6px;font-size:12px}.pdf-settings-length-input{align-items:center;gap:4px;display:flex}.pdf-settings-length-input input{border:1px solid var(--border-color);background:var(--surface-bg);width:80px;color:var(--text-color);text-align:right;border-radius:3px;padding:3px 6px;font-size:12px}.pdf-settings-length-input span{color:var(--text-color);opacity:.6;font-size:12px}.pdf-settings-field{margin-bottom:10px}.pdf-settings-field:last-child{margin-bottom:0}.pdf-settings-field .pdf-settings-row{margin-bottom:2px}.pdf-settings-note{color:var(--text-color);opacity:.55;margin-bottom:0;padding-left:2px;font-size:11px;font-style:italic}.pdf-settings-system-name{color:var(--text-color);margin-bottom:10px;font-size:13px;font-weight:500}.pdf-system-tabs{background-color:var(--panel-bg);border-bottom:1px solid var(--border-color);flex-wrap:nowrap;margin:0 -24px 16px;padding:0 8px;display:flex;overflow:hidden}.pdf-system-tab{color:var(--text-color);cursor:pointer;white-space:nowrap;background:0 0;border:none;flex:1;min-width:0;padding:10px 16px;font-size:.95rem;transition:all .2s;position:relative;overflow:hidden}.pdf-system-tab:hover{background-color:var(--hover-bg)}.pdf-system-tab.active{background-color:var(--primary-color);color:#fff;font-weight:500}.pdf-system-tab.active:after{content:"";background-color:var(--primary-color);height:3px;position:absolute;bottom:-2px;left:0;right:0}.pdf-settings-generic{border-top:1px solid var(--border-color);margin-top:2px;padding-top:10px}.pdf-settings-watermark label,.pdf-settings-watermark input{opacity:.5}.pdf-settings-actions{justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.right-panel{border-left:1px solid var(--border-color);background-color:var(--surface-alt);width:320px;min-width:320px;max-width:320px;height:100%;padding:10px;overflow:auto}.right-panel--glazing{flex-direction:column;padding:0;display:flex;overflow:hidden}.edit-panel{background-color:var(--panel-bg);border:1px solid var(--border-color);border-radius:5px;padding:15px}.edit-panel h3{border-bottom:1px solid var(--border-faint);color:var(--text-color);margin-top:0;padding-bottom:10px;font-size:16px}.edit-panel .form-group{margin-bottom:15px}.edit-panel .form-group.no-label{margin-bottom:15px;padding-top:10px}.edit-panel .form-group.no-label>label{display:none}.edit-panel label{color:var(--text-color);margin-bottom:5px;font-size:13px;font-weight:500;display:block}.edit-panel input[type=text],.edit-panel select{box-sizing:border-box;border:1px solid var(--border-color);background-color:var(--panel-bg);width:100%;color:var(--text-color);border-radius:3px;padding:6px 8px;font-size:13px}.edit-panel .radio-group{align-items:center;gap:15px;display:flex}.edit-panel .radio-group label{color:var(--text-color);align-items:center;gap:5px;font-weight:400;display:flex}.edit-panel .radio-group label:has(input:disabled){opacity:.5;cursor:not-allowed}.edit-panel .checkbox-group{flex-direction:column;gap:5px;display:flex}.edit-panel .checkbox-group label:has(input:disabled){opacity:.5;cursor:not-allowed}.edit-panel .checkbox-group label{color:var(--text-color);align-items:center;gap:5px;font-weight:400;display:flex}.edit-panel .checkbox-group input[type=checkbox]{margin-right:5px}.edit-panel .checkbox-grid{grid-template-columns:1fr 1fr;gap:5px 12px;display:grid}.edit-panel .checkbox-column{flex-direction:column;gap:5px;display:flex}.edit-panel textarea{box-sizing:border-box;border:1px solid var(--border-color);resize:vertical;background-color:var(--panel-bg);width:100%;color:var(--text-color);border-radius:3px;padding:6px 8px;font-family:inherit;font-size:13px}.save-button{background-color:var(--primary-color);color:#fff;border:1px solid var(--primary-color);cursor:pointer;border-radius:4px;padding:7px 15px;font-size:13px;font-weight:500}.save-button:hover{background-color:var(--primary-hover);border-color:var(--primary-hover)}.left-panel--mid{width:380px;min-width:380px;max-width:380px;overflow:hidden auto}.left-panel--mid .door-list-panel{flex:none;overflow:visible}.left-panel-edit{border-top:1px solid var(--border-color);flex-shrink:0;padding:10px}.left-panel-edit--glazing{flex-direction:column;flex:1;min-height:0;padding:0;display:flex;overflow:hidden}@media (width<=1200px){.door-table th,.door-table td{padding:3px 6px;font-size:11px}.edit-panel .form-group label,.edit-panel input,.edit-panel select,.edit-panel textarea{font-size:12px}}.mobile-tab-bar{border-bottom:1px solid var(--border-color);background:var(--surface-bg);flex-shrink:0;display:flex}.tab-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-bottom:3px solid #0000;flex:1;padding:12px 0;font-size:14px;font-weight:500}.tab-btn.active{color:var(--primary-color);border-bottom-color:var(--primary-color);background:var(--panel-bg)}.tab-btn:hover:not(.active){background:var(--hover-bg)}@media (width<=899px){.panel-container{flex:1;overflow:hidden}.left-panel,.center-panel,.right-panel{border:none;height:100%;width:100%!important;min-width:0!important;max-width:none!important}.center-panel{flex-direction:column}}.drawing-mode-active .profile-region{pointer-events:none!important}.door-pdf-excluded{opacity:.35}.door-pdf-excluded img{filter:grayscale()brightness(1.2)}.door-table th.pdf-col,.door-table td.pdf-col{text-align:center;width:34px;padding:2px}.door-col-pdf{width:34px}.door-col-thumb{width:66px}.door-col-position{width:22px}.door-col-name{width:88px}.door-col-system{width:68px}.door-col-dimensions{width:96px}.radio-group label.is-disabled{cursor:not-allowed;opacity:.4}.main-layout>.menu-bar{box-sizing:border-box;border:1px solid var(--border-color);background:var(--panel-bg);height:auto;min-height:46px;box-shadow:var(--shadow);border-top:0;border-radius:0 0 12px 12px;flex-shrink:0;padding:8px 12px}.main-layout>.menu-bar .menu-item{color:var(--text-secondary);border-radius:7px;padding:8px 11px;font-size:13px;font-weight:600}.main-layout>.menu-bar .menu-item:hover{background:var(--hover-bg);color:var(--text-color)}.toolbar{box-sizing:border-box;background:var(--surface-bg);gap:8px;height:auto;min-height:44px;padding:7px 12px}.toolbar-button{min-height:32px;color:var(--text-color);border-radius:8px;padding:7px 12px;font-size:12px;font-weight:650;transition:background .15s,border-color .15s,color .15s}.toolbar-button:hover{border-color:var(--primary-color);background:var(--hover-bg);color:var(--primary-color)}.panel-container{box-sizing:border-box;background:var(--bg-color);border-top:0;gap:10px;padding:10px}.left-panel,.center-panel,.right-panel{box-sizing:border-box;border:1px solid var(--border-color);background:var(--panel-bg);border-radius:12px}.left-panel{border-right:1px solid var(--border-color)}.right-panel{border-left:1px solid var(--border-color)}.door-list-panel{padding:0}.project-info-header{border-bottom:1px solid var(--border-color);background:var(--surface-bg);border-radius:11px 11px 0 0;margin-bottom:0;padding:12px 38px 10px 14px}.project-info-label{align-items:baseline;gap:6px;margin-bottom:4px;display:flex}.project-info-label:last-of-type{margin-bottom:0}.info-label{color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase;font-size:10px;font-weight:700}.info-value{color:var(--text-color);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:650;overflow:hidden}.door-table th{background:var(--surface-bg);color:var(--text-muted);letter-spacing:.05em;text-transform:uppercase;padding:9px 8px;font-size:10px;font-weight:700}.door-table td{border-bottom-color:var(--border-faint);padding:6px 4px}.door-table tr.selected{background:color-mix(in srgb, var(--primary-color) 8%, var(--panel-bg));box-shadow:inset 3px 0 var(--primary-color)}.door-action-row td{background:color-mix(in srgb, var(--primary-color) 8%, var(--panel-bg))}.door-action-btn{border-radius:8px;min-height:28px;padding:5px 10px;font-size:11px;transition:background .15s,border-color .15s,color .15s}.door-action-btn:hover{border-color:var(--primary-color);background:var(--hover-bg);color:var(--primary-color)}.door-action-btn--danger:hover{border-color:var(--error-color);background:var(--error-color);color:var(--dark-text)}.drawing-container{background:var(--panel-bg)}.pdf-buttons{background:var(--surface-bg);padding:12px 14px}.edit-panel{box-shadow:var(--shadow);border-radius:10px;padding:16px}.edit-panel h3{color:var(--text-color);letter-spacing:-.01em;margin-bottom:16px;padding-bottom:10px;font-size:16px}.edit-panel label{color:var(--text-secondary);font-size:12px;font-weight:650}.edit-panel input[type=text],.edit-panel select,.edit-panel textarea{background:var(--input-bg);border-radius:8px;padding:7px 10px;font-size:13px}.edit-panel input[type=text]:focus,.edit-panel select:focus,.edit-panel textarea:focus{border-color:var(--primary-color);box-shadow:var(--focus-ring);outline:none}.save-button{min-height:34px;color:var(--dark-text);border-radius:8px;padding:7px 12px;font-size:12px;font-weight:650;transition:background .15s,border-color .15s}.mobile-tab-bar{border-bottom:1px solid var(--border-color);background:var(--surface-bg);gap:5px;padding:5px}.tab-btn{border:1px solid #0000;border-bottom-width:2px;border-radius:8px;min-height:36px;padding:8px 10px;font-size:12px;font-weight:650}.tab-btn.active{border-color:var(--border-color);border-bottom-color:var(--primary-color);background:var(--panel-bg);color:var(--primary-color)}@media (width<=899px){.panel-container{gap:0;padding:0}.left-panel,.center-panel,.right-panel{border:none;border-radius:0}.main-layout>.menu-bar{border-radius:0}}
