.app-logo{margin-right:8px;display:inline}.app-logo svg{width:28px;height:28px;display:inline}
.header-container{z-index:1001;-webkit-backdrop-filter:blur(16px)saturate(180%);background:#ffffffeb;align-items:center;height:3.5rem;font-family:Inter,sans-serif;display:flex;position:fixed;top:0;left:0;right:0;overflow:visible;box-shadow:0 1px 3px #0000000f,0 1px #0000000a}.header-content{grid-template-columns:1fr auto 1fr;align-items:stretch;width:100%;height:100%;padding:0;display:grid;overflow:visible}.header-left{align-items:center;gap:0;min-width:0;display:flex}.header-left-actions{align-items:center;gap:1rem;padding-left:.5rem;display:flex}.header-nav--center{align-self:center;align-items:center;gap:.125rem;padding:0 .5rem;display:flex}.header-project-title{align-items:center;min-width:0;padding:0 1rem 0 .75rem;display:flex}.header-project-title-text{color:#475569;white-space:nowrap;text-overflow:ellipsis;max-width:200px;font-size:.8125rem;font-weight:500;overflow:hidden}.header-right{justify-content:flex-end;align-items:center;gap:.75rem;min-width:0;padding-right:1.5rem;display:flex;overflow:visible}.header-actions-wrap{align-items:center;display:flex;position:relative}.header-settings-btn.header-actions-overflow-trigger{display:none}.header-actions-group{border-radius:8px;align-items:center;gap:.5rem;padding:3px;display:flex}@media (max-width:1400px){.header-actions-group{gap:.75rem}}.header-menu-wrapper{align-items:stretch;display:flex;position:relative}.header-menu-btn{color:#64748b;cursor:pointer;background:0 0;border:none;border-right:1px solid #00000012;justify-content:center;align-self:stretch;align-items:center;width:2.5rem;padding:0;transition:color .15s,background .15s;display:flex}.header-menu-btn:hover{color:#1e293b;background:#0000000a}.header-menu-icon{flex-shrink:0;width:1.5rem;height:1.5rem}.header-brand-wrap{cursor:pointer;-webkit-user-select:none;user-select:none;flex-shrink:0;align-self:stretch;align-items:center;padding:0 .75rem 0 1.5rem;transition:background .15s;display:flex}.header-brand-wrap:hover{background:#00000008}.header-brand-wrap .app-logo{margin-right:0}.header-logo-square{color:var(--color-primary);justify-content:center;align-items:center;font-size:1.5rem;display:flex;position:relative}.header-beta-badge{background:var(--color-primary);color:#fff;letter-spacing:.02em;text-transform:uppercase;pointer-events:none;white-space:nowrap;border:1.5px solid #fff;border-radius:.25rem;padding:.05rem .3rem;font-size:.5rem;font-weight:700;line-height:1.3;position:absolute;bottom:-.45rem;right:-.65rem;box-shadow:0 1px 2px #00000026}.header-brand{letter-spacing:.025em;color:var(--color-primary);font-size:1.3rem;font-weight:800}.header-brand-accent{color:var(--color-secondary)}.header-badge{color:var(--color-primary);border:1px solid #0d94884d;border-radius:2px;padding:.125rem .375rem;font-size:13px;font-weight:700}.header-divider{background:#0000001a;flex-shrink:0;width:1px;height:1.5rem;margin:0 .5rem}.header-save-btn{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:.45rem;transition:color .15s,background .15s;display:flex}.header-save-btn svg{fill:none;stroke:currentColor;flex-shrink:0;display:block}.header-save-btn:hover:not(:disabled){color:var(--color-primary);background:#ffffffe6}.header-save-btn:disabled{opacity:.4;cursor:not-allowed}.header-save-btn.dirty{color:#ef4444}.header-save-btn.dirty:hover:not(:disabled){color:#dc2626}.header-settings-btn{color:var(--color-secondary);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:.45rem;transition:color .15s,background .15s;display:flex}.header-settings-btn,.header-settings-btn svg{color:#94a3b8;fill:#94a3b8}.header-settings-btn:hover,.header-settings-btn:hover svg{color:var(--color-primary);fill:var(--color-primary)}.header-settings-btn:hover{background:#ffffffe6}.header-settings-btn.active,.header-settings-btn.active svg{color:var(--color-primary);fill:var(--color-primary)}.header-settings-btn.active{background:#ffffffe6}.header-settings-btn:disabled,.header-settings-btn:disabled svg{color:#cbd5e1;fill:#cbd5e1;cursor:not-allowed}.header-settings-btn:disabled:hover{background:0 0}.header-labeled-btn{border:1px solid #e2e8f0;border-radius:8px;gap:.7rem;padding:.55rem .7rem}.header-labeled-btn-accent,.header-labeled-btn-accent svg{color:var(--color-primary)}.header-labeled-btn:hover:not(:disabled){background:#ffffffe6;border-color:#0000001f}.header-labeled-btn.active{border-color:var(--color-primary)}.header-labeled-btn-label{white-space:nowrap;color:#334155;font-size:.8125rem;font-weight:500;line-height:18px}.header-labeled-btn:hover .header-labeled-btn-label,.header-labeled-btn.active .header-labeled-btn-label{color:var(--color-primary)}.header-save-btn.dirty .header-labeled-btn-label{color:#ef4444}.header-save-btn.dirty:hover:not(:disabled) .header-labeled-btn-label{color:#dc2626}.header-save-btn.header-labeled-btn{background:#94a3b81f;border-color:#0000}.header-save-btn.header-labeled-btn:hover:not(:disabled){background:#94a3b833;border-color:#0000}.header-save-btn.header-labeled-btn.dirty{background:#f871711a}.header-save-btn.header-labeled-btn.dirty:hover:not(:disabled){background:#f8717129}.header-save-btn.header-labeled-btn-accent{background:#0d94881a}.header-save-btn.header-labeled-btn-accent:hover:not(:disabled){background:#0d94882e}.header-save-btn.header-labeled-btn-accent .header-labeled-btn-label{color:var(--color-primary)}@media (max-width:1400px){.header-labeled-btn-label{display:none}.header-labeled-btn{border-color:#0000;gap:0;padding:.45rem}}.header-settings-dot{border:1.5px solid var(--color-surface,#fff);pointer-events:none;background:#ef4444;border-radius:50%;width:7px;height:7px;position:absolute;top:4px;right:4px}.header-settings-btn svg.header-checklist-icon--ok{color:var(--color-primary);fill:var(--color-primary)}.header-settings-btn svg.header-checklist-counter--critical,.header-settings-btn svg.header-checklist-counter--warning,.header-settings-btn:hover svg.header-checklist-counter--critical,.header-settings-btn:hover svg.header-checklist-counter--warning,.header-settings-btn.active svg.header-checklist-counter--critical,.header-settings-btn.active svg.header-checklist-counter--warning{color:#dc2626;fill:#dc2626}.header-checklist-btn--critical,.header-checklist-btn--warning{background:#f871711a;border-color:#0000}.header-checklist-btn--critical:hover:not(:disabled),.header-checklist-btn--warning:hover:not(:disabled){background:#f871712e}.header-checklist-btn--critical.active,.header-checklist-btn--warning.active{border-color:#0000}.header-checklist-btn--critical .header-labeled-btn-label,.header-checklist-btn--warning .header-labeled-btn-label,.header-settings-btn.header-checklist-btn--critical:hover .header-labeled-btn-label,.header-settings-btn.header-checklist-btn--warning:hover .header-labeled-btn-label,.header-settings-btn.header-checklist-btn--critical.active .header-labeled-btn-label,.header-settings-btn.header-checklist-btn--warning.active .header-labeled-btn-label{color:#dc2626}.header-save-icon--sm{flex-shrink:0}svg.header-save-icon{fill:currentColor;stroke:none;flex-shrink:0;display:block;overflow:visible}.header-save-loading{font-size:1rem;display:block}.header-nav{background:#0000000e;border-radius:9px;align-items:center;gap:2px;padding:3px;display:flex;position:relative;box-shadow:inset 0 1px 3px #0000001a,inset 0 1px #0000000f}.header-nav-indicator{will-change:transform;pointer-events:none;z-index:0;background:#fff;border-radius:6px;width:0;transition:transform .2s cubic-bezier(.4,0,.2,1),width .2s cubic-bezier(.4,0,.2,1);position:absolute;top:3px;bottom:3px;left:0;box-shadow:0 1px 4px #0000001a,0 0 0 .5px #00000014}.header-nav-link{z-index:1;color:#64748b;cursor:pointer;letter-spacing:.01em;white-space:nowrap;background:0 0;border:none;border-radius:6px;align-items:center;gap:.3rem;padding:.45rem 1.1rem;font-size:.75rem;font-weight:500;transition:color .15s;display:flex;position:relative}.header-nav-link svg{flex-shrink:0;width:15px;height:15px}.header-nav-link:hover{color:#334155}.header-nav-link.active{color:#334155;font-weight:500}.header-nav-link.active svg{color:var(--color-primary)}.header-nav-icon{flex-shrink:0;width:1rem;height:1rem}.header-nav-link-badge{color:var(--color-primary);background:#0d94881f;border-radius:9999px;margin-left:.35rem;padding:.1rem .3rem;font-size:.6875rem;font-weight:500}.header-nav-link-badge-ok{color:var(--color-primary);vertical-align:middle;margin-left:.35rem}.header-nav-link-issues{align-items:center;gap:.3rem;margin-left:.35rem;display:inline-flex}.header-nav-link-issues__critical,.header-nav-link-issues__warning{border-radius:9999px;align-items:center;gap:.15rem;padding:.1rem .35rem;font-size:.6875rem;font-weight:600;display:inline-flex}.header-nav-link-issues__critical{color:#dc2626;background:#dc26261a}.header-nav-link-issues__warning{color:#d97706;background:#d977061a}.header-estimate{text-align:right;cursor:pointer;font:inherit;background:0 0;border:none;border-radius:8px;margin:0;padding:.25rem .625rem;transition:background .15s}.header-estimate:hover{background:#0000000a}.header-estimate:hover .header-estimate-value{color:var(--color-primary)}.header-estimate-label{color:#94a3b8;text-transform:uppercase;letter-spacing:.06em;margin:0 0 .1rem;font-size:9px;font-weight:600;line-height:1}.header-estimate-value{color:#1e293b;align-items:center;gap:5px;margin:0;font-size:.9375rem;font-weight:700;line-height:1;transition:color .15s;display:flex}.header-estimate-warn{color:#fff;background:#e53e3e;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:15px;height:15px;font-size:10px;font-weight:700;line-height:1;display:inline-flex}.header-user-wrap{position:relative}.header-login-btn{color:var(--color-primary);border:1px solid var(--color-primary);background:0 0;border-radius:6px;align-items:center;padding:.375rem .75rem;font-size:.875rem;font-weight:600;text-decoration:none;transition:opacity .2s,background .2s;display:inline-flex}.header-login-btn:hover{opacity:.9;background:#0d948814}.header-save-modal-input{box-sizing:border-box;border:1px solid #e2e8f0;border-radius:8px;width:100%;padding:.625rem .75rem;font-size:.9375rem}.header-save-modal-input:focus{border-color:#4e8c7a;outline:none}.header-save-modal-error{color:#dc2626;margin:0;font-size:.875rem}.header-glb-modal{min-width:360px;max-width:440px}.header-glb-modal-format{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;align-items:center;gap:.875rem;margin-bottom:.875rem;padding:.875rem 1rem;display:flex}.header-glb-modal-format-badge{letter-spacing:.05em;color:#fff;background:var(--color-primary,#0d9488);border-radius:4px;flex-shrink:0;padding:.25rem .5rem;font-size:.75rem;font-weight:700}.header-glb-modal-format-info{flex-direction:column;gap:.125rem;display:flex}.header-glb-modal-format-info strong{color:#1e293b;font-size:.9375rem}.header-glb-modal-format-info span{color:#64748b;font-size:.8125rem}.header-glb-modal-desc{color:#64748b;margin:0 0 .875rem;font-size:.8125rem;line-height:1.5}.header-glb-modal-size-hint{color:#94a3b8;font-size:.75rem}.header-glb-modal-spinner{vertical-align:middle;border:2px solid #fff6;border-top-color:#fff;border-radius:50%;width:16px;height:16px;animation:.7s linear infinite glb-spin;display:inline-block}@keyframes glb-spin{to{transform:rotate(360deg)}}
