:root{--gold:#fac12c;--gold2:#ffe08a;--black:#070707;--panel:#111;--panel2:#171717;--white:#fff;--muted:#aaa;--line:rgba(255,255,255,.1);--shadow:0 30px 80px rgba(0,0,0,.45);--radius:24px}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;background:var(--black);color:var(--white)}body{font-family:Inter,system-ui,sans-serif;overflow:hidden}button,input,textarea,select{font:inherit}button{cursor:pointer}.suite-shell{height:100dvh;display:grid;grid-template-columns:270px minmax(0,1fr);background:radial-gradient(circle at 82% 10%,rgba(250,193,44,.13),transparent 28%),linear-gradient(135deg,#050505,#111)}
.sidebar{padding:22px 16px 18px;border-right:1px solid var(--line);background:rgba(8,8,8,.84);backdrop-filter:blur(20px);display:flex;flex-direction:column;min-height:0;z-index:20}.suite-brand{display:flex;align-items:center;gap:13px;border:0;background:transparent;color:#fff;text-align:left;padding:6px 8px 22px}.brand-logo{width:50px;height:46px;display:grid;place-items:center}.brand-logo img{width:100%;height:100%;object-fit:contain}.suite-brand strong,.suite-brand small{display:block}.suite-brand strong{font-size:1rem}.suite-brand small{color:var(--gold);margin-top:3px;font-size:.77rem;letter-spacing:.12em;text-transform:uppercase;font-weight:800}.suite-nav{display:grid;gap:5px;overflow:auto;padding-right:3px}.nav-item{display:flex;gap:13px;align-items:center;padding:12px 13px;border:1px solid transparent;border-radius:14px;color:#c7c7c7;background:transparent;text-align:left;transition:.2s}.nav-item:hover{color:#fff;background:rgba(255,255,255,.05)}.nav-item.active{color:#fff;background:rgba(250,193,44,.1);border-color:rgba(250,193,44,.28)}.nav-icon{width:30px;font-size:1.15rem;text-align:center}.nav-copy strong,.nav-copy small{display:block}.nav-copy strong{font-size:.88rem}.nav-copy small{font-size:.72rem;color:#777;margin-top:2px}.nav-item.active .nav-copy small{color:#c8a64a}.sidebar-footer{margin-top:auto;padding-top:18px;border-top:1px solid var(--line)}.rep-chip{display:flex;gap:10px;align-items:center;padding:9px}.rep-chip strong,.rep-chip small{display:block;font-size:.76rem}.rep-chip small{color:#777;margin-top:2px}.status-dot{width:9px;height:9px;border-radius:50%;background:#6bdd77;box-shadow:0 0 12px #6bdd77}.sidebar-action{width:100%;margin-top:8px;border:1px solid var(--line);background:rgba(255,255,255,.04);color:#ddd;padding:11px;border-radius:12px}
.workspace{display:grid;grid-template-rows:auto minmax(0,1fr);min-width:0}.workspace-header{height:88px;display:flex;align-items:center;gap:16px;justify-content:space-between;padding:0 30px;border-bottom:1px solid var(--line);background:rgba(8,8,8,.6);backdrop-filter:blur(18px);z-index:10}.workspace-header h1{font-family:Oswald,sans-serif;margin:1px 0 0;font-size:1.65rem;letter-spacing:-.02em}.eyebrow{margin:0;color:var(--gold);font-size:.7rem;text-transform:uppercase;letter-spacing:.16em;font-weight:800}.header-actions{display:flex;gap:10px;align-items:center}.quick-button{border:0;background:var(--gold);color:#080808;font-weight:800;border-radius:999px;padding:12px 18px}.avatar{width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:#1c1c1c;color:var(--gold);font-weight:900}.mobile-menu{display:none;border:1px solid var(--line);background:#151515;color:#fff;border-radius:12px;width:42px;height:42px}.view-container{min-height:0;overflow:auto;padding:clamp(22px,3vw,42px)}
.hero{max-width:1350px;margin:0 auto}.welcome{display:grid;grid-template-columns:1.15fr .85fr;gap:34px;align-items:stretch}.welcome-copy,.appointment-card{border:1px solid var(--line);border-radius:30px;background:linear-gradient(145deg,rgba(255,255,255,.06),rgba(255,255,255,.025));box-shadow:var(--shadow)}.welcome-copy{padding:clamp(32px,5vw,68px);position:relative;overflow:hidden}.welcome-copy:after{content:"";position:absolute;width:300px;height:300px;border-radius:50%;background:rgba(250,193,44,.14);filter:blur(70px);right:-100px;bottom:-130px}.welcome-copy h2{font-family:Oswald,sans-serif;font-size:clamp(3.1rem,6vw,6.5rem);line-height:.95;margin:12px 0 24px;max-width:800px;letter-spacing:-.04em}.welcome-copy h2 span{color:var(--gold)}.welcome-copy p{color:#ccc;font-size:1.08rem;line-height:1.7;max-width:680px}.action-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px;position:relative;z-index:1}.primary,.secondary{border-radius:999px;padding:14px 20px;font-weight:800}.primary{border:0;background:var(--gold);color:#080808}.secondary{border:1px solid var(--line);background:rgba(255,255,255,.04);color:#fff}.appointment-card{padding:30px;display:flex;flex-direction:column;justify-content:space-between;min-height:380px;background:linear-gradient(145deg,rgba(250,193,44,.92),#d99d08);color:#080808}.appointment-card .logo-large{height:120px;display:flex;justify-content:flex-end}.appointment-card .logo-large img{max-height:100%;max-width:190px;object-fit:contain}.appointment-card h3{font-family:Oswald,sans-serif;font-size:2.6rem;line-height:1;margin:32px 0 10px}.appointment-card p{line-height:1.55}.appointment-meta{border-top:1px solid rgba(0,0,0,.18);padding-top:18px;display:flex;justify-content:space-between;font-size:.82rem;font-weight:700}.tools-heading{display:flex;justify-content:space-between;align-items:end;margin:42px 0 18px}.tools-heading h3{font-family:Oswald,sans-serif;font-size:2rem;margin:0}.tools-heading p{margin:0;color:var(--muted)}.tool-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.tool-card{min-height:215px;padding:24px;border-radius:22px;border:1px solid var(--line);background:rgba(255,255,255,.045);color:#fff;text-align:left;transition:.24s;position:relative;overflow:hidden}.tool-card:before{content:"";position:absolute;inset:auto -30px -60px auto;width:130px;height:130px;border-radius:50%;background:rgba(250,193,44,.08);filter:blur(20px)}.tool-card:hover{transform:translateY(-4px);border-color:rgba(250,193,44,.5);background:rgba(250,193,44,.07)}.tool-icon{font-size:2rem}.tool-card h4{font-family:Oswald,sans-serif;font-size:1.55rem;margin:28px 0 9px}.tool-card p{color:var(--muted);line-height:1.5;margin:0;font-size:.9rem}.tool-arrow{position:absolute;right:20px;top:20px;color:var(--gold);font-weight:900}.tool-badge{display:inline-block;margin-top:16px;padding:6px 9px;border-radius:999px;background:rgba(250,193,44,.1);color:var(--gold);font-size:.68rem;text-transform:uppercase;font-weight:800;letter-spacing:.1em}
.embedded-view{height:100%;min-height:620px;display:grid;grid-template-rows:auto minmax(0,1fr);border:1px solid var(--line);border-radius:24px;overflow:hidden;background:#0a0a0a}.embedded-toolbar{display:flex;justify-content:space-between;align-items:center;padding:12px 15px;background:#141414;border-bottom:1px solid var(--line)}.embedded-toolbar p{margin:0;color:#aaa;font-size:.82rem}.embedded-toolbar div{display:flex;gap:8px}.mini-btn{border:1px solid var(--line);background:#202020;color:#fff;padding:8px 11px;border-radius:10px}.embedded-view iframe{border:0;width:100%;height:100%;background:white}.module{max-width:1200px;margin:0 auto}.module-intro{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:24px}.module-intro h2{font-family:Oswald,sans-serif;font-size:clamp(2.5rem,5vw,4.8rem);margin:8px 0 0;line-height:1}.module-intro p{max-width:520px;color:#aaa;line-height:1.55}.panel{border:1px solid var(--line);border-radius:22px;background:rgba(255,255,255,.045);padding:24px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.field{display:grid;gap:7px}.field.full{grid-column:1/-1}.field label{font-size:.78rem;color:#bbb;font-weight:700}.field input,.field textarea,.field select{width:100%;border:1px solid var(--line);background:#101010;color:#fff;border-radius:12px;padding:12px 13px;outline:none}.field textarea{min-height:100px;resize:vertical}.field input:focus,.field textarea:focus,.field select:focus{border-color:rgba(250,193,44,.65)}.checklist{display:grid;gap:10px}.check-row{display:flex;gap:12px;align-items:flex-start;padding:14px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.025)}.check-row input{accent-color:var(--gold);width:18px;height:18px}.check-row strong{display:block;font-size:.9rem}.check-row small{display:block;color:#888;margin-top:3px}.module-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:18px}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.media-card{aspect-ratio:4/3;border:1px dashed rgba(250,193,44,.35);border-radius:18px;background:linear-gradient(145deg,rgba(250,193,44,.07),rgba(255,255,255,.025));display:grid;place-items:center;text-align:center;padding:20px;color:#aaa;overflow:hidden}.media-card strong{color:#fff;display:block;margin-bottom:5px}.media-card input{max-width:100%;font-size:.75rem}.review-card{padding:22px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.04)}.stars{color:var(--gold);letter-spacing:.12em}.review-card blockquote{margin:15px 0;color:#ddd;line-height:1.55}.review-card small{color:#888}.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.product{padding:20px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.04)}.product span{font-size:1.8rem}.product h3{font-family:Oswald,sans-serif;font-size:1.5rem;margin:18px 0 8px}.product p{color:#999;line-height:1.5;font-size:.88rem}.toast{position:fixed;bottom:24px;right:24px;background:#fff;color:#111;padding:13px 17px;border-radius:12px;font-weight:700;box-shadow:var(--shadow);transform:translateY(30px);opacity:0;pointer-events:none;transition:.25s;z-index:100}.toast.show{transform:none;opacity:1}
@media(max-width:1050px){.suite-shell{grid-template-columns:230px minmax(0,1fr)}.welcome{grid-template-columns:1fr}.appointment-card{min-height:300px}.tool-grid,.gallery-grid,.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){body{overflow:auto}.suite-shell{display:block;height:auto;min-height:100dvh}.sidebar{position:fixed;inset:0 auto 0 0;width:280px;transform:translateX(-105%);transition:.25s;box-shadow:var(--shadow)}.sidebar.open{transform:none}.workspace{min-height:100dvh}.workspace-header{height:76px;padding:0 15px;position:sticky;top:0}.mobile-menu{display:block}.header-actions .quick-button{display:none}.view-container{padding:18px}.tool-grid,.gallery-grid,.product-grid,.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.welcome-copy{padding:30px 24px}.module-intro{display:block}.embedded-view{height:calc(100dvh - 120px);min-height:500px}}

/* Vision Studio */
.design-app{height:auto;min-height:0;display:grid;grid-template-rows:auto auto;max-width:1600px;margin:0 auto;padding-bottom:24px}.design-topbar{display:flex;justify-content:space-between;align-items:end;padding:0 2px 18px}.design-topbar h2{font-family:Oswald,sans-serif;font-size:clamp(2rem,3vw,3.3rem);line-height:1;margin:5px 0 0}.design-stepper{display:flex;gap:8px;align-items:center}.design-stepper span{padding:7px 11px;border-radius:999px;background:rgba(255,255,255,.045);border:1px solid var(--line);color:#777;font-size:.72rem;font-weight:800}.design-stepper .done{color:#a8a8a8}.design-stepper .active{background:rgba(250,193,44,.12);border-color:rgba(250,193,44,.4);color:var(--gold)}
.design-workspace{height:clamp(620px,calc(100dvh - 205px),900px);min-height:620px;display:grid;grid-template-columns:minmax(0,1fr) 360px;border:1px solid var(--line);border-radius:26px;overflow:hidden;background:#0c0c0c;box-shadow:var(--shadow)}.design-canvas-panel{min-width:0;min-height:0;display:grid;grid-template-rows:minmax(0,1fr) auto;background:radial-gradient(circle at 50% 45%,#202020,#0b0b0b 72%)}.design-canvas{position:relative;min-height:0;padding:18px;display:grid;place-items:center;overflow:hidden}.design-canvas.dragging{outline:2px solid var(--gold);outline-offset:-7px}.design-canvas-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 18px;border-top:1px solid var(--line);background:#111}.design-canvas-footer strong,.design-canvas-footer small{display:block}.design-canvas-footer strong{font-size:.84rem;white-space:nowrap;max-width:440px;overflow:hidden;text-overflow:ellipsis}.design-canvas-footer small{font-size:.68rem;color:#777;margin-top:3px}.design-footer-actions{display:flex;gap:8px}.compact{padding:8px 11px;font-size:.74rem}
.design-dropzone{width:min(660px,88%);height:min(440px,72%);min-height:280px;border:1px dashed rgba(250,193,44,.42);border-radius:25px;background:linear-gradient(145deg,rgba(250,193,44,.075),rgba(255,255,255,.018));color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:30px;transition:.25s}.design-dropzone:hover{transform:translateY(-3px);border-color:var(--gold);background:rgba(250,193,44,.08)}.upload-orbit{width:74px;height:74px;border-radius:50%;display:grid;place-items:center;background:var(--gold);color:#080808;font-size:2rem;margin-bottom:22px;box-shadow:0 0 45px rgba(250,193,44,.18)}.design-dropzone strong{font-family:Oswald,sans-serif;font-size:clamp(1.7rem,3vw,2.7rem)}.design-dropzone small{color:#999;margin-top:9px}.design-dropzone em{font-style:normal;color:var(--gold);font-size:.8rem;font-weight:900;margin-top:24px;text-transform:uppercase;letter-spacing:.1em}
.design-image-stage,.compare-stage{position:relative;width:100%;height:100%;min-height:380px;border-radius:18px;overflow:hidden;background:#050505}.design-image-stage>img,.compare-stage>img,.compare-after{width:100%;height:100%;object-fit:contain;display:block}.photo-ready-badge{position:absolute;top:15px;left:15px;border:1px solid rgba(255,255,255,.16);background:rgba(5,5,5,.75);backdrop-filter:blur(12px);padding:9px 12px;border-radius:999px;font-size:.75rem;font-weight:800}.photo-ready-badge span{color:var(--gold);margin-right:6px}.generation-overlay{position:absolute;inset:0;background:rgba(5,5,5,.72);backdrop-filter:blur(8px);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:28px}.generation-mark{width:66px;height:66px;border-radius:50%;display:grid;place-items:center;background:var(--gold);color:#080808;font-size:1.8rem;animation:pulseDesign 1.5s infinite}.generation-overlay strong{font-family:Oswald,sans-serif;font-size:2rem;margin-top:20px}.generation-overlay small{color:#aaa;margin-top:12px}.generation-progress{width:min(390px,70%);height:6px;background:rgba(255,255,255,.12);border-radius:999px;overflow:hidden;margin-top:20px}.generation-progress i{display:block;width:45%;height:100%;background:var(--gold);border-radius:inherit;animation:scanProgress 2.2s ease-in-out infinite}@keyframes pulseDesign{50%{transform:scale(1.08);box-shadow:0 0 40px rgba(250,193,44,.35)}}@keyframes scanProgress{0%{transform:translateX(-110%)}100%{transform:translateX(250%)}}
.compare-stage{isolation:isolate}.compare-before,.compare-after{position:absolute;inset:0}.compare-after-wrap{position:absolute;left:0;top:0;bottom:0;width:50%;overflow:hidden;z-index:2}.compare-after{width:100vw;max-width:none;object-position:left center}.compare-stage input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;z-index:5}.compare-line{position:absolute;top:0;bottom:0;left:50%;width:2px;background:#fff;z-index:4;pointer-events:none}.compare-line span{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--gold);color:#080808;font-weight:900;box-shadow:0 8px 22px rgba(0,0,0,.35)}.compare-tag{position:absolute;top:15px;z-index:4;padding:7px 11px;border-radius:999px;background:rgba(5,5,5,.75);font-size:.7rem}.before-tag{left:15px}.after-tag{right:15px}
.design-controls{min-height:0;border-left:1px solid var(--line);background:#101010;display:grid;grid-template-rows:minmax(0,1fr) auto}.control-scroll{min-height:0;overflow:auto;padding:18px}.design-control-section{padding:0 0 19px;margin-bottom:18px;border-bottom:1px solid var(--line)}.section-label{display:flex;align-items:center;gap:10px;margin-bottom:12px}.section-label>span{width:27px;height:27px;border-radius:9px;display:grid;place-items:center;background:rgba(250,193,44,.11);color:var(--gold);font-size:.68rem;font-weight:900}.section-label strong,.section-label small{display:block}.section-label strong{font-size:.84rem}.section-label small{color:#777;font-size:.68rem;margin-top:2px}.brand-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.brand-choice,.profile-choice{border:1px solid var(--line);background:rgba(255,255,255,.03);color:#bbb;border-radius:12px;padding:10px;text-align:left;font-size:.73rem;font-weight:800}.brand-choice.selected,.profile-choice.selected{color:#fff;border-color:rgba(250,193,44,.6);background:rgba(250,193,44,.09)}.profile-choice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.profile-choice{padding:9px 7px;text-align:center}.profile-choice b{display:block;font-size:.62rem;margin-top:7px}.profile-pattern{display:block;height:32px;border-radius:6px;background-color:#3a3a3a}.profile-pattern.lap{background:repeating-linear-gradient(to bottom,#595959 0 5px,#262626 6px 8px)}.profile-pattern.vertical{background:repeating-linear-gradient(to right,#585858 0 7px,#232323 8px 11px)}.profile-pattern.shake{background:linear-gradient(135deg,#585858 25%,transparent 25%) -7px 0/14px 14px,linear-gradient(225deg,#585858 25%,transparent 25%) -7px 0/14px 14px,linear-gradient(315deg,#585858 25%,transparent 25%) 0 0/14px 14px,linear-gradient(45deg,#585858 25%,#242424 25%) 0 0/14px 14px}.swatch-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.color-swatch{border:1px solid transparent;background:transparent;color:#888;padding:4px;border-radius:11px;text-align:center}.color-swatch i{display:block;width:100%;aspect-ratio:1.35;border-radius:8px;border:1px solid rgba(255,255,255,.18)}.color-swatch span{display:block;font-size:.58rem;line-height:1.15;margin-top:5px}.color-swatch.selected{border-color:var(--gold);background:rgba(250,193,44,.06);color:#fff}.advanced-options{border:1px solid var(--line);border-radius:13px;background:rgba(255,255,255,.025)}.advanced-options summary{list-style:none;padding:11px 12px;display:flex;justify-content:space-between;font-size:.75rem;font-weight:800;cursor:pointer}.advanced-options summary::-webkit-details-marker{display:none}.advanced-body{display:grid;gap:11px;padding:0 12px 12px}.advanced-body label{display:grid;gap:5px;color:#888;font-size:.68rem}.advanced-body select,.advanced-body textarea{width:100%;border:1px solid var(--line);background:#090909;color:#fff;border-radius:9px;padding:9px}.advanced-body textarea{min-height:68px;resize:vertical}.generate-dock{padding:14px 18px 13px;border-top:1px solid var(--line);background:#0b0b0b}.selected-design{display:flex;align-items:center;gap:9px;margin-bottom:11px}.selected-design i{width:30px;height:30px;border-radius:9px;border:1px solid rgba(255,255,255,.18)}.selected-design small,.selected-design strong{display:block}.selected-design small{font-size:.61rem;color:#777;text-transform:uppercase;letter-spacing:.08em}.selected-design strong{font-size:.72rem;margin-top:2px}.design-generate{width:100%;border:0;border-radius:13px;background:var(--gold);color:#080808;font-weight:900;padding:13px;box-shadow:0 10px 28px rgba(250,193,44,.14)}.design-generate:disabled{opacity:.45;cursor:not-allowed}.generate-dock p{margin:8px 0 0;color:#666;font-size:.57rem;text-align:center;line-height:1.35}
@media(max-width:1150px){.design-workspace{grid-template-columns:minmax(0,1fr) 325px}.design-canvas{padding:12px}.design-topbar{padding-bottom:12px}.profile-choice-grid{grid-template-columns:1fr 1fr}.design-image-stage,.compare-stage{min-height:330px}}
@media(max-height:820px) and (min-width:761px){.view-container{padding:18px 24px}.design-app{min-height:520px}.design-topbar h2{font-size:2rem}.design-topbar{padding-bottom:10px}.design-workspace{grid-template-columns:minmax(0,1fr) 340px}.design-control-section{padding-bottom:12px;margin-bottom:11px}.control-scroll{padding:13px}.section-label{margin-bottom:8px}.design-image-stage,.compare-stage{min-height:280px}.design-canvas-footer{padding:9px 14px}.generate-dock{padding:10px 14px}.design-stepper span{padding:5px 9px}.profile-pattern{height:25px}}
@media(max-width:760px){.design-app{height:auto;min-height:0}.design-topbar{display:block}.design-stepper{margin-top:13px;overflow:auto}.design-workspace{display:block;overflow:visible}.design-canvas-panel{min-height:520px}.design-canvas{min-height:440px}.design-controls{border-left:0;border-top:1px solid var(--line)}.control-scroll{overflow:visible}.design-image-stage,.compare-stage{min-height:380px}.design-canvas-footer{align-items:flex-start;flex-direction:column}.design-footer-actions{width:100%}.design-footer-actions button{flex:1}.brand-choice-grid{grid-template-columns:1fr 1fr}.swatch-grid{grid-template-columns:repeat(3,1fr)}}
.design-diagnostics{margin-top:10px;border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:7px 9px;background:rgba(255,255,255,.025);text-align:left}.design-diagnostics summary{cursor:pointer;color:#999;font-size:.62rem;font-weight:800}.design-diagnostics small{display:block;margin-top:5px;color:#777;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.56rem;overflow-wrap:anywhere}.generation-overlay strong{max-width:620px}.generation-overlay small{max-width:560px;line-height:1.45}

/* Vision Studio viewport safety */
.view-container:has(.design-app){overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;}
.design-controls{height:100%;min-height:0;}
.generate-dock{position:sticky;bottom:0;z-index:4;}
@media(max-height:760px) and (min-width:761px){.design-workspace{height:620px;min-height:620px}.design-app{padding-bottom:36px}}
@media(max-width:760px){.design-workspace{height:auto;min-height:0}.design-app{padding-bottom:28px}.generate-dock{position:sticky;bottom:0}}

/* Version 1.2 render workflow */
.render-actions{display:grid;grid-template-columns:1fr;gap:8px}.design-generate.quick{background:var(--gold)}.design-generate.final{background:rgba(255,255,255,.055);color:#fff;border:1px solid rgba(250,193,44,.45);box-shadow:none}.design-generate.final:hover{background:rgba(250,193,44,.1)}.design-generate.final:disabled{opacity:.35}.generate-dock p{font-size:.6rem}.design-controls .generate-dock{padding-bottom:max(13px,env(safe-area-inset-bottom))}

/* Vision Studio v1.2.1 — pixel-aligned before/after comparison */
.compare-stage {
  position: relative;
  overflow: hidden;
  background: #050505;
}
.compare-stage .compare-before,
.compare-stage .compare-after {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: center center;
}
.compare-stage .compare-before { z-index: 1; }
.compare-after-wrap {
  position: absolute;
  inset: 0 auto 0 0;
  width: 50%;
  height: 100%;
  overflow: hidden;
  z-index: 2;
}
.compare-after-wrap .compare-after {
  width: var(--compare-stage-width, 100%);
  height: var(--compare-stage-height, 100%);
}


/* Vision Studio v1.3 — polish release */
.workspace-header.vision-mode .workspace-title-group{display:none}
.workspace-header.vision-mode{justify-content:flex-end;height:72px;padding-block:0}
.workspace.vision-mode{grid-template-rows:72px minmax(0,1fr)}
.workspace-header.vision-mode .mobile-menu{margin-right:auto}
.workspace.vision-mode .view-container{padding-top:24px}

.design-app{animation:visionEnter .42s cubic-bezier(.2,.8,.2,1) both}
@keyframes visionEnter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.brand-choice,.profile-choice,.color-swatch,.design-generate,.secondary.compact{transition:transform .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease,filter .18s ease}
.brand-choice:hover,.profile-choice:hover,.color-swatch:hover{transform:translateY(-2px);border-color:rgba(250,193,44,.38)}
.design-generate:not(:disabled):hover{transform:translateY(-1px);filter:brightness(1.035)}
.design-generate:not(:disabled):active{transform:translateY(1px) scale(.995)}

.design-image-stage.is-generating>img{filter:brightness(.62) saturate(.78);transform:scale(1.008);transition:filter .35s ease,transform 6s ease}
.generation-overlay{background:linear-gradient(180deg,rgba(5,5,5,.38),rgba(5,5,5,.68));backdrop-filter:none;animation:overlayIn .3s ease both}
@keyframes overlayIn{from{opacity:0}to{opacity:1}}
.generation-mark{position:relative;box-shadow:0 0 0 0 rgba(250,193,44,.35),0 12px 34px rgba(0,0,0,.35)}
.generation-mark:after{content:"";position:absolute;inset:-13px;border:1px solid rgba(250,193,44,.3);border-radius:50%;animation:visionRing 1.9s ease-out infinite}
@keyframes visionRing{0%{opacity:0;transform:scale(.75)}35%{opacity:1}100%{opacity:0;transform:scale(1.28)}}
.generation-overlay strong{font-size:clamp(1.7rem,3vw,2.55rem);letter-spacing:-.02em}
.generation-steps{display:flex;align-items:center;gap:8px;margin-top:15px;color:#777;font-size:.65rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.generation-steps span{display:flex;align-items:center;gap:8px}
.generation-steps span:not(:last-child):after{content:"";width:22px;height:1px;background:rgba(255,255,255,.16)}
.generation-steps .active{color:var(--gold)}
.generation-steps .complete{color:var(--gold)}
.generation-steps .complete:before{content:"✓";font-size:.72rem;color:var(--gold)}
.generation-steps .active:before{content:"•";font-size:.95rem;line-height:1;color:var(--gold)}

.compare-line{transition:left .04s linear;box-shadow:0 0 18px rgba(255,255,255,.18)}
.compare-line span{width:48px;height:48px;box-shadow:0 10px 28px rgba(0,0,0,.42),0 0 0 5px rgba(250,193,44,.12),0 0 28px rgba(250,193,44,.34);transition:transform .18s ease,box-shadow .18s ease}
.compare-stage:hover .compare-line span{transform:translate(-50%,-50%) scale(1.06);box-shadow:0 12px 30px rgba(0,0,0,.44),0 0 0 7px rgba(250,193,44,.14),0 0 36px rgba(250,193,44,.42)}
.compare-stage.just-completed{animation:resultReveal .72s cubic-bezier(.2,.8,.2,1) both}
.compare-stage.just-completed:after{content:"Visualization complete";position:absolute;left:50%;top:50%;z-index:8;transform:translate(-50%,-50%);padding:12px 18px;border-radius:999px;background:rgba(8,8,8,.82);border:1px solid rgba(250,193,44,.4);color:#fff;font-weight:850;box-shadow:0 18px 45px rgba(0,0,0,.45);animation:completeToast 1.65s ease both;pointer-events:none}
@keyframes resultReveal{from{opacity:.1;filter:blur(10px);transform:scale(.99)}to{opacity:1;filter:none;transform:none}}
@keyframes completeToast{0%{opacity:0;transform:translate(-50%,-42%) scale(.94)}18%,72%{opacity:1;transform:translate(-50%,-50%) scale(1)}100%{opacity:0;transform:translate(-50%,-58%) scale(.98)}}

@media(max-width:760px){.workspace-header.vision-mode{height:64px}.workspace.vision-mode{grid-template-rows:64px minmax(0,1fr)}.workspace-header.vision-mode .header-actions{margin-left:auto}.generation-steps{display:none}}


/* Sales Suite demo refinements */
.workspace{height:100dvh;min-height:0;overflow:hidden}
.view-container{height:100%;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;padding-bottom:64px}
.hero{padding-bottom:40px}
.avatar{padding:5px;display:grid;place-items:center;overflow:hidden;background:rgba(255,255,255,.035)}
.avatar img{display:block;width:100%;height:100%;object-fit:contain}
.reference-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.reference-card{padding:20px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.04)}
.reference-card h4{font-family:Oswald,sans-serif;font-size:1.45rem;margin:14px 0 16px}
.reference-status{display:inline-flex;padding:6px 9px;border-radius:999px;background:rgba(107,221,119,.1);border:1px solid rgba(107,221,119,.24);color:#8ee397;font-size:.65rem;font-weight:850;text-transform:uppercase;letter-spacing:.08em}
.reference-card dl{display:grid;gap:10px;margin:0 0 18px}
.reference-card dl div{display:grid;grid-template-columns:70px 1fr;gap:10px}
.reference-card dt{color:#777;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;font-weight:800}
.reference-card dd{margin:0;color:#ddd;font-size:.84rem}
.compact-intro{margin-bottom:18px}.compact-intro h3{font-family:Oswald,sans-serif;font-size:1.8rem;margin:4px 0 0}.compact-intro p{margin-bottom:0}
.embedded-view iframe{overflow:auto}
@media(max-width:1050px){.reference-grid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.workspace{height:auto;min-height:100dvh;overflow:visible}.view-container{height:auto;min-height:calc(100dvh - 76px);overflow:visible;padding-bottom:48px}.reference-grid{grid-template-columns:1fr}}


/* Appointment Mode personalization */
.appointment-inline-panel{margin:18px 0 32px;border:1px solid rgba(250,193,44,.22);border-radius:24px;background:linear-gradient(145deg,rgba(250,193,44,.055),rgba(255,255,255,.025));overflow:hidden}
.appointment-setup{padding:28px}.appointment-setup-head{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;margin-bottom:22px}.appointment-setup-head h3{font-family:Oswald,sans-serif;font-size:2rem;margin:3px 0 6px}.appointment-setup-head p{color:#999;max-width:680px;margin:0;line-height:1.55}.appointment-live{white-space:nowrap;padding:7px 10px;border-radius:999px;background:rgba(250,193,44,.1);border:1px solid rgba(250,193,44,.25);color:var(--gold);font-size:.68rem;font-weight:850;text-transform:uppercase;letter-spacing:.07em}.appointment-live.dark{background:rgba(0,0,0,.08);border-color:rgba(0,0,0,.14);color:#222}.appointment-form{margin-top:6px}.appointment-actions{justify-content:flex-end}.danger-soft{color:#ffb6b6!important;border-color:rgba(255,110,110,.25)!important}.appointment-card.personalized{gap:20px}.appointment-card-top{display:flex;align-items:flex-start;justify-content:space-between}.customer-address{font-weight:650;color:#333!important;margin-top:8px!important}.appointment-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.appointment-summary span{padding:11px;border-radius:12px;background:rgba(0,0,0,.055);display:grid;gap:3px}.appointment-summary small{font-size:.58rem;text-transform:uppercase;letter-spacing:.08em;opacity:.55;font-weight:800}.appointment-summary strong{font-size:.78rem}.appointment-card-actions{display:flex;gap:14px;border-top:1px solid rgba(0,0,0,.1);padding-top:14px}.appointment-link{appearance:none;border:0;background:none;padding:0;color:#111;text-decoration:underline;text-underline-offset:3px;font-weight:750;cursor:pointer}.rep-chip strong,.rep-chip small{max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:760px){.appointment-setup-head{display:block}.appointment-live{display:inline-flex;margin-top:12px}.appointment-summary{grid-template-columns:1fr}.appointment-setup{padding:20px}}

/* Sales Workspace v2 — JobNimbus-ready Prepare / Present workflow */
.workflow-shell{max-width:1280px;margin:0 auto;padding-bottom:40px}.workflow-hero{max-width:820px;margin:18px 0 34px}.workflow-hero h2,.schedule-heading h2,.project-identity h2,.customer-welcome h2{font-family:Oswald,sans-serif;letter-spacing:-.035em}.workflow-hero h2{font-size:clamp(3rem,6vw,6rem);line-height:.95;margin:10px 0 18px}.workflow-hero>p:last-child{font-size:1.05rem;line-height:1.65;color:#aaa;max-width:760px}.rep-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.rep-select-card{appearance:none;border:1px solid var(--line);border-radius:22px;background:rgba(255,255,255,.04);color:#fff;padding:20px;text-align:left;display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:center;min-height:150px;transition:.2s}.rep-select-card:hover{transform:translateY(-3px);border-color:rgba(250,193,44,.48);background:rgba(250,193,44,.06)}.rep-select-card>b{grid-column:2;color:var(--gold);font-size:.8rem}.rep-select-card strong{display:block;font-size:1.1rem}.rep-select-card small{display:block;color:#777;margin-top:4px}.rep-avatar{width:54px;height:54px;border-radius:15px;background:var(--gold);color:#080808;display:grid;place-items:center;font-family:Oswald,sans-serif;font-size:1.25rem;font-weight:800}.integration-note{margin-top:22px;border:1px solid rgba(250,193,44,.16);background:rgba(250,193,44,.04);border-radius:18px;padding:16px 18px;display:flex;gap:14px;align-items:center}.integration-note>span,.project-source>span{display:inline-grid;place-items:center;background:var(--gold);color:#080808;font-size:.68rem;font-weight:900;border-radius:8px;width:34px;height:34px}.integration-note strong{font-size:.85rem}.integration-note p{margin:3px 0 0;color:#888;font-size:.78rem}
.schedule-heading{display:flex;justify-content:space-between;align-items:end;gap:24px;margin:14px 0 28px}.schedule-heading h2{font-size:clamp(3rem,5.5vw,5.5rem);line-height:.98;margin:7px 0 8px}.schedule-heading p{margin:0;color:#999}.schedule-grid{display:grid;gap:12px}.schedule-card{display:grid;grid-template-columns:150px minmax(0,1fr) auto;gap:26px;align-items:center;padding:22px 24px;border:1px solid var(--line);border-radius:22px;background:linear-gradient(145deg,rgba(255,255,255,.05),rgba(255,255,255,.025));transition:.2s}.schedule-card:hover{border-color:rgba(250,193,44,.3);transform:translateY(-1px)}.schedule-time{border-right:1px solid var(--line);display:grid;gap:4px}.schedule-time strong{font-family:Oswald,sans-serif;font-size:1.7rem}.schedule-time small{color:#666;font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;font-weight:800}.schedule-customer h3{font-family:Oswald,sans-serif;font-size:1.7rem;margin:7px 0 3px}.schedule-customer>p{margin:0;color:#aaa}.project-type-pill,.demo-pill{display:inline-flex;padding:5px 8px;border-radius:999px;background:rgba(250,193,44,.09);color:var(--gold);border:1px solid rgba(250,193,44,.2);font-size:.62rem;text-transform:uppercase;letter-spacing:.08em;font-weight:850}.schedule-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.schedule-meta span{font-size:.67rem;color:#777;padding:5px 7px;background:rgba(255,255,255,.035);border-radius:7px}.prepare-button,.start-appointment-button,.customer-primary{border:0;background:var(--gold);color:#080808;font-weight:900;border-radius:999px;padding:13px 18px;white-space:nowrap}.prepare-button span,.start-appointment-button span{margin-left:10px}.schedule-footer{display:flex;align-items:center;gap:12px;margin-top:18px;color:#6f6f6f;font-size:.75rem}.schedule-footer p{margin:0}.empty-schedule{padding:44px;border:1px dashed var(--line);border-radius:22px;text-align:center;color:#888}.empty-schedule strong{color:#fff;font-size:1.1rem}
.project-topline{display:flex;justify-content:space-between;align-items:center;margin:4px 0 22px}.back-link,.text-button{appearance:none;border:0;background:none;color:#aaa;font-weight:750;padding:0;cursor:pointer}.back-link:hover,.text-button:hover{color:var(--gold)}.project-source{display:flex;align-items:center;gap:8px;color:#777;font-size:.7rem}.project-source>span{width:27px;height:27px;border-radius:7px;font-size:.55rem}.project-identity{display:flex;justify-content:space-between;align-items:end;gap:28px;border-bottom:1px solid var(--line);padding-bottom:28px;margin-bottom:22px}.project-identity h2{font-size:clamp(3rem,6vw,6.2rem);line-height:.92;margin:8px 0 10px}.project-identity>div>p:last-child{margin:0;color:#aaa;font-size:1rem}.project-time{min-width:180px;text-align:right;display:grid;gap:3px}.project-time small{text-transform:uppercase;letter-spacing:.08em;color:#666;font-size:.65rem;font-weight:800}.project-time strong{font-family:Oswald,sans-serif;color:var(--gold);font-size:2rem}.project-time span{color:#777;font-size:.75rem}.project-dashboard-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:16px}.project-panel{border:1px solid var(--line);border-radius:22px;background:rgba(255,255,255,.035);padding:24px}.panel-heading{display:flex;justify-content:space-between;align-items:start;gap:18px;margin-bottom:18px}.panel-heading h3{font-family:Oswald,sans-serif;font-size:1.8rem;margin:3px 0}.detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.detail-grid>div{padding:13px;border-radius:12px;background:rgba(255,255,255,.035);display:grid;gap:4px}.detail-grid small,.project-notes small{font-size:.6rem;text-transform:uppercase;letter-spacing:.08em;color:#666;font-weight:800}.detail-grid strong{font-size:.82rem}.project-notes{margin-top:12px;padding:14px;border-left:2px solid var(--gold);background:rgba(250,193,44,.035)}.project-notes p{margin:6px 0 0;color:#aaa;line-height:1.5;font-size:.82rem}.ready-badge{padding:6px 9px;border-radius:999px;background:rgba(96,202,117,.09);border:1px solid rgba(96,202,117,.2);color:#7edb8f;font-size:.62rem;font-weight:850;text-transform:uppercase}.prep-row{display:flex;gap:11px;align-items:center;padding:11px 0;border-top:1px solid rgba(255,255,255,.06)}.prep-row:first-of-type{border-top:0}.prep-check{width:25px;height:25px;border-radius:50%;border:1px solid #444;display:grid;place-items:center;color:#666;font-size:.7rem}.prep-row.done .prep-check{background:rgba(96,202,117,.11);border-color:rgba(96,202,117,.28);color:#84e297}.prep-row div{display:grid;gap:2px}.prep-row strong{font-size:.8rem}.prep-row small{font-size:.68rem;color:#666}.start-appointment-panel{margin-top:16px;border-radius:24px;background:linear-gradient(135deg,var(--gold),#d99d08);color:#080808;padding:28px;display:flex;justify-content:space-between;align-items:center;gap:30px}.start-appointment-panel .eyebrow{color:#4d3700}.start-appointment-panel h3{font-family:Oswald,sans-serif;font-size:2.3rem;margin:4px 0 7px}.start-appointment-panel p{margin:0;max-width:730px;line-height:1.5}.start-appointment-button{background:#080808;color:#fff;padding:16px 22px}.project-edit-wrap{margin-top:16px;border:1px solid rgba(250,193,44,.2);border-radius:22px;background:#111}.project-edit-wrap[hidden]{display:none}
.customer-mode .suite-shell{grid-template-columns:92px minmax(0,1fr)}.customer-mode .sidebar{padding:18px 12px}.customer-mode .suite-brand{justify-content:center;padding:6px}.customer-mode .suite-brand>span:last-child,.customer-mode .nav-copy,.customer-mode .sidebar-footer{display:none}.customer-mode .brand-logo{width:55px;height:55px}.customer-mode .suite-nav{gap:8px}.customer-mode .nav-item{justify-content:center;padding:13px 8px}.customer-mode .nav-icon{font-size:1.2rem}.customer-mode .workspace-header{background:rgba(8,8,8,.93)}.customer-welcome{max-width:1320px;min-height:calc(100% - 12px);margin:0 auto;position:relative;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:20px;align-content:center}.customer-welcome-brand{position:absolute;right:0;top:0}.customer-welcome-brand img{width:112px;height:70px;object-fit:contain}.customer-welcome-main{padding:clamp(28px,5vw,64px);border-radius:30px;border:1px solid var(--line);background:radial-gradient(circle at 80% 10%,rgba(250,193,44,.14),transparent 32%),linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.02))}.customer-welcome h2{font-size:clamp(4rem,8vw,8.2rem);line-height:.88;margin:12px 0 18px}.customer-welcome h2 span{color:var(--gold)}.customer-address-large{font-size:1rem;color:#aaa;margin:0 0 24px}.customer-lead{max-width:730px;color:#c4c4c4;font-size:1.1rem;line-height:1.65}.customer-project-chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}.customer-project-chips>span{display:grid;gap:4px;padding:12px 15px;border:1px solid var(--line);border-radius:13px;background:rgba(255,255,255,.035);min-width:140px}.customer-project-chips small{text-transform:uppercase;letter-spacing:.08em;color:#666;font-size:.58rem;font-weight:800}.customer-project-chips strong{font-size:.8rem}.customer-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:30px}.customer-primary{padding:15px 22px}.customer-secondary{border:1px solid var(--line);background:rgba(255,255,255,.045);color:#fff;border-radius:999px;padding:14px 20px;font-weight:800}.customer-agenda{padding:30px;border-radius:30px;background:var(--gold);color:#080808;align-self:stretch;display:flex;flex-direction:column;justify-content:center}.customer-agenda .eyebrow{color:#5a4100}.agenda-items{display:grid;gap:6px;margin-top:18px}.agenda-items span{display:flex;align-items:center;gap:15px;padding:14px 0;border-bottom:1px solid rgba(0,0,0,.12);font-family:Oswald,sans-serif;font-size:1.35rem;font-weight:700}.agenda-items b{font-family:Inter,sans-serif;font-size:.6rem;letter-spacing:.08em;opacity:.5}.exit-mode-button{position:absolute;right:16px;bottom:-40px;border:0;background:none;color:#666;font-size:.72rem;cursor:pointer}.exit-mode-button:hover{color:#fff}
@media(max-width:1050px){.rep-grid{grid-template-columns:1fr}.project-dashboard-grid{grid-template-columns:1fr}.customer-welcome{grid-template-columns:1fr}.customer-welcome-brand{display:none}.customer-agenda{min-height:260px}.detail-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.schedule-heading,.project-identity,.start-appointment-panel{display:block}.schedule-heading .secondary{margin-top:16px}.schedule-card{grid-template-columns:1fr;gap:14px}.schedule-time{border-right:0;border-bottom:1px solid var(--line);padding-bottom:12px}.prepare-button{width:100%}.project-time{text-align:left;margin-top:20px}.detail-grid{grid-template-columns:1fr}.start-appointment-button{width:100%;margin-top:20px}.customer-mode .suite-shell{display:block}.customer-mode .sidebar{width:280px;padding:20px}.customer-mode .suite-brand{justify-content:flex-start}.customer-mode .suite-brand>span:last-child,.customer-mode .nav-copy,.customer-mode .sidebar-footer{display:flex}.customer-mode .nav-item{justify-content:flex-start}.customer-welcome h2{font-size:clamp(3.5rem,15vw,6rem)}.schedule-footer{align-items:flex-start;flex-direction:column}}

/* Rep workspace actions: keep prepare-mode navigation intentionally minimal. */
.panel-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
@media(max-width:760px){.panel-actions{justify-content:flex-start}}

/* JobNimbus diagnostic — temporary setup tooling */
.jn-diagnostic-panel{margin-top:18px}
.jn-diagnostic-copy{margin:0 0 18px;color:#a9aaad;line-height:1.65;max-width:920px}
.jn-diagnostic-controls{display:flex;gap:14px;align-items:end;flex-wrap:wrap;margin:18px 0}
.jn-diagnostic-controls label{display:grid;gap:8px;min-width:230px;color:#d5d5d6;font-size:.82rem;font-weight:800}
.jn-diagnostic-controls label span{color:#8f9195;text-transform:uppercase;letter-spacing:.08em;font-size:.7rem}
.jn-diagnostic-controls input{height:48px;border:1px solid #36383d;border-radius:12px;background:#111214;color:#fff;padding:0 14px;font:inherit;color-scheme:dark}
.jn-diagnostic-status{border:1px solid #33363a;border-radius:14px;background:#111214;color:#b7b8bb;padding:14px 16px;line-height:1.55}
.jn-diagnostic-status strong{color:#fff}
.jn-diagnostic-result{margin-top:16px;border:1px solid #34363a;border-radius:16px;background:#090a0b;overflow:hidden}
.jn-result-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-bottom:1px solid #292b2f;color:#fff}
.jn-diagnostic-result pre{margin:0;padding:16px;max-height:430px;overflow:auto;color:#d5d7db;background:#08090a;font:12px/1.55 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;white-space:pre-wrap;word-break:break-word}
@media(max-width:700px){.jn-diagnostic-controls{align-items:stretch}.jn-diagnostic-controls label,.jn-diagnostic-controls button{width:100%}}

/* Live JobNimbus schedule controls */
.schedule-date-control{display:flex;flex-direction:column;gap:7px;min-width:190px;color:#aaa;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.schedule-date-control input{background:#111;border:1px solid #2b2b2b;color:#fff;border-radius:12px;padding:11px 12px;font:inherit;font-size:.9rem;text-transform:none;letter-spacing:0}.schedule-date-control input:focus{outline:2px solid rgba(250,193,44,.35);border-color:#fac12c}.hub-access-panel{margin:18px 0 22px}.hub-access-panel input{background:#101010!important;color:#fff!important;border:1px solid #333!important}.hub-access-panel input:focus{border-color:#fac12c!important;outline:none;box-shadow:0 0 0 3px rgba(250,193,44,.12)}
@media(max-width:760px){.schedule-heading{align-items:flex-start;flex-direction:column}.schedule-date-control{width:100%}.schedule-date-control input{width:100%}}


/* v2.6 — Keep long CRM identifiers inside their field/card boundaries */
.project-detail-value,
.project-meta-value,
.detail-value,
.meta-value,
[data-field="jobNimbusId"],
[data-field="jobnimbusid"],
.jobnimbus-id,
.job-nimbus-id {
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  display: block;
}

/* v2.7 — JobNimbus property Street View preview */
.streetview-panel{
  display:grid;
  grid-template-columns:minmax(0,1.55fr) minmax(260px,.75fr);
  padding:0;
  overflow:hidden;
  margin:18px 0;
  min-height:300px;
}
.streetview-image-shell{
  position:relative;
  min-height:300px;
  background:linear-gradient(135deg,#121212,#080808);
  overflow:hidden;
}
.streetview-image-shell img{
  width:100%;
  height:100%;
  min-height:300px;
  object-fit:cover;
  display:block;
}
.streetview-loading,.streetview-fallback{
  position:absolute;
  inset:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:8px;
  text-align:center;
  padding:28px;
  color:#fff;
}
.streetview-loading[hidden],.streetview-fallback[hidden],.streetview-image-shell img[hidden]{display:none!important}
.streetview-loading small,.streetview-fallback small{color:#8f8f8f;max-width:360px;line-height:1.45}
.streetview-spinner{
  width:34px;height:34px;border-radius:50%;
  border:3px solid rgba(250,193,44,.18);
  border-top-color:var(--gold);
  animation:streetview-spin .8s linear infinite;
  margin-bottom:5px;
}
@keyframes streetview-spin{to{transform:rotate(360deg)}}
.streetview-copy{
  padding:30px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:24px;
  background:linear-gradient(145deg,rgba(250,193,44,.07),rgba(255,255,255,.015));
}
.streetview-copy h3{font-family:Oswald,sans-serif;font-size:2rem;margin:7px 0 10px;color:#fff;line-height:1.08}
.streetview-copy p:not(.eyebrow){color:#aaa;line-height:1.55;margin:0}
.streetview-map-link{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;width:max-content;max-width:100%}
.streetview-empty{display:block;min-height:0;padding:26px}
@media(max-width:900px){
  .streetview-panel{grid-template-columns:1fr}
  .streetview-image-shell,.streetview-image-shell img{min-height:260px}
  .streetview-copy{padding:24px}
}

/* v2.8 Appointment Workflow */
.nav-section-label{padding:18px 18px 7px;color:#777;font-size:.63rem;font-weight:900;letter-spacing:.14em}.nav-project-name{padding:0 18px 10px;color:#fff;font-size:.82rem;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav-back{margin-bottom:4px}.nav-start{border-color:rgba(250,193,44,.35)!important;background:rgba(250,193,44,.08)!important}.nav-exit{margin-top:10px}.jobnimbus-id{display:block;min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.embedded-native{height:calc(100vh - 86px);min-height:620px}.embedded-native iframe{height:100%;width:100%;border:0;border-radius:0;background:#080808}.inspection-customer-strip{display:grid;grid-template-columns:1fr 2fr 1fr;gap:18px;margin-bottom:18px}.inspection-customer-strip div{min-width:0}.inspection-customer-strip small{display:block;color:#888;text-transform:uppercase;font-size:.65rem;font-weight:800;letter-spacing:.08em}.inspection-customer-strip strong{display:block;margin-top:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inspection-fields{gap:18px}.inspection-choice-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}.inspection-chip{border:1px solid #3a3a3a;background:#181818;color:#ddd;border-radius:999px;padding:11px 15px;font:inherit;font-weight:750;cursor:pointer;transition:.16s}.inspection-chip:hover{border-color:#777}.inspection-chip.selected{background:var(--gold);border-color:var(--gold);color:#0b0b0b;box-shadow:none}.inspection-issue-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.inspection-chip.issue{border-radius:13px;text-align:left;min-height:52px}.inspection-notes{margin-top:22px}.inspection-photo-add{display:inline-flex;align-items:center;justify-content:center;border:1px dashed rgba(250,193,44,.55);background:rgba(250,193,44,.06);color:var(--gold);padding:14px 18px;border-radius:14px;font-weight:850;cursor:pointer}.inspection-photo-grid,.inspection-review-photos{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:18px}.inspection-photo-grid figure{position:relative;margin:0;aspect-ratio:4/3;border-radius:14px;overflow:hidden;background:#111}.inspection-photo-grid img,.inspection-review-photos img{width:100%;height:100%;object-fit:cover;border-radius:14px}.inspection-photo-grid button{position:absolute;right:7px;top:7px;width:30px;height:30px;border:0;border-radius:50%;background:rgba(0,0,0,.78);color:#fff;font-size:1.2rem}.inspection-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:20px}.inspection-review-issues{display:flex;flex-wrap:wrap;gap:10px}.inspection-review-issues span{padding:10px 13px;border-radius:999px;background:rgba(250,193,44,.1);border:1px solid rgba(250,193,44,.3);color:#fff;font-weight:750}.inspection-review-notes{margin-top:22px;padding-top:20px;border-top:1px solid #333}.inspection-review-notes small{color:var(--gold);font-weight:850;text-transform:uppercase}.inspection-review-notes p{white-space:pre-wrap;line-height:1.65}.customer-mode .workspace-title-group #viewEyebrow{color:var(--gold)}
@media(max-width:900px){.inspection-issue-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.inspection-photo-grid,.inspection-review-photos{grid-template-columns:repeat(2,minmax(0,1fr))}.inspection-customer-strip{grid-template-columns:1fr}}


/* v2.8.1 — live appointment refresh state */
.loading-appointments {
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:180px;
  color:rgba(255,255,255,.72);
  text-align:center;
}
.loading-appointments strong { color:#fff; }
.loading-spinner {
  width:28px;
  height:28px;
  border-radius:50%;
  border:3px solid rgba(250,193,44,.22);
  border-top-color:#fac12c;
  animation:mbcSpin .8s linear infinite;
}
@keyframes mbcSpin { to { transform:rotate(360deg); } }


/* v2.9 workflow cleanup */
.embedded-native{display:block!important;height:calc(100dvh - 112px);min-height:560px;overflow:hidden}
.embedded-native iframe{display:block;width:100%;height:100%!important;min-height:100%;border:0;background:#080808}
.appointment-fullscreen-button{border:1px solid rgba(250,193,44,.45);background:rgba(250,193,44,.08);color:var(--gold);border-radius:999px;padding:11px 16px;font-weight:850}
.appointment-fullscreen-button:hover{background:rgba(250,193,44,.16)}
.customer-mode .appointment-fullscreen-button{display:inline-flex;align-items:center;justify-content:center}
.inspection-type-tabs{display:inline-flex;gap:6px;padding:5px;border:1px solid var(--line);border-radius:999px;background:#111;margin:0 0 18px}
.inspection-type-tab{border:0;background:transparent;color:#999;padding:10px 18px;border-radius:999px;font-weight:850}
.inspection-type-tab.active{background:var(--gold);color:#090909}
.inspection-form-note{color:#888;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em}
.inspection-form-help{margin:16px 0 0;color:#777;font-size:.78rem;line-height:1.5}
.inspection-review-photo-button{display:block;border:0;padding:0;background:none;border-radius:14px;overflow:hidden;cursor:zoom-in;aspect-ratio:4/3}
.inspection-review-photo-button img{display:block;width:100%;height:100%;object-fit:cover}
.inspection-photo-grid img{cursor:zoom-in}
.inspection-photo-hint{color:#777;font-size:.72rem;margin:10px 0 0}
.inspection-lightbox[hidden]{display:none}
.inspection-lightbox{position:fixed;inset:0;z-index:9999;background:rgba(0,0,0,.94);display:grid;place-items:center;padding:28px;backdrop-filter:blur(8px)}
.inspection-lightbox img{max-width:min(1400px,96vw);max-height:92vh;object-fit:contain;border-radius:12px;box-shadow:0 28px 100px rgba(0,0,0,.7)}
.inspection-lightbox-close{position:fixed;right:24px;top:20px;width:48px;height:48px;border-radius:50%;border:1px solid rgba(255,255,255,.25);background:rgba(20,20,20,.8);color:#fff;font-size:2rem;line-height:1;display:grid;place-items:center}
body.lightbox-open{overflow:hidden}
@media(max-width:760px){.embedded-native{height:calc(100dvh - 94px);min-height:480px}.appointment-fullscreen-button{padding:10px 12px;font-size:.78rem}.inspection-lightbox{padding:12px}.inspection-lightbox-close{right:12px;top:12px}}


/* v2.10 — iPad Appointment Mode polish */
html,body,.suite-shell{overscroll-behavior:none}
@media (hover:none) and (pointer:coarse){
  body.customer-mode .suite-shell{padding-top:max(env(safe-area-inset-top),8px);height:100dvh}
}
body.suite-fullscreen{overscroll-behavior:none;touch-action:pan-x pan-y}
.inspection-type-tab{position:relative}
.inspection-type-tab small{display:block;margin-top:3px;font-size:.55rem;letter-spacing:.06em;text-transform:uppercase;opacity:.68}
.inspection-need-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:0 0 20px;margin-bottom:20px;border-bottom:1px solid var(--line)}
.inspection-need-row>div:first-child{display:grid;gap:4px}.inspection-need-row small{color:#777;line-height:1.4}.inspection-section-body{display:grid;gap:16px}.inspection-section-body.is-disabled{opacity:.34;pointer-events:none;filter:grayscale(.25)}
.inspection-review-section{display:grid;gap:12px;margin-bottom:24px}.inspection-review-heading h3{font-family:Oswald,sans-serif;font-size:2rem;margin:4px 0 0}
@media(max-width:760px){.inspection-need-row{align-items:flex-start;flex-direction:column}}

/* 2026-08 iPad fullscreen fit — let the workspace grid own the height */
.view-container:has(.embedded-native){padding:0!important;overflow:hidden!important;min-height:0!important}
.view-container:has(.embedded-native) .embedded-native{height:100%!important;min-height:0!important;max-height:100%!important}
.view-container:has(.embedded-native) .embedded-native iframe{height:100%!important;min-height:0!important;max-height:100%!important}
body.customer-mode.suite-fullscreen .suite-shell{height:100svh!important;min-height:100svh!important;max-height:100svh!important;overflow:hidden;padding-top:max(env(safe-area-inset-top),6px);padding-bottom:max(env(safe-area-inset-bottom),6px)}
body.customer-mode.suite-fullscreen .workspace{min-height:0;height:100%}
body.customer-mode.suite-fullscreen{overflow:hidden;overscroll-behavior:none;touch-action:pan-x pan-y}

/* Wednesday demo polish */
html,body{overscroll-behavior:none}
body.customer-mode.suite-fullscreen,body.customer-mode.suite-fullscreen .suite-shell,body.customer-mode.suite-fullscreen .workspace,body.customer-mode.suite-fullscreen .view-container{overscroll-behavior:none!important}
body.customer-mode.suite-fullscreen{-webkit-overflow-scrolling:auto;touch-action:none!important}
body.customer-mode.suite-fullscreen iframe,body.customer-mode.suite-fullscreen input,body.customer-mode.suite-fullscreen textarea,body.customer-mode.suite-fullscreen select,body.customer-mode.suite-fullscreen button,body.customer-mode.suite-fullscreen a{touch-action:auto}
.document-library-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:20px}.document-folder{display:flex;gap:18px;align-items:flex-start;padding:24px;border:1px solid var(--line);border-radius:22px;background:rgba(255,255,255,.035)}.document-folder-icon{width:46px;height:46px;flex:0 0 46px;border-radius:14px;display:grid;place-items:center;background:rgba(250,193,44,.1);border:1px solid rgba(250,193,44,.22);color:var(--gold);font-size:1.25rem}.document-folder h3{font-family:Oswald,sans-serif;font-size:1.45rem;margin:0 0 7px}.document-folder p{color:#999;line-height:1.5;margin:0 0 13px}.document-folder small{color:var(--gold);font-weight:800;text-transform:uppercase;letter-spacing:.08em}.document-library-note{margin-top:16px}.document-library-note>p{color:#999;line-height:1.6}@media(max-width:760px){.document-library-grid{grid-template-columns:1fr}}

/* Demo v2 appointment path polish */
.customer-mode .avatar{display:none!important}
.appointment-mode-panel{margin-top:18px}
.appointment-mode-switcher{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:16px;padding:12px 14px;border:1px solid var(--line);border-radius:15px;background:rgba(255,255,255,.025)}
.appointment-mode-switcher>span{text-transform:uppercase;letter-spacing:.08em;font-size:.64rem;font-weight:800;color:#777}
.appointment-mode-switcher>div{display:flex;gap:6px;flex-wrap:wrap}
.appointment-mode-switcher button{border:1px solid var(--line);background:rgba(255,255,255,.035);color:#aaa;border-radius:999px;padding:8px 13px;font-weight:800;font-size:.72rem}
.appointment-mode-switcher button.active{background:var(--gold);color:#080808;border-color:var(--gold)}
.customer-mode-topline{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:12px}
.customer-mode-badge{display:inline-flex;align-items:center;border:1px solid rgba(250,193,44,.4);background:rgba(250,193,44,.1);color:var(--gold);border-radius:999px;padding:8px 12px;font-size:.7rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase}
.appointment-mode-switcher.compact{margin:0;padding:7px 8px;background:rgba(0,0,0,.2)}
.appointment-mode-switcher.compact>span{display:none}
.appointment-mode-switcher.compact button{padding:6px 10px;font-size:.65rem}
.inspection-type-tabs.single{grid-template-columns:1fr}
@media(max-width:900px){.customer-mode-topline{align-items:flex-start}.appointment-mode-switcher{align-items:flex-start;flex-direction:column}.appointment-mode-switcher.compact{flex-direction:row}}
/* Demo v3.3 visualizer modes */
.visualizer-subtitle{margin:6px 0 0;color:var(--muted);font-size:14px;max-width:720px}
.visualizer-section-heading{display:flex;align-items:baseline;gap:10px;padding:4px 2px 2px;margin-top:2px}.visualizer-section-heading+ .design-control-section{margin-top:8px}.visualizer-section-heading:not(:first-child){margin-top:20px;padding-top:18px;border-top:1px solid rgba(255,255,255,.09)}
.visualizer-section-heading span{font-size:10px;letter-spacing:.16em;font-weight:800;color:var(--gold)}.visualizer-section-heading strong{font-size:15px}
.selected-design-pair{display:flex;gap:18px;width:100%}.selected-design-pair span{display:grid;grid-template-columns:28px 1fr;grid-template-rows:auto auto;column-gap:9px;align-items:center;flex:1}.selected-design-pair i{grid-row:1/3;width:28px;height:28px;border-radius:50%;border:1px solid rgba(255,255,255,.25)}.selected-design-pair small,.selected-design-pair b{display:block}.selected-design-pair small{font-size:10px;color:var(--muted)}.selected-design-pair b{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* v3.5 — Employee Sales 101 / Mike Brown FORM playbook */
.nav-icon-101{font-family:Oswald,sans-serif;font-size:.72rem;letter-spacing:-.03em}.sales101-screen{max-width:1220px}.sales101-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:24px}.sales101-badge{border:1px solid rgba(250,193,44,.35);background:rgba(250,193,44,.08);color:var(--gold);border-radius:999px;padding:9px 13px;font-size:.65rem;font-weight:900;letter-spacing:.12em}.sales101-feature{margin-top:20px;padding:26px 28px;border:1px solid rgba(250,193,44,.25);border-radius:24px;background:linear-gradient(135deg,rgba(250,193,44,.10),rgba(255,255,255,.025));display:flex;align-items:center;justify-content:space-between;gap:24px}.sales101-feature h3{font-family:Oswald,sans-serif;font-size:2.2rem;margin:3px 0}.sales101-feature h3 span{color:var(--gold)}.sales101-feature-copy>p:last-child{color:#999;margin:0}.form-strip{display:flex;gap:8px}.form-strip b{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:var(--gold);color:#090909;font-family:Oswald,sans-serif;font-size:1.4rem}.sales101-note{margin:14px 0 18px;padding:15px 18px;border-left:3px solid var(--gold);background:rgba(255,255,255,.03);border-radius:0 14px 14px 0;display:flex;gap:9px;line-height:1.5}.sales101-note strong{white-space:nowrap;color:#fff}.sales101-note span{color:#999}.form-grid-101{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.form-card{border:1px solid var(--line);border-radius:20px;background:rgba(255,255,255,.025);overflow:hidden}.form-card[open]{border-color:rgba(250,193,44,.28)}.form-card summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:48px 1fr 28px;gap:14px;align-items:center;padding:18px}.form-card summary::-webkit-details-marker{display:none}.form-letter{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:rgba(250,193,44,.11);border:1px solid rgba(250,193,44,.22);color:var(--gold);font:700 1.55rem Oswald,sans-serif}.form-card summary strong{display:block;font:600 1.35rem Oswald,sans-serif}.form-card summary small{display:block;color:#888;margin-top:3px;line-height:1.35}.form-expand{font-size:1.4rem;color:#777}.form-card[open] .form-expand{transform:rotate(45deg);color:var(--gold)}.form-question-list{padding:0 18px 18px;display:grid;gap:8px}.sales-question{position:relative;padding:14px 15px;border-radius:13px;background:rgba(255,255,255,.035);border:1px solid transparent}.sales-question.starter{border-color:rgba(250,193,44,.16)}.sales-question>span{display:inline-block;color:var(--gold);font-size:.55rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase;margin-bottom:5px}.sales-question p{margin:0;color:#ddd;line-height:1.45;font-weight:600}.why-tip{display:block;margin-top:10px;padding-top:10px;border-top:1px solid var(--line);color:#888;line-height:1.45}.why-tip b{color:var(--gold);text-transform:uppercase;letter-spacing:.07em;font-size:.6rem;margin-right:5px}.sales101-more{margin-top:22px;padding:22px;border:1px solid var(--line);border-radius:22px;background:rgba(255,255,255,.02)}.sales-module-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:15px}.sales-module{display:grid;grid-template-columns:38px 1fr auto;gap:12px;align-items:center;padding:14px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.025)}.sales-module>span{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:#171717;color:var(--gold)}.sales-module h4{margin:0 0 3px}.sales-module p{margin:0;color:#777;font-size:.75rem;line-height:1.35}.sales-module>small{color:#666;text-transform:uppercase;font-size:.55rem;font-weight:800;letter-spacing:.08em}@media(max-width:800px){.form-grid-101,.sales-module-grid{grid-template-columns:1fr}.sales101-feature,.sales101-hero{align-items:flex-start;flex-direction:column}.sales101-note{flex-direction:column}.form-strip b{width:42px;height:42px}}

/* v3.5.1 — Employee appointment navigation hierarchy */
.appointment-nav-group{margin:5px 0 3px;padding:10px 7px 7px;border-left:1px solid rgba(250,193,44,.25)}
.appointment-nav-heading{display:grid;gap:3px;padding:2px 12px 10px 14px;min-width:0}
.appointment-nav-heading .appointment-nav-kicker{font-size:.57rem;line-height:1;text-transform:uppercase;letter-spacing:.12em;font-weight:800;color:#6f6f6f}
.appointment-nav-heading strong{font-family:Oswald,sans-serif;font-size:1.02rem;line-height:1.15;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.appointment-nav-heading small{font-size:.68rem;color:#8a8a8a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nav-item.nav-child{margin-left:5px;width:calc(100% - 5px);padding-top:10px;padding-bottom:10px}
.nav-section-divider{height:1px;background:var(--line);margin:9px 9px 7px}

/* v3.5.2 — streamlined prepare-mode appointment navigation */
.nav-all-appointments{padding-left:18px!important}
.nav-all-appointments .nav-copy{margin-left:0}
.appointment-nav-streamlined{margin:2px 0 5px;padding:0;border-left:0}
.nav-item.nav-current-appointment{margin-left:18px;width:calc(100% - 18px);padding:12px 14px;min-height:58px}
.nav-current-appointment .nav-copy{margin-left:0}
.nav-current-appointment .nav-copy strong{font-family:Oswald,sans-serif;font-size:1rem}
.nav-current-appointment .nav-copy small{margin-top:3px}

/* v3.5.5 — keep selected appointment typography consistent with employee nav */
.nav-current-appointment .nav-copy strong{font-family:Inter,system-ui,sans-serif;font-size:.88rem;font-weight:700;letter-spacing:normal}


/* v3.5.6 — Pre-appointment property intelligence prototype */
.property-intel-copy{gap:18px;padding:26px 28px}
.property-intel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.property-intel-heading>div{min-width:0}
.intel-demo-pill{flex:0 0 auto;padding:5px 8px;border-radius:999px;border:1px solid rgba(250,193,44,.24);background:rgba(250,193,44,.07);color:var(--gold);font-size:.57rem;font-weight:900;letter-spacing:.07em;text-transform:uppercase}
.property-snapshot{border-top:1px solid rgba(255,255,255,.08);padding-top:15px}
.property-snapshot-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:10px}
.property-snapshot-head strong{font-size:.78rem;text-transform:uppercase;letter-spacing:.07em}
.property-snapshot-head small{color:#696969;font-size:.62rem}
.property-snapshot-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.property-snapshot-grid>div{padding:10px 11px;border:1px solid rgba(255,255,255,.055);background:rgba(255,255,255,.025);border-radius:10px;display:grid;gap:3px}
.property-snapshot-grid small{font-size:.56rem;color:#707070;text-transform:uppercase;letter-spacing:.07em;font-weight:850}
.property-snapshot-grid strong{font-family:Oswald,sans-serif;font-size:1rem;color:#f3f3f3;white-space:nowrap}
.property-snapshot-grid>.storm-snapshot{grid-column:1/-1;display:grid;gap:9px;padding:12px;border-radius:10px;background:rgba(250,193,44,.055);border:1px solid rgba(250,193,44,.14)}
.storm-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.storm-title{display:flex;align-items:center;gap:8px;min-width:0}
.storm-icon{width:24px;height:24px;display:grid;place-items:center;border-radius:7px;background:var(--gold);color:#080808;font-size:.68rem;flex:0 0 auto}
.storm-heading strong{font-family:inherit!important;font-size:.78rem!important;text-transform:uppercase;letter-spacing:.07em;white-space:normal!important}
.storm-demo-badge{font-size:.5rem!important;text-transform:uppercase;letter-spacing:.07em;font-weight:900;color:var(--gold)!important}
.storm-copy b{font-size:.78rem;color:#f2f2f2}
.storm-copy small{font-size:.64rem;color:#858585;line-height:1.4}
@media(max-width:900px){.property-intel-copy{padding:24px}.property-snapshot-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:620px){.property-snapshot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.property-intel-heading{display:block}.intel-demo-pill{display:inline-flex;margin-top:10px}}
.intel-demo-pill.intel-live-pill{background:#eef7ef;border-color:#bfd9c3;color:#295f34}

.intel-value-note{display:block;margin-top:4px;font-size:11px;line-height:1.2;color:var(--muted,#6f7278);font-weight:600;}

/* v3.6.3 temporary Property Data Tester */
.property-test-section{margin-top:18px;padding:18px 20px;border:1px dashed rgba(238,183,39,.55);border-radius:18px;background:rgba(238,183,39,.06);display:flex;align-items:center;justify-content:space-between;gap:18px}.property-test-section-copy{display:flex;align-items:center;gap:14px}.property-test-section-copy div{display:flex;flex-direction:column;gap:3px}.property-test-section-copy strong{font-size:.98rem}.property-test-section-copy small{color:var(--muted);font-size:.78rem}.test-pill{display:inline-flex;align-items:center;justify-content:center;padding:6px 9px;border-radius:999px;background:var(--gold);color:#111;font-size:.65rem;font-weight:900;letter-spacing:.07em;white-space:nowrap}.property-test-button{white-space:nowrap}.property-test-console{border-color:rgba(238,183,39,.48);background:linear-gradient(135deg,rgba(238,183,39,.08),rgba(255,255,255,.02))}.property-test-controls{display:grid;grid-template-columns:1fr auto;gap:12px;margin-top:15px}.property-test-controls input{width:100%;min-height:46px;border:1px solid var(--line);border-radius:12px;background:var(--panel-2,#151515);color:var(--text);padding:0 14px;font:inherit}.property-test-controls input:focus{outline:2px solid rgba(238,183,39,.25);border-color:var(--gold)}@media(max-width:760px){.property-test-section{align-items:flex-start;flex-direction:column}.property-test-button{width:100%}.property-test-controls{grid-template-columns:1fr}.property-test-controls .primary{width:100%}}

/* v3.6.5 — HailTrace preview state */
.storm-event-list{display:grid;grid-template-columns:1fr;gap:8px;margin:2px 0 1px}
.storm-event{display:grid;gap:1px;width:100%;padding:9px 11px;border-radius:8px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.07)}
.storm-event b{font-size:.68rem;color:#f4f4f4}
.storm-event small{font-size:.62rem;color:#a7a7a7}
.storm-event small strong{color:var(--gold);font-size:inherit}
.storm-demo-note{margin-top:1px}

/* v3.6.8 — Storm history alignment polish */
.storm-event-list{width:100%;margin:0}
.storm-event{box-sizing:border-box;width:100%}
.property-snapshot-grid .storm-event small,.property-snapshot-grid .storm-demo-note{text-transform:none;letter-spacing:normal}
.property-snapshot-grid .storm-demo-note{display:block;width:100%;font-size:.62rem;color:#858585;line-height:1.4}
/* v3.6.9 — Company Documents + Sales 101 Objections */
.document-section{margin-top:18px;padding:20px;border:1px solid var(--line);border-radius:22px;background:rgba(255,255,255,.02)}
.document-item-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}.document-item{display:grid;grid-template-columns:46px 1fr auto;gap:14px;align-items:center;padding:17px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.025);text-decoration:none;color:inherit}.document-item:hover{border-color:rgba(250,193,44,.32);background:rgba(250,193,44,.04)}.document-item h4{margin:0 0 4px;font:600 1.12rem Oswald,sans-serif}.document-item p{margin:0 0 7px;color:#888;font-size:.78rem;line-height:1.4}.document-item small{color:var(--gold);font-size:.58rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.document-item>b{color:#777;font-size:1.1rem}.objections-module{margin-top:22px;padding:22px;border:1px solid rgba(250,193,44,.22);border-radius:22px;background:linear-gradient(145deg,rgba(250,193,44,.055),rgba(255,255,255,.018))}.objection-callout{display:flex;gap:10px;margin:15px 0;padding:14px 16px;border-left:3px solid var(--gold);background:rgba(0,0,0,.18);border-radius:0 12px 12px 0}.objection-callout b{color:#fff;white-space:nowrap}.objection-callout span{color:#999;line-height:1.45}.four-c-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.four-c-grid article{padding:15px;border:1px solid var(--line);border-radius:15px;background:rgba(255,255,255,.03)}.four-c-grid article>b{width:25px;height:25px;display:grid;place-items:center;border-radius:8px;background:var(--gold);color:#080808;font-size:.7rem}.four-c-grid h4{margin:9px 0 4px;font:600 1.12rem Oswald,sans-serif}.four-c-grid p{margin:0;color:#aaa;font-size:.76rem;line-height:1.4}.four-c-grid small{display:block;margin-top:9px;color:#d0a52b;font-size:.68rem;line-height:1.45;font-style:italic}.money-clarification{margin:14px 0;padding:18px;border:1px solid rgba(250,193,44,.22);border-radius:16px;background:rgba(250,193,44,.06)}.money-clarification h4{font:600 1.4rem Oswald,sans-serif;margin:3px 0 6px}.money-clarification>p:not(.eyebrow){color:#aaa;line-height:1.5}.money-clarification>div{display:grid;grid-template-columns:auto 1fr;gap:7px 12px;margin:13px 0}.money-clarification>div b{color:var(--gold);font-size:.72rem}.money-clarification>div span{color:#bbb;font-size:.78rem}.money-clarification>strong{color:#fff}.objection-list{display:grid;gap:9px}.objection-card{border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.025);overflow:hidden}.objection-card[open]{border-color:rgba(250,193,44,.25)}.objection-card summary{list-style:none;display:flex;justify-content:space-between;gap:12px;align-items:center;padding:15px 16px;cursor:pointer}.objection-card summary::-webkit-details-marker{display:none}.objection-card summary strong{font:600 1.03rem Oswald,sans-serif}.objection-card summary span{color:var(--gold);font-size:1.25rem}.objection-card[open] summary span{transform:rotate(45deg)}.objection-body{padding:0 16px 16px;color:#aaa;font-size:.82rem;line-height:1.55}.objection-body p{margin:0 0 9px}.objection-body p:last-child{margin-bottom:0}.objection-body b{color:#eee}.objection-body ol{margin:8px 0 10px;padding-left:20px}.objection-body li{margin:5px 0}@media(max-width:900px){.four-c-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.document-item-grid{grid-template-columns:1fr}}@media(max-width:600px){.four-c-grid{grid-template-columns:1fr}.objection-callout{flex-direction:column}.objection-callout b{white-space:normal}}
/* v3.7.0 — Sales 101 dashboard + nested module navigation */
.sales101-nav-group{margin:2px 0 8px 18px;padding-left:8px;border-left:1px solid rgba(250,193,44,.18)}
.nav-item.sales101-subnav{width:calc(100% - 8px);min-height:42px;padding:9px 12px;margin:2px 0;background:transparent;border-color:transparent}
.nav-item.sales101-subnav .nav-copy{margin-left:0}.nav-item.sales101-subnav .nav-copy strong{font-size:.78rem}.nav-item.sales101-subnav .nav-copy small{font-size:.58rem;margin-top:2px;color:#666}
.nav-item.sales101-subnav.active{background:rgba(250,193,44,.10);border-color:rgba(250,193,44,.24)}
.nav-item.sales101-subnav.active .nav-copy strong{color:#fff}.nav-item.sales101-subnav.active .nav-copy small{color:var(--gold)}
.sales101-dashboard{margin-top:20px;padding:22px;border:1px solid var(--line);border-radius:22px;background:rgba(255,255,255,.02)}
.sales101-dashboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px}
.sales101-dashboard-card{appearance:none;text-align:left;color:inherit;display:grid;grid-template-columns:46px 1fr auto;gap:14px;align-items:center;padding:18px;border:1px solid var(--line);border-radius:17px;background:rgba(255,255,255,.025);cursor:pointer}
.sales101-dashboard-card:hover,.sales101-dashboard-card.ready{border-color:rgba(250,193,44,.24)}.sales101-dashboard-card:hover{transform:translateY(-1px)}
.sales101-dashboard-icon{width:46px;height:46px;border-radius:13px;display:grid;place-items:center;background:#171717;color:var(--gold);font:700 1rem Oswald,sans-serif}
.sales101-dashboard-card h4{margin:0 0 4px;font:600 1.15rem Oswald,sans-serif}.sales101-dashboard-card p{margin:0;color:#888;font-size:.75rem;line-height:1.4}.sales101-dashboard-card small{display:block;margin-top:7px;color:#666;text-transform:uppercase;font-size:.55rem;font-weight:900;letter-spacing:.09em}.sales101-dashboard-card.ready small{color:var(--gold)}.sales101-dashboard-card>b{color:#777;font-size:1.1rem}
.sales101-empty{margin-top:20px;min-height:300px;border:1px solid var(--line);border-radius:22px;background:rgba(255,255,255,.02);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:36px}.sales101-empty>span{width:58px;height:58px;border-radius:16px;display:grid;place-items:center;background:rgba(250,193,44,.10);color:var(--gold);font-size:1.4rem}.sales101-empty h3{font:600 1.5rem Oswald,sans-serif;margin:16px 0 5px}.sales101-empty p{color:#888;margin:0 0 20px}
@media(max-width:800px){.sales101-dashboard-grid{grid-template-columns:1fr}}

/* Sales 101 flashcards — v3.7.2 iPad fit + overlapping topic filters */
.flashcard-module{margin-top:14px;padding:16px 18px;border:1px solid var(--line);border-radius:22px;background:rgba(255,255,255,.02)}
.flashcard-filters{display:flex;flex-wrap:wrap;gap:7px;justify-content:center;margin:0 0 12px}.flashcard-filter{appearance:none;border:1px solid var(--line);background:#121212;color:#999;border-radius:999px;padding:7px 11px;font:700 .66rem Inter,sans-serif;cursor:pointer}.flashcard-filter span{margin-left:5px;color:#666}.flashcard-filter.active{background:rgba(250,193,44,.12);border-color:rgba(250,193,44,.38);color:#fff}.flashcard-filter.active span{color:var(--gold)}
.flashcard-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 auto 10px;width:min(100%,430px);color:#ddd;font-size:.74rem}.flashcard-toolbar b{color:var(--gold)}.flashcard-toolbar small{color:#777}
.flashcard-stage{appearance:none;display:block;width:min(100%,430px,calc((100dvh - 330px)*.7));aspect-ratio:7/10;margin:0 auto;padding:0;border:0;background:transparent;perspective:1400px;cursor:pointer}
.flashcard-inner{position:relative;display:block;width:100%;height:100%;transform-style:preserve-3d;transition:transform .48s cubic-bezier(.2,.72,.25,1)}.flashcard-stage.flipped .flashcard-inner{transform:rotateY(180deg)}
.flashcard-face{position:absolute;inset:0;display:block;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:18px;overflow:hidden;box-shadow:0 16px 42px rgba(0,0,0,.28);background:#fff}.flashcard-back{transform:rotateY(180deg)}
.flashcard-face img{display:block;width:100%;height:100%;object-fit:contain;background:#fff}
.flashcard-controls{display:flex;justify-content:center;gap:10px;margin-top:12px}.flashcard-controls button{min-width:122px;padding-top:9px;padding-bottom:9px}.flashcard-controls button:disabled{opacity:.35;cursor:not-allowed}
.standalone-mode #fullscreenButton,.standalone-mode #appointmentFullscreenButton{display:none!important}
@media(max-width:800px){.flashcard-module{padding:12px}.flashcard-filters{justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;padding-bottom:2px;-webkit-overflow-scrolling:touch}.flashcard-filter{white-space:nowrap}.flashcard-toolbar{gap:8px}.flashcard-controls{display:grid;grid-template-columns:1fr 1fr;width:min(100%,430px);margin-left:auto;margin-right:auto}.flashcard-controls button{min-width:0}}
@media(max-height:820px){.flashcards-screen .sales101-hero{padding-top:14px;padding-bottom:14px}.flashcards-screen .sales101-hero p:not(.eyebrow){margin-bottom:0}.flashcard-module{margin-top:10px}.flashcard-stage{width:min(100%,330px,calc((100dvh - 300px)*.7))}.flashcard-filters{margin-bottom:8px}.flashcard-toolbar{margin-bottom:7px}.flashcard-controls{margin-top:8px}}

/* v3.7.3 — iPad landscape property preview balance */
@media (min-width:901px) and (max-width:1400px){
  .streetview-panel{grid-template-columns:minmax(0,1.45fr) minmax(390px,.95fr)}
  .property-intel-copy{padding:24px 26px;gap:16px}
  .property-intel-heading{gap:16px}
  .property-intel-heading>div{flex:1 1 auto;min-width:0}
  .property-intel-copy h3{font-size:clamp(1.75rem,2.6vw,2.35rem);line-height:1.03;max-width:320px}
  .property-intel-copy p:not(.eyebrow){line-height:1.42}
  .property-snapshot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* v3.7.6 customer-facing product showroom */
.customer-catalog{max-width:1180px;margin:0 auto;padding-bottom:28px}.catalog-showroom-hero{display:flex;justify-content:space-between;gap:24px;align-items:flex-end;margin-bottom:18px}.catalog-showroom-hero h2{font-family:Oswald,sans-serif;font-size:clamp(2.2rem,4vw,4rem);margin:4px 0 8px;line-height:.98}.catalog-showroom-hero p{max-width:720px;color:#b7b7b7;line-height:1.55;margin:0}.catalog-mode-pill{border:1px solid rgba(214,162,14,.45);background:rgba(214,162,14,.1);color:var(--gold);font-weight:800;padding:9px 13px;border-radius:999px;white-space:nowrap}.customer-catalog-section{margin-top:22px}.customer-catalog-section-head{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-bottom:12px}.customer-catalog-section-head h3{font-family:Oswald,sans-serif;font-size:2rem;margin:2px 0 0}.customer-catalog-section-head p{color:#999;margin:0}.customer-product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.customer-product-card{background:linear-gradient(180deg,#171717,#111);border:1px solid #292929;border-radius:18px;padding:16px;display:flex;flex-direction:column;min-width:0;transition:.18s ease}.customer-product-card.selected{border-color:var(--gold);box-shadow:0 0 0 1px rgba(214,162,14,.32),0 14px 34px rgba(0,0,0,.22)}.customer-product-card-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.customer-product-card .brand{font-size:.72rem;letter-spacing:.13em;text-transform:uppercase;color:var(--gold);font-weight:900}.customer-product-card h4{font-family:Oswald,sans-serif;font-size:1.55rem;margin:4px 0 5px}.customer-product-card .product-copy{font-size:.88rem;color:#aaa;line-height:1.45;min-height:58px;margin:0 0 12px}.product-selected-mark{font-size:.72rem;font-weight:900;color:var(--gold);opacity:0}.customer-product-card.selected .product-selected-mark{opacity:1}.catalog-profile-row{display:flex;gap:7px;flex-wrap:wrap;margin:2px 0 12px}.catalog-profile-row button{border:1px solid #333;background:#1b1b1b;color:#bbb;border-radius:10px;padding:7px 9px;font-size:.78rem;font-weight:800}.catalog-profile-row button.active{border-color:var(--gold);color:var(--gold);background:rgba(214,162,14,.08)}.catalog-color-label{display:flex;justify-content:space-between;gap:10px;align-items:center;margin:5px 0 8px}.catalog-color-label span{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:#777;font-weight:900}.catalog-color-label strong{font-size:.8rem;color:#ddd}.catalog-swatches{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;margin-bottom:13px}.catalog-swatch{position:relative;aspect-ratio:1;border-radius:9px;border:2px solid transparent;padding:0;overflow:hidden;background:var(--swatch,#555);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}.catalog-swatch img{width:100%;height:100%;object-fit:cover;display:block}.catalog-swatch.active{border-color:var(--gold);box-shadow:0 0 0 2px rgba(214,162,14,.22)}.catalog-swatch:after{content:attr(title);position:absolute;inset:auto 2px 2px;opacity:0}.catalog-select-btn{margin-top:auto;width:100%;border:1px solid #3a3a3a;background:#202020;color:#eee;border-radius:11px;padding:10px;font-weight:900}.customer-product-card.selected .catalog-select-btn{background:var(--gold);color:#111;border-color:var(--gold)}.catalog-visualize-dock{position:sticky;bottom:14px;z-index:5;margin-top:18px;padding:13px 15px;border-radius:16px;background:rgba(18,18,18,.94);backdrop-filter:blur(16px);border:1px solid #333;display:flex;justify-content:space-between;align-items:center;gap:16px;box-shadow:0 16px 40px rgba(0,0,0,.35)}.catalog-visualize-dock small{display:block;color:#818181;margin-bottom:3px}.catalog-visualize-dock strong{font-size:.95rem}.catalog-visualize-dock button{white-space:nowrap}.catalog-roof-profile-preview{height:64px;margin:0 0 12px;border-radius:10px;background:linear-gradient(145deg,#353535,#191919);position:relative;overflow:hidden;border:1px solid #2c2c2c}.catalog-roof-profile-preview.grand-manor{background:repeating-linear-gradient(105deg,#3c3b39 0 31px,#242321 32px 36px,#53514e 37px 68px,#272624 69px 73px);box-shadow:inset 0 -15px 22px rgba(0,0,0,.35)}.catalog-roof-profile-preview.grand-manor:after{content:'Slate-look profile · deep shadow · random tabs';position:absolute;left:9px;bottom:7px;font-size:.68rem;color:#eee;font-weight:800;text-shadow:0 1px 2px #000}.catalog-roof-profile-preview.architectural:after{content:'Dimensional architectural profile';position:absolute;left:9px;bottom:7px;font-size:.68rem;color:#ddd;font-weight:800}
@media(max-width:1100px){.customer-product-grid{grid-template-columns:1fr 1fr}.catalog-swatches{grid-template-columns:repeat(8,minmax(0,1fr))}}
@media(max-width:820px){.customer-product-grid{grid-template-columns:1fr}.catalog-showroom-hero{align-items:flex-start}.catalog-swatches{grid-template-columns:repeat(10,minmax(0,1fr))}.catalog-visualize-dock{bottom:8px}}
/* v4 */
.sales101-badge{white-space:nowrap;margin-left:auto}.sales101-hero{align-items:center}.coming-soon-panel{min-height:420px;margin-top:18px;border:1px dashed rgba(250,193,44,.38);border-radius:24px;background:linear-gradient(135deg,rgba(250,193,44,.07),rgba(255,255,255,.02));display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:36px}.coming-soon-panel>span{color:var(--gold);font-weight:900;letter-spacing:.18em;font-size:.75rem}.coming-soon-panel h3{font:600 2.2rem Oswald,sans-serif;margin:12px 0 5px}.coming-soon-panel p{color:#888;max-width:520px}.inspection-actions{flex-wrap:wrap}

/* v4.1 company document resource grouping */
.document-resource-group{display:grid;gap:14px;margin-top:6px}.document-resource-group>.panel-heading{padding:0 2px 4px}.document-resource-group>.panel-heading h2{margin:4px 0 0}.product-resource-subsection{margin-top:0!important}.product-resource-subsection>.panel-heading{margin-bottom:10px}.product-resource-subsection>.panel-heading h3{font-size:1.15rem;color:#f5f5f3}

/* Standalone Visualizer */
body.standalone-visualizer{min-height:100vh;background:#080808;overflow-x:hidden}
.standalone-viz-header{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px max(18px,env(safe-area-inset-right)) 12px max(18px,env(safe-area-inset-left));background:rgba(8,8,8,.96);border-bottom:1px solid rgba(255,190,34,.22);backdrop-filter:blur(14px)}
.standalone-viz-brand{display:flex;align-items:center;gap:12px}.standalone-viz-brand img{width:42px;height:42px;object-fit:contain}.standalone-viz-brand div{display:flex;flex-direction:column}.standalone-viz-brand strong{font:700 18px/1.1 Inter,sans-serif;color:#fff}.standalone-viz-brand span{margin-top:2px;font:600 12px/1.2 Inter,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:#f7b91f}
.standalone-fullscreen{border:1px solid rgba(255,255,255,.18);background:#171717;color:#fff;border-radius:10px;padding:10px 14px;font-weight:800;cursor:pointer}
.standalone-hidden{display:none!important}.standalone-suite-shell{display:block!important;min-height:calc(100vh - 67px)}.standalone-viz-workspace{margin:0!important;width:100%!important;max-width:none!important;min-height:calc(100vh - 67px)!important}.standalone-viz-workspace .view-container{padding:18px max(18px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left))!important;max-width:1600px;margin:0 auto}
body.suite-fullscreen .standalone-viz-header{display:none}.suite-fullscreen .standalone-viz-workspace,.suite-fullscreen .standalone-suite-shell{min-height:100vh!important}.suite-fullscreen .standalone-viz-workspace .view-container{padding-top:max(18px,env(safe-area-inset-top))!important}
@media(max-width:800px){.standalone-viz-header{padding-top:max(10px,env(safe-area-inset-top))}.standalone-viz-brand span{font-size:10px}.standalone-viz-workspace .view-container{padding:12px!important}}

/* Standalone visualizer viewport fixes — v1.1 */
body.standalone-visualizer{
  height:auto!important;
  min-height:100dvh!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
}
.standalone-suite-shell{
  display:block!important;
  height:auto!important;
  min-height:calc(100dvh - 67px)!important;
}
.standalone-viz-workspace{
  display:block!important;
  height:auto!important;
  min-height:calc(100dvh - 67px)!important;
  width:100%!important;
  max-width:none!important;
}
.standalone-viz-workspace .view-container{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  height:auto!important;
  min-height:calc(100dvh - 67px)!important;
  overflow:visible!important;
  padding:20px 24px 28px!important;
}
.standalone-viz-workspace .design-app{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
}
.standalone-viz-workspace .design-workspace{
  width:100%!important;
  height:clamp(620px,calc(100dvh - 190px),920px)!important;
}
body.suite-fullscreen{
  overflow:hidden!important;
}
body.suite-fullscreen .standalone-viz-workspace .view-container{
  height:100dvh!important;
  min-height:100dvh!important;
  overflow:hidden!important;
  padding:18px 22px!important;
}
body.suite-fullscreen .standalone-viz-workspace .design-workspace{
  height:calc(100dvh - 105px)!important;
  min-height:0!important;
}
@media(max-width:800px){
  .standalone-viz-workspace .view-container{padding:12px!important;}
  .standalone-viz-workspace .design-workspace{height:auto!important;min-height:0!important;}
}

/* Standalone v1.2: explicit keep-existing options */
.no-change-choice{border-style:dashed}
.no-change-choice.selected{border-style:solid}

/* v1.4 — Visualizer QA / Trainer Mode */
.trainer-panel{margin:22px 0 4px;padding:22px;border:1px solid rgba(250,193,44,.34);border-radius:20px;background:linear-gradient(145deg,rgba(250,193,44,.06),rgba(255,255,255,.025));box-shadow:0 18px 50px rgba(0,0,0,.22)}
.trainer-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:18px}.trainer-heading h3{font:700 1.8rem/1.05 Oswald,sans-serif;margin:4px 0 7px}.trainer-heading p:not(.eyebrow){max-width:780px;color:#999;line-height:1.5;margin:0}.trainer-tools{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap;justify-content:flex-end}.trainer-tools label,.trainer-text-fields label{display:grid;gap:6px;color:#999;font-size:.72rem;font-weight:800}.trainer-tools input,.trainer-text-fields textarea,.trainer-text-fields select{border:1px solid #373737;background:#0a0a0a;color:#fff;border-radius:10px;padding:10px 11px;font:inherit}.trainer-tools input{width:150px}.trainer-waiting{padding:20px;border:1px dashed #3b3b3b;border-radius:14px;color:#777;text-align:center}.trainer-verdicts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:18px}.trainer-verdicts button{min-height:52px;border:1px solid #3a3a3a;background:#121212;color:#ddd;border-radius:13px;font-weight:900;font-size:.95rem}.trainer-verdicts button.selected{border-color:var(--gold);box-shadow:0 0 0 1px rgba(250,193,44,.28)}.trainer-verdicts button.pass.selected{background:rgba(58,180,104,.13);border-color:#45a96e}.trainer-verdicts button.needs-work.selected{background:rgba(250,193,44,.11)}.trainer-verdicts button.fail.selected{background:rgba(220,72,72,.12);border-color:#b84e4e}.trainer-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:20px}.trainer-label{display:block;color:#999;font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em;margin-bottom:9px}.trainer-issues{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.trainer-issue{display:flex;align-items:center;gap:9px;min-height:44px;border:1px solid #303030;background:#101010;border-radius:11px;padding:9px 11px;color:#bbb;font-size:.78rem;font-weight:750;cursor:pointer}.trainer-issue input{accent-color:#fac12c}.trainer-issue.selected{border-color:rgba(250,193,44,.55);background:rgba(250,193,44,.07);color:#fff}.trainer-text-fields{display:grid;gap:11px}.trainer-text-fields textarea{min-height:80px;resize:vertical;line-height:1.45}.trainer-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:18px;padding-top:16px;border-top:1px solid #2c2c2c;flex-wrap:wrap}.trainer-actions>span{margin-right:auto;color:#777;font-size:.75rem}.trainer-actions .primary,.trainer-actions .secondary{min-height:44px}@media(max-width:900px){.trainer-heading{flex-direction:column}.trainer-tools{justify-content:flex-start}.trainer-grid{grid-template-columns:1fr}.trainer-issues{grid-template-columns:1fr}.trainer-verdicts{grid-template-columns:1fr}.trainer-actions{align-items:stretch}.trainer-actions>span{width:100%}}


/* Visualizer Lab v1.34 — native aspect-ratio / no-crop display
   This block intentionally comes LAST so legacy compare-stage "cover" rules cannot win. */
.design-image-stage,
.compare-stage {
  background: #050505;
}

.design-image-stage > img,
.compare-stage .compare-before,
.compare-stage .compare-after {
  object-fit: contain !important;
  object-position: center center !important;
}

/* The after image must use the full comparison-stage coordinate system even though
   its wrapper is clipped by the slider. This keeps Before and After pixel-aligned. */
.compare-after-wrap {
  overflow: hidden;
}
.compare-after-wrap .compare-after {
  position: absolute;
  left: 0;
  top: 0;
  width: var(--compare-stage-width, 100%) !important;
  height: var(--compare-stage-height, 100%) !important;
  max-width: none;
  object-fit: contain !important;
  object-position: center center !important;
}

/* Letterboxing is intentional for portrait/square uploads in the landscape workspace.
   Never zoom/crop a source photo merely to fill the visualizer card. */


/* Visualizer Lab v1.35 — adaptive photo stage
   The CARD adopts the source photo aspect ratio, instead of placing the full photo
   inside a permanently landscape card with large letterbox bars. */
.design-canvas {
  place-items: center;
}
.design-image-stage,
.compare-stage {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  aspect-ratio: var(--photo-aspect, 16/9);
  min-height: 0 !important;
  flex: none;
}
.design-image-stage > img,
.compare-stage .compare-before,
.compare-stage .compare-after {
  width: 100%;
  height: 100%;
  object-fit: contain !important;
  object-position: center center !important;
}

/* Temporary JobNimbus photo API proof-of-concept */
.jn-photo-test-panel{border-color:rgba(250,193,44,.34);background:linear-gradient(180deg,rgba(250,193,44,.055),rgba(255,255,255,.012))}
.jn-photo-test-details{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:16px 0}
.jn-photo-test-details span{min-width:0;padding:12px 14px;border:1px solid #2f2f2f;border-radius:12px;background:#111;color:#8f8f8f;font-size:.76rem}
.jn-photo-test-details b{display:block;margin-top:5px;color:#fff;font-size:.8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.jn-photo-test-result{margin-top:16px;padding:14px 16px;border-radius:13px;border:1px solid #333;background:#101010}
.jn-photo-test-result strong,.jn-photo-test-result small,.jn-photo-test-result span{display:block}
.jn-photo-test-result strong{color:#fff;margin-bottom:5px}.jn-photo-test-result small{color:#aaa;line-height:1.45}.jn-photo-test-result div{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.jn-photo-test-result span{padding:7px 9px;border-radius:9px;background:#171717;color:#bbb;font-size:.72rem}
.jn-photo-test-result.running{border-color:rgba(250,193,44,.35)}.jn-photo-test-result.success{border-color:rgba(52,211,153,.4)}.jn-photo-test-result.success strong{color:#72e5b2}.jn-photo-test-result.error{border-color:rgba(248,113,113,.45)}.jn-photo-test-result.error strong{color:#ff9c9c}
@media(max-width:900px){.jn-photo-test-details{grid-template-columns:1fr}}

/* v5.26 guided inspection photo workflow */
.inspection-photo-workspace{grid-column:1/-1}
.inspection-photo-workspace-help{margin:-2px 0 18px;color:var(--muted);max-width:920px;line-height:1.55}
.inspection-photo-section-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-bottom:18px}
.inspection-photo-section-card{min-height:72px;border:1px solid var(--border);border-radius:14px;background:rgba(255,255,255,.035);color:var(--text);text-align:left;padding:12px 14px;display:flex;flex-direction:column;justify-content:center;gap:5px;cursor:pointer}
.inspection-photo-section-card span{font-weight:800;font-size:15px}
.inspection-photo-section-card small{color:var(--muted);font-size:11px}
.inspection-photo-section-card.active{border-color:var(--gold);background:rgba(255,191,0,.09);box-shadow:inset 0 0 0 1px rgba(255,191,0,.15)}
.inspection-photo-section-card.active small{color:#e6cf86}
.inspection-photo-section-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:14px;border-top:1px solid var(--border);margin-bottom:14px}
.inspection-photo-section-head h4{font-size:22px;margin:3px 0 0}
.inspection-photo-grid.detailed{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.inspection-photo-card{margin:0;border:1px solid var(--border);border-radius:14px;overflow:hidden;background:rgba(255,255,255,.025)}
.inspection-photo-card.customer-selected{border-color:rgba(255,191,0,.75);box-shadow:inset 0 0 0 1px rgba(255,191,0,.18)}
.inspection-photo-image-wrap{position:relative;aspect-ratio:4/3;background:#0b0b0b;overflow:hidden}
.inspection-photo-image-wrap img{width:100%;height:100%;object-fit:cover;display:block;cursor:zoom-in}
.inspection-photo-star,.inspection-photo-remove{position:absolute;top:9px;width:38px;height:38px;border-radius:999px;border:1px solid rgba(255,255,255,.3);backdrop-filter:blur(8px);display:grid;place-items:center;font-size:22px;cursor:pointer}
.inspection-photo-star{left:9px;background:rgba(8,8,8,.72);color:#fff}
.inspection-photo-star.selected{background:var(--gold);color:#111;border-color:var(--gold)}
.inspection-photo-remove{right:9px;background:rgba(8,8,8,.72);color:#fff;font-size:20px}
.inspection-photo-meta{padding:11px 12px 12px;display:grid;gap:7px}
.inspection-photo-meta strong{font-size:13px}
.inspection-photo-meta textarea{width:100%;min-height:58px;resize:vertical;background:rgba(255,255,255,.045);border:1px solid var(--border);color:var(--text);border-radius:9px;padding:9px 10px;font:inherit;font-size:12px;line-height:1.35}
.inspection-photo-meta small{font-size:10px;color:var(--muted)}
.inspection-photo-card.customer-selected .inspection-photo-meta small{color:#e9ca63}
.inspection-photo-empty{min-height:140px;border:1px dashed var(--border);border-radius:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:5px;color:var(--muted)}
.inspection-photo-empty strong{color:var(--text)}
.inspection-customer-photo-section{margin-top:14px}
.inspection-review-photo-button{position:relative;overflow:hidden}
.inspection-review-photo-button span{display:block;padding:8px 10px;text-align:left;font-size:11px;line-height:1.35;color:var(--muted)}
@media (max-width:1100px){
  .inspection-photo-section-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .inspection-photo-grid.detailed{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:700px){
  .inspection-photo-section-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .inspection-photo-grid.detailed{grid-template-columns:1fr}
  .inspection-photo-section-head{align-items:flex-start;flex-direction:column}
}

/* v5.30 inspection photo annotation */
.inspection-photo-meta-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.inspection-photo-annotate{border:1px solid rgba(255,191,0,.45);background:rgba(255,191,0,.08);color:#e7c65a;border-radius:8px;padding:6px 9px;font-size:10px;font-weight:800;cursor:pointer}
.inspection-annotation-modal[hidden]{display:none!important}
.inspection-annotation-modal{position:fixed;inset:0;z-index:10050;background:rgba(0,0,0,.94);display:grid;place-items:center;padding:14px}
.inspection-annotation-editor{width:min(1200px,100%);height:min(94vh,920px);display:grid;grid-template-rows:auto 1fr auto;gap:10px}
.inspection-annotation-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.inspection-annotation-tools,.inspection-annotation-actions{display:flex;gap:8px;flex-wrap:wrap}
.inspection-annotation-toolbar button{min-height:42px;border-radius:10px;border:1px solid rgba(255,255,255,.18);background:#202020;color:#fff;padding:8px 13px;font-weight:800}
.inspection-annotation-toolbar [data-annotation-tool].active{background:#f4c431;color:#111;border-color:#f4c431}
.inspection-annotation-stage{min-height:0;overflow:auto;-webkit-overflow-scrolling:touch;display:grid;place-items:center;background:#090909;border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:8px}
#inspectionAnnotationCanvas{display:block;max-width:100%;max-height:100%;width:auto;height:auto;touch-action:none;cursor:crosshair;border-radius:8px}
.inspection-annotation-hint{text-align:center;color:#aaa;font-size:11px}
body.annotation-open{overflow:hidden}
@media(max-width:700px){.inspection-annotation-modal{padding:8px}.inspection-annotation-editor{height:98vh}.inspection-annotation-tools{width:100%}.inspection-annotation-tools button{flex:1}}

/* v5.31 inspection photo interaction hardening */
.inspection-photo-section-card{position:relative;z-index:2;touch-action:manipulation;-webkit-tap-highlight-color:rgba(255,191,0,.18)}
.inspection-photo-section-card:active{transform:scale(.985)}
.inspection-photo-actions-row{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.inspection-photo-action{min-height:38px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.055);color:#fff;border-radius:9px;padding:8px 10px;font-size:11px;font-weight:850;text-align:center}
.inspection-photo-action.annotate{border-color:rgba(255,191,0,.48);background:rgba(255,191,0,.09);color:#eacb68}
.inspection-photo-meta textarea{display:block!important;min-height:76px!important;font-size:16px!important}
@media(max-width:700px){.inspection-photo-actions-row{grid-template-columns:1fr 1fr}.inspection-photo-action{min-height:44px}}

/* v5.32 — inspection action + annotation interaction fix */
.inspection-actions{
  position:relative;
  z-index:20;
  pointer-events:auto!important;
}
.inspection-actions button{
  position:relative;
  z-index:21;
  pointer-events:auto!important;
  touch-action:manipulation;
  min-height:48px;
}
.inspection-photo-card,
.inspection-photo-image-wrap,
.inspection-photo-meta{
  pointer-events:auto;
}
.inspection-photo-markup-overlay{
  position:absolute;
  left:56px;
  top:9px;
  width:38px;
  height:38px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.3);
  background:rgba(8,8,8,.72);
  color:#ffd02f;
  display:grid;
  place-items:center;
  font-size:18px;
  font-weight:900;
  z-index:4;
  touch-action:manipulation;
}
.inspection-photo-star,.inspection-photo-remove{z-index:4}
.inspection-photo-action{touch-action:manipulation;pointer-events:auto!important}
.inspection-annotation-modal{
  pointer-events:auto!important;
  touch-action:none;
}
.inspection-annotation-editor,
.inspection-annotation-toolbar,
.inspection-annotation-stage{
  pointer-events:auto!important;
}
#inspectionAnnotationCanvas{
  pointer-events:auto!important;
  touch-action:none!important;
  -webkit-user-select:none;
  user-select:none;
}

/* v5.33 — reliable section tabs + annotation colors */
.inspection-photo-section-grid{position:relative;z-index:30;pointer-events:auto!important}
.inspection-photo-section-card{
  z-index:31!important;
  pointer-events:auto!important;
  touch-action:manipulation!important;
  cursor:pointer;
}
.annotation-color-options{display:flex;align-items:center;gap:6px;padding:0 3px}
.inspection-annotation-toolbar .annotation-color{
  width:34px;height:34px;min-height:34px;padding:0;border-radius:999px;
  background:#ffd02f;border:2px solid rgba(255,255,255,.35);
}
.inspection-annotation-toolbar .annotation-color.red{background:#ff3b30}
.inspection-annotation-toolbar .annotation-color.blue{background:#168cff}
.inspection-annotation-toolbar .annotation-color.white{background:#fff}
.inspection-annotation-toolbar .annotation-color.active{box-shadow:0 0 0 3px #111,0 0 0 5px #fff}

/* v5.34 — persistent photo descriptions */
.inspection-photo-description-label{
  display:block;
  margin-top:2px;
  font-size:11px;
  font-weight:850;
  color:#f0d274;
  letter-spacing:.015em;
}
.inspection-photo-meta textarea{
  border-color:rgba(255,191,0,.32)!important;
  background:rgba(0,0,0,.22)!important;
}

/* v5.35 — make notes impossible to miss */
.inspection-photo-actions-row.single{
  grid-template-columns:1fr!important;
}
.inspection-photo-description-block{
  position:relative;
  display:grid;
  gap:7px;
  margin-top:7px;
  padding:11px 0 0;
  border-top:1px solid rgba(255,255,255,.09);
}
.inspection-photo-description-label{
  position:relative;
  display:block!important;
  font-size:12px!important;
  line-height:1.2;
  font-weight:900!important;
  color:#f4d36c!important;
}
.inspection-photo-description-block textarea{
  position:relative!important;
  display:block!important;
  width:100%!important;
  min-height:96px!important;
  box-sizing:border-box!important;
  z-index:2!important;
  padding:12px!important;
  margin:0!important;
  font-size:16px!important;
  line-height:1.4!important;
  color:#fff!important;
  background:#101010!important;
  border:1px solid rgba(255,191,0,.42)!important;
  border-radius:10px!important;
}
#inspectionAnnotationModal{
  z-index:25000!important;
  isolation:isolate;
}

/* v5.36 annotation toolbar event fix */
.inspection-annotation-toolbar{
  position:relative;
  z-index:20;
  pointer-events:auto!important;
}
.inspection-annotation-toolbar button,
.inspection-annotation-toolbar .annotation-color-options{
  position:relative;
  z-index:21;
  pointer-events:auto!important;
  touch-action:manipulation!important;
}
.inspection-annotation-stage{
  position:relative;
  z-index:1;
}

/* v5.37 — annotation photo fit-to-screen */
.inspection-annotation-stage{
  overflow:hidden!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:8px!important;
}
#inspectionAnnotationCanvas{
  max-width:none!important;
  max-height:none!important;
  width:auto;
  height:auto;
  flex:0 0 auto;
  transform:none!important;
  transform-origin:center center;
}

/* v5.38 — visible photo descriptions + annotation thickness */
.inspection-photo-description-block{
  display:grid!important;
  gap:8px!important;
  padding:12px!important;
  margin-top:8px!important;
  border:1px solid rgba(255,191,0,.28)!important;
  border-radius:11px!important;
  background:rgba(255,191,0,.045)!important;
}
.inspection-photo-description-heading{
  display:flex;align-items:center;gap:9px;
}
.inspection-photo-description-heading>span{
  width:30px;height:30px;border-radius:8px;background:rgba(255,191,0,.14);color:#f0ca55;
  display:grid;place-items:center;font-weight:900;
}
.inspection-photo-description-heading div{display:grid;gap:2px}
.inspection-photo-description-heading strong{font-size:12px;color:#f3d370}
.inspection-photo-description-heading small{font-size:10px;color:var(--muted)}
.inspection-photo-description-block textarea{
  display:block!important;width:100%!important;min-height:96px!important;
  box-sizing:border-box!important;padding:12px!important;font-size:16px!important;line-height:1.4!important;
  background:#101010!important;color:#fff!important;border:1px solid rgba(255,191,0,.36)!important;border-radius:9px!important;
}
.annotation-thickness-options{display:flex;align-items:center;gap:5px;padding:0 2px}
.inspection-annotation-toolbar .annotation-thickness{
  width:38px;height:34px;min-height:34px;padding:0;display:grid;place-items:center;
}
.annotation-thickness i{display:block;width:22px;border-radius:999px;background:#fff}
.annotation-thickness[data-annotation-thickness="thin"] i{height:2px}
.annotation-thickness[data-annotation-thickness="medium"] i{height:5px}
.annotation-thickness[data-annotation-thickness="thick"] i{height:9px}
.annotation-thickness.active{background:#f4c431!important;border-color:#f4c431!important}
.annotation-thickness.active i{background:#111}

/* v5.39 — inspection photo card redesign */
.inspection-photo-card{
  overflow:hidden!important;
  display:block!important;
  background:rgba(255,255,255,.025)!important;
  border:1px solid var(--border)!important;
  border-radius:14px!important;
}
.inspection-photo-card.customer-selected{
  border-color:rgba(255,191,0,.7)!important;
  box-shadow:inset 0 0 0 1px rgba(255,191,0,.14)!important;
}
.inspection-photo-image-wrap.clean{
  position:relative!important;
  aspect-ratio:4/3!important;
  overflow:hidden!important;
  background:#0a0a0a!important;
}
.inspection-photo-image-wrap.clean img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  cursor:zoom-in!important;
}
.inspection-photo-card-body{
  display:grid!important;
  gap:12px!important;
  padding:13px!important;
}
.inspection-photo-card-title{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
}
.inspection-photo-card-title>div{
  display:grid!important;
  gap:2px!important;
}
.inspection-photo-card-title strong{
  font-size:13px!important;
  color:var(--text)!important;
}
.inspection-photo-card-title small{
  font-size:10px!important;
  color:var(--muted)!important;
}
.inspection-photo-marked-badge{
  border:1px solid rgba(255,191,0,.35)!important;
  background:rgba(255,191,0,.08)!important;
  color:#e7c55d!important;
  border-radius:999px!important;
  padding:5px 8px!important;
  font-size:9px!important;
  font-weight:850!important;
  text-transform:uppercase!important;
  letter-spacing:.04em!important;
}
.inspection-photo-actionbar{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:7px!important;
}
.inspection-photo-bar-button{
  position:relative!important;
  min-height:44px!important;
  border:1px solid rgba(255,255,255,.13)!important;
  border-radius:9px!important;
  background:rgba(255,255,255,.045)!important;
  color:#fff!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  padding:8px 9px!important;
  font-size:10px!important;
  font-weight:850!important;
  touch-action:manipulation!important;
  pointer-events:auto!important;
}
.inspection-photo-bar-button.selected{
  border-color:rgba(255,191,0,.55)!important;
  background:rgba(255,191,0,.12)!important;
  color:#f1d16f!important;
}
.inspection-photo-bar-button.danger{
  color:#e8b2b2!important;
}
.inspection-photo-bar-icon{
  font-size:16px!important;
  line-height:1!important;
  width:18px!important;
  text-align:center!important;
}
.inspection-photo-description-block.visible{
  display:grid!important;
  visibility:visible!important;
  opacity:1!important;
  position:relative!important;
  width:100%!important;
  box-sizing:border-box!important;
  gap:9px!important;
  padding:12px!important;
  margin:0!important;
  border:1px solid rgba(255,191,0,.30)!important;
  border-radius:10px!important;
  background:rgba(255,191,0,.045)!important;
  overflow:visible!important;
}
.inspection-photo-description-heading{
  display:flex!important;
  align-items:center!important;
  gap:9px!important;
}
.inspection-photo-description-icon{
  width:30px!important;
  height:30px!important;
  flex:0 0 30px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:8px!important;
  background:rgba(255,191,0,.13)!important;
  color:#e8c557!important;
  font-size:14px!important;
}
.inspection-photo-description-heading>div{
  display:grid!important;
  gap:2px!important;
}
.inspection-photo-description-heading strong{
  display:block!important;
  font-size:12px!important;
  color:#f1d16c!important;
}
.inspection-photo-description-heading small{
  display:block!important;
  font-size:10px!important;
  color:var(--muted)!important;
}
.inspection-photo-description-block.visible textarea{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  position:relative!important;
  width:100%!important;
  min-width:0!important;
  min-height:100px!important;
  height:auto!important;
  box-sizing:border-box!important;
  padding:12px!important;
  margin:0!important;
  border:1px solid rgba(255,191,0,.38)!important;
  border-radius:9px!important;
  background:#101010!important;
  color:#fff!important;
  font-size:16px!important;
  line-height:1.4!important;
  resize:vertical!important;
  z-index:2!important;
  pointer-events:auto!important;
}
/* Old overlay controls are no longer part of the rendered card. */
.inspection-photo-star,
.inspection-photo-remove,
.inspection-photo-markup-overlay{
  display:none!important;
}
@media(max-width:700px){
  .inspection-photo-actionbar{grid-template-columns:1fr!important}
  .inspection-photo-bar-button{justify-content:flex-start!important;padding-left:14px!important}
}

/* v5.41 — FIX legacy inspection-photo-grid rules clipping the redesigned card */

/* Old rule was:
   .inspection-photo-grid figure { aspect-ratio:4/3; overflow:hidden; }
   That clipped everything below the image. */
.inspection-photo-grid.detailed > figure.inspection-photo-card{
  position:relative!important;
  aspect-ratio:auto!important;
  height:auto!important;
  min-height:0!important;
  overflow:visible!important;
  display:block!important;
  border-radius:14px!important;
}

/* Keep only the IMAGE at 4:3. The card itself must grow vertically. */
.inspection-photo-grid.detailed .inspection-photo-image-wrap.clean{
  position:relative!important;
  width:100%!important;
  aspect-ratio:4/3!important;
  height:auto!important;
  overflow:hidden!important;
  border-radius:14px 14px 0 0!important;
}

/* Old rule was:
   .inspection-photo-grid button { position:absolute; right:7px; top:7px; width:30px; height:30px; ... }
   It was turning every new action-bar button into a floating circle. */
.inspection-photo-grid.detailed .inspection-photo-card .inspection-photo-actionbar button,
.inspection-photo-grid.detailed .inspection-photo-card .inspection-photo-bar-button{
  position:static!important;
  inset:auto!important;
  top:auto!important;
  right:auto!important;
  bottom:auto!important;
  left:auto!important;
  width:auto!important;
  height:auto!important;
  min-width:0!important;
  min-height:44px!important;
  border-radius:9px!important;
  font-size:10px!important;
}

/* Ensure the complete body actually participates in layout. */
.inspection-photo-grid.detailed .inspection-photo-card-body{
  position:relative!important;
  display:grid!important;
  visibility:visible!important;
  opacity:1!important;
  width:100%!important;
  height:auto!important;
  overflow:visible!important;
  box-sizing:border-box!important;
}

/* Explicitly surface the note card and textarea. */
.inspection-photo-grid.detailed .inspection-photo-description-block.visible{
  display:grid!important;
  visibility:visible!important;
  opacity:1!important;
  position:relative!important;
  width:100%!important;
  height:auto!important;
  overflow:visible!important;
}

.inspection-photo-grid.detailed .inspection-photo-description-block.visible textarea{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  position:relative!important;
  width:100%!important;
  height:100px!important;
  min-height:100px!important;
  max-height:none!important;
}

/* The new card should not inherit the old grid image corner radius on all four corners. */
.inspection-photo-grid.detailed .inspection-photo-image-wrap.clean img{
  border-radius:0!important;
}

/* v5.51 — Completed Roofs photo gallery */
.project-gallery{padding:4px 0 30px}
.project-gallery-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin:0 0 18px}
.project-gallery-head h3{margin:4px 0 0;font-size:clamp(1.65rem,2.5vw,2.35rem)}
.project-gallery-head p{margin:0;color:var(--muted,#aaa);font-weight:650}
.gallery-eyebrow{font-size:.72rem;font-weight:900;letter-spacing:.16em;color:#fac12c}
.project-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.project-gallery-card{appearance:none;border:1px solid rgba(250,193,44,.22);padding:0;background:#111;border-radius:18px;overflow:hidden;aspect-ratio:4/3;cursor:pointer;box-shadow:0 12px 28px rgba(0,0,0,.22)}
.project-gallery-card img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .2s ease}
.project-gallery-card:hover img{transform:scale(1.025)}
.project-gallery-lightbox{position:fixed;inset:0;z-index:9999;display:none;align-items:center;justify-content:center;background:rgba(0,0,0,.92);padding:40px 80px}
.project-gallery-lightbox.open{display:flex}
.project-gallery-lightbox>img{max-width:100%;max-height:88vh;object-fit:contain;border-radius:16px;box-shadow:0 24px 70px rgba(0,0,0,.55)}
.gallery-close,.gallery-nav{position:absolute;appearance:none;border:1px solid rgba(255,255,255,.2);background:rgba(15,15,15,.78);color:#fff;display:grid;place-items:center;cursor:pointer}
.gallery-close{top:22px;right:26px;width:50px;height:50px;border-radius:50%;font-size:2rem}
.gallery-nav{top:50%;transform:translateY(-50%);width:54px;height:70px;border-radius:18px;font-size:2.6rem}
.gallery-prev{left:18px}.gallery-next{right:18px}
.gallery-count{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);padding:8px 13px;border-radius:999px;background:rgba(0,0,0,.7);color:#fff;font-weight:800}
@media(max-width:1000px){.project-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.project-gallery-grid{grid-template-columns:1fr}.project-gallery-head{align-items:start;flex-direction:column}.project-gallery-lightbox{padding:70px 12px}.gallery-nav{width:44px;height:58px}.gallery-prev{left:8px}.gallery-next{right:8px}}


/* v5.53 — employee refinement pass */
/* The brand is already persistent in the upper-left sidebar. */
.workspace-header .avatar{display:none!important;}
/* Settings cards should size to their own content instead of matching the taller integrations card. */
.settings-screen .project-dashboard-grid{align-items:start;}
.settings-screen .project-dashboard-grid>.project-panel{align-self:start;}
/* Product Resources now has clear comparison and documentation subsections. */
.product-resources-section>.panel-heading{margin-bottom:10px;}
.product-resource-subsection{padding-top:18px;margin-top:18px;border-top:1px solid rgba(255,255,255,.08);}
.product-resource-subsection:first-of-type{padding-top:8px;margin-top:0;border-top:0;}
.product-resource-heading h4{margin:0;font:600 1.2rem Oswald,sans-serif;color:#f5f5f3;}
.product-resource-heading p{margin:5px 0 0;color:#777;font-size:.76rem;line-height:1.45;}

/* v5.54 — Product Resources hierarchy */
.product-resources-section>.panel-heading{padding-bottom:6px!important;margin-bottom:0!important}
.product-resource-heading h4{font-size:1.75rem!important;line-height:1.1!important;margin:0!important}
.product-resource-heading p{margin-top:7px!important}

/* v5.54 — Employee Playbook inspection photo standards */
.inspection-playbook{max-width:1220px}
.inspection-guide-section{margin-top:20px;padding:22px;border:1px solid var(--line);border-radius:22px;background:rgba(255,255,255,.02)}
.inspection-guide-section+.inspection-guide-section{margin-top:16px}
.inspection-guide-heading h3{margin:0;font:600 1.8rem Oswald,sans-serif}
.inspection-guide-heading p{margin:5px 0 0;color:#888;font-size:.8rem}
.inspection-guide-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:16px}
.inspection-guide-card{border:1px solid var(--line);border-radius:15px;background:rgba(255,255,255,.025);overflow:hidden}
.inspection-guide-card[open]{border-color:rgba(250,193,44,.28)}
.inspection-guide-card summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;cursor:pointer}
.inspection-guide-card summary::-webkit-details-marker{display:none}
.inspection-guide-card summary strong{font:600 1.05rem Oswald,sans-serif}
.inspection-guide-card summary span{color:var(--gold);font-size:1.25rem}
.inspection-guide-card[open] summary span{transform:rotate(45deg)}
.inspection-guide-card ul{margin:0;padding:0 18px 16px 35px;color:#bbb;display:grid;gap:6px;font-size:.78rem;line-height:1.4}
.inspection-guide-card li::marker{color:var(--gold)}
@media(max-width:800px){.inspection-guide-grid{grid-template-columns:1fr}}

/* v5.56 — Employee Playbook inspection tabs */
.inspection-guide-tabs{display:flex;gap:8px;margin-top:20px;padding:5px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.025);width:max-content;max-width:100%}
.inspection-guide-tab{appearance:none;border:0;border-radius:11px;background:transparent;color:#999;padding:11px 18px;font:600 .95rem Oswald,sans-serif;letter-spacing:.01em;cursor:pointer;transition:background .16s ease,color .16s ease,box-shadow .16s ease}
.inspection-guide-tab:hover{color:#eee;background:rgba(255,255,255,.04)}
.inspection-guide-tab.active{background:var(--gold);color:#111;box-shadow:0 4px 14px rgba(0,0,0,.18)}
.inspection-guide-tabs+.inspection-guide-section{margin-top:12px}
@media(max-width:600px){.inspection-guide-tabs{width:100%}.inspection-guide-tab{flex:1;padding:10px 12px}}

/* v5.57 — native Service Finance appointment experience */
.finance-module{max-width:1240px;padding-bottom:34px}
.finance-hero{padding:8px 0 22px;border-bottom:1px solid var(--line)}
.finance-eyebrow{display:inline-block;color:var(--gold);font-size:.72rem;font-weight:900;letter-spacing:.18em;margin-bottom:12px}
.finance-hero-row{display:flex;align-items:flex-end;justify-content:space-between;gap:30px}
.finance-hero h2{font:600 clamp(2.8rem,5vw,5.2rem)/.96 Oswald,sans-serif;letter-spacing:-.035em;margin:0;max-width:720px}
.finance-hero p{color:#9b9b9b;line-height:1.55;max-width:650px;margin:16px 0 0;font-size:.9rem}
.finance-provider{flex:0 0 auto;min-width:230px;padding:15px 18px;border:1px solid rgba(250,193,44,.28);border-radius:16px;background:linear-gradient(135deg,rgba(250,193,44,.09),rgba(255,255,255,.02));text-align:right}
.finance-provider span{display:block;color:#777;font-size:.6rem;font-weight:900;letter-spacing:.12em}
.finance-provider strong{display:block;color:var(--gold);font:600 1.4rem Oswald,sans-serif;margin-top:4px}
.finance-provider small{color:#888;font-size:.65rem}
.finance-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:20px 0}
.finance-tab{appearance:none;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.025);color:#999;padding:15px 18px;text-align:left;cursor:pointer;transition:.16s}
.finance-tab:hover{border-color:rgba(250,193,44,.28);background:rgba(250,193,44,.04)}
.finance-tab strong{display:block;font:600 1.15rem Oswald,sans-serif;color:#eee}
.finance-tab span{display:block;font-size:.72rem;margin-top:3px;color:#777}
.finance-tab.active{border-color:rgba(250,193,44,.58);background:linear-gradient(135deg,rgba(250,193,44,.16),rgba(250,193,44,.04));box-shadow:inset 0 0 0 1px rgba(250,193,44,.08)}
.finance-tab.active strong{color:var(--gold)}
.finance-tab.active span{color:#aaa}
.finance-plan-section{border:1px solid var(--line);border-radius:22px;background:rgba(255,255,255,.018);padding:22px}
.finance-section-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:16px}
.finance-section-head span{color:var(--gold);font-size:.64rem;font-weight:900;letter-spacing:.14em}
.finance-section-head h3{font:600 1.8rem Oswald,sans-serif;margin:4px 0 0}
.finance-section-head p{max-width:450px;color:#858585;font-size:.75rem;line-height:1.45;margin:0;text-align:right}
.finance-plan-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.finance-plan-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.finance-plan-card{position:relative;min-width:0;padding:18px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(145deg,#171717,#111);cursor:pointer;transition:border-color .18s ease,background .18s ease,box-shadow .18s ease}
.finance-plan-card.selected{border-color:rgba(250,193,44,.72);background:linear-gradient(145deg,rgba(250,193,44,.13),#15130d 70%);box-shadow:0 0 0 1px rgba(250,193,44,.08) inset}
.finance-plan-top{display:flex;justify-content:space-between;align-items:center;gap:8px}
.finance-plan-badge{display:inline-flex;padding:5px 8px;border-radius:999px;background:rgba(250,193,44,.1);color:var(--gold);font-size:.56rem;font-weight:900;letter-spacing:.09em}
.finance-plan-number{color:#666;font-size:.56rem;font-weight:800;letter-spacing:.08em}
.finance-plan-focus{font:700 clamp(2.5rem,4vw,4.4rem)/1 Oswald,sans-serif;color:#fff;margin:18px 0 2px;letter-spacing:-.03em}
.finance-plan-card h3{font:600 1.2rem Oswald,sans-serif;margin:0 0 8px}
.finance-plan-card>p{min-height:38px;color:#929292;font-size:.72rem;line-height:1.45;margin:0 0 15px}
.finance-plan-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding-top:13px;border-top:1px solid rgba(255,255,255,.07)}
.finance-plan-details>div{min-width:0}
.finance-plan-details span{display:block;color:#666;font-size:.55rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em}
.finance-plan-details strong{display:block;color:#ddd;font-size:.68rem;line-height:1.3;margin-top:3px;overflow-wrap:anywhere}
.finance-plan-details>div:last-child:nth-child(3){grid-column:1/-1}
.finance-notes{display:grid;grid-template-columns:auto 1fr;gap:14px;margin-top:14px;padding:17px 18px;border:1px solid rgba(250,193,44,.18);border-radius:18px;background:rgba(250,193,44,.035)}
.finance-note-icon{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--gold);color:#111;font-weight:950;font-family:serif}
.finance-notes h3{font:600 1.15rem Oswald,sans-serif;margin:0 0 5px}
.finance-notes p{margin:4px 0;color:#aaa;font-size:.68rem;line-height:1.45}
.finance-notes small{display:block;margin-top:8px;color:#777;font-size:.61rem;line-height:1.45}
@media(max-width:980px){
  .finance-hero-row{align-items:flex-start}.finance-provider{display:none}
  .finance-plan-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
  .finance-plan-card{padding:15px}
  .finance-plan-details{grid-template-columns:1fr}
  .finance-plan-details>div:last-child:nth-child(3){grid-column:auto}
}
@media(max-width:760px){
  .finance-tabs,.finance-plan-grid,.finance-plan-grid.three{grid-template-columns:1fr}
  .finance-section-head{align-items:flex-start;flex-direction:column;gap:7px}
  .finance-section-head p{text-align:left}
}

/* v5.58 — combined visualizer keeps existing-material choices as full-width first rows */
.visualizer-both .brand-choice-grid .no-change-choice{grid-column:1/-1}

/* v5.61 — Sales 101 presentation + Trevor's Tips */
.training-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.training-panel{position:relative;border:1px solid var(--line);border-radius:20px;background:linear-gradient(145deg,#171717,#111);padding:22px;min-width:0}
.training-kicker{display:block;color:var(--yellow);font-size:12px;font-weight:900;letter-spacing:.13em;margin-bottom:14px}
.training-tip{padding:14px 0;border-top:1px solid rgba(255,255,255,.08)}
.training-tip:first-of-type{border-top:0;padding-top:2px}
.training-tip h3,.closing-step h3{margin:0 0 6px;font-size:17px;color:#fff}
.training-tip p,.closing-step p,.training-remember p{margin:0;color:var(--muted);line-height:1.55}
.training-question-list{display:grid;gap:7px;margin-top:10px}
.training-question-list span{display:block;padding:9px 11px;border-radius:11px;background:rgba(255,255,255,.045);color:#fff;font-weight:700}
.training-callout{display:flex;flex-direction:column;gap:5px;padding:16px 18px;border:1px solid rgba(255,255,255,.11);border-radius:16px;background:rgba(255,255,255,.04);margin:16px 0}
.training-callout strong{font-size:17px;color:#fff}.training-callout span{color:var(--muted);line-height:1.5}
.training-callout-gold{border-color:rgba(250,193,44,.45);background:rgba(250,193,44,.08)}
.training-callout-gold strong{color:var(--yellow)}
.training-remember{margin-top:18px;padding:22px;border:1px solid rgba(250,193,44,.32);border-radius:20px;background:linear-gradient(145deg,rgba(250,193,44,.08),#121212)}
.training-remember h3{font-size:22px;margin:0 0 8px}.training-avoid{margin-top:14px;color:var(--muted);line-height:1.55}.training-avoid strong{color:#fff}
.closing-flow{display:grid;gap:18px}
.closing-step{padding-left:76px}
.closing-step-number{position:absolute;left:22px;top:22px;width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:var(--yellow);color:#111;font-weight:950}
.training-script{font-size:20px;font-weight:850;line-height:1.4;color:#fff;border-left:3px solid var(--yellow);padding:12px 0 12px 16px;margin:16px 0}
@media(max-width:900px){.training-grid{grid-template-columns:1fr}.closing-step{padding-left:70px}}

/* v5.62 — customer reference layout */
.references-module{display:grid;gap:20px}
.references-intro{padding:4px 2px 0}.references-intro h2{font:700 clamp(2rem,4vw,3.6rem)/1 Oswald,sans-serif;margin:5px 0 10px}.references-intro>p:last-child{color:#8d8d8d;max-width:760px;line-height:1.5}
.reference-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.reference-card{border:1px solid var(--line);border-radius:20px;background:linear-gradient(145deg,#171717,#111);padding:18px;min-width:0}
.reference-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding-bottom:14px;border-bottom:1px solid rgba(255,255,255,.08)}
.reference-card-head span{color:var(--gold);font-size:.62rem;font-weight:900;letter-spacing:.12em}.reference-card-head strong{font:600 1.05rem Oswald,sans-serif;text-align:right}
.reference-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:14px 0}
.reference-details div{padding:10px 11px;border-radius:11px;background:rgba(255,255,255,.035)}.reference-details small{display:block;color:#696969;font-size:.56rem;font-weight:850;text-transform:uppercase;letter-spacing:.08em}.reference-details b{display:block;color:#aaa;font-size:.72rem;margin-top:4px}
.reference-review-placeholder{padding:16px;border:1px dashed rgba(255,255,255,.15);border-radius:15px;background:rgba(255,255,255,.025)}
.reference-review-placeholder.awaiting-upload{border-color:rgba(250,193,44,.28);background:rgba(250,193,44,.035)}
.reference-review-placeholder>span{display:block;color:var(--gold);letter-spacing:.12em;margin-bottom:6px}.reference-review-placeholder strong{display:block;color:#fff}.reference-review-placeholder p{color:#777;font-size:.68rem;line-height:1.45;margin:6px 0 0}
@media(max-width:900px){.reference-grid{grid-template-columns:1fr}}

/* v5.64 — native text customer reviews */
.reference-card.has-review{border-color:rgba(250,193,44,.22)}
.reference-review-text{padding:17px;border:1px solid rgba(250,193,44,.18);border-radius:15px;background:rgba(250,193,44,.035)}
.reference-stars{color:var(--gold);font-size:18px;letter-spacing:.09em;margin-bottom:10px}
.reference-review-text blockquote{margin:0;color:#d8d8d8;font-size:.75rem;line-height:1.65}
.reference-review-text blockquote p{margin:0 0 11px}.reference-review-text blockquote p:last-child{margin-bottom:0}

/* v5.65 — inspection report refinements */
.inspection-module>.panel:has(+ .inspection-section-body),.inspection-module>.inspection-type-tabs+ .panel{margin-bottom:16px}
.inspection-employee-note{margin-top:20px;padding:14px 16px;border:1px solid rgba(250,193,44,.22);border-radius:14px;background:rgba(250,193,44,.045);color:#9b9b9b;font-size:.72rem;line-height:1.55}
.inspection-review-general{margin-bottom:18px}
.inspection-review-general-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.inspection-review-general-grid>div{padding:12px 14px;border-radius:12px;background:rgba(255,255,255,.035)}
.inspection-review-general-grid small{display:block;color:#777;font-size:.62rem;font-weight:850;text-transform:uppercase;letter-spacing:.07em}
.inspection-review-general-grid strong{display:block;margin-top:5px;color:#fff}
.closing-step-number{background:transparent!important;color:var(--yellow)!important;border:1px solid rgba(250,193,44,.45)}
@media(max-width:700px){.inspection-review-general-grid{grid-template-columns:1fr}}


/* v5.66 — setup validation + practice presentation */
.rep-password-panel{max-width:680px;margin:0 auto;padding:22px}.rep-password-field{display:grid;gap:8px;margin:18px 0}.rep-password-field span{font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;color:#777;font-weight:900}.rep-password-field input{width:100%;box-sizing:border-box;border:1px solid #383838;background:#111;color:#fff;border-radius:12px;padding:14px 15px;font-size:16px}.rep-setup-error{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:0 0 14px;padding:12px 14px;border-radius:12px;border:1px solid rgba(232,86,86,.38);background:rgba(232,86,86,.08);color:#ddd}.rep-setup-error strong{color:#ff9a9a}.rep-setup-connect{width:100%}.practice-presentation-shell{height:100%;display:flex;flex-direction:column;min-height:0}.practice-presentation-bar{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:11px 16px;border-bottom:1px solid #2b2b2b;background:#111}.practice-presentation-bar>div:first-child{display:flex;gap:10px;align-items:baseline}.practice-presentation-bar>div:first-child span{color:var(--gold);font-size:.65rem;letter-spacing:.12em;font-weight:900}.practice-presentation-bar>div:first-child strong{font-family:Oswald,sans-serif;font-size:1.05rem}.practice-track-switcher{display:flex;align-items:center;gap:10px}.practice-track-switcher small{color:#777;font-weight:800}.practice-track-switcher>div{display:flex;border:1px solid #333;border-radius:10px;overflow:hidden}.practice-track-switcher button{border:0;border-right:1px solid #333;background:#1a1a1a;color:#aaa;padding:8px 13px;font-weight:850}.practice-track-switcher button:last-child{border-right:0}.practice-track-switcher button.active{background:var(--gold);color:#111}.practice-presentation-shell .embedded-view{flex:1;min-height:0}.reference-details-live{grid-template-columns:1fr}.reference-details-live b{font-size:.78rem;color:#d0d0d0;line-height:1.4}@media(max-width:700px){.practice-presentation-bar{align-items:flex-start;flex-direction:column}.practice-track-switcher{width:100%;justify-content:space-between}}

/* v5.68 — strict before/after registration. The stage already adopts the source
   photo aspect ratio, so both layers must fill that exact coordinate system. */
.compare-stage .compare-before,
.compare-after-wrap .compare-after{
  width:100% !important;
  height:100% !important;
  object-fit:fill !important;
  object-position:0 0 !important;
}
.compare-after-wrap{position:absolute;inset:0 auto 0 0;height:100%;}
/* v5.68 correction: after layer remains stage-width while its wrapper clips it. */
.compare-after-wrap .compare-after{
  width:var(--compare-stage-width, 100%) !important;
  height:var(--compare-stage-height, 100%) !important;
  max-width:none !important;
}

/* v5.70 — restore complete visualizer catalog + practice nav/pill refinements */
.practice-presentation-bar .practice-track-switcher{margin:0;padding:7px 8px;background:rgba(0,0,0,.2);border:1px solid var(--line);border-radius:15px}
.practice-presentation-bar .practice-track-switcher>div{display:flex;gap:6px;flex-wrap:wrap;border:0;border-radius:0;overflow:visible}
.practice-presentation-bar .practice-track-switcher button{border:1px solid var(--line);background:rgba(255,255,255,.035);color:#aaa;border-radius:999px;padding:6px 10px;font-weight:800;font-size:.65rem}
.practice-presentation-bar .practice-track-switcher button.active{background:var(--gold);color:#080808;border-color:var(--gold)}

/* v5.71 - Appointment Summary review action */
.complete-appointment-button{border:1px solid rgba(198,161,91,.75);background:rgba(198,161,91,.10);color:#f2d58f;border-radius:12px;padding:11px 16px;font:700 13px/1 Inter,sans-serif;cursor:pointer;white-space:nowrap;min-height:42px}
.complete-appointment-button:hover{background:rgba(198,161,91,.18);border-color:#c6a15b}
.complete-appointment-button:disabled{opacity:.55;cursor:wait}
@media(max-width:760px){.complete-appointment-button{padding:10px 12px;font-size:12px}}

/* v5.74 — inspection camera + photo library controls */
.inspection-photo-add-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.inspection-photo-add.secondary{border-style:solid;border-color:var(--border);background:#171717;color:var(--text)}
.inspection-photo-add.secondary:hover{border-color:rgba(250,193,44,.55);color:var(--gold)}
@media(max-width:760px){.inspection-photo-add-actions{width:100%;justify-content:stretch}.inspection-photo-add-actions .inspection-photo-add{flex:1;min-width:145px}}


/* v5.75 — Complete Appointment diagnostics */
.completion-diagnostics{position:fixed;inset:0;z-index:10050;display:grid;place-items:center;padding:22px;background:rgba(0,0,0,.72);backdrop-filter:blur(6px)}
.completion-diagnostics[hidden]{display:none!important}
.completion-diagnostics-card{width:min(720px,100%);max-height:min(86vh,820px);overflow:auto;border:1px solid rgba(198,161,91,.32);border-radius:22px;background:linear-gradient(145deg,#181818,#0f0f0f);box-shadow:0 24px 80px rgba(0,0,0,.55);padding:24px}
.completion-diagnostics-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding-bottom:16px;border-bottom:1px solid rgba(255,255,255,.08)}
.completion-diagnostics-head p{margin:0 0 5px;color:var(--gold);font-size:.64rem;font-weight:900;letter-spacing:.14em}.completion-diagnostics-head h2{margin:0;font:650 2rem/1 Oswald,sans-serif;color:#fff}
.completion-diagnostics-close{width:38px;height:38px;border:1px solid #393939;border-radius:11px;background:#151515;color:#aaa;font-size:24px;line-height:1;cursor:pointer}
.completion-diagnostics-intro{color:#8b8b8b;line-height:1.5;margin:17px 0}
.completion-diagnostics-list{display:grid;gap:10px}
.completion-diagnostic-row{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:12px;align-items:center;padding:13px 14px;border:1px solid #2b2b2b;border-radius:14px;background:#131313}
.completion-diagnostic-row.ok{border-color:rgba(92,190,121,.34);background:rgba(92,190,121,.055)}.completion-diagnostic-row.fail{border-color:rgba(232,86,86,.38);background:rgba(232,86,86,.06)}.completion-diagnostic-row.warn{border-color:rgba(250,193,44,.34);background:rgba(250,193,44,.055)}
.completion-diagnostic-icon{width:29px;height:29px;border-radius:50%;display:grid;place-items:center;background:#262626;color:#aaa;font-weight:950}.completion-diagnostic-row.ok .completion-diagnostic-icon{background:rgba(92,190,121,.18);color:#79d793}.completion-diagnostic-row.fail .completion-diagnostic-icon{background:rgba(232,86,86,.18);color:#ff8f8f}.completion-diagnostic-row.warn .completion-diagnostic-icon{background:rgba(250,193,44,.15);color:var(--gold)}
.completion-diagnostic-main strong{display:block;color:#f2f2f2;font-size:.83rem}.completion-diagnostic-main small{display:block;margin-top:4px;color:#8a8a8a;font-size:.69rem;line-height:1.4;overflow-wrap:anywhere}.completion-diagnostic-http{color:#777;font-size:.64rem;font-weight:850;white-space:nowrap}
.completion-diagnostics-technical{margin-top:16px;border:1px solid #292929;border-radius:13px;background:#0b0b0b}.completion-diagnostics-technical summary{padding:12px 14px;color:#999;cursor:pointer;font-size:.72rem;font-weight:800}.completion-diagnostics-technical pre{margin:0;padding:0 14px 14px;max-height:210px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;color:#aaa;font:11px/1.45 ui-monospace,SFMono-Regular,Menlo,monospace}
.completion-diagnostics-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.completion-diagnostics-actions button{border-radius:11px;padding:11px 15px;font-weight:850;cursor:pointer}.completion-diagnostics-actions .secondary{border:1px solid #343434;background:#151515;color:#aaa}.completion-diagnostics-actions .primary{border:1px solid var(--gold);background:var(--gold);color:#111}
@media(max-width:650px){.completion-diagnostics{padding:10px;place-items:end center}.completion-diagnostics-card{max-height:92vh;border-radius:20px 20px 12px 12px;padding:18px}.completion-diagnostic-row{grid-template-columns:30px minmax(0,1fr)}.completion-diagnostic-http{grid-column:2}.completion-diagnostics-actions button{flex:1}}
