:root{--bg: #FAF9F6;--surface: #FFFFFF;--surface-2: #F4F2EC;--border: #E8E5DE;--border-strong: #D8D3C8;--text: #1C1917;--text-muted: #57534E;--text-faint: #A8A29E;--accent: #F59E0B;--on-accent: #0B0B0C;--success: #059669;--danger: #DC2626;--info: #0284C7;--grid-line: rgba(0, 0, 0, .045);--grad-heading: linear-gradient(180deg, #09090B 0%, #52525B 100%);color-scheme:light;--font-mono: "JetBrains Mono", ui-monospace, "SFMono-Regular", monospace;--font-ar: "Cairo", "Segoe UI", Tahoma, sans-serif;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 24px;--sp-6: 32px;--sp-8: 48px;--sp-10: 64px;--r-sm: 3px;--r-md: 8px;--r-lg: 12px;--r-pill: 99px;--clr-bg: var(--bg);--clr-surface: var(--surface);--clr-surface-light: var(--surface-2);--clr-border: var(--border);--clr-brand-primary: var(--accent);--clr-brand-secondary: var(--info);--clr-brand-accent: var(--success);--clr-brand-danger: var(--danger);--grad-solar: linear-gradient(135deg, #F59E0B 0%, #D97706 100%);--grad-brand: linear-gradient(135deg, #F59E0B 0%, #FCD34D 50%, #34D399 100%);--grad-sky: linear-gradient(135deg, #0EA5E9 0%, #0284C7 100%);--grad-eco: linear-gradient(135deg, #10B981 0%, #059669 100%);--grad-surface: linear-gradient(135deg, #FFFFFF 0%, #F8FAFC 100%);--clr-text-main: var(--text);--clr-text-muted: var(--text-muted);--font-sans: "Inter", system-ui, -apple-system, sans-serif;--glass-bg: rgba(255, 255, 255, .78);--glass-border: rgba(15, 23, 42, .08);--glass-blur: blur(20px) saturate(180%);--glass-shadow: 0 4px 24px rgba(15, 23, 42, .08), inset 0 1px 0 rgba(255, 255, 255, .9);--shadow-premium: 0 10px 30px -5px rgba(15, 23, 42, .12), 0 0 1px 1px rgba(15, 23, 42, .04);--shadow-solar: 0 15px 35px -10px rgba(245, 158, 11, .25)}:root[data-theme=dark]{--bg: #0C0B0A;--surface: #15130F;--surface-2: #1C1A15;--border: #2A2620;--border-strong: #38332A;--text: #F5F3EF;--text-muted: #A8A296;--text-faint: #6E695E;--accent: #F59E0B;--on-accent: #0B0B0C;--success: #10B981;--danger: #EF4444;--info: #0EA5E9;--grid-line: rgba(255, 255, 255, .03);--grad-heading: linear-gradient(180deg, #FFFFFF 0%, #A8A296 100%);color-scheme:dark;--glass-bg: rgba(20, 19, 15, .72);--glass-border: rgba(255, 255, 255, .08);--glass-shadow: 0 4px 24px rgba(0, 0, 0, .5), inset 0 1px 0 rgba(255, 255, 255, .04);--shadow-premium: 0 10px 30px -5px rgba(0, 0, 0, .6), 0 0 1px 1px rgba(255, 255, 255, .04)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background:var(--clr-bg);color:var(--clr-text-main);line-height:1.6;-webkit-font-smoothing:antialiased;min-height:100vh;overflow-x:hidden}.glass{background:var(--glass-bg);backdrop-filter:blur(16px) saturate(180%);-webkit-backdrop-filter:blur(16px) saturate(180%);border:1px solid var(--glass-border);box-shadow:var(--shadow-premium);position:relative;overflow:hidden;transition:all .3s cubic-bezier(.4,0,.2,1)}.text-gradient{background:var(--grad-solar);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.65rem 1.6rem;border-radius:14px;font-weight:700;cursor:pointer;transition:all .4s cubic-bezier(.175,.885,.32,1.275);border:none;font-family:inherit}.btn-primary{background:var(--grad-solar);color:#fff;box-shadow:var(--shadow-solar)}.btn-primary:hover{transform:translateY(-3px) scale(1.02);box-shadow:0 12px 30px #f59e0b80}.btn-ghost{background:transparent;color:#64748b;border:1.5px solid #E2E8F0;padding:.55rem 1.2rem}.btn-ghost:hover{background:#fee2e2;border-color:#fca5a5;color:#b91c1c;transform:translateY(-1px)}.btn-secondary{background:#f1f5f9;color:var(--clr-text-main);border:1px solid #CBD5E1}.btn-secondary:hover{background:#cbd5e1;transform:translateY(-2px)}.login-wrapper{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;position:relative;overflow:hidden;background-color:var(--bg);background-image:linear-gradient(var(--grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--grid-line) 1px,transparent 1px);background-size:26px 26px}.login-container{width:100%;max-width:400px;padding:2.25rem 2rem;border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--border);position:relative;z-index:2}.login-card-animate{animation:loginCardEntry .7s cubic-bezier(.16,1,.3,1)}@keyframes loginCardEntry{0%{opacity:0;transform:translateY(30px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.auth-banner{display:flex;flex-direction:column;gap:.2rem;padding:.75rem 1rem;margin-bottom:1.25rem;border-radius:var(--r-md, 12px);font-size:.88rem;line-height:1.4}.auth-banner strong{font-weight:600}.auth-banner-warn{background:color-mix(in srgb,var(--danger) 10%,var(--surface));color:var(--danger);border:1px solid color-mix(in srgb,var(--danger) 30%,transparent)}.login-header{text-align:center;margin-bottom:2rem}.login-header h2{font-size:1.5rem;font-weight:600;letter-spacing:-.01em;margin-bottom:.4rem;color:var(--text)}.login-header p{color:var(--clr-text-muted);font-size:.9rem}.auth-error-msg{color:#f87171;font-size:.85rem;padding:.5rem .75rem;display:none;background:#ef44441a;border-radius:10px;border:1px solid rgba(239,68,68,.25)}.auth-success-msg{color:var(--success);font-size:.85rem;line-height:1.45;padding:.5rem .75rem;display:none;background:#10b9811a;border-radius:10px;border:1px solid rgba(16,185,129,.28)}.aa-status-msg{text-align:center;font-size:.9rem;color:var(--clr-text-muted);margin:.25rem 0 1rem}.aa-spinner{width:32px;height:32px;margin:.5rem auto 1rem;border:3px solid var(--clr-surface-light, #e5e7eb);border-top-color:var(--clr-brand-primary);border-radius:50%;animation:aa-spin .9s linear infinite}@keyframes aa-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.aa-spinner{animation:none}}.auth-forgot-row{display:flex;justify-content:flex-end;margin-top:-.35rem;margin-bottom:.1rem}.auth-forgot-row a{font-size:.82rem;font-weight:600;color:var(--clr-text-muted);text-decoration:none;transition:color .2s}.auth-forgot-row a:hover{color:var(--clr-brand-primary)}.auth-input-hint{margin-top:.4rem;font-size:.78rem;line-height:1.4;color:var(--clr-text-muted)}.login-footer{text-align:center;margin-top:1.5rem}.login-footer p{font-size:.88rem;color:var(--clr-text-muted)}.login-footer a{color:var(--clr-brand-primary);font-weight:700;text-decoration:none;transition:opacity .2s}.login-footer a:hover{opacity:.8}.login-footer-divider{margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid #F1F5F9}.login-back-link{display:inline-flex;align-items:center;gap:.4rem;font-size:.85rem;font-weight:600;color:var(--clr-text-muted);text-decoration:none;transition:color .25s}.login-back-link:hover{color:var(--clr-brand-primary)}.login-footer-copy{position:relative;z-index:2;margin-top:2rem;font-size:.78rem;color:var(--clr-text-muted);opacity:.5}.login-form .input-group{margin-bottom:1rem}.login-form .auth-form-group{margin-bottom:.25rem}.login-form .btn-large{margin-top:.5rem}.social-auth{margin-top:1.25rem}.social-divider{display:flex;align-items:center;text-align:center;color:var(--clr-text-muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;margin:0 0 1rem}.social-divider:before,.social-divider:after{content:"";flex:1;height:1px;background:var(--border)}.social-divider span{padding:0 .75rem}.social-btn{display:flex;align-items:center;justify-content:center;gap:.6rem;width:100%;padding:.7rem 1rem;margin-bottom:.6rem;border-radius:var(--r-md);border:1px solid var(--border);background:transparent;color:var(--text);font-size:.9rem;font-weight:500;cursor:pointer;transition:background .2s ease-in-out,border-color .2s ease-in-out}.social-btn:last-child{margin-bottom:0}.social-btn:hover{background:var(--surface-2);border-color:var(--border-strong)}.social-btn:active{transform:translateY(1px)}.social-btn:disabled{opacity:.6;cursor:not-allowed}.social-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.social-btn-icon{display:inline-flex;width:18px;height:18px;flex-shrink:0;color:var(--text-muted)}.social-btn-icon svg{width:100%;height:100%}.login-wrapper .input-label{font-family:var(--font-mono);font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-faint)}[dir=rtl] .login-wrapper .input-label{font-family:var(--font-ar);text-transform:none;letter-spacing:0}.login-wrapper .pro-input-field{background-color:var(--bg)!important;border:1px solid var(--border)!important;color:var(--text)!important;border-radius:var(--r-md)!important;transition:border-color .2s ease-in-out,box-shadow .2s ease-in-out!important}.login-wrapper .pro-input-field:focus{outline:none!important;border-color:var(--text)!important;box-shadow:0 0 0 1px var(--text)!important}.login-wrapper select.pro-input-field{padding-inline-end:2.25rem!important;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.login-container .btn-primary{background:var(--accent);color:var(--on-accent);box-shadow:none!important}.login-container .btn-primary:hover{background:var(--accent);filter:brightness(.95);box-shadow:none!important;transform:none}@media(max-width:520px){.login-container{padding:2rem 1.5rem}.login-form .auth-form-group{grid-template-columns:1fr}}.analysis-container{padding:1.25rem 2rem 2rem 1rem;max-width:1600px;margin:0}.unified-analysis-grid{display:grid;grid-template-columns:1fr 440px;gap:2.5rem;align-items:start}.analysis-sections-stack{display:flex;flex-direction:column;gap:2rem}.analysis-results-sticky{position:sticky;top:100px;display:flex;flex-direction:column;gap:0}.results-tab-bar{display:flex;gap:0;background:var(--clr-surface, #fff);border-radius:12px 12px 0 0;border-bottom:2px solid rgba(0,0,0,.06);overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:0;position:sticky;top:100px;z-index:10}.results-tab-bar::-webkit-scrollbar{display:none}.results-tab{flex:0 0 auto;padding:.75rem 1.1rem;font-size:.82rem;font-weight:600;color:var(--clr-text-muted, #94a3b8);background:none;border:none;border-bottom:3px solid transparent;cursor:pointer;white-space:nowrap;transition:color .2s,border-color .2s}.results-tab:hover{color:var(--clr-text, #1e293b)}.results-tab.active{color:var(--clr-brand-primary, #3b82f6);border-bottom-color:var(--clr-brand-primary, #3b82f6)}.results-tab-content{display:none;padding-top:1.5rem}.results-tab-content.active{display:block}.pvlib-status-badge{font-size:.72rem;padding:.25rem .6rem;border-radius:20px;background:#94a3b826;color:var(--clr-text-muted, #94a3b8);font-weight:600}.pvlib-status-badge.pvlib-status-ok{background:#10b9811f;color:#10b981}.pvlib-spinner{width:32px;height:32px;border:3px solid rgba(59,130,246,.2);border-top-color:#3b82f6;border-radius:50%;animation:pvlib-spin .8s linear infinite;margin:0 auto}@keyframes pvlib-spin{to{transform:rotate(360deg)}}.pvlib-outdated-banner{margin-top:.75rem;padding:.6rem 1rem;background:#f59e0b1a;border:1px solid rgba(245,158,11,.3);border-radius:8px;font-size:.82rem;color:#b45309}.pvlib-outdated-banner a{color:#3b82f6;font-weight:700;text-decoration:underline}.pvlib-comparison-grid{display:flex;flex-direction:column;gap:1rem}.pvlib-compare-item{display:flex;flex-direction:column;gap:.3rem}.pvlib-compare-label{font-size:.82rem;color:var(--clr-text-muted, #94a3b8);font-weight:600}.pvlib-compare-values{display:flex;align-items:center;gap:.6rem;font-size:.95rem}.pvlib-compare-quick{color:#94a3b8;font-weight:600}.pvlib-compare-arrow{color:var(--clr-text-muted, #94a3b8);font-size:.8rem}.pvlib-compare-pvlib{color:var(--clr-brand-primary, #3b82f6);font-weight:800}.pvlib-compare-delta{font-size:.8rem;font-weight:700;padding:.15rem .5rem;border-radius:20px;background:#10b9811a}.pvlib-waterfall-total{font-size:.85rem;margin-bottom:.75rem;color:var(--clr-text-muted, #94a3b8)}.pvlib-waterfall-row{display:flex;align-items:center;gap:.6rem;margin-bottom:.4rem}.pvlib-waterfall-label{flex:0 0 90px;font-size:.8rem;color:var(--clr-text, #1e293b);font-weight:500}.pvlib-waterfall-bar-track{flex:1;height:18px;background:#0000000a;border-radius:4px;overflow:hidden}.pvlib-waterfall-bar{height:100%;border-radius:4px;transition:width .6s ease}.pvlib-waterfall-value{flex:0 0 45px;font-size:.8rem;font-weight:700;text-align:right;color:var(--clr-text, #1e293b)}.pvlib-metrics-table td:first-child{font-weight:500}.cec-search-results{max-height:200px;overflow-y:auto;border:1px solid rgba(0,0,0,.1);border-radius:8px;background:var(--clr-surface, #fff);margin-top:.35rem;box-shadow:0 4px 12px #00000014}.cec-result-item{padding:.5rem .75rem;cursor:pointer;display:flex;flex-direction:column;gap:.1rem;border-bottom:1px solid rgba(0,0,0,.04);transition:background .15s}.cec-result-item:hover{background:#3b82f60f}.cec-result-item:last-child{border-bottom:none}.cec-result-item strong{font-size:.82rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cec-selected-badge{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-top:.35rem;padding:.4rem .75rem;background:#3b82f614;border:1px solid rgba(59,130,246,.2);border-radius:8px;font-size:.8rem;font-weight:600;color:var(--clr-brand-primary, #3b82f6)}.cec-clear-btn{background:none;border:none;font-size:1.1rem;cursor:pointer;color:var(--clr-text-muted, #94a3b8);padding:0 .2rem;line-height:1}.cec-clear-btn:hover{color:#ef4444}.panel-card-body{padding:1.5rem 2rem;display:flex;flex-direction:column;gap:1.5rem}.summary-bar{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;margin-bottom:2.5rem}.summary-card{padding:1.6rem;border-radius:24px;display:flex;flex-direction:column;gap:.4rem;transition:transform .3s ease,box-shadow .3s ease;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);box-shadow:0 4px 20px #0f172a0f,inset 0 1px #ffffffb3}.summary-card:hover{transform:translateY(-6px);box-shadow:0 16px 40px #0f172a17,inset 0 1px #fffc}.summary-label{font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.12em;opacity:.7}.summary-value{font-size:1.8rem;font-weight:900}.summary-value small{font-size:.85rem;opacity:.6;margin-left:.3rem}.solar-glass{background:linear-gradient(135deg,#f59e0b24,#f59e0b0f);border:1px solid rgba(245,158,11,.28);color:#fbbf24;box-shadow:0 4px 20px #f59e0b1f,inset 0 1px #f1f5f9}.sky-glass{background:linear-gradient(135deg,#0ea5e924,#0ea5e90f);border:1px solid rgba(14,165,233,.28);color:#38bdf8;box-shadow:0 4px 20px #0ea5e91f,inset 0 1px #f1f5f9}.eco-glass{background:linear-gradient(135deg,#10b98124,#10b9810f);border:1px solid rgba(16,185,129,.28);color:#34d399;box-shadow:0 4px 20px #10b9811f,inset 0 1px #f1f5f9}.warning-glass{background:linear-gradient(135deg,#ef444424,#ef44440f);border:1px solid rgba(239,68,68,.28);color:#f87171;box-shadow:0 4px 20px #ef44441f,inset 0 1px #f1f5f9}.step-workflow-grid{display:grid;grid-template-columns:1fr 420px;gap:2.5rem;align-items:start}.engineering-panel-card{background:#f8fafc;border-radius:24px;box-shadow:var(--shadow-premium);border:1px solid var(--glass-border);overflow:hidden;animation:slideIn .4s ease-out}.panel-card-header{padding:1.5rem 2rem;background:#f8fafc;border-bottom:1px solid #F1F5F9}.panel-card-header h3{font-size:1.1rem;color:var(--clr-text-main)}.pro-input-field{width:100%;padding:.7rem 1rem;border-radius:12px;border:1px solid #CBD5E1;background:#f1f5f9;color:var(--clr-text-main);font-family:inherit;font-size:.875rem;transition:all .3s ease}.pro-input-field:focus{outline:none;border-color:var(--clr-brand-primary);box-shadow:0 0 0 4px #f59e0b1a}.expert-insight{font-size:.82rem;color:var(--clr-text-muted);font-style:italic;margin-top:.5rem;padding-left:.8rem;border-left:3px solid var(--clr-brand-primary);line-height:1.4}.visualization-box{background:#f8fafc;border:1px solid #F1F5F9;padding:2rem;border-radius:24px;box-shadow:var(--shadow-premium);margin-top:2rem}.formula-display-area{font-family:Fira Code,Courier New,monospace;background:#f8fafc;padding:1.5rem;border-radius:16px;font-size:.95rem;line-height:1.8;color:var(--clr-text-main);border:1px solid #E2E8F0;margin:1rem 0}.formula-result-text{color:var(--clr-brand-primary);font-weight:800;margin-left:.5rem}.dashboard-layout{display:flex;height:100vh;background:var(--clr-bg)}.dashboard-layout.no-sidebar .dashboard-content{margin-left:0!important}.dashboard-layout.no-sidebar .mobile-bottom-nav{display:none!important}.dashboard-layout.no-sidebar .dashboard-header{height:56px;padding:0 1.25rem}.dashboard-layout.no-sidebar .pv-layout-container{width:100vw;max-width:100vw}.header-wordmark{text-decoration:none;flex-shrink:0;display:flex;align-items:center}.header-wordmark .logo-text{font-size:1.02rem;font-weight:900;letter-spacing:-.01em}.header-wordmark:hover{opacity:.8}.header-nav{display:flex;align-items:center;gap:.2rem;margin-inline-start:.4rem;min-width:0}.header-nav-item{display:inline-flex;align-items:center;gap:.4rem;padding:.38rem .7rem;border:1px solid transparent;border-radius:9px;background:transparent;color:#475569;font-family:inherit;font-size:.85rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .18s ease,color .18s ease,border-color .18s ease}.header-nav-item svg{flex-shrink:0}.header-nav-item:hover{background:var(--surface-2);color:var(--text)}.header-nav-item:focus-visible{outline:2px solid var(--clr-brand-secondary);outline-offset:2px}.header-nav-item.is-learn{--hn: #B45309;--hn-soft: rgba(245,158,11,.13)}.header-nav-item.is-projects{--hn: #0369A1;--hn-soft: rgba(14,165,233,.13)}.header-nav-item.is-pvlayout{--hn: #047857;--hn-soft: rgba(16,185,129,.13)}.header-nav-item.active{background:var(--hn-soft);color:var(--hn);border-color:var(--hn-soft)}@media(max-width:760px){.header-nav-item span{display:none}.header-nav-item{padding:.38rem .5rem}}.logo-link{text-decoration:none;cursor:pointer}.logo-text{font-size:1.75rem;font-weight:900;background:var(--grad-brand);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.01em}.dashboard-content{flex:1;overflow-y:auto;display:flex;flex-direction:column;background:transparent}.dashboard-header{height:72px;padding:0 2rem;display:flex;align-items:center;justify-content:flex-start;gap:.5rem;background:var(--surface);border-bottom:1px solid var(--border);box-shadow:none;position:sticky;top:0;z-index:10;direction:ltr}.analysis-header-homelink{display:inline-flex;align-items:center;gap:.4rem;cursor:pointer;font:inherit;font-weight:600;font-size:.85rem;color:var(--text);background:transparent;border:1px solid var(--border);border-radius:var(--r-md);padding:.4rem .8rem;transition:background .15s ease,border-color .15s ease}.analysis-header-homelink:hover{background:var(--surface-2);border-color:var(--border-strong)}.analysis-header-homelink:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.analysis-header-homelink svg{width:15px;height:15px;flex:0 0 auto;color:var(--accent)}.dashboard-header>.analysis-header-actions,.dashboard-header>.analysis-header-right{margin-left:auto}.dashboard-header>.analysis-header-actions+.analysis-header-right{margin-left:.75rem}.analysis-header-right{display:flex;align-items:center;gap:.5rem;padding-left:.75rem;border-left:1px solid var(--border)}.dashboard-grid{padding:2.5rem;display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.kpi-card{padding:1.8rem;border-radius:24px;display:flex;flex-direction:column;gap:.6rem;background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);transition:transform .25s,box-shadow .25s,border-color .25s}.kpi-card:hover{transform:translateY(-4px);box-shadow:0 16px 40px #0f172a17,inset 0 1px #fffffff2}.kpi-card h3{font-size:.85rem;font-weight:800;text-transform:uppercase;color:var(--clr-text-muted);letter-spacing:.05em}.kpi-value{font-size:2.5rem;font-weight:900;letter-spacing:-1px}.kpi-card-top{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.kpi-icon{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:11px;flex-shrink:0}.kpi-icon svg{width:20px;height:20px}.kpi-sub{font-size:.78rem;color:var(--clr-text-muted);font-weight:600}.admin-panel-head{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.25rem;flex-wrap:wrap}.admin-chart{display:block}.admin-toolbar{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap;margin-bottom:1rem}.admin-search{position:relative;flex:1 1 280px;min-width:200px;display:flex;align-items:center}.admin-search svg{position:absolute;inset-inline-start:.7rem;width:16px;height:16px;color:#94a3b8;pointer-events:none}.admin-search input{width:100%;padding:.55rem .8rem;padding-inline-start:2.2rem;border:1px solid #E2E8F0;border-radius:10px;font-family:inherit;font-size:.88rem;background:#fff;color:var(--clr-text-main)}.admin-search input:focus{outline:2px solid var(--clr-brand-secondary);outline-offset:1px;border-color:transparent}.admin-select{padding:.55rem .8rem;border:1px solid #E2E8F0;border-radius:10px;font-family:inherit;font-size:.88rem;background:#fff;color:var(--clr-text-main);cursor:pointer}.admin-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem .9rem;border:1px solid #E2E8F0;border-radius:10px;background:#fff;color:var(--clr-text-main);font-family:inherit;font-size:.84rem;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s}.admin-btn:hover:not(:disabled){background:#f8fafc;border-color:#cbd5e1}.admin-btn:disabled{opacity:.45;cursor:not-allowed}.admin-sortable{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.admin-sortable:hover{color:var(--clr-text-main)}.admin-sortable:after{content:"↕";opacity:.3;margin-inline-start:.3rem;font-size:.85em}.admin-sortable.sort-asc:after{content:"↑";opacity:.9}.admin-sortable.sort-desc:after{content:"↓";opacity:.9}.admin-pagination{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-top:1rem;flex-wrap:wrap}.admin-page-info{font-size:.82rem;color:var(--clr-text-muted)}.admin-page-controls{display:flex;align-items:center;gap:.5rem}.admin-page-num{font-size:.84rem;color:var(--clr-text-main);font-weight:600;min-width:96px;text-align:center}.admin-no-results{text-align:center;padding:2rem;color:var(--clr-text-muted)}.admin-settings-list{display:flex;flex-direction:column}.admin-setting-row{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:.9rem 0;border-bottom:1px solid #F1F5F9;cursor:pointer}.admin-setting-row:last-child{border-bottom:none}.admin-setting-text{display:flex;flex-direction:column;gap:.2rem}.admin-setting-label{font-weight:700;font-size:.92rem;color:var(--clr-text-main)}.admin-setting-desc{font-size:.82rem;color:var(--clr-text-muted);max-width:60ch}.admin-switch{position:relative;flex-shrink:0;width:44px;height:24px}.admin-switch input{position:absolute;inset:0;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}.admin-switch-track{position:absolute;inset:0;background:#cbd5e1;border-radius:999px;transition:background .18s;pointer-events:none}.admin-switch-track:after{content:"";position:absolute;top:2px;inset-inline-start:2px;width:20px;height:20px;background:#fff;border-radius:50%;box-shadow:0 1px 3px #0003;transition:transform .18s}.admin-switch input:checked+.admin-switch-track{background:#10b981}.admin-switch input:checked+.admin-switch-track:after{transform:translate(20px)}.admin-switch input:focus-visible+.admin-switch-track{outline:2px solid var(--clr-brand-secondary);outline-offset:2px}.admin-settings-actions{display:flex;align-items:center;gap:1rem;margin-top:1.5rem}.admin-btn-primary{background:var(--clr-brand-primary);color:#fff;border-color:transparent}.admin-btn-primary:hover:not(:disabled){background:#d97706;border-color:transparent}.admin-about-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem}.admin-about-grid>div{display:flex;flex-direction:column;gap:.2rem}.admin-about-key{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--clr-text-muted);font-weight:700}.admin-about-val{font-size:1.1rem;font-weight:800;color:var(--clr-text-main)}.project-table,.schedule-table{width:100%;border-collapse:separate;border-spacing:0;margin-top:1rem}.project-table th,.schedule-table td:first-child{text-align:left;padding:1.25rem;font-size:.85rem;font-weight:700;color:var(--clr-text-muted);text-transform:uppercase;border-bottom:1px solid #F1F5F9}.project-table td,.schedule-table td:last-child{padding:1.25rem;font-size:.95rem;color:var(--clr-text-main);border-bottom:1px solid #F1F5F9}.project-table tr:hover{background:#0ea5e90d}.w-full{width:100%!important;display:flex!important}.text-right{text-align:right}.design-warning-box{background:#ef444414;border-left:4px solid var(--clr-brand-danger);padding:1rem 1.5rem;border-radius:12px;font-size:.9rem;font-weight:600;color:#991b1b;margin-bottom:.75rem;animation:slideIn .3s ease-out}.financial-card{background:linear-gradient(135deg,#10b98114,#fff9)!important;border:1px solid rgba(16,185,129,.2)!important}.financial-card h3{color:#065f46!important}#financial-svg-container svg{overflow:visible}.appliance-table input{width:100%;border:1px solid transparent;background:transparent;padding:.4rem;border-radius:6px;font-family:inherit;font-size:.85rem}.appliance-table input:hover,.appliance-table input:focus{background:#e2e8f0;border-color:#f59e0b66}.appliance-kwh-cell{font-weight:800;color:var(--clr-brand-secondary);font-size:.85rem}.btn-remove-appliance{background:none;border:none;color:var(--clr-text-muted);cursor:pointer;opacity:.5;transition:.2s}.btn-remove-appliance:hover{opacity:1;color:var(--clr-brand-danger)}.appliance-table th{font-size:.75rem;padding-bottom:.5rem}.layout{display:flex;flex-direction:column;min-height:100vh}.navbar{position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:1rem 5%;border-bottom:1px solid var(--glass-border)}.hero-section{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;padding:5rem 5%;max-width:1400px;margin:0 auto;width:100%}.hero-title{font-size:clamp(2.5rem,5vw,4rem);font-weight:900;line-height:1.1;letter-spacing:-1px}.hero-subtitle{font-size:1.15rem;color:var(--clr-text-muted);line-height:1.7;max-width:480px}@media(max-width:768px){.hero-section{grid-template-columns:1fr;padding:3rem 5%}.navbar{padding:1rem 4%}}.hero-image-placeholder{width:100%;aspect-ratio:16/10;border-radius:24px;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;overflow:hidden;background:linear-gradient(135deg,#0ea5e90d,#f59e0b0d)}.mock-ui-container{width:85%;height:65%;background:var(--clr-surface);border-radius:20px;border:1px solid var(--glass-border);box-shadow:0 40px 80px -15px #0f172a26;display:flex;flex-direction:column;padding:1.5rem;animation:slideUp .8s cubic-bezier(.16,1,.3,1)}.mock-icon-box{background:var(--clr-bg);border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.4rem;aspect-ratio:1;box-shadow:inset 0 2px 4px #00000008}.input-label{font-size:.67rem;font-weight:700;color:var(--clr-text-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:.45rem;display:block}select.pro-input-field{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%2364748b'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1.2rem center;background-size:1rem;padding-right:3rem}.auth-form-group{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;margin-bottom:1.2rem}.btn-large{padding:1rem 2.5rem;font-size:1.1rem;border-radius:16px}.btn-primary{background:var(--grad-solar);color:#fff;font-weight:800}.btn-secondary{background:#f1f5f9;border:1px solid var(--glass-border);color:var(--clr-text-main)}@keyframes slideIn{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media(max-width:1200px){.step-workflow-grid{grid-template-columns:1fr}.dashboard-grid{grid-template-columns:1fr 1fr}}@media(max-width:900px){.summary-bar{grid-template-columns:1fr 1fr}.sidebar{display:none}.dashboard-grid{grid-template-columns:1fr}}@media(max-width:1200px){.unified-analysis-grid{grid-template-columns:1fr}}.dashboard-content{flex:1;overflow-y:auto;display:flex;flex-direction:column}.kpi-hint{font-size:.8rem;color:var(--clr-text-muted);margin-top:.25rem}.unit{font-size:1.2rem;font-weight:400;color:var(--clr-text-muted);margin-left:.3rem}.simulator-panel{border-radius:24px;overflow:hidden}.panel-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem 2rem;border-bottom:1px solid #F1F5F9}.panel-header h3{font-size:1.1rem;font-weight:700}.studies-list{padding:1rem 0}.portfolio-banner{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1rem;margin-bottom:1.5rem}.portfolio-stat{display:flex;align-items:center;gap:.75rem;padding:1rem 1.2rem;border-radius:16px;background:var(--clr-surface-light);border:1px solid var(--glass-border);transition:transform .2s,box-shadow .2s}.portfolio-stat:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0000000f}.portfolio-stat-icon{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.3rem;flex-shrink:0}.portfolio-stat-info{display:flex;flex-direction:column}.portfolio-stat-value{font-size:1.4rem;font-weight:800;color:var(--clr-text-main);letter-spacing:-.5px}.portfolio-stat-label{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--clr-text-muted)}.projects-toolbar{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;margin-bottom:1rem}.projects-search-input{flex:1;min-width:180px;padding:.55rem 1rem .55rem 2.2rem;border-radius:10px;border:1px solid #CBD5E1;background:#f1f5f9;font-size:.88rem;color:var(--clr-text-main);outline:none;transition:border-color .2s}.projects-search-input:focus{border-color:var(--clr-brand-primary)}.projects-search-wrap{position:relative;flex:1;min-width:180px}.projects-search-wrap:before{content:"🔍";position:absolute;left:.7rem;top:50%;transform:translateY(-50%);font-size:.85rem;pointer-events:none}.projects-sort-select{padding:.55rem .9rem;border-radius:10px;border:1px solid var(--glass-border);background:var(--clr-surface-light);font-size:.82rem;color:var(--clr-text-main);cursor:pointer;outline:none}.view-toggle-group{display:flex;border:1px solid var(--glass-border);border-radius:10px;overflow:hidden}.view-toggle-btn{padding:.5rem .75rem;border:none;background:transparent;font-size:.95rem;cursor:pointer;color:var(--clr-text-muted);transition:background .15s,color .15s}.view-toggle-btn.active{background:var(--clr-brand-primary);color:#fff}.view-toggle-btn:hover:not(.active){background:#0000000a}.project-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem;padding:0 0 1rem}.project-card{border-radius:16px;overflow:hidden;background:#fff;border:1px solid #E2E8F0;transition:transform .2s,box-shadow .25s,border-color .25s;cursor:pointer;position:relative;box-shadow:0 1px 3px #0f172a0a}.project-card:hover{transform:translateY(-3px);border-color:#cbd5e1;box-shadow:0 12px 32px #0f172a1a}.project-card-stripe{height:5px;width:100%}.project-card-body{padding:1.2rem 1.3rem 1rem}.project-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem;margin-bottom:.75rem}.project-card-name{font-size:1rem;font-weight:700;color:var(--clr-text-main);margin:0;line-height:1.3}.project-card-category{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:.2rem .6rem;border-radius:6px;white-space:nowrap;flex-shrink:0}.project-card-location{font-size:.8rem;color:var(--clr-text-muted);margin-bottom:.75rem;display:flex;align-items:center;gap:.3rem}.project-card-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;padding:.75rem 0;border-top:1px solid var(--glass-border)}.project-card-metric{text-align:center}.project-card-metric-val{font-size:1rem;font-weight:800;color:var(--clr-text-main)}.project-card-metric-label{font-size:.65rem;color:var(--clr-text-muted);text-transform:uppercase;letter-spacing:.03em;font-weight:600}.project-card-footer{display:flex;align-items:center;justify-content:space-between;padding:.65rem 1.3rem;border-top:1px solid var(--glass-border);background:#00000004}.project-card-date{font-size:.75rem;color:var(--clr-text-muted)}.project-card-actions{display:flex;gap:.35rem}.project-card-action{width:30px;height:30px;border-radius:8px;border:none;background:transparent;cursor:pointer;font-size:.9rem;display:flex;align-items:center;justify-content:center;transition:background .15s;color:var(--clr-text-muted)}.project-card-action:hover{background:#0000000f}.project-card-shared{position:absolute;top:12px;right:12px;font-size:.65rem;font-weight:700;padding:.15rem .5rem;border-radius:6px;background:#10b9811f;color:#10b981}.creation-panel-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000073;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:1000;display:none;justify-content:center;align-items:center;animation:fadeIn .2s ease}.creation-panel{width:100%;max-width:720px;max-height:90vh;overflow-y:auto;background:var(--clr-surface-light);border-radius:24px;box-shadow:0 24px 64px #00000026;animation:slideUp .3s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.creation-panel-header{padding:2rem 2.5rem 1.5rem;text-align:center;border-bottom:1px solid var(--glass-border)}.creation-panel-header h2{font-size:1.5rem;font-weight:800;margin:0 0 .3rem;background:var(--grad-solar);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.creation-panel-header p{font-size:.88rem;color:var(--clr-text-muted);margin:0}.creation-panel-body{padding:1.5rem 2.5rem 2rem}.category-selector{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;margin-bottom:1.5rem}.category-select-card{display:flex;flex-direction:column;align-items:center;gap:.3rem;padding:1rem .5rem;border-radius:14px;border:2px solid var(--glass-border);background:transparent;cursor:pointer;transition:all .2s;text-align:center}.category-select-card:hover{border-color:var(--clr-brand-primary);background:#f59e0b0a}.category-select-card.selected{border-color:var(--clr-brand-primary);background:#f59e0b14;box-shadow:0 0 0 3px #f59e0b26}.category-select-icon{font-size:1.6rem}.category-select-label{font-size:.78rem;font-weight:700;color:var(--clr-text-main)}.category-select-desc{font-size:.68rem;color:var(--clr-text-muted);line-height:1.3}.creation-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem 1.5rem}.creation-form-grid .input-group.full-width{grid-column:span 2}.creation-form-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--glass-border)}.creation-section-label{font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--clr-brand-primary);margin-bottom:.75rem;padding-bottom:.4rem;border-bottom:2px solid rgba(245,158,11,.2);display:flex;align-items:center;gap:.4rem}.creation-solar-badge{display:flex;gap:1rem;flex-wrap:wrap;padding:.6rem 1rem;border-radius:10px;background:#10b98114;border:1px solid rgba(16,185,129,.2);font-size:.82rem;font-weight:600;color:#10b981;margin-top:.5rem}.creation-solar-badge span{display:flex;align-items:center;gap:.3rem}.creation-presets{margin-bottom:1.5rem}.creation-presets-label{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--clr-text-muted);margin-bottom:.6rem}.creation-presets-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem}.creation-preset-card{display:flex;flex-direction:column;align-items:center;gap:.2rem;padding:.6rem .4rem;border-radius:10px;border:1px solid var(--glass-border);background:transparent;cursor:pointer;transition:all .15s;font-size:.75rem;font-weight:600;color:var(--clr-text-main)}.creation-preset-card:hover{border-color:var(--clr-brand-secondary);background:#0ea5e90f}.creation-preset-card .preset-icon{font-size:1.2rem}.projects-empty-state{text-align:center;padding:3rem 2rem}.projects-empty-icon{font-size:4rem;margin-bottom:1rem;opacity:.8}.projects-empty-title{font-size:1.3rem;font-weight:800;color:var(--clr-text-main);margin-bottom:.5rem}.projects-empty-desc{font-size:.9rem;color:var(--clr-text-muted);margin-bottom:1.5rem;max-width:400px;margin-left:auto;margin-right:auto;line-height:1.5}.projects-empty-presets{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:center;margin-top:1.5rem}.empty-preset-card{display:flex;align-items:center;gap:.5rem;padding:.7rem 1.2rem;border-radius:12px;border:1px solid var(--glass-border);background:var(--clr-surface-light);cursor:pointer;transition:all .2s;font-size:.85rem;font-weight:600;color:var(--clr-text-main)}.empty-preset-card:hover{border-color:var(--clr-brand-primary);background:#f59e0b0f;transform:translateY(-2px);box-shadow:0 4px 12px #0000000f}.empty-preset-icon{font-size:1.3rem}@media(max-width:768px){.project-cards-grid{grid-template-columns:1fr}.category-selector,.creation-presets-grid{grid-template-columns:repeat(2,1fr)}.creation-form-grid{grid-template-columns:1fr}.creation-form-grid .input-group.full-width{grid-column:span 1}.creation-panel{margin:1rem;border-radius:18px}.creation-panel-body{padding:1.2rem 1.5rem 1.5rem}.creation-panel-header{padding:1.5rem 1.5rem 1rem}.portfolio-banner{grid-template-columns:repeat(2,1fr)}.projects-toolbar{flex-direction:column;align-items:stretch}}@media(max-width:480px){.category-selector{grid-template-columns:1fr 1fr}.portfolio-banner{grid-template-columns:1fr}}.calculation-block{padding:1.5rem}.btn-sm{padding:.45rem 1rem;font-size:.85rem;border-radius:10px}.input-group{display:flex;flex-direction:column;gap:.4rem}.fade-section{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}.fade-section.visible{opacity:1;transform:none}.badge{display:inline-flex;align-items:center;padding:.35rem .9rem;border-radius:50px;font-size:.75rem;font-weight:700}.toast-notification{position:fixed;bottom:2rem;right:2rem;z-index:9999;background:#0f172a;color:#fff;padding:1rem 1.5rem;border-radius:14px;font-size:.9rem;font-weight:600;box-shadow:0 8px 24px #0f172a0f;opacity:0;transform:translateY(12px);transition:opacity .3s ease,transform .3s ease;pointer-events:none}.toast-notification.toast-visible{opacity:1;transform:none}.toast-success{border-left:4px solid var(--clr-brand-accent)}.toast-error{border-left:4px solid var(--clr-brand-danger)}.admin-table{width:100%;border-collapse:separate;border-spacing:0}.admin-table th{padding:1rem 1.25rem;font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--clr-text-muted);border-bottom:1px solid #F1F5F9;text-align:left;font-weight:700}.admin-table td{padding:1rem 1.25rem;font-size:.9rem;border-bottom:1px solid #F1F5F9;color:var(--clr-text-main)}.admin-table tr:hover td{background:#0ea5e90d}.lf-admin-cards{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}.lf-admin-card{display:flex;flex-direction:column;gap:.25rem;padding:1rem 1.25rem;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface-2);min-width:150px}.lf-admin-card-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--clr-text-muted)}.lf-admin-card-value{font-size:1.5rem;font-weight:800;color:var(--text)}.lf-admin-hint{font-size:.82rem;color:var(--clr-text-muted);margin:0 0 .75rem}.lf-admin-empty-state{padding:2rem;text-align:center;color:var(--clr-text-muted)}.lf-row{cursor:pointer}.lf-dist{display:inline-flex;align-items:flex-end;gap:3px;height:28px}.lf-dist-cell{display:inline-flex;align-items:flex-end;width:10px;height:100%;background:var(--surface-2);border-radius:2px}.lf-dist-bar{width:100%;background:var(--accent);border-radius:2px;min-height:2px}.lf-admin-comment{padding:.6rem 0;border-top:1px solid var(--border);display:flex;flex-wrap:wrap;gap:.5rem;align-items:baseline}.lf-admin-score{font-weight:800;color:var(--accent)}.lf-admin-text{flex:1;min-width:200px;color:var(--text)}.lf-admin-meta{font-size:.75rem;color:var(--clr-text-muted)}.lf-admin-empty{color:var(--clr-text-muted);font-style:italic}.sidebar{display:flex;flex-direction:column;height:100vh;width:240px;flex-shrink:0;position:sticky;top:0;overflow-y:auto}.sidebar-header{padding:1.5rem 1.25rem 1rem;border-bottom:1px solid #F1F5F9}.sidebar-nav{flex:1;display:flex;flex-direction:column;padding:.75rem .75rem 0;gap:.2rem}.nav-item{display:flex;align-items:center;gap:.55rem;width:100%;padding:.65rem 1rem;border-radius:12px;border:none;background:transparent;color:var(--clr-text-muted);font-family:inherit;font-size:.88rem;font-weight:600;cursor:pointer;transition:background .2s,color .2s;text-align:left}.nav-item:hover{background:#f1f5f9;color:var(--clr-text-main)}.nav-item.active{background:#f59e0b1f;color:var(--clr-brand-primary);border:1px solid rgba(245,158,11,.2)}.nav-icon{font-size:1rem;flex-shrink:0}.sidebar-footer{padding:1rem 1.25rem 1.5rem;border-top:1px solid #F1F5F9}.user-info{display:flex;align-items:center;gap:.65rem}.user-avatar{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:.9rem;color:#fff;flex-shrink:0}.user-details{display:flex;flex-direction:column;min-width:0}.user-name{font-size:.85rem;font-weight:700;color:var(--clr-text-main);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-email{font-size:.72rem;color:var(--clr-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.appliance-table{width:100%;border-collapse:separate;border-spacing:0;font-size:.88rem}.appliance-table th{padding:.6rem .8rem;font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;color:var(--clr-text-muted);border-bottom:1px solid #F1F5F9;font-weight:700;text-align:left}.appliance-table td{padding:.4rem .5rem;border-bottom:1px solid #F8FAFC;vertical-align:middle}.appliance-table input[type=text],.appliance-table input[type=number]{width:100%;padding:.4rem .6rem;border:1px solid #CBD5E1;border-radius:8px;font-size:.85rem;font-family:inherit;transition:border-color .2s}.appliance-table input:focus{outline:none;border-color:var(--clr-brand-primary)}.appliance-kwh-cell{font-weight:700;color:var(--clr-brand-secondary);text-align:right;white-space:nowrap}.btn-remove-appliance{background:none;border:none;cursor:pointer;color:var(--clr-brand-danger);font-size:1rem;padding:.2rem .4rem;border-radius:6px;transition:background .2s}.btn-remove-appliance:hover{background:#ef444414}.input-mode-toggle{display:flex;gap:.5rem;margin-bottom:1rem}.input-mode-btn{flex:1;padding:.5rem;border:1px solid #CBD5E1;border-radius:10px;background:#f8fafc;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .2s;color:var(--clr-text-muted)}.input-mode-btn.active{background:var(--grad-solar);color:#fff;border-color:transparent}.formula-step-label{font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--clr-text-muted);margin-bottom:.3rem}.country-bar-row{display:flex;align-items:center;gap:1rem;padding:.5rem 0;border-bottom:1px solid #f8fafc}.country-bar-label{flex:0 0 140px;font-size:.85rem;font-weight:600;color:var(--clr-text-main);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.country-bar-track{flex:1;height:8px;background:var(--clr-surface-light);border-radius:4px;overflow:hidden}.country-bar-fill{height:100%;background:var(--grad-sky);border-radius:4px;transition:width .5s ease}.country-bar-count{flex:0 0 40px;font-size:.8rem;font-weight:700;color:var(--clr-text-muted);text-align:right}.preset-bar{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;padding:.85rem 1.25rem;background:#0ea5e90d;border:1px solid rgba(14,165,233,.15);border-radius:14px;margin-bottom:1.5rem}.preset-bar-label{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--clr-text-muted);white-space:nowrap;margin-right:.25rem}.btn-preset{display:inline-flex;align-items:center;gap:.35rem;padding:.38rem .85rem;font-size:.8rem;font-weight:600;background:#f1f5f9;color:var(--clr-text-main);border:1px solid #CBD5E1;border-radius:50px;cursor:pointer;transition:background .18s,border-color .18s,transform .12s,box-shadow .18s;white-space:nowrap}.btn-preset:hover{background:var(--clr-brand-primary);border-color:var(--clr-brand-primary);color:#fff;transform:translateY(-1px);box-shadow:0 4px 12px #f59e0b4d}.btn-preset:active{transform:translateY(0)}.eco-impact-panel .panel-card-body{padding-bottom:.5rem}.env-impact-row{display:flex;justify-content:space-between;align-items:center;padding:.45rem 0;font-size:.88rem;color:var(--clr-text-main);border-bottom:1px solid #f8fafc}.env-impact-row:last-child{border-bottom:none}.env-impact-row span:first-child{color:var(--clr-text-muted);flex:1}.env-impact-row strong,.env-impact-row span:last-child{font-weight:700;color:var(--clr-text-main);text-align:right;min-width:60px}.cable-result-box{padding:.85rem 1rem;background:#10b9810f;border:1px solid rgba(16,185,129,.2);border-radius:10px;font-size:.875rem;line-height:1.7;color:var(--clr-text-main)}.cable-result-box strong{color:var(--clr-brand-accent);font-weight:700}.cable-vdrop-ok{color:#059669;font-weight:700}.cable-vdrop-warn{color:#d97706;font-weight:700}.sensitivity-row{display:flex;flex-direction:column;gap:.3rem}.sensitivity-row label{font-size:.85rem;font-weight:600;color:var(--clr-text-main)}.sensitivity-slider{-webkit-appearance:none;appearance:none;width:100%;height:6px;border-radius:3px;background:linear-gradient(90deg,var(--clr-brand-primary) 0%,#fde68a 100%);outline:none;cursor:pointer;accent-color:var(--clr-brand-primary);margin:.25rem 0}.sensitivity-slider::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;border-radius:50%;background:var(--clr-brand-primary);border:2px solid #fff;box-shadow:0 2px 6px #f59e0b66;cursor:pointer;transition:transform .15s}.sensitivity-slider::-webkit-slider-thumb:hover{transform:scale(1.2)}.sensitivity-slider::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:var(--clr-brand-primary);border:2px solid #fff;box-shadow:0 2px 6px #f59e0b66;cursor:pointer}.sens-result{font-size:.82rem;color:var(--clr-text-muted);margin-top:.15rem}.sens-result strong{color:var(--clr-brand-secondary);font-weight:700}#monthly-chart-container svg{overflow:visible}#tilt-correction-display{font-size:.8rem;font-weight:600;padding:.3rem 0;transition:color .2s}.project-name-display{cursor:pointer;border-bottom:2px dashed transparent;transition:border-color .2s;padding-bottom:1px}.project-name-display:hover{border-bottom-color:var(--clr-brand-primary)}.btn-rename-icon{background:none;border:none;cursor:pointer;font-size:.8rem;padding:.15rem .25rem;opacity:.45;transition:opacity .2s,transform .15s;line-height:1;vertical-align:middle;flex-shrink:0}.btn-rename-icon:hover{opacity:1;transform:scale(1.25)}.project-name-input{display:none;font-size:inherit;font-weight:inherit;font-family:inherit;background:transparent;border:none;border-bottom:2px solid var(--clr-brand-primary);outline:none;color:inherit;min-width:180px;max-width:340px;width:auto;padding:.05rem .1rem}.comparison-table{width:100%;border-collapse:collapse;font-size:.875rem}.comparison-table th{background:#0ea5e90f;color:var(--clr-text-muted);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;padding:.7rem 1rem;text-align:left;border-bottom:1px solid var(--glass-border);white-space:nowrap}.comparison-table td{padding:.7rem 1rem;border-bottom:1px solid #f8fafc;color:var(--clr-text-main);vertical-align:middle}.comparison-table tr:last-child td{border-bottom:none}.comparison-table tr:hover td{background:#0ea5e908}.comparison-table td.best{color:var(--clr-brand-accent);font-weight:700}.comparison-table td.worst{color:#ef4444;font-weight:600}@media print{@page{margin:1.5cm;size:A4}body{background:#fff!important}.sidebar,.header-actions,.preset-bar,.design-warnings-bar,.summary-bar,#btn-export-pdf,#btn-save-study,#btn-back-projects,#btn-rename-trigger,#btn-add-appliance,.input-mode-toggle,.appliance-mode,.sensitivity-row,.cable-result-box button,.btn-preset{display:none!important}.dashboard-layout{grid-template-columns:1fr!important;min-height:unset!important}.dashboard-content{padding:0!important;overflow:visible!important}.dashboard-header{border-bottom:2px solid #e2e8f0!important;margin-bottom:1rem!important;padding-bottom:.75rem!important;box-shadow:none!important}.engineering-panel-card,.simulator-panel,.glass{break-inside:avoid;box-shadow:none!important;border:1px solid #e2e8f0!important;background:#fff!important}.unified-analysis-grid{grid-template-columns:1fr!important;gap:1rem!important}.text-gradient,.formula-result-text{-webkit-text-fill-color:#1e293b!important;color:#1e293b!important}#energy-flow-svg-container{display:block!important}}.profile-page{padding:1.5rem 2rem;max-width:none;margin:0}.profile-hero{position:relative;overflow:hidden;border-radius:16px;margin-bottom:1.5rem}.profile-hero-bg{position:absolute;top:0;left:0;right:0;height:100px;background:linear-gradient(135deg,var(--clr-brand-secondary),var(--clr-brand-primary));opacity:.15}.profile-hero-content{display:flex;align-items:center;gap:1.5rem;padding:2rem 2rem 1.5rem;position:relative;z-index:1}.profile-avatar-xl{width:88px;height:88px;border-radius:50%;background:var(--accent);color:var(--on-accent);font-size:2.5rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.profile-hero-info{flex:1}.profile-hero-name{margin:0 0 .2rem;font-size:1.4rem}.profile-hero-email{color:var(--clr-text-muted);font-size:.88rem;margin:0 0 .6rem}.profile-hero-badges{display:flex;flex-wrap:wrap;gap:.4rem}.profile-role-badge{background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent);text-transform:capitalize}.profile-member-badge,.profile-inst-badge,.profile-country-badge{background:var(--surface-2);color:var(--text-muted)}.profile-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1rem;margin-bottom:1.5rem}.profile-stat-card{padding:1.25rem;text-align:center;border-radius:16px;background:#f8fafc;backdrop-filter:blur(18px) saturate(170%);-webkit-backdrop-filter:blur(18px) saturate(170%);border:1px solid #E2E8F0;box-shadow:0 4px 20px #0f172a14,inset 0 1px #f1f5f9;transition:transform .22s ease,box-shadow .22s ease}.profile-stat-card:hover{transform:translateY(-3px);box-shadow:0 12px 32px #f59e0b26,inset 0 1px #e2e8f0;border-color:#f59e0b40}.profile-stat-icon{font-size:1.5rem;margin-bottom:.3rem}.profile-stat-value{font-size:1.6rem;font-weight:800;color:var(--clr-text)}.profile-stat-label{font-size:.75rem;color:var(--clr-text-muted);margin-top:.2rem}.profile-stat-bar{height:4px;border-radius:2px;background:var(--glass-border);margin-top:.6rem;overflow:hidden}.profile-stat-bar-fill{height:100%;border-radius:2px;background:var(--grad-solar);transition:width .5s ease}.profile-section{margin-bottom:1.5rem}.profile-cat-progress-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem 1.5rem}.profile-cat-item{padding:.4rem 0}.profile-cat-header{display:flex;justify-content:space-between;align-items:center;font-size:.82rem;margin-bottom:.3rem}.profile-cat-frac{color:var(--clr-text-muted);font-size:.75rem}.profile-cat-bar{height:6px;border-radius:3px;background:var(--glass-border);overflow:hidden}.profile-cat-bar-fill{height:100%;border-radius:3px;background:var(--grad-solar);transition:width .5s ease}.profile-badges-grid{display:flex;flex-wrap:wrap;gap:.75rem}.profile-badge-card{display:flex;align-items:center;gap:.4rem;padding:.5rem .9rem;border-radius:10px;background:#f59e0b14;font-size:.82rem;font-weight:600}.profile-badge-icon{font-size:1.1rem}.profile-two-col{display:grid;grid-template-columns:1.2fr 1fr;gap:1.5rem}@media(max-width:768px){.profile-two-col,.profile-cat-progress-grid{grid-template-columns:1fr}.profile-hero-content{flex-direction:column;text-align:center}.profile-hero-badges{justify-content:center}}.profile-section>form,.profile-section>.profile-security-section,.profile-section>.profile-danger-zone{padding:0 2rem 1.5rem}.profile-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem 1.5rem}@media(max-width:540px){.profile-form-grid{grid-template-columns:1fr}}#profile-feedback{font-size:.85rem;font-weight:600;color:var(--clr-brand-accent);min-height:1.2em}.profile-security-section{padding:0}.profile-security-section .input-group{margin-bottom:.75rem}.profile-danger-zone{margin-top:2rem;padding-top:1.5rem;border-top:1px solid rgba(239,68,68,.2)}.btn-danger-outline{background:none;border:1.5px solid #ef4444;color:#ef4444;padding:.45rem 1.2rem;border-radius:8px;font-size:.82rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-danger-outline:hover{background:#ef4444;color:#fff}.notes-textarea{width:100%;resize:vertical;min-height:100px;font-family:inherit;font-size:.9rem;line-height:1.6;box-sizing:border-box;color:var(--clr-text-primary)}.notes-textarea:focus{outline:none;border-color:var(--clr-brand-secondary);box-shadow:0 0 0 3px #0ea5e91f}#notes-save-indicator{font-size:.78rem;font-weight:600;color:var(--clr-brand-accent);margin-left:auto;padding:.15rem .5rem;transition:opacity .3s}#coverage-gauge-container{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap}#coverage-gauge-svg svg{filter:drop-shadow(0 2px 8px rgba(0,0,0,.08))}#coverage-gauge-legend{font-size:.82rem;color:var(--clr-text-secondary);line-height:1.7}#coverage-gauge-legend div+div{margin-top:.1rem}#load-profile-chart-container{margin-top:1rem;padding:.5rem 0 0}#load-profile-chart-container svg{overflow:visible}.pro-input-field.input-invalid{border-color:#ef4444!important;background:#ef44440d!important;box-shadow:0 0 0 3px #ef44441f!important}.pro-input-field.input-warning{border-color:#f59e0b!important;background:#f59e0b0d!important;box-shadow:0 0 0 3px #f59e0b1f!important}.welcome-banner{display:flex;align-items:center;justify-content:space-between;gap:1rem;background:linear-gradient(135deg,#0ea5e91f,#f59e0b14);border:1px solid rgba(14,165,233,.25);border-radius:14px;padding:1rem 1.25rem;margin-bottom:1rem;animation:slideDown .35s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.welcome-banner-inner{display:flex;align-items:center;gap:.85rem;flex:1}.welcome-banner-icon{font-size:1.8rem;flex-shrink:0}.welcome-banner-inner strong{display:block;font-size:1rem;color:var(--clr-text-primary);margin-bottom:.15rem}.welcome-banner-inner span{font-size:.85rem;color:var(--clr-text-muted)}.welcome-banner-close{background:none;border:none;cursor:pointer;font-size:1rem;color:var(--clr-text-muted);padding:.25rem .4rem;border-radius:6px;transition:background .2s;flex-shrink:0}.welcome-banner-close:hover{background:#0000000f;color:var(--clr-text-primary)}.continue-learning-section{padding:0 2.5rem;margin-bottom:.5rem}.continue-card{display:flex;align-items:center;justify-content:space-between;padding:1.5rem 2rem;border-radius:20px;gap:1.5rem;background:linear-gradient(135deg,#f59e0b0f,#0ea5e90f);border:1px solid var(--glass-border);animation:slideDown .35s ease}.continue-card-left{display:flex;align-items:center;gap:1rem;flex:1}.continue-card-icon{font-size:2.5rem}.continue-card-label{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--clr-text-muted)}.continue-card-title{font-size:1.25rem;font-weight:800;margin:.15rem 0 .35rem}.continue-card-meta{display:flex;align-items:center;gap:.5rem;font-size:.78rem}.continue-card-time{color:var(--clr-text-muted)}.continue-card-progress{color:var(--clr-brand-accent);font-weight:600}.continue-card-desc{font-size:.85rem;color:var(--clr-text-muted);margin-top:.25rem}.continue-card-right{display:flex;align-items:center;gap:1rem;flex-shrink:0}.continue-card-pct-ring{width:56px;height:56px;position:relative}.continue-progress-ring{width:100%;height:100%;transform:rotate(-90deg)}.continue-pct-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:.75rem;font-weight:800;color:var(--clr-brand-primary)}.continue-btn{white-space:nowrap}.weekly-streak-badge{display:inline-block;margin-top:.5rem;font-size:.75rem;font-weight:600;color:var(--clr-brand-accent);background:#10b98114;padding:.25rem .75rem;border-radius:50px}.suggested-lessons-row{display:flex;align-items:center;gap:.6rem;margin-top:.75rem;flex-wrap:wrap}.suggested-label{font-size:.75rem;font-weight:700;color:var(--clr-text-muted)}.suggested-lesson-card{display:flex;align-items:center;gap:.4rem;padding:.4rem .75rem;border-radius:12px;cursor:pointer;transition:all .2s;border:1px solid var(--glass-border);background:var(--glass-bg)}.suggested-lesson-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-premium)}.suggested-icon{font-size:1rem}.suggested-title{font-size:.78rem;font-weight:600}@media(max-width:768px){.continue-learning-section{padding:0 1rem}.continue-card{flex-direction:column;text-align:center;padding:1.25rem}.continue-card-left{flex-direction:column}.continue-card-meta,.suggested-lessons-row{justify-content:center}}.last-saved-display{font-size:.78rem;color:var(--clr-text-muted);font-weight:500;white-space:nowrap}.category-filter-bar{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.85rem}.category-chip{padding:.3rem .75rem;border-radius:50px;border:1px solid var(--glass-border);background:transparent;font-size:.8rem;font-weight:600;color:var(--clr-text-secondary);cursor:pointer;transition:all .18s ease}.category-chip:hover{background:#0ea5e914;border-color:var(--clr-brand-secondary);color:var(--clr-brand-secondary)}.category-chip.active{font-weight:700}.category-badge{display:inline-block;font-size:.72rem;font-weight:700;padding:.15rem .55rem;border-radius:50px;white-space:nowrap}.bom-table{width:100%;border-collapse:collapse;font-size:.85rem}.bom-table th{background:var(--clr-surface-light);color:var(--clr-text-secondary);font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:.5rem .75rem;text-align:left;border-bottom:2px solid var(--glass-border)}.bom-table td{padding:.55rem .75rem;border-bottom:1px solid var(--glass-border);color:var(--clr-text-primary);vertical-align:middle}.bom-table tr:last-child td{border-bottom:none}.bom-table tr:hover td{background:#0ea5e90a}.bom-table td:nth-child(2){color:var(--clr-text-muted);font-size:.8rem}.walkthrough-overlay{position:fixed;inset:0;background:#0000008c;z-index:9000;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn .25s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.walkthrough-card{max-width:460px;width:90%;padding:2.5rem 2rem 2rem;border-radius:24px;text-align:center;animation:popIn .3s cubic-bezier(.34,1.56,.64,1)}@keyframes popIn{0%{opacity:0;transform:scale(.88) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.walkthrough-icon{font-size:3rem;margin-bottom:.75rem;display:block}.walkthrough-card h3{font-size:1.3rem;font-weight:800;margin-bottom:.75rem;color:var(--clr-text-primary)}.walkthrough-card p{font-size:.95rem;color:var(--clr-text-muted);line-height:1.65;margin-bottom:1.75rem}.walkthrough-step-dots{display:flex;justify-content:center;gap:.4rem;margin-bottom:1.25rem}.wt-dot{width:8px;height:8px;border-radius:50%;background:var(--glass-border);transition:background .2s,transform .2s}.wt-dot.active{background:var(--clr-brand-secondary);transform:scale(1.35)}.walkthrough-actions{display:flex;gap:.75rem;justify-content:center}.walkthrough-actions .btn{min-width:110px}.map-modal-overlay{position:fixed;inset:0;background:#0000008c;z-index:8000;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn .2s ease}.map-modal-panel{width:min(700px,94vw);border-radius:20px;padding:1.5rem;display:flex;flex-direction:column;gap:1rem;max-height:92vh;overflow-y:auto}.map-modal-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.map-status-bar{font-size:.85rem;color:var(--clr-text-muted);padding:.6rem .9rem;background:var(--clr-surface-light);border-radius:8px;min-height:2.2rem;display:flex;align-items:center}.leaflet-popup{z-index:8100!important}.leaflet-container{font-family:inherit}.monte-carlo-panel .panel-card-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem}.monte-carlo-panel table th{background:var(--clr-bg-surface, #1e293b);color:var(--clr-text-muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;padding:.4rem .6rem;border-bottom:1px solid var(--glass-border)}.monte-carlo-panel table td{padding:.4rem .6rem;font-size:.85rem;border-bottom:1px solid var(--glass-border)}.last-saved-display{font-size:.78rem;color:var(--clr-text-muted)}.share-page-layout{min-height:100vh;background:var(--clr-bg);display:flex;flex-direction:column}.share-header{position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:.9rem 5%;border-bottom:1px solid var(--glass-border)}.share-main{max-width:1100px;margin:0 auto;padding:2rem 5% 4rem;width:100%}.share-hero{display:flex;flex-wrap:wrap;gap:1.5rem;align-items:flex-start;justify-content:space-between;padding:2rem 2.5rem;border-radius:20px;margin-bottom:1.75rem}.share-hero-kpis{display:flex;flex-wrap:wrap;gap:.75rem}.share-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}@media(max-width:700px){.share-grid{grid-template-columns:1fr}.share-grid [style*="span 2"]{grid-column:span 1!important}}.share-card{padding:1.75rem;border-radius:16px}.share-table{width:100%;border-collapse:collapse;font-size:.88rem}.share-table td{padding:.5rem .5rem .5rem 0;border-bottom:1px solid var(--glass-border);vertical-align:middle}.share-table tr:last-child td{border-bottom:none}.share-table-key{color:var(--clr-text-muted);font-weight:600;width:44%;font-size:.82rem}.share-table-single .share-table-key{width:55%}.learn-hub-container{display:flex;height:calc(100vh - 62px);overflow:hidden}.learn-sidebar{width:300px;flex-shrink:0;overflow-y:auto;padding:1rem 1rem 1rem 1.1rem;background:#f8fafc;border-right:1px solid #F1F5F9;display:flex;flex-direction:column;gap:0;border-radius:0}.learn-sidebar-title{font-size:1rem;font-weight:800;color:var(--clr-text-main);margin:0 0 .5rem}.learn-sidebar-sub{font-size:.72rem;color:var(--clr-text-muted);margin:0 0 .6rem}.learn-lesson-list{display:flex;flex-direction:column;gap:.15rem;flex:1;overflow-y:auto}.learn-lesson-item{display:flex;align-items:center;gap:.4rem;padding:.38rem .55rem;border:1.5px solid transparent;border-radius:8px;cursor:pointer;background:transparent;color:var(--clr-text-muted);font-size:.78rem;text-align:left;transition:all .15s;width:100%}.learn-lesson-item:hover{background:#f1f5f9;border-color:#cbd5e1;color:var(--clr-text-main)}.learn-lesson-item.active{background:#f59e0b1f;border-color:#f59e0b59;color:#fbbf24;font-weight:600}.learn-lesson-icon{font-size:.85rem;flex-shrink:0;width:1.1rem;text-align:center}.learn-lesson-label{flex:1;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.learn-done-badge{font-size:.58rem;background:var(--clr-brand-accent);color:#fff;border-radius:50%;width:15px;height:15px;display:flex;align-items:center;justify-content:center;font-weight:700;flex-shrink:0}.learn-progress-wrap{margin-top:.75rem;padding-top:.75rem;border-top:1px solid #F1F5F9}.learn-progress-bar-bg{background:#e2e8f0;border-radius:10px;height:5px;overflow:hidden}.learn-progress-bar-fill{height:100%;background:var(--clr-brand-accent);border-radius:10px;transition:width .5s ease}.learn-progress-label{font-size:.68rem;color:#94a3b8;margin-top:.25rem;display:block}.learn-content-area{flex:1;overflow-y:auto;padding:1.5rem 2rem;min-width:0;background:transparent}.lesson-rail{width:var(--lesson-rail-w, 230px);flex-shrink:0;overflow-y:auto;padding:1rem .75rem;background:var(--surface);border-inline-end:1px solid var(--border);display:flex;flex-direction:column;gap:.5rem;transition:width .18s ease}.lesson-rail.dragging{transition:none}.lesson-rail.collapsed{width:44px;padding:1rem .3rem;cursor:pointer}.lesson-rail.collapsed .lesson-rail-list,.lesson-rail.collapsed .lesson-rail-kicker,.lesson-rail.collapsed .lesson-rail-count{display:none}.lesson-rail.collapsed .lesson-rail-head{justify-content:center;padding:0 0 .55rem}.lesson-rail-head{display:flex;align-items:center;justify-content:space-between;gap:.35rem;padding:0 .4rem .55rem;border-bottom:1px solid var(--border)}.lesson-rail-toggle{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;flex-shrink:0;border:none;border-radius:var(--r-sm, 6px);background:transparent;color:var(--text-muted);cursor:pointer;padding:0;transition:background .15s,color .15s}.lesson-rail-toggle:hover{background:var(--surface-2);color:var(--text)}.lesson-rail.collapsed .lesson-rail-toggle svg{transform:rotate(180deg)}.learn-hub-container[dir=rtl] .lesson-rail-toggle svg{transform:rotate(180deg)}.learn-hub-container[dir=rtl] .lesson-rail.collapsed .lesson-rail-toggle svg{transform:none}.lesson-rail-resizer{flex:0 0 5px;align-self:stretch;cursor:col-resize;background:transparent;transition:background .15s ease}.lesson-rail-resizer:hover,.lesson-rail-resizer:active{background:color-mix(in srgb,var(--accent) 35%,transparent)}.lesson-rail-kicker{font-family:var(--font-mono);font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.09em;color:var(--text-muted)}.lesson-rail-count{font-family:var(--font-mono);font-size:.66rem;font-weight:700;color:var(--text-faint)}.lesson-rail-list{display:flex;flex-direction:column;gap:.1rem;overflow-y:auto}.lesson-rail .lesson-rail-item{display:flex;align-items:center;gap:.55rem;width:100%;padding:.4rem .5rem;border:1px solid transparent;border-radius:var(--r-md);background:transparent;color:var(--text-muted);font-size:.78rem;text-align:start;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.lesson-rail .lesson-rail-item:hover:not(:disabled){background:var(--surface-2);color:var(--text)}.lesson-rail .lesson-rail-item.active{background:color-mix(in srgb,var(--accent) 13%,var(--surface));border-color:color-mix(in srgb,var(--accent) 32%,transparent);color:var(--accent);font-weight:600}.lesson-rail .lesson-rail-item.lesson-locked,.lesson-rail .lesson-rail-item:disabled{opacity:.5;cursor:not-allowed}.lesson-rail-num{font-family:var(--font-mono);font-size:.66rem;font-weight:700;min-width:1.45rem;text-align:center;flex-shrink:0;color:inherit}.lesson-rail-label{flex:1;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lesson-rail-lock{font-size:.7rem;flex-shrink:0;opacity:.7;display:none}.lesson-rail-item.lesson-locked .lesson-rail-lock{display:inline}.lesson-rail .learn-done-badge{display:none}@media(max-width:860px){.lesson-rail,.lesson-rail-resizer{display:none}}.lesson-scroll-progress{position:sticky;top:0;left:0;right:0;z-index:10;height:3px;background:transparent;border-radius:0 0 2px 2px}.lesson-scroll-progress-fill{height:100%;width:0%;background:var(--clr-brand-primary);border-radius:0 2px 2px 0;transition:width .08s linear}@keyframes shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}.skeleton-block{background:linear-gradient(90deg,var(--surface-2) 25%,var(--border) 50%,var(--surface-2) 75%);background-size:800px 100%;animation:shimmer 1.2s infinite linear;border-radius:var(--r-md)}.skeleton-lesson{padding:2rem}.skeleton-hero{height:48px;width:60%;margin-bottom:1.2rem}.skeleton-text{height:14px;margin-bottom:.6rem;border-radius:6px}.skeleton-text.w90{width:90%}.skeleton-text.w75{width:75%}.skeleton-text.w60{width:60%}.skeleton-widget{height:140px;margin:1rem 0}.skeleton-quiz{height:80px;margin-top:1.2rem}.lesson-mini-toc{position:sticky;top:1rem;float:right;width:120px;margin-left:1rem;margin-bottom:1rem;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:12px;padding:.6rem;z-index:5;box-shadow:0 4px 12px #0000000a}.lesson-mini-toc-title{font-size:.6rem;font-weight:700;text-transform:uppercase;color:var(--clr-text-muted);letter-spacing:.05em;margin-bottom:.4rem}.lesson-toc-link{display:block;font-size:.7rem;padding:.25rem .4rem;border-radius:6px;color:var(--clr-text-muted);cursor:pointer;border:none;background:none;width:100%;text-align:left;transition:all .15s;font-weight:500}.lesson-toc-link:hover{color:var(--clr-brand-primary);background:#f59e0b0f}.lesson-toc-link.active{color:var(--clr-brand-primary);font-weight:700;background:#f59e0b1a}@media(max-width:1024px){.lesson-mini-toc{display:none}}.lesson-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:2rem;max-width:780px;margin:0 auto}.lesson-hero{display:flex;align-items:flex-start;gap:1rem;margin-bottom:1.4rem}.lesson-hero-icon{font-size:2.6rem;line-height:1}.lesson-hero-title{font-size:1.45rem;font-weight:800;margin:0 0 .35rem;color:var(--text)}.lesson-difficulty{display:inline-block;font-family:var(--font-mono);font-size:.62rem;padding:.2rem .6rem;border-radius:var(--r-pill);font-weight:700;text-transform:uppercase;letter-spacing:.08em}.lesson-difficulty.beginner{background:color-mix(in srgb,var(--success) 14%,var(--surface));color:var(--success);border:1px solid color-mix(in srgb,var(--success) 30%,transparent)}.lesson-difficulty.intermediate{background:color-mix(in srgb,var(--accent) 14%,var(--surface));color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 30%,transparent)}.lesson-difficulty.advanced{background:color-mix(in srgb,var(--danger) 14%,var(--surface));color:var(--danger);border:1px solid color-mix(in srgb,var(--danger) 30%,transparent)}.lesson-theory{font-size:.94rem;line-height:1.75;margin-bottom:1rem;color:var(--text)}.lesson-formula-box{background:color-mix(in srgb,var(--info) 7%,var(--surface));border:1px solid color-mix(in srgb,var(--info) 24%,var(--border));border-radius:var(--r-lg);padding:.85rem 1.25rem;font-family:var(--font-mono);font-size:1.05rem;margin:1rem 0;text-align:center;color:var(--text);font-weight:700}.lesson-widget{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-lg);padding:1.4rem;margin:1.2rem 0}.lesson-widget h4{font-family:var(--font-mono);font-size:.62rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.09em;margin-bottom:1rem}.learn-slider-row{display:flex;align-items:center;gap:.85rem;margin-bottom:.7rem}.learn-slider-label{font-size:.85rem;font-weight:600;min-width:85px;color:var(--text-muted)}.learn-slider{flex:1;accent-color:var(--accent);cursor:pointer}.learn-slider-val{font-family:var(--font-mono);font-size:.88rem;font-weight:700;color:var(--accent);min-width:70px;text-align:right}.learn-result-display{background:color-mix(in srgb,var(--accent) 9%,var(--surface));border:1px solid color-mix(in srgb,var(--accent) 24%,var(--border));border-radius:var(--r-md);padding:.7rem 1rem;font-size:.95rem;font-weight:700;text-align:center;color:var(--text);margin-top:.7rem}.lesson-pv-callout{background:color-mix(in srgb,var(--success) 7%,var(--surface));border-inline-start:3px solid var(--success);border-radius:0 var(--r-lg) var(--r-lg) 0;padding:.7rem 1rem;margin:1.1rem 0;font-size:.87rem;line-height:1.65;color:var(--text)}.lesson-pv-callout strong{color:var(--success)}.lesson-quiz{margin-top:1.4rem;border-top:1px solid var(--border);padding-top:1.4rem}.lesson-quiz h4{font-family:var(--font-mono);font-size:.62rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.09em;margin-bottom:1rem}.quiz-block{margin-bottom:1.1rem}.quiz-question{font-weight:600;font-size:.93rem;margin-bottom:.6rem;color:var(--text)}.quiz-options{display:flex;flex-direction:column;gap:.35rem}.quiz-opt{padding:.5rem .95rem;border:1px solid var(--border);border-radius:var(--r-md);cursor:pointer;font-size:.86rem;transition:all .2s;background:var(--surface);color:var(--text);text-align:start}.quiz-opt:hover:not(:disabled){border-color:var(--accent);background:color-mix(in srgb,var(--accent) 7%,var(--surface))}.quiz-opt.correct{border-color:var(--success);background:color-mix(in srgb,var(--success) 10%,var(--surface));color:var(--success);font-weight:700}.quiz-opt.wrong{border-color:var(--danger);background:color-mix(in srgb,var(--danger) 9%,var(--surface));color:var(--danger)}.btn-mark-done{display:none;margin-top:1.1rem;padding:.7rem 1.8rem;background:var(--accent);color:var(--on-accent);border:none;border-radius:var(--r-md);cursor:pointer;font-weight:700;font-size:.93rem;transition:opacity .2s}.btn-mark-done.show{display:inline-block}.btn-mark-done:disabled{opacity:.6;cursor:default}.btn-mark-done.completed{background:color-mix(in srgb,var(--success) 14%,var(--surface));color:var(--success);border:1px solid color-mix(in srgb,var(--success) 35%,transparent)}.lesson-nav-row{display:flex;justify-content:space-between;align-items:center;margin-top:1.6rem;padding-top:1.2rem;border-top:1px solid var(--border)}.lesson-feedback{position:relative;margin-top:2rem;padding:1.7rem 1.5rem 1.5rem;border:1px solid var(--border);border-radius:var(--r-lg);background:radial-gradient(125% 100% at 50% 0%,rgba(245,158,11,.12) 0%,rgba(52,211,153,.07) 45%,transparent 78%),var(--surface);box-shadow:var(--shadow-premium, 0 10px 30px rgba(0, 0, 0, .07));overflow:hidden;text-align:center}.lesson-feedback:before{content:"";position:absolute;inset:0 0 auto;height:3px;background:var(--grad-brand)}.lf-prompt{margin:0 0 1.1rem;font-weight:800;font-size:1.06rem;letter-spacing:-.01em;color:var(--text)}.lf-scale{display:flex;align-items:center;justify-content:center;gap:.55rem;flex-wrap:wrap}.lf-scale-end{font-size:.7rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:var(--clr-text-muted)}.lf-pill{width:2.7rem;height:2.7rem;border-radius:var(--r-pill);border:1px solid var(--border);background:var(--surface);color:var(--text);font-weight:800;font-size:.95rem;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease,background .15s ease,color .15s ease}.lf-pill:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 4px 12px #f59e0b33}.lf-pill.selected{background:var(--grad-solar);color:#fff;border-color:transparent;box-shadow:0 4px 14px #f59e0b61;transform:translateY(-1px)}.lf-extra{margin:1.2rem auto 0;max-width:520px;display:flex;flex-direction:column;gap:.75rem;align-items:stretch}.lf-comment{width:100%;padding:.8rem .95rem;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);color:var(--text);font:inherit;line-height:1.5;resize:vertical;transition:border-color .15s ease,box-shadow .15s ease}.lf-comment::placeholder{color:var(--clr-text-muted)}.lf-comment:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #f59e0b2e}.lf-submit{align-self:center;padding:.65rem 1.9rem;border:none;border-radius:var(--r-pill);background:var(--grad-solar);color:#fff;font-weight:700;font-size:.92rem;cursor:pointer;box-shadow:0 4px 14px #f59e0b52;transition:transform .15s ease,box-shadow .15s ease,opacity .15s ease}.lf-submit:hover{transform:translateY(-2px);box-shadow:0 6px 20px #f59e0b6b}.lf-submit:active{transform:translateY(0)}.lf-submit:disabled{opacity:.6;cursor:default;transform:none;box-shadow:none}.lf-status{margin:.9rem 0 0;min-height:1em;font-size:.85rem;font-weight:600;color:var(--success)}.lesson-feedback.lf-done{border-color:color-mix(in srgb,var(--success) 38%,var(--border))}.learn-2col{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.learn-svg-box{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-lg);padding:.75rem;display:flex;align-items:center;justify-content:center;min-height:130px}.learn-toggle-group{display:flex;border-radius:10px;overflow:hidden;border:1px solid var(--glass-border);width:fit-content;margin-bottom:.9rem}.learn-toggle-btn{padding:.4rem 1rem;font-size:.83rem;font-weight:600;cursor:pointer;border:none;background:transparent;color:var(--clr-text-muted);transition:all .2s}.learn-toggle-btn.active{background:var(--clr-brand-primary);color:#fff}@keyframes sineScroll{0%{transform:translate(0)}to{transform:translate(-80px)}}.sine-scrolling{animation:sineScroll 1s linear infinite}.bill-tariff-selector{display:flex;gap:.45rem;margin-bottom:.9rem;flex-wrap:wrap}.bill-tariff-btn{padding:.3rem .85rem;border:1px solid var(--glass-border);border-radius:8px;cursor:pointer;font-size:.8rem;font-weight:600;background:transparent;color:var(--clr-text-muted);transition:all .2s}.bill-tariff-btn.active{background:#0ea5e91f;border-color:var(--clr-brand-secondary);color:var(--clr-brand-secondary)}.bill-result-grid{display:grid;grid-template-columns:1fr 1fr;gap:.7rem;margin-top:.7rem}.bill-kpi{background:#f59e0b12;border-radius:10px;padding:.7rem 1rem;text-align:center}.bill-kpi-val{font-size:1.25rem;font-weight:800;color:var(--clr-brand-primary)}.bill-kpi-label{font-size:.72rem;color:var(--clr-text-muted);margin-top:.15rem}.pvsys-block{padding:.65rem .9rem;border-radius:12px;border:2px solid transparent;cursor:pointer;transition:all .2s;text-align:center;font-weight:700;font-size:.85rem}.pvsys-block:hover,.pvsys-block.active{border-color:var(--clr-brand-primary);box-shadow:0 0 0 3px #f59e0b1f}.pvsys-arrow{display:flex;align-items:center;justify-content:center;font-size:1.1rem;color:var(--clr-text-muted)}@media(max-width:860px){.learn-hub-container{flex-direction:column;height:auto}.learn-sidebar{width:100%;max-height:50vh;border-right:none;border-bottom:1px solid rgba(245,158,11,.12)}.learn-content-area{padding:1rem}.learn-2col{grid-template-columns:1fr}}.learn-filter-bar{display:flex;flex-wrap:wrap;gap:.2rem;margin-bottom:.5rem;padding-bottom:.4rem;border-bottom:1px solid #F1F5F9}.learn-filter-chip{padding:.18rem .5rem;border-radius:50px;border:1px solid #CBD5E1;background:#f8fafc;font-size:.65rem;font-weight:600;color:var(--clr-text-muted);cursor:pointer;transition:all .15s}.learn-filter-chip:hover{background:#f59e0b14;border-color:#f59e0b66;color:#fbbf24}.learn-filter-chip.active{background:var(--grad-solar);color:#fff;border-color:transparent;box-shadow:0 2px 10px #f59e0b4d}.learn-category-group{margin-bottom:.15rem}.learn-category-header{display:flex;align-items:center;gap:.35rem;width:100%;padding:.35rem .5rem;border:none;background:#f8fafc;border-radius:8px;cursor:pointer;font-size:.74rem;font-weight:700;color:var(--clr-text-main);transition:background .15s}.learn-category-header:hover{background:#f1f5f9}.learn-cat-chevron{font-size:.65rem;width:.7rem;text-align:center;color:var(--clr-text-muted);transition:transform .2s}.learn-cat-icon{font-size:.78rem}.learn-cat-label{flex:1;text-align:left}.learn-cat-progress{font-size:.6rem;background:#10b9811f;color:#34d399;padding:.1rem .35rem;border-radius:10px;font-weight:700}.learn-cat-time{font-size:.58rem;color:var(--clr-text-muted);font-weight:500}.learn-category-lessons{padding-left:.2rem}.learn-category-lessons.hidden{display:none}.learn-select{flex:1;min-width:140px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:8px;padding:.38rem .65rem;font-size:.85rem;color:var(--clr-text-main);cursor:pointer;outline:none;transition:border-color .2s}.learn-select:focus{border-color:var(--clr-brand-primary)}.batt-tab-bar{display:flex;gap:.4rem;margin-bottom:.9rem;flex-wrap:wrap}.batt-tab-btn{padding:.38rem 1.1rem;border:1px solid var(--glass-border);border-radius:10px;cursor:pointer;font-size:.84rem;font-weight:600;background:transparent;color:var(--clr-text-muted);transition:all .2s}.batt-tab-btn:hover{background:#0ea5e90f;border-color:#0ea5e94d}.batt-tab-btn.active{background:#0ea5e91f;border-color:var(--clr-brand-secondary);color:var(--clr-brand-secondary)}.batt-spec-row{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem;padding:.42rem 0;border-bottom:1px solid var(--glass-border);font-size:.82rem}.batt-spec-row:last-child{border-bottom:none}.batt-spec-key{color:var(--clr-text-muted);flex-shrink:0}.batt-spec-val{font-weight:700;color:var(--clr-text-main);text-align:right;max-width:58%}.gridtype-comparison-table{width:100%;border-collapse:collapse;font-size:.81rem;margin-top:.75rem}.gridtype-comparison-table th,.gridtype-comparison-table td{padding:.45rem .7rem;border:1px solid var(--glass-border);text-align:center}.gridtype-comparison-table th{background:#f59e0b12;font-weight:700;color:var(--clr-text-muted);font-size:.76rem;text-transform:uppercase;letter-spacing:.04em}.gridtype-comparison-table td:first-child{text-align:left;color:var(--clr-text-muted)}.pf-value-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.6rem;margin-top:.5rem}.pf-kpi{background:#0ea5e90f;border:1px solid var(--glass-border);border-radius:10px;padding:.6rem .5rem;text-align:center}.pf-kpi-val{font-size:1.05rem;font-weight:800;line-height:1.2}.pf-kpi-lbl{font-size:.68rem;color:var(--clr-text-muted);margin-top:.2rem;line-height:1.3}@media(max-width:860px){.pf-value-grid{grid-template-columns:1fr 1fr}.batt-spec-val{max-width:100%}}.lesson-time-badge{font-size:.62rem;color:#94a3b8;margin-left:auto;flex-shrink:0}.learn-search-wrap{margin-bottom:.5rem;position:relative}.learn-search-input{width:100%;padding:.4rem .6rem .4rem 1.8rem;background:#f1f5f9;border:1px solid #CBD5E1;border-radius:10px;color:var(--clr-text-main);font-size:.78rem;box-sizing:border-box;outline:none;transition:border-color .2s}.learn-search-input:focus{border-color:#f59e0b;box-shadow:0 0 0 3px #f59e0b1f}.learn-search-wrap:before{content:"🔍";position:absolute;left:.45rem;top:50%;transform:translateY(-50%);font-size:.7rem;pointer-events:none}.learn-sidebar-actions{display:flex;gap:.25rem;flex-wrap:wrap;margin-bottom:.6rem}.learn-sidebar-action-btn{flex:1;min-width:auto;padding:.3rem .4rem;background:#f8fafc;border:1px solid #CBD5E1;border-radius:7px;color:var(--clr-text-muted);font-size:.7rem;font-weight:600;cursor:pointer;transition:all .15s;white-space:nowrap;text-align:center}.learn-sidebar-action-btn:hover{background:#f59e0b14;border-color:#f59e0b59;color:#fbbf24}.learn-sidebar-action-btn.active{background:#f59e0b1f;border-color:#f59e0b59;color:#fbbf24;font-weight:700}.learn-section-label{font-size:.68rem;font-weight:700;color:var(--clr-text-muted);text-transform:uppercase;letter-spacing:.04em;margin:.75rem 0 .3rem}.learn-bookmarks-section{display:flex;flex-direction:column;gap:.2rem;margin-bottom:.5rem}.btn-bookmark-lesson{background:none;border:none;cursor:pointer;font-size:.9rem;padding:.15rem .35rem;border-radius:6px;transition:transform .15s;color:var(--clr-text-muted);position:absolute;top:.5rem;right:.5rem;z-index:2}.btn-bookmark-lesson:hover{transform:scale(1.15)}.btn-bookmark-lesson.bookmarked{color:#f59e0b}.learn-achievements-bar{margin-top:auto;padding-top:.6rem;border-top:1px solid #F1F5F9}.learn-achievements-bar .learn-section-label{margin-top:0}.achievements-list{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.3rem}.achievement-badge{font-size:.72rem;padding:.25rem .5rem;background:#f59e0b1a;border:1px solid rgba(245,158,11,.3);border-radius:20px;color:var(--clr-brand-primary);font-weight:600;white-space:nowrap}.lesson-locked{opacity:.4;pointer-events:none;cursor:not-allowed}.lesson-locked .learn-lesson-label:after{content:" 🔒";font-size:.75rem}.lp-minimal{min-height:100vh;display:flex;flex-direction:column}.lp-minimal .navbar{position:sticky;top:0}.lp-main{flex:1;position:relative;z-index:1;width:100%;max-width:1120px;margin:0 auto;padding:0 1.25rem}.lp-hero{text-align:center;padding:clamp(3rem,8vw,6rem) 0 clamp(2rem,5vw,3.5rem);max-width:760px;margin:0 auto}.lp-eyebrow{display:inline-block;font-size:.82rem;font-weight:600;color:#b45309;background:#f59e0b1f;border:1px solid rgba(245,158,11,.25);padding:.4rem .9rem;border-radius:999px;margin-bottom:1.4rem}.lp-hero-title{font-size:clamp(2.1rem,6vw,3.4rem);line-height:1.1;letter-spacing:-.02em;font-weight:800;margin:0 0 1rem;color:var(--clr-text-main)}.lp-hero-sub{font-size:clamp(1rem,2.5vw,1.18rem);line-height:1.6;color:var(--clr-text-muted);margin:0 auto 2rem;max-width:620px}.lp-hero-actions{display:flex;gap:.85rem;justify-content:center;flex-wrap:wrap}.lp-hero-note{margin:1.4rem 0 0;font-size:.85rem;color:var(--clr-text-muted)}.lp-stats{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem;padding:0 0 clamp(2.5rem,6vw,4rem)}.lp-stat{flex:1 1 160px;max-width:220px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:16px;padding:1.4rem 1rem;text-align:center;box-shadow:var(--shadow-premium)}.lp-stat-num{display:block;font-size:2.1rem;font-weight:800;line-height:1;background:var(--grad-solar);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.lp-stat-lbl{display:block;margin-top:.4rem;font-size:.85rem;color:var(--clr-text-muted)}.lp-section{padding:clamp(2.5rem,6vw,4rem) 0}.lp-section-title{text-align:center;font-size:clamp(1.5rem,4vw,2.1rem);font-weight:600;letter-spacing:-.02em;margin:0 0 .6rem;color:var(--clr-text-main)}.lp-section-sub{text-align:center;font-size:1rem;color:var(--clr-text-muted);max-width:560px;margin:0 auto 2.4rem;line-height:1.6}.lp-features{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.1rem}.lp-feature-card{padding:1.5rem 1.4rem;text-align:start;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);transition:border-color .2s ease}.lp-feature-card:hover{border-color:var(--border-strong)}.lp-feature-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;border-radius:12px;margin-bottom:1rem;background:#f59e0b1f}.lp-feature-card:nth-child(3n+2) .lp-feature-icon{background:#0ea5e91f}.lp-feature-card:nth-child(3n) .lp-feature-icon{background:#10b9811f}.lp-feature-title{font-size:1.1rem;font-weight:700;margin:0 0 .5rem;color:var(--clr-text-main)}.lp-feature-desc{font-size:.92rem;line-height:1.6;color:var(--clr-text-muted);margin:0}.lp-paths{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.2rem}.lp-path-card{border-radius:18px;padding:1.8rem 1.6rem;border-top:4px solid var(--clr-brand-primary);transition:transform .25s ease,box-shadow .25s ease}.lp-path-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-premium)}.lp-path-com{border-top-color:var(--clr-brand-secondary)}.lp-path-off{border-top-color:var(--clr-brand-accent)}.lp-path-icon{font-size:1.9rem;margin-bottom:.8rem}.lp-path-title{font-size:1.15rem;font-weight:700;margin:0 0 .5rem;color:var(--clr-text-main)}.lp-path-desc{font-size:.92rem;line-height:1.6;color:var(--clr-text-muted);margin:0}.lp-cta-wrap{padding:clamp(2rem,5vw,3.5rem) 0}.lp-cta{border-radius:var(--r-lg);padding:clamp(2.2rem,5vw,3.2rem);text-align:center;background:var(--surface);border:1px solid var(--border);box-shadow:none}.lp-cta-title{font-size:clamp(1.5rem,4vw,2.1rem);font-weight:600;margin:0 0 .7rem;color:var(--clr-text-main)}.lp-cta-sub{font-size:1.02rem;color:var(--clr-text-muted);margin:0 auto 1.8rem;max-width:480px;line-height:1.6}.lp-disclaimer{max-width:720px;margin:0 auto;text-align:center;font-size:.8rem;line-height:1.55;color:var(--clr-text-muted);border-top:1px solid rgba(100,116,139,.18);padding:2rem 1rem .5rem}@media(max-width:600px){.lp-feature-card,.lp-path-card{padding:1.3rem 1.2rem}.lp-stat{flex-basis:130px;padding:1.1rem .6rem}.lp-stat-num{font-size:1.7rem}}.lp-min-footer{display:flex;justify-content:center;gap:1.5rem;padding:1.5rem;font-size:.85rem;color:var(--clr-text-muted, #64748b);position:relative;z-index:1}.lp-min-footer a{color:inherit;text-decoration:none}.lp-min-footer a:hover{text-decoration:underline}.lang-switch{display:inline-flex;gap:3px;padding:3px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md);flex:0 0 auto}.lang-opt{min-width:36px;padding:5px 10px;border:none;background:transparent;border-radius:7px;font-size:.82rem;font-weight:700;line-height:1;color:var(--clr-text-muted, #64748b);cursor:pointer;transition:background .15s,color .15s}.lang-opt:hover{color:var(--clr-text-main, #1e293b)}.lang-opt.is-active{background:var(--accent);color:var(--on-accent)}.theme-switch{display:inline-flex;gap:3px;padding:3px;background:var(--clr-surface-light, #f1f5f9);border:1px solid var(--clr-border, #e2e8f0);border-radius:10px;flex:0 0 auto}.theme-opt{display:inline-flex;align-items:center;justify-content:center;width:30px;height:28px;padding:0;border:none;background:transparent;border-radius:7px;color:var(--clr-text-muted, #64748b);cursor:pointer;transition:background .2s ease-in-out,color .2s ease-in-out}.theme-opt:hover{color:var(--clr-text-main, #1e293b)}.theme-opt.is-active{background:var(--accent, #F59E0B);color:var(--on-accent, #0B0B0C)}.auth-float-controls{position:absolute;top:1.25rem;right:1.25rem;left:auto;z-index:5;display:flex;align-items:center;gap:8px;direction:ltr}.lang-switch-float{position:absolute;top:1.25rem;inset-inline-end:1.25rem;z-index:5;background:#ffffffeb;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:0 4px 14px #0f172a1f}[dir=rtl] .lp-minimal,[dir=rtl] .login-wrapper,[dir=rtl] .dashboard-layout{font-family:var(--font-ar),"Inter","Segoe UI",Tahoma,"Noto Sans Arabic","Geeza Pro","Arial",sans-serif}[dir=rtl] select.pro-input-field{background-position:left 1.2rem center;padding-right:1rem;padding-left:3rem}[dir=rtl] .login-back-link svg{transform:scaleX(-1)}.learn-lang-toggle{display:flex;gap:4px;padding:5px;margin:0 0 .6rem;background:var(--clr-surface-light, #f1f5f9);border-radius:10px}.learn-lang-opt{flex:1;padding:6px 10px;border:none;background:transparent;border-radius:7px;font-size:.85rem;font-weight:600;color:var(--clr-text-muted, #64748b);cursor:pointer;transition:background .15s,color .15s}.learn-lang-opt:hover{color:var(--clr-text-main, #1e293b)}.learn-lang-opt.active{background:var(--clr-brand-secondary, #0EA5E9);color:#fff}.learn-hub-container[dir=rtl],.learn-hub-container[dir=rtl] .lesson-theory,.learn-hub-container[dir=rtl] .lesson-key-takeaways,.learn-hub-container[dir=rtl] .quiz-question{text-align:right}.lesson-notes-wrap{margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--glass-border)}.lesson-notes-label{font-size:.8rem;font-weight:600;color:var(--clr-text-muted);margin-bottom:.4rem;display:flex;align-items:center;gap:.5rem}.lesson-notes-area{width:100%;min-height:90px;padding:.75rem 1rem;background:#f8fafc;border:1px solid var(--glass-border);border-radius:10px;color:var(--clr-text-primary);font-size:.88rem;font-family:inherit;resize:vertical;box-sizing:border-box;outline:none;transition:border-color .2s}.lesson-notes-area:focus{border-color:var(--clr-brand-primary)}.notes-saved-indicator{font-size:.72rem;color:var(--clr-brand-accent);margin-top:.3rem;display:block;min-height:1rem}.learn-modal-overlay{position:fixed;inset:0;background:#000000bf;z-index:9999;display:flex;align-items:center;justify-content:center;padding:1.5rem;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.learn-modal-box{background:#0d1117eb;backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);border:1px solid #CBD5E1;border-radius:16px;padding:1.5rem;max-width:680px;width:100%;max-height:80vh;overflow-y:auto;position:relative;box-shadow:0 20px 60px #0f172a1f}.learn-modal-close{position:absolute;top:1rem;right:1rem;background:none;border:none;font-size:1.4rem;cursor:pointer;color:var(--clr-text-muted);line-height:1;padding:.25rem;border-radius:6px;transition:color .2s}.learn-modal-close:hover{color:var(--clr-text-primary)}.learn-modal-title{font-size:1.3rem;font-weight:700;margin:0 0 1.25rem;color:var(--clr-brand-primary)}.glossary-search-wrap{margin-bottom:1rem}.glossary-search-input{width:100%;padding:.5rem .75rem;background:#f1f5f9;border:1px solid var(--glass-border);border-radius:10px;color:var(--clr-text-primary);font-size:.88rem;box-sizing:border-box;outline:none}.glossary-list{display:flex;flex-direction:column;gap:.5rem}.glossary-term{padding:.65rem .9rem;border:1px solid var(--glass-border);border-radius:10px;font-size:.88rem;background:#f8fafc}.glossary-term strong{color:var(--clr-brand-secondary);display:block;margin-bottom:.2rem;font-size:.9rem}.cheat-sheet-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.75rem}.cheat-sheet-card{background:#0ea5e90f;border:1px solid rgba(14,165,233,.2);border-radius:12px;padding:.75rem 1rem}.cheat-sheet-card .formula{font-family:monospace;font-size:1rem;font-weight:700;color:var(--clr-brand-secondary);display:block;margin-bottom:.25rem}.cheat-sheet-card .formula-desc{font-size:.75rem;color:var(--clr-text-muted)}.cert-modal{position:relative;max-width:760px;padding:1rem;text-align:center;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:var(--r-lg);backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none;max-height:calc(100vh - 2rem);overflow-y:auto}.cert-toolbar{display:flex;justify-content:flex-end;margin-bottom:.6rem}.cert-lang-toggle{display:inline-flex;gap:3px;padding:3px;background:var(--surface-2);border:1px solid var(--border);border-radius:9px}.cert-lang-opt{min-width:34px;padding:4px 10px;border:none;background:transparent;border-radius:6px;font-size:.8rem;font-weight:700;line-height:1;color:var(--text-muted);cursor:pointer;transition:background .15s,color .15s}.cert-lang-opt:hover{color:var(--text)}.cert-lang-opt.active{background:var(--accent);color:var(--on-accent)}.cert-sheet{position:relative;overflow:hidden;background:#fff;color:#0b0b0c;border:1px solid #E8E5DE;border-radius:var(--r-md);box-shadow:inset 0 3px 0 0 var(--accent);padding:clamp(1.75rem,5vw,3rem) clamp(1.5rem,5vw,2.75rem);font-family:var(--font-sans, "Inter", system-ui, sans-serif)}.cert-modal[dir=rtl] .cert-sheet{font-family:var(--font-ar, "Cairo", "Segoe UI", Tahoma, sans-serif)}.cert-watermark{position:absolute;top:50%;left:50%;width:44%;max-width:300px;transform:translate(-50%,-50%);opacity:.06;pointer-events:none;z-index:0}.cert-watermark svg{width:100%;height:auto;display:block}.cert-inner{position:relative;z-index:1}.cert-brand{display:inline-flex;align-items:center;gap:.6rem;margin-bottom:1.4rem}.cert-brand-mark{width:38px;height:38px;flex:0 0 auto}.cert-brand-mark svg{width:100%;height:100%;display:block}.cert-brand-name{font-family:var(--font-sans, "Inter", sans-serif);font-size:1.35rem;font-weight:800;letter-spacing:-.02em;background:var(--grad-brand);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.cert-title{font-family:var(--font-mono);font-size:clamp(.72rem,1.8vw,.85rem);font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:#57534e;margin:0 0 1.4rem;line-height:1.4}.cert-modal[dir=rtl] .cert-title,.cert-modal[dir=rtl] .cert-given,.cert-modal[dir=rtl] .cert-valid{font-family:var(--font-ar, "Cairo", sans-serif);letter-spacing:0;text-transform:none}.cert-awarded,.cert-proof{font-size:clamp(.95rem,2.4vw,1.05rem);color:#57534e;margin:0 auto;max-width:85%;line-height:1.6}.cert-awarded{margin-bottom:.6rem}.cert-proof{margin:1.3rem auto .7rem}.cert-name{font-size:clamp(1.8rem,5.2vw,2.7rem);font-weight:800;letter-spacing:-.01em;color:#0b0b0c;margin:0 auto;max-width:92%;word-break:break-word}.cert-subject{font-size:clamp(1.15rem,3.4vw,1.5rem);font-weight:600;letter-spacing:0;color:#0b0b0c;margin:0 auto;max-width:92%}.cert-modal[dir=rtl] .cert-subject{text-transform:none;letter-spacing:0}.cert-given{font-family:var(--font-mono);font-size:.9rem;color:#57534e;margin:1.9rem 0 0}.cert-valid{font-family:var(--font-mono);font-size:.8rem;color:#57534e;margin:.3rem 0 0}.cert-verify{display:flex;align-items:center;justify-content:center;gap:.85rem;margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid #E8E5DE}.cert-qr{width:78px;height:78px;flex:0 0 auto;background:#fff;padding:4px;border:1px solid #E8E5DE;border-radius:var(--r-md);box-sizing:border-box}.cert-qr svg{width:100%;height:100%;display:block}.cert-qr-empty{width:100%;height:100%;border:1px solid #E8E5DE;border-radius:var(--r-sm)}.cert-verify-text{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:.12rem}.cert-modal[dir=rtl] .cert-verify-text{align-items:flex-end;text-align:right}.cert-verify-label{font-family:var(--font-mono);font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#57534e}.cert-id{font-family:var(--font-mono);font-size:1.05rem;font-weight:700;letter-spacing:.04em;color:#0b0b0c}.cert-verify-caption{font-family:var(--font-sans, "Inter", sans-serif);font-size:.68rem;color:#a8a296}.cert-actions{display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap;margin-top:1.1rem}.cert-btn{padding:.6rem 1.4rem;border-radius:var(--r-md);cursor:pointer;font-weight:700;font-size:.9rem;border:1px solid var(--border);background:var(--surface-2);color:var(--text);font-family:var(--font-sans, "Inter", sans-serif);transition:all .2s}.cert-btn:hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 7%,var(--surface))}.cert-btn-primary{background:var(--accent);color:var(--on-accent);border:none}.cert-btn-primary:hover{filter:brightness(.94)}.cert-card .cert-card-desc{font-size:.9rem;color:var(--clr-text-muted);line-height:1.6;margin:0 0 .9rem}.cert-card-progress{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.cert-card-bar{flex:1;height:8px;background:var(--clr-surface-light, #e2e8f0);border-radius:999px;overflow:hidden}.cert-card-bar-fill{height:100%;background:var(--grad-solar, linear-gradient(90deg, #F59E0B, #FCD34D));border-radius:999px;transition:width .4s ease}.cert-card-frac{font-size:.82rem;font-weight:700;color:var(--clr-text-main);white-space:nowrap}.cert-card-hint{font-size:.82rem;color:var(--clr-text-muted);margin:0 0 .9rem}.cert-card-btn{width:100%}.cert-card-btn.btn-primary{background:var(--accent);color:var(--on-accent);box-shadow:none}.cert-card-btn.btn-primary:hover{background:color-mix(in srgb,var(--accent) 88%,#000)}.cert-card-btn.btn-secondary{background:var(--surface-2);color:var(--text-muted);border:1px solid var(--border)}.bms-cell-box{transition:border-color .3s ease,background .3s ease}.bms-cell-box input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:6px;border-radius:3px;background:linear-gradient(to right,#ef4444,#10b981 30% 70%,#ef4444);outline:none}.bms-cell-box input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;border-radius:50%;background:var(--clr-brand-primary);cursor:pointer;border:2px solid white;box-shadow:0 1px 4px #0f172a0f}.bms-cell-voltage{font-family:JetBrains Mono,Fira Code,monospace}.maint-question{padding:.75rem;background:#64748b0d;border-radius:10px;margin-bottom:.5rem;border-left:3px solid var(--clr-brand-primary)}.maint-question p{margin:0 0 .5rem;color:var(--clr-text-primary)}.maint-ans-btn,.maint-q2-btn{font-size:.82rem!important;padding:.4rem .8rem!important}.cable-guide-table{border:1px solid var(--glass-border);border-radius:8px;overflow:hidden}.cable-guide-table th{background:#64748b14;font-weight:700;font-size:.78rem;text-transform:uppercase;letter-spacing:.03em;color:var(--clr-text-muted)}.cable-guide-table td{font-size:.82rem;color:var(--clr-text-secondary);border-bottom:1px solid rgba(100,116,139,.06)}.cable-guide-table tr:last-child td{border-bottom:none}.cable-guide-table tr:hover td{background:#f59e0b0a}.soiling-slider{width:100%}#soil-waterfall>div{transition:all .3s ease}.iv-advanced-metrics .learn-result-display{font-family:JetBrains Mono,Fira Code,monospace}@media print{body>*:not(#learn-cert-modal){display:none!important}#learn-cert-modal{position:static!important;background:#fff!important;padding:0!important}#learn-cert-modal .cert-modal{box-shadow:none!important;border:none!important;max-width:100%!important;padding:0!important}#learn-cert-modal .cert-sheet{border:2px solid #1f2937!important}#learn-cert-modal .cert-toolbar,#learn-cert-modal .cert-actions{display:none!important}#learn-cert-modal .cert-brand-mark svg,#learn-cert-modal .cert-qr svg,#learn-cert-modal .cert-brand-name,#learn-cert-modal .cert-watermark{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}}.verify-page{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--clr-bg);padding:2rem 1.25rem}.verify-card{width:100%;max-width:480px;padding:2.5rem 2rem;border-radius:22px;text-align:center}.verify-badge{width:72px;height:72px;margin:0 auto 1.1rem;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2.4rem;font-weight:800;color:#fff}.verify-badge-ok{background:linear-gradient(135deg,#10b981,#34d399)}.verify-badge-no{background:linear-gradient(135deg,#94a3b8,#cbd5e1)}.verify-title{margin:0 0 .4rem;font-size:1.5rem;font-weight:900}.verify-sub{color:var(--clr-text-muted);font-size:.95rem;margin:0 0 1.6rem;line-height:1.6}.verify-rows{text-align:start;border:1px solid var(--clr-glass-border);border-radius:14px;overflow:hidden;margin-bottom:1.6rem}.verify-row{display:flex;justify-content:space-between;gap:1rem;padding:.8rem 1rem;border-bottom:1px solid var(--clr-glass-border)}.verify-row:last-child{border-bottom:none}.verify-key{color:var(--clr-text-muted);font-size:.85rem;font-weight:600}.verify-val{font-weight:700;text-align:end;word-break:break-word}.verify-name{color:var(--clr-brand-primary)}.verify-id{font-family:JetBrains Mono,Fira Code,ui-monospace,monospace;letter-spacing:.03em}.verify-brand{margin-bottom:1.4rem;display:flex;flex-direction:column;gap:.15rem;align-items:center}.verify-brandnote{color:var(--clr-text-muted);font-size:.78rem}.verify-btn{text-decoration:none;display:inline-block}.learn-input{padding:.35rem .5rem;border:1px solid var(--clr-glass-border);border-radius:.4rem;background:#f1f5f9;color:var(--clr-text-primary);font-size:.88rem;width:100%}.learn-input:focus{outline:none;border-color:var(--clr-brand-primary);box-shadow:0 0 0 2px #f59e0b26}.sld-diagram{display:flex;align-items:center;gap:.25rem;flex-wrap:wrap;padding:1rem;background:#f8fafc;border-radius:.6rem;border:1px solid var(--clr-glass-border);overflow-x:auto}.sld-component{padding:.6rem .8rem;border:2px solid var(--clr-brand-secondary);border-radius:.5rem;cursor:pointer;text-align:center;font-size:.82rem;font-weight:600;transition:all .2s;background:#38bdf80d;min-width:80px;white-space:nowrap}.sld-component:hover{border-color:var(--clr-brand-primary);background:#f59e0b14;transform:translateY(-2px)}.sld-component.sld-active{border-color:var(--clr-brand-primary);background:#f59e0b1f;box-shadow:0 0 8px #f59e0b4d}.sld-arrow{font-size:1.2rem;color:var(--clr-text-muted);font-weight:700;flex-shrink:0}.lesson-table{width:100%;border-collapse:collapse;font-size:.88rem}.lesson-table th,.lesson-table td{padding:.5rem .75rem;border:1px solid var(--clr-glass-border);text-align:left}.lesson-table th{background:#f59e0b14;font-weight:700;font-size:.82rem;text-transform:uppercase;letter-spacing:.03em}.lesson-table tr:nth-child(2n){background:#f8fafc}.case-tabs{display:flex;gap:.25rem;flex-wrap:wrap;margin-bottom:.75rem}.case-tab{padding:.4rem .8rem;border:1px solid var(--clr-glass-border);border-radius:.4rem;background:#f8fafc;color:var(--clr-text-secondary);cursor:pointer;font-size:.82rem;font-weight:600;transition:all .2s}.case-tab:hover{border-color:var(--clr-brand-primary);color:var(--clr-brand-primary)}.case-tab.active{background:var(--clr-brand-primary);color:#fff;border-color:var(--clr-brand-primary)}.case-step-content{padding:.75rem;background:#f8fafc;border-radius:.5rem;border:1px solid var(--clr-glass-border);min-height:120px}.case-step h5{margin:0 0 .5rem;color:var(--clr-brand-primary);font-size:1rem}.mistakes-scenario{padding:.75rem;background:#f8fafc;border-radius:.5rem;border:1px solid var(--clr-glass-border);font-size:.9rem;line-height:1.7}.mistakes-scenario ul{list-style:none;padding:0}.mistakes-scenario li{padding:.3rem 0;border-bottom:1px solid #F8FAFC}.mistake-spot{cursor:pointer;padding:.15rem .4rem;border-radius:.3rem;background:#f59e0b1f;transition:all .2s;font-size:.85rem}.mistake-spot:hover{background:#f59e0b40}.quiz-bank-q{padding:.75rem;margin-bottom:.5rem;background:var(--surface);border-radius:var(--r-md);border:1px solid var(--border)}.quiz-bank-opt{margin:.2rem;padding:.4rem .8rem;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);color:var(--text);cursor:pointer;font-size:.85rem;transition:all .2s}.quiz-bank-opt:hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 7%,var(--surface))}.quiz-bank-q .quiz-bank-opt.correct{border-color:var(--success);background:color-mix(in srgb,var(--success) 10%,var(--surface));color:var(--success);font-weight:700}.quiz-bank-q .quiz-bank-opt.wrong{border-color:var(--danger);background:color-mix(in srgb,var(--danger) 9%,var(--surface));color:var(--danger)}.quiz-bank-explain{margin-top:.5rem;padding:.5rem;background:color-mix(in srgb,var(--success) 14%,var(--surface));border-inline-start:3px solid var(--success);border-radius:var(--r-md);font-size:.85rem;color:var(--success);font-weight:600}.faults-system-diagram{padding:.75rem;background:#f8fafc;border-radius:.5rem;border:1px solid var(--clr-glass-border)}.faults-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;justify-content:center}.faults-box{padding:.6rem .8rem;border:1px solid var(--clr-glass-border);border-radius:.5rem;text-align:center;font-size:.82rem;min-width:120px;background:#f8fafc;line-height:1.5}.faults-arrow{font-size:1.2rem;color:var(--clr-text-muted);font-weight:700}.fault-spot{display:inline-block;margin-top:.3rem;padding:.2rem .5rem;border-radius:.3rem;background:#f59e0b26;cursor:pointer;font-size:.8rem;transition:all .2s}.fault-spot:hover{background:#f59e0b4d;transform:scale(1.05)}.flashcard-container{min-height:180px;display:flex;align-items:center;justify-content:center;cursor:pointer;perspective:1000px}.flashcard{width:100%;max-width:420px;min-height:160px;display:flex;align-items:center;justify-content:center;padding:1.5rem;border:2px solid var(--clr-brand-primary);border-radius:.75rem;background:#f59e0b0d;transition:all .3s;text-align:center}.flashcard:hover{box-shadow:0 4px 16px #f59e0b26;transform:translateY(-2px)}.flashcard-front{font-size:1.3rem;font-weight:700;color:var(--clr-brand-primary)}.flashcard-back{font-size:.95rem;line-height:1.6;color:var(--clr-text-primary);white-space:pre-line}.wizard-step{padding:.75rem;margin-bottom:.5rem;background:#f8fafc;border-radius:.5rem;border:1px solid var(--clr-glass-border)}.wizard-step h5{margin:0 0 .5rem;color:var(--clr-brand-primary);font-size:1rem}.spd-point{border-color:#ef4444;background:#ef44440d}.spd-point:hover{border-color:#ef4444;background:#ef44441f}.spd-point.sld-active{border-color:#ef4444;background:#ef444426;box-shadow:0 0 8px #ef44444d}.earthing-check-item{display:flex;align-items:center;gap:.5rem;padding:.5rem .4rem;border-bottom:1px solid #F8FAFC;cursor:pointer;transition:background .15s;font-size:.9rem;border-radius:.3rem}.earthing-check-item:hover{background:#f59e0b0f}.earthing-check-box{font-size:1.1rem;flex-shrink:0}@media(max-width:640px){.sld-diagram{flex-direction:column;align-items:stretch}.sld-arrow{text-align:center;transform:rotate(90deg);font-size:1rem}.faults-row{flex-direction:column}.faults-arrow{transform:rotate(90deg)}.case-tabs{gap:.15rem}.case-tab{padding:.3rem .5rem;font-size:.75rem}.flashcard{min-height:140px;padding:1rem}}.shortcut-hint{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 5px;margin-left:6px;font-size:.65rem;font-weight:700;font-family:SF Mono,Fira Code,monospace;color:var(--clr-text-muted);background:var(--clr-surface-light);border:1px solid var(--glass-border);border-radius:4px;line-height:1}.shortcut-help-overlay{position:fixed;inset:0;z-index:10000;background:#00000080;display:flex;align-items:center;justify-content:center;animation:fadeIn .2s ease}.shortcut-help-modal{max-width:420px;width:90%;padding:1.5rem;border-radius:20px}.shortcut-kbd{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:28px;padding:0 8px;font-size:.8rem;font-weight:700;font-family:SF Mono,Fira Code,monospace;color:var(--clr-text-main);background:var(--clr-surface-light);border:1px solid var(--glass-border);border-radius:6px;box-shadow:0 2px #00000014}.notification-bell{position:relative;background:none;border:none;cursor:pointer;color:var(--clr-text-muted);padding:6px;border-radius:10px;transition:all .2s}.notification-bell:hover{background:var(--clr-surface-light);color:var(--clr-text-main)}.notification-badge{position:absolute;top:-2px;right:-2px;min-width:18px;height:18px;padding:0 4px;font-size:.65rem;font-weight:800;color:#fff;background:var(--clr-brand-danger);border-radius:50px;display:flex;align-items:center;justify-content:center;line-height:1}.notification-dropdown{position:absolute;top:100%;right:0;z-index:9000;width:360px;max-height:480px;border-radius:16px;overflow:hidden;margin-top:8px;box-shadow:0 20px 60px #00000026}.notification-list{max-height:380px;overflow-y:auto}.notification-item{display:flex;gap:.75rem;padding:.75rem 1rem;border-bottom:1px solid var(--glass-border);transition:background .2s}.notification-item:hover{background:var(--clr-surface-light)}.notification-unread{background:#0ea5e90a}.notification-unread:before{content:"";width:6px;height:6px;background:var(--clr-brand-secondary);border-radius:50%;position:absolute;left:6px;top:50%;transform:translateY(-50%)}.notification-icon{font-size:1.3rem;flex-shrink:0;padding-top:2px}.notification-content{flex:1;min-width:0}.notification-title{font-weight:600;font-size:.85rem;color:var(--clr-text-main)}.notification-body{font-size:.8rem;color:var(--clr-text-muted);margin-top:2px;line-height:1.4}.notification-time{font-size:.7rem;color:var(--clr-text-muted);margin-top:4px}.offline-banner{position:fixed;top:0;left:0;right:0;z-index:9999;display:flex;align-items:center;justify-content:center;gap:8px;padding:8px 16px;background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#78350f;font-size:.85rem;font-weight:600;box-shadow:0 2px 10px #f59e0b4d}.catalog-modal-overlay{position:fixed;inset:0;z-index:9500;background:#00000080;display:flex;align-items:center;justify-content:center;animation:fadeIn .2s ease}.catalog-modal{width:90%;max-width:900px;max-height:85vh;padding:1.5rem;border-radius:20px;display:flex;flex-direction:column}.catalog-search{width:100%;padding:.6rem 1rem;border:1px solid var(--glass-border);border-radius:12px;font-size:.9rem;background:var(--clr-surface);color:var(--clr-text-main);outline:none;margin-bottom:1rem}.catalog-search:focus{border-color:var(--clr-brand-primary)}.catalog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem;overflow-y:auto;flex:1;padding:4px}.catalog-card{padding:1rem;border-radius:14px;border:1px solid var(--glass-border);background:var(--clr-surface);transition:all .2s;cursor:pointer}.catalog-card:hover{border-color:var(--clr-brand-primary);box-shadow:0 4px 16px #f59e0b26;transform:translateY(-2px)}.catalog-card-brand{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--clr-brand-secondary)}.catalog-card-model{font-weight:700;font-size:1rem;margin:4px 0 8px;color:var(--clr-text-main)}.catalog-card-specs{display:grid;grid-template-columns:1fr 1fr;gap:4px;font-size:.78rem;color:var(--clr-text-muted)}.catalog-card-specs span{font-weight:600;color:var(--clr-text-main)}.catalog-card-btn{margin-top:10px;width:100%}.history-timeline{position:relative;padding-left:28px}.history-timeline:before{content:"";position:absolute;left:10px;top:0;bottom:0;width:2px;background:var(--glass-border)}.history-node{position:relative;margin-bottom:1.25rem;padding:.75rem 1rem;border-radius:12px;background:var(--clr-surface);border:1px solid var(--glass-border)}.history-node:before{content:"";position:absolute;left:-22px;top:14px;width:10px;height:10px;border-radius:50%;background:var(--clr-brand-secondary);border:2px solid var(--clr-surface)}.history-node-verified:before{background:var(--clr-brand-accent)}.history-timestamp{font-size:.75rem;color:var(--clr-text-muted);margin-bottom:6px}.history-metrics{display:flex;gap:1rem;flex-wrap:wrap;font-size:.82rem}.history-diff-up{color:var(--clr-brand-accent);font-weight:600}.history-diff-down{color:var(--clr-brand-danger);font-weight:600}.history-verified-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:50px;font-size:.7rem;font-weight:600;background:#10b9811a;color:var(--clr-brand-accent)}.quiz-dashboard{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.25rem}.quiz-group-card{padding:1.25rem;border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--border);transition:all .2s;cursor:pointer}.quiz-group-card:hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 5%,var(--surface))}.quiz-group-icon{font-size:2rem;margin-bottom:.5rem}.quiz-group-title{font-weight:700;font-size:1.05rem;margin-bottom:4px}.quiz-group-desc{font-size:.82rem;color:var(--text-muted);line-height:1.4}.quiz-group-badge{display:inline-flex;align-items:center;gap:4px;margin-top:8px;padding:3px 10px;border-radius:var(--r-pill);font-size:.72rem;font-weight:700;background:color-mix(in srgb,var(--success) 14%,var(--surface));color:var(--success)}.quiz-progress-bar{height:6px;border-radius:3px;background:var(--surface-2);margin:1rem 0;overflow:hidden}.quiz-progress-fill{height:100%;border-radius:3px;background:var(--accent);transition:width .4s ease}.quiz-question-container{max-width:700px;margin:0 auto}.quiz-option{display:block;width:100%;text-align:start;padding:.85rem 1.1rem;margin-bottom:.6rem;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);cursor:pointer;font-size:.9rem;color:var(--text);transition:all .2s}.quiz-option:hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 7%,var(--surface))}.quiz-option-selected{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,var(--surface))}.quiz-question-container .quiz-option.quiz-option-correct{border-color:var(--success);background:color-mix(in srgb,var(--success) 10%,var(--surface));color:var(--success);font-weight:600}.quiz-question-container .quiz-option.quiz-option-wrong{border-color:var(--danger);background:color-mix(in srgb,var(--danger) 9%,var(--surface));color:var(--danger)}.quiz-calc-input{display:flex;align-items:center;gap:.5rem;margin:1rem 0}.quiz-calc-input input{width:150px;padding:.6rem 1rem;border:1px solid var(--border);border-radius:var(--r-md);font-size:1.1rem;font-weight:600;text-align:center;font-family:var(--font-mono);background:var(--surface-2);color:var(--text)}.quiz-calc-input input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}.quiz-calc-unit{font-weight:600;color:var(--text-muted)}.quiz-explanation{margin-top:1rem;padding:1rem;background:color-mix(in srgb,var(--info) 10%,var(--surface));border-inline-start:3px solid var(--info);border-radius:var(--r-md);font-size:.85rem;line-height:1.5;color:var(--text)}.quiz-result-card{text-align:center;padding:2rem;border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--border)}.quiz-score-display{font-family:var(--font-mono);font-size:2.6rem;font-weight:700;color:var(--accent)}.qg-instruction{font-size:.9rem;color:var(--text-muted);margin-bottom:.75rem;line-height:1.5}.qg-instruction-hint{font-size:.82rem;color:var(--text-muted);font-style:italic;margin-bottom:1rem}.qg-match-container{max-width:800px}.qg-match-status{font-weight:600;font-size:.9rem;margin-bottom:1rem;color:var(--text)}.qg-match-columns{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.qg-match-col{display:flex;flex-direction:column;gap:.5rem}.qg-match-item{display:block;width:100%;text-align:start;padding:.7rem 1rem;border-radius:var(--r-md);border:1px solid var(--border);background:var(--surface);cursor:pointer;font-size:.85rem;color:var(--text);transition:all .2s;line-height:1.4}.qg-match-item:hover:not(.qg-matched){border-color:var(--accent);background:color-mix(in srgb,var(--accent) 7%,var(--surface))}.qg-match-item.qg-selected{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,var(--surface));box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 25%,transparent)}.qg-match-container .qg-match-item.qg-matched.qg-correct{border-color:var(--success);background:color-mix(in srgb,var(--success) 10%,var(--surface));opacity:.75;cursor:default}.qg-match-container .qg-match-item.qg-wrong-flash{border-color:var(--danger);background:color-mix(in srgb,var(--danger) 12%,var(--surface));animation:qg-shake .4s ease}@keyframes qg-shake{0%,to{transform:translate(0)}25%{transform:translate(-6px)}50%{transform:translate(6px)}75%{transform:translate(-4px)}}.qg-match-feedback{margin-top:1rem;padding:1rem;border-radius:var(--r-md);font-size:.9rem;font-weight:600}.qg-match-feedback.qg-feedback-success{background:color-mix(in srgb,var(--success) 14%,var(--surface));border:1px solid color-mix(in srgb,var(--success) 35%,var(--border));color:var(--success)}.qg-order-container{max-width:700px}.qg-order-list{list-style:none;padding:0;margin:0;counter-reset:order-counter}.qg-order-item{counter-increment:order-counter;display:flex;align-items:center;padding:.75rem 1rem;margin-bottom:.5rem;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);cursor:pointer;font-size:.88rem;color:var(--text);transition:all .2s;line-height:1.4;-webkit-user-select:none;user-select:none}.qg-order-item:before{content:counter(order-counter);display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;min-width:26px;border-radius:50%;margin-inline-end:.75rem;background:var(--surface-2);font-weight:700;font-family:var(--font-mono);font-size:.78rem;color:var(--text-muted)}.qg-order-item:hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 7%,var(--surface))}.qg-order-item.qg-order-selected{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,var(--surface));box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 25%,transparent)}.qg-order-list .qg-order-item.qg-order-correct{border-color:var(--success);background:color-mix(in srgb,var(--success) 10%,var(--surface))}.qg-order-list .qg-order-item.qg-order-correct:before{background:var(--success);color:#fff}.qg-order-list .qg-order-item.qg-order-wrong{border-color:var(--danger);background:color-mix(in srgb,var(--danger) 9%,var(--surface))}.qg-order-list .qg-order-item.qg-order-wrong:before{background:var(--danger);color:#fff}.qg-calc-container{max-width:700px}.qg-calc-question{padding:1.25rem;margin-bottom:1rem;border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--border)}.qg-calc-prompt{font-size:.9rem;line-height:1.55;margin-bottom:.5rem;color:var(--text)}.qg-calc-formula{font-size:.82rem;color:var(--text-muted);margin-bottom:.75rem}.qg-calc-formula code{background:var(--surface-2);padding:2px 8px;border-radius:var(--r-sm);font-size:.85rem;font-family:var(--font-mono)}.qg-calc-input-row{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.qg-calc-answer{width:140px;padding:.55rem .85rem;border:1px solid var(--border);border-radius:var(--r-md);font-size:1rem;font-weight:600;text-align:center;font-family:var(--font-mono);background:var(--surface-2);color:var(--text);transition:border-color .2s,box-shadow .2s}.qg-calc-answer:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}.qg-calc-unit{font-weight:600;color:var(--text-muted);font-size:.9rem}.qg-calc-feedback{margin-top:.75rem;padding:.85rem 1rem;background:color-mix(in srgb,var(--info) 10%,var(--surface));border-inline-start:3px solid var(--info);border-radius:var(--r-md);font-size:.84rem;line-height:1.5}.qg-feedback-correct{display:inline-block;padding:2px 10px;border-radius:var(--r-sm);background:color-mix(in srgb,var(--success) 14%,var(--surface));color:var(--success);font-weight:700;margin-inline-end:.4rem}.qg-feedback-wrong{display:inline-block;padding:2px 10px;border-radius:var(--r-sm);background:color-mix(in srgb,var(--danger) 14%,var(--surface));color:var(--danger);font-weight:700;margin-inline-end:.4rem}.qg-tf-container{max-width:700px}.qg-tf-question{padding:1.25rem;margin-bottom:1rem;border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--border)}.qg-tf-statement{font-size:.9rem;line-height:1.55;margin-bottom:.75rem;color:var(--text)}.qg-tf-buttons{display:flex;gap:.6rem}.qg-tf-btn{padding:.55rem 1.5rem;border-radius:var(--r-md);border:1px solid var(--border);background:var(--surface);cursor:pointer;font-size:.88rem;font-weight:600;color:var(--text);transition:all .2s}.qg-tf-btn:hover:not(:disabled){border-color:var(--accent);background:color-mix(in srgb,var(--accent) 7%,var(--surface))}.qg-tf-question .qg-tf-btn.qg-tf-correct{border-color:var(--success);background:color-mix(in srgb,var(--success) 12%,var(--surface));color:var(--success)}.qg-tf-question .qg-tf-btn.qg-tf-wrong{border-color:var(--danger);background:color-mix(in srgb,var(--danger) 12%,var(--surface));color:var(--danger)}.qg-tf-feedback{margin-top:.75rem;padding:.85rem 1rem;background:color-mix(in srgb,var(--info) 10%,var(--surface));border-inline-start:3px solid var(--info);border-radius:var(--r-md);font-size:.84rem;line-height:1.5}@media(max-width:600px){.qg-match-columns{grid-template-columns:1fr}.qg-calc-input-row{flex-direction:column;align-items:flex-start}}.weather-dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.25rem}.weather-chart-panel{padding:1rem;border-radius:14px;background:var(--clr-surface);border:1px solid var(--glass-border)}.weather-chart-panel canvas{width:100%!important;height:200px!important;border-radius:8px}.weather-chart-title{font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--clr-text-muted);margin-bottom:.75rem}.sld-container{overflow-x:auto;padding:1rem 0;-webkit-overflow-scrolling:touch}.sld-container svg{min-width:800px;display:block;margin:0 auto}.sld-container text{font-family:var(--font-sans)}.comparison-view{padding:1.5rem}.comparison-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.comparison-grid{display:grid;gap:1.25rem;grid-template-columns:200px repeat(var(--compare-cols, 2),1fr)}.comparison-label{font-size:.82rem;font-weight:600;color:var(--clr-text-muted);padding:.5rem .75rem;display:flex;align-items:center}.comparison-cell{padding:.5rem .75rem;font-size:.88rem;border-radius:8px;text-align:center}.comparison-cell-header{font-weight:700;font-size:.95rem;background:var(--clr-surface-light);padding:.75rem;border-radius:12px}.comparison-best{background:#10b98114;color:var(--clr-brand-accent);font-weight:700}.comparison-worst{background:#ef44440d;color:var(--clr-brand-danger)}.comparison-diff{background:#f59e0b0f}.comparison-section-title{grid-column:1 / -1;font-weight:700;font-size:.92rem;padding:.75rem 0 .25rem;margin-top:.5rem;border-bottom:1px solid var(--glass-border);color:var(--clr-text-main)}.compare-checkbox{width:16px;height:16px;accent-color:var(--clr-brand-primary);cursor:pointer}.collaborator-modal{width:90%;max-width:500px;padding:1.5rem;border-radius:20px}.collaborator-list{margin-top:1rem}.collaborator-item{display:flex;align-items:center;justify-content:space-between;padding:.6rem 0;border-bottom:1px solid var(--glass-border);font-size:.88rem}.collaborator-role-badge{padding:2px 10px;border-radius:50px;font-size:.72rem;font-weight:700;background:#0ea5e91a;color:var(--clr-brand-secondary)}.shared-badge{display:inline-flex;align-items:center;gap:3px;padding:2px 8px;border-radius:50px;font-size:.68rem;font-weight:700;background:#0ea5e91a;color:var(--clr-brand-secondary);margin-left:6px}.spotlight-overlay{position:fixed;inset:0;z-index:9500;pointer-events:all}.spotlight-cutout{position:fixed;border-radius:12px;box-shadow:0 0 0 9999px #0f172a24;transition:all .35s ease;pointer-events:none;z-index:9501}.spotlight-tooltip{position:fixed;max-width:360px;padding:1.5rem;border-radius:16px;z-index:9502;animation:popIn .3s ease;pointer-events:all}.spotlight-tooltip h3{font-size:1.05rem;font-weight:700;margin-bottom:.5rem}.spotlight-tooltip p{font-size:.88rem;color:var(--clr-text-muted);line-height:1.5;margin-bottom:1rem}.spotlight-dots{display:flex;gap:5px;margin-bottom:.75rem}.spotlight-dot{width:7px;height:7px;border-radius:50%;background:var(--clr-surface-light)}.spotlight-dot-active{background:var(--clr-brand-primary)}.spotlight-btn-skip{background:none;border:none;color:var(--clr-text-muted);cursor:pointer;font-size:.82rem;padding:.4rem .8rem}.spotlight-btn-prev,.spotlight-btn-next{padding:.5rem 1.2rem;border-radius:10px;font-weight:600;font-size:.85rem;cursor:pointer;border:none}.spotlight-btn-prev{background:var(--clr-surface-light);color:var(--clr-text-main)}.spotlight-btn-next{background:var(--grad-solar);color:#fff}@keyframes popIn{0%{opacity:0;transform:scale(.9) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.ds-mock-sheet{border-collapse:collapse;width:100%;font-size:.82rem}.ds-mock-sheet th{text-align:start;padding:.4rem .6rem;background:var(--surface-2);font-weight:600;border-bottom:2px solid var(--border-strong)}.ds-mock-sheet td{padding:.4rem .6rem;border-bottom:1px solid var(--border)}.ds-spec-row{cursor:pointer;transition:background .15s}.ds-spec-row:hover{background:color-mix(in srgb,var(--accent) 6%,var(--surface))}.ds-spec-row.active{background:color-mix(in srgb,var(--accent) 12%,var(--surface));border-inline-start:3px solid var(--accent)}.ds-explain-box{background:var(--surface-2);border-radius:var(--r-md);padding:.8rem;margin-top:.5rem;font-size:.82rem;line-height:1.5}.ds-compat-pass{color:var(--success);font-weight:700}.ds-compat-fail{color:var(--danger);font-weight:700}.lesson-worked-example{background:color-mix(in srgb,var(--info) 6%,var(--surface));border-inline-start:4px solid var(--info);border-radius:0 var(--r-lg) var(--r-lg) 0;padding:1rem 1.2rem;margin:1rem 0;font-size:.88rem;line-height:1.6;color:var(--text)}.lesson-worked-example h4{margin:0 0 .5rem}.lesson-worked-example ol{margin:.5rem 0;padding-inline-start:1.2rem}.lesson-worked-example .worked-answer{background:color-mix(in srgb,var(--info) 12%,var(--surface));padding:.4rem .8rem;border-radius:var(--r-md);font-weight:700;display:inline-block;margin-top:.3rem;color:var(--text)}.lesson-real-world{background:color-mix(in srgb,var(--accent) 7%,var(--surface));border-inline-start:4px solid var(--accent);border-radius:0 var(--r-lg) var(--r-lg) 0;padding:1rem 1.2rem;margin:1rem 0;font-size:.88rem;line-height:1.6;color:var(--text)}.lesson-real-world h4{margin:0 0 .5rem}.lesson-key-takeaways{background:color-mix(in srgb,var(--success) 8%,var(--surface));border-inline-start:4px solid var(--success);border-radius:0 var(--r-lg) var(--r-lg) 0;padding:1rem 1.2rem;margin:1rem 0;font-size:.88rem;line-height:1.6;color:var(--text)}.lesson-key-takeaways h4{margin:0 0 .5rem}.lesson-key-takeaways ul{margin:.3rem 0;padding-inline-start:1.2rem}.lesson-key-takeaways li{margin-bottom:.25rem}.lesson-figure{margin:1rem 0;padding:.75rem;border-radius:var(--r-lg);border:1px solid var(--border);background:var(--surface-2);text-align:center}.lesson-figure svg{width:100%;max-width:600px;height:auto;display:block;margin:0 auto}.lesson-figure figcaption{font-size:.75rem;color:var(--clr-text-muted);margin-top:.5rem;font-style:italic;line-height:1.5}:root[data-theme=dark] .lesson-figure{box-shadow:0 0 0 1px var(--border-strong),0 0 0 7px var(--surface-2)}.lesson-mistakes{background:color-mix(in srgb,var(--danger) 5%,var(--surface));border-inline-start:4px solid var(--danger);border-radius:0 var(--r-lg) var(--r-lg) 0;padding:1.25rem 1.5rem;margin:1.5rem 0}.lesson-mistakes h4{color:var(--danger);margin:0 0 1rem;font-size:1rem;font-weight:700}.lesson-mistake-item{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid color-mix(in srgb,var(--danger) 18%,var(--border))}.lesson-mistake-item:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.mistake-wrong{background:color-mix(in srgb,var(--danger) 10%,var(--surface));border:1px solid color-mix(in srgb,var(--danger) 24%,var(--border));border-radius:var(--r-md);padding:.75rem;position:relative}.mistake-wrong:before{content:"✗ Common Mistake";display:block;font-size:.68rem;font-weight:700;color:var(--danger);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.35rem}.mistake-correct{background:color-mix(in srgb,var(--success) 10%,var(--surface));border:1px solid color-mix(in srgb,var(--success) 24%,var(--border));border-radius:var(--r-md);padding:.75rem;position:relative}.mistake-correct:before{content:"✓ Correct";display:block;font-size:.68rem;font-weight:700;color:var(--success);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.35rem}[dir=rtl] .mistake-wrong:before{content:"✗ خطأ شائع"}[dir=rtl] .mistake-correct:before{content:"✓ الصواب"}.mistake-consequence{grid-column:1 / -1;font-size:.78rem;color:var(--text-muted);font-style:italic;padding:.4rem .75rem;background:var(--surface-2);border-radius:var(--r-sm)}.lesson-deep-dive{margin:1rem 0 1.5rem;border:1px solid color-mix(in srgb,var(--info) 24%,var(--border));border-radius:var(--r-lg);overflow:hidden}.lesson-deep-dive summary{padding:.75rem 1.25rem;font-weight:700;font-size:.88rem;color:var(--clr-text-main);cursor:pointer;background:color-mix(in srgb,var(--info) 6%,var(--surface));border-bottom:1px solid transparent;display:flex;align-items:center;gap:.5rem;transition:all .2s;list-style:none}.lesson-deep-dive summary::-webkit-details-marker{display:none}.lesson-deep-dive summary:before{content:"▸";font-size:.8rem;transition:transform .2s;color:var(--info)}.lesson-deep-dive[open] summary:before{transform:rotate(90deg)}.lesson-deep-dive[open] summary{border-bottom-color:color-mix(in srgb,var(--info) 18%,var(--border))}.lesson-deep-dive .deep-dive-content{padding:1.25rem;font-size:.88rem;line-height:1.75;color:var(--clr-text-main)}.lesson-deep-dive .deep-dive-content p{margin:0 0 .75rem}.lesson-deep-dive .deep-dive-content p:last-child{margin-bottom:0}.lesson-standards{margin:1rem 0 1.5rem;border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden}.lesson-standards summary{padding:.75rem 1.25rem;font-weight:700;font-size:.88rem;color:var(--clr-text-main);cursor:pointer;background:var(--surface-2);display:flex;align-items:center;gap:.5rem;list-style:none}.lesson-standards summary::-webkit-details-marker{display:none}.lesson-standards summary:before{content:"▸";font-size:.8rem;transition:transform .2s;color:var(--clr-text-muted)}.lesson-standards[open] summary:before{transform:rotate(90deg)}.lesson-standards-list{padding:.75rem 1.25rem}.lesson-standard-item{display:flex;gap:.75rem;padding:.6rem 0;border-bottom:1px solid var(--border);align-items:flex-start}.lesson-standard-item:last-child{border-bottom:none}.standard-code{font-family:var(--font-mono);background:var(--surface-2);color:var(--text);font-size:.66rem;font-weight:700;padding:.25rem .5rem;border-radius:var(--r-sm);white-space:nowrap;flex-shrink:0;border:1px solid var(--border-strong)}.standard-detail{font-size:.82rem;color:var(--clr-text-muted);line-height:1.5}.standard-detail strong{color:var(--clr-text-main)}.lesson-real-datasheets{margin:1.25rem 0 1.5rem;padding:1.25rem;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface-2)}.lesson-real-datasheets-title{margin:0 0 .5rem;font-size:.95rem;color:var(--clr-text-main);font-weight:700}.lesson-real-datasheets-disclaimer{font-size:.78rem;color:var(--text);background:color-mix(in srgb,var(--accent) 10%,var(--surface));border:1px solid color-mix(in srgb,var(--accent) 26%,var(--border));border-radius:var(--r-md);padding:.5rem .75rem;margin-bottom:.9rem;line-height:1.45}.lesson-real-datasheets-intro{font-size:.85rem;color:var(--clr-text-muted);margin:0 0 .9rem;line-height:1.55}.lesson-real-datasheets-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.8rem}.rd-card{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);padding:.85rem;font-size:.82rem;transition:box-shadow .15s,transform .15s}.rd-card:hover{border-color:var(--border-strong);transform:translateY(-1px)}.rd-card-head{border-bottom:1px solid var(--border);padding-bottom:.5rem;margin-bottom:.5rem}.rd-brand{font-size:.72rem;font-weight:700;color:var(--accent);letter-spacing:.02em;text-transform:uppercase}.rd-model{font-size:.92rem;font-weight:700;color:var(--clr-text-main);margin-top:.15rem;line-height:1.25}.rd-meta{font-size:.7rem;color:var(--clr-text-muted);margin-top:.25rem}.rd-card-body{flex:1;display:flex;flex-direction:column;gap:.25rem;margin-bottom:.6rem}.rd-spec-row{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem;font-size:.78rem}.rd-spec-row span{color:var(--clr-text-muted);flex-shrink:0}.rd-spec-row b{color:var(--clr-text-main);font-weight:600;text-align:right}.rd-spec-row.rd-spec-standards{margin-top:.35rem;padding-top:.35rem;border-top:1px dashed var(--border);font-size:.7rem}.rd-spec-row.rd-spec-standards b{font-weight:500;font-size:.7rem}[dir=rtl] .rd-spec-row b{text-align:left}.lesson-examples-tabs{display:flex;gap:.35rem;margin-bottom:1rem}.example-tab{font-family:var(--font-mono);padding:.4rem 1rem;border-radius:var(--r-md);border:1px solid var(--border);background:var(--surface-2);color:var(--text-muted);font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;cursor:pointer;transition:all .2s}.example-tab:hover{border-color:var(--accent);color:var(--accent)}.example-tab.active{background:var(--accent);color:var(--on-accent);border-color:transparent}.example-tab-easy.active{background:var(--success);color:#fff}.example-tab-medium.active{background:var(--accent);color:var(--on-accent)}.example-tab-hard.active{background:var(--danger);color:#fff}.example-content{display:none}.example-content.active{display:block}.lesson-decision-tree{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-lg);padding:1.25rem;margin:1.5rem 0}.lesson-decision-tree h4{margin:0 0 1rem;font-size:1rem;color:var(--clr-text-main)}.decision-node{background:color-mix(in srgb,var(--info) 8%,var(--surface));border:1px solid color-mix(in srgb,var(--info) 28%,var(--border));border-radius:var(--r-lg);padding:1rem;text-align:center;margin-bottom:.75rem;animation:fadeInUp .3s ease}.decision-node p{font-weight:600;color:var(--clr-text-main);margin:0 0 .75rem;font-size:.92rem}.decision-btns{display:flex;gap:.75rem;justify-content:center}.decision-btn-yes,.decision-btn-no{padding:.5rem 1.5rem;border-radius:8px;border:none;font-weight:700;font-size:.82rem;cursor:pointer;transition:all .2s}.decision-btn-yes{background:var(--success);color:#fff}.decision-btn-yes:hover{filter:brightness(.94)}.decision-btn-no{background:var(--danger);color:#fff}.decision-btn-no:hover{filter:brightness(.94)}.decision-result{background:color-mix(in srgb,var(--accent) 9%,var(--surface));border:1px solid color-mix(in srgb,var(--accent) 28%,var(--border));border-radius:var(--r-lg);padding:1.25rem;text-align:center;animation:fadeInUp .3s ease}.decision-result p{font-weight:700;color:var(--accent);font-size:1rem;margin:0}.decision-restart{margin-top:.75rem;padding:.4rem 1rem;border-radius:var(--r-md);border:1px solid var(--accent);background:transparent;color:var(--accent);font-weight:600;font-size:.78rem;cursor:pointer}.decision-restart:hover{background:color-mix(in srgb,var(--accent) 10%,var(--surface))}.lesson-comparison{margin:1.5rem 0;border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden}.comparison-use-case{padding:.75rem 1rem;background:var(--surface-2);border-bottom:1px solid var(--border);display:flex;align-items:center;gap:.75rem}.comparison-use-case label{font-size:.78rem;font-weight:700;color:var(--clr-text-muted)}.comparison-use-case select{padding:.35rem .6rem;border:1px solid var(--border);border-radius:var(--r-sm);font-size:.78rem;background:var(--surface);color:var(--text)}.comparison-table th{background:var(--surface-2);color:var(--text);padding:.6rem .75rem;font-weight:700;text-align:start;border-bottom:1px solid var(--border-strong)}.comparison-table td{padding:.55rem .75rem;border-bottom:1px solid var(--border);transition:background .2s;color:var(--text)}.comparison-table tr:hover td{background:color-mix(in srgb,var(--accent) 6%,var(--surface))}.comparison-table .col-recommended{background:color-mix(in srgb,var(--accent) 10%,var(--surface));font-weight:600}.comparison-table .col-dimmed{opacity:.45}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.category-exam-banner{background:var(--surface-2);color:var(--text);border:1px solid var(--border);border-radius:var(--r-lg);padding:1.25rem 1.5rem;margin:1.5rem 0;display:flex;align-items:center;justify-content:space-between}.category-exam-banner h4{margin:0;font-size:.92rem;color:var(--text)}.category-exam-banner .exam-btn{padding:.5rem 1.25rem;border-radius:var(--r-md);border:none;background:var(--accent);color:var(--on-accent);font-weight:700;font-size:.82rem;cursor:pointer}.category-exam-banner .exam-btn:hover{filter:brightness(.94)}.exam-timer{font-size:1.1rem;font-weight:800;color:var(--accent);font-variant-numeric:tabular-nums}@media(max-width:768px){.lesson-mistake-item{grid-template-columns:1fr}.lesson-examples-tabs{flex-wrap:wrap}.decision-btns{flex-direction:column}}@media(max-width:768px){.notification-dropdown{width:300px}.catalog-grid{grid-template-columns:1fr}.comparison-grid{grid-template-columns:120px repeat(var(--compare-cols, 2),1fr);font-size:.8rem}.quiz-dashboard,.weather-dashboard-grid{grid-template-columns:1fr}}.mobile-bottom-nav{display:none;position:fixed;bottom:0;left:0;right:0;z-index:999;background:var(--glass-bg);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border-top:1px solid var(--glass-border);box-shadow:0 -4px 20px #0000000f;padding:.4rem 0 calc(.4rem + env(safe-area-inset-bottom,0px));justify-content:space-around;align-items:center}@media(max-width:768px){.mobile-bottom-nav{display:flex}.sidebar-expand-btn{display:none!important}.dashboard-content{padding-bottom:70px}}.bottom-nav-item{display:flex;flex-direction:column;align-items:center;gap:.15rem;background:none;border:none;cursor:pointer;padding:.35rem .75rem;border-radius:10px;color:var(--clr-text-muted);font-size:.65rem;font-weight:600;transition:all .2s}.bottom-nav-item:hover,.bottom-nav-item:active,.bottom-nav-item.active{color:var(--clr-brand-primary)}.bottom-nav-icon{font-size:1.3rem;line-height:1}.bottom-nav-label{font-size:.62rem}.bottom-nav-item.active .bottom-nav-icon{animation:popIn .25s ease}.back-to-top{position:fixed;bottom:2rem;right:2rem;z-index:999;width:44px;height:44px;border-radius:50%;background:var(--clr-brand-primary);color:#fff;border:none;cursor:pointer;font-size:1.25rem;line-height:1;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #00000026;opacity:0;visibility:hidden;transform:translateY(20px);transition:opacity .3s,visibility .3s,transform .3s}.back-to-top.visible{opacity:1;visibility:visible;transform:translateY(0)}.back-to-top:hover{background:var(--clr-brand-dark);transform:translateY(-2px)}@media(max-width:768px){.back-to-top{bottom:5.5rem;right:1rem}}.breadcrumb-nav{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap;font-size:.82rem;color:var(--clr-text-muted);margin-bottom:.75rem}.breadcrumb-nav a,.breadcrumb-nav button{background:none;border:none;cursor:pointer;padding:0;color:var(--clr-brand-primary);font-size:.82rem;text-decoration:none}.breadcrumb-nav a:hover,.breadcrumb-nav button:hover{text-decoration:underline}.breadcrumb-sep{color:var(--clr-text-muted);opacity:.5}.breadcrumb-current{color:var(--clr-text);font-weight:600}.dashboard-content{animation:pageFadeIn .3s ease}@keyframes pageFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.lesson-card{animation:pageFadeIn .35s ease}.sidebar-progress-wrap{padding:.75rem 1rem;border-top:1px solid var(--glass-border)}.sidebar-progress-row{display:flex;align-items:center;gap:.6rem;font-size:.78rem;color:var(--clr-text-muted)}.sidebar-progress-bar-bg{flex:1;height:6px;border-radius:3px;background:var(--glass-border);overflow:hidden}.sidebar-progress-bar-fill{height:100%;border-radius:3px;background:var(--grad-solar);transition:width .5s ease}.sidebar-progress-label{white-space:nowrap;font-weight:600}@media print{.sidebar,.mobile-bottom-nav,.back-to-top,.breadcrumb-nav,.dashboard-header,.learn-sidebar,.sidebar-expand-btn,.btn,button,.lesson-nav-row,.lesson-quiz-section,.lesson-widget-wrap,.lesson-interactive-widget{display:none!important}.dashboard-layout{display:block!important}.dashboard-content{padding:0!important;margin:0!important}.lesson-card{box-shadow:none!important;border:none!important;max-width:100%!important;padding:1rem!important}.lesson-card h2{font-size:1.5rem!important}.lesson-theory-block,.lesson-formula-box,.lesson-worked-example,.lesson-real-world,.lesson-key-takeaways,.lesson-pv-callout,.lesson-notes-block{break-inside:avoid}@page{margin:2cm}}.onboarding-checklist{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:16px;padding:1.25rem 1.5rem;margin-bottom:1.5rem;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.onboarding-checklist h3{margin:0 0 .75rem;font-size:1rem}.onboarding-step{display:flex;align-items:center;gap:.6rem;padding:.5rem 0;font-size:.88rem;color:var(--clr-text)}.onboarding-step.done{color:var(--clr-text-muted);text-decoration:line-through}.onboarding-check{width:22px;height:22px;border-radius:50%;border:2px solid var(--clr-brand-primary);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:.7rem;color:transparent}.onboarding-step.done .onboarding-check{background:var(--clr-brand-primary);color:#fff;border-color:var(--clr-brand-primary)}.onboarding-dismiss{margin-top:.75rem;background:none;border:none;color:var(--clr-text-muted);cursor:pointer;font-size:.78rem;text-decoration:underline}.review-badge{display:inline-flex;align-items:center;gap:.3rem;padding:.15rem .5rem;border-radius:8px;font-size:.68rem;font-weight:600;background:#ef44441a;color:#ef4444}.review-badge.due{background:#f59e0b26;color:#d97706}.review-badge.fresh{background:#10b9811a;color:#10b981}.global-search-wrap{position:relative;margin-bottom:.5rem;max-width:400px}.global-search-input{width:100%;padding:.5rem .75rem .5rem 2.2rem;border:1px solid var(--glass-border);border-radius:10px;background:var(--glass-bg);color:var(--clr-text);font-size:.85rem;outline:none;transition:border-color .2s}.global-search-input:focus{border-color:var(--clr-brand-primary)}.global-search-icon{position:absolute;left:.7rem;top:50%;transform:translateY(-50%);font-size:.9rem;pointer-events:none;opacity:.5}.global-search-results{position:absolute;top:100%;left:0;right:0;z-index:200;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;box-shadow:0 8px 24px #0000001f;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);max-height:320px;overflow-y:auto;display:none}.global-search-results.open{display:block}.search-result-item{display:flex;align-items:center;gap:.6rem;padding:.6rem .9rem;cursor:pointer;font-size:.84rem;border-bottom:1px solid var(--glass-border);transition:background .15s}.search-result-item:last-child{border-bottom:none}.search-result-item:hover{background:#f59e0b14}.search-result-type{font-size:.65rem;font-weight:700;text-transform:uppercase;padding:.1rem .4rem;border-radius:4px;flex-shrink:0}.search-result-type.lesson{background:#6366f11f;color:#6366f1}.search-result-type.project{background:#10b9811f;color:#10b981}.search-no-results{padding:1rem;text-align:center;color:var(--clr-text-muted);font-size:.84rem}.comparison-table{width:100%;border-collapse:collapse;font-size:.82rem}.comparison-table th,.comparison-table td{padding:.5rem .75rem;text-align:left;border-bottom:1px solid var(--glass-border)}.comparison-table th{font-weight:600;color:var(--clr-text-muted);font-size:.75rem;text-transform:uppercase}.comparison-table td:first-child{font-weight:600}.comparison-highlight{background:#f59e0b14;font-weight:600}.layout{background:var(--clr-bg);min-height:100vh;display:flex;flex-direction:column;position:relative;overflow-x:hidden}.lp-bg{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}.lp-orb{position:absolute;border-radius:50%;filter:blur(110px);will-change:transform}.lp-orb-1{width:700px;height:700px;top:-220px;right:-120px;background:radial-gradient(circle,rgba(245,158,11,.22) 0%,transparent 70%);animation:orbDrift1 20s ease-in-out infinite}.lp-orb-2{width:560px;height:560px;bottom:5%;left:-160px;background:radial-gradient(circle,rgba(14,165,233,.18) 0%,transparent 70%);animation:orbDrift2 25s ease-in-out infinite}.lp-orb-3{width:420px;height:420px;top:45%;left:38%;background:radial-gradient(circle,rgba(16,185,129,.12) 0%,transparent 70%);animation:orbDrift3 30s ease-in-out infinite}@keyframes orbDrift1{0%,to{transform:translate(0) scale(1)}50%{transform:translate(-90px,70px) scale(1.08)}}@keyframes orbDrift2{0%,to{transform:translate(0) scale(1)}50%{transform:translate(70px,-90px) scale(.92)}}@keyframes orbDrift3{0%,to{transform:translate(0) scale(1)}33%{transform:translate(50px,45px) scale(1.06)}66%{transform:translate(-45px,-25px) scale(.94)}}.hero-particles-canvas{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:1;pointer-events:none;will-change:contents;contain:strict}.navbar{position:sticky;z-index:100}.layout .navbar{background:#ffffffc7;backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);border-bottom:1px solid #E2E8F0;padding:1.1rem 5%}.layout .navbar.nav-scrolled{background:#fffffff0;box-shadow:0 4px 24px #0f172a14;border-bottom-color:#cbd5e1}.layout .navbar.glass{background:#ffffffc7;border:none;border-bottom:1px solid #E2E8F0;box-shadow:0 1px 4px #0f172a0a}.nav-links{display:flex;align-items:center;gap:1.5rem}.nav-link{color:#475569;text-decoration:none;font-weight:600;font-size:.92rem;transition:color .25s;position:relative;cursor:pointer}.nav-link:hover{color:#0f172a}.nav-link:after{content:"";position:absolute;bottom:-4px;left:0;width:0;height:2px;background:var(--clr-brand-primary);border-radius:2px;transition:width .3s}.nav-link:hover:after{width:100%}.layout .hero-section{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;padding:5rem 5% 4rem;max-width:1400px;margin:0 auto;width:100%}.layout .hero-title{font-size:clamp(2.5rem,5vw,4rem);font-weight:900;line-height:1.08;letter-spacing:-1.5px;color:#0f172a}.layout .hero-subtitle{font-size:1.15rem;color:#475569;line-height:1.7;max-width:480px}.hero-content{display:flex;flex-direction:column;gap:1.5rem}.hero-actions{display:flex;gap:1rem;flex-wrap:wrap}.hero-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.4rem 1rem;background:#fffbeb;border:1px solid #FDE68A;border-radius:100px;font-size:.82rem;font-weight:700;color:#92400e;width:fit-content;box-shadow:0 1px 2px #f59e0b14}.hero-badge-dot{width:8px;height:8px;border-radius:50%;background:#f59e0b;box-shadow:0 0 8px #f59e0bb3;animation:badgePulse 2s ease-in-out infinite}@keyframes badgePulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(1.35)}}.typewriter-line{visibility:hidden;display:inline}.hero-visual{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;min-height:380px}.hero-mockup{width:100%;max-width:460px;border-radius:20px;overflow:hidden;animation:mockupFloat 6s ease-in-out infinite;background:#f8fafc!important;backdrop-filter:blur(24px) saturate(180%)!important;-webkit-backdrop-filter:blur(24px) saturate(180%)!important;border:1px solid #CBD5E1!important;box-shadow:0 0 0 1px #f8fafc,0 28px 70px #0000008c,inset 0 1px #e2e8f0!important}@keyframes mockupFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-14px)}}.mockup-header{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:#f8fafc;border-bottom:1px solid #F1F5F9}.mockup-dots{display:flex;gap:5px}.mockup-dots span{width:10px;height:10px;border-radius:50%}.mockup-dots span:nth-child(1){background:#ef4444;box-shadow:0 0 6px #ef44448c}.mockup-dots span:nth-child(2){background:#f59e0b;box-shadow:0 0 6px #f59e0b8c}.mockup-dots span:nth-child(3){background:#10b981;box-shadow:0 0 6px #10b9818c}.mockup-title{font-size:.78rem;font-weight:600;color:#94a3b8}.mockup-body{padding:1.25rem}.mockup-chart{display:flex;align-items:flex-end;gap:10px;height:120px;padding:.5rem 0}.mockup-bar{flex:1;height:var(--bar-h, 50%);background:var(--bar-color, var(--clr-brand-primary));border-radius:6px 6px 0 0;opacity:0;animation:barGrow .6s ease-out forwards;animation-delay:var(--bar-delay, 0s);transform-origin:bottom}@keyframes barGrow{0%{opacity:0;transform:scaleY(0)}to{opacity:.85;transform:scaleY(1)}}.mockup-stats{display:flex;justify-content:space-around;margin-top:1rem;padding-top:.75rem;border-top:1px solid #F1F5F9}.mockup-stat{display:flex;flex-direction:column;align-items:center;gap:.15rem}.mockup-stat-value{font-size:1.1rem;font-weight:800;color:#0f172a}.mockup-stat-label{font-size:.7rem;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.05em}.floating-element{position:absolute;z-index:2;animation:floatGentle 4s ease-in-out infinite;filter:drop-shadow(0 4px 18px rgba(0,0,0,.35))}.float-1{top:5%;right:-5%;animation-delay:0s}.float-2{bottom:10%;left:-8%;animation-delay:1.2s}.float-3{top:50%;right:-12%;animation-delay:2.4s}@keyframes floatGentle{0%,to{transform:translateY(0) rotate(0)}33%{transform:translateY(-10px) rotate(3deg)}66%{transform:translateY(5px) rotate(-2deg)}}.stats-ribbon{position:relative;z-index:2;padding:3rem 5%;background:#fff;border-top:1px solid #E2E8F0;border-bottom:1px solid #E2E8F0;opacity:0;transform:translateY(20px);transition:opacity .8s,transform .8s}.stats-ribbon.visible{opacity:1;transform:translateY(0)}.stats-ribbon-inner{max-width:1100px;margin:0 auto;display:flex;align-items:center;justify-content:center;gap:2.5rem;flex-wrap:wrap}.stat-counter-item{text-align:center}.stat-counter-value{font-size:2.5rem;font-weight:900;color:#0f172a;line-height:1;font-variant-numeric:tabular-nums}.stat-counter-label{font-size:.82rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.08em;margin-top:.35rem}.stat-ribbon-icon{margin-bottom:.5rem;opacity:.8}.stat-counter-divider{width:1px;height:40px;background:#e2e8f0}.layout .section-hiw,.layout .section-features,.layout .section-science,.layout .section-cta,.layout .section-audience{position:relative;z-index:2;padding:5rem 5%}.section-inner{max-width:1100px;margin:0 auto}.layout .section-heading{font-size:clamp(1.8rem,3.5vw,2.6rem);font-weight:900;text-align:center;margin-bottom:.5rem;color:#0f172a}.layout .section-subheading{text-align:center;color:#64748b;font-size:1.05rem;max-width:560px;margin:0 auto 3rem}.hiw-timeline{display:flex;flex-direction:column;gap:2.5rem;position:relative;padding-left:40px}.hiw-timeline:before{content:"";position:absolute;left:19px;top:0;bottom:0;width:2px;background:linear-gradient(to bottom,#0ea5e9b3,#f59e0bb3,#10b981b3);border-radius:2px}.hiw-step{display:flex;align-items:flex-start;gap:1.5rem;position:relative}.hiw-step-number{width:40px;height:40px;min-width:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:1rem;color:#fff;box-shadow:0 4px 14px #f59e0b4d,0 1px 2px #0f172a14;position:relative;z-index:1}.hiw-step-content h3{font-size:1.15rem;font-weight:800;margin-bottom:.35rem;color:#0f172a}.hiw-step-content p{color:#475569;font-size:.95rem;line-height:1.6}.features-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.feature-card{background:#fff;border:1px solid #E2E8F0;border-radius:18px;padding:1.75rem;transition:transform .35s,box-shadow .35s,border-color .35s,background .35s;position:relative;overflow:hidden;cursor:default;box-shadow:0 1px 3px #0f172a0a}.feature-card:after{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--accent, #0EA5E9) 60%,transparent),transparent);opacity:0;transition:opacity .35s}.feature-card:hover{transform:translateY(-7px);background:#fff;border-color:#cbd5e1;box-shadow:0 20px 40px #0f172a1f,0 4px 10px #0f172a0a}.feature-card:hover:after{opacity:1}.feature-icon-wrap{width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--accent, #0EA5E9) 14%,transparent);color:var(--accent, #0EA5E9);margin-bottom:1rem;box-shadow:0 4px 18px color-mix(in srgb,var(--accent, #0EA5E9) 18%,transparent)}.feature-card h3{font-size:1.05rem;font-weight:800;margin-bottom:.4rem;color:#0f172a}.feature-card p{color:#475569;font-size:.9rem;line-height:1.6}.layout .section-science{background:#f8fafc}.science-cards{display:grid;gap:1.5rem;grid-template-columns:repeat(6,1fr);grid-template-areas:". . apex apex . ." "b1 b1 b2 b2 b3 b3"}.science-cards>.science-card:nth-child(1){grid-area:apex}.science-cards>.science-card:nth-child(2){grid-area:b1}.science-cards>.science-card:nth-child(3){grid-area:b2}.science-cards>.science-card:nth-child(4){grid-area:b3}.science-card{position:relative;background:#fff;border:1px solid #E2E8F0;border-top:4px solid var(--card-accent, #F59E0B);border-radius:16px;padding:1.5rem;transition:transform .3s,border-color .3s,background .3s,box-shadow .3s;box-shadow:0 1px 3px #0f172a0a}.science-cards>.science-card:nth-child(1){--card-accent: #F59E0B}.science-cards>.science-card:nth-child(2){--card-accent: #10B981}.science-cards>.science-card:nth-child(3){--card-accent: #EC4899}.science-cards>.science-card:nth-child(4){--card-accent: #EF4444}.science-card:hover{transform:translateY(-5px);border-color:#fde68a;background:#fffbeb;box-shadow:0 16px 32px #f59e0b24,0 2px 6px #0f172a0f}.science-card--apex{background:linear-gradient(180deg,#fffbeb,#fff 65%);box-shadow:0 4px 12px #f59e0b1a,0 1px 3px #0f172a0a}.science-card--apex .science-card-formula{font-size:1.3rem}.science-card-featured{display:inline-block;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:#b45309;background:#fef3c7;padding:.25rem .6rem;border-radius:999px;margin-bottom:.6rem}.science-card-tag{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--clr-brand-primary);margin-bottom:.75rem}.science-card-formula{font-size:1.15rem;font-weight:700;color:#0f172a;margin-bottom:.75rem;font-family:Georgia,serif;letter-spacing:.02em}.science-card p{font-size:.85rem;color:#64748b;line-height:1.6}.layout .section-cta{background:transparent}.layout .section-cta .section-inner{text-align:center;padding:3.5rem 2.5rem;background:#f8fafc;backdrop-filter:blur(28px);-webkit-backdrop-filter:blur(28px);border:1px solid #E2E8F0;border-radius:28px;position:relative;overflow:hidden}.layout .section-cta .section-inner:before{content:"";position:absolute;top:-100px;left:50%;transform:translate(-50%);width:500px;height:220px;background:radial-gradient(ellipse,rgba(245,158,11,.14) 0%,transparent 70%);pointer-events:none}.cta-heading{font-size:clamp(1.8rem,3.5vw,2.8rem);font-weight:900;line-height:1.15;margin-bottom:1rem;color:#0f172a}.cta-sub{color:#475569;font-size:1.05rem;max-width:520px;margin:0 auto 2rem}.btn-cta-main{display:inline-flex;align-items:center;justify-content:center;padding:1rem 3rem;font-size:1.1rem;font-weight:800;border-radius:16px;border:none;cursor:pointer;background:var(--grad-solar);color:#fff;box-shadow:0 8px 32px #f59e0b73,0 0 70px #f59e0b1f;transition:transform .3s,box-shadow .3s;font-family:inherit}.btn-cta-main:hover{transform:translateY(-3px) scale(1.03);box-shadow:0 16px 50px #f59e0b94,0 0 90px #f59e0b2e}.layout .section-audience{background:transparent}.audience-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:2.5rem}.audience-card{background:#fff;border:1px solid #E2E8F0;border-radius:20px;padding:2rem 1.5rem 1.75rem;display:flex;flex-direction:column;gap:.75rem;transition:transform .3s,box-shadow .3s,border-color .3s,background .3s;position:relative;overflow:hidden;box-shadow:0 1px 3px #0f172a0a}.audience-card:after{content:"";position:absolute;bottom:0;left:10%;right:10%;height:1px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--accent, #0EA5E9) 50%,transparent),transparent);opacity:0;transition:opacity .3s}.audience-card:hover{transform:translateY(-5px);box-shadow:0 16px 40px #0f172a1a,0 2px 6px #0f172a0d;border-color:#cbd5e1;background:#fff}.audience-card:hover:after{opacity:1}.audience-icon{width:56px;height:56px;border-radius:14px;background:color-mix(in srgb,var(--accent) 14%,transparent);display:flex;align-items:center;justify-content:center;color:var(--accent);flex-shrink:0;box-shadow:0 4px 20px color-mix(in srgb,var(--accent) 22%,transparent)}.audience-card h3{font-size:1.15rem;font-weight:800;margin:.25rem 0 0;color:#0f172a}.audience-card p{font-size:.88rem;color:#475569;line-height:1.65;flex:1}.audience-tags{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.25rem}.audience-tag{font-size:.7rem;font-weight:700;padding:.25rem .65rem;border-radius:20px;background:#fffbeb;color:#92400e;letter-spacing:.01em;border:1px solid #FDE68A}@media(max-width:900px){.audience-grid{grid-template-columns:1fr;max-width:480px;margin-left:auto;margin-right:auto}}.footer-contact-btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.55rem 1.25rem;border-radius:8px;background:#f59e0b1f;color:#fbbf24;font-size:.82rem;font-weight:700;text-decoration:none;transition:transform .2s,box-shadow .2s,background .2s;width:fit-content;border:1px solid rgba(245,158,11,.22)}.footer-contact-btn:hover{transform:translateY(-1px);box-shadow:0 4px 20px #f59e0b47;background:#f59e0b33}.landing-footer{position:relative;z-index:2;background:linear-gradient(180deg,#fff,#f8fafc);padding:3rem 5% 1.5rem;border-top:1px solid #E2E8F0;color:#1e293b}.footer-inner{max-width:1100px;margin:0 auto}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:2.5rem;margin-bottom:2rem}.footer-col{display:flex;flex-direction:column;gap:.5rem}.footer-brand{gap:.75rem}.footer-logo{font-size:1.25rem;font-weight:800;background:linear-gradient(135deg,#f59e0b,#f97316);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.footer-tagline{font-size:.82rem;color:#475569;line-height:1.6;max-width:320px}.footer-heading{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#0f172a;margin-bottom:.25rem}.footer-link{font-size:.82rem;color:#475569;text-decoration:none;transition:color .2s;padding:.15rem 0}.footer-link:hover{color:#b45309}.footer-email{word-break:break-all}.footer-social{display:flex;gap:.75rem;margin-top:.5rem}.footer-social-link{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:8px;background:#fff;color:#64748b;border:1px solid #E2E8F0;transition:all .25s;cursor:pointer;box-shadow:0 1px 2px #0f172a0a}.footer-social-link:hover{background:#fffbeb;color:#b45309;border-color:#fde68a;transform:translateY(-2px);box-shadow:0 4px 12px #f59e0b2e}.footer-bottom{border-top:1px solid #E2E8F0;padding-top:1.25rem;text-align:center}.footer-copy{font-size:.78rem;color:#64748b}@media(max-width:768px){.footer-grid{grid-template-columns:1fr;gap:1.5rem}}.reveal-up,.reveal-left,.reveal-right,.reveal-scale{opacity:0;transition:opacity .7s ease,transform .7s ease}.reveal-up{transform:translateY(30px)}.reveal-left{transform:translate(-40px)}.reveal-right{transform:translate(40px)}.reveal-scale{transform:scale(.9)}.reveal-up.revealed{opacity:1;transform:translateY(0)}.reveal-left.revealed,.reveal-right.revealed{opacity:1;transform:translate(0)}.reveal-scale.revealed{opacity:1;transform:scale(1)}.fade-section{opacity:0;transform:translateY(20px);transition:opacity .8s ease,transform .8s ease}.fade-section.visible{opacity:1;transform:translateY(0)}@media(max-width:1024px){.features-grid{grid-template-columns:repeat(2,1fr)}.science-cards{grid-template-columns:repeat(2,1fr);grid-template-areas:"apex apex" "b1 b2" "b3 b3"}}@media(max-width:768px){.layout .hero-section{grid-template-columns:1fr;padding:3rem 5%}.hero-visual,.nav-link{display:none}.features-grid{grid-template-columns:1fr}.science-cards{grid-template-columns:1fr;grid-template-areas:"apex" "b1" "b2" "b3"}.science-card--apex .science-card-formula{font-size:1.15rem}.stats-ribbon-inner{gap:1.5rem}.stat-counter-divider{display:none}.stat-counter-value{font-size:2rem}.hiw-timeline{padding-left:30px}.hiw-timeline:before{left:14px}.layout .section-hiw,.layout .section-features,.layout .section-science,.layout .section-audience,.layout .section-cta{padding:3rem 5%}.layout .section-cta .section-inner{padding:2.5rem 1.5rem;border-radius:20px}}.skip-to-content{position:absolute;top:-100%;left:50%;transform:translate(-50%);background:var(--clr-brand-primary);color:#fff;padding:.5rem 1.5rem;border-radius:0 0 8px 8px;font-weight:600;z-index:1000;text-decoration:none;font-size:.85rem;transition:top .2s}.skip-to-content:focus{top:0}:focus-visible{outline:2px solid var(--clr-brand-primary);outline-offset:2px}.dashboard-content{position:relative;z-index:1}.dash-home-mode .mobile-bottom-nav{display:none}.dash-home-breadcrumb{display:inline-flex;align-items:center;gap:.3rem;background:none;border:none;cursor:pointer;font-family:inherit;font-size:.82rem;font-weight:600;color:var(--clr-text-muted);padding:.2rem .4rem;border-radius:6px;transition:color .2s,background .2s}.dash-home-breadcrumb:hover{color:#f59e0b;background:#f59e0b14}.dash-home{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:calc(100vh - 62px);padding:2rem}.dash-home-greeting{text-align:center;margin-bottom:2.5rem}.dash-home-greeting h1{font-size:1.65rem;font-weight:800;color:#0f172a;margin:0 0 .4rem}.dash-home-greeting p{font-size:.95rem;color:#475569;margin:0}.dash-home-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;max-width:780px;width:100%}.dash-home-card{display:flex;flex-direction:column;align-items:flex-start;gap:.6rem;padding:1.75rem 1.5rem;border-radius:20px;border:1px solid #E2E8F0;background:#fff;box-shadow:0 2px 6px #0f172a0a,0 1px 2px #0f172a08;cursor:pointer;transition:transform .28s cubic-bezier(.34,1.56,.64,1),box-shadow .28s ease,border-color .28s ease,background .28s ease;text-align:left;font-family:inherit;position:relative;overflow:hidden}.dash-home-card:before{content:"";position:absolute;inset:0;border-radius:20px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 12%,transparent) 0%,transparent 60%);opacity:.6;pointer-events:none;transition:opacity .28s ease}.dash-home-card:after{content:"";position:absolute;top:0;left:10%;right:10%;height:1px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--accent) 55%,transparent),transparent);opacity:0;pointer-events:none;transition:opacity .28s ease}.dash-home-card:hover:after{opacity:1}.dash-home-card:hover{transform:translateY(-6px) scale(1.01);background:#fff;box-shadow:0 16px 36px color-mix(in srgb,var(--accent) 18%,rgba(15,23,42,.1)),0 2px 6px #0f172a0a;border-color:color-mix(in srgb,var(--accent) 45%,#CBD5E1)}.dash-home-card:hover:before{opacity:1}.dash-home-card-icon{width:52px;height:52px;border-radius:14px;background:color-mix(in srgb,var(--accent) 14%,#F8FAFC);border:1px solid color-mix(in srgb,var(--accent) 28%,#E2E8F0);box-shadow:0 2px 10px color-mix(in srgb,var(--accent) 20%,transparent);display:flex;align-items:center;justify-content:center;color:var(--accent);position:relative;z-index:1}.dash-home-card h3{font-size:1.1rem;font-weight:800;color:#0f172a;margin:.2rem 0 0;position:relative;z-index:1}.dash-home-card p{font-size:.82rem;color:#475569;line-height:1.6;margin:0;flex:1;position:relative;z-index:1}.dash-home-card-meta{font-size:.72rem;font-weight:700;color:color-mix(in srgb,var(--accent) 65%,#64748b);text-transform:uppercase;letter-spacing:.05em;margin-top:.25rem;position:relative;z-index:1}@media(max-width:700px){.dash-home-cards{grid-template-columns:1fr;max-width:360px}.dash-home{padding:1.5rem 1rem}}.dashboard-layout{background-color:var(--bg);background-image:linear-gradient(var(--grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--grid-line) 1px,transparent 1px);background-size:32px 32px}.dashboard-content>*:not(.dashboard-header){margin-left:0!important;margin-right:0!important}.profile-layout{display:flex;height:calc(100vh - 62px);overflow:hidden}.profile-page{padding:1.25rem 1.75rem!important;max-width:none!important;margin:0!important}.analysis-container{margin:0!important;padding:1.5rem 1.75rem!important}.dashboard-header{height:60px!important;padding:0 1.75rem!important;background:var(--surface)!important;border-bottom:1px solid var(--border)!important;box-shadow:none!important}.dashboard-title{font-size:1.15rem!important;font-weight:800!important;display:flex;align-items:center;gap:.5rem}.project-card{background:#f8fafc!important;backdrop-filter:blur(20px) saturate(180%)!important;-webkit-backdrop-filter:blur(20px) saturate(180%)!important;border:1px solid #E2E8F0!important;box-shadow:0 4px 24px #0f172a14,inset 0 1px #f1f5f9!important}.project-card:hover{transform:translateY(-5px)!important;background:#f1f5f9!important;box-shadow:0 18px 48px #f59e0b1f,0 4px 12px #0f172a0f,inset 0 1px #e2e8f0!important;border-color:#f59e0b47!important}.project-card-footer{background:#f59e0b0a!important;border-top:1px solid #F1F5F9!important}.project-card-metrics{border-top:1px solid #F1F5F9!important}.portfolio-banner{grid-template-columns:repeat(5,1fr)!important;gap:.75rem!important;margin-bottom:1.25rem!important}.portfolio-stat{background:#f8fafc!important;backdrop-filter:blur(20px) saturate(180%)!important;-webkit-backdrop-filter:blur(20px) saturate(180%)!important;border:1px solid #E2E8F0!important;box-shadow:0 4px 16px #0f172a0f,inset 0 1px #f1f5f9!important;padding:.85rem 1rem!important;border-radius:16px!important;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease!important}.portfolio-stat:hover{box-shadow:0 12px 28px #f59e0b1a,inset 0 1px #e2e8f0!important;border-color:#f59e0b40!important;transform:translateY(-3px)!important}.portfolio-stat-icon{width:38px!important;height:38px!important;border-radius:10px!important;font-size:1.1rem!important}.portfolio-stat-value{font-size:1.25rem!important}.portfolio-stat-label{font-size:.68rem!important}.panel-card{background:#f8fafc!important;backdrop-filter:blur(16px) saturate(160%)!important;-webkit-backdrop-filter:blur(16px) saturate(160%)!important;border:1px solid #E2E8F0!important;box-shadow:0 4px 20px #0f172a14!important}.panel-card-header{background:transparent!important;border-bottom:1px solid #E2E8F0!important}.results-tab-bar{background:#f8fafc!important;backdrop-filter:blur(14px)!important;-webkit-backdrop-filter:blur(14px)!important;border:1px solid #E2E8F0!important;border-radius:16px!important;box-shadow:0 2px 14px #0f172a0f!important}.results-tab{border-radius:10px!important;transition:all .2s!important}.results-tab:hover{background:#f59e0b14!important;color:var(--clr-brand-primary)!important}.results-tab.active{background:var(--grad-solar)!important;color:#fff!important;box-shadow:0 4px 16px #f59e0b59!important}.analysis-section,.section-card{background:#f8fafc!important;backdrop-filter:blur(14px)!important;-webkit-backdrop-filter:blur(14px)!important;border:1px solid #E2E8F0!important;box-shadow:0 4px 18px #0f172a14!important}.profile-hero{background:#f8fafc!important;backdrop-filter:blur(20px) saturate(180%)!important;-webkit-backdrop-filter:blur(20px) saturate(180%)!important;border:1px solid #E2E8F0!important;box-shadow:0 8px 36px #0f172a1a!important}.profile-stat-card{background:#f8fafc!important;backdrop-filter:blur(14px) saturate(160%)!important;-webkit-backdrop-filter:blur(14px) saturate(160%)!important;border:1px solid #E2E8F0!important;box-shadow:0 4px 16px #0f172a0f!important;transition:transform .2s,box-shadow .2s!important}.profile-stat-card:hover{transform:translateY(-2px)!important;box-shadow:0 8px 28px #f59e0b1f!important}.profile-badge-card{background:#f8fafc!important;-webkit-backdrop-filter:blur(12px)!important;backdrop-filter:blur(12px)!important;border:1px solid #E2E8F0!important;box-shadow:0 2px 10px #0f172a0f!important}.profile-section>.glass,.profile-page>.glass{background:#f8fafc!important;-webkit-backdrop-filter:blur(16px) saturate(160%)!important;backdrop-filter:blur(16px) saturate(160%)!important;border:1px solid #E2E8F0!important}.profile-layout{display:flex;height:calc(100vh - 48px);overflow:hidden}.profile-sidebar{width:310px;flex-shrink:0;overflow-y:auto;padding:1.25rem 1.1rem;background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;gap:0}.profile-sidebar-header{display:flex;flex-direction:column;align-items:center;text-align:center;padding-bottom:.75rem}.profile-sidebar .profile-avatar-xl{width:72px;height:72px;font-size:2rem;margin-bottom:.75rem}.profile-sidebar-name{font-size:1.1rem;font-weight:700;color:var(--text);margin:0 0 .15rem}.profile-sidebar-email{font-size:.78rem;color:var(--text-muted);margin:0 0 .6rem}.profile-sidebar-badges{display:flex;flex-wrap:wrap;justify-content:center;gap:.3rem;margin-bottom:.4rem}.profile-sidebar-badge{font-size:.68rem;font-weight:600;padding:.2rem .55rem;border-radius:20px;text-transform:capitalize}.profile-sidebar-member{font-size:.7rem;color:var(--text-muted)}.profile-sidebar-divider{height:1px;background:var(--border);margin:.75rem 0}.profile-sidebar-section{display:flex;flex-direction:column;gap:.4rem}.profile-sidebar-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin-bottom:.15rem}.profile-sidebar-stat-row{display:flex;justify-content:space-between;align-items:center;font-size:.8rem;padding:.2rem 0}.profile-sidebar-stat-label{color:var(--text-muted)}.profile-sidebar-stat-val{font-weight:700;color:var(--text)}.profile-sidebar-progress{height:4px;border-radius:var(--r-pill);background:var(--surface-2);overflow:hidden;margin:.1rem 0 .3rem}.profile-sidebar-progress-fill{height:100%;border-radius:var(--r-pill);background:var(--accent);transition:width .5s ease}.profile-sidebar-cat{margin-bottom:.35rem}.profile-sidebar-cat-head{display:flex;justify-content:space-between;font-size:.78rem;color:var(--text-muted);margin-bottom:.15rem}.profile-sidebar-cat-frac{color:var(--text-faint);font-size:.72rem}.profile-sidebar-badges-list{display:flex;flex-wrap:wrap;gap:.3rem}.profile-sidebar-achievement{font-size:.72rem;font-weight:600;padding:.2rem .5rem;border-radius:var(--r-sm);background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent)}.profile-content{flex:1;overflow-y:auto;padding:1.5rem 2rem;display:flex;flex-direction:column;gap:1.25rem}.profile-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:1.5rem}.profile-card-title{display:flex;align-items:center;gap:.5rem;font-size:1rem;font-weight:800;color:var(--clr-text-main);margin:0 0 1rem}.profile-card-desc{font-size:.82rem;color:var(--clr-text-muted);margin:-.5rem 0 1rem}.profile-card-danger{border-color:color-mix(in srgb,var(--danger) 30%,transparent);background:color-mix(in srgb,var(--danger) 6%,transparent)}.profile-field{display:flex;flex-direction:column;gap:.3rem}.profile-field-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--clr-text-muted)}.profile-field-input{font-size:.82rem;padding:.55rem .75rem;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-2);color:var(--text);font-family:inherit;transition:border-color .2s,box-shadow .2s;width:100%;box-sizing:border-box}.profile-field-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}.profile-field-input::placeholder{color:var(--text-faint)}textarea.profile-field-input{resize:vertical}select.profile-field-input{cursor:pointer}.profile-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem 1.25rem}.profile-security-fields{display:flex;flex-direction:column;gap:.75rem;max-width:400px}.profile-card-actions{display:flex;justify-content:flex-end;align-items:center;gap:1rem;margin-top:1.25rem}.profile-feedback{font-size:.82rem;color:var(--accent)}.profile-btn-save{display:inline-flex;align-items:center;gap:.4rem;padding:.55rem 1.25rem;border-radius:var(--r-md);border:none;background:var(--accent);color:var(--on-accent);font-size:.82rem;font-weight:700;font-family:inherit;cursor:pointer;transition:background .2s}.profile-btn-save:hover{background:color-mix(in srgb,var(--accent) 88%,#000)}.profile-btn-secondary{padding:.5rem 1.1rem;border-radius:var(--r-md);border:1px solid var(--border);background:transparent;color:var(--text);font-size:.82rem;font-weight:600;font-family:inherit;cursor:pointer;transition:border-color .2s,background .2s}.profile-btn-secondary:hover{border-color:var(--border-strong);background:var(--surface-2)}.profile-btn-danger{padding:.5rem 1.1rem;border-radius:var(--r-md);border:1px solid color-mix(in srgb,var(--danger) 35%,transparent);background:color-mix(in srgb,var(--danger) 6%,transparent);color:var(--danger);font-size:.82rem;font-weight:600;font-family:inherit;cursor:pointer;transition:background .2s}.profile-btn-danger:hover{background:color-mix(in srgb,var(--danger) 12%,transparent)}@media(max-width:900px){.profile-layout{flex-direction:column;height:auto}.profile-sidebar{width:100%;border-right:none;border-bottom:1px solid var(--border);max-height:300px}.profile-content{padding:1rem}.profile-form-grid{grid-template-columns:1fr}.profile-form-grid .profile-field[style*="grid-column:span 2"]{grid-column:span 1}}.learn-hub-container{height:calc(100vh - 62px)!important;gap:0!important;border-radius:0!important;grid-template-columns:280px 1fr!important;overflow:hidden!important;margin:0!important;width:100%!important;padding:0!important}.creation-panel{background:#f8fafc!important;backdrop-filter:blur(28px) saturate(180%)!important;-webkit-backdrop-filter:blur(28px) saturate(180%)!important;border:1px solid #E2E8F0!important;box-shadow:0 20px 52px #0f172a2e,0 2px 6px #0f172a0f!important}.creation-panel-header{border-bottom:1px solid #E2E8F0!important}.projects-search-input,.projects-sort-select{background:#f1f5f9!important;-webkit-backdrop-filter:blur(12px)!important;backdrop-filter:blur(12px)!important;border:1px solid #CBD5E1!important;color:var(--clr-text-main)!important;transition:border-color .2s,box-shadow .2s!important}.projects-search-input:focus,.projects-sort-select:focus{border-color:#f59e0b73!important;box-shadow:0 0 0 3px #f59e0b1a!important}.view-toggle-group{background:#f8fafc!important;-webkit-backdrop-filter:blur(12px)!important;backdrop-filter:blur(12px)!important;border:1px solid #CBD5E1!important}.dashboard-content>div[style*="padding: 2rem 2.5rem"],.dashboard-content>div[style*="padding:2rem 2.5rem"]{padding:1.5rem 2rem!important}.projects-toolbar{gap:.6rem!important;margin-bottom:.75rem!important}.projects-search-input{font-size:.85rem!important;padding:.5rem 1rem .5rem 2rem!important}.projects-sort-select{font-size:.82rem!important;padding:.5rem .85rem!important}.projects-empty-state{background:linear-gradient(180deg,#fff,#f8fafc)!important;border:1px solid #E2E8F0!important;box-shadow:0 8px 24px #0f172a0f,0 1px 2px #0f172a08!important;border-radius:24px!important;padding:3rem 2rem!important;text-align:center!important;max-width:600px!important;margin:1rem auto!important}.projects-empty-icon{font-size:3rem!important;margin:0 auto 1rem!important;width:84px!important;height:84px!important;display:flex!important;align-items:center!important;justify-content:center!important;border-radius:50%!important;background:linear-gradient(135deg,#fef3c7,#fffbeb)!important;box-shadow:0 4px 14px #f59e0b2e,inset 0 1px #fffc!important;border:1px solid #FDE68A!important}.projects-empty-title{font-size:1.5rem!important;font-weight:800!important;margin-bottom:.5rem!important;color:var(--clr-text-main)!important}.projects-empty-desc{font-size:.9rem!important;color:var(--clr-text-muted)!important;max-width:420px!important;margin:0 auto 1.5rem!important;line-height:1.6!important}.category-chip{background:#f8fafc!important;-webkit-backdrop-filter:blur(10px)!important;backdrop-filter:blur(10px)!important;border:1px solid #CBD5E1!important;transition:all .2s!important;color:var(--clr-text-muted)!important}.category-chip:hover:not(.active){border-color:#f59e0b4d!important;background:#f59e0b12!important;color:var(--clr-brand-primary)!important}.btn-primary{box-shadow:0 4px 20px #f59e0b61!important}.btn-primary:hover{box-shadow:0 8px 30px #f59e0b85!important}.pro-input-field,.analysis-container input[type=number],.analysis-container select,.analysis-container input[type=text]{background-color:#f1f5f9!important;border:1.5px solid #CBD5E1!important;border-radius:12px!important;color:var(--clr-text-main)!important;transition:border-color .2s,box-shadow .2s!important}.pro-input-field:focus,.analysis-container input:focus,.analysis-container select:focus{border-color:#f59e0b80!important;box-shadow:0 0 0 3px #f59e0b1f!important;outline:none!important}.continue-card{background:#f8fafc!important;-webkit-backdrop-filter:blur(16px)!important;backdrop-filter:blur(16px)!important;border:1px solid #E2E8F0!important;box-shadow:0 6px 24px #0f172a14!important}.modal-overlay,.pvgis-modal,.glossary-modal,.formula-modal{-webkit-backdrop-filter:blur(8px)!important;backdrop-filter:blur(8px)!important}.modal-content,.pvgis-modal-content,.glossary-modal-content{background:#0d1117eb!important;backdrop-filter:blur(28px) saturate(180%)!important;-webkit-backdrop-filter:blur(28px) saturate(180%)!important;border:1px solid #CBD5E1!important;box-shadow:0 24px 64px #0f172a1f!important}.pv-page{display:flex;flex-direction:column;height:calc(100vh - 62px);overflow:hidden;background:#fff}.pv-page-header{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.55rem 1.25rem;background:#fff;border-bottom:1px solid #e2e8f0;box-shadow:0 1px #0f172a05;z-index:5;min-height:56px}.pv-page-header-left{display:flex;align-items:center;gap:.75rem;min-width:0}.pv-page-header-mark{width:4px;height:28px;border-radius:2px;background:var(--brand, #F59E0B);flex-shrink:0}.pv-page-header-titles{display:flex;flex-direction:column;line-height:1.15;min-width:0}.pv-page-header-title{font-size:.95rem;font-weight:800;color:#0f172a;letter-spacing:-.005em;white-space:nowrap}.pv-page-header-sub{font-size:.66rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.08em;white-space:nowrap}.pv-page-header-actions{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;justify-content:flex-end}.pv-page-header-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.45rem .85rem;font-size:.78rem;font-weight:700;border-radius:8px;border:1px solid transparent;cursor:pointer;font-family:inherit;transition:background .15s,border-color .15s,color .15s,transform .05s,opacity .15s;white-space:nowrap;letter-spacing:.01em;line-height:1.1}.pv-page-header-btn svg{flex-shrink:0;opacity:.95}.pv-page-header-btn-primary{background:var(--brand, #F59E0B);color:#fff;border-color:var(--brand, #F59E0B);box-shadow:0 1px 2px #0f172a0f}.pv-page-header-btn-primary:hover{filter:brightness(1.05);transform:translateY(-1px)}.pv-page-header-btn-primary:active{transform:translateY(0)}.pv-page-header-btn-ghost{background:#fff;color:#1e293b;border-color:#e2e8f0}.pv-page-header-btn-ghost:hover{background:#f8fafc;border-color:#cbd5e1;color:#0f172a}.pv-page-header-btn[disabled],.pv-page-header-btn.is-disabled{opacity:.45;cursor:not-allowed;pointer-events:none;filter:grayscale(.4)}.pv-lazy-loading{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;min-height:60vh;color:#64748b;font-size:.95rem;font-weight:500}.pv-lazy-spinner{width:40px;height:40px;border:3px solid #E2E8F0;border-top-color:#10b981;border-radius:50%;animation:pv-lazy-spin .8s linear infinite}@keyframes pv-lazy-spin{to{transform:rotate(360deg)}}.pv-lazy-error{flex:1;display:flex;align-items:center;justify-content:center;min-height:40vh;padding:2rem;text-align:center;color:#b91c1c;font-size:.95rem}.pv-layout-container{display:flex;flex:1;min-height:0;overflow:hidden}.pv-layout-sidebar{width:372px;flex-shrink:0;overflow-y:auto;padding:1rem 1.1rem;background:#fff;border-right:1px solid #E2E8F0;display:flex;flex-direction:column;gap:0;color:#1e293b}.pv-sidebar-title{font-size:1rem;font-weight:800;color:#0f172a;margin:0 0 .75rem}.pv-sidebar-locked{pointer-events:none;opacity:.35;filter:grayscale(.5);-webkit-user-select:none;user-select:none;position:relative}.pv-sidebar-locked:before{content:"";position:absolute;inset:0;z-index:5;cursor:not-allowed}#pv-sidebar-controls{transition:opacity .3s ease,filter .3s ease}.pv-map-wrap{flex:1;position:relative;min-width:0}.pv-map{width:100%;height:100%}.pv-map-hint{position:absolute;bottom:1.5rem;left:50%;transform:translate(-50%);background:#fffffff2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:.6rem 1.25rem;border-radius:12px;font-size:.82rem;color:#475569;box-shadow:0 4px 16px #0f172a2e;pointer-events:none;z-index:5;white-space:nowrap;border:1px solid #E2E8F0}.pv-control-group{margin-bottom:.75rem}.pv-label{font-size:.75rem;font-weight:700;color:#475569;margin-bottom:.3rem;display:block;text-transform:uppercase;letter-spacing:.03em}.pv-input{width:100%;padding:.45rem .6rem;border:1px solid #CBD5E1;border-radius:10px;font-size:.82rem;color:#0f172a;background:#fff;transition:border-color .2s;box-sizing:border-box;color-scheme:light}.pv-input:focus{outline:none;border-color:var(--clr-brand-primary);box-shadow:0 0 0 3px #f59e0b2e}.pv-input-sm{padding:.35rem .5rem;font-size:.8rem}.pv-input::placeholder{color:#94a3b8;font-weight:400}select.pv-input option,.pv-input optgroup{color:#1e293b;background-color:#fff;font-weight:600}select.pv-input option:checked{background-color:#fef3c7;color:#78350f}select.pv-input option:disabled{color:#94a3b8}.pv-search-modes{display:inline-flex;background:#f1f5f9;border:1px solid #E2E8F0;border-radius:8px;padding:3px;margin-bottom:.4rem;gap:2px;width:100%}.pv-sm-btn{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:5px;border:none;background:transparent;padding:.34rem .5rem;font-size:.72rem;font-weight:600;color:#64748b;border-radius:6px;cursor:pointer;transition:background .15s,color .15s,box-shadow .15s;line-height:1;letter-spacing:.01em}.pv-sm-btn svg{opacity:.75;flex-shrink:0}.pv-sm-btn:hover:not(.active){color:#0f172a}.pv-sm-btn:hover svg{opacity:1}.pv-sm-btn.active{background:#fff;color:#b45309;box-shadow:0 1px 3px #0f172a14}.pv-sm-btn.active svg{opacity:1}.pv-search-mode-panel{display:block}.pv-coord-row{display:flex;gap:5px;align-items:stretch}.pv-coord-input{flex:1 1 0;min-width:0;padding:.42rem .55rem!important;font-size:.78rem!important;font-variant-numeric:tabular-nums}.pv-coord-go-btn{flex:0 0 auto;padding:0 .85rem;border:none;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;font-size:.74rem;font-weight:700;letter-spacing:.02em;border-radius:10px;cursor:pointer;transition:filter .15s,transform .1s;box-shadow:0 2px 6px #f59e0b4d}.pv-coord-go-btn:hover{filter:brightness(1.06)}.pv-coord-go-btn:active{transform:translateY(1px)}.pv-coord-err{margin-top:.35rem;padding:.35rem .55rem;background:#dc262614;border-left:3px solid #dc2626;border-radius:5px;color:#b91c1c;font-size:.72rem;font-weight:500}.pv-coord-hint{margin-top:.4rem;font-size:.66rem;color:#94a3b8;line-height:1.35;font-style:italic}.pv-row{display:flex;gap:.5rem}.pv-field{flex:1}.pv-field-label{font-size:.7rem;color:#64748b;display:block;margin-bottom:.15rem}.pv-slider{width:100%;accent-color:#F59E0B;margin-top:.25rem}.pv-range-labels{display:flex;justify-content:space-between;font-size:.62rem;color:#64748b;margin-top:.15rem}.pv-divider{height:1px;background:#e2e8f0;margin:.4rem 0 .6rem}.pv-actions{display:flex;flex-direction:column;gap:.4rem}.pv-btn{display:flex;align-items:center;justify-content:center;gap:.4rem;width:100%;padding:.5rem .7rem;border:none;border-radius:10px;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .2s}.pv-btn-draw{background:#f8fafc;color:#0f172a;border:1px solid #CBD5E1}.pv-btn-draw:hover{background:#f1f5f9;border-color:#94a3b8}.pv-btn-fill{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;box-shadow:0 2px 10px #f59e0b4d}.pv-btn-fill:hover{box-shadow:0 4px 16px #f59e0b73;transform:translateY(-1px)}.pv-btn-fill:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.pv-btn-clear-all{background:transparent;color:#64748b;font-size:.76rem}.pv-btn-clear-all:hover{color:#ef4444}.pv-btn-active{background:#f59e0b26!important;border-color:#f59e0b8c!important;color:#b45309!important}.pv-btn-icon{width:36px;height:36px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border:1px solid #CBD5E1;border-radius:8px;background:#f8fafc;cursor:pointer;transition:all .2s;color:#475569}.pv-btn-icon:hover{background:#f1f5f9;color:#0f172a;border-color:#94a3b8}.pv-btn-delete-mode.pv-btn-active svg{stroke:#ef4444}.pv-roof-list,.pv-array-list{display:flex;flex-direction:column;gap:.3rem;max-height:150px;overflow-y:auto}.pv-roof-item,.pv-array-item{display:flex;align-items:center;gap:.5rem;padding:.4rem .55rem;border-radius:8px;background:#f8fafc;border:1.5px solid #E2E8F0;cursor:pointer;transition:all .15s}.pv-roof-item:hover,.pv-array-item:hover{background:#f1f5f9;border-color:#cbd5e1}.pv-roof-item.active,.pv-array-item.active{background:#fef3c7;border-color:#f59e0b8c}.pv-roof-color{width:12px;height:12px;border-radius:50%;flex-shrink:0}.pv-roof-info{flex:1;min-width:0;display:flex;flex-direction:column}.pv-roof-name{font-size:.82rem;font-weight:600;color:#0f172a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pv-roof-meta{font-size:.68rem;color:#64748b}.pv-roof-del{width:22px;height:22px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;color:#94a3b880;font-size:1rem;font-weight:700;cursor:pointer;border-radius:4px;flex-shrink:0;transition:all .15s}.pv-roof-del:hover{color:#ef4444;background:#ef444414}.pv-empty-hint{font-size:.76rem;color:#64748b;padding:.4rem 0;font-style:italic}.pv-obstacle-list{display:flex;flex-direction:column;gap:.25rem}.pv-obs-item{display:flex;flex-direction:column;gap:.25rem;font-size:.78rem;color:#475569;padding:.4rem .5rem;border-radius:6px;border:1px solid rgba(239,68,68,.3);background:#ef44440f}.pv-obs-item:hover{background:#ef44441a}.pv-obs-header{display:flex;align-items:center;gap:.4rem;width:100%}.pv-obs-header .pv-roof-del{margin-left:auto}.pv-obs-fields{display:flex;gap:.5rem;width:100%}.pv-obs-fields .pv-field{flex:1}.pv-shading-hint{font-size:.72rem;color:#5b21b6;background:#f5f3ff;border:1px solid #DDD6FE;border-radius:8px;padding:.4rem .6rem;margin-top:.35rem;line-height:1.3}.pv-shading-hint strong{color:#4c1d95}.pv-tilt-hint{font-size:.72rem;color:#92400e;background:#fffbeb;border:1px solid #FDE68A;border-radius:8px;padding:.4rem .6rem;margin-top:.35rem;line-height:1.3}.pv-btn-auto{padding:.25rem .5rem;font-size:.68rem;font-weight:700;border:1px solid #a78bfa;border-radius:5px;background:#f5f3ff;color:#1e1b4b;cursor:pointer;transition:all .15s;white-space:nowrap;line-height:1}.pv-btn-auto:hover{background:#ede9fe;border-color:#7c3aed;color:#0f172a}.pv-btn-auto:active{background:#ddd6fe;transform:scale(.95)}.pv-btn-smart{border-color:#10b981;background:#ecfdf5;color:#064e3b}.pv-btn-smart:hover{border-color:#059669;background:#d1fae5;color:#022c22}.pv-btn-smart-fill{display:flex;align-items:center;gap:.4rem;padding:.55rem .8rem;font-size:.82rem;font-weight:700;border:2px solid #7c3aed;border-radius:10px;background:linear-gradient(135deg,#7c3aed,#6d28d9);color:#fff;cursor:pointer;transition:all .2s;width:100%;justify-content:center}.pv-btn-smart-fill:hover{background:linear-gradient(135deg,#8b5cf6,#7c3aed);box-shadow:0 2px 8px #7c3aed4d;transform:translateY(-1px)}.pv-btn-smart-fill:active{transform:translateY(0);box-shadow:none}.pv-btn-smart-fill svg{stroke:#fff}.pv-sel-toolbar{position:absolute;top:64px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:.7rem;padding:6px 10px;background:#fffffff7;backdrop-filter:blur(14px) saturate(180%);-webkit-backdrop-filter:blur(14px) saturate(180%);border:1px solid rgba(124,58,237,.4);border-radius:10px;box-shadow:0 6px 22px #0f172a2e,0 0 0 1px #7c3aed1a;z-index:35;color:#1e293b;font-size:.74rem;animation:pvSelToolbarIn .18s cubic-bezier(.2,.9,.4,1.2)}@keyframes pvSelToolbarIn{0%{transform:translate(-50%) translateY(-6px);opacity:0}to{transform:translate(-50%) translateY(0);opacity:1}}.pv-sel-count{display:flex;align-items:center;gap:.4rem;padding-right:.6rem;border-right:1px solid #E2E8F0;white-space:nowrap;font-weight:600;color:#475569}.pv-sel-count strong{font-size:.95rem;font-weight:800;color:#6d28d9;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.pv-sel-dot{width:8px;height:8px;border-radius:50%;background:#7c3aed;box-shadow:0 0 8px #7c3aed8c;animation:pvSelPulse 1.6s ease-in-out infinite}@keyframes pvSelPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(.85)}}.pv-sel-actions{display:flex;align-items:center;gap:.25rem}.pv-sel-btn{display:inline-flex;align-items:center;gap:.35rem;padding:5px 9px;background:#f8fafc;border:1px solid #CBD5E1;border-radius:6px;color:#1e293b;font-size:.72rem;font-weight:600;font-family:inherit;cursor:pointer;transition:all .13s;white-space:nowrap;line-height:1}.pv-sel-btn:hover:not(:disabled){background:#ede9fe;border-color:#a78bfa;color:#5b21b6;transform:translateY(-1px)}.pv-sel-btn:active:not(:disabled){transform:translateY(0)}.pv-sel-btn:disabled{opacity:.35;cursor:not-allowed}.pv-sel-btn svg{stroke:currentColor}.pv-sel-btn-danger:hover:not(:disabled){background:#fee2e2;border-color:#fca5a5;color:#991b1b}.pv-sel-sep{display:inline-block;width:1px;height:16px;background:#e2e8f0;margin:0 .2rem}.pv-shade-suggest{margin-top:.5rem;padding:.5rem .55rem .6rem;background:linear-gradient(135deg,#f59e0b14,#ef44440d);border:1px solid rgba(245,158,11,.3);border-radius:8px}.pv-shade-suggest-hdr{font-size:.68rem;font-weight:800;color:#b45309;text-transform:uppercase;letter-spacing:.04em;margin-bottom:.35rem;display:flex;align-items:center;gap:.3rem}.pv-shade-suggest-hdr:before{content:"";display:inline-block;width:3px;height:11px;background:linear-gradient(180deg,#f59e0b,#dc2626);border-radius:2px}.pv-shade-card{background:#ffffffb3;border:1px solid rgba(251,191,36,.35);border-radius:6px;padding:.45rem .55rem;margin-bottom:.35rem}.pv-shade-card:last-child{margin-bottom:0}.pv-shade-card-hdr{display:flex;align-items:baseline;gap:.3rem;font-size:.7rem;color:#78350f;line-height:1.4;margin-bottom:.3rem}.pv-shade-ico{color:#dc2626;font-size:.85rem}.pv-shade-tips{list-style:disc;margin:0 0 0 1.1rem;padding:0;font-size:.66rem;color:#334155;line-height:1.55}.pv-shade-tips li{margin:.12rem 0}.pv-shade-tips b{color:#0f172a}.pv-modal{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center}.pv-modal-backdrop{position:absolute;inset:0;background:#0f172aa6;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.pv-modal-card{position:relative;width:min(740px,calc(100vw - 2rem));max-height:calc(100vh - 2rem);background:#fff;border-radius:14px;box-shadow:0 24px 60px #0f172a1a;overflow:hidden;display:flex;flex-direction:column;color:#0f172a;color-scheme:light}.pv-modal-header{display:flex;align-items:flex-start;gap:1rem;padding:1rem 1.25rem;background:linear-gradient(135deg,#fff7ed,#fff);border-bottom:1px solid #f1f5f9}.pv-modal-title{margin:0;font-size:1rem;font-weight:800;color:#0f172a;letter-spacing:-.01em}.pv-modal-subtitle{margin-top:.2rem;font-size:.74rem;color:#64748b;line-height:1.5}.pv-modal-close{background:transparent;border:none;font-size:1.4rem;line-height:1;cursor:pointer;color:#64748b;padding:.2rem .4rem;border-radius:6px}.pv-modal-close:hover{color:#0f172a;background:#f1f5f9}.pv-proj-btn{background:#fff;border:1px solid #e2e8f0;color:#475569;font-size:.62rem;font-weight:700;letter-spacing:.03em;padding:.2rem .45rem;border-radius:5px;cursor:pointer;transition:all .15s;line-height:1;text-transform:uppercase}.pv-proj-btn:hover:not([disabled]){background:#f0f9ff;border-color:#0ea5e9;color:#0369a1}.pv-proj-btn[disabled]{opacity:.4;cursor:not-allowed}.pv-proj-btn.pv-proj-btn-danger:hover:not([disabled]){background:#fef2f2;border-color:#ef4444;color:#b91c1c}.pv-project-modal{position:fixed;inset:0;display:none;align-items:center;justify-content:center;z-index:12000}.pv-project-modal-backdrop{position:absolute;inset:0;background:#0f172a8c;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.pv-project-modal-card{position:relative;background:#fff;border-radius:14px;box-shadow:0 20px 60px #0f172a4d,0 2px 8px #0f172a1a;width:min(420px,92vw);max-height:90vh;overflow:auto;display:flex;flex-direction:column;animation:pv-modal-in .2s cubic-bezier(.16,1,.3,1)}.pv-project-modal-welcome{width:min(520px,92vw);border-top:5px solid #F59E0B}@keyframes pv-modal-in{0%{transform:translateY(8px) scale(.98);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.pv-project-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem .6rem}.pv-project-modal-header h3{margin:0;font-size:1.05rem;font-weight:800;color:#0f172a;letter-spacing:-.01em}.pv-project-modal-body{padding:.25rem 1.25rem .9rem}.pv-project-modal-label{display:block;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#64748b;margin-bottom:.35rem}.pv-project-modal-input{width:100%;padding:.6rem .75rem;border:1px solid #e2e8f0;border-radius:8px;font-size:.9rem;color:#1e293b;background:#fff;transition:all .15s}.pv-project-modal-input:focus{outline:none;border-color:#0ea5e9;box-shadow:0 0 0 3px #0ea5e926}.pv-project-modal-input.pv-input-error{border-color:#ef4444;box-shadow:0 0 0 3px #ef444426}.pv-project-modal-hint{font-size:.72rem;color:#94a3b8;margin:.4rem 0 0;line-height:1.4}.pv-project-modal-actions{display:flex;gap:.5rem;justify-content:flex-end;padding:.75rem 1.25rem 1.1rem;border-top:1px solid #f1f5f9}.pv-project-modal-btn{padding:.55rem 1.1rem;border-radius:8px;font-size:.82rem;font-weight:700;cursor:pointer;border:1px solid transparent;transition:all .15s}.pv-project-modal-btn-ghost{background:#fff;color:#475569;border-color:#e2e8f0}.pv-project-modal-btn-ghost:hover{background:#f8fafc;color:#0f172a}.pv-project-modal-btn-primary{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;box-shadow:0 2px 6px #f59e0b4d}.pv-project-modal-btn-primary:hover{background:linear-gradient(135deg,#d97706,#b45309);box-shadow:0 4px 10px #f59e0b66;transform:translateY(-1px)}.pv-modal-body{padding:1rem 1.25rem;overflow-y:auto;flex:1}.pv-modal-footer{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:#f8fafc;border-top:1px solid #e2e8f0}.pv-brand-grid{display:grid;grid-template-columns:230px 1fr;gap:1.25rem}.pv-brand-col{display:flex;flex-direction:column;gap:.55rem}.pv-brand-label{font-size:.7rem;font-weight:700;color:#334155;text-transform:uppercase;letter-spacing:.04em;margin-top:.25rem}.pv-brand-input{background:#fff!important;color:#0f172a!important;border:1px solid #cbd5e1!important;color-scheme:light}.pv-brand-input:focus{border-color:#7c3aed!important;box-shadow:0 0 0 3px #7c3aed2e!important}.pv-brand-textarea{min-height:50px;resize:vertical;font-family:inherit}.pv-brand-row2{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.pv-brand-logo-row{display:flex;gap:.6rem;align-items:center}.pv-brand-logo-preview{width:110px;height:110px;border:2px dashed #cbd5e1;border-radius:10px;background:#f8fafc;display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0}.pv-brand-logo-preview img{max-width:100%;max-height:100%;object-fit:contain}.pv-brand-logo-placeholder{font-size:.68rem;color:#94a3b8;font-weight:600}.pv-brand-logo-actions{display:flex;flex-direction:column;gap:.35rem}.pv-brand-color-row{display:flex;align-items:center;gap:.6rem}.pv-brand-color-swatch{width:44px;height:32px;padding:2px;border:1px solid #cbd5e1;border-radius:6px;cursor:pointer;background:#fff}.pv-brand-color-hint{font-size:.66rem;color:#64748b;line-height:1.45}.pv-brand-status{margin-top:.75rem;padding:.5rem .7rem;border-radius:6px;font-size:.72rem;font-weight:600;line-height:1.45}.pv-brand-status.ok{background:#ecfdf5;color:#047857;border-left:3px solid #10b981}.pv-brand-status.err{background:#fef2f2;color:#b91c1c;border-left:3px solid #ef4444}.pv-btn-offer{background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;box-shadow:0 4px 12px #10b98159;transition:transform .12s ease,box-shadow .12s ease,filter .12s ease}.pv-btn-offer:hover{filter:brightness(1.05);transform:translateY(-1px);box-shadow:0 6px 16px #10b98173}.pv-btn-offer-generate{background:linear-gradient(135deg,#10b981,#059669)!important;color:#fff!important;border:none!important;box-shadow:0 4px 12px #10b98159!important}.pv-btn-offer-generate:hover{filter:brightness(1.05)}.pv-offer-card{max-width:920px;width:calc(100vw - 2rem)}.pv-offer-section-title{font-size:.7rem;font-weight:700;color:#047857;text-transform:uppercase;letter-spacing:.07em;margin:1.1rem 0 .5rem;padding-bottom:.3rem;border-bottom:1.5px solid #d1fae5}.pv-offer-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:.55rem;margin-bottom:.4rem}.pv-offer-summary-card{display:flex;flex-direction:column;gap:.2rem;padding:.55rem .7rem;background:linear-gradient(180deg,#ecfdf5,#d1fae5);border:1px solid #6ee7b7;border-radius:8px}.pv-offer-summary-lbl{font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#047857}.pv-offer-summary-val{font-size:.92rem;font-weight:800;color:#064e3b}.pv-offer-pr-row{display:grid;grid-template-columns:repeat(4,1fr);gap:.6rem}.pv-offer-pr-row>div{min-width:0}.pv-offer-pr-row .pv-input{width:100%}@media(max-width:720px){.pv-offer-summary,.pv-offer-pr-row{grid-template-columns:repeat(2,1fr)}}.pv-offer-items{display:flex;flex-direction:column;gap:.4rem}.pv-offer-item-row{display:grid;grid-template-columns:1.6fr 1.4fr 1fr .9fr;gap:.6rem;align-items:center;padding:.5rem .6rem;background:#f8fafc;border:1px solid #e2e8f0;border-left:3px solid #10B981;border-radius:8px}.pv-offer-item-name{font-size:.84rem;font-weight:700;color:#0f172a}.pv-offer-item-meta{font-size:.7rem;color:#64748b}.pv-offer-item-qty{display:inline-block;margin-left:.4rem;padding:.1rem .4rem;font-weight:700;color:#047857;background:#d1fae5;border-radius:4px;font-variant-numeric:tabular-nums}.pv-offer-item-input{position:relative;display:flex;align-items:center;gap:.3rem}.pv-offer-item-input .pv-offer-cur-prefix{position:absolute;left:.55rem;font-size:.78rem;font-weight:700;color:#64748b;pointer-events:none}.pv-offer-item-input .pv-input{padding-left:1.45rem;width:100%;font-variant-numeric:tabular-nums}.pv-offer-item-total{text-align:right;font-weight:800;color:#047857;font-variant-numeric:tabular-nums;font-size:.9rem}.pv-offer-totals{margin-top:.6rem;margin-left:auto;width:360px;border:1px solid #6ee7b7;border-radius:10px;overflow:hidden;background:#f0fdf4}.pv-offer-totals-row{display:flex;justify-content:space-between;padding:.5rem .85rem;font-size:.86rem;border-bottom:1px solid #d1fae5}.pv-offer-totals-row:last-child{border-bottom:none}.pv-offer-totals-row span:last-child{font-variant-numeric:tabular-nums;font-weight:700}.pv-offer-totals-grand{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.pv-offer-totals-grand span{color:#fff!important;font-size:1rem;font-weight:800!important}.pv-offer-sig-wrap{display:flex;gap:.6rem;align-items:stretch}.pv-offer-sig-canvas{flex:1;border:1.5px dashed #6ee7b7;border-radius:8px;background:#fff;cursor:crosshair;touch-action:none}.pv-offer-sig-actions{display:flex;flex-direction:column;gap:.35rem;justify-content:flex-start}.pv-offer-sig-consent{display:flex;align-items:flex-start;gap:.5rem;padding:.55rem .7rem;margin-top:.55rem;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:8px;font-size:.78rem;color:#065f46;cursor:pointer}.pv-offer-sig-consent input{margin-top:.15rem;cursor:pointer}.pv-offer-pay-grid{display:flex;flex-direction:column;gap:.5rem;margin-top:.4rem}.pv-offer-pay-row{display:grid;grid-template-columns:1fr 90px 130px;gap:.55rem;align-items:end}.pv-offer-pay-row .pv-input{width:100%}.pv-offer-pay-amt-val{height:30px;display:flex;align-items:center;padding:0 .6rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;font-size:.78rem;font-weight:700;font-variant-numeric:tabular-nums;color:#0f172a}.pv-offer-pay-sum{margin-top:.4rem;padding:.45rem .7rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;font-size:.74rem;font-weight:600;color:#475569;display:flex;justify-content:space-between;font-variant-numeric:tabular-nums}.pv-offer-pay-sum.is-bad{background:#fef2f2;border-color:#fca5a5;color:#b91c1c}.pv-offer-pay-sum.is-ok{background:#ecfdf5;border-color:#6ee7b7;color:#065f46}.pv-offer-incex-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-top:.4rem}.pv-offer-incex-grid textarea{width:100%;min-height:130px;resize:vertical}@media(max-width:700px){.pv-offer-incex-grid,.pv-offer-pay-row{grid-template-columns:1fr}}.pv-offer-warr-grid{display:flex;flex-direction:column;gap:.4rem;margin-top:.4rem}.pv-offer-warr-head{display:grid;grid-template-columns:1.1fr 1.2fr 1.5fr;gap:.55rem;font-size:.66rem;text-transform:uppercase;letter-spacing:.06em;font-weight:700;color:#64748b;padding:0 .2rem .2rem;border-bottom:1px solid #e2e8f0}.pv-offer-warr-row{display:grid;grid-template-columns:1.1fr 1.2fr 1.5fr;gap:.55rem}.pv-offer-warr-row .pv-input{width:100%}.pv-inv-group{border:1px solid rgba(14,165,233,.18);border-radius:10px;background:linear-gradient(180deg,#0ea5e90d,#0ea5e903);padding:.6rem .75rem .55rem}.pv-inv-title{display:flex;align-items:center;gap:.5rem;cursor:pointer;-webkit-user-select:none;user-select:none;color:#0369a1;font-weight:700;margin:0;font-size:.82rem;letter-spacing:.01em}.pv-inv-title svg{color:#0369a1;flex-shrink:0}.pv-inv-title>span:first-of-type{flex:1}.pv-inv-status-badge{font-size:.65rem;font-weight:600;color:#475569;background:#fff;border:1px solid #CBD5E1;padding:.14rem .55rem;border-radius:99px;letter-spacing:.02em;white-space:nowrap}.pv-inv-status-badge.is-enabled{color:#075985;background:#e0f2fe;border-color:#7dd3fc}.pv-inv-status-badge.is-warn{color:#92400e;background:#fef3c7;border-color:#fcd34d}.pv-inv-status-badge.is-err{color:#991b1b;background:#fee2e2;border-color:#fca5a5}.pv-inv-chevron{font-size:.7rem;color:#64748b;transition:transform .15s}.pv-inv-body{margin-top:.55rem;display:block}.pv-inv-body .pv-field-label{font-size:.68rem;color:#475569;font-weight:600;display:block;margin-bottom:.12rem}.pv-inv-sub-title{font-size:.66rem;font-weight:800;color:#0369a1;text-transform:uppercase;letter-spacing:.1em;margin:.6rem 0 .3rem;padding-bottom:.2rem;border-bottom:1px dashed rgba(14,165,233,.3)}.pv-inv-system-inputs{display:flex;flex-wrap:wrap;gap:4px;margin:.45rem 0 .5rem;padding:.4rem .5rem;background:#0ea5e90d;border:1px solid rgba(14,165,233,.18);border-radius:8px}.pv-inv-pill{display:flex;flex-direction:column;gap:.05rem;padding:.25rem .5rem;background:#fff;border:1px solid #E0F2FE;border-radius:6px;min-width:0}.pv-inv-pill-lbl{font-size:.56rem;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.06em;line-height:1.1}.pv-inv-pill-val{font-size:.74rem;font-weight:700;color:#0f172a;font-variant-numeric:tabular-nums;line-height:1.2}.pv-inv-targets{background:#0ea5e90a;border:1px solid rgba(14,165,233,.18);border-radius:8px;padding:.55rem .65rem;margin-bottom:.5rem}.pv-inv-targets .pv-inv-sub-title{margin-top:0}.pv-inv-quick-label{color:#075985!important}.pv-inv-quick-hint{display:block;margin-top:.2rem;font-size:.62rem;color:#6b7280;line-height:1.35}.pv-dcac-current{margin-left:.5rem;padding:.05rem .4rem;background:#e0f2fe;border-radius:999px;font-weight:700;font-size:.7rem;color:#075985;font-variant-numeric:tabular-nums}.pv-dcac-slider{width:100%;margin:.2rem 0;accent-color:#0EA5E9}.pv-dcac-num{max-width:5rem}.pv-dcac-suggest{margin-left:.35rem;padding:.05rem .5rem;background:linear-gradient(135deg,#fef3c7,#fde68a);color:#92400e;border:1px dashed #D97706;border-radius:999px;font-size:.62rem;font-weight:700;letter-spacing:.02em;cursor:pointer;transition:all .15s}.pv-dcac-suggest:hover{background:#fde68a;border-style:solid}.pv-inv-tol-chips{display:flex;gap:4px}.pv-inv-tol-chip{flex:1;padding:.3rem .55rem;border:1px solid #CBD5E1;background:#fff;border-radius:6px;font-size:.68rem;font-weight:700;color:#475569;cursor:pointer;transition:all .12s;letter-spacing:.02em}.pv-inv-tol-chip:hover{background:#f1f5f9}.pv-inv-tol-chip.is-active{background:#e0f2fe;color:#075985;border-color:#7dd3fc}.pv-phase-selector{display:flex;gap:.4rem;padding:.3rem .4rem;background:#fff;border:1px solid #BAE6FD;border-radius:6px}.pv-phase-opt{flex:1;display:flex;align-items:center;justify-content:center;gap:.3rem;padding:.3rem .45rem;border:1px solid transparent;border-radius:4px;font-size:.74rem;font-weight:600;color:#475569;cursor:pointer;transition:all .12s}.pv-phase-opt:hover{background:#f0f9ff}.pv-phase-opt input[type=radio]{accent-color:#0EA5E9;margin:0}.pv-phase-opt:has(input:checked){background:#e0f2fe;border-color:#38bdf8;color:#075985}.pv-inv-topology-chips{display:flex;flex-wrap:wrap;gap:4px}.pv-inv-topo-chip{padding:.25rem .6rem;border:1px solid #CBD5E1;background:#fff;border-radius:999px;font-size:.66rem;font-weight:600;color:#475569;cursor:pointer;transition:all .12s}.pv-inv-topo-chip:hover{background:#f1f5f9}.pv-inv-topo-chip.is-active{background:#0ea5e9;color:#fff;border-color:#0369a1}.pv-inv-engine-result{margin-top:.55rem;padding:.5rem;background:#fff;border:1px solid #BAE6FD;border-radius:8px;font-size:.72rem;color:#1f2937}.pv-inv-engine-loading{padding:.6rem .7rem;background:linear-gradient(135deg,#fef3c7,#fde68a);border:1px dashed #D97706;border-radius:6px;color:#78350f;font-size:.74rem;line-height:1.4}.pv-inv-engine-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:.5rem;padding-bottom:.3rem;border-bottom:1px dashed #BAE6FD}.pv-inv-engine-summary{font-size:.66rem;color:#6b7280;font-style:italic}.pv-inv-rec-cards{display:grid;grid-template-columns:1fr;gap:.4rem}.pv-inv-rec-card{border:1px solid #BAE6FD;border-radius:8px;padding:.55rem .7rem;background:linear-gradient(180deg,#f0f9ff,#fff);transition:all .15s}.pv-inv-rec-card:hover{box-shadow:0 1px 6px #0ea5e91a}.pv-inv-rec-card.is-amber{border-color:#fcd34d;background:linear-gradient(180deg,#fffbeb,#fff)}.pv-inv-rec-card.is-red{border-color:#fca5a5;background:linear-gradient(180deg,#fef2f2,#fff)}.pv-inv-rec-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:.25rem}.pv-inv-rec-rank{display:inline-flex;align-items:center;gap:.3rem;font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#0369a1}.pv-inv-rec-health{display:inline-block;width:.6rem;height:.6rem;border-radius:999px;vertical-align:middle}.pv-inv-rec-health.is-green{background:#10b981}.pv-inv-rec-health.is-amber{background:#f59e0b}.pv-inv-rec-health.is-red{background:#ef4444}.pv-inv-rec-score{display:inline-flex;align-items:baseline;gap:.1rem;padding:.15rem .55rem;border-radius:999px;font-weight:800;font-size:.85rem;letter-spacing:.02em;background:#e0f2fe;color:#075985}.pv-inv-rec-card.is-amber .pv-inv-rec-score{background:#fef3c7;color:#92400e}.pv-inv-rec-card.is-red .pv-inv-rec-score{background:#fee2e2;color:#991b1b}.pv-inv-rec-score-of{font-size:.6rem;opacity:.7;font-weight:600}.pv-inv-rec-headline{font-size:.85rem;font-weight:700;color:#075985;line-height:1.25}.pv-inv-rec-card.is-amber .pv-inv-rec-headline{color:#78350f}.pv-inv-rec-card.is-red .pv-inv-rec-headline{color:#7f1d1d}.pv-inv-rec-detail{font-size:.7rem;color:#374151;margin-top:.2rem}.pv-inv-rec-strings{margin:.4rem 0 .35rem;padding:.35rem .45rem;background:#ffffffb3;border-radius:6px;border:1px dashed #BAE6FD;font-size:.66rem;color:#1f2937}.pv-inv-rec-strings-row{display:flex;justify-content:space-between;gap:.5rem}.pv-inv-rec-bankability{margin:.4rem 0 .35rem;padding:.4rem .5rem;background:linear-gradient(135deg,#0ea5e90f,#0ea5e905);border:1px dashed #BAE6FD;border-radius:6px}.pv-inv-rec-bank-row{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin-bottom:4px}.pv-inv-rec-bank-row:last-child{grid-template-columns:repeat(2,1fr);margin-bottom:0}.pv-inv-rec-bank-cell{display:flex;flex-direction:column;gap:1px;padding:.25rem .4rem;background:#fff;border:1px solid #E0F2FE;border-radius:4px;cursor:help}.pv-inv-rec-bank-lbl{font-size:.55rem;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.05em;line-height:1.1}.pv-inv-rec-bank-val{font-size:.72rem;font-weight:700;color:#0f172a;font-variant-numeric:tabular-nums}.pv-fin-section-group{border:1px solid rgba(13,148,136,.22);border-radius:10px;background:linear-gradient(180deg,#0d94880d,#0d948803);padding:.6rem .75rem .55rem;margin-top:.35rem}.pv-fin-section-title{display:flex;align-items:center;gap:.5rem;cursor:pointer;-webkit-user-select:none;user-select:none;color:#0f766e;font-weight:700;margin:0;font-size:.82rem;letter-spacing:.01em}.pv-fin-section-title svg{color:#0f766e;flex-shrink:0}.pv-fin-section-title>span:first-of-type{flex:1}.pv-fin-section-status{font-size:.65rem;font-weight:600;color:#475569;background:#fff;border:1px solid #CBD5E1;padding:.14rem .55rem;border-radius:99px;letter-spacing:.02em;white-space:nowrap}.pv-fin-section-status.is-customised{color:#0f766e;background:#ccfbf1;border-color:#5eead4}.pv-fin-section-chev{font-size:.7rem;color:#64748b;transition:transform .15s}.pv-fin-section-body{margin-top:.55rem;display:block}.pv-fin-section-body .pv-field-label{font-size:.68rem;color:#475569;font-weight:600;display:block;margin-bottom:.12rem}.pv-fin-section-sub-title{font-size:.66rem;font-weight:800;color:#0f766e;text-transform:uppercase;letter-spacing:.1em;margin:.6rem 0 .3rem;padding-bottom:.2rem;border-bottom:1px dashed rgba(13,148,136,.3)}.pv-fin-section-body .pv-fin-section-sub-title:first-of-type{margin-top:0}.pv-inv-rec-notes{display:flex;flex-direction:column;gap:.2rem;margin-bottom:.35rem}.pv-inv-rec-note{font-size:.65rem;padding:.2rem .45rem;background:#fef3c7;color:#92400e;border-radius:4px;border-left:3px solid #F59E0B}.pv-inv-rec-apply{width:100%;white-space:nowrap}.pv-inv-engine-foot{margin-top:.5rem;font-size:.66rem;color:#6b7280;font-style:italic}.pv-inv-engine-err{padding:.4rem .55rem;background:#fef2f2;border:1px solid #FECACA;border-radius:6px;color:#991b1b;font-size:.72rem}.pv-inv-prop-dcac{display:inline-block;padding:.05rem .45rem;border-radius:999px;font-weight:700;font-size:.66rem;letter-spacing:.02em}.pv-inv-prop-dcac.is-ok{background:#d1fae5;color:#064e3b}.pv-inv-prop-dcac.is-warn{background:#fef3c7;color:#92400e}.pv-inv-prop-dcac.is-err{background:#fee2e2;color:#991b1b}.pv-inv-selected{margin-top:.5rem}.pv-inv-adv-toggle{display:flex;align-items:center;gap:.35rem;width:100%;margin:.55rem 0 .25rem;padding:.35rem .55rem;background:transparent;border:1px dashed #CBD5E1;border-radius:6px;color:#475569;font-size:.72rem;font-weight:600;cursor:pointer}.pv-inv-adv-toggle:hover{background:#f8fafc}.pv-inv-adv-chev{display:inline-block;transition:transform .15s}.pv-inv-adv-toggle[aria-expanded=true] .pv-inv-adv-chev{transform:rotate(90deg)}.pv-inv-adv-body{margin-top:.35rem;padding-top:.35rem;border-top:1px solid #E2E8F0}.pv-inv-adv-body[hidden]{display:none!important}.pv-inv-catalog-row{display:flex;gap:.4rem;align-items:flex-end;margin-bottom:.5rem;padding:.5rem .55rem;background:linear-gradient(135deg,#fef3c7,#fde68a);border:1px solid #F59E0B;border-radius:8px}.pv-inv-catalog-row .pv-field-label{color:#92400e}.pv-catalog-row{display:grid;grid-template-columns:1fr 1fr auto;gap:.35rem;align-items:center;width:100%}.pv-catalog-row .pv-input,.pv-catalog-row select.pv-input{width:100%;min-width:0}.pv-catalog-row .pv-btn-auto{white-space:nowrap}.pv-catalog-row select:disabled{opacity:.55;cursor:not-allowed}.pv-inv-stringing{margin-top:.5rem}.pv-inv-stringing-accordion{display:flex;flex-direction:column;gap:.35rem}.pv-inv-stringing-item{border:1px solid #BAE6FD;border-radius:8px;background:#fff}.pv-inv-stringing-item.is-warn{border-color:#fcd34d;background:#fffbeb}.pv-inv-stringing-item.is-err{border-color:#fca5a5;background:#fef2f2}.pv-inv-stringing-head{display:flex;align-items:center;gap:.5rem;padding:.4rem .6rem;cursor:pointer;-webkit-user-select:none;user-select:none;font-size:.74rem;color:#075985;font-weight:700}.pv-inv-stringing-head .pv-inv-stringing-chev{margin-left:auto;font-size:.7rem;color:#64748b;transition:transform .15s}.pv-inv-stringing-item.is-open .pv-inv-stringing-chev{transform:rotate(90deg)}.pv-inv-stringing-pill{display:inline-block;padding:.05rem .45rem;background:#e0f2fe;color:#075985;border-radius:999px;font-size:.62rem;font-weight:700;letter-spacing:.02em}.pv-inv-stringing-body{padding:0 .6rem .5rem;border-top:1px dashed #BAE6FD;display:none}.pv-inv-stringing-item.is-open .pv-inv-stringing-body{display:block}.pv-inv-stringing-summary{margin-top:.4rem;font-size:.7rem;color:#475569;background:#f1f5f9;border:1px solid #E2E8F0;border-radius:6px;padding:.35rem .5rem;line-height:1.45}.pv-inv-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:.55rem}.pv-inv-kpi{display:flex;flex-direction:column;padding:.4rem .5rem;background:#fff;border:1px solid #E2E8F0;border-left:3px solid #0369A1;border-radius:6px}.pv-inv-kpi-lbl{font-size:.58rem;color:#64748b;text-transform:uppercase;letter-spacing:.05em;font-weight:700;line-height:1.2}.pv-inv-kpi-val{font-size:.8rem;font-weight:700;color:#0f172a;font-variant-numeric:tabular-nums;margin-top:.12rem}.pv-inv-kpi-val.is-ok{color:#047857}.pv-inv-kpi-val.is-warn{color:#b45309}.pv-inv-kpi-val.is-err{color:#b91c1c}.pv-inv-status{margin-top:.5rem;padding:.4rem .55rem;background:#f59e0b1a;border-radius:6px;border-left:3px solid #F59E0B;font-size:.7rem;color:#1f2937;line-height:1.45}.pv-inv-status.is-ok{background:#ecfdf5;border-left-color:#10b981;color:#065f46}.pv-inv-status.is-warn{background:#fffbeb;border-left-color:#f59e0b;color:#92400e}.pv-inv-status.is-err{background:#fef2f2;border-left-color:#ef4444;color:#991b1b}.pv-inv-warn{font-size:.72rem;line-height:1.45;padding:.4rem .55rem;border-radius:6px;margin-top:.35rem}.pv-inv-warn-ok{background:#ecfdf5;color:#065f46;border-left:3px solid #10B981}.pv-inv-warn-warn{background:#fffbeb;color:#92400e;border-left:3px solid #F59E0B}.pv-inv-warn-err{background:#fef2f2;color:#991b1b;border-left:3px solid #EF4444}.pv-btn-auto.pv-btn-danger{color:#b91c1c;border-color:#fca5a5;background:#fef2f2}.pv-btn-auto.pv-btn-danger:hover{background:#fee2e2;border-color:#f87171;color:#7f1d1d}.pv-opt-modes{display:grid;grid-template-columns:repeat(3,1fr);gap:.3rem;margin-bottom:.4rem}.pv-opt-btn{display:flex;flex-direction:column;align-items:center;gap:.2rem;padding:.45rem .3rem;border:1.5px solid #cbd5e1;border-radius:8px;background:#fff;color:#1e293b;cursor:pointer;transition:all .15s;font-family:inherit;font-size:.62rem;line-height:1.2;text-align:center}.pv-opt-btn:hover{border-color:#94a3b8;background:#f8fafc;color:#0f172a;transform:translateY(-1px)}.pv-opt-btn .pv-opt-ico{font-size:.95rem;line-height:1;filter:grayscale(.2)}.pv-opt-btn .pv-opt-ttl{font-weight:700;letter-spacing:.01em}.pv-opt-btn.is-active{border-color:#7c3aed;background:#7c3aed;color:#fff;box-shadow:0 2px 6px #7c3aed52}.pv-opt-btn.is-active .pv-opt-ico{filter:none}.pv-opt-desc{font-size:.66rem;color:#64748b;background:#f1f5f9;border-left:3px solid #a78bfa;border-radius:0 6px 6px 0;padding:.4rem .55rem;margin-bottom:.5rem;line-height:1.45}.pv-fill-modes{display:grid;grid-template-columns:repeat(2,1fr);gap:.3rem;margin-bottom:.4rem}.pv-fill-btn{display:flex;flex-direction:column;align-items:center;gap:.2rem;padding:.45rem .3rem;border:1.5px solid #cbd5e1;border-radius:8px;background:#fff;color:#1e293b;cursor:pointer;transition:all .15s;font-family:inherit;font-size:.62rem;line-height:1.2;text-align:center}.pv-fill-btn:hover{border-color:#94a3b8;background:#f8fafc;color:#0f172a;transform:translateY(-1px)}.pv-fill-btn .pv-fill-ico{font-size:.95rem;line-height:1;filter:grayscale(.2)}.pv-fill-btn .pv-fill-ttl{font-weight:700;letter-spacing:.01em}.pv-fill-btn.is-active{border-color:#f59e0b;background:#f59e0b;color:#fff;box-shadow:0 2px 6px #f59e0b52}.pv-fill-btn.is-active .pv-fill-ico{filter:none}.pv-fill-target-row{display:flex;flex-direction:column;gap:.3rem;margin-bottom:.5rem;padding:.5rem .6rem;background:#fffbeb;border-left:3px solid #f59e0b;border-radius:0 6px 6px 0}.pv-fill-target-row .pv-label-inline{font-size:.66rem;color:#78350f;font-weight:600;letter-spacing:.01em}.pv-fill-target-row .pv-input{width:100%}.pv-target-readout{font-size:.65rem;color:#64748b;line-height:1.35}.pv-target-readout.is-warning{color:#b45309;font-weight:600}.pv-extend-row{display:flex;align-items:center;gap:.4rem;margin-top:.35rem}.pv-extend-btns{display:flex;gap:.2rem;flex-wrap:wrap}.pv-btn-extend{padding:.22rem .45rem;font-size:.68rem;font-weight:600;border:1px solid #CBD5E1;border-radius:5px;background:#f8fafc;color:var(--clr-text-muted);cursor:pointer;transition:all .15s;line-height:1}.pv-btn-extend:hover{background:#0ea5e91f;border-color:#0ea5e966;color:#38bdf8}.pv-btn-extend:active{background:#0ea5e933;transform:scale(.95)}.pv-btn-extend-all{background:#10b98114;border-color:#10b98140;color:#34d399}.pv-btn-extend-all:hover{background:#10b98126;border-color:#10b98180}.pv-mount-hint{font-size:.71rem;color:var(--clr-text-muted);background:#0ea5e90f;border-left:3px solid rgba(56,189,248,.5);border-radius:0 8px 8px 0;padding:.4rem .6rem;margin-top:.35rem;line-height:1.4}.pv-roof-load-badge{font-size:.71rem;border-radius:8px;padding:.35rem .6rem;margin-top:.35rem;line-height:1.4}.pv-roof-load-badge.pv-load-ok{color:#34d399;background:#10b98114}.pv-roof-load-badge.pv-load-warn{color:#f87171;background:#ef444414;font-weight:600}.pv-summary-divider{height:1px;background:#f1f5f9;margin:.4rem 0}.pv-summary-section-title{font-size:.67rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--clr-text-muted, #64748b);padding:.1rem 0 .2rem}.pv-map-toolbar{position:absolute;top:.75rem;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:.2rem;background:#fffffff5;backdrop-filter:blur(16px) saturate(180%);-webkit-backdrop-filter:blur(16px) saturate(180%);padding:.3rem;border-radius:12px;border:1px solid #E2E8F0;box-shadow:0 4px 20px #0f172a2e;z-index:10}.pv-toolbar-btn{width:34px;height:34px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;border-radius:8px;cursor:pointer;color:#64748b;transition:all .15s}.pv-toolbar-btn:hover{background:#f1f5f9;color:#0f172a}.pv-toolbar-btn.active{background:#f59e0b;color:#fff;box-shadow:0 2px 8px #f59e0b59}.pv-toolbar-btn:disabled{opacity:.35;cursor:not-allowed}.pv-toolbar-sep{width:1px;height:20px;background:#e2e8f0;margin:0 .15rem}.pv-input-locked,input.pv-input[readonly],select.pv-input[disabled]{background:#f1f5f9;color:#475569;cursor:not-allowed}.pv-map-toolbar-labeled{gap:.2rem;padding:.35rem}.pv-map-toolbar-labeled .pv-toolbar-btn{flex-direction:column;width:auto;min-width:54px;height:auto;padding:5px 8px 4px;gap:2px}.pv-map-toolbar-labeled .pv-toolbar-btn .pv-toolbar-lbl{font-size:10px;font-weight:600;letter-spacing:.01em;line-height:1;color:inherit;white-space:nowrap}.pv-map-toolbar-labeled .pv-toolbar-sep{height:28px}.pv-map-toolbar-labeled .pv-toolbar-btn[data-tool=clear]{color:#dc2626}.pv-map-toolbar-labeled .pv-toolbar-btn[data-tool=clear]:hover{background:#fee2e2;color:#991b1b}.pv-mode-badge{position:absolute;bottom:1.2rem;left:50%;transform:translate(-50%);background:#fffffff5;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#0f172a;padding:.5rem 1rem;border-radius:10px;font-size:.8rem;font-weight:600;border:1px solid #E2E8F0;box-shadow:0 2px 12px #0f172a26;z-index:10;white-space:nowrap;pointer-events:none}.pv-measure-info{position:absolute;top:60px;left:50%;transform:translate(-50%);background:#ef4444e6;color:#fff;padding:.45rem 1rem;border-radius:10px;font-size:.85rem;font-weight:600;z-index:10;white-space:nowrap}.pv-summary{background:#f8fafc;border-radius:14px;padding:.85rem;margin-top:auto;border:1px solid #E2E8F0}.pv-summary-title{font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:#64748b;margin-bottom:.4rem}.pv-summary-row{display:flex;justify-content:space-between;padding:.3rem 0;font-size:.8rem;color:#1e293b;border-bottom:1px solid #E2E8F0}.pv-summary-row:last-child{border-bottom:none}.pv-summary-row span:last-child{font-weight:700;color:#b45309}.pv-source-badge{display:inline-block;font-size:.62rem;font-weight:600;padding:1px 6px;margin-left:6px;border-radius:4px;letter-spacing:.02em;vertical-align:middle}.pv-source-badge.src-sarah{background:#d1fae5;color:#065f46}.pv-source-badge.src-era5{background:#dbeafe;color:#1e40af}.pv-source-badge.src-tmy{background:#e0e7ff;color:#3730a3}.pv-source-badge.src-fallback{background:#fef3c7;color:#92400e}.pv-summary-roof{margin-top:.5rem;padding-top:.4rem;border-top:1px solid #E2E8F0}.pv-summary-roof-header{font-size:.78rem;font-weight:700;color:#0f172a;display:flex;align-items:center;gap:.35rem;margin-bottom:.2rem}.pv-summary-sub{font-size:.72rem;color:#64748b;padding-left:1.2rem;line-height:1.6}.pv-table-diagram{margin-top:.35rem;display:flex;align-items:center;gap:.4rem}.pv-td-label{font-size:.68rem;color:#64748b;white-space:nowrap}.pv-td-table{display:flex;flex-direction:column;gap:0;border:2px solid #94A3B8;border-radius:4px;padding:2px}.pv-td-panel{width:32px;height:16px;background:#3b82f6;border-radius:2px;display:flex;align-items:center;justify-content:center;font-size:.55rem;color:#fff;font-weight:700}.pv-td-gap{height:2px;background:#e2e8f0}.pv-td-arrow{font-size:.6rem;color:#94a3b8;font-style:italic}.pv-gcr-badge{font-size:.72rem;font-weight:700;color:#34d399;background:#10b9811a;border-radius:6px;padding:.2rem .5rem}.pv-gcr-badge.pv-gcr-warn{color:#fbbf24;background:#f59e0b1a}.pv-string-validation{margin-top:.35rem;border-radius:8px;font-size:.72rem;line-height:1.4}.pv-sv-warn{color:#f87171;background:#ef444414;padding:.25rem .5rem;border-radius:6px;margin-bottom:.2rem}.pv-sv-ok{color:#34d399;background:#10b98114;padding:.25rem .5rem;border-radius:6px}.pv-inv-status{font-size:.7rem;color:var(--clr-text-muted);background:#f8fafc;border-radius:8px;padding:.35rem .55rem;margin-top:.3rem;line-height:1.4}.pv-toggles{display:flex;flex-wrap:wrap;gap:.3rem}.pv-toggle{display:flex;align-items:center;gap:.25rem;font-size:.72rem;color:#475569;cursor:pointer;background:#f8fafc;padding:.25rem .5rem;border-radius:6px;border:1px solid #E2E8F0;transition:all .15s}.pv-toggle:hover{background:#f1f5f9;color:#0f172a;border-color:#cbd5e1}.pv-toggle input[type=checkbox]{width:13px;height:13px;accent-color:#F59E0B;margin:0}.pv-compass{position:absolute;top:60px;right:12px;z-index:8;pointer-events:none;opacity:.85}.pv-map-types{position:absolute;top:.75rem;left:.75rem;display:flex;background:#fffffff5;backdrop-filter:blur(14px) saturate(1.8);-webkit-backdrop-filter:blur(14px) saturate(1.8);padding:3px;border-radius:10px;box-shadow:0 4px 16px #0f172a2e,0 1px 3px #0f172a0f;z-index:10;gap:2px;border:1px solid #E2E8F0}.pv-mt-btn{display:flex;align-items:center;gap:5px;border:none;background:transparent;color:#475569;font-size:.72rem;font-weight:600;padding:.4rem .6rem;border-radius:7px;cursor:pointer;letter-spacing:.01em;transition:color .15s ease,background .15s ease,box-shadow .15s ease;white-space:nowrap;line-height:1}.pv-mt-btn svg{flex-shrink:0;opacity:.8}.pv-mt-btn:hover{background:#f1f5f9;color:#0f172a}.pv-mt-btn:hover svg{opacity:1}.pv-mt-btn.active{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;box-shadow:0 2px 8px #f59e0b66}.pv-mt-btn.active svg{opacity:1}.pv-mt-label{font-variant-numeric:tabular-nums}.pv-map-hud{position:absolute;top:50%;right:14px;transform:translateY(-50%);display:flex;flex-direction:column;gap:10px;z-index:9;pointer-events:none}.pv-hud-group{display:flex;flex-direction:column;background:#fffffff5;backdrop-filter:blur(12px) saturate(1.8);-webkit-backdrop-filter:blur(12px) saturate(1.8);border:1px solid #E2E8F0;border-radius:10px;overflow:hidden;box-shadow:0 4px 14px #0f172a29,0 1px 3px #0f172a0f;pointer-events:auto}.pv-hud-divider{height:1px;background:#e2e8f0;margin:0 6px}.pv-hud-btn{width:38px;height:38px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;color:#64748b;cursor:pointer;transition:color .15s ease,background .15s ease;padding:0}.pv-hud-btn:hover{background:#f59e0b1f;color:#b45309}.pv-hud-btn:active{background:#f59e0b38;color:#92400e}.pv-hud-btn svg{display:block}.pv-scalebar{position:absolute;bottom:1rem;left:1rem;display:flex;flex-direction:column;align-items:flex-start;gap:2px;background:#fffffff0;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);padding:.32rem .55rem;border-radius:7px;border:1px solid #E2E8F0;box-shadow:0 2px 10px #0f172a26;font-size:.68rem;font-weight:600;color:#475569;z-index:8;pointer-events:none;min-width:90px}.pv-scale-track{position:relative;display:flex;align-items:center;height:10px;width:100%}.pv-scale-tick{width:2px;height:9px;background:#475569;border-radius:1px}.pv-scale-bar{flex:1;height:3px;background:#475569;border-radius:1px;margin:0;transition:width .25s ease}.pv-scale-label{font-variant-numeric:tabular-nums;letter-spacing:.02em;color:#475569}.pv-coords{position:absolute;bottom:1rem;left:calc(1rem + 130px);display:flex;align-items:center;gap:.4rem;background:#fffffff5;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:#0f172a;padding:.38rem .72rem;border-radius:8px;font-size:.72rem;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:.02em;border:1px solid #E2E8F0;z-index:8;pointer-events:none;box-shadow:0 3px 14px #0f172a26}.pv-coords-icon{width:12px;height:12px;color:#f59e0b;flex-shrink:0}.pv-help-modal{position:absolute;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;animation:pvHelpFadeIn .22s ease-out}@keyframes pvHelpFadeIn{0%{opacity:0}to{opacity:1}}.pv-help-backdrop{position:absolute;inset:0;background:#0f172a59;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);cursor:pointer}.pv-help-card{position:relative;background:#fff;border-radius:14px;box-shadow:0 20px 52px #0f172a2e,0 4px 16px #0f172a0f;width:min(720px,92%);max-height:88vh;overflow-y:auto;animation:pvHelpSlideUp .28s cubic-bezier(.2,.8,.25,1);border:1px solid #E2E8F0;color:#1e293b}@keyframes pvHelpSlideUp{0%{transform:translateY(18px) scale(.98);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.pv-help-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.4rem;background:linear-gradient(135deg,#fffbeb,#fef3c7);border-bottom:1px solid #FDE68A;border-radius:14px 14px 0 0}.pv-help-title{font-size:.98rem;font-weight:800;color:#92400e;letter-spacing:.01em;display:flex;align-items:center;gap:.5rem}.pv-help-close{width:30px;height:30px;border:1px solid #FDE68A;background:#fff;color:#92400e;border-radius:8px;cursor:pointer;font-size:1.1rem;font-weight:700;line-height:1;transition:all .15s;display:flex;align-items:center;justify-content:center}.pv-help-close:hover{background:#fee2e2;color:#b91c1c;border-color:#fca5a5;transform:rotate(90deg)}.pv-help-body{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;padding:1.4rem}.pv-help-col{display:flex;flex-direction:column;gap:.5rem}.pv-help-section{font-size:.7rem;font-weight:800;color:#b45309;text-transform:uppercase;letter-spacing:.1em;margin-bottom:.2rem;padding-bottom:.35rem;border-bottom:1px dashed #FDE68A}.pv-help-row{display:flex;align-items:center;justify-content:space-between;gap:.7rem;font-size:.8rem;color:#1e293b;padding:.18rem 0}.pv-help-row span:first-child{color:#475569;font-weight:500}.pv-help-row kbd{font-family:SF Mono,Monaco,Consolas,monospace;background:#f8fafc;border:1px solid #CBD5E1;border-bottom-width:2px;color:#0f172a;padding:.14rem .5rem;border-radius:5px;font-size:.72rem;font-weight:700;min-width:22px;text-align:center;box-shadow:0 1px #0f172a14}.pv-help-footer{padding:.75rem 1.4rem;background:#f8fafc;border-top:1px solid #E2E8F0;border-radius:0 0 14px 14px;font-size:.75rem;color:#475569;text-align:center;font-style:italic}.pv-hud-toast{position:absolute;bottom:3.5rem;left:50%;transform:translate(-50%) translateY(10px);background:#0f172aeb;color:#fff;padding:.55rem 1.1rem;border-radius:10px;font-size:.8rem;font-weight:500;z-index:50;pointer-events:none;opacity:0;transition:opacity .25s ease,transform .25s ease;box-shadow:0 6px 20px #0f172a0f;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(245,158,11,.25);max-width:70%;text-align:center}.pv-hud-toast.show{opacity:1;transform:translate(-50%) translateY(0)}.pv-string-optimizer-result{border:1px solid #E2E8F0;border-radius:10px;background:#f8fafc;padding:.6rem;font-size:.78rem}.pv-string-opt-loading,.pv-string-opt-err{padding:.5rem;text-align:center;font-size:.78rem;color:#475569}.pv-string-opt-err{color:#b45309;background:#fffbeb;border:1px solid #FCD34D;border-radius:8px}.pv-string-opt-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:.4rem;padding:.5rem;background:#fff;border-radius:8px;border:1px solid #E2E8F0;margin-bottom:.5rem}.pv-string-opt-summary>div{display:flex;flex-direction:column;align-items:center;gap:.15rem;font-size:.72rem;color:#64748b;text-align:center}.pv-string-opt-summary>div strong{font-size:.95rem;color:#0f172a;font-weight:700}.pv-string-opt-summary>div strong.is-ok{color:#059669}.pv-string-opt-summary>div strong.is-warn{color:#b45309}.pv-string-opt-inv{background:#fff;border:1px solid #E2E8F0;border-radius:8px;padding:.55rem;margin-top:.5rem}.pv-string-opt-inv-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.4rem;font-size:.82rem;margin-bottom:.4rem;color:#0f172a}.pv-string-opt-inv-head strong{flex:1}.pv-string-opt-badge{display:inline-block;padding:.1rem .4rem;border-radius:999px;font-size:.65rem;font-weight:700;letter-spacing:.04em}.pv-string-opt-badge.is-ok{background:#d1fae5;color:#065f46}.pv-string-opt-badge.is-err{background:#fee2e2;color:#991b1b}.pv-string-opt-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.3rem .6rem;font-size:.72rem;color:#475569}.pv-string-opt-grid>div{display:flex;justify-content:space-between;border-bottom:1px dotted #E2E8F0;padding:.15rem 0}.pv-string-opt-grid>div strong{color:#0f172a;font-weight:700}.pv-string-opt-warns{margin:.5rem 0 0 1rem;padding:0;font-size:.7rem;color:#b45309}.pv-string-opt-warns li{margin-bottom:.2rem}@media(max-width:768px){.pv-page{height:auto;min-height:calc(100vh - 62px)}.pv-page-header{flex-wrap:wrap;gap:.4rem;padding:.5rem .75rem;min-height:0}.pv-page-header-actions{width:100%;justify-content:flex-start}.pv-page-header-btn{padding:.4rem .65rem;font-size:.72rem}.pv-layout-container{flex-direction:column;flex:0 0 auto;min-height:calc(100vh - 118px)}.pv-layout-sidebar{width:100%;max-height:45vh;border-right:none;border-bottom:1px solid rgba(245,158,11,.12)}.pv-map-wrap{min-height:55vh}.pv-map-toolbar{top:.4rem;padding:.2rem;gap:.1rem}.pv-toolbar-btn{width:30px;height:30px}.pv-roof-list,.pv-array-list{max-height:100px}.pv-compass{display:none}.pv-toggles{gap:.2rem}.pv-map-types{top:.4rem;left:.4rem;padding:2px}.pv-mt-btn{padding:.3rem .55rem;font-size:.68rem}.pv-map-hud{top:50px;right:8px;gap:4px}.pv-hud-btn{width:32px;height:32px}.pv-hud-btn svg{width:16px;height:16px}.pv-scalebar{bottom:.6rem;left:.6rem;padding:.25rem .45rem;min-width:72px;font-size:.62rem}.pv-coords{bottom:.6rem;left:calc(.6rem + 100px);padding:.3rem .55rem;font-size:.66rem}.pv-help-body{grid-template-columns:1fr;gap:1rem;padding:1rem}.pv-help-card{width:94%;max-height:80vh}}@media(max-width:480px){.pv-map-types,.pv-coords{display:none}}.step-solver{border:1px solid rgba(245,158,11,.18);border-radius:10px;padding:1rem;margin-top:.75rem;background:#f59e0b08}.solver-step{background:#00000005;border-left:3px solid var(--clr-border, #e2e8f0);border-radius:6px;padding:.75rem 1rem;margin-bottom:.6rem;transition:border-color .2s,opacity .2s}.solver-step.active{border-left-color:#f59e0b;background:#f59e0b0f}.solver-step.completed{border-left-color:#22c55e;opacity:.75}.solver-step h4{margin:0 0 .4rem;font-size:.85rem;color:var(--clr-brand-primary, #f59e0b)}.solver-step p,.solver-step-desc{margin:0 0 .5rem;font-size:.82rem;color:var(--clr-text-muted, #64748b)}.solver-input{width:100%;padding:.45rem .6rem;border:1px solid var(--clr-border, #e2e8f0);border-radius:5px;background:var(--clr-bg, #fff);color:var(--clr-text-main, #0f172a);font-size:.85rem;margin-bottom:.4rem}.solver-input:focus{outline:none;border-color:#f59e0b}.solver-check-btn{padding:.35rem .9rem;border:none;border-radius:5px;background:#f59e0b;color:#000;font-weight:600;font-size:.8rem;cursor:pointer;transition:background .2s}.solver-check-btn:hover{background:#d97706}.solver-feedback{font-size:.8rem;margin-top:.3rem;font-weight:600}.solver-feedback.correct{color:#16a34a}.solver-feedback.incorrect{color:#ef4444}.solver-complete{background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;padding:.75rem 1rem;border-radius:8px;text-align:center;font-weight:600;margin-top:.5rem}.solver-nav{display:flex;gap:.5rem;margin-top:.5rem}.solver-nav button{padding:.3rem .7rem;border:1px solid var(--clr-border, #e2e8f0);border-radius:5px;background:#f59e0b0f;color:var(--clr-text-main, #0f172a);cursor:pointer;font-size:.8rem}.solver-nav button:hover{background:#f59e0b26}.comp-table{width:100%;border-collapse:collapse;border-radius:8px;overflow:hidden;margin-top:.75rem;font-size:.82rem}.comp-table th{background:var(--clr-brand-primary, #f59e0b);color:#fff;padding:.55rem .7rem;text-align:left;font-weight:600;border-bottom:2px solid rgba(245,158,11,.3)}.comp-table td{padding:.5rem .7rem;border-bottom:1px solid var(--clr-border, #e2e8f0);color:var(--clr-text-main, #0f172a)}.comp-table tr:hover td{background:#f59e0b0f}.comp-table .comp-best{background:#22c55e1f;color:#16a34a;font-weight:600}.hotspot-diagram{position:relative;margin-top:.75rem;background:#f59e0b0a;border:1px solid rgba(245,158,11,.12);border-radius:10px;overflow:hidden;padding:.5rem}.hotspot-diagram svg{width:100%;height:auto;display:block}.hs-point{position:absolute;width:26px;height:26px;border-radius:50%;background:#f59e0b;color:#000;font-weight:700;font-size:.7rem;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .2s,box-shadow .2s;box-shadow:0 2px 8px #f59e0b4d;z-index:5}.hs-point:hover{transform:scale(1.2)}.hs-point.hs-active{box-shadow:0 0 0 4px #f59e0b4d,0 2px 12px #f59e0b80}.hs-info{background:var(--clr-bg, #fff);border:1px solid rgba(245,158,11,.2);padding:.75rem 1rem;border-radius:8px;box-shadow:0 4px 20px #0000001a;max-width:280px;z-index:10;margin-top:.5rem}.hs-info h4{margin:0 0 .3rem;color:var(--clr-brand-primary, #f59e0b);font-size:.85rem}.hs-info p{margin:0;font-size:.8rem;color:var(--clr-text-muted, #64748b);line-height:1.4}.learn-canvas{width:100%;max-width:400px;border-radius:8px;margin-top:.5rem;background:#00000008}.pv-modal{display:none;position:fixed;inset:0;z-index:10000;align-items:center;justify-content:center}.pv-modal-backdrop{position:absolute;inset:0;background:#000000a6;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.pv-modal-box{position:relative;z-index:1;background:var(--clr-bg, #fff);border-radius:12px;box-shadow:0 8px 48px #0f172a14;padding:0;max-width:640px;width:95vw;overflow:hidden}.pv-modal-header{display:flex;align-items:center;justify-content:space-between;padding:.85rem 1.1rem;border-bottom:1px solid var(--clr-border, #e2e8f0);background:var(--clr-surface, #f8fafc)}.pv-modal-header h3{margin:0;font-size:.95rem;font-weight:600;color:var(--clr-text-main, #0f172a)}.pv-modal-close{background:none;border:none;cursor:pointer;font-size:1.3rem;line-height:1;color:var(--clr-text-muted, #64748b);padding:.2rem .4rem;border-radius:4px;transition:background .15s}.pv-modal-close:hover{background:var(--clr-border, #e2e8f0)}.pv-modal-body{padding:1rem}#pv-monthly-chart{margin-top:.5rem}.pv-irradiance-legend{display:flex;gap:.5rem;align-items:center;font-size:.68rem;color:var(--clr-text-muted, #64748b);margin-top:.25rem}.pv-irradiance-legend span{display:inline-block;width:12px;height:12px;border-radius:3px}.wizard-progress-bar{display:flex;align-items:center;justify-content:center;gap:0;margin:0 0 1.5rem;padding:1rem 0}.wizard-step-dot{display:flex;flex-direction:column;align-items:center;gap:.25rem;cursor:pointer;transition:all .3s}.wizard-dot-num{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:.85rem;background:var(--clr-surface-light);color:var(--clr-text-muted);border:2px solid var(--clr-surface-light);transition:all .3s}.wizard-step-dot.active .wizard-dot-num{background:var(--grad-solar);color:#fff;border-color:var(--clr-brand-primary);box-shadow:0 0 0 4px #f59e0b26}.wizard-step-dot.done .wizard-dot-num{background:var(--clr-brand-accent);color:#fff;border-color:var(--clr-brand-accent)}.wizard-dot-label{font-size:.68rem;font-weight:600;color:var(--clr-text-muted);letter-spacing:.01em;white-space:nowrap}.wizard-step-dot.active .wizard-dot-label{color:var(--clr-brand-primary)}.wizard-step-dot.done .wizard-dot-label{color:var(--clr-brand-accent)}.wizard-step-line{flex:1;height:2px;background:var(--clr-surface-light);margin:0 .5rem 1.2rem;max-width:80px}.wizard-nav-buttons{display:flex;justify-content:space-between;margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--glass-border)}.pv-sv-explain{background:#0ea5e90f;border-left:3px solid var(--clr-brand-secondary);padding:.5rem .75rem;margin:.25rem 0 .75rem;font-size:.8rem;line-height:1.5;color:var(--clr-text-main);border-radius:0 8px 8px 0}.pv-sv-explain em{color:var(--clr-brand-secondary);font-weight:600}.pv-sv-explain strong{color:var(--clr-brand-accent)}.pv-sv-tip{background:#10b9810f;border-left:3px solid var(--clr-brand-accent);padding:.5rem .75rem;margin-top:.5rem;font-size:.8rem;line-height:1.5;border-radius:0 8px 8px 0}.compare-select-card.selected{border-color:var(--clr-brand-primary)!important;background:#f59e0b14!important;box-shadow:0 0 0 3px #f59e0b26}.stat-counter-item{display:flex;flex-direction:column;align-items:center;text-align:center}@media(max-width:768px){.wizard-progress-bar{gap:0}.wizard-step-line{max-width:20px;margin:0 .1rem}.wizard-dot-label{font-size:.6rem}.wizard-dot-num{width:24px;height:24px;font-size:.7rem}}.checkbox-group{display:flex;flex-direction:column;gap:.45rem;padding:.5rem 0}.checkbox-item{display:flex;align-items:flex-start;gap:.5rem;font-size:.82rem;color:var(--clr-text);cursor:pointer;line-height:1.45;padding:.3rem .5rem;border-radius:6px;transition:background .15s}.checkbox-item:hover{background:var(--glass-bg)}.checkbox-item input[type=checkbox]{margin-top:.15rem;width:16px;height:16px;accent-color:var(--clr-accent);flex-shrink:0;cursor:pointer}.file-upload-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.5rem;margin-top:.35rem}.file-upload-box{border:2px dashed var(--glass-border);border-radius:10px;padding:.5rem;text-align:center;font-size:.75rem;color:var(--clr-text-muted);transition:border-color .2s,background .2s}.file-upload-box:hover{border-color:var(--clr-accent);background:#f59e0b0a}.file-upload-box label{display:flex;flex-direction:column;gap:.3rem;cursor:pointer;font-weight:600}.file-input{font-size:.72rem;width:100%;cursor:pointer}.file-input::file-selector-button{background:var(--clr-accent);color:#fff;border:none;border-radius:6px;padding:.25rem .5rem;font-size:.7rem;font-weight:600;cursor:pointer;margin-right:.4rem}.file-preview{margin-top:.25rem;font-size:.7rem;color:var(--clr-text-muted);word-break:break-all}.file-preview img{border:1px solid var(--glass-border)}.signature-pad-container{display:flex;flex-direction:column;align-items:flex-start}.signature-canvas{border:2px solid var(--glass-border);border-radius:10px;background:#fff;cursor:crosshair;touch-action:none;width:100%;max-width:400px;height:120px}.signature-canvas:hover{border-color:var(--clr-accent)}.cond-field{transition:opacity .2s,max-height .3s}.wizard-progress-bar{flex-wrap:wrap}.wizard-step-dot{min-width:0}.wizard-dot-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:50px}.creation-form-grid .creation-form-grid.full-width{grid-column:1 / -1;display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.75rem}.analysis-layout-container{display:flex;height:calc(100vh - 62px);overflow:hidden}.analysis-sidebar{width:340px;flex-shrink:0;overflow-y:auto;padding:1rem 1.1rem;background:#f8fafc;backdrop-filter:blur(22px) saturate(180%);-webkit-backdrop-filter:blur(22px) saturate(180%);border-right:1px solid #F1F5F9;display:flex;flex-direction:column;gap:0}.analysis-sidebar-title{font-size:1rem;font-weight:800;color:var(--clr-text-main);margin:0 0 .75rem}.analysis-content{flex:1;overflow-y:auto;padding:1.5rem 2rem;min-width:0;background:var(--clr-bg)}.analysis-context-banner{background:#f59e0b12;border:1px solid rgba(245,158,11,.18);border-radius:12px;padding:.65rem .8rem;margin-bottom:.75rem}.analysis-context-banner-title{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#fbbf24;margin-bottom:.3rem}.analysis-context-banner-row{display:flex;justify-content:space-between;font-size:.74rem;color:var(--clr-text-muted);padding:.12rem 0}.analysis-context-banner-row span:last-child{font-weight:600}.analysis-control-group{margin-bottom:.75rem}.analysis-section-label{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--clr-text-muted);margin-bottom:.35rem;display:block}.analysis-label{font-size:.72rem;font-weight:700;color:var(--clr-text-main);margin-bottom:.3rem;display:block;text-transform:uppercase;letter-spacing:.03em}.analysis-input{width:100%;padding:.45rem .6rem;border:1px solid #CBD5E1;border-radius:10px;font-size:.82rem;color:var(--clr-text-main);background:#f1f5f9;transition:border-color .2s;box-sizing:border-box}.analysis-input:focus{outline:none;border-color:var(--clr-brand-primary);box-shadow:0 0 0 3px #f59e0b1f}.analysis-select{width:100%;padding:.45rem .6rem;border:1px solid #CBD5E1;border-radius:10px;font-size:.82rem;color:var(--clr-text-main);background:#f1f5f9;cursor:pointer;box-sizing:border-box}.analysis-select:focus{outline:none;border-color:var(--clr-brand-primary);box-shadow:0 0 0 3px #f59e0b1f}.analysis-row{display:flex;gap:.5rem}.analysis-field{flex:1;min-width:0}.analysis-field-label{font-size:.7rem;color:var(--clr-text-muted);display:block;margin-bottom:.15rem}.analysis-divider{height:1px;background:#f1f5f9;margin:.4rem 0 .6rem}.analysis-summary{background:#f8fafc;border-radius:14px;padding:.85rem;margin-top:auto;border:1px solid #E2E8F0}.analysis-summary-title{font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--clr-text-muted);margin-bottom:.4rem}.analysis-summary-row{display:flex;justify-content:space-between;padding:.3rem 0;font-size:.8rem;color:var(--clr-text-main);border-bottom:1px solid #F1F5F9}.analysis-summary-row:last-child{border-bottom:none}.analysis-summary-row span:last-child{font-weight:700;color:var(--clr-brand-primary)}.analysis-tab-bar{display:flex;gap:0;border-bottom:2px solid #E2E8F0;margin-bottom:1.25rem}.analysis-tab{padding:.6rem 1.25rem;font-size:.82rem;font-weight:600;color:var(--clr-text-muted);background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;cursor:pointer;transition:all .2s;white-space:nowrap}.analysis-tab:hover{color:var(--clr-text-main);background:#f59e0b0a}.analysis-tab.active{color:var(--clr-brand-primary);border-bottom-color:var(--clr-brand-primary);font-weight:700}.analysis-tab-panel{display:none}.analysis-tab-panel.active{display:block}.analysis-card{background:#f8fafc;border:1px solid #E2E8F0;border-radius:14px;padding:1.25rem 1.5rem;margin-bottom:1.25rem;box-shadow:0 4px 16px #0f172a0f;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.analysis-card-title{font-size:.88rem;font-weight:700;color:var(--clr-text-main);margin:0 0 .75rem;display:flex;align-items:center;gap:.4rem}.analysis-card-title svg{width:18px;height:18px;color:var(--clr-brand-primary)}.analysis-card-grid{display:grid;grid-template-columns:1fr 1fr;gap:.5rem 1.5rem}.analysis-card-row{display:flex;justify-content:space-between;align-items:center;padding:.35rem 0;font-size:.82rem;border-bottom:1px solid #F1F5F9}.analysis-card-row:last-child{border-bottom:none}.analysis-card-row .label{color:var(--clr-text-muted)}.analysis-card-row .value{font-weight:600;color:var(--clr-text-main)}.analysis-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.15rem .5rem;border-radius:6px;font-size:.72rem;font-weight:600}.analysis-badge-ok{background:#10b9811f;color:#34d399}.analysis-badge-warn{background:#f59e0b1f;color:#fbbf24}.analysis-badge-danger{background:#ef44441f;color:#f87171}.analysis-formula-step{background:#0ea5e90d;border:1px solid rgba(14,165,233,.15);border-radius:10px;padding:.75rem 1rem;margin-bottom:.6rem}.analysis-formula-step-label{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--clr-text-muted);margin-bottom:.25rem}.analysis-formula-step-equation{font-size:.88rem;font-weight:600;color:var(--clr-text-main);font-family:SF Mono,Fira Code,Consolas,monospace;margin-bottom:.2rem;word-break:break-all}.analysis-formula-step-result{font-size:.82rem;font-weight:700;color:var(--clr-brand-primary)}.analysis-formula-step-hint{font-size:.7rem;color:var(--clr-text-muted);margin-top:.2rem;font-style:italic}.analysis-warning-bar{background:#f59e0b14;border:1px solid rgba(245,158,11,.25);border-radius:10px;padding:.6rem .9rem;margin-bottom:1rem;font-size:.8rem;color:#fbbf24;line-height:1.5}.analysis-table{width:100%;border-collapse:collapse;font-size:.82rem}.analysis-table th{text-align:left;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--clr-text-muted);padding:.5rem .75rem;border-bottom:2px solid #E2E8F0;background:#f8fafc}.analysis-table td{padding:.5rem .75rem;color:var(--clr-text-main);border-bottom:1px solid #F8FAFC}.analysis-table tr:last-child td{border-bottom:none}.analysis-table tr:hover td{background:#f59e0b0a}.analysis-btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.5rem 1rem;border:none;border-radius:10px;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .2s}.analysis-btn-primary{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;box-shadow:0 2px 10px #f59e0b4d}.analysis-btn-primary:hover{box-shadow:0 4px 16px #f59e0b73;transform:translateY(-1px)}.analysis-btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.analysis-btn-secondary{background:#f1f5f9;color:var(--clr-text-main);border:1px solid #CBD5E1}.analysis-btn-secondary:hover{background:#cbd5e1}.analysis-mode-toggle{display:flex;gap:0;border-radius:10px;overflow:hidden;border:1px solid #CBD5E1;margin-bottom:.5rem}.analysis-mode-btn{flex:1;padding:.4rem .6rem;font-size:.75rem;font-weight:600;border:none;background:#f8fafc;color:var(--clr-text-muted);cursor:pointer;transition:all .2s}.analysis-mode-btn.active{background:#f59e0b1f;color:#fbbf24}.analysis-hint{font-size:.72rem;color:#fbbf24;background:#f59e0b14;border-radius:8px;padding:.4rem .6rem;margin-top:.35rem;line-height:1.3}.analysis-info-box{font-size:.72rem;color:var(--clr-text-muted);background:#0ea5e90f;border-left:3px solid rgba(56,189,248,.5);border-radius:0 8px 8px 0;padding:.4rem .6rem;margin-top:.35rem;line-height:1.4}.analysis-gauge-wrap{display:flex;align-items:center;justify-content:center;padding:1rem 0}.analysis-sp-diagram{display:flex;flex-direction:column;gap:3px;padding:.6rem;background:#f8fafc;border-radius:10px;border:1px solid #E2E8F0;margin-top:.5rem}.analysis-sp-row{display:flex;gap:3px}.analysis-sp-cell{width:28px;height:16px;border-radius:3px;background:linear-gradient(135deg,#f59e0b,#d97706);opacity:.8}.analysis-sp-cell-batt{background:linear-gradient(135deg,#10b981,#059669)}.analysis-sp-label{font-size:.68rem;color:var(--clr-text-muted);text-align:center;margin-top:.25rem}.analysis-header{height:48px!important;padding:0 1rem!important;background:var(--surface)!important;border-bottom:1px solid var(--border)!important;box-shadow:none!important;direction:ltr!important}.analysis-header-name{font-size:.92rem!important;font-weight:700!important;color:var(--clr-text-main);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px;cursor:pointer}.analysis-header-icon{width:26px;height:26px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--clr-text-muted);cursor:pointer;border-radius:6px;transition:all .15s;flex-shrink:0}.analysis-header-icon:hover{background:#e2e8f0;color:var(--clr-text-main)}.analysis-header-actions{display:flex;align-items:center;gap:.25rem}.analysis-header-back{display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .75rem;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;border:1px solid #D97706;border-radius:8px;font-size:.8rem;font-weight:700;cursor:pointer;transition:all .15s;box-shadow:0 2px 4px #f59e0b40}.analysis-header-back:hover{background:linear-gradient(135deg,#d97706,#b45309);transform:translateY(-1px);box-shadow:0 4px 10px #f59e0b59}.analysis-header-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;background:#fff;border:1px solid #E2E8F0;border-radius:8px;color:#64748b;cursor:pointer;transition:all .15s}.analysis-header-icon-btn:hover{background:#fef3c7;border-color:#f59e0b;color:#b45309}.analysis-header-user{display:flex;align-items:center;gap:.5rem;margin-left:auto;padding-left:.75rem;border-left:1px solid var(--border)}.analysis-header-user-btn.active{border-color:var(--accent);color:var(--accent)}.analysis-header-user-btn{display:inline-flex;align-items:center;gap:.35rem;padding:.4rem .75rem;background:transparent;border:1px solid var(--border);border-radius:var(--r-md);color:var(--text-muted);font-size:.78rem;font-weight:600;cursor:pointer;transition:all .15s}.analysis-header-user-btn:hover{background:var(--surface-2);border-color:var(--border-strong);color:var(--text)}#btn-logout:hover{background:color-mix(in srgb,var(--danger) 10%,transparent);border-color:color-mix(in srgb,var(--danger) 40%,transparent);color:var(--danger)}.analysis-header-user-btn span{line-height:1}.analysis-header-group{display:flex;align-items:center;gap:2px}.analysis-header-divider{width:1px;height:22px;background:var(--border);margin:0 .3rem}.analysis-header-btn{display:inline-flex;align-items:center;justify-content:center;gap:.2rem;padding:.28rem .5rem;border:1px solid #CBD5E1;border-radius:7px;background:#f8fafc;color:var(--clr-text-muted);font-size:.72rem;font-weight:600;cursor:pointer;transition:all .15s;white-space:nowrap;line-height:1}.analysis-header-btn:hover{background:#cbd5e1;border-color:#94a3b8;color:var(--clr-text-main)}.analysis-header-btn:disabled{opacity:.35;cursor:not-allowed}.analysis-header-btn svg{flex-shrink:0}.analysis-header-btn-accent{background:#f59e0b1a;border-color:#f59e0b4d;color:#fbbf24}.analysis-header-btn-accent:hover{background:#f59e0b2e;border-color:#f59e0b80}.analysis-header-btn-save{display:inline-flex;align-items:center;gap:.3rem;padding:.3rem .7rem;border:none;border-radius:8px;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;font-size:.75rem;font-weight:700;cursor:pointer;transition:all .15s;box-shadow:0 1px 6px #f59e0b4d;white-space:nowrap}.analysis-header-btn-save:hover{box-shadow:0 3px 12px #f59e0b73;transform:translateY(-1px)}.analysis-header-btn-save svg{flex-shrink:0}.analysis-header-saved{font-size:.68rem;color:#94a3b8;white-space:nowrap}.analysis-header .shortcut-hint{font-size:.6rem;opacity:.5;margin-left:.15rem}@media(max-width:900px){.analysis-layout-container{flex-direction:column;height:auto}.analysis-sidebar{width:100%;max-height:50vh;border-right:none;border-bottom:1px solid rgba(245,158,11,.12)}.analysis-content{padding:1rem}.analysis-card-grid{grid-template-columns:1fr}}.pv-usable-analysis{margin:.5rem 0;padding:.5rem;background:#f8fafc;border-radius:8px;border:1px solid #E2E8F0}.pv-usable-analysis .pv-usable-title{font-size:.72rem;font-weight:600;color:var(--clr-text-muted);margin-bottom:.35rem}.pv-usable-bar{position:relative;height:18px;background:#e2e8f0;border-radius:9px;overflow:hidden;margin-bottom:.25rem}.pv-usable-fill{height:100%;border-radius:9px;transition:width .4s ease}.pv-usable-fill.fill-setback{background:#fbbf24;position:absolute;left:0;top:0}.pv-usable-fill.fill-obstacle{background:#f87171;position:absolute;top:0}.pv-usable-fill.fill-shadow{background:#818cf8;position:absolute;top:0}.pv-usable-fill.fill-usable{background:#34d399;position:absolute;top:0}.pv-usable-text{display:flex;flex-wrap:wrap;gap:.5rem;font-size:.65rem;color:var(--clr-text-muted);margin-top:.2rem}.pv-usable-text span{display:inline-flex;align-items:center;gap:3px}.pv-usable-text .dot{width:8px;height:8px;border-radius:50%;display:inline-block}.pv-usable-text .dot-setback{background:#fbbf24}.pv-usable-text .dot-obstacle{background:#f87171}.pv-usable-text .dot-shadow{background:#818cf8}.pv-usable-text .dot-usable{background:#34d399}.pv-panel-tooltip{position:absolute;z-index:100;background:#fffffff7;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#0f172a;padding:6px 10px;border-radius:8px;font-size:.68rem;line-height:1.4;pointer-events:none;white-space:nowrap;border:1px solid #E2E8F0;box-shadow:0 4px 12px #0f172a2e;transition:opacity .15s}.pv-tt-row{display:flex;gap:.4rem;align-items:center}.pv-tt-row strong{color:#b45309}.pv-context-menu{position:absolute;z-index:200;background:#fffffffa;backdrop-filter:blur(16px) saturate(180%);-webkit-backdrop-filter:blur(16px) saturate(180%);border:1px solid #E2E8F0;border-radius:10px;padding:4px 0;min-width:170px;box-shadow:0 8px 24px #0f172a2e;animation:pv-ctx-in .15s ease-out}@keyframes pv-ctx-in{0%{opacity:0;transform:scale(.95) translateY(-4px)}to{opacity:1;transform:scale(1) translateY(0)}}.pv-ctx-item{padding:7px 14px;font-size:.75rem;cursor:pointer;display:flex;align-items:center;gap:8px;color:#1e293b;transition:background .12s}.pv-ctx-item:hover{background:#f1f5f9;color:#b45309}.pv-ctx-divider{height:1px;background:#e2e8f0;margin:3px 8px}.pv-mode-flash{position:absolute;inset:0;z-index:50;pointer-events:none;opacity:0;transition:opacity .35s ease-out}.pv-mode-flash.pv-flash-active{opacity:1;animation:pv-flash-fade .35s ease-out forwards}@keyframes pv-flash-fade{0%{opacity:1}to{opacity:0}}.pv-mode-badge{animation:pv-badge-slide .25s ease-out}@keyframes pv-badge-slide{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.pv-toolbar-btn.active{animation:pv-toolbar-pulse 1.5s ease-in-out infinite}@keyframes pv-toolbar-pulse{0%,to{box-shadow:0 0 #3b82f64d}50%{box-shadow:0 0 0 4px #3b82f600}}.pv-shadow-slider-wrap{position:absolute;bottom:10px;left:50%;transform:translate(-50%);background:#fffffff5;backdrop-filter:blur(12px) saturate(180%);-webkit-backdrop-filter:blur(12px) saturate(180%);border:1px solid #E2E8F0;border-radius:10px;padding:8px 14px;box-shadow:0 4px 16px #0f172a2e;z-index:30;min-width:340px;color:#1e293b}.pv-shadow-slider-wrap label,.pv-shadow-slider-row #pv-shadow-hour-label{color:#475569!important}.pv-shadow-presets{display:flex;gap:4px;flex-wrap:wrap;margin-top:4px;margin-bottom:2px}.pv-shadow-chip{padding:3px 7px;font-size:.64rem;font-weight:700;background:#f8fafc;color:#1e293b;border:1px solid #CBD5E1;border-radius:5px;cursor:pointer;transition:all .15s;white-space:nowrap;line-height:1.2}.pv-shadow-chip:hover{background:#f1f5f9;color:#0f172a;border-color:#94a3b8}.pv-shadow-chip.is-active{background:linear-gradient(135deg,#7c3aed,#ec4899);color:#fff;border-color:#7c3aed;box-shadow:0 2px 6px #7c3aed47}.pv-shadow-chip-worst{background:#fef2f2;color:#991b1b;border-color:#fca5a5}.pv-shadow-chip-worst:hover{background:#fee2e2;color:#7f1d1d;border-color:#f87171}.pv-shadow-chip-worst.is-active{background:linear-gradient(135deg,#dc2626,#f59e0b);color:#fff;border-color:#dc2626}.pv-shadow-sun{font-size:1.05rem;line-height:1;filter:drop-shadow(0 1px 2px rgba(245,158,11,.35));transition:transform .2s}.pv-shadow-sun:hover{transform:scale(1.15)}.pv-shadow-meta{display:flex;align-items:center;justify-content:space-between;gap:.6rem;margin-top:4px;padding:3px 6px;font-size:.63rem;font-weight:600;color:#475569;background:#f8fafc;border:1px solid #E2E8F0;border-radius:6px}.pv-shadow-alt{font-variant-numeric:tabular-nums;letter-spacing:.02em;color:#334155}.pv-shadow-cov{padding:2px 8px;border-radius:99px;font-weight:700;font-variant-numeric:tabular-nums;background:#f1f5f9;color:#334155;border:1px solid #CBD5E1}.pv-shadow-cov.is-low{background:#ecfdf5;color:#065f46;border-color:#a7f3d0}.pv-shadow-cov.is-mid{background:#fffbeb;color:#92400e;border-color:#fde68a}.pv-shadow-cov.is-high{background:#fef2f2;color:#991b1b;border-color:#fca5a5}.pv-parapet-label{background:#ffffffeb;padding:2px 6px;border-radius:4px;border:1px solid rgba(245,158,11,.6);text-shadow:none}.pv-shadow-slider-row{display:flex;align-items:center;gap:8px;margin-top:4px}.pv-shadow-slider-row input[type=range]{-webkit-appearance:none;height:4px;background:#94a3b8;border-radius:2px;outline:none}.pv-shadow-slider-row input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;background:#6366f1;border-radius:50%;cursor:pointer}.pv-irradiance-legend{position:absolute;bottom:10px;right:10px;background:#0d1117d9;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid #CBD5E1;border-radius:8px;padding:6px 10px;z-index:30;width:120px}.pv-irr-gradient{height:10px;border-radius:5px;background:linear-gradient(to right,#ef4444,#eab308,#22c55e)}.pv-irr-labels{display:flex;justify-content:space-between;font-size:.6rem;color:var(--clr-text-muted);margin-top:2px}.pv-loss-waterfall{text-align:center}.pv-loss-title{font-size:.72rem;font-weight:600;color:#475569;margin-bottom:.3rem}.pv-loss-legend{display:flex;flex-wrap:wrap;justify-content:center;gap:.4rem;margin-top:.3rem;font-size:.62rem;color:#64748b}.pv-loss-legend span{display:inline-flex;align-items:center;gap:3px}.pv-loss-legend .dot{width:7px;height:7px;border-radius:50%;display:inline-block}.pv-clickable-title{cursor:pointer;-webkit-user-select:none;user-select:none}.pv-clickable-title:hover{color:#3b82f6}.pv-fin-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px;margin-top:.3rem}.pv-fin-card{background:#f8fafc;border:1px solid #E2E8F0;border-radius:8px;padding:6px 8px;text-align:center}.pv-fin-value{font-size:.78rem;font-weight:700;color:var(--clr-text-main);white-space:nowrap}.pv-fin-label{font-size:.58rem;color:var(--clr-text-muted);margin-top:1px}.pv-financial-results{margin-top:.3rem}.pv-roof-group,.pv-array-group,.pv-modules-group{border-radius:12px;padding:.65rem .8rem .6rem;margin-bottom:.55rem;position:relative;transition:box-shadow .18s ease,transform .18s ease}.pv-roof-group:hover,.pv-array-group:hover,.pv-modules-group:hover{box-shadow:0 2px 10px #0f172a0d}.pv-roof-group{border:1px solid rgba(245,158,11,.25);background:linear-gradient(180deg,#f59e0b0f,#f59e0b03)}.pv-roof-title{display:flex;align-items:center;gap:.5rem;cursor:pointer;-webkit-user-select:none;user-select:none;color:#b45309;font-weight:700;margin:0;font-size:.85rem;letter-spacing:.01em}.pv-roof-title svg{color:#d97706;flex-shrink:0}.pv-roof-title>span:first-of-type{flex:1}.pv-roof-status{font-size:.65rem;font-weight:600;color:#475569;background:#fff;border:1px solid #CBD5E1;padding:.14rem .55rem;border-radius:99px;letter-spacing:.02em;white-space:nowrap}.pv-roof-status.is-enabled{color:#92400e;background:#fef3c7;border-color:#fcd34d}.pv-roof-chevron{font-size:.7rem;color:#94a3b8;transition:transform .18s}.pv-roof-body{margin-top:.55rem;display:block}.pv-roof-divider{height:1px;background:linear-gradient(90deg,transparent 0%,rgba(245,158,11,.25) 30%,rgba(245,158,11,.25) 70%,transparent 100%);margin:.55rem 0}.pv-array-group{border:1px solid rgba(99,102,241,.22);background:linear-gradient(180deg,#6366f10d,#6366f103)}.pv-array-title{display:flex;align-items:center;gap:.5rem;cursor:pointer;-webkit-user-select:none;user-select:none;color:#4338ca;font-weight:700;margin:0;font-size:.85rem;letter-spacing:.01em}.pv-array-title svg{color:#6366f1;flex-shrink:0}.pv-array-title>span:first-of-type{flex:1}.pv-array-status{font-size:.65rem;font-weight:600;color:#475569;background:#fff;border:1px solid #CBD5E1;padding:.14rem .55rem;border-radius:99px;letter-spacing:.02em;white-space:nowrap}.pv-array-status.is-enabled{color:#3730a3;background:#eef2ff;border-color:#c7d2fe}.pv-array-chevron{font-size:.7rem;color:#94a3b8;transition:transform .18s}.pv-array-body{margin-top:.55rem;display:block}.pv-array-divider{height:1px;background:linear-gradient(90deg,transparent 0%,rgba(99,102,241,.25) 30%,rgba(99,102,241,.25) 70%,transparent 100%);margin:.55rem 0}.pv-modules-group{border:1px solid rgba(249,115,22,.22);background:linear-gradient(180deg,#f973160d,#f9731603)}.pv-modules-title{display:flex;align-items:center;gap:.5rem;cursor:pointer;-webkit-user-select:none;user-select:none;color:#c2410c;font-weight:700;margin:0;font-size:.85rem;letter-spacing:.01em}.pv-modules-title svg{color:#ea580c;flex-shrink:0}.pv-modules-title>span:first-of-type{flex:1}.pv-modules-status{font-size:.65rem;font-weight:600;color:#475569;background:#fff;border:1px solid #CBD5E1;padding:.14rem .55rem;border-radius:99px;letter-spacing:.02em;white-space:nowrap}.pv-modules-status.is-enabled{color:#9a3412;background:#ffedd5;border-color:#fdba74}.pv-modules-chevron{font-size:.7rem;color:#94a3b8;transition:transform .18s}.pv-modules-body{margin-top:.55rem;display:block}.pv-meas-group{position:absolute;bottom:5.5rem;left:.75rem;z-index:11;width:280px;background:#fffffff5;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(59,130,246,.22);border-radius:12px;padding:.4rem .6rem;box-shadow:0 6px 22px #0f172a2e;font-family:inherit;transition:width .18s ease,box-shadow .18s ease}.pv-meas-group:hover{box-shadow:0 8px 28px #0f172a38}.pv-meas-group:has(#pv-meas-body[style*="display: none"]),.pv-meas-group:has(#pv-meas-body[style*="display:none"]){width:auto;max-width:320px}.pv-meas-title{display:flex;align-items:center;gap:.5rem;cursor:pointer;-webkit-user-select:none;user-select:none;background:transparent;border:none;color:#1d4ed8;font-weight:700;margin:0;padding:.15rem .1rem;font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;text-align:left;width:100%}.pv-meas-title svg{color:#2563eb;flex-shrink:0}.pv-meas-title-text{flex-shrink:0}.pv-meas-status{flex:1;font-size:.62rem;font-weight:600;color:#475569;background:#fff;border:1px solid #CBD5E1;padding:.12rem .5rem;border-radius:99px;letter-spacing:.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-transform:none}.pv-meas-chevron{font-size:.7rem;color:#94a3b8;transition:transform .18s;flex-shrink:0}.pv-meas-body{margin-top:.5rem;display:block}.pv-meas-units-row{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.pv-meas-units-row .pv-label-inline{font-size:.7rem;font-weight:600;color:#1e40af;flex-shrink:0}.pv-meas-units-row .pv-input{flex:1}.pv-meas-totals{display:grid;grid-template-columns:1fr 1fr;gap:.4rem;margin-bottom:.55rem}.pv-meas-total{background:#fff;border:1px solid #DBEAFE;border-radius:8px;padding:.35rem .45rem;display:flex;flex-direction:column;gap:.15rem}.pv-meas-total-lbl{font-size:.58rem;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.06em}.pv-meas-total-val{font-size:.85rem;font-weight:800;color:#1e293b;font-variant-numeric:tabular-nums}.pv-meas-add-row{display:grid;grid-template-columns:1fr 1fr;gap:.35rem;margin-bottom:.45rem}.pv-meas-add-row .pv-btn{font-size:.7rem;padding:.35rem .45rem}.pv-meas-hint{font-size:.62rem;color:#64748b;background:#ffffffb3;border-radius:6px;padding:.4rem .55rem;margin-bottom:.5rem;line-height:1.45}.pv-meas-list{display:flex;flex-direction:column;gap:.3rem;max-height:200px;overflow-y:auto;padding-right:2px;margin-bottom:.5rem}.pv-meas-empty{font-size:.7rem;color:#64748b;text-align:center;padding:.65rem .4rem;border:1px dashed #CBD5E1;border-radius:8px;background:#ffffff80}.pv-meas-row{display:flex;align-items:center;gap:.35rem;background:#fff;border:1px solid #DBEAFE;border-radius:7px;padding:.25rem .4rem;transition:opacity .15s}.pv-meas-row.is-hidden{opacity:.45}.pv-meas-swatch{width:20px;height:20px;border-radius:4px;border:1.5px solid #FFFFFF;box-shadow:0 0 0 1px #cbd5e1;cursor:pointer;flex-shrink:0;padding:0}.pv-meas-swatch:hover{box-shadow:0 0 0 2px #3b82f6}.pv-meas-name{flex:1;min-width:0;font-size:.72rem;background:transparent;border:1px solid transparent;border-radius:4px;padding:.15rem .35rem;color:#1e293b;font-weight:600;cursor:text}.pv-meas-name:hover,.pv-meas-name:focus{background:#f8fafc;border-color:#cbd5e1;outline:none}.pv-meas-metric{font-size:.66rem;color:#64748b;font-variant-numeric:tabular-nums;white-space:nowrap;flex-shrink:0}.pv-meas-convert,.pv-meas-eye,.pv-meas-delete{background:none;border:1px solid transparent;border-radius:4px;padding:.1rem .3rem;cursor:pointer;font-size:.78rem;line-height:1;flex-shrink:0;transition:background .12s,border-color .12s}.pv-meas-convert:hover{background:#ecfdf5;border-color:#10b981}.pv-meas-eye:hover{background:#f1f5f9;border-color:#94a3b8}.pv-meas-delete:hover{background:#fef2f2;border-color:#fca5a5}.pv-meas-delete.is-confirming{background:#dc2626;color:#fff;border-color:#dc2626;font-weight:700}.pv-meas-export-row{display:flex;justify-content:flex-end}.pv-meas-export-row .pv-btn-secondary{background:#fff;color:#1e40af;border:1px solid #DBEAFE;font-size:.7rem}.pv-meas-export-row .pv-btn-secondary:hover{background:#eff6ff;border-color:#3b82f6}.pv-meas-color-popover{display:grid;grid-template-columns:repeat(6,1fr);gap:.25rem;background:#fff;border:1px solid #CBD5E1;border-radius:8px;padding:.4rem;box-shadow:0 6px 18px #0f172a1f;z-index:9999}.pv-meas-color-opt{width:22px;height:22px;border-radius:4px;border:1.5px solid #FFFFFF;box-shadow:0 0 0 1px #cbd5e1;cursor:pointer;padding:0}.pv-meas-color-opt:hover{box-shadow:0 0 0 2px #3b82f6}.pv-roof-edge-label{background:#fffffff0;color:#1e40af;font-size:.7rem;font-weight:700;padding:.12rem .4rem;border-radius:6px;letter-spacing:.02em;white-space:nowrap;font-variant-numeric:tabular-nums;border:1px solid rgba(148,163,184,.55);box-shadow:0 1px 3px #0f172a2e}.pv-meas-edge-label{background:#0f172ad9;color:#fff;font-size:.66rem;font-weight:700;padding:.18rem .45rem;border-radius:8px;letter-spacing:.02em;white-space:nowrap;font-variant-numeric:tabular-nums;box-shadow:0 1px 3px #00000040}.pv-meas-area-label{background:#fffffff2;color:#1e293b;font-size:.78rem;font-weight:800;padding:.3rem .6rem;border-radius:10px;border-left:4px solid #3B82F6;letter-spacing:.02em;white-space:nowrap;font-variant-numeric:tabular-nums;box-shadow:0 2px 6px #0f172a2e}.pv-sub-label{display:block;font-size:.66rem;font-weight:800;color:#475569;text-transform:uppercase;letter-spacing:.08em;margin-bottom:.3rem}.pv-roof-group .pv-sub-label{color:#92400e}.pv-array-group .pv-sub-label{color:#4338ca}.pv-modules-group .pv-sub-label{color:#9a3412}.pv-empty-hint{font-size:.72rem;color:#64748b;background:#fff9;border:1px dashed #CBD5E1;border-radius:8px;padding:.55rem .7rem;text-align:center;line-height:1.45}.pv-inv-group,.pv-bess-group{margin-bottom:.55rem;transition:box-shadow .18s ease}.pv-inv-group:hover,.pv-bess-group:hover{box-shadow:0 2px 10px #0f172a0d}.pv-bess-group.pv-bess-nested{margin:.55rem 0 0;padding-top:.6rem;border:1px dashed rgba(34,197,94,.35);background:#22c55e08}.pv-bess-group.pv-bess-nested:hover{box-shadow:none}.pv-bess-group{border:1px solid rgba(34,197,94,.18);border-radius:10px;background:linear-gradient(180deg,#22c55e0a,#22c55e03);padding:.6rem .75rem .55rem}.pv-bess-title{display:flex;align-items:center;gap:.5rem;cursor:pointer;-webkit-user-select:none;user-select:none;color:#047857;font-weight:700;margin:0;font-size:.82rem;letter-spacing:.01em}.pv-bess-title svg{color:#047857}.pv-bess-title>span:first-of-type{flex:1}.pv-bess-status{font-size:.65rem;font-weight:600;color:#475569;background:#fff;border:1px solid #CBD5E1;padding:.14rem .5rem;border-radius:99px;letter-spacing:.02em;white-space:nowrap}.pv-bess-status.is-enabled{color:#15803d;background:#22c55e1f;border-color:#22c55e59}.pv-bess-chevron{font-size:.7rem;color:#94a3b8;transition:transform .15s}.pv-bess-body{margin-top:.55rem;display:block}.pv-bess-body .pv-row{margin-bottom:.35rem}.pv-bess-body .pv-field{flex:1;min-width:0}.pv-bess-body .pv-field-label{font-size:.68rem;color:var(--clr-text-muted);font-weight:600;display:block;margin-bottom:.12rem}.pv-bess-sub-title{font-size:.68rem;font-weight:800;color:#15803d;text-transform:uppercase;letter-spacing:.1em;margin:.6rem 0 .3rem;padding-bottom:.2rem;border-bottom:1px dashed rgba(34,197,94,.3)}.pv-bess-autosize{background:#22c55e0d;border-radius:8px;padding:.45rem .55rem;margin-top:.5rem}.pv-bess-pvfrac{width:100%;margin-top:.4rem;height:4px;-webkit-appearance:none;background:#d1fae5;border-radius:2px;outline:none;accent-color:#16a34a}.pv-bess-pvfrac::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:#16a34a;cursor:pointer;box-shadow:0 2px 4px #0f172a0f}.pv-bess-pvfrac::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:#16a34a;cursor:pointer;border:none}.pv-bess-pvfrac-label{font-size:.68rem;color:#475569;text-align:center;margin-top:.15rem;font-variant-numeric:tabular-nums}.pv-bess-toggles .pv-toggle{font-size:.72rem}.pv-bess-toggles .pv-toggle input[type=checkbox]{accent-color:#16a34a}.pv-bess-kpi{display:flex;flex-direction:column;padding:.35rem .45rem;background:#fff;border:1px solid #e2e8f0;border-left:3px solid #16a34a;border-radius:6px}.pv-bess-kpi-lbl{font-size:.6rem;color:#64748b;text-transform:uppercase;letter-spacing:.06em;font-weight:600;line-height:1.2}.pv-bess-kpi-val{font-size:.8rem;font-weight:700;color:#0f172a;font-variant-numeric:tabular-nums;margin-top:.1rem}.pv-bess-note{margin-top:.5rem;padding:.4rem .55rem;background:#f59e0b1a;border-left:3px solid #f59e0b;border-radius:5px;color:#78350f;font-size:.7rem;font-weight:500;line-height:1.45}.pv-bess-kpis-grouped{display:flex;flex-direction:column;gap:6px;margin-top:.5rem}.pv-bess-kpi-grp{display:flex;flex-direction:column;gap:3px}.pv-bess-kpi-grp-lbl{font-size:.62rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:#047857;padding-left:4px}.pv-bess-kpi-grp-row{display:grid;grid-template-columns:1fr 1fr;gap:6px}.pv-bess-presets{display:grid;grid-template-columns:repeat(2,1fr);gap:4px;margin-bottom:.5rem}.pv-bess-preset{padding:6px 8px;font-size:.7rem;font-weight:500;color:#047857;background:#22c55e14;border:1px solid rgba(34,197,94,.25);border-radius:5px;cursor:pointer;transition:background .15s,transform .1s;text-align:left}.pv-bess-preset:hover{background:#22c55e2e;transform:translateY(-1px)}.pv-bess-preset:active{transform:translateY(0)}.pv-bess-bridge{margin-bottom:.5rem;padding:.4rem .55rem;border-radius:5px;font-size:.7rem;line-height:1.4}.pv-bess-bridge.is-ok{background:#10b9811a;border-left:3px solid #10B981;color:#065f46}.pv-bess-bridge.is-info{background:#3b82f61a;border-left:3px solid #3B82F6;color:#1e3a8a}.pv-bess-bridge.is-issues{background:#f59e0b0f;border-left:3px solid #f59e0b;padding:.5rem}.pv-bess-bridge-row{display:grid;grid-template-columns:auto 1fr auto;gap:6px;align-items:center;padding:3px 0}.pv-bess-bridge-row+.pv-bess-bridge-row{border-top:1px dashed rgba(245,158,11,.25)}.pv-bess-bridge-icon{font-weight:700;font-size:.85rem}.pv-bess-bridge-error .pv-bess-bridge-icon{color:#dc2626}.pv-bess-bridge-warn .pv-bess-bridge-icon{color:#d97706}.pv-bess-bridge-info .pv-bess-bridge-icon{color:#2563eb}.pv-bess-bridge-msg{color:#57534e}.pv-bess-bridge-fix{padding:3px 8px;font-size:.65rem;font-weight:600;color:#fff;background:#16a34a;border:none;border-radius:4px;cursor:pointer}.pv-bess-bridge-fix:hover{background:#15803d}.pv-bess-sizing-modes{display:flex;gap:4px;margin-bottom:.4rem;background:#22c55e12;padding:3px;border-radius:6px}.pv-bess-sm-btn{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:4px 8px;font-size:.7rem;font-weight:500;color:#047857;border-radius:4px;cursor:pointer;transition:background .15s,color .15s}.pv-bess-sm-btn input[type=radio]{margin:0;width:12px;height:12px;accent-color:#16a34a}.pv-bess-sm-btn:has(input:checked){background:#16a34a;color:#fff}.pv-bess-sm-btn:hover:not(:has(input:checked)){background:#22c55e26}.pv-bess-cat-badge{margin-top:.35rem;padding:.3rem .5rem;border-radius:5px;font-size:.68rem;font-weight:500;line-height:1.35}.pv-bess-cat-badge.is-locked{background:#10b9811a;border-left:3px solid #10B981;color:#065f46}.pv-bess-cat-badge.is-modified{background:#f59e0b1a;border-left:3px solid #f59e0b;color:#78350f}.pv-dim-label{background:#ffffffd9;padding:1px 4px;border-radius:4px;text-shadow:none}.pv-btn-smart-fill.running{animation:pv-smartfill-pulse .8s ease-in-out infinite}@keyframes pv-smartfill-pulse{0%,to{box-shadow:0 0 #8b5cf666}50%{box-shadow:0 0 0 6px #8b5cf600}}.pv-parapet-edges{display:flex;flex-direction:column;gap:3px;max-height:140px;overflow-y:auto;padding-right:2px}.pv-parapet-edge{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:3px 6px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;transition:border-color .15s,background .15s}.pv-parapet-edge:hover{border-color:#8b5cf6;background:#faf5ff}.pv-parapet-edge-label{display:flex;align-items:center;gap:5px;font-size:.68rem;color:#475569;min-width:0}.pv-edge-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;transition:background .2s}.pv-edge-dir{font-weight:700;color:#334155;min-width:20px}.pv-edge-len{color:#94a3b8;font-size:.62rem}.pv-parapet-edge-input{text-align:center;border-radius:5px}.pv-extend-hint{font-style:italic}.pv-equipment-palette{margin-top:1rem;padding:.75rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px}.pv-eq-title{display:flex;align-items:center;justify-content:space-between;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#64748b;margin-bottom:.25rem}.pv-eq-history{display:flex;gap:.25rem}.pv-eq-undo,.pv-eq-redo{border:1px solid #cbd5e1;background:#fff;border-radius:6px;padding:2px 8px;font-size:.9rem;line-height:1;cursor:pointer;color:#475569}.pv-eq-undo:disabled,.pv-eq-redo:disabled{opacity:.4;cursor:default}.pv-eq-hint{font-size:.7rem;color:#94a3b8;margin-bottom:.5rem;line-height:1.4}.pv-eq-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.4rem}.pv-eq-chip{display:flex;flex-direction:column;align-items:center;gap:.2rem;padding:.45rem .25rem;border:1px solid #cbd5e1;background:#fff;border-radius:8px;cursor:pointer;transition:transform .1s ease,border-color .1s ease,background .1s ease}.pv-eq-chip:hover{transform:translateY(-1px);border-color:#0ea5e9}.pv-eq-chip.is-active{background:#0ea5e9;border-color:#0284c7;color:#fff;box-shadow:0 2px 6px #0ea5e959}.pv-eq-chip-icon{font-size:.65rem;font-weight:800;letter-spacing:.05em;padding:2px 5px;background:#e2e8f0;color:#334155;border-radius:4px;min-width:2rem;text-align:center}.pv-eq-chip.is-active .pv-eq-chip-icon{background:#fff3;color:#fff}.pv-eq-chip-label{font-size:.68rem;font-weight:600;color:inherit}.pv-eq-inspector{margin-top:.75rem;padding:.65rem;background:#fff;border:1px solid #e2e8f0;border-radius:8px}.pv-eq-inspector-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem;font-size:.8rem}.pv-eq-type-tag{font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#64748b;background:#f1f5f9;padding:2px 6px;border-radius:4px}.pv-eq-inspector-row{display:flex;justify-content:space-between;font-size:.7rem;color:#475569;padding:.2rem 0}.pv-eq-inspector-row span:last-child{color:#0f172a;font-weight:600}.pv-eq-delete{margin-top:.5rem;padding:.35rem .6rem;background:#fee2e2;border:1px solid #fca5a5;border-radius:6px;color:#b91c1c;font-size:.7rem;font-weight:600;cursor:pointer;width:100%}.pv-eq-delete:hover{background:#fecaca}.pv-azimuth-sun{color:#d97706;font-weight:700;cursor:help}.lp-v2 .navbar.glass{position:fixed;top:0;left:0;right:0;direction:ltr;background:color-mix(in srgb,var(--bg) 80%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);box-shadow:none;transition:background .3s ease,border-color .3s ease}.lp-v2 .navbar.glass.is-scrolled{background:color-mix(in srgb,var(--bg) 92%,transparent);border-bottom-color:var(--border);box-shadow:none}.lp-v2 .navbar .btn-ghost{color:var(--text);border-color:var(--border);background:transparent}.lp-v2 .navbar .btn-ghost:hover{background:var(--surface-2);border-color:var(--border-strong)}.lp-hero-band{position:relative;background-color:var(--bg);background-image:linear-gradient(var(--grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--grid-line) 1px,transparent 1px);background-size:32px 32px;color:var(--text);padding:calc(72px + clamp(2rem,6vw,4rem)) 1.25rem clamp(3rem,7vw,5rem);overflow:hidden}.lp-hero-band:after{content:"";position:absolute;inset:0;background:linear-gradient(var(--bg),transparent 30%,transparent 70%,var(--bg));pointer-events:none}.lp-hero-inner{max-width:1120px;margin:0 auto;position:relative;z-index:1}.lp-hero-centered{display:flex;flex-direction:column;align-items:center;text-align:center}.lp-hero-centered .lp-hero-copy{text-align:center;max-width:720px}.lp-hero-band .lp-eyebrow{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);background:none;border:none;padding:0}.lp-hero-band .lp-hero-title{font-size:clamp(2.2rem,5vw,3.6rem);font-weight:600;letter-spacing:-.03em;background:var(--grad-heading);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}.lp-hero-band .lp-hero-title .text-gradient{background:var(--grad-brand);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.lp-hero-band .lp-hero-sub{color:var(--text-muted);margin-inline:auto}.lp-hero-band .lp-hero-actions{justify-content:center;margin-top:.4rem}.lp-hero-band .btn-ghost{color:var(--text);border-color:var(--border);background:transparent}.lp-hero-band .btn-ghost:hover{background:var(--surface-2);border-color:var(--border-strong)}.lp-hero-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:.6rem;margin-top:1.4rem}.lp-chip{display:inline-flex;align-items:center;gap:.4rem;font-family:var(--font-mono);font-size:.7rem;font-weight:500;letter-spacing:.02em;color:var(--text-muted);background:var(--surface-2);border:1px solid var(--border);padding:.36rem .7rem;border-radius:var(--r-sm)}.lp-chip svg{width:13px;height:13px;color:var(--accent)}.lp-stat-bar{display:flex;flex-wrap:wrap;justify-content:center;gap:clamp(1rem,4vw,2.5rem);margin-top:clamp(2rem,5vw,3.2rem);padding:1.3rem clamp(1rem,4vw,2.2rem);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg)}.lp-stat-bar .lp-stat{flex:1 1 130px;max-width:220px;background:none;border:none;box-shadow:none;padding:.4rem;display:flex;flex-direction:column;align-items:center;gap:.2rem}.lp-stat-bar .lp-stat-num{display:flex;align-items:center;justify-content:center;height:2.6rem;font-family:var(--font-mono);font-weight:600;letter-spacing:-.02em;color:var(--text)}.lp-stat-bar .lp-stat-lbl{color:var(--text-muted);text-align:center}.lp-stat-cert .lp-stat-check{display:flex;align-items:center;justify-content:center;height:2.6rem;color:var(--accent)}.lp-stat-cert .lp-stat-check svg{width:1.8rem;height:1.8rem}.lp-head{text-align:center;max-width:640px;margin:0 auto 2.4rem}.lp-kicker{display:inline-block;font-family:var(--font-mono);font-size:.72rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);background:none;border:none;padding:0;margin-bottom:.8rem}.lp-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1rem,3vw,1.6rem)}.lp-step{padding:1.6rem 1.5rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);transition:border-color .2s ease}.lp-step:hover{border-color:var(--border-strong)}.lp-step-num{font-family:var(--font-mono);font-size:.95rem;font-weight:500;letter-spacing:.06em;color:var(--accent);margin-bottom:.9rem}.lp-step-title{font-size:1.1rem;font-weight:600;margin:0 0 .5rem;color:var(--clr-text-main)}.lp-step-desc{font-size:.92rem;line-height:1.6;color:var(--clr-text-muted);margin:0}.lp-path-card{display:flex;flex-direction:column}.lp-path-meta{display:flex;align-items:center;gap:.6rem;margin:1rem 0 1.3rem;font-size:.85rem;font-weight:600;color:var(--clr-text-muted)}.lp-path-dot{width:4px;height:4px;border-radius:50%;background:var(--clr-text-muted);opacity:.5}.lp-path-cta{margin-top:auto;align-self:flex-start}.lp-feature-icon{color:var(--clr-brand-primary)}.lp-feature-icon svg{width:24px;height:24px}.lp-feature-card:nth-child(3n+2) .lp-feature-icon{color:var(--clr-brand-secondary)}.lp-feature-card:nth-child(3n) .lp-feature-icon{color:var(--clr-brand-accent)}.lp-bento{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(.8rem,2vw,1.1rem)}.lp-lead-card{grid-column:span 2;display:flex;flex-direction:column;justify-content:center;gap:.4rem;padding:clamp(1.5rem,3vw,2.1rem);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg)}.lp-lead-num{font-family:var(--font-mono);font-weight:600;letter-spacing:-.03em;line-height:1;font-size:clamp(2.6rem,6vw,4rem);color:var(--text)}.lp-lead-label{font-size:1.05rem;color:var(--text);max-width:24ch}.lp-lead-meta{font-family:var(--font-mono);font-size:.74rem;letter-spacing:.04em;color:var(--text-muted);margin-top:.3rem}.lp-can-do{margin-top:clamp(1.5rem,4vw,2.4rem)}.lp-can-do-label{display:block;text-align:center;font-family:var(--font-mono);font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);margin-bottom:1.2rem}.lp-levels{display:grid;gap:.8rem;max-width:820px;margin:0 auto}.lp-level{display:grid;grid-template-columns:9.5rem 1fr auto;align-items:center;gap:clamp(.9rem,2.5vw,1.8rem);padding:1.2rem 1.4rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);transition:border-color .2s ease}.lp-level:hover{border-color:var(--border-strong)}.lp-level-badge{justify-self:start;font-family:var(--font-mono);font-size:.72rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;padding:.3rem .6rem;border:1px solid;border-radius:var(--r-sm)}.lp-level-beg .lp-level-badge{color:var(--success);border-color:color-mix(in srgb,var(--success) 40%,transparent);background:color-mix(in srgb,var(--success) 10%,transparent)}.lp-level-int .lp-level-badge{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 40%,transparent);background:color-mix(in srgb,var(--accent) 10%,transparent)}.lp-level-adv .lp-level-badge{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 40%,transparent);background:color-mix(in srgb,var(--danger) 10%,transparent)}.lp-level-name{font-size:1rem;font-weight:600;margin:0 0 .2rem;color:var(--text)}.lp-level-topics{font-size:.85rem;color:var(--text-muted);margin:0 0 .6rem;line-height:1.4}.lp-level-bar{height:5px;border-radius:var(--r-pill);background:var(--surface-2);overflow:hidden}.lp-level-fill{display:block;height:100%;border-radius:inherit}.lp-level-beg .lp-level-fill{background:var(--success)}.lp-level-int .lp-level-fill{background:var(--accent)}.lp-level-adv .lp-level-fill{background:var(--danger)}.lp-level-count{justify-self:end;font-family:var(--font-mono);font-weight:600;font-size:clamp(1.6rem,4vw,2.2rem);line-height:1;color:var(--text)}.lp-cert{display:grid;grid-template-columns:minmax(200px,.8fr) 1fr;gap:clamp(1.5rem,4vw,3rem);align-items:center;max-width:900px;margin:0 auto;padding:clamp(1.6rem,4vw,2.4rem);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg)}.lp-cert-motif{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:1.6rem;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md)}.lp-cert-seal{width:56px;height:56px;display:flex;align-items:center;justify-content:center;color:var(--accent);border:2px solid color-mix(in srgb,var(--accent) 45%,transparent);border-radius:50%}.lp-cert-seal svg{width:30px;height:30px}.lp-cert-qr{display:grid;grid-template-columns:repeat(6,1fr);gap:2px;width:84px;height:84px}.lp-cert-qr span{background:color-mix(in srgb,var(--text) 7%,transparent);border-radius:1px}.lp-cert-qr span.on{background:var(--text)}.lp-cert-id{font-family:var(--font-mono);font-size:.82rem;letter-spacing:.08em;color:var(--text-muted)}.lp-cert-desc{font-size:1rem;line-height:1.65;color:var(--text-muted);margin:0 0 1.3rem}.lp-cert-chips{display:flex;flex-wrap:wrap;gap:.6rem}.lp-cert-chip{display:inline-flex;align-items:center;gap:.4rem;font-family:var(--font-mono);font-size:.72rem;font-weight:500;letter-spacing:.02em;color:var(--text-muted);background:var(--surface-2);border:1px solid var(--border);padding:.4rem .7rem;border-radius:var(--r-sm)}.lp-cert-chip svg{width:13px;height:13px;color:var(--success)}.lp-outcomes{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem 1.6rem;max-width:880px;margin:0 auto}.lp-outcome{display:flex;align-items:flex-start;gap:.8rem;padding:1rem 1.2rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);font-size:.95rem;font-weight:500;color:var(--clr-text-main);box-shadow:none}.lp-outcome-ic{flex:0 0 auto;width:26px;height:26px;display:flex;align-items:center;justify-content:center;color:#fff;background:var(--clr-brand-accent);border-radius:50%}.lp-outcome-ic svg{width:15px;height:15px}.lp-outcome-txt{line-height:1.45}.lp-preview{max-width:680px;margin:0 auto}.lp-preview-card{border-radius:var(--r-lg);padding:clamp(1.4rem,3vw,2rem);background:var(--surface);border:1px solid var(--border)}.lp-preview-top{display:flex;align-items:center;justify-content:space-between;gap:.6rem;margin-bottom:1rem}.lp-preview-badge{font-size:.75rem;font-weight:700;color:var(--clr-brand-secondary);background:#0ea5e91a;padding:.3rem .7rem;border-radius:999px}.lp-preview-tag{font-size:.72rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--clr-brand-primary);background:#f59e0b1f;padding:.3rem .7rem;border-radius:999px}.lp-preview-title{font-size:1.3rem;font-weight:600;margin:0 0 .6rem;color:var(--clr-text-main)}.lp-preview-body{font-size:.95rem;line-height:1.65;color:var(--clr-text-muted);margin:0 0 1.4rem}.lp-preview-quiz{background:var(--clr-surface-light);border:1px solid var(--clr-border);border-radius:14px;padding:1.2rem}.lp-preview-qhead{display:flex;align-items:center;justify-content:space-between;gap:.6rem;margin-bottom:.6rem}.lp-preview-qlabel{font-size:.74rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--clr-brand-accent)}.lp-quiz-hint{font-size:.78rem;color:var(--clr-text-muted)}.lp-preview-q{font-size:1rem;font-weight:600;color:var(--clr-text-main);margin-bottom:1rem}.lp-quiz-opts{display:grid;gap:.6rem}.lp-quiz-opt{display:flex;align-items:center;gap:.7rem;width:100%;text-align:start;font-size:.95rem;font-weight:500;color:var(--clr-text-main);background:var(--clr-surface);border:1.5px solid var(--clr-border);border-radius:10px;padding:.7rem .9rem;cursor:pointer;transition:border-color .15s ease,background .15s ease,transform .1s ease}.lp-quiz-opt:hover:not(:disabled){border-color:var(--clr-brand-secondary);transform:translateY(-1px)}.lp-quiz-opt:disabled{cursor:default}.lp-quiz-key{flex:0 0 auto;width:24px;height:24px;display:flex;align-items:center;justify-content:center;font-size:.78rem;font-weight:800;color:var(--clr-text-muted);background:var(--clr-surface-light);border-radius:7px}.lp-quiz-opt.is-correct{border-color:var(--success);background:color-mix(in srgb,var(--success) 12%,transparent);color:var(--success)}.lp-quiz-opt.is-correct .lp-quiz-key{background:var(--success);color:#fff}.lp-quiz-opt.is-wrong{border-color:var(--danger);background:color-mix(in srgb,var(--danger) 10%,transparent);color:var(--danger)}.lp-quiz-opt.is-wrong .lp-quiz-key{background:var(--danger);color:#fff}.lp-quiz-feedback{display:none;align-items:center;gap:.5rem;margin-top:1rem;font-size:.9rem;font-weight:600;color:var(--success)}.lp-quiz-feedback svg{width:18px;height:18px;color:var(--clr-brand-accent);flex:0 0 auto}.lp-preview-quiz.show-feedback .lp-quiz-feedback{display:flex}.lp-v2 .lp-cta{background:var(--surface);border-color:var(--border)}.lp-v2 .lp-cta-title{color:var(--text)}.lp-v2 .lp-cta-sub{color:var(--text-muted)}.lp-v2 .lp-cta .lp-hero-actions{justify-content:center}.lp-v2 .lp-cta .lp-hero-note{color:var(--text-muted)}.lp-v2 .lp-cta .btn-ghost{color:var(--text);border-color:var(--border);background:transparent}.lp-v2 .lp-cta .btn-ghost:hover{background:var(--surface-2);border-color:var(--border-strong)}.lp-footer{position:relative;z-index:1;background:var(--surface);color:var(--text-muted);border-top:1px solid var(--border);margin-top:clamp(2rem,6vw,4rem)}.lp-footer-inner{max-width:1120px;margin:0 auto;padding:clamp(2rem,5vw,3rem) 1.25rem 1.5rem;display:flex;flex-wrap:wrap;gap:2rem;justify-content:space-between}.lp-footer-brand{max-width:380px}.lp-footer-brand .logo-text{font-size:1.4rem}.lp-footer-tagline{margin:.7rem 0 0;font-size:.9rem;line-height:1.6;color:var(--text-muted)}.lp-footer-links{display:flex;flex-direction:column;gap:.6rem}.lp-footer-h{font-family:var(--font-mono);font-size:.72rem;font-weight:500;text-transform:uppercase;letter-spacing:.12em;color:var(--text-faint);margin-bottom:.2rem}.lp-footer-links a{color:var(--text-muted);text-decoration:none;font-size:.92rem;transition:color .15s ease}.lp-footer-links a:hover{color:var(--accent)}.lp-footer-social{margin-top:1.2rem}.lp-footer-social .lp-footer-h{margin-bottom:.55rem}.lp-social-links{display:flex;gap:.6rem}.lp-social-link{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:1px solid var(--border);border-radius:10px;background:var(--surface-2);color:var(--text-muted);transition:color .15s ease,border-color .15s ease,background .15s ease,transform .15s ease}.lp-social-link svg{width:18px;height:18px}.lp-social-link:hover{color:var(--accent);border-color:var(--border-strong);background:var(--surface);transform:translateY(-2px)}.lp-social-link:active{transform:translateY(0)}.lp-social-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.lp-footer-bottom{max-width:1120px;margin:0 auto;padding:1.2rem 1.25rem;border-top:1px solid var(--border);display:flex;flex-wrap:wrap;gap:.6rem;justify-content:center;text-align:center;font-size:.82rem;color:var(--text-faint)}.lp-anim-ready .reveal{opacity:0;transform:translateY(14px);transition:opacity .45s ease,transform .45s ease}.lp-anim-ready .reveal.is-visible{opacity:1;transform:none}.lp-v2 a:focus-visible,.lp-v2 button:focus-visible,.lp-v2 .btn:focus-visible,.lp-quiz-opt:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media(max-width:880px){.lp-hero-band .lp-hero-actions,.lp-hero-chips{justify-content:center}.lp-hero-band .lp-hero-sub{margin-inline:auto}.lp-bento{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.lp-steps{grid-template-columns:1fr}}@media(max-width:680px){.lp-outcomes,.lp-bento{grid-template-columns:1fr}.lp-lead-card{grid-column:auto}.lp-level{grid-template-columns:1fr auto;grid-template-areas:"badge count" "body body";row-gap:.7rem}.lp-level-badge{grid-area:badge}.lp-level-count{grid-area:count;align-self:start}.lp-level-body{grid-area:body}.lp-cert{grid-template-columns:1fr}.lp-cert-motif{max-width:260px;margin:0 auto}}@media(prefers-reduced-motion:reduce){.lp-anim-ready .reveal{opacity:1;transform:none;transition:none}}.learn-home-mode .learn-sidebar{display:none}.learn-home-mode .learn-content-area{padding:0}.learn-lesson-mode .learn-sidebar{display:none}.learn-home{max-width:1100px;margin:0 auto;padding:clamp(1.2rem,4vw,2.4rem);font-family:var(--font-sans)}.lh-hero{display:flex;flex-direction:column;gap:.9rem}.lh-stats{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:.8rem}.lh-stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:1rem 1.1rem}.lh-stat-num{font-family:var(--font-mono);font-weight:600;font-size:clamp(1.7rem,4vw,2.1rem);line-height:1;letter-spacing:-.02em;color:var(--text)}.lh-stat-num .lh-pct{font-size:.6em}.lh-stat-sub{font-size:.55em;color:var(--text-faint)}.lh-stat-lbl{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin-top:.5rem}.lh-stat-bar{height:5px;border-radius:var(--r-pill);background:var(--surface-2);overflow:hidden;margin-top:.55rem}.lh-stat-bar>i{display:block;height:100%;background:var(--accent);border-radius:var(--r-pill)}.lh-resume{display:flex;align-items:center;gap:.9rem;width:100%;text-align:start;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:.9rem 1.1rem;cursor:pointer;transition:border-color .2s ease}.lh-resume:hover{border-color:var(--border-strong)}.lh-resume-icon{font-size:1.5rem;flex:0 0 auto}.lh-resume-text{display:flex;flex-direction:column;min-width:0}.lh-resume-kicker{font-family:var(--font-mono);font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.lh-resume-title{font-size:1rem;font-weight:600;color:var(--text)}.lh-resume-lvl{font-weight:500;font-size:.85rem}.lh-resume-cta{margin-inline-start:auto;flex:0 0 auto;font-family:var(--font-mono);font-size:.8rem;font-weight:600;color:var(--on-accent);background:var(--accent);padding:.5rem .9rem;border-radius:var(--r-md)}.lh-cats{margin-top:clamp(1.4rem,4vw,2.2rem)}.lh-cats-head{display:flex;align-items:baseline;justify-content:space-between;gap:.8rem;margin-bottom:.9rem}.lh-cats-kicker{font-family:var(--font-mono);font-size:.74rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.lh-cats-sub{font-family:var(--font-mono);font-size:.68rem;color:var(--text-faint);white-space:nowrap}.lh-cats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(218px,1fr));gap:.8rem}.lh-cat{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:.9rem 1rem;display:flex;flex-direction:column;gap:.75rem}.lh-cat-top{display:flex;align-items:center;gap:.6rem}.lh-cat-icon{font-size:1.3rem;flex:0 0 auto;line-height:1}.lh-cat-name{font-size:.92rem;font-weight:600;color:var(--text);line-height:1.25}.lh-cat-meta{display:flex;align-items:center;gap:.7rem}.lh-cat-bar{flex:1;height:5px;border-radius:var(--r-pill);background:var(--surface-2);overflow:hidden}.lh-cat-bar>i{display:block;height:100%;background:var(--accent);border-radius:var(--r-pill)}.lh-cat-count{font-family:var(--font-mono);font-size:.72rem;font-weight:600;color:var(--text-muted);flex:0 0 auto}.lh-path{margin-top:clamp(1.4rem,4vw,2.2rem)}.lh-legend{display:flex;flex-wrap:wrap;gap:1.1rem;font-family:var(--font-mono);font-size:.74rem;font-weight:600;margin-bottom:.9rem}.lh-bd{display:inline-block;width:8px;height:8px;border-radius:50%;margin-inline-end:5px;vertical-align:middle}.lh-track{display:flex;align-items:center;gap:4px;overflow-x:auto;padding:.4rem .2rem 1rem}.lh-zone{flex:0 0 auto;font-family:var(--font-mono);font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;padding:0 .4rem}.lh-node{flex:0 0 auto;width:38px;height:38px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:.82rem;font-weight:600;background:var(--surface);border:2px solid var(--border);color:var(--text-muted);cursor:pointer;transition:border-color .15s ease,transform .1s ease}.lh-node:hover:not(:disabled){border-color:var(--border-strong);transform:translateY(-1px)}.lh-node.done{background:var(--success);border-color:var(--success);color:#fff}.lh-node.cur{border-color:var(--accent);color:var(--accent);box-shadow:0 0 0 5px color-mix(in srgb,var(--accent) 16%,transparent)}.lh-node.lock{opacity:.4;cursor:default}.lh-seg{flex:0 0 14px;height:3px;border-radius:2px;background:var(--border)}.lh-seg.done{background:var(--success)}.lh-node:focus-visible,.lh-resume:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media(max-width:760px){.lh-stats{grid-template-columns:1fr 1fr}}@media(prefers-reduced-motion:reduce){.lh-node,.lh-resume{transition:none}.lh-node:hover:not(:disabled){transform:none}}.app-settings-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.7rem 0}.app-settings-row+.app-settings-row{border-top:1px solid var(--border-subtle, rgba(120, 113, 108, .18))}.app-settings-label{font-weight:600;font-size:.95rem}.login-header h2{font-size:clamp(1rem,5.2vw,1.5rem);white-space:nowrap}.login-header h2 .logo-text{font-size:clamp(1.15rem,6vw,1.75rem);white-space:nowrap}.exam-intro{text-align:start}.exam-intro-head{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.4rem;margin-bottom:1.1rem}.exam-intro-badge{width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#b45309;background:color-mix(in srgb,var(--accent) 14%,var(--surface));border:1px solid color-mix(in srgb,var(--accent) 38%,transparent)}.exam-intro-badge svg{width:26px;height:26px}.exam-intro-head h2{font-size:1.3rem}.exam-intro-sub{color:var(--text-muted);margin:0;font-size:.92rem}.exam-intro-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:.6rem;margin:0 0 1.1rem}.exam-stat{border:1px solid var(--border);border-radius:12px;padding:.65rem .4rem .55rem;text-align:center;background:var(--surface)}.exam-stat-val{display:block;font-family:var(--font-mono);font-weight:800;font-size:1.12rem;color:var(--text);line-height:1.2}.exam-stat-label{font-size:.66rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.07em}.exam-intro-rules{border:1px solid var(--border);border-radius:12px;padding:.95rem 1.1rem;margin:0 0 1.4rem;background:var(--surface)}.exam-intro-rules ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.6rem}.exam-intro-rules li{display:flex;align-items:flex-start;gap:.6rem;line-height:1.55;font-size:.92rem;color:var(--text);text-align:start}.exam-rule-mark{flex:0 0 1.15rem;text-align:center;font-weight:800;color:var(--accent);line-height:1.55}.exam-rule-mark.exam-rule-warn{color:#b45309}.exam-intro-actions{display:flex;gap:.75rem;justify-content:flex-end}@media(max-width:560px){.exam-intro-stats{grid-template-columns:repeat(2,1fr)}}.guide-modal{font-family:var(--font-sans);background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:16px;max-width:880px;width:100%;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 24px 70px #00000059}.learn-modal-overlay[dir=rtl] .guide-modal{font-family:var(--font-ar, "Cairo", sans-serif)}.guide-head{display:flex;align-items:center;gap:.8rem;padding:1rem 1.25rem;border-bottom:1px solid var(--border)}.guide-badge{width:40px;height:40px;flex-shrink:0;border-radius:12px;display:flex;align-items:center;justify-content:center;color:#b45309;background:color-mix(in srgb,var(--accent) 14%,var(--surface));border:1px solid color-mix(in srgb,var(--accent) 38%,transparent)}.guide-badge svg{width:20px;height:20px}.guide-titles{flex:1;min-width:0}.guide-titles h2{margin:0;font-size:1.15rem;font-weight:800;color:var(--text);line-height:1.25}.guide-sub{font-size:.78rem;color:var(--text-muted);margin-top:.1rem}.guide-close{flex-shrink:0;width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:8px;background:transparent;color:var(--text-muted);font-size:.85rem;cursor:pointer;transition:background .15s,color .15s}.guide-close:hover{background:var(--surface-2);color:var(--text)}.guide-body{padding:1.25rem 1.5rem 1.5rem;overflow-y:auto;flex:1}.guide-intro{border:1px solid color-mix(in srgb,var(--accent) 30%,transparent);background:color-mix(in srgb,var(--accent) 7%,var(--surface));border-radius:14px;padding:.9rem 1.1rem;margin:0 0 1rem}.guide-intro-title{margin:0 0 .3rem;font-size:.98rem;font-weight:800;color:var(--text)}.guide-intro-p{margin:.2rem 0 0;font-size:.84rem;line-height:1.6;color:var(--text-muted)}.guide-card{border:1px solid var(--border);border-radius:14px;padding:1rem 1.15rem 1.05rem;margin:0 0 .85rem;background:var(--surface)}.guide-card-exam{border-color:color-mix(in srgb,var(--accent) 35%,transparent);background:color-mix(in srgb,var(--accent) 6%,var(--surface))}.guide-card-head{display:flex;align-items:center;gap:.65rem;margin-bottom:.65rem}.guide-num{flex-shrink:0;min-width:2rem;text-align:center;font-family:var(--font-mono);font-size:.72rem;font-weight:800;color:#b45309;background:color-mix(in srgb,var(--accent) 14%,var(--surface));border:1px solid color-mix(in srgb,var(--accent) 38%,transparent);border-radius:8px;padding:.2rem .45rem}.guide-card-head h3{margin:0;font-size:1.02rem;font-weight:700;color:var(--text);line-height:1.3}.guide-card ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.guide-card li{display:flex;align-items:flex-start;gap:.6rem}.guide-dot{flex:0 0 6px;width:6px;height:6px;border-radius:50%;background:var(--accent);margin-top:.55rem}.guide-li-text{font-size:.9rem;line-height:1.65;color:var(--text);min-width:0}.guide-card strong,.guide-intro strong{font-weight:750;color:var(--text)}.guide-subhead{margin:.85rem 0 .35rem;font-size:.92rem;font-weight:700;color:var(--text)}.guide-p{margin:.35rem 0;font-size:.9rem;line-height:1.65;color:var(--text)}@media(max-width:640px){.guide-head{flex-wrap:wrap}.guide-titles{flex:1 1 100%;order:-1}.guide-body{padding:1rem}}html.native-app .header-wordmark .logo-text{font-size:.88rem}html.native-app .header-wordmark{pointer-events:none}html.native-app .header-nav-item{font-size:.72rem;padding:.3rem .45rem;gap:.25rem;white-space:nowrap}html.native-app .analysis-header-user-btn{font-size:.68rem;padding:.28rem .45rem;gap:.22rem;white-space:nowrap}html.native-app .analysis-header-user-btn svg{width:12px;height:12px}html.native-app .analysis-header-right{gap:.25rem}html.native-app[lang=ar] .header-wordmark .logo-text{font-size:.8rem}html.native-app[lang=ar] .header-nav{margin-inline-start:.2rem}html.native-app[lang=ar] .header-nav-item{font-size:.66rem;padding:.3rem .35rem;gap:.2rem}html.native-app[lang=ar] .analysis-header-user-btn{font-size:.62rem;padding:.28rem .35rem;gap:.18rem}html.native-app .lesson-feedback{padding:.9rem .8rem .8rem;margin-top:1.2rem}html.native-app .lf-prompt{font-size:.88rem;margin:0 0 .6rem}html.native-app .lf-scale{display:grid;grid-template-columns:repeat(5,auto);justify-content:center;column-gap:.4rem;row-gap:.25rem}html.native-app .lf-pill{width:2.15rem;height:2.15rem;font-size:.82rem}html.native-app .lf-scale-end{font-size:.58rem}html.native-app .lf-scale-end:first-child{grid-row:2;grid-column:1 / 3;justify-self:start}html.native-app .lf-scale-end:last-child{grid-row:2;grid-column:4 / 6;justify-self:end}html.native-app .lf-extra{margin-top:.8rem;gap:.5rem}html.native-app .lf-comment{padding:.55rem .7rem;font-size:.85rem}html.native-app .lf-submit{font-size:.85rem;padding:.55rem 1rem}.cookie-consent{position:fixed;left:50%;bottom:max(16px,env(safe-area-inset-bottom));transform:translate(-50%);z-index:9999;width:min(680px,calc(100vw - 32px));display:flex;align-items:center;gap:var(--sp-4);padding:var(--sp-4) var(--sp-5);background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-premium);font-family:var(--font-sans)}.cookie-consent[dir=rtl]{font-family:var(--font-ar)}.cookie-consent-text{margin:0;font-size:.85rem;line-height:1.5;color:var(--text-muted)}.cookie-consent-link{color:var(--accent);text-decoration:underline;white-space:nowrap}.cookie-consent-actions{display:flex;gap:var(--sp-2);flex-shrink:0}.cookie-consent-btn{font:inherit;font-size:.85rem;font-weight:600;padding:var(--sp-2) var(--sp-4);border-radius:var(--r-pill);cursor:pointer;border:1px solid var(--border-strong);background:var(--surface-2);color:var(--text)}.cookie-consent-decline:hover{background:var(--border)}.cookie-consent-accept{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.cookie-consent-accept:hover{filter:brightness(1.05)}@media(max-width:560px){.cookie-consent{flex-direction:column;align-items:stretch;gap:var(--sp-3)}.cookie-consent-actions{justify-content:flex-end}}.legal-page{min-height:100vh;background:var(--bg);color:var(--text);padding:1.25rem 1.25rem 4rem;font-size:1rem;line-height:1.7}.legal-topbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;max-width:880px;margin:0 auto 1.5rem;padding:.5rem .25rem}.legal-topbar .logo-text{font-size:1.15rem}.legal-topbar-right{display:flex;align-items:center;gap:.9rem}.legal-lang{display:inline-flex;gap:.15rem}.legal-lang-btn{padding:.2rem .5rem;border-radius:8px;font-size:.82rem;font-weight:600;color:var(--text-faint);text-decoration:none}.legal-lang-btn.is-active{color:var(--text);background:var(--surface-2)}.legal-lang-btn:hover{color:var(--accent)}.legal-back{color:var(--text-muted);text-decoration:none;font-size:.9rem}.legal-back:hover{color:var(--accent)}.legal-main{max-width:760px;margin:0 auto;padding:2.25rem 2.25rem 2rem;border-radius:18px}.legal-crumb{display:inline-block;margin-bottom:.75rem;font-size:.85rem;color:var(--text-muted);text-decoration:none}.legal-crumb:hover{color:var(--accent)}.legal-crumb:before{content:"← "}[dir=rtl] .legal-crumb:before{content:"→ "}.legal-h1{font-size:clamp(1.5rem,4vw,1.95rem);font-weight:700;margin:0 0 .4rem;color:var(--text)}.legal-h2{font-size:1.15rem;font-weight:600;margin:1.9rem 0 .5rem;color:var(--text)}.legal-section{margin-top:.25rem}.legal-p{margin:0 0 .85rem;color:var(--text)}.legal-lead{font-size:1.05rem;color:var(--text-muted);margin:0 0 .75rem}.legal-effective{font-size:.85rem;color:var(--text-faint);margin:0 0 1.25rem}.legal-ul{margin:0 0 .85rem;padding-inline-start:1.3rem}.legal-ul li{margin-bottom:.4rem;color:var(--text)}.legal-hub .legal-main{max-width:880px}.legal-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem;margin-top:1.5rem}.legal-card{display:flex;flex-direction:column;padding:1.1rem 1.15rem;border:1px solid var(--border);border-radius:14px;background:var(--surface-2);text-decoration:none;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}.legal-card:hover{transform:translateY(-2px);border-color:var(--accent);box-shadow:0 10px 24px #00000014}.legal-card-title{font-weight:600;color:var(--text)}.legal-card-desc{flex:1;margin-top:.35rem;font-size:.9rem;color:var(--text-muted);line-height:1.5}.legal-card-date{margin-top:.7rem;font-size:.76rem;color:var(--text-faint)}.legal-foot{margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid var(--border)}.legal-foot-h{display:block;margin-bottom:.7rem;font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-faint)}.legal-foot-links{display:flex;flex-wrap:wrap;gap:.5rem 1.1rem}.legal-foot-link{color:var(--text-muted);font-size:.9rem;text-decoration:none}.legal-foot-link:hover{color:var(--accent);text-decoration:underline}.legal-home-btn{margin-top:1.5rem;display:inline-block}@media(max-width:560px){.legal-main{padding:1.5rem 1.25rem}}.auth-consent{margin:.25rem 0}.auth-consent-label{display:flex;align-items:flex-start;gap:.55rem;font-size:.85rem;line-height:1.5;color:var(--text-muted);cursor:pointer}.auth-consent-box{margin-top:.15rem;flex-shrink:0;width:16px;height:16px;accent-color:var(--accent);cursor:pointer}.auth-consent-label a{color:var(--accent);text-decoration:underline}.auth-social-consent{margin:.75rem 0 0;text-align:center;font-size:.78rem;line-height:1.5;color:var(--text-muted)}.auth-social-consent a{color:var(--accent);text-decoration:underline}
