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}.system-visibility-backdrop{z-index:1000;background:#00000080;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.system-visibility-dialog{background:var(--bg-color);border-radius:8px;flex-direction:column;width:90%;max-width:500px;max-height:80vh;display:flex;overflow:hidden;box-shadow:0 4px 20px #0000004d}.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-save-button,.sv-cancel-button{cursor:pointer;border:none;border-radius:4px;padding:8px 16px;font-size:.9rem;transition:all .15s}.sv-save-button{background:var(--primary-color);color:#fff}.sv-save-button:hover:not(:disabled){background:var(--primary-hover)}.sv-save-button:disabled{background:var(--border-color);cursor:not-allowed}.sv-cancel-button{background:var(--bg-color);color:var(--text-color);border:1px solid var(--border-color)}.sv-cancel-button:hover:not(:disabled){background:var(--hover-bg)}.sv-cancel-button:disabled{color:var(--text-muted);border-color:var(--border-color);cursor:not-allowed}.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-backdrop{z-index:1000;background:#00000080;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.contact-dialog{background:var(--bg-color);border-radius:8px;flex-direction:column;width:90%;max-width:440px;display:flex;overflow:hidden;box-shadow:0 4px 20px #0000004d}.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-close{cursor:pointer;color:var(--text-muted);background:0 0;border:none;padding:4px 8px;font-size:16px;line-height:1}.contact-close:hover{color:var(--text-color)}.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 input,.contact-field textarea{border:1px solid var(--border-color);background:var(--input-bg);width:100%;color:var(--text-color);box-sizing:border-box;border-radius:5px;padding:8px 10px;font-family:inherit;font-size:14px}.contact-field input:focus,.contact-field textarea:focus{border-color:var(--primary-color);outline:none;box-shadow:0 0 0 2px #0066cc1a}.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}.contact-cancel-btn{border:1px solid var(--border-color);cursor:pointer;color:var(--text-color);background:0 0;border-radius:5px;padding:8px 16px;font-size:14px}.contact-cancel-btn:hover{background:var(--hover-bg)}.contact-submit-btn,.contact-done-btn{background:var(--primary-color);color:#fff;cursor:pointer;border:none;border-radius:5px;padding:8px 18px;font-size:14px}.contact-submit-btn:hover:not(:disabled),.contact-done-btn:hover{opacity:.9}.contact-submit-btn:disabled{opacity:.5;cursor:not-allowed}.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-ok,.dim-editor-cancel{cursor:pointer;border-radius:4px;flex:1;min-height:32px;padding:7px 0;font-size:13px;font-weight:500}.dim-editor-ok{background:var(--primary-color);color:#fff;border:1px solid var(--primary-color)}.dim-editor-cancel{background:var(--panel-bg);color:var(--text-color);border:1px solid var(--border-color)}.dim-editor-ok:hover{background:var(--primary-hover);border-color:var(--primary-hover)}.dim-editor-cancel:hover{background:var(--hover-bg)}.dim-editor-remove{border:1px solid var(--danger);width:100%;color:var(--danger);cursor:pointer;background:0 0;border-radius:4px;margin-top:4px;padding:5px 0;font-size:12px;font-weight:500}.dim-editor-remove:hover{background:var(--danger);color:#fff}.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}.extension-editor-save,.extension-editor-cancel{cursor:pointer;border-radius:4px;min-height:32px;padding:7px 12px;font-size:13px;font-weight:500}.extension-editor-save{background:var(--primary-color);color:#fff;border:1px solid var(--primary-color)}.extension-editor-cancel{background:var(--panel-bg);color:var(--text-color);border:1px solid var(--border-color)}.extension-editor-save:hover{background:var(--primary-hover);border-color:var(--primary-hover)}.extension-editor-cancel:hover{background:var(--hover-bg)}.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}.profile-selector-cancel{border:1px solid var(--border-color);cursor:pointer;color:var(--text-color);background:0 0;border-radius:4px;padding:5px 14px;font-size:13px}.profile-selector-save{background:var(--primary-color);color:#fff;cursor:pointer;border:none;border-radius:4px;padding:5px 14px;font-size:13px;font-weight:600}.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}.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}.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-divider{background-color:var(--border-color);pointer-events:none;height:1px;margin:4px 0;padding:0!important}.menu-badge{background:var(--danger);min-width:18px;height:18px;color:var(--panel-bg);border-radius:9px;justify-content:center;align-items:center;margin-left:5px;padding:0 5px;font-size:11px;font-weight:600;line-height:1;display:inline-flex}.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}.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 5px 4px;font-size:12px}.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,#06c)}.door-table tr.drag-drop-below td{border-bottom:2px solid var(--primary-color,#06c)}.door-table tr.drag-drop-onto td{outline:2px solid var(--primary-color,#06c);outline-offset:-2px;background-color:#0066cc2e}.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-button{background-color:var(--panel-bg);border:1px solid var(--border-color);cursor:pointer;color:var(--text-color);border-radius:4px;padding:6px 12px;font-size:13px;font-weight:500}.pdf-button:hover{background-color:var(--hover-bg)}.pdf-settings-backdrop{z-index:1000;background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.pdf-settings-dialog{background:var(--panel-bg);border:1px solid var(--border-color);border-radius:6px;min-width:300px;max-width:420px;padding:20px 24px;box-shadow:0 4px 20px #0000004d}.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}.pdf-settings-confirm{background:var(--accent,#2563eb);color:#fff;cursor:pointer;border:none;border-radius:4px;padding:6px 16px;font-size:13px;font-weight:500}.pdf-settings-confirm:hover{opacity:.88}.pdf-settings-cancel{background:var(--panel-bg);border:1px solid var(--border-color);cursor:pointer;color:var(--text-color);border-radius:4px;padding:6px 14px;font-size:13px}.pdf-settings-cancel:hover{background:var(--hover-bg)}.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}.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)}.add-button,.close-button{cursor:pointer;border-radius:4px;justify-content:center;align-items:center;padding:6px 13px;font-size:13px;font-weight:500;display:inline-flex}.add-button{background-color:var(--primary-color);color:#fff;border:1px solid var(--primary-color);margin-right:8px}.add-button:hover{background-color:var(--primary-hover);border-color:var(--primary-hover)}.close-button{background-color:var(--panel-bg);color:var(--text-color);border:1px solid var(--border-color)}.close-button:hover{background-color:var(--hover-bg)}.edit-button,.delete-button{cursor:pointer;border-radius:4px;margin-right:4px;padding:3px 9px;font-size:12px;font-weight:500}.edit-button{background-color:var(--primary-color);color:#fff;border:1px solid var(--primary-color)}.edit-button:hover{background-color:var(--primary-hover);border-color:var(--primary-hover)}.delete-button{background-color:var(--error-color);color:#fff;border:1px solid var(--error-color)}.delete-button:hover{opacity:.85}.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)}.button,.action-buttons button{cursor:pointer;border-radius:4px;padding:6px 12px;font-size:.9rem;font-weight:500;transition:all .2s}.button-solid,.save-button,.save-as-new-button,.delete-button{color:#fff;border:none}.button-solid-primary,.save-button{background-color:var(--primary-color)}.button-solid-primary:hover,.save-button:hover{background-color:var(--primary-hover)}.button-solid-primary:disabled,.save-button:disabled{cursor:not-allowed;opacity:.7;background-color:#aaa}.button-solid-secondary,.save-as-new-button{background-color:var(--primary-hover)}.button-solid-secondary:hover,.save-as-new-button:hover{background-color:var(--primary-color)}.save-as-new-button:disabled{cursor:not-allowed;opacity:.7;background-color:#aaa}.button-solid-danger,.delete-button{background-color:var(--error-color)}.button-solid-danger:hover,.delete-button:hover{opacity:.85}.button-outline,.close-button{background-color:var(--panel-bg);color:var(--text-color);border:1px solid var(--border-color)}.button-outline:hover,.close-button:hover{background-color:var(--hover-bg)}.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}.profiles-actions button{background-color:var(--primary-color);color:#fff;cursor:pointer;border:none;border-radius:4px;padding:6px 12px}.profiles-actions button:disabled{background-color:var(--border-color);cursor:not-allowed}.table-button{cursor:pointer;border-radius:4px;margin-right:4px;padding:3px 8px;font-size:.8rem;font-weight:500}.table-button-solid{color:#fff;border:none}.table-button-edit{background-color:var(--primary-hover)}.table-button-edit:hover{background-color:var(--primary-color)}.table-button-delete{background-color:var(--error-color)}.table-button-delete:hover{opacity:.85}.edit-button,.delete-button{border-radius:4px;margin-right:4px;padding:3px 8px;font-size:.8rem}.edit-button{background-color:var(--primary-hover);color:#fff}.delete-button{background-color:var(--error-color);color:#fff}.edit-button:disabled,.delete-button:disabled{opacity:.5;cursor:not-allowed}.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}.pairs-actions button{background-color:var(--primary-color);color:#fff;cursor:pointer;border:none;border-radius:4px;padding:6px 12px}.pairs-actions button:disabled{background-color:var(--border-color);cursor:not-allowed}.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}.pse-error-close{color:inherit;cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:1.1rem}.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}.add-button{background-color:var(--primary-color);color:#fff;cursor:pointer;border:none;border-radius:4px;padding:6px 12px;font-size:.9rem}.add-button:hover{background-color:var(--primary-hover)}.add-button:disabled{cursor:not-allowed;opacity:.7;background-color:#aaa}.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}.pse-back-button{border:1px solid var(--border-color);color:var(--text-color);cursor:pointer;white-space:nowrap;background:0 0;border-radius:4px;padding:5px 10px;font-size:.9rem}.pse-back-button:hover{background-color:var(--hover-bg)}.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}.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}.cookie-accept,.cookie-decline{border:1px solid var(--border-color);cursor:pointer;border-radius:4px;padding:8px 16px;font-size:13px;font-weight:500;transition:all .2s}.cookie-accept{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.cookie-accept:hover{background:var(--primary-hover);border-color:var(--primary-hover)}.cookie-decline{background:var(--panel-bg);color:var(--text-color)}.cookie-decline:hover{background:var(--hover-bg)}.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)}.login-page{flex-direction:column;min-height:100vh;padding-bottom:50px;display:flex}.login-header{background:var(--dark-surface);border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;padding:20px 40px;display:flex;box-shadow:0 2px 8px #00000040}.logo{color:var(--dark-text);letter-spacing:1px;font-size:24px;font-weight:700}.logo-accent{color:var(--primary-color)}.header-actions{align-items:center;gap:16px;display:flex}.header-link{color:var(--primary-color);cursor:pointer;background:0 0;border:none;border-bottom:1px solid #0000;padding:8px 0;font-size:14px;transition:border-color .2s}.header-link:hover{border-bottom-color:var(--primary-color)}.header-hint{color:var(--dark-text-muted);padding:8px 0;font-size:14px}.login-main{flex-wrap:wrap;flex:1;display:flex}.marketing-section{background:linear-gradient(135deg, var(--bg-color) 0%, var(--panel-bg) 100%);flex:1;justify-content:center;align-items:center;min-width:400px;padding:32px 40px;display:flex;position:relative;overflow:hidden}.marketing-content{text-align:center;width:100%;max-width:800px}.marketing-section h1{color:var(--text-color);margin:0 0 16px;font-size:42px;font-weight:700;line-height:1.2}.hero-subhead{color:var(--text-muted);margin:0 0 20px;font-size:20px;line-height:1.5}.features-list{text-align:left;grid-template-columns:1fr 1fr;gap:0 16px;margin:16px 0;display:grid}.feature-item{color:var(--text-color);align-items:center;gap:8px;padding:6px 0;font-size:15px;display:flex}.feature-icon{color:var(--primary-color);font-size:18px;font-weight:700}.pricing-block{border:1px solid var(--border-color);background:var(--panel-bg);text-align:left;border-radius:10px;margin:28px 0;padding:20px 24px}.pricing-headline{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin:0 0 14px;font-size:14px;font-weight:600}.pricing-rows{flex-direction:column;gap:8px;display:flex}.pricing-row{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.pricing-row--highlight{background:color-mix(in srgb, var(--primary-color) 8%, transparent);border-radius:6px;margin:0 -10px;padding:8px 10px}.pricing-row--extra{border-top:1px solid var(--border-color);margin-top:4px;padding-top:10px}.pricing-row-label{flex:1}.pricing-row-name{color:var(--text-color);font-size:14px}.pricing-row-price{color:var(--primary-color);white-space:nowrap;font-size:18px;font-weight:700}.pricing-row-price--muted{color:var(--text-muted);font-size:16px;font-weight:500;text-decoration:line-through}.pricing-extra-note{color:var(--text-muted);font-size:13px}.door-illustration{justify-content:center;margin:16px 0;display:flex}.door-screenshot{opacity:.9;border-radius:12px;width:auto;max-width:100%;height:auto;max-height:350px;box-shadow:0 8px 24px #0003}.trust-text{color:var(--text-muted);margin:0;font-size:14px}.login-section{background:var(--bg-color);flex:1;justify-content:center;align-items:center;min-width:350px;padding:40px;display:flex}.login-card{background:var(--panel-bg);border-radius:12px;width:100%;max-width:400px;padding:40px;box-shadow:0 8px 32px #0000001a}.login-card h2{text-align:center;color:var(--text-color);margin:0 0 24px;font-size:28px}.auth-tabs{border-bottom:2px solid var(--border-color);border-radius:12px 12px 0 0;margin:-40px -40px 28px;display:flex;overflow:hidden}.auth-tab{background:var(--input-bg);cursor:pointer;color:var(--text-muted);border:none;border-bottom:2px solid #0000;flex:1;margin-bottom:-2px;padding:14px 8px;font-size:15px;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}.login-button{margin-top:8px}.auth-field textarea{border:1px solid var(--border-color);resize:vertical;background:var(--input-bg);width:100%;color:var(--text-color);box-sizing:border-box;border-radius:6px;padding:10px 12px;font-family:inherit;font-size:14px}.auth-field textarea:focus{border-color:var(--primary-color);outline:none;box-shadow:0 0 0 2px #0066cc1a}.footer-contact-link{color:var(--primary-color);cursor:pointer;background:0 0;border:none;margin-left:16px;padding:0;font-size:14px;text-decoration:underline}.footer-contact-link:first-of-type{margin-left:0}.login-footer{background:var(--panel-bg);border-top:1px solid var(--border-color);color:var(--text-muted);z-index:100;justify-content:space-between;align-items:center;padding:12px 40px;font-size:14px;display:flex;position:fixed;bottom:0;left:0;right:0}.login-footer p{margin:0}.login-footer p:first-child{font-weight:500}@media (width<=900px){.marketing-section,.login-section{flex:none;width:100%;min-width:100%}.marketing-section{order:2;padding:24px 20px}.login-section{order:1;padding:40px 20px}.login-main{flex-direction:column}.login-header{padding:16px 24px}.logo{font-size:20px}.marketing-content{max-width:100%}.marketing-section h1{font-size:32px}.hero-subhead{font-size:18px}.login-footer{text-align:center;flex-direction:column;gap:8px;padding:12px 20px;position:fixed;bottom:0;left:0;right:0}}@media (width<=600px){.marketing-section h1{font-size:28px}.hero-subhead{font-size:16px}.door-screenshot{max-width:220px}.features-list{grid-template-columns:1fr;margin:16px 0}.feature-item{font-size:14px}}.osd-backdrop{z-index:1100;background:#00000080;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.osd-dialog{background:var(--bg-color);border-radius:8px;flex-direction:column;width:90%;max-width:480px;max-height:80vh;display:flex;overflow:hidden;box-shadow:0 4px 20px #0000004d}.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-save-btn,.osd-cancel-btn{cursor:pointer;border:none;border-radius:4px;padding:7px 16px;font-size:.9rem;transition:all .15s}.osd-save-btn{background:var(--primary-color);color:#fff}.osd-save-btn:hover:not(:disabled){background:var(--primary-hover)}.osd-save-btn:disabled{background:var(--border-color);cursor:not-allowed}.osd-cancel-btn{background:var(--bg-color);color:var(--text-color);border:1px solid var(--border-color)}.osd-cancel-btn:hover:not(:disabled){background:var(--hover-bg)}.osd-cancel-btn:disabled{color:var(--text-muted);cursor:not-allowed}.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(--toggle-enable-color,#22863a);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,#ffebee);color:var(--error-color,#c62828);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(--badge-active-bg,#e8f5e9);color:var(--badge-active-color,#2e7d32)}.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(--badge-admin-bg,#e3f2fd);color:var(--badge-admin-color,#1565c0);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-toggle.disable{border-color:var(--toggle-disable-border,#ef9a9a);color:var(--toggle-disable-color,#c62828)}.admin-toggle.disable:hover{background:var(--toggle-disable-hover,#ffebee)}.admin-toggle.enable{border-color:var(--toggle-enable-border,#a5d6a7);color:var(--toggle-enable-color,#2e7d32)}.admin-toggle.enable:hover{background:var(--toggle-enable-hover,#e8f5e9)}.admin-toggle:disabled{opacity:.5;cursor:not-allowed}.admin-toggle.reset-pw{border-color:var(--toggle-reset-border,#90a4ae);color:var(--toggle-reset-color,#37474f)}.admin-toggle.reset-pw:hover{background:var(--toggle-reset-hover,#eceff1)}.admin-toggle.delete{border-color:var(--toggle-delete-border,#ef9a9a);color:var(--toggle-delete-color,#b71c1c)}.admin-toggle.delete:hover{background:var(--toggle-delete-hover,#ffebee)}.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-requests{margin-bottom:32px}.admin-section-title{color:var(--text-color,#333);margin:0 0 12px;font-size:15px;font-weight:600}.admin-request-message{color:var(--text-muted,#666);white-space:pre-wrap;word-break:break-word;max-width:260px;font-size:13px}.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-key{font-family:monospace;font-size:13px}.admin-content-value{white-space:pre-wrap;word-break:break-word;max-width:300px;font-size:13px}.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}}:root{--brand-primary:#4ea0ff;--brand-primary-dark:#3a8cef;--primary-color:var(--brand-primary);--primary-hover: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:#81c784;--dark-surface:#23272f;--dark-surface-2:#2c3444;--dark-text:#fff;--dark-text-muted:#9aaabb;--shadow:0 2px 4px #0000001a;--shadow-lg:0 4px 12px #00000026}@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;--shadow:0 2px 4px #0000004d;--shadow-lg:0 4px 12px #0006}}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}.project-list{max-width:800px;margin:0 auto;padding-bottom:20px}.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:2fr 1fr 1fr minmax(148px,auto);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: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-date{color:var(--text-muted);font-size:13px}.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{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-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-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}.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}@media (prefers-color-scheme:dark){input,select,textarea{background:var(--bg-color);color:var(--text-color);border-color:var(--border-color)}}
