:root{--evergreen: #0b6346;--holly: #cc2738;--glow: #fcf8e4;--gold: #ebbc58;--wire: #004830;--paper: #faf7f0;--ink: #1f2a26;--card: #fff;--line: #1f2a261f;--muted: #1f2a26b8;--sans: Inter, "Segoe UI", Helvetica, Arial, sans-serif;--slab: "Zilla Slab", Georgia, "Times New Roman", serif;--cond: "Barlow Condensed", "Arial Narrow", sans-serif;--radius: 12px;--shadow: 0 10px 30px #1f2a260f;color:var(--ink);background:var(--paper);font-family:var(--sans);font-size:16px;line-height:1.45}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}img{max-width:100%}h1,h2,h3,p{margin:0}a{color:var(--evergreen)}:focus-visible{outline:2px solid var(--evergreen);outline-offset:2px}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip{background:var(--card);z-index:5;padding:8px 12px;position:absolute;top:-40px;left:12px}.skip:focus{top:12px}.app-header{background:var(--evergreen);color:var(--glow)}.header-inner,.page,.knows-wrap{width:min(1120px,100% - 32px);margin:0 auto}.header-inner{flex-wrap:wrap;align-items:center;gap:12px 20px;padding:12px 0;display:flex}.brand{color:inherit;align-items:center;gap:10px;margin-right:auto;text-decoration:none;display:flex}.logo-plate{background:#fff;box-shadow:0 1px 2px #1f2a2633;border-radius:10px;align-items:center;padding:4px 6px;display:flex}.logo-plate img{width:auto;height:36px;display:block}.brand-name{letter-spacing:-.01em;font-weight:650}.brand-sub{opacity:.88;font-size:.82rem;display:block}.header-tools{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.header-tools a,.text-on-green{color:var(--glow);font-size:.92rem;text-decoration:none}.header-select,.inline-select{background:var(--paper);min-height:44px;color:var(--ink);border:1px solid #0000;border-radius:10px;padding:0 10px}.customer-nav{gap:16px;width:min(1120px,100% - 32px);margin:0 auto;padding:0 0 12px;display:flex}.customer-nav a{color:var(--glow);align-items:center;min-height:44px;font-weight:600;text-decoration:none;display:inline-flex}.customer-nav a[aria-current=page]{text-underline-offset:4px;text-decoration:underline}.staff-tabs{gap:6px;width:min(1120px,100% - 32px);margin:0 auto;padding:0 0 10px;display:flex;overflow-x:auto}.staff-tabs a{color:var(--glow);white-space:nowrap;min-height:44px;font-family:var(--cond);letter-spacing:.04em;text-transform:uppercase;border:1px solid #fcf8e459;border-radius:999px;align-items:center;padding:8px 12px;font-size:.95rem;text-decoration:none;display:inline-flex}.staff-tabs a[aria-current=page]{background:var(--glow);color:var(--wire);border-color:var(--glow)}.page{padding:22px 0 48px}.page-narrow{width:min(760px,100%)}.lede{color:var(--muted);max-width:40rem;margin-top:6px}h1{letter-spacing:-.02em;font-size:1.7rem;font-weight:650}.staff-app h1,.staff-app h2,.staff-app h2.display{font-family:var(--slab);font-weight:600}.staff-app h1{font-weight:700}.kicker,.ticket-kicker,.phase{letter-spacing:.04em;text-transform:uppercase;color:var(--evergreen);font-size:.78rem;font-weight:650}.staff-app .kicker,.staff-app .phase,.staff-app .ticket-kicker,.staff-app .thanks-kicker,.staff-app dt,.staff-app th{font-family:var(--cond);letter-spacing:.08em;font-size:.92rem;font-weight:600}.muted,.fine{color:var(--muted)}.fine{margin-top:6px;font-size:.86rem}.stack{gap:14px;display:grid}.stack-lg{gap:22px;display:grid}.card,.ticket,.choice,.knows-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.card{padding:16px}.choice-grid{gap:12px;display:grid}.choice{text-align:left;align-content:start;gap:6px;width:100%;min-height:112px;padding:18px;display:grid}.choice strong{font-size:1.15rem}.choice span{color:var(--muted)}a.choice{color:inherit;text-decoration:none}.choice:hover,.choice.is-on{border-color:var(--evergreen)}.choice.is-on{box-shadow:inset 0 0 0 1px var(--evergreen)}.flow-layout{gap:18px;display:grid}.actions{flex-wrap:wrap;align-items:center;gap:10px;margin-top:8px;display:flex}.btn,.btn-secondary,.btn-text,.btn-quiet{border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;min-height:44px;padding:10px 16px;font-weight:650;text-decoration:none;display:inline-flex}.btn{background:var(--evergreen);color:#fff}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-secondary{border-color:var(--evergreen);color:var(--evergreen);background:0 0}.btn-text,.btn-quiet{color:var(--evergreen);background:0 0;padding-inline:8px}.btn-quiet{color:var(--ink);font-weight:600}.knows-btn{background:var(--ink);color:var(--paper)}.banner{border-radius:var(--radius);background:var(--glow);border:1px solid var(--gold);padding:12px 14px}.banner-alert{border-radius:var(--radius);border:1px solid var(--holly);color:var(--ink);background:#fff6f5;padding:12px 14px}.banner-alert strong{color:var(--holly)}.error{color:var(--holly);margin-top:6px;font-weight:650}.field{gap:6px;margin-bottom:12px;display:grid}.field span,.check{font-weight:650}.field input,.field select,.field textarea{border:1px solid var(--line);background:#fff;border-radius:10px;width:100%;min-height:44px;padding:8px 10px}.field textarea{resize:vertical;min-height:96px}.split-2{gap:12px;display:grid}.check{align-items:center;gap:8px;min-height:44px;font-weight:600;display:flex}.segmented{border:1px solid var(--line);background:#fff;border-radius:999px;width:fit-content;padding:4px;display:flex}.segmented button{background:0 0;border:0;border-radius:999px;min-height:36px;padding:0 14px}.segmented button[aria-pressed=true]{background:var(--evergreen);color:#fff}.track{grid-template-columns:repeat(4,1fr);gap:8px;margin:0;padding:8px 0 0;list-style:none;display:grid}.track-step{text-align:center;justify-items:center;gap:6px;font-size:.82rem;display:grid}.bulb{border:2px solid var(--gold);background:0 0;border-radius:10px 10px 9px 9px;width:18px;height:26px;box-shadow:inset 0 -6px #00483026}.track-step.is-done .bulb,.track-step.is-current .bulb{background:var(--glow)}.track-step.is-current .bulb{box-shadow:0 0 0 3px #ebbc5873}.track-step.is-current .track-label{font-weight:750}.track-step.is-upcoming{color:var(--muted)}.promise{gap:10px;margin:0;padding:0;list-style:none;display:grid}.promise li{border-radius:var(--radius);border:1px solid var(--line);background:#fff;gap:2px;padding:12px 14px;display:grid}.promise span{color:var(--muted)}.plain-list{margin:0;padding:0;list-style:none}.scope{gap:10px;display:grid}.scope h3{font-size:.95rem}.scope ul{gap:6px;margin:4px 0 0;padding:0;list-style:none;display:grid}.scope li,.plain-list li,.attention-row{border-top:1px solid var(--line);justify-content:space-between;gap:12px;padding:8px 0;display:flex}.scope li span:last-child,.meta{color:var(--muted);text-align:right}.ticket{align-content:start;gap:10px;padding:16px;display:grid}.ticket h2{font-size:1.25rem}.ticket dl{gap:8px;margin:0;display:grid}.ticket dl div{grid-template-columns:7.2rem 1fr;gap:8px;display:grid}.ticket dt{color:var(--muted)}.price-line{border-top:1px solid var(--line);justify-content:space-between;gap:12px;padding-top:8px;display:flex}.price-line strong{text-align:right;font-weight:650}.swatch-grid{gap:8px;display:grid}.swatch-choice{border:1px solid var(--line);background:#fff;border-radius:10px;grid-template-columns:auto 1fr;align-items:center;gap:10px;min-height:52px;padding:8px 10px;display:grid}.swatch-choice input{opacity:0;pointer-events:none;position:absolute}.swatch-choice.is-on{border-color:var(--evergreen);box-shadow:inset 0 0 0 1px var(--evergreen)}.swatch{border:1px solid var(--line);border-radius:50%;width:36px;height:36px;display:block}.swatch-choice small{color:var(--muted);font-weight:500;display:block}.mockup-block{gap:8px;max-width:480px;display:grid}.mockup-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.mockup{border-radius:var(--radius);background:#e6e0d2;position:relative;overflow:hidden}.mockup-photo img,.house-sketch{width:100%;height:auto;display:block}.mockup.is-night .mockup-photo{filter:brightness(.38) saturate(.75)}.mockup-marks{touch-action:none;width:100%;height:100%;position:absolute;inset:0}.mark{fill:none;stroke:var(--evergreen);stroke-width:1.4px;stroke-linecap:round;stroke-linejoin:round}.pin{fill:var(--glow);stroke:var(--gold);stroke-width:.6px}.mockup.is-night .mark{stroke:var(--glow)}.mockup.is-night .pin{fill:var(--glow);stroke:var(--gold)}.pair{gap:8px;display:grid}.run-row,.table-row{border-top:1px solid var(--line);gap:8px;padding:10px 0;display:grid}.run-row{grid-template-columns:1fr 6.5rem auto;align-items:end}.person-list{gap:8px;display:grid}.person{text-align:left;border:1px solid var(--line);background:#fff;border-radius:12px;gap:2px;width:100%;min-height:64px;padding:12px 14px;display:grid}.person small,.chip{color:var(--muted)}.person.is-on{border-color:var(--evergreen);box-shadow:inset 0 0 0 1px var(--evergreen)}.beats{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.beats li{color:var(--muted);border-bottom:2px solid #0000;padding-bottom:4px;font-size:.78rem}.beats li.is-current{color:var(--ink);border-color:var(--evergreen);font-weight:700}.beats li.is-done{color:var(--evergreen)}.thanks-scene{background:#fff;color:var(--ink);border:1px solid var(--line);border-top:4px solid var(--gold);box-shadow:var(--shadow);text-align:center;border-radius:12px;justify-items:center;gap:10px;padding:28px 20px 24px;display:grid}.thanks-scene h1{color:var(--evergreen);font-size:1.8rem}.thanks-scene p{max-width:34rem}.thanks-kicker{color:var(--evergreen);font-weight:650;letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.78rem}.thanks-logo{border:1px solid var(--line);border-radius:14px;padding:6px 8px}.thanks-logo img{height:72px}.chip-row{flex-wrap:wrap;gap:8px;display:flex}.chip{border:1px solid var(--line);background:#fff;border-radius:999px;min-height:36px;padding:4px 10px}.chip[aria-pressed=true]{background:var(--evergreen);color:#fff;border-color:var(--evergreen)}.square-grid{gap:10px;display:grid}.square-check{border:1px solid var(--line);text-align:left;background:#fff;border-radius:4px;grid-template-columns:22px 1fr;align-items:center;gap:12px;width:100%;min-height:52px;padding:12px 14px;display:grid}.square-box{border:2px solid var(--evergreen);background:#fff;border-radius:2px;place-items:center;width:22px;height:22px;display:grid}.square-check.is-on{border-color:var(--evergreen);box-shadow:inset 0 0 0 1px var(--evergreen)}.square-check.is-on .square-box{background:var(--evergreen)}.square-check.is-on .square-box:after{content:"";border:solid var(--glow);border-width:0 2px 2px 0;width:5px;height:9px;transform:rotate(45deg) translate(-1px,-1px)}.loc-group{border:0;gap:8px;margin:0;padding:0;display:grid}.loc-group legend{padding:0;font-weight:650}.elevation-wrap{border:1px solid var(--line);background:#fff;border-radius:12px;max-width:520px;overflow:hidden}.elevation-art{touch-action:none;cursor:crosshair;width:100%;height:auto;display:block}.elevation-art.is-static{cursor:default}.stat-row{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.stat{border:1px solid var(--line);background:#fff;border-radius:12px;padding:12px}.stat b{font-size:1.3rem;font-family:var(--slab);display:block}.knows-bar{background:var(--ink);color:var(--paper)}.knows-bar a{color:inherit;font-weight:650;text-decoration:none}.knows-bar .header-inner{justify-content:space-between;align-items:center;gap:12px;min-height:44px;padding:6px 0;display:flex}.knows-portals{flex-wrap:wrap;gap:10px 14px;font-size:.82rem;display:flex}.knows-portals span{opacity:.62}.knows-portals strong{color:var(--gold);font-weight:700}.knows-top{padding:28px 0 8px}.knows-grid{gap:12px;display:grid}.knows-card{align-content:start;gap:8px;padding:16px;display:grid}.knows-card.is-open{border-color:var(--evergreen);box-shadow:0 0 0 1px var(--evergreen)}.knows-card.is-closed{background:#f3f0e8}.knows-card img{border:1px solid var(--line);background:#fff;border-radius:12px;width:auto;height:64px;padding:4px 6px}.monogram{background:var(--ink);width:48px;height:48px;color:var(--paper);border-radius:10px;place-items:center;font-weight:700;display:grid}.share-box{background:var(--glow);border-radius:12px;gap:8px;padding:12px;display:grid}.share-box code{word-break:break-all;font-size:.92rem}.steps-4{gap:8px;margin:0;padding:0;list-style:none;display:grid}.steps-4 li{grid-template-columns:auto 1fr;align-items:start;gap:10px;display:grid}.num{background:var(--evergreen);color:#fff;border-radius:50%;place-items:center;width:28px;height:28px;font-size:.85rem;font-weight:700;display:grid}.home-photo{object-fit:cover;background:#e6e0d2;border-radius:10px;width:100%;max-height:280px;display:block}.home-photo.is-empty{min-height:160px;color:var(--muted);border:1px dashed var(--line);place-items:center;display:grid}.project-facts{gap:12px;margin:0;display:grid}.project-facts div{border-top:1px solid var(--line);gap:4px;padding-top:10px;display:grid}.project-facts dt{color:var(--muted);font-size:.86rem}.project-facts dd{margin:0}.area-list{margin:0;padding-left:1.1rem}.sign-wrap{border:1px solid var(--line);background:#fff;border-radius:10px;position:relative}.sign-pad{touch-action:none;cursor:crosshair;width:100%;height:160px;display:block}.sign-hint{color:var(--muted);pointer-events:none;font-size:.82rem;position:absolute;bottom:8px;left:12px}.sign-preview{border:1px solid var(--line);background:#fff;border-radius:10px;width:100%}.square-stub{border-color:#111}.square-mark{color:#fff;letter-spacing:-.03em;background:#111;border-radius:8px;width:fit-content;padding:8px 12px;font-weight:750}.square-btn{background:#111}.qr-plate{background:var(--glow);border-radius:12px;width:180px}.qr-plate svg{width:180px;height:180px;display:block}.gallery-grid{gap:12px;display:grid}.gallery-card h2{font-size:1.15rem}@media (width>=720px){.gallery-grid{grid-template-columns:1fr 1fr 1fr}}.project-grid{gap:12px;display:grid}.g3-card{color:inherit;border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:10px;grid-template-columns:4px 1fr;text-decoration:none;display:grid;overflow:hidden}.g3-card:hover{border-color:var(--evergreen)}.g3-card-bar{background:var(--line)}.g3-card-bar.is-lead,.g3-card-bar.is-quoted{background:var(--gold)}.g3-card-bar.is-sold,.g3-card-bar.is-scheduled{background:var(--evergreen)}.g3-card-bar.is-complete{background:var(--wire)}.g3-card-bar.is-closed{background:var(--muted)}.g3-card-body{gap:6px;padding:14px 16px;display:grid}.g3-card-photo{object-fit:cover;background:#e6e0d2;border-radius:8px;width:100%;height:120px}.g3-card-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.g3-card-id{letter-spacing:.06em;text-transform:uppercase;color:var(--evergreen);font-size:.75rem;font-weight:700}.g3-card h2{font-size:1.2rem;font-weight:650}.g3-card-site{color:var(--muted);font-size:.92rem}.g3-card-meta{grid-template-columns:1fr 1fr;gap:8px 12px;margin:4px 0 0;display:grid}.g3-card-meta div{gap:1px;display:grid}.g3-card-meta dt{letter-spacing:.05em;text-transform:uppercase;color:var(--muted);font-size:.68rem}.g3-card-meta dd{margin:0;font-size:.92rem}.g3-status{letter-spacing:.04em;text-transform:uppercase;background:var(--glow);color:var(--ink);border-radius:999px;padding:3px 8px;font-size:.72rem;font-weight:700}.g3-status.is-quoted,.g3-status.is-lead{color:#6a4b10;background:#f8efd4}.g3-status.is-sold,.g3-status.is-scheduled{color:var(--wire);background:#e5f3ee}.g3-status.is-complete{color:#fff;background:var(--evergreen)}.g3-status.is-closed{color:var(--muted);background:#eeeae2}.g3-hold{color:var(--holly);margin:0;font-size:.86rem;font-weight:650}.tag{background:var(--glow);width:fit-content;color:var(--holly);border:1px solid var(--holly);border-radius:999px;padding:2px 8px;font-size:.75rem;font-weight:700}.cal-week,.cal-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.cal-week{color:var(--muted);text-align:center;font-size:.75rem}.cal-day{border:1px solid var(--line);background:#fff;border-radius:8px;align-content:start;gap:2px;min-height:72px;padding:4px;display:grid}.cal-day.is-out{background:0 0;border-color:#0000}.cal-day b{font-size:.78rem}.cal-chip{color:var(--ink);background:var(--glow);border:1px solid var(--gold);text-overflow:ellipsis;white-space:nowrap;border-radius:4px;padding:1px 3px;font-size:.68rem;line-height:1.2;text-decoration:none;display:block;overflow:hidden}.cal-chip.is-repair{border-color:var(--holly);color:var(--holly);background:#fff6f5}.decision{border-top:1px solid var(--line);justify-content:space-between;gap:12px;padding:10px 0;display:flex}.decision b{font-weight:650}.locked{color:var(--evergreen)}@media (width>=720px){.choice-grid.cols-2,.choice-grid.cols-3,.split-2{grid-template-columns:1fr 1fr}.promise{grid-template-columns:repeat(3,1fr)}.stat-row{grid-template-columns:repeat(4,1fr)}.knows-grid{grid-template-columns:1fr 1fr 1.2fr}.swatch-grid,.square-grid.cols-2{grid-template-columns:1fr 1fr}.run-row{grid-template-columns:1.4fr 7rem 8rem auto}.project-grid{grid-template-columns:1fr 1fr}}@media (width>=960px){.project-grid{grid-template-columns:1fr 1fr 1fr}.flow-layout{grid-template-columns:minmax(0,1fr) 320px;align-items:start}.ticket{position:sticky;top:16px}.choice-grid.cols-3{grid-template-columns:repeat(3,1fr)}}@media (width<=719px){.actions{background:var(--paper);z-index:2;padding-top:8px;position:sticky;bottom:0}.choice,.btn{scroll-margin-bottom:88px}.ticket dl div{grid-template-columns:1fr;gap:0}}@media (prefers-reduced-motion: reduce){*{scroll-behavior:auto!important;transition:none!important}}.g3h-photo{background:#e6e0d2;margin:0;position:relative}.g3h-photo img,.g3h-photo .house-sketch{aspect-ratio:3/2;object-fit:cover;width:100%;height:auto;display:block}.g3h-badge{pointer-events:none;color:var(--evergreen);letter-spacing:.01em;background:#fffffff0;border-radius:999px;padding:3px 10px;font-size:.76rem;font-weight:600;position:absolute;top:10px;left:10px;box-shadow:0 1px 3px #1f2a2640}.g3h-badge.is-fallback{color:var(--holly)}.g3h-hero{border-radius:var(--radius);border:1px solid var(--line);box-shadow:var(--shadow);max-width:760px;overflow:hidden}.g3h-options{grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:12px;max-width:760px;display:grid}.g3h-option{align-content:start}.g3h-upload{cursor:pointer;gap:6px;display:grid}.g3h-upload-title{color:var(--evergreen);font-weight:650}.g3h-upload input[type=file]{border:1px dashed var(--evergreen);background:var(--paper);border-radius:10px;width:100%;min-height:48px;padding:10px}.btn.is-chosen{background:var(--wire)}.g3h-last-resort{justify-self:start;font-size:.9rem}.g3h-design,.mockup-block{max-width:760px}.g3h-draw{cursor:crosshair}.g3h-under{fill:none;stroke:#1f2a26a6;stroke-width:7px;stroke-linecap:round;stroke-linejoin:round}.g3h-line{fill:none;stroke-width:4px;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 3px #fcf8e4e6)}.mockup .mark{vector-effect:non-scaling-stroke;stroke:var(--gold);stroke-width:4px;filter:drop-shadow(0 0 1.5px #1f2a26e6)}.mockup.is-night .g3h-under{stroke:#0000}.flow-layout>*,.g3h-options>*,.g3h-hero{min-width:0}.home-photo-live{border-radius:10px;overflow:hidden}.g3x-welcome{padding:34px 28px 30px;gap:12px}.g3x-lockup{color:var(--evergreen);letter-spacing:-.025em;white-space:nowrap;justify-content:center;align-items:flex-start;gap:.22em;max-width:100%;margin:0 0 4px;font-size:clamp(1.5rem,7.8vw,3.6rem);font-weight:700;line-height:1.1;display:flex}.g3x-mark.logo-plate{border:1px solid var(--line);border-radius:.2em;flex:none;align-self:flex-start;margin-top:.02em;padding:.05em .08em}.g3x-mark.logo-plate img{width:auto;height:.98em}.g3x-words{min-width:0;display:grid}.g3x-text{z-index:1;position:relative}.g3x-string{width:100%;height:auto;margin-top:-.16em;display:block;overflow:visible}.g3x-bulb.is-red{filter:drop-shadow(0 0 2.5px #cc2738b3)}.g3x-bulb.is-green{filter:drop-shadow(0 0 2.5px #0b6346a6)}.g3x-bulb.is-gold{filter:drop-shadow(0 0 3px #ebbc58e6)}.g3x-bulb.is-glow{filter:drop-shadow(0 0 3px #ebbc58cc)}@keyframes g3x-twinkle{0%,to{opacity:1}50%{opacity:.62}}.g3x-t0{animation:3.2s ease-in-out infinite g3x-twinkle}.g3x-t1{animation:3.2s ease-in-out -1.1s infinite g3x-twinkle}.g3x-t2{animation:3.2s ease-in-out -2.2s infinite g3x-twinkle}@media (prefers-reduced-motion: reduce){.g3x-t0,.g3x-t1,.g3x-t2{animation:none}}.g3x-welcome h1{font-size:clamp(1.3rem,4.2vw,1.8rem)}@media (width<=719px){.g3x-welcome{padding:28px 18px 24px}}.g3x-line{color:var(--ink);font-size:1.08rem;font-weight:500}@media (width>=720px){.g3x-welcome{padding:40px 36px 34px}}.g3x-est{align-content:start;align-items:start;gap:4px;display:grid;justify-items:start}.square-check.is-on .square-box{background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cdefs%3E%3CradialGradient id='g' cx='38%25' cy='34%25' r='70%25'%3E%3Cstop offset='0' stop-color='%23FF6A78'/%3E%3Cstop offset='.55' stop-color='%23CC2738'/%3E%3Cstop offset='1' stop-color='%238E1524'/%3E%3C/radialGradient%3E%3C/defs%3E%3Ccircle cx='12' cy='12' r='8.6' fill='url(%23g)'/%3E%3Cellipse cx='9.2' cy='8.6' rx='2.7' ry='1.6' fill='%23fff' opacity='.9' transform='rotate(-32 9.2 8.6)'/%3E%3C/svg%3E") center / 88% no-repeat;filter:drop-shadow(0 0 2px #cc273866)}main input[type=checkbox]:not(.g3x-nose-input):checked{background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cdefs%3E%3CradialGradient id='g' cx='38%25' cy='34%25' r='70%25'%3E%3Cstop offset='0' stop-color='%23FF6A78'/%3E%3Cstop offset='.55' stop-color='%23CC2738'/%3E%3Cstop offset='1' stop-color='%238E1524'/%3E%3C/radialGradient%3E%3C/defs%3E%3Ccircle cx='12' cy='12' r='8.6' fill='url(%23g)'/%3E%3Cellipse cx='9.2' cy='8.6' rx='2.7' ry='1.6' fill='%23fff' opacity='.9' transform='rotate(-32 9.2 8.6)'/%3E%3C/svg%3E") center / 88% no-repeat;filter:drop-shadow(0 0 2px #cc273866)}.g3x-outline{display:grid;gap:8px}.g3x-outline-rows{margin:0;border:1px solid var(--line);border-radius:10px;background:#fff;overflow:hidden}.g3x-outline-rows div{display:flex;justify-content:space-between;gap:12px;padding:8px 12px;border-bottom:1px solid var(--line)}.g3x-outline-rows div:last-child{border-bottom:0}.g3x-outline-rows dd{margin:0;white-space:nowrap;font-variant-numeric:tabular-nums}.g3x-outline-total strong{font-size:1.2rem}.g3x-outline p{margin:0}.g3x-tag{border:1px solid var(--gold);background:var(--glow);color:var(--evergreen);white-space:nowrap;border-radius:999px;align-self:start;padding:1px 9px;font-size:.78rem;line-height:1.5;font-weight:650;display:inline-block}.g3x-areas{margin-top:4px;display:grid}.g3x-area{border-top:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:10px;padding:9px 0;display:flex}.g3x-area span{font-weight:600}.g3x-area strong{color:var(--evergreen);white-space:nowrap}.g3x-total{border-top:1px solid var(--line);padding-top:9px}.g3x-sms{gap:10px;max-width:34rem;display:grid}.g3x-sms-buttons{flex-wrap:wrap;gap:10px;display:flex}.g3x-sms-buttons button{min-width:120px;min-height:48px}.g3x-sms-no.is-on{border-color:var(--evergreen);box-shadow:inset 0 0 0 1px var(--evergreen)}.g3x-sms-yes.is-on{box-shadow:0 0 0 3px #ebbc5866}.g3x-sms-fine{color:var(--muted);margin:0;font-size:.78rem;line-height:1.45}.g3x-intent .choice{text-align:center;place-items:center;align-content:center;min-height:84px;display:grid}.g3x-intent .choice strong{font-size:1.15rem}.g3x-intent-next{color:var(--muted);margin:0;font-size:.8rem}.g3x-areas{margin:4px 0 0;padding:0;list-style:none}.g3x-area .g3x-tag{color:var(--evergreen);background:#0b634614;border-radius:999px;padding:2px 8px;font-size:.72rem;font-weight:700}.g3x-nose-list{gap:10px;max-width:36rem;display:grid}.g3x-nose-item{cursor:pointer;background:#fff;border:1px solid #1f2a2629;border-radius:12px;align-items:center;gap:14px;min-height:56px;padding:12px 16px;font-weight:600;display:flex;position:relative}.g3x-nose-item.is-on{border-color:var(--evergreen);box-shadow:inset 0 0 0 1px var(--evergreen)}.g3x-nose-input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.g3x-nose-box{border:2px solid var(--evergreen);background:#fff;border-radius:6px;flex:none;place-items:center;width:30px;height:30px;display:grid}.g3x-nose-box svg{opacity:0;width:24px;height:24px;transition:transform .18s,opacity .18s;transform:scale(.4)}.g3x-nose-input:checked+.g3x-nose-box svg{opacity:1;filter:drop-shadow(0 0 3px #cc27388c);transform:scale(1)}.g3x-nose-input:focus-visible+.g3x-nose-box{outline:3px solid var(--gold);outline-offset:2px}.g3x-nose-item:has(.g3x-nose-input:focus-visible){border-color:var(--evergreen)}@media (prefers-reduced-motion: reduce){.g3x-nose-box svg{transition:none}}.g3x-desc{gap:6px;max-width:40rem;display:grid}.g3x-desc-label{font-weight:700}.g3x-desc textarea{font:inherit;resize:vertical;border:1px solid #1f2a2633;border-radius:10px;width:100%;min-height:96px;padding:10px 12px}.g3x-desc textarea:focus-visible{outline:3px solid var(--gold);outline-offset:1px}.g3x-draw-options{flex-wrap:wrap;gap:8px;display:flex}.g3x-change-notes dl{gap:8px;margin:0;display:grid}.g3x-change-notes dt{font-weight:700}.g3x-change-notes dd{white-space:pre-wrap;margin:0}.g3x-src-options{grid-template-columns:repeat(3,minmax(0,1fr))}@media (max-width: 760px){.g3x-src-options{grid-template-columns:1fr}}.g3x-upload-btn{cursor:pointer;text-align:center;justify-content:center;align-items:center;display:inline-flex;position:relative}.g3x-upload-btn:has(.g3x-file-input:focus-visible){outline:3px solid var(--gold);outline-offset:2px}.g3x-file-input{opacity:0;width:1px;height:1px;position:absolute;overflow:hidden}.g3x-src-options3{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}@media (max-width: 760px){.g3x-src-options3{grid-template-columns:1fr}}.g3x-studio-controls{gap:12px;display:grid}.g3x-pick{background:#fff;border:1px solid var(--line);border-radius:12px;min-width:0;margin:0;padding:10px 12px 12px}.g3x-pick legend{font-family:var(--slab, inherit);padding:0 4px;font-size:1rem;font-weight:700}.g3x-pick-row{flex-wrap:wrap;gap:8px;display:flex}.g3x-opt{color:#8e1524;cursor:pointer;background:#fbe9eb;border:1px solid #cc273866;border-radius:10px;align-items:center;gap:6px;min-height:44px;padding:6px 12px;font:inherit;font-weight:650;display:inline-flex}.g3x-opt.is-on{border-color:#cc2738;box-shadow:inset 0 0 0 2px #cc2738;background:#f7d4d8}.g3x-opt:focus-visible{outline:3px solid var(--gold);outline-offset:2px}.g3x-type{flex-direction:column;padding:6px 10px}.g3x-type-icon{width:96px;height:36px}.g3x-swatch{padding:4px 10px 4px 6px}.g3x-bulb-icon{width:22px;height:24px;overflow:visible}.g3x-seq{flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;display:flex}.g3x-seq-label{font-weight:700}.g3x-seq-list{flex-wrap:wrap;gap:4px;margin:0;padding:0;list-style:none;display:flex}.g3x-seq-bulb{cursor:pointer;background:#fff;border:1px solid var(--line);border-radius:8px;flex-direction:column;align-items:center;padding:2px 6px;font-size:.7rem;display:inline-flex}.g3x-fine{color:var(--muted);margin:6px 0 0;font-size:.8rem}.g3x-extra.is-on{color:#a51e2d;font-weight:650}.g3x-board{border-radius:12px;position:relative;overflow:hidden}.g3x-board .g3h-photo{margin:0}.g3x-board-svg{touch-action:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.g3x-board.is-live .g3x-board-svg{cursor:crosshair}.g3x-board-tools{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.g3x-pre{white-space:pre-wrap}@media (min-width: 900px){.g3x-studio-controls{grid-template-columns:1fr 1fr}.g3x-studio-controls .g3x-pick:last-child{grid-column:1 / -1}}.g3x-install-line{margin:0;font-size:1.05rem}.g3x-elves{color:var(--ink, #1f2a26);margin-top:4px;font-size:.9rem;display:block}.g3x-file-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.g3x-file-btn{color:#fff;cursor:pointer;font:inherit;background:#cc2738;border:1px solid #cc2738;border-radius:10px;min-height:44px;padding:8px 16px;font-weight:700}.g3x-file-btn:hover{background:#a51e2d}.g3x-file-btn:focus-visible{outline:3px solid var(--gold);outline-offset:2px}.g3x-file-input,.g3h-upload input[type=file].g3x-file-input{opacity:0;pointer-events:none;width:1px;height:1px;min-height:0;padding:0;position:absolute;overflow:hidden}.g3x-file-input{border:0!important;clip:rect(0 0 0 0)}.g3x-file-name{color:var(--ink, #1f2a26);overflow-wrap:anywhere;font-size:.9rem}main input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]),main select,main textarea{background:#fbe9eb;border:1px solid #cc2738;border-radius:10px}main input:not([type=checkbox]):not([type=radio]):focus-visible,main select:focus-visible,main textarea:focus-visible{outline:3px solid #cc273859;outline-offset:1px}main .btn,main .btn-secondary{color:#8e1524;background:#fbe9eb;border:1px solid #cc2738}main .btn{background:#f7d4d8;font-weight:700}main .btn:hover:not(:disabled),main .btn-secondary:hover:not(:disabled){background:#f3c3c9}main .btn.is-chosen{color:#fff;background:#cc2738}main .choice,main .square-check,main .chip,main .g3x-nose-item{background:#fbe9eb;border-color:#cc273866}main .choice:hover,main .square-check:hover{border-color:#cc2738}main .choice.is-on,main .square-check.is-on,main .chip[aria-pressed=true],main .g3x-nose-item.is-on{border-color:#cc2738;box-shadow:inset 0 0 0 1px #cc2738}main .g3x-sms-yes.is-on{color:#fff;background:#cc2738}.num,.g3x-count{color:#fff;background:#0b6346}.square-box{background:#fff;border:2px solid var(--evergreen);border-radius:4px}.square-check.is-on .square-box{background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cdefs%3E%3CradialGradient id='g' cx='38%25' cy='34%25' r='70%25'%3E%3Cstop offset='0' stop-color='%23FF6A78'/%3E%3Cstop offset='.55' stop-color='%23CC2738'/%3E%3Cstop offset='1' stop-color='%238E1524'/%3E%3C/radialGradient%3E%3C/defs%3E%3Ccircle cx='12' cy='12' r='8.6' fill='url(%23g)'/%3E%3Cellipse cx='9.2' cy='8.6' rx='2.7' ry='1.6' fill='%23fff' opacity='.9' transform='rotate(-32 9.2 8.6)'/%3E%3C/svg%3E") center / 88% no-repeat;filter:drop-shadow(0 0 2px #cc273866)}.square-check.is-on .square-box:after{content:none;display:none}main input[type=checkbox]:not(.g3x-nose-input){appearance:none;-webkit-appearance:none;cursor:pointer;vertical-align:middle;background:#fff;border:2px solid var(--evergreen);border-radius:4px;flex:none;width:22px;height:22px;margin:0}main input[type=checkbox]:not(.g3x-nose-input):checked{background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cdefs%3E%3CradialGradient id='g' cx='38%25' cy='34%25' r='70%25'%3E%3Cstop offset='0' stop-color='%23FF6A78'/%3E%3Cstop offset='.55' stop-color='%23CC2738'/%3E%3Cstop offset='1' stop-color='%238E1524'/%3E%3C/radialGradient%3E%3C/defs%3E%3Ccircle cx='12' cy='12' r='8.6' fill='url(%23g)'/%3E%3Cellipse cx='9.2' cy='8.6' rx='2.7' ry='1.6' fill='%23fff' opacity='.9' transform='rotate(-32 9.2 8.6)'/%3E%3C/svg%3E") center / 88% no-repeat;filter:drop-shadow(0 0 2px #cc273866)}main input[type=checkbox]:not(.g3x-nose-input):focus-visible{outline:3px solid var(--gold);outline-offset:2px}.g3x-callback p{margin:0;font-size:1.1rem;line-height:1.5}.tag.g3x-qcount,.g3x-qcount{color:#fff;background:#0b6346;border-color:#0b6346}.g3x-call-flag{margin:0}.g3x-big{font-family:var(--slab, inherit);margin:0;font-size:clamp(1.5rem,5vw,2rem);line-height:1.15}.g3x-binphoto .g3x-file-btn{min-height:52px;font-size:1.05rem}.g3x-board-wrap{gap:8px;display:grid}.g3x-zoom-bar{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.g3x-zoom-bar .g3x-opt{justify-content:center;min-width:44px}.g3x-zoom-level{color:var(--muted);font-size:.85rem}.g3x-board{touch-action:none;border-radius:12px;position:relative;overflow:hidden}.g3x-board-stage{transform-origin:0 0;position:relative}.g3x-board.is-move .g3x-board-svg{cursor:grab}.g3x-size{flex-wrap:wrap;align-items:center;gap:10px;max-width:34rem;display:flex}.g3x-size input[type=range]{accent-color:#cc2738;flex:1;min-width:160px}.g3x-size-val{color:var(--muted);min-width:3.5em;font-size:.85rem}main button:not(.g3x-nose-input),main a.btn,main a.btn-secondary,main a.btn-text,main .btn,main .btn-secondary,main .btn-text,main .choice,main .g3x-opt,.g3x-file-btn{color:#fff!important;background:#cc2738!important;border:2px solid #cc2738!important;box-shadow:none!important;text-decoration:none!important;border-radius:10px}main .btn-text{min-height:44px;padding:8px 16px;font-weight:700;display:inline-flex;align-items:center;justify-content:center}main button :not(.tag):not(.g3x-qcount):not(.num):not(.g3x-count):not(svg):not(svg *),main a.btn :not(.tag):not(.g3x-qcount):not(svg):not(svg *),main .choice :not(.tag):not(.g3x-qcount):not(svg):not(svg *){color:inherit!important}main button:hover:not(:disabled):not(.is-on):not(.is-chosen):not([aria-pressed=true]),main a.btn:hover,main a.btn-secondary:hover,main a.btn-text:hover,main .choice:hover:not(.is-on),.g3x-file-btn:hover{background:#b8202f!important;border-color:#b8202f!important}main button.is-on,main button.is-chosen,main button[aria-pressed=true],main .choice.is-on,main .g3x-opt.is-on,main .btn.is-chosen,main .g3x-sms-yes.is-on,main .g3x-sms-no.is-on{background:#a81f2e!important;border-color:#a81f2e!important;box-shadow:inset 0 0 0 2px #fff,0 0 0 2px #a81f2e!important}main button:disabled{opacity:.55;cursor:not-allowed}main button:focus-visible,main a.btn:focus-visible,main a.btn-text:focus-visible,.g3x-file-btn:focus-visible{outline:3px solid var(--gold, #d9a520)!important;outline-offset:2px}main button svg,main .choice svg{filter:drop-shadow(0 0 1.2px #fffffff2) drop-shadow(0 0 .6px #fff)}main .tag.g3x-qcount,main .g3x-qcount{color:#fff!important;background:#0b6346!important;border-color:#0b6346!important}.g3x-board,.g3x-board *{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.g3x-board img{-webkit-user-drag:none;pointer-events:none}.g3x-vertex{fill:#fff;stroke:#004830}.g3x-poly-bar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.g3x-poly-hint{color:var(--ink, #1f2a26);flex:1 1 14rem;font-size:.9rem}.g3x-poly-bar.is-active .g3x-poly-hint{font-weight:700}.g3x-discounts h2,.g3x-programs h2{font-family:var(--slab, inherit);margin:0;font-size:1.35rem}.g3x-cost-total{font-size:1.5rem}.g3x-program{padding:0;overflow:hidden}.g3x-program>summary{color:#fff;cursor:pointer;background:#cc2738;border-radius:10px;justify-content:space-between;align-items:center;min-height:48px;padding:12px 16px;font-weight:700;list-style:none;display:flex}.g3x-program>summary::-webkit-details-marker{display:none}.g3x-program>summary:after{content:"+";font-size:1.4rem;line-height:1}.g3x-program[open]>summary{background:#a81f2e;border-radius:10px 10px 0 0;box-shadow:inset 0 0 0 2px #fff}.g3x-program[open]>summary:after{content:"\2212"}.g3x-program>summary:hover{background:#b8202f}.g3x-program>summary:focus-visible{outline:3px solid var(--gold, #d9a520);outline-offset:2px}.g3x-program-body{padding:14px 16px 16px}.g3x-program-body p{margin:0}.g3x-video{aspect-ratio:16 / 9;background:#000;border-radius:10px;width:100%;overflow:hidden}.g3x-video iframe{border:0;width:100%;height:100%;display:block}.g3x-staff-programs h3,.g3x-staff-programs p{margin:0}.g3x-doc{border:1px solid var(--line);background:#fff;border-radius:10px;max-height:22rem;overflow-y:auto;padding:14px 16px;font-size:.92rem;line-height:1.5}.g3x-doc p{margin:0 0 .7em}.g3x-doc ul{margin:0 0 .7em;padding-left:1.2em}.g3x-doc-h{font-weight:700;margin-top:.4em}.g3x-fillins{display:grid;gap:4px 12px;margin:0 0 .8em;padding:10px 12px;background:#fbf7ee;border-radius:8px}.g3x-fillins div{display:flex;flex-wrap:wrap;gap:6px}.g3x-fillins dt{font-weight:700}.g3x-fillins dd{margin:0}.g3x-outline{display:grid;gap:0;border:1px solid var(--line);border-radius:10px;background:#fff;overflow:hidden}.g3x-outline-row{display:flex;justify-content:space-between;gap:12px;padding:8px 12px;border-bottom:1px solid var(--line)}.g3x-outline-row:last-child{border-bottom:0}.g3x-outline-row.is-total{font-weight:800;font-size:1.08rem;background:#fbf7ee}.g3x-outline-note{padding:8px 12px;font-size:.86rem;color:var(--muted)}.g3x-tag{display:inline-block;width:fit-content;border-radius:999px;padding:2px 9px;font-size:.75rem;font-weight:700;border:1px solid currentColor;vertical-align:middle}.g3x-tag.g3x-ma-missing{color:#cc2738;background:#fff}.g3x-tag.g3x-ma-ok{color:#0b6346;background:#eef7f2}.g3x-disc-row{display:grid;gap:4px}.g3x-disc-row .g3x-tag{margin-left:44px}.g3x-ma-missing-line{color:#cc2738;font-weight:600}.g3x-sign-canvas{touch-action:none;background:#fff}.g3x-thanks-line{font-size:1.3rem;font-weight:700;line-height:1.35;margin:0}.g3x-status-pill{display:inline-block;background:#0b6346;color:#fff;border-radius:999px;padding:2px 10px}.g3x-compliance{color:#7a4b00;background:#fff4d6;border-color:#c98a00;text-transform:none}.g3x-esign-line{font-size:.88rem;overflow-wrap:anywhere}.tag.g3x-qcount{background:#0b6346;color:#fff;border-color:#0b6346;min-width:1.6em;text-align:center;display:inline-block}.g3x-queue-h{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.g3x-pe-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.g3x-pe-item{display:grid;grid-template-columns:2fr 1fr auto;gap:8px;align-items:end}.g3x-pe-sum p{margin:0}.g3x-cleared{border-color:#0b6346}.g3x-pdf-link{font-weight:700}.track.g3x-track5{grid-template-columns:repeat(5,minmax(0,1fr));gap:4px}.track.g3x-track5 .track-label{font-size:.74rem;line-height:1.15;overflow-wrap:normal;word-break:normal;hyphens:none;-webkit-hyphens:none}@media (max-width: 480px){.track.g3x-track5{gap:2px}.track.g3x-track5 .track-label{font-size:.62rem;letter-spacing:-.01em}.g3x-pe-item{grid-template-columns:1fr}.g3x-disc-row .g3x-tag{margin-left:0}}.g3x-tag.g3x-preview{color:#4a3a00;background:#fff4d6;border-color:#c98a00;font-size:.72rem;letter-spacing:.02em}h1 .g3x-tag.g3x-preview,h2 .g3x-tag.g3x-preview{font-family:Inter,system-ui,sans-serif;font-size:.8rem;vertical-align:middle}.g3x-preview-note{border-color:#c98a00;background:#fffaf0}.g3x-new-rates .g3x-outline-rows{margin:0}.g3x-new-close .g3x-thanks-line{margin:.4em 0}.g3x-esign-consent{border:2px solid var(--line)}.g3x-esign-list{margin:0;padding-left:1.2em;font-size:.9rem}.g3x-esign-list li{margin-bottom:.3em}.g3x-record-code{margin:0;font-size:.9rem;padding:6px 10px;border:1px dashed var(--line);border-radius:8px;width:fit-content}.g3x-consents .g3x-nose-label{font-size:.9rem}.g3x-sign-row{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:14px;align-items:start}.g3x-cancel-statement{font-weight:800;font-size:.86rem;line-height:1.35;border:2px solid #1f2a26;border-radius:8px;padding:10px 12px;margin:0;background:#fff}.g3x-cancel-details summary{cursor:pointer;font-weight:700}.g3x-cancel-form{border:2px dashed #1f2a26;border-radius:8px;padding:12px 14px;margin-top:10px;background:#fff;font-weight:700;font-size:.82rem;line-height:1.4}.g3x-cancel-form p{margin:0 0 .6em}.g3x-cancel-h{font-size:.95rem}.g3x-ma-optional{margin:0;font-weight:600;color:#0b6346}.g3x-entity{margin:0}@media (max-width: 640px){.g3x-sign-row{grid-template-columns:1fr}}@media print{.g3x-cancel-form{break-inside:avoid;page-break-before:always}}.g3x-trust{gap:1.1rem}.g3x-hero{position:relative;margin:0;border-radius:16px;overflow:hidden;box-shadow:0 6px 18px #0000001f}.g3x-hero-img{display:block;width:100%;height:auto;aspect-ratio:1150 / 766;object-fit:cover}.g3x-hero-logo{position:absolute;left:-2%;bottom:-2.5%;width:60%;box-sizing:border-box;padding:6% 9%;background:#fff;line-height:0;-webkit-mask-image:linear-gradient(to right,transparent 0,rgba(0,0,0,.55) 9%,#000 18%,#000 82%,rgba(0,0,0,.55) 91%,transparent 100%),linear-gradient(to bottom,transparent 0,rgba(0,0,0,.55) 10%,#000 20%,#000 80%,rgba(0,0,0,.55) 90%,transparent 100%);-webkit-mask-composite:source-in;mask-image:linear-gradient(to right,transparent 0,rgba(0,0,0,.55) 9%,#000 18%,#000 82%,rgba(0,0,0,.55) 91%,transparent 100%),linear-gradient(to bottom,transparent 0,rgba(0,0,0,.55) 10%,#000 20%,#000 80%,rgba(0,0,0,.55) 90%,transparent 100%);mask-composite:intersect;animation:g3xBadgeIn 1s cubic-bezier(.22,.8,.3,1) .25s both}.g3x-hero-logo img{display:block;width:100%;height:auto}@keyframes g3xBadgeIn{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion: reduce){.g3x-hero-logo{animation:none}}.g3x-trust-body{font-size:1.05rem;line-height:1.65;margin:0}.g3x-licenses{list-style:none;margin:0;padding:0;display:grid;gap:.35rem;color:#33413c}.g3x-licenses li{padding-left:1.1rem;position:relative}.g3x-licenses li:before{content:"";position:absolute;left:0;top:.6em;width:.45rem;height:.45rem;border-radius:50%;background:#0b6346}@media (max-width: 640px){.g3x-hero-logo{width:72%;padding:7.2% 10.8%}}.g3x-sa26 p{margin:.35em 0}.g3x-sa-title{font-weight:800;text-align:center;margin:.1em 0}.g3x-sa-h{font-weight:800;margin-top:1em!important}.g3x-sa-c{text-align:center}.g3x-sa-caps{font-weight:700}.g3x-sa-cap{font-size:.78rem;color:#555}.g3x-sa-footer,.g3x-sa-page{font-size:.72rem;color:#666;text-align:center;margin:.1em 0!important}hr.g3x-sa-break{border:0;border-top:1px dashed #b9c2bf;margin:14px 0}.g3x-sa-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px 14px;margin:10px 0}.g3x-sa-grid dt{font-size:.72rem;letter-spacing:.04em;color:#555}.g3x-sa-grid dd{margin:0;font-weight:700;overflow-wrap:anywhere}.g3x-sa-grid .sign-preview{max-width:240px}.g3x-sa-pending{font-weight:400;color:#8a5a00}.g3x-sa-box{border:2px solid #1f2a26;border-radius:6px;padding:6px 12px;margin:12px 0}.g3x-sa-initials{text-align:right;font-weight:800}.g3x-sa-invoice{border:1px solid #d5dcd9;border-radius:10px;padding:6px 14px;margin:12px 0;background:#fbfcfb}.g3x-sa-blanks{display:grid;grid-template-columns:1fr 2fr;gap:16px;margin:12px 0}.g3x-sa-line{display:block;border-bottom:1px solid #333;height:2em}.g3x-tag.g3x-approved{background:#0b6346;color:#fff}@media print{hr.g3x-sa-break{break-after:page;border:0}}.g3x-trust-top{display:flex;align-items:center;gap:10px;margin:0;flex-wrap:wrap;line-height:1.1}.g3x-tt-mark.logo-plate{border:1px solid var(--line);border-radius:6px;padding:2px 4px;line-height:0;flex:none}.g3x-tt-mark.logo-plate img{height:26px;width:auto}.g3x-tt-words{font-weight:700;font-size:1.15rem;color:var(--evergreen);letter-spacing:-.01em}.g3x-tt-hol{margin-left:auto;display:inline-flex;align-items:center;gap:.3rem;color:#cc2738}.g3x-tt-hol-text{font-family:Great Vibes,Brush Script MT,cursive;font-weight:400;font-size:clamp(2.1rem,6.2vw,2.9rem);line-height:1;letter-spacing:.01em;color:#cc2738;text-shadow:0 0 10px rgba(235,188,88,.55),0 0 2px rgba(235,188,88,.6);padding:.05em .1em .12em}.g3x-holly{width:2.1rem;height:auto;flex:none;filter:drop-shadow(0 0 4px rgba(235,188,88,.5))}@media (max-width: 640px){.g3x-trust-top{justify-content:center;row-gap:2px}.g3x-tt-hol{margin-left:0;width:100%;justify-content:center}}.g3x-motto-wrap{position:relative;margin-top:.4rem;padding-bottom:7.6%}.g3x-motto-block{background:linear-gradient(90deg,#0000,#000 16% 84%,#0000);color:#fff;border-radius:0;padding:.85rem 1rem .95rem;text-align:center;display:grid;gap:.25rem}.g3x-motto-lead{margin:0;color:#fff;font-family:Montserrat,Inter,system-ui,sans-serif;font-size:.85rem;font-weight:600;letter-spacing:.2em;opacity:.9}.g3x-motto{margin:0;color:#fff;font-family:Montserrat,Inter,system-ui,sans-serif;font-weight:600;font-size:clamp(1.02rem,3.7vw,1.6rem);letter-spacing:.08em;line-height:1.3}.g3x-pick legend.g3x-step-h,.g3x-step-h{font-family:var(--slab, inherit);font-size:1.32rem;font-weight:800;line-height:1.25;color:var(--ink, #1f2a26);letter-spacing:0;text-transform:none;margin:.35rem 0 .55rem;padding:0}@media (min-width: 900px){.g3x-pick legend.g3x-step-h,.g3x-step-h{font-size:1.55rem}}.g3x-click-callout{margin:-.15rem 0 .6rem;font-weight:800;font-size:1.05rem;line-height:1.35;color:#2a2100;background:var(--gold, #ebbc58);border:2px solid #d9a63a;border-radius:10px;padding:.55rem .8rem}.g3x-click-callout .g3x-cc-touch{display:none}@media (pointer: coarse){.g3x-click-callout .g3x-cc-touch{display:inline}.g3x-click-callout .g3x-cc-mouse{display:none}}.g3x-motto{text-wrap:balance}.g3x-motto span{white-space:nowrap}@media (max-width: 640px){.g3x-motto-block{background:linear-gradient(90deg,#0000,#000 9% 91%,#0000);padding:.8rem 10% .9rem}.g3x-motto{letter-spacing:.04em}}.g3x-motto-lights{position:absolute;left:14%;right:14%;bottom:0;line-height:0;pointer-events:none}.g3x-motto-lights .g3x-string{margin-top:0}.g3x-contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px;max-width:40rem}.g3x-contact-grid .g3x-cf-address{grid-column:1 / -1}.g3x-contact input{background:#fdecee;border:1px solid #E8A8B0}.g3x-contact input:focus{background:#fff5f6;border-color:#cc2738;outline:2px solid rgba(204,39,56,.25);outline-offset:1px}.g3x-contact input[aria-invalid=true]{border-color:#a81f2e}.g3x-field-err{color:#a81f2e;font-size:.85rem;font-weight:600}@media (max-width: 640px){.g3x-contact-grid{grid-template-columns:1fr}}.g3h-hero.is-skipped{opacity:.45;filter:grayscale(.4)}.g3x-describe textarea{min-height:6.5rem}.g3x-lights-on{border:0;padding:0;margin:0;display:grid;gap:10px}.g3x-lights-on legend{font-family:inherit;font-weight:800;font-size:1.25rem;color:var(--evergreen);padding:0;margin-bottom:8px}.g3x-lights-on .g3x-nose-list{grid-template-columns:1fr}.g3x-other-text{max-width:36rem}main a.g3x-addview,main button.g3x-addview,.g3x-addview{display:inline-block;background:none!important;border:0!important;padding:4px 0;color:#cc2738!important;font:inherit;font-weight:700;text-decoration:underline!important;text-decoration-line:underline!important;text-underline-offset:3px;cursor:pointer;text-align:left;box-shadow:none!important;min-height:0}.g3x-addview:hover{color:#a81f2e!important}.g3x-addview:focus-visible{outline:2px solid #CC2738;outline-offset:3px;border-radius:4px}.g3x-views,.g3x-view-picker{gap:10px}.g3x-view-q{margin:0;font-weight:700;color:var(--evergreen)}.g3x-view-choices{display:flex;flex-wrap:wrap;gap:8px}.g3x-view-choices .btn,.g3x-view-tabs .btn{flex:0 1 auto;min-width:7.5rem}.g3x-view-thumbs{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.g3x-view-thumb{display:grid;gap:4px;background:#fff;border:1px solid rgba(11,99,70,.18);border-radius:12px;padding:8px}.g3x-view-thumb img,.g3x-view-missing{width:100%;aspect-ratio:4 / 3;object-fit:cover;border-radius:8px;display:block;background:#f3efe6}.g3x-view-thumb strong{color:var(--evergreen)}.g3x-view-name{overflow-wrap:anywhere}main .btn.g3x-btn-sm{padding:6px 12px;min-height:36px;font-size:.9rem;justify-self:start}.g3x-view-tabs{display:flex;flex-wrap:wrap;gap:8px}.g3x-staff-views{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.g3x-staff-view{margin:0;display:grid;gap:6px}.g3x-staff-view figcaption{font-size:.85rem;color:#4a5752;overflow-wrap:anywhere}.g3x-board-tools{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem}.g3x-draw-instructions-link{margin-left:auto;background:none;border:none;padding:0;font:inherit;font-weight:700;color:#0b5fff;text-decoration:underline;cursor:pointer}.g3x-draw-instructions-link:hover{color:#0846b8}.g3x-modal-backdrop{position:fixed;inset:0;z-index:80;background:#0a12208c;display:flex;align-items:center;justify-content:center;padding:1rem}.g3x-modal{background:#fff;color:#1a1a1a;border-radius:12px;max-width:32rem;width:100%;max-height:min(88vh,36rem);overflow:auto;box-shadow:0 12px 40px #00000047;padding:1rem 1.1rem 1.1rem}.g3x-modal-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.6rem}.g3x-modal-head h2{margin:0;font-size:1.15rem}.g3x-di-steps{margin:0;padding-left:1.2rem}.g3x-di-steps li{margin:.35rem 0}.g3x-primary-photo{gap:.5rem}button.btn.g3x-btn-sm.g3x-btn-sign,.g3x-btn-sign,button.btn.g3x-btn-sign{background:#cc2738!important;color:#fff!important;border:1px solid #CC2738!important;font-weight:700}.g3x-ma-cta{margin-top:.75rem}

/* round23: light types one line; Notes+Light Size match drawing width; centered adventure header */
.g3x-studio .g3x-pick-row[aria-label="Light type"]{flex-wrap:nowrap;gap:6px;width:100%}
.g3x-studio .g3x-pick-row[aria-label="Light type"] .g3x-type{flex:1 1 0;min-width:0;padding:4px 6px;justify-content:center}
.g3x-studio .g3x-pick-row[aria-label="Light type"] .g3x-type-icon{width:100%;max-width:64px;height:28px}
.g3x-studio .g3x-pick-row[aria-label="Light type"] .g3x-type span{font-size:clamp(.62rem,.9vw + .45rem,.78rem);line-height:1.15;text-align:center;white-space:normal;hyphens:auto}
.g3x-studio > .g3x-size,.g3x-studio .g3x-size{max-width:none;width:100%;box-sizing:border-box}
.g3x-studio > .g3x-desc,.g3x-studio .g3x-notes,.g3x-studio .g3x-desc.g3x-notes{max-width:none;width:100%;box-sizing:border-box}
.stack > header{text-align:center}
.stack > header h1{text-align:center;text-wrap:balance}
.stack > header .lede{text-align:center;margin-inline:auto}

/* round24: trust screen — transparent hero logo; centered trust H1; 2x top mark; Christmas Lights = Happy Holidays font */
.g3x-hero-logo{background:transparent!important;background-color:transparent!important}
.g3x-trust > header,.g3x-trust > header h1{text-align:center;width:100%}
.g3x-tt-mark.logo-plate img{height:52px;width:auto}
.g3x-tt-words{font-family:Great Vibes,Brush Script MT,cursive;font-weight:400;font-size:clamp(1.85rem,5.2vw,2.65rem);line-height:1;letter-spacing:.01em;color:var(--evergreen);text-shadow:0 0 8px rgba(235,188,88,.35);padding:.05em .05em .1em}

/* round24b: motto band = G3 logo green #09938D (sampled from g3c-logo-original); motto font = G3 wordmark (Russo One); white text */
.g3x-motto-block{background:linear-gradient(90deg,#09938d00,#09938D 9% 91%,#09938d00)!important;color:#fff}
.g3x-motto-lead,.g3x-motto{font-family:Russo One,Montserrat,Inter,system-ui,sans-serif!important;font-weight:400!important;color:#fff!important}
.g3x-motto-lead{font-size:1rem;letter-spacing:.14em}
.g3x-motto{font-size:clamp(1.5rem,5.6vw,2rem);letter-spacing:.03em}
/* round24c: Your Design panel — text wraps inside white panel; Install Types red-nose bullets; Discounts at bottom */
.ticket{min-width:0;overflow-wrap:anywhere;word-break:normal}
.ticket>*,.ticket dl,.ticket dl div,.ticket dd,.ticket dt,.ticket li,.ticket p,.ticket span,.ticket strong,.ticket h2,.ticket h3{min-width:0;max-width:100%;overflow-wrap:anywhere}
.ticket dd{margin:0}
.ticket .g3x-tag{white-space:normal;max-width:100%}
.ticket .price-line{flex-wrap:wrap}
.ticket .price-line strong{margin-left:auto}
.ticket .track-label{overflow-wrap:anywhere;hyphens:auto}
.g3x-itypes-wrap{display:grid;gap:2px}
.g3x-itypes-h{font-size:1rem;font-weight:700;margin:6px 0 0;color:var(--ink,#1f2a26)}
.g3x-itypes{padding-left:12px!important}
.g3x-itype{justify-content:flex-start!important;align-items:center!important;gap:8px!important}
.g3x-ibullet{flex:none;width:22px;height:22px;display:inline-grid;place-items:center}
.g3x-ibullet svg{width:22px;height:22px;filter:drop-shadow(0 0 3px #cc27388c)}
.g3x-itype-label{flex:1 1 auto}
.g3x-itype .g3x-tag{margin-left:auto;flex:none}
.g3x-panel-disc{border-top:1px solid var(--line);padding-top:8px;display:grid;gap:4px}
.g3x-disc-list{margin:0;padding-left:1.2rem;display:grid;gap:2px}
/* round24d: one board + view selector tabs (Lights red/white, selected darker red) */
.g3x-view-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;justify-content:space-between}
.g3x-view-tabs{display:flex;flex-wrap:wrap;gap:6px;align-items:flex-start}
.g3x-view-tabs .g3x-vtab{min-height:38px;padding:6px 14px;font-weight:700}
main .g3x-view-tabs .g3x-vtab.is-chosen{background:#8e1524!important;border-color:#8e1524!important}
.g3x-view-tabs .g3x-views{display:contents}
.g3x-view-tabs .g3x-view-thumbs{display:none}
.g3x-addview-tab{display:inline-flex;align-items:center;min-height:38px;padding:6px 14px;border-radius:10px;font-weight:700;color:#fff!important;background:#cc2738!important;border:2px solid #cc2738;text-decoration:none!important}
.g3x-view-tabs .g3x-view-picker{flex-basis:100%}
.g3x-view-thumbs{grid-template-columns:1fr!important}
.g3x-view-thumb img{width:100%!important;height:auto!important;aspect-ratio:auto!important;object-fit:contain}
/* round24e: compact Steps 1-4 so the board shows without much scrolling */
.g3x-studio{gap:8px}
.g3x-studio-controls{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))!important;gap:8px!important}
.g3x-studio-controls .g3x-pick:last-child{grid-column:auto!important}
.g3x-studio .g3x-pick{padding:4px 8px 8px;border-radius:10px}
.g3x-studio .g3x-pick legend.g3x-step-h,.g3x-studio .g3x-step-h{font-size:.95rem!important;font-weight:800;margin:0 0 .25rem!important;line-height:1.2}
.g3x-studio .g3x-pick-row{gap:5px}
.g3x-studio .g3x-opt{min-height:34px;padding:3px 9px;font-size:.85rem;border-radius:8px}
.g3x-studio .g3x-type{padding:3px 6px!important}
.g3x-studio .g3x-pick-row[aria-label="Light type"] .g3x-type-icon{height:20px!important;max-width:52px}
.g3x-studio .g3x-swatch svg,.g3x-studio .g3x-swatch .g3x-bulb{width:14px;height:14px}
.g3x-studio .g3x-fine,.g3x-studio .g3x-extra{font-size:.74rem;margin:.2rem 0 0;line-height:1.3}
.g3x-studio .g3x-seq{gap:4px;margin-top:4px}
.g3x-studio .g3x-step-h4,.g3x-studio .g3x-step-h5{margin:.15rem 0 0!important}
.g3x-studio .g3x-size{gap:8px}
.g3x-studio .g3x-size .g3x-desc-label{font-size:.85rem}
/* round24f: add-view as a red tab; roomier Step 1 so Window/Arch fits */
main .g3x-view-tabs a.g3x-addview.g3x-addview-tab{display:inline-flex!important;align-items:center;min-height:38px;padding:6px 14px!important;border-radius:10px;font-weight:700;color:#fff!important;background:#cc2738!important;border:2px solid #cc2738!important;text-decoration:none!important;font-size:1rem;margin:0!important}
.g3x-studio-controls{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))!important}
.g3x-studio .g3x-pick-row[aria-label="Light type"] .g3x-type span{font-size:.74rem!important;white-space:nowrap}
/* round24g: compact SMS permission at the end + gentle reminder */
.g3x-sms-mini{padding:10px 12px;display:grid;gap:6px}
.g3x-sms-mini-h{font-size:1rem;font-weight:700;margin:0}
.g3x-sms-mini .g3x-sms-check{min-height:0;padding:8px 10px;gap:10px;align-items:flex-start}
.g3x-sms-mini .g3x-nose-box{width:24px;height:24px}
.g3x-sms-mini .g3x-nose-box svg{width:20px;height:20px}
.g3x-sms-line{font-size:.8rem;font-weight:500;line-height:1.35}
.g3x-sms-remind{border:1px solid #cc2738;background:#fbe9eb;border-radius:10px;padding:10px 12px;display:grid;gap:8px}
.g3x-sms-remind p{margin:0;font-weight:600;color:#8e1524}
.g3x-sms-remind-actions{display:flex;flex-wrap:wrap;gap:8px}
/* round24h: PDF link directly above Sign Agreement */
.g3x-pdf-above-sign{margin:8px 0 4px;font-weight:700}
.g3x-pdf-above-sign+.g3x-ma-cta{margin-top:4px}
/* round25: number-of-colors picker, merged color order, trash can, touch */
.g3x-studio .g3x-ncolors{display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;flex-wrap:nowrap;width:100%}
.g3x-studio .g3x-ncolors .g3x-scheme{min-width:0;min-height:40px;padding:4px 0;justify-content:center;font-weight:700;font-size:1rem}
.g3x-studio .g3x-order-h{margin:6px 0 2px;font-size:.82rem;font-weight:700;color:var(--evergreen)}
.g3x-studio .g3x-swatches{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:6px}
.g3x-studio .g3x-swatch{min-width:0;justify-content:flex-start;font-size:.8rem;white-space:nowrap}
@media (max-width:480px){.g3x-studio .g3x-swatches{grid-template-columns:repeat(4,minmax(0,1fr))}.g3x-studio .g3x-swatch{padding:4px;font-size:.68rem;gap:3px}}
.g3x-studio .g3x-pick-row[aria-label="Light type"]{display:flex!important;flex-wrap:nowrap!important}
.g3x-board .g3x-trash,.g3x-trash{position:absolute;right:8px;bottom:8px;z-index:6;width:44px;height:44px;border-radius:50%;border:2px solid #fff;background:#CC2738;color:#fff;display:inline-flex;align-items:center;justify-content:center;padding:0;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.35);touch-action:manipulation}
.g3x-trash:hover,.g3x-trash:focus-visible{background:#8E1524}
.g3x-view-thumb{position:relative}
.g3x-view-thumb .g3x-trash-card{right:14px;bottom:14px}
.g3x-board.is-live,.g3x-board.is-live .g3x-board-stage,.g3x-board.is-live .g3x-board-svg{touch-action:none;-webkit-tap-highlight-color:transparent;overscroll-behavior:contain}
.g3x-zoom-bar .g3x-opt{touch-action:manipulation;padding:4px 10px;font-size:.85rem;min-height:36px}
.g3x-di-types{margin:.35rem 0 0;padding-left:1.1rem;display:grid;gap:.3rem}
@media (max-width:480px){.g3x-studio .g3x-swatch{white-space:normal;line-height:1.1;text-align:left;min-height:36px}.g3x-studio .g3x-swatch span{overflow-wrap:normal;word-break:normal}
.g3x-zoom-bar{flex-wrap:nowrap!important;gap:4px!important}.g3x-zoom-bar .g3x-opt{font-size:.74rem;padding:4px 7px;min-width:34px!important;line-height:1.1;white-space:normal;text-align:center}.g3x-zoom-level{font-size:.7rem;white-space:nowrap}}
/* round26: Christmas-tree progress, Install Date box, Order Review */
.beats.g3x-trees{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:4px;margin:0 0 6px;padding:0;list-style:none}
.g3x-trees li{display:flex;flex-direction:column;align-items:center;gap:2px;border:0!important;padding:2px 0 0!important;text-align:center;color:var(--muted);font-size:.72rem;line-height:1.15}
.g3x-trees .g3x-tree{width:30px;height:38px;overflow:visible}
.g3x-trees li.is-done{color:var(--evergreen);font-weight:600}
.g3x-trees li.is-current{color:var(--ink);font-weight:800}
.g3x-trees li.is-current .g3x-tree-label{border-bottom:3px solid #CC2738;padding-bottom:1px}
.g3x-trees li.is-current .g3x-tree{transform:scale(1.12)}
.g3x-trees li.is-future .g3x-tree{opacity:.78}
.g3x-tree.is-lit .g3x-tree-star{filter:drop-shadow(0 0 3px #FFD54A) drop-shadow(0 0 6px rgba(255,213,74,.8));animation:g3xStar 1.8s ease-in-out infinite;transform-origin:20px 7px}
.g3x-tree.is-lit .g3x-tree-bulb{filter:drop-shadow(0 0 1.5px currentColor);animation:g3xTwinkle 1.6s ease-in-out infinite}
@keyframes g3xStar{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.85;transform:scale(1.12)}}
@keyframes g3xTwinkle{0%,100%{opacity:1}50%{opacity:.45}}
@media (prefers-reduced-motion:reduce){.g3x-tree.is-lit .g3x-tree-star,.g3x-tree.is-lit .g3x-tree-bulb{animation:none}}
@media (max-width:480px){.g3x-trees li{font-size:.6rem}.g3x-trees .g3x-tree{width:24px;height:30px}}
.g3x-idate{display:grid;gap:8px}
.g3x-idate h2,.g3x-order-review h2{margin:0;font-size:1.25rem}
.g3x-idate-box{border:3px solid #0B6346;border-radius:18px;background:#fff;padding:22px 12px;text-align:center;font-size:clamp(1.8rem,5vw,2.6rem);font-weight:800;color:#0B6346;letter-spacing:.02em;box-shadow:inset 0 0 0 4px #E8F3EE,0 4px 14px rgba(11,99,70,.12)}
.g3x-idate-box.is-set{font-size:clamp(1.25rem,4vw,1.9rem)}
.g3x-idate-note{margin:0;text-align:center;color:var(--muted);font-size:.9rem}
.g3x-order-review{display:grid;gap:10px}
.g3x-or-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}
.g3x-or-item{background:#FCF8E4;border:1px solid rgba(11,99,70,.2);border-top:4px solid #CC2738;border-radius:12px;padding:10px;min-width:0;overflow-wrap:anywhere}
.g3x-or-item h3{margin:0 0 6px;font-size:.82rem;color:#0B6346;text-transform:none}
.g3x-or-list{margin:0;padding-left:1rem;display:grid;gap:2px;font-size:.9rem}
.g3x-or-n{margin:0 0 4px;font-weight:700}
.g3x-or-seq{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px 8px;font-size:.82rem}
.g3x-or-seq li{display:inline-flex;align-items:center;gap:3px;counter-increment:none}
.g3x-or-seq .g3x-bulb-icon{width:14px;height:14px}
.g3x-or-notes{margin:0;font-size:.9rem;white-space:pre-wrap}
@media (max-width:480px){.g3x-or-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.g3x-or-item[data-or=notes]{grid-column:1 / -1}}
/* round27: Verify Readiness weather note + reminder template (staff) */
.g3x-weather-note{text-align:center;justify-content:center;margin-inline:auto;max-width:640px;line-height:1.45}
.g3x-reminder-settings .g3x-tpl{white-space:pre-wrap;word-break:break-word;background:#FCF8E4;border:1px solid rgba(11,99,70,.2);border-radius:10px;padding:10px;font:inherit;font-size:.9rem;margin:0}
.g3x-reminder-settings h3{margin:.4rem 0 0;font-size:.9rem;color:#0B6346}
/* round28: project tab, payments, installer, nav buttons, gallery rows */
.g3x-proj-head h1{margin:0}
.g3x-proj-addr{margin:.15rem 0 0;color:var(--muted);font-weight:600}
.g3x-order-review .g3x-proj-pay{border-top:1px solid rgba(11,99,70,.2);padding-top:10px;display:grid;gap:8px}
.g3x-proj-price{display:grid;gap:2px}
.g3x-proj-price>span:first-child{font-size:.82rem;font-weight:700;color:#0B6346;text-transform:uppercase;letter-spacing:.04em}
.g3x-proj-price strong{font-size:1.5rem;color:var(--ink)}
.g3x-pay-btns{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.g3x-pay-btns .btn{width:100%;justify-content:center}
.g3x-pay-methods{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:6px}
.g3x-pay-method{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:10px;padding:10px;background:#fff;cursor:pointer;font-weight:600}
.g3x-pay-method.is-on{border-color:#CC2738;box-shadow:inset 0 0 0 1px #CC2738;background:#FDECEE}
.g3x-fee-notice{border-left:4px solid #CC2738}
.g3x-inst-name{display:grid;gap:2px;margin:0}
.g3x-taskq li.is-done{opacity:.6}
.customer-nav.g3x-navbtns{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.customer-nav a.g3x-navbtn{background:#CC2738;color:#fff!important;border-radius:999px;padding:6px 14px;min-height:38px;text-decoration:none!important;font-weight:700;justify-content:center;border:2px solid rgba(255,255,255,.35);white-space:nowrap}
.customer-nav a.g3x-navbtn[aria-current=page]{background:#8E1524;border-color:#fff;text-decoration:none}
.customer-nav a.g3x-navbtn:hover{background:#B11F2F}
@media (max-width:480px){.customer-nav.g3x-navbtns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.customer-nav a.g3x-navbtn{padding:5px 4px;font-size:.74rem;min-height:36px;white-space:normal;text-align:center;line-height:1.1}}
.g3x-gc-row{display:flex;align-items:center;gap:12px}
.g3x-gc-row .swatch{flex:0 0 auto}
.g3x-gc-text{min-width:0}
.g3x-gc-text h2{margin:0}
.g3x-gc-text p{margin:.1rem 0 0}
@media (max-width:480px){.g3x-gc-row{gap:8px}.g3x-gc-row .swatch{width:28px;height:28px}.gallery-card{padding:10px}}

/* r29 referrals */
.g3x-refpage header h1{margin:0}
.g3x-rewards{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;border:3px solid #0B6346}
.g3x-rewards h2{margin:0}
.g3x-rewards-amt{margin:0;font-size:clamp(2rem,6vw,2.8rem);font-weight:800;color:#0B6346;line-height:1}
.g3x-refshare{display:grid;grid-template-columns:auto minmax(0,1fr);gap:20px;align-items:center}
.g3x-qrcard{margin:0;background:#fff;border-radius:28px;padding:22px 22px 16px;box-shadow:0 10px 30px rgba(31,42,38,.14),0 2px 6px rgba(31,42,38,.08);display:grid;justify-items:center;gap:12px;width:264px;box-sizing:border-box;border:1px solid rgba(31,42,38,.06)}
.g3x-qrcard-qr{width:220px;height:220px}
.g3x-qrcard-qr svg{width:220px;height:220px;display:block}
.g3x-qrcard-handle{display:flex;align-items:center;gap:6px;font-weight:900;letter-spacing:.04em;font-size:1.32rem;line-height:1.1;background:linear-gradient(90deg,#CC2738 0%,#B3202F 45%,#0B6346 100%);-webkit-background-clip:text;background-clip:text;color:transparent;text-align:center;word-break:break-all}
.g3x-qrcard-star{color:#E2A400;-webkit-text-fill-color:#E2A400;font-size:1rem}
.g3x-refurl{display:grid;grid-template-columns:minmax(0,1fr);min-width:0;gap:10px;background:#fff;border-radius:22px;padding:18px;box-shadow:0 6px 20px rgba(31,42,38,.08);border:1px solid rgba(31,42,38,.06)}
.g3x-refurl-k{margin:0;font-weight:800;font-size:1.15rem;color:#0B6346}
.g3x-refurl-lede{margin:0;font-size:.95rem;color:#3c4a44}
.g3x-refurl-pill{display:flex;min-width:0;overflow:hidden;align-items:center;gap:8px;background:#FFF5F6;border:2px solid #CC2738;border-radius:999px;padding:6px 6px 6px 16px;transition:border-color .2s,background .2s}
.g3x-refurl-pill.is-copied{border-color:#0B6346;background:#EEF8F2}
.g3x-refurl-text{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.9rem;color:#1F2A26}
.g3x-copy{flex:none;width:44px;height:44px;border-radius:50%;border:0;background:#CC2738;color:#fff;display:grid;place-items:center;cursor:pointer}
.g3x-copy:hover{background:#B11F2F}
.g3x-refurl-pill.is-copied .g3x-copy{background:#0B6346}
.g3x-copied{margin:0;min-height:1.2em;font-weight:700;color:#0B6346;font-size:.92rem}
.g3x-ref-flow{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0}
.g3x-ref-arrow{color:#8a948f;font-weight:700}
.g3x-ref-rows{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.g3x-ref-rows li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-radius:12px;background:#FBF8EF;border:1px solid rgba(31,42,38,.08)}
.g3x-ref-ident{font-weight:700;word-break:break-word;min-width:0}
.g3x-chip{display:inline-block;flex:none;border-radius:999px;padding:3px 10px;font-size:.78rem;font-weight:800;letter-spacing:.02em;border:1.5px solid transparent;white-space:nowrap}
.g3x-chip-submitted{background:#EEF1F6;color:#35507A;border-color:#B8C6DC}
.g3x-chip-reviewed{background:#FFF4D6;color:#7A5600;border-color:#E8C866}
.g3x-chip-accepted{background:#E3F4EA;color:#0B6346;border-color:#8FCBA8}
.g3x-chip-paid{background:#0B6346;color:#fff;border-color:#0B6346}
.g3x-refform h2{line-height:1.25}
.g3x-ref-told{align-items:flex-start;gap:10px;font-weight:600}
.g3x-ref-told input{width:22px;height:22px;flex:none;margin-top:1px;accent-color:#CC2738}
.btn.g3x-send-contact{background:#CC2738;color:#fff;border:0;font-weight:800;min-height:48px}
.btn.g3x-send-contact:hover:not(:disabled){background:#B11F2F}
main .btn.g3x-send-contact:disabled,.btn.g3x-send-contact:disabled{background:#D5D8D6!important;border-color:#D5D8D6!important;color:#6F7873!important;cursor:not-allowed;box-shadow:none!important;opacity:1}
main .btn.g3x-send-contact:not(:disabled){background:#CC2738!important;border-color:#CC2738!important;color:#fff!important}
main .btn.g3x-send-contact:hover:not(:disabled){background:#B11F2F!important;border-color:#B11F2F!important}
.g3x-ref-sent{margin:0;color:#0B6346;font-weight:700}
@media (max-width:640px){.g3x-refshare{grid-template-columns:minmax(0,1fr);justify-items:center}.g3x-refurl{width:100%;box-sizing:border-box}}
@media (max-width:480px){.g3x-qrcard{width:236px;padding:18px 18px 14px;border-radius:24px}.g3x-qrcard-qr,.g3x-qrcard-qr svg{width:200px;height:200px}.g3x-qrcard-handle{font-size:1.15rem}}
main .g3x-refurl-pill button.g3x-copy{border-radius:50%!important;background:#CC2738!important;border:0!important;padding:0!important;width:44px;height:44px;min-height:44px;min-width:44px}
main .g3x-refurl-pill button.g3x-copy:hover{background:#B11F2F!important}
main .g3x-refurl-pill.is-copied button.g3x-copy{background:#0B6346!important}

/* r30 QR name tag */
@font-face{font-family:"G3X Barlow Condensed";src:url(g3x-barlow-cond-700.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}
.g3x-qrcard{margin:0;background:#fff;border:1.5px solid #D6D6D6;border-radius:26px;padding:26px 26px 20px;box-shadow:none;display:grid;justify-items:center;gap:14px;width:272px;box-sizing:border-box}
.g3x-qrcard-qr{width:220px;height:220px;line-height:0}
.g3x-qrcard-qr svg{width:220px;height:220px;display:block;filter:none!important}
.g3x-qrcard-handle{font-family:"G3X Barlow Condensed","Barlow Condensed","Roboto Condensed","Arial Narrow","Avenir Next Condensed",sans-serif;font-stretch:condensed;font-weight:700;text-transform:uppercase;font-size:2.15rem;line-height:1;letter-spacing:.015em;color:#161616;background:none;-webkit-background-clip:border-box;background-clip:border-box;-webkit-text-fill-color:#161616;text-align:center;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}
@media (max-width:480px){.g3x-qrcard{width:252px;padding:22px 22px 16px;border-radius:24px}.g3x-qrcard-qr,.g3x-qrcard-qr svg{width:206px;height:206px}.g3x-qrcard-handle{font-size:2rem}}
/* r30 hero logo thin white outline */
.g3x-hero-logo img{filter:drop-shadow(0 0 .5px #fff) drop-shadow(0 0 .5px #fff) drop-shadow(0 0 .8px rgba(255,255,255,.85))}
/* r30 trees in Your Design */
.track-step .bulb.g3x-track-tree{width:22px;height:28px;border-radius:0;background:none!important;box-shadow:none!important;border:0;display:block;line-height:0}
.track-step .bulb.g3x-track-tree .g3x-tree{width:22px;height:28px;display:block}
.track-step.is-current .bulb.g3x-track-tree .g3x-tree{filter:drop-shadow(0 0 3px rgba(235,188,88,.9))}
.ticket dl div.g3x-drow{grid-template-columns:20px minmax(0,1fr);column-gap:8px;row-gap:0;align-items:start}
.g3x-drow .g3x-drow-tree{grid-row:1/span 2;grid-column:1;width:20px;height:25px;line-height:0;margin-top:1px}
.g3x-drow .g3x-drow-tree .g3x-tree{width:20px;height:25px;display:block}
.g3x-drow dt,.g3x-drow dd{grid-column:2;min-width:0}
.g3x-tree-h{display:flex;align-items:center;gap:8px}
.g3x-tree-h .g3x-tree{width:18px;height:23px;flex:none}

/* r30 D: light types stacked vertically */
.g3x-studio .g3x-pick-row[aria-label="Light type"]{display:flex!important;flex-direction:column!important;flex-wrap:nowrap!important;align-items:stretch;gap:6px;width:100%}
.g3x-studio .g3x-pick-row[aria-label="Light type"] .g3x-type{flex:none!important;width:100%;min-width:0;flex-direction:row;justify-content:flex-start;align-items:center;gap:12px;padding:8px 14px!important;min-height:48px;box-sizing:border-box}
.g3x-studio .g3x-pick-row[aria-label="Light type"] .g3x-type-icon{width:72px!important;max-width:72px!important;height:26px!important;flex:none}
.g3x-studio .g3x-pick-row[aria-label="Light type"] .g3x-type span{font-size:1rem!important;white-space:nowrap;text-align:left;font-weight:700}

/* r30 E: Santa's Canvas option cards */
.g3x-ncphoto .g3h-option,.g3x-src-options .choice,.g3x-src-options .g3x-viewup{text-align:center;justify-items:center;align-content:start}
.g3x-ncphoto .g3h-option .g3x-file-row,.g3x-src-options .g3x-file-row{justify-content:center;flex-wrap:wrap}
.g3x-src-options .choice{display:grid;gap:4px;align-items:center}
.g3x-viewup{gap:10px}
.g3x-viewup-sel{display:grid;gap:4px;justify-items:center;width:100%}
.g3x-viewup-k{font-weight:700}
.g3x-viewup select{width:100%;max-width:260px;min-height:44px;border-radius:10px;border:2px solid #CC2738;background:#fff;color:#1F2A26;font:inherit;font-weight:700;text-align:center;text-align-last:center;padding:6px 10px}
.g3x-viewup-desc{text-align:center}
.g3x-viewup-ok{margin:0;color:#0B6346;font-weight:700}
.g3x-viewup-have{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px;justify-content:center}
.g3x-viewup-have:empty{display:none}
.g3x-viewup-have li{background:#E3F4EA;color:#0B6346;border:1.5px solid #8FCBA8;border-radius:999px;padding:2px 10px;font-size:.8rem;font-weight:700}
.g3x-src-options .g3x-viewup{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:14px}
@media (min-width:761px){.g3x-src-options3>[data-card=use]{grid-column:1;grid-row:1}.g3x-src-options3>[data-card=upload]{grid-column:2;grid-row:1}.g3x-src-options3>[data-card=skip]{grid-column:3;grid-row:1}.g3x-src-options3>[data-card=view-upload]{grid-column:2;grid-row:2}
.g3x-src-options>.g3x-viewup{grid-column:3;grid-row:2}}

/* r30 F: Step 6 full page + locked after submit */
.g3x-program-head{margin:0;color:#fff;background:#a81f2e;border-radius:10px 10px 0 0;min-height:48px;padding:12px 16px;font-weight:700;font-size:1rem;display:flex;align-items:center;box-shadow:inset 0 0 0 2px #fff}
fieldset.g3x-lockable{border:0;margin:0;padding:0;min-width:0;display:grid;gap:var(--gap,16px)}
fieldset.g3x-lockable.is-locked{position:relative}
fieldset.g3x-lockable.is-locked .g3x-nose-item,fieldset.g3x-lockable.is-locked label,fieldset.g3x-lockable.is-locked input{cursor:not-allowed}
fieldset.g3x-lockable.is-locked input:disabled+.g3x-nose-box{opacity:1}
fieldset.g3x-lockable.is-locked button:disabled{opacity:.6}
.g3x-locked-pill{display:inline-block;margin:4px 0 0;background:#0B6346;color:#fff;border-radius:999px;padding:4px 12px;font-weight:800;font-size:.85rem;letter-spacing:.02em}
.g3x-locked-summary{gap:12px}

/* r30 G: Order Review centered titles + design thumbnails */
.g3x-or-item h3{text-align:center}
.g3x-or-thumbs-wrap{margin-top:12px;display:grid;gap:8px}
.g3x-or-thumbs-h{text-align:center;margin:0}
.g3x-or-thumbs{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
main button.g3x-or-thumb{all:unset;box-sizing:border-box;display:grid;gap:4px;width:100%;cursor:zoom-in;background:#fff!important;border:1.5px solid #E2DDD0!important;border-radius:12px!important;padding:6px!important;color:#1F2A26!important;box-shadow:none!important}
main button.g3x-or-thumb:hover{border-color:#CC2738!important;background:#fff!important}
main button.g3x-or-thumb:focus-visible{outline:3px solid var(--gold,#d9a520);outline-offset:2px}
.g3x-or-thumb-img{display:block;border-radius:8px;overflow:hidden;line-height:0;pointer-events:none}
.g3x-or-thumb-img .g3x-zoom-bar,.g3x-or-thumb-img .g3x-trash{display:none!important}
.g3x-or-thumb-cap{text-align:center;font-weight:700;font-size:.85rem;color:#1F2A26!important}
.g3x-or-big{line-height:0}
.g3x-or-big .g3x-trash{display:none!important}
@media (max-width:480px){.g3x-or-thumbs{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}}
/* r30 J: Pricing Review progress trees on Project tab */
.track-step.is-upcoming .bulb.g3x-track-tree .g3x-tree{opacity:.55}
.track-step.is-current .bulb.g3x-track-tree .g3x-tree{opacity:1;filter:drop-shadow(0 0 4px rgba(235,188,88,.95))}
.g3x-project-pricing .track{gap:6px;padding-top:4px}
.g3x-project-pricing .track-step .bulb.g3x-track-tree,.g3x-project-pricing .track-step .bulb.g3x-track-tree .g3x-tree{width:30px;height:38px}
.g3x-project-pricing .track.g3x-track5 .track-label{font-size:.78rem}
@media (max-width:480px){.g3x-project-pricing .track-step .bulb.g3x-track-tree,.g3x-project-pricing .track-step .bulb.g3x-track-tree .g3x-tree{width:24px;height:30px}.g3x-project-pricing .track.g3x-track5 .track-label{font-size:.64rem}}

/* r30 K: primary installer photo + bio */
.g3x-inst-row{display:flex;align-items:center;gap:14px}
.g3x-inst-photo{width:84px;height:84px;border-radius:50%;object-fit:cover;flex:none;border:3px solid #0B6346;background:#F3EFE3;display:grid;place-items:center;box-sizing:border-box}
.g3x-inst-photo.is-placeholder .g3x-tree{width:40px;height:50px}
.g3x-inst-text{min-width:0;display:grid;gap:2px}
.g3x-inst-text p{margin:0}
.g3x-inst-name strong{font-size:1.1rem}
.g3x-inst-bio{margin-top:4px!important;white-space:pre-line;overflow-wrap:anywhere}
.g3x-inst-soon{font-style:italic}
.g3x-inst-li{display:grid!important;gap:10px}
.g3x-inst-li-head{display:flex;justify-content:space-between;gap:10px;align-items:center}
.g3x-inst-edit{display:grid;gap:8px;border-top:1px solid var(--line);padding-top:10px}
.g3x-inst-edit-photo{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.g3x-inst-edit .g3x-inst-photo{width:64px;height:64px}
.g3x-inst-edit .g3x-inst-photo.is-placeholder .g3x-tree{width:30px;height:38px}
.g3x-inst-msg{margin:0;color:#0B6346;font-weight:700}
@media (max-width:480px){.g3x-inst-photo{width:72px;height:72px}}

/* r30 L: Request a Repair page */
.g3x-repair-hist-h{margin:4px 0 0}
.g3x-repair-hist li>span{display:grid;gap:4px}
.g3x-repair textarea{width:100%;box-sizing:border-box}
.g3x-repair-page .g3x-proj-addr{margin:0}

/* r30 M: Santa's New Helper Application nav button */
.customer-nav a.g3x-navbtn.g3x-navbtn-app{display:inline-flex;align-items:center;gap:6px}
.g3x-elf{width:20px;height:20px;flex:none;display:block;filter:none!important}
.g3x-elf.is-flip{transform:scaleX(-1)}
@media (max-width:480px){.customer-nav a.g3x-navbtn.g3x-navbtn-app{grid-column:1/-1;display:flex;justify-content:center;white-space:nowrap;font-size:.82rem}}
/* R30-P: project ID line in Order Review / Light Install Summary */
.g3x-project-id{margin:-.15rem 0 .35rem;text-align:center;font-size:.86rem;color:#5b6660;overflow-wrap:anywhere}
.g3x-project-id b{color:#1f2a26;font-weight:700}
.g3x-pid{overflow-wrap:anywhere}
/* R30-Q/R: self-hosted Barlow Condensed (OFL) so the staff ALL CAPS font renders the same on every device */
@font-face{font-family:"Barlow Condensed";src:url(g3x-barlowcond-400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Barlow Condensed";src:url(g3x-barlowcond-500.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Barlow Condensed";src:url(g3x-barlowcond-600.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Barlow Condensed";src:url(g3x-barlowcond-700.woff2) format("woff2");font-weight:700 900;font-style:normal;font-display:swap}
/* R30-Q: one heading/body family across client + staff (slab headings now use the client sans); ALL CAPS items (kickers, dt, th, tabs, badges) keep Barlow Condensed */
:root{--slab:Inter,"Segoe UI",Helvetica,Arial,sans-serif;--g3x-btnfont:"Barlow Condensed","Arial Narrow",sans-serif;--g3x-btnw:400}
.staff-app h1,.staff-app h2,.staff-app h2.display,.staff-app h3,.staff-app .stat b{font-family:var(--sans)}
.staff-app h1{font-weight:650;letter-spacing:-.02em}
.staff-app h2,.staff-app h2.display{font-weight:700}
/* R30-R: every button in the Lights app uses the staff header-button style (Barlow Condensed, uppercase, .04em) */
button,.btn,a.btn,.btn-secondary,.btn-text,.btn-quiet,a.g3x-navbtn,.customer-nav a.g3x-navbtn,.staff-tabs a,input[type=submit],input[type=button],input[type=reset],[role=button],label.btn,main button,main .btn,main .btn-text,button.btn.g3x-btn-sign,.g3x-btn-sign,.btn.g3x-send-contact{font-family:var(--g3x-btnfont)!important;text-transform:uppercase!important;letter-spacing:.04em!important;font-weight:var(--g3x-btnw)!important}
input[type=file]::file-selector-button{font-family:var(--g3x-btnfont)!important;text-transform:uppercase!important;letter-spacing:.04em!important;font-weight:var(--g3x-btnw)!important}
.staff-tabs a{font-weight:400!important}
/* descriptive text inside card-style buttons stays in the body font */
:is(button,.btn,[role=button]) :is(p,small,.fine,.muted,.desc,em,dd,li){font-family:var(--sans)!important;text-transform:none!important;letter-spacing:normal!important;font-weight:400!important}
/* underline text-links that are <button>s (e.g. Add a View) keep their link look but use the button font */
main a.g3x-addview,main button.g3x-addview,.g3x-addview{text-transform:uppercase!important}
@media (max-width:600px){.customer-nav a.g3x-navbtn{font-size:.82rem;letter-spacing:.03em!important}.customer-nav a.g3x-navbtn.g3x-navbtn-app{font-size:.86rem}}
/* R30-S: staff Estimate rate cards — stacked options with Rudolph-nose bullets */
.g3x-est-list{list-style:none;margin:.25rem 0 .35rem;padding:0;display:grid;gap:6px}
.g3x-est-li{display:grid;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:8px;min-width:0;padding:6px 0;border-bottom:1px solid #1f2a2614}
.g3x-est-li:last-child{border-bottom:0}
.g3x-est-li::before{content:"";width:16px;height:16px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cdefs%3E%3CradialGradient id='g' cx='38%25' cy='34%25' r='70%25'%3E%3Cstop offset='0' stop-color='%23FF6A78'/%3E%3Cstop offset='.55' stop-color='%23CC2738'/%3E%3Cstop offset='1' stop-color='%238E1524'/%3E%3C/radialGradient%3E%3C/defs%3E%3Ccircle cx='12' cy='12' r='10' fill='url(%23g)'/%3E%3Cellipse cx='9' cy='8.4' rx='3' ry='1.8' fill='%23fff' opacity='.9' transform='rotate(-32 9 8.4)'/%3E%3C/svg%3E") center/contain no-repeat;filter:drop-shadow(0 0 2px #cc273855)}
.g3x-est-opt{font-weight:600;min-width:0;overflow-wrap:anywhere}
.g3x-est-amt{font-weight:700;white-space:nowrap;text-align:right}
.g3x-est-rates .card h2{margin-bottom:.15rem}
/* R30-T: sort / status filter (red buttons, ALL CAPS font from R) */
.g3x-est-controls{gap:10px}
.g3x-est-ctl-h{margin:0}
.g3x-est-ctl{display:grid;grid-template-columns:64px minmax(0,1fr);align-items:start;gap:8px}
.g3x-est-ctl-l{font-family:var(--cond);text-transform:uppercase;letter-spacing:.08em;font-weight:600;padding-top:9px;font-size:.92rem}
.g3x-est-btns{display:flex;flex-wrap:wrap;gap:6px;min-width:0}
main button.g3x-est-btn,button.g3x-est-btn{background:#CC2738!important;color:#fff!important;border:2px solid #CC2738!important;border-radius:999px!important;min-height:38px;padding:5px 12px!important;font-size:.9rem;line-height:1.1;white-space:normal;text-align:center;max-width:100%;cursor:pointer}
main button.g3x-est-btn[aria-pressed=true],button.g3x-est-btn[aria-pressed=true]{background:#8E1524!important;border-color:#fff!important;box-shadow:0 0 0 2px #8E1524}
main button.g3x-est-btn:hover{background:#B11F2F!important}
.g3x-est-n{opacity:.85}
.g3x-est-showing{margin:0}
.g3x-est-name{letter-spacing:.01em}
@media (max-width:600px){.g3x-est-ctl{grid-template-columns:minmax(0,1fr)}.g3x-est-ctl-l{padding-top:0}main button.g3x-est-btn{font-size:.84rem;padding:5px 10px!important}.g3x-est-rates{grid-template-columns:minmax(0,1fr)!important}}
/* R30: visually-hidden file inputs must not widen the page (desktop 1377px overflow) */
.g3x-file-input,.g3h-upload input[type=file].g3x-file-input{width:1px!important;max-width:1px!important;min-width:0!important;left:0}
/* R30-U: referral status boxes = red outline, white interior, red text (client + staff) */
.g3x-ref-rows li{background:#fff;border:2px solid #CC2738;color:#CC2738;flex-wrap:wrap}
.g3x-ref-rows li .g3x-ref-ident{color:#CC2738;font-weight:700;min-width:0;overflow-wrap:anywhere}
.g3x-ref-rows .g3x-chip,.g3x-ref-rows .g3x-chip[class*=g3x-chip-]{background:#fff!important;color:#CC2738!important;border:2px solid #CC2738!important}
.g3x-ref-rows li[data-ref-status="Referral PAID"]{border-color:#8E1524;color:#8E1524}
.g3x-ref-rows li[data-ref-status="Referral PAID"] .g3x-chip{color:#8E1524!important;border-color:#8E1524!important}
main .g3x-refstaff .person-list button.person{background:#fff!important;color:#CC2738!important;border:2px solid #CC2738!important;border-radius:12px;text-align:left}
main .g3x-refstaff .person-list button.person *{color:#CC2738}
main .g3x-refstaff .person-list button.person.is-on{border:3px solid #8E1524!important;color:#8E1524!important}
main .g3x-refstaff .person-list button.person.is-on *{color:#8E1524}
main .g3x-refstaff .person-list button.person:hover{background:#FFF5F6!important}
/* R30-U: Referral PAID breakout */
.g3x-ref-payout{flex-basis:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:4px 0 0;padding:8px 10px;border-top:1px dashed #CC273866}
.g3x-ref-payout div{min-width:0}
.g3x-ref-payout dt{font-family:var(--cond);text-transform:uppercase;letter-spacing:.06em;font-size:.78rem;font-weight:600;color:#8E1524}
.g3x-ref-payout dd{margin:0;font-weight:700;color:#1f2a26;overflow-wrap:anywhere}
.g3x-refpaid{border:2px solid #CC2738}
.g3x-refpaid .g3x-ref-payout{border-top:0;padding:0}
.g3x-refpaid-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.g3x-refpaid-grid input,.g3x-refpaid-grid select{width:100%;box-sizing:border-box;min-width:0}
@media (max-width:600px){.g3x-refpaid-grid{grid-template-columns:minmax(0,1fr)}.g3x-ref-payout{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
/* R30-V: install reminder templates (staff) */
.g3x-install-tpls{gap:14px}
.g3x-itpl{border:2px solid #CC2738;border-radius:14px;background:#fff;padding:12px 14px;display:grid;gap:8px;min-width:0}
.g3x-itpl-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}
.g3x-itpl-head h3{margin:0}
.g3x-chip-pending{background:#fff;color:#8E1524;border-color:#8E1524}
.g3x-itpl-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0}
.g3x-itpl-meta div{min-width:0}
.g3x-itpl-meta dt{font-family:var(--cond);text-transform:uppercase;letter-spacing:.06em;font-size:.8rem;font-weight:600;color:#8E1524}
.g3x-itpl-meta dd{margin:0;overflow-wrap:anywhere}
.g3x-itpl textarea{width:100%;box-sizing:border-box}
.g3x-itpl h4{margin:.2rem 0 0}
.g3x-itpl .g3x-tpl{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}
main .g3x-itpl button.btn:disabled{background:#d9a3aa!important;border-color:#d9a3aa!important;cursor:not-allowed}
@media (max-width:600px){.g3x-itpl-meta{grid-template-columns:minmax(0,1fr)}}
/* R30-X: policies, no deposit, premium, referral policy */
.g3x-policy b{text-align:right;overflow-wrap:anywhere}
.g3x-no-deposit{display:inline-block;margin:.2rem 0;padding:6px 12px;border:2px solid #CC2738;border-radius:999px;background:#fff;color:#CC2738;font-weight:700}
.g3x-premium{border:1px solid #1f2a2629;border-radius:12px;padding:10px 12px;min-width:0}
.g3x-premium legend{font-weight:700;padding:0 4px}
.g3x-premium select,.g3x-premium input{width:100%;box-sizing:border-box}
.g3x-ref-policy{margin:.25rem 0 0;text-align:center;font-size:.9rem;color:#5b6660}
.g3x-locked-member{margin:0 0 .4rem}
.g3x-ma-member{margin:0;font-weight:600;color:var(--evergreen)}
.g3x-fillins [data-ma-field=project-id] dd{font-variant-numeric:tabular-nums;word-break:break-all}

/* r31 stars in the Your Design panel + star left of Discounts */
.g3x-star{display:block;overflow:visible}
.g3x-star.is-lit{filter:drop-shadow(0 0 2.5px rgba(255,201,60,.85)) drop-shadow(0 0 1px rgba(217,154,0,.6))}
.g3x-drow .g3x-drow-star{grid-row:1/span 2;grid-column:1;width:20px;height:25px;line-height:0;margin-top:1px;display:flex;align-items:flex-start;justify-content:center}
.g3x-drow .g3x-drow-star .g3x-star{width:19px;height:19px;margin-top:1px}
.track-step .bulb.g3x-track-star{display:flex;align-items:center;justify-content:center}
.track-step .bulb.g3x-track-star .g3x-star{width:21px;height:21px}
.track-step.is-current .bulb.g3x-track-star .g3x-star{filter:drop-shadow(0 0 3px rgba(235,188,88,.9))}
.g3x-star-h .g3x-star{width:18px;height:18px;flex:none}
h1.g3x-star-title{display:flex;align-items:center;justify-content:center;gap:10px;text-align:center}
h1.g3x-star-title .g3x-star{width:.85em;height:.85em;flex:none}

/* r31 item 4: Light Install Summary / Order Review headers clearly larger and bolder than the rows */
.g3x-order-review .g3x-or-item h3{font-size:1.15rem;font-weight:800;line-height:1.25;margin:0 0 6px;color:#1F2A26;letter-spacing:-.005em}
.g3x-order-review .g3x-or-item p,.g3x-order-review .g3x-or-item .muted,.g3x-order-review .g3x-or-list,.g3x-order-review .g3x-or-notes{font-size:.92rem;font-weight:400}
.g3x-order-review .g3x-or-seq{font-size:.85rem}
/* r31 item 5: sample roofline strand */
.g3x-strand{margin:4px 0 6px;padding:0;line-height:0;max-width:230px}
.g3x-strand-svg{display:block;width:100%;height:auto;overflow:visible}
.ticket .g3x-strand{margin:6px 0 2px;max-width:200px}

/* r31 item 6: color-tagged gallery */
.g3x-gal-chips{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 8px}
.g3x-gal-chip{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;border:1.5px solid #D6D6D6;background:#fff;color:#1F2A26;font-weight:700;font-size:.92rem;text-decoration:none;line-height:1.1}
.g3x-gal-chip.is-on{background:#CC2738;border-color:#CC2738;color:#fff}
.g3x-gal-chip-swatch{width:16px;height:16px;border-radius:50%;border:1px solid rgba(0,0,0,.18);flex:none;display:inline-block}
.g3x-gal-chip.is-on .g3x-gal-chip-swatch{border-color:rgba(255,255,255,.55)}
.g3x-gal-count{margin:0 0 8px;font-weight:700;color:#0B6346}
.g3x-gal-grid{display:grid;grid-template-columns:1fr;gap:14px}
@media (min-width:720px){.g3x-gal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.g3x-gal-card h2{margin:0;font-size:1.05rem;line-height:1.3}
.g3x-gal-tags{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px 10px;font-size:.85rem}
.g3x-gal-tags li{display:inline-flex;align-items:center;gap:6px}
.g3x-gal-ex{margin-top:4px}
.g3x-gal-ex.is-compact{margin:2px 0 0}
.g3x-gal-ex-link{display:inline-block;font-size:.78rem;font-weight:700;color:#CC2738;text-decoration:underline;text-underline-offset:2px}
.g3x-opt.g3x-swatch .g3x-gal-ex-link,.swatch-choice .g3x-gal-ex-link{pointer-events:auto}
.g3x-gal-ex-grid{display:grid;gap:10px;margin-top:8px}

.g3x-swatch-cell{display:grid;justify-items:center;gap:2px;min-width:0}
.g3x-pick-row.g3x-swatches,.swatch-grid{align-items:start}

/* r31 item 8: Welcome SMS + Sign Agreement wizard (Preview) */
.g3x-first-sms{margin:12px 0}
.g3x-first-sms .g3x-sms-line{font-size:.88rem;line-height:1.35}
.g3x-ma-wiz{position:fixed;inset:0;z-index:80;background:rgba(15,22,20,.55);display:flex;align-items:flex-start;justify-content:center;padding:12px;overflow:auto;-webkit-overflow-scrolling:touch}
.g3x-ma-wiz-card{background:#FCF8E4;border:1px solid #E2DDD0;border-radius:16px;padding:16px 16px 20px;width:min(520px,100%);margin:8px auto 24px;box-shadow:0 12px 40px rgba(0,0,0,.25)}
.g3x-ma-wiz-h{position:relative;padding-right:36px}
.g3x-ma-wiz-h h1{margin:.15rem 0 .35rem;font-size:1.45rem}
.g3x-ma-wiz-x{position:absolute;top:0;right:0;width:36px;height:36px;border:0;background:transparent;font-size:1.6rem;line-height:1;color:#1F2A26;cursor:pointer}
.g3x-ma-wiz-note{margin:0 0 10px}
.g3x-ma-wiz-ch{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}
.g3x-ma-wiz-ch .btn.is-on{background:#CC2738;color:#fff}
.g3x-ma-signed-actions{display:flex;flex-wrap:wrap;gap:8px}
.g3x-file-row{display:flex!important;flex-direction:column;align-items:center;gap:6px;width:100%;text-align:center}.g3x-file-row .g3x-file-name{display:block;width:100%;text-align:center}.g3x-file-row .g3x-file-btn{margin:0 auto}
.g3x-studio .g3x-order-h{font-size:inherit}
.g3x-studio .g3x-step-h,.g3x-studio legend.g3x-step-h,.g3x-studio .g3x-order-h.g3x-step-h{font-size:1.15rem!important;font-weight:800}
.g3x-gal-one{margin:8px 0 0;text-align:center}.g3x-gal-link{color:#CC2738;font-weight:700}
.g3x-gal-back{display:block!important;width:100%;max-width:420px;margin:0 auto 12px;text-align:center;background:#CC2738!important;color:#fff!important;font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;font-weight:700;letter-spacing:.03em;padding:12px 16px;border-radius:10px;text-decoration:none}
.g3x-draw-help{font-size:.92rem;line-height:1.45;margin-top:6px}.g3x-draw-help p{margin:0 0 6px}




.g3x-net-rate{margin-top:10px;border:1px solid #e3e6e4;border-radius:10px;padding:8px 10px;background:#fafbfa}
.g3x-net-h{margin:0 0 4px;font-weight:800;font-size:.95rem}
.g3x-net-rate dl{margin:0}.g3x-net-row{display:flex;justify-content:space-between;gap:8px;font-size:.92rem;padding:2px 0}
.g3x-net-row dt{margin:0}.g3x-net-row dd{margin:0;font-variant-numeric:tabular-nums;white-space:nowrap}
.g3x-net-total{border-top:1px solid #d6dad8;margin-top:4px;padding-top:4px;font-weight:800}
html body main .g3x-studio fieldset>legend.g3x-step-h,html body main .g3x-studio p.g3x-order-h,html body main .g3x-studio legend.g3x-order-h{font-size:1.15rem!important;font-weight:800!important}
.g3x-or-grid .g3x-or-item[data-or=discounts]{grid-column:1/-1}.g3x-or-item .g3x-net-rate{width:100%;box-sizing:border-box}
.g3x-hero .g3x-hero-logo img{filter:drop-shadow(0 0 1.5px #fff) drop-shadow(0 0 1.5px #fff) drop-shadow(0 0 3px #fff) drop-shadow(0 0 5px rgba(255,255,255,.95))!important}
@media (max-width:640px){.g3x-hero .g3x-hero-logo img{filter:drop-shadow(0 0 2px #fff) drop-shadow(0 0 2px #fff) drop-shadow(0 0 3px #fff) drop-shadow(0 0 6px #fff)!important}}
html body .g3x-studio fieldset>legend.g3x-step-h,html body .g3x-studio .g3x-pick>legend.g3x-order-h,html body .g3x-studio p.g3x-order-h{font-size:1.15rem!important;font-weight:800!important}
/* round32: Choose a Home Like Yours */
.g3x-sh-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
@media (min-width:640px){.g3x-sh-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
.g3x-sh-tile{display:flex;flex-direction:column;gap:4px;padding:0;border:3px solid transparent;border-radius:10px;background:#fff;overflow:hidden;cursor:pointer;text-align:center;font:inherit;color:#1F2A26}
.g3x-sh-tile img{width:100%;aspect-ratio:3/2;object-fit:cover;display:block}
.g3x-sh-tile span{font-size:.85rem;font-weight:600;padding:2px 4px 6px}
.g3x-sh-tile.is-on{border-color:#CC2738;box-shadow:0 0 0 2px #CC273833}
.g3x-nophoto-box{aspect-ratio:3/2;display:flex;align-items:center;justify-content:center;text-align:center;padding:16px;color:#5b6660;font-weight:600;background:#E6E0D2;border:2px dashed #b9b2a0}
.g3h-badge.is-samplehome{background:#CC2738;color:#fff}
.g3x-sh-wrap{grid-column:1/-1;width:100%}
/* round32: compact color picker */
.g3x-studio .g3x-swatches{grid-template-columns:repeat(7,minmax(0,1fr))!important;gap:6px}
.g3x-studio .g3x-swatch.g3x-swatch-only{justify-content:center;padding:0;min-height:0;aspect-ratio:1;width:100%;max-width:48px;border-radius:50%}
.g3x-studio .g3x-swatch.g3x-swatch-only svg,.g3x-studio .g3x-swatch.g3x-swatch-only .g3x-bulb{width:60%;height:60%}
.g3x-studio .g3x-swatch.g3x-swatch-only.is-on{outline:3px solid #CC2738;outline-offset:1px}
.g3x-studio .g3x-ncolors{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.g3x-studio .g3x-pick{margin:0;padding:6px 0}
.g3x-studio .g3x-step-h{margin:6px 0 4px}
.g3x-studio .g3x-fine{margin:4px 0}
.g3x-extra-note{display:block;font-size:.78rem;color:#8E1524;font-weight:600}
@media (max-width:480px){.g3x-studio-controls{gap:4px}.g3x-studio .g3x-scheme{min-height:40px;padding:4px}}
/* round32: tabbed drawing steps */
.g3x-tabs{display:grid;grid-template-columns:repeat(var(--g3x-tabs,5),minmax(0,1fr));gap:4px;margin:0 0 6px}
.g3x-tabs:has(> :nth-child(3):last-child){--g3x-tabs:3}
.g3x-tab{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:48px;padding:4px 2px;border:2px solid #d9dedb;border-radius:10px;background:#fff;color:#1f2a26;font:600 .72rem/1.1 Inter,"Segoe UI",sans-serif;cursor:pointer;text-align:center}
.g3x-tab.is-on{border-color:#CC2738;box-shadow:0 0 0 2px #CC273833}.g3x-tab.is-done:not(.is-on){background:#f1f6f2}
.g3x-tab-ck{color:#0B6346;margin-right:2px}.g3x-tab-s{font-weight:500;font-size:.66rem;color:#5b6661;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.g3x-tab-dots{display:inline-flex;gap:2px}.g3x-tab-dots i{width:8px;height:8px;border-radius:50%;border:1px solid #0003;display:inline-block}
.g3x-tabbed[data-tab="z"] [data-pane]:not([data-pane="z"]){display:none!important}
.g3x-tabbed[data-tab="n"] [data-pane]:not([data-pane="n"]){display:none!important}
.g3x-tabbed[data-tab="c"] [data-pane]:not([data-pane="c"]){display:none!important}
.g3x-tabbed[data-tab="p"] [data-pane]:not([data-pane="p"]){display:none!important}
.g3x-tabbed[data-tab="t"] [data-pane]:not([data-pane="t"]){display:none!important}
.g3x-tabbed [data-pane]{min-height:118px;margin:0!important;padding:6px 8px!important;border:1px solid #e3e6e4;border-radius:10px;background:#fff;box-sizing:border-box}
.g3x-tabbed .g3x-step-h:not(.g3x-order-h){display:none!important}
.g3x-tabbed .g3x-studio-controls{display:contents}
.g3x-tabbed .g3x-tab-next{margin-top:6px}
.g3x-type-icon-mark{display:block;max-width:100%;overflow:visible;margin:0 auto}

/* round32: framed photo (Word-style) + spacing below photo */
.g3x-studio .g3x-board,.g3h-hero .g3h-photo,.g3x-sh-tile img{background:#fff;border:7px solid #fff;outline:1px solid #d6d9d7;outline-offset:0;box-shadow:4px 6px 12px rgba(0,0,0,.28);box-sizing:border-box}
.g3x-studio .g3x-board{border-radius:4px}.g3h-hero .g3h-photo{border-radius:4px;overflow:hidden}
.g3x-sh-tile{overflow:visible;padding:4px 4px 0;border-radius:6px}.g3x-sh-tile img{border-width:5px;border-radius:2px}
.g3x-studio .g3x-board-tools,.g3x-studio .g3x-poly-hint{margin-top:14px}
.g3h-hero{margin-bottom:14px}
html[data-g3-theme=dark] .g3x-studio .g3x-board,html[data-g3-theme=dark] .g3h-hero .g3h-photo,html[data-g3-theme=dark] .g3x-sh-tile img{outline-color:#555}
.g3x-tab{text-transform:none!important;letter-spacing:0!important;font-family:Inter,"Segoe UI",sans-serif!important}
.g3x-editable-pill{background:#e6f2ea!important;color:#0B6346!important}
.g3x-studio .g3x-pick-row[aria-label="Light type"] .g3x-type-icon.g3x-type-icon-mark,.g3x-type-icon.g3x-type-icon-mark{width:var(--iw)!important;height:var(--ih)!important;max-width:100%!important;flex:none}
.g3x-studio .g3x-pick-row[aria-label="Light type"] .g3x-type{flex-direction:column;gap:4px;padding:6px 4px}

.g3x-final-img{display:block;width:100%;height:auto;border:7px solid #fff;outline:1px solid #d6d9d7;box-shadow:4px 6px 12px rgba(0,0,0,.28);box-sizing:border-box;background:#fff}
.g3x-final-msg{font-size:1.15rem;font-weight:700;line-height:1.35;text-align:center;margin:6px 4px 0}
.g3x-final-sign>.page-narrow>header{display:none}
.g3x-final-sign>.page-narrow{padding:0;margin:0}
.g3x-finalize-btn{width:100%;min-height:52px}

.g3x-estdoc.g3x-doc{max-height:none;overflow:visible;padding:16px 16px 10px}
.g3x-estdoc-head{display:flex;align-items:center;gap:10px}
.g3x-estdoc-logo{width:62px;height:auto;flex:none}
.g3x-estdoc-div{width:2px;align-self:stretch;background:#CC2738;flex:none}
.g3x-estdoc-titles{min-width:0}
.g3x-estdoc .g3x-estdoc-title{font-weight:800;font-size:1.15em;line-height:1.2;margin:0!important;color:#1f2a26}
.g3x-estdoc .g3x-estdoc-sub{color:#CC2738;font-weight:600;margin:.1em 0!important}
.g3x-estdoc .g3x-estdoc-ent{font-size:.72em;line-height:1.3;color:#666;margin:0!important}
.g3x-estdoc-rule{border:0;border-top:2px solid #CC2738;margin:8px 0 6px}
.g3x-estdoc .g3x-estdoc-h{border-bottom:1px solid #CC2738;padding-bottom:1px;margin:.7em 0 .3em!important}
.g3x-estdoc-info{display:grid;grid-template-columns:auto 1fr;gap:1px 10px;margin:0}
.g3x-estdoc-info>div{display:contents}
.g3x-estdoc-info dt{font-weight:700}
.g3x-estdoc-info dd{margin:0;white-space:pre-line}
.g3x-estdoc-tbl{width:100%;border-collapse:collapse;font-size:.95em}
.g3x-estdoc-tbl th{text-align:left;font-weight:800;border-bottom:1px solid #CC2738;padding:2px 3px}
.g3x-estdoc-tbl td{padding:2px 3px;border-bottom:1px solid #eee;vertical-align:top}
.g3x-estdoc-tbl .g3x-estdoc-num{text-align:right;white-space:nowrap}
.g3x-estdoc-tbl tfoot tr:first-child td{border-top:1px solid #CC2738}
.g3x-estdoc-tbl tfoot td{border-bottom:0}
.g3x-estdoc-tbl tr.is-total td{font-weight:800;border-top:2px solid #CC2738}
.g3x-estdoc .g3x-estdoc-fine{font-size:.78em;color:#555;margin:.3em 0!important}
.g3x-estdoc .g3x-estdoc-note{font-weight:600;margin:.3em 0!important}
.g3x-estdoc-phs{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;align-items:start}
.g3x-estdoc-ph{margin:0}
.g3x-estdoc-ph.is-big{grid-column:1/-1}
.g3x-estdoc-phbox{position:relative;border:5px solid #fff;outline:1px solid #d6d9d7;box-shadow:3px 4px 9px rgba(0,0,0,.25);background:#fff;line-height:0}
.g3x-estdoc-ph.is-big .g3x-estdoc-phbox{border-width:7px;box-shadow:4px 6px 12px rgba(0,0,0,.28)}
.g3x-estdoc-phbox img{display:block;width:100%;height:auto}
.g3x-estdoc-marks{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.g3x-estdoc-phbox.is-blank{aspect-ratio:3/2;background:#f3f5f4}
.g3x-estdoc-phbox.is-empty{aspect-ratio:3/2;display:flex;align-items:center;justify-content:center;text-align:center;line-height:1.2;font-size:.78em;color:#777;background:#f3f5f4;padding:4px}
.g3x-estdoc-ph figcaption{font-size:.75em;font-weight:700;text-align:center;margin-top:4px;line-height:1.2}
.g3x-estdoc .g3x-estdoc-foot{font-size:.72rem;color:#666;text-align:center;margin:.8em 0 0!important;border-top:1px solid #CC2738;padding-top:4px}
.g3x-estdoc-actions{margin-top:8px}
.g3x-est-grid{display:grid;gap:8px}
.g3x-est-line{display:grid;grid-template-columns:1fr auto;align-items:end;gap:8px}
.g3x-est-misc{grid-template-columns:1fr}
.g3x-est-calc{margin:0 0 10px;font-weight:700;white-space:nowrap}
.g3x-est-sum{display:grid;gap:2px;margin:0;border-top:1px solid var(--line);padding-top:6px}
.g3x-est-sum>div{display:flex;justify-content:space-between}
.g3x-est-sum dd{margin:0;font-weight:700}
.g3x-est-sum .is-total{font-size:1.1em;border-top:2px solid #CC2738;padding-top:2px}
.g3x-est-preview summary{cursor:pointer;font-weight:700}

.g3x-estdoc .g3x-estdoc-title{white-space:nowrap;font-size:1.61em;line-height:1.15}
.g3x-estdoc-titles{flex:1 1 auto;min-width:0}
@media (max-width:480px){.g3x-estdoc-logo{width:50px}}

.g3x-estdoc-sigs{display:grid;gap:10px;margin-top:4px}
.g3x-estdoc-sig{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1.5fr) minmax(0,1fr);gap:10px;align-items:end}
.g3x-estdoc-sigcell{display:flex;flex-direction:column;min-width:0}
.g3x-estdoc-sigval{min-height:30px;border-bottom:1px solid #1f2a26;display:flex;align-items:flex-end;font-size:.92em;line-height:1.2;padding-bottom:2px;overflow:hidden}
.g3x-estdoc-sigval img{max-height:34px;max-width:100%;width:auto;min-width:0;display:block;object-fit:contain;object-position:left bottom}
.g3x-estdoc-sigcap{font-size:.72em;color:#555;margin-top:2px}
.g3x-signers{border:1px solid var(--line);border-radius:10px;padding:8px 12px;margin:0;display:flex;flex-wrap:wrap;gap:6px 18px}
.g3x-signers legend{font-weight:700;padding:0 4px}
.g3x-signers .g3x-check{display:flex;align-items:center;gap:6px}

/* r32n: exact 2x3 photo-option grid (both flows, all widths) */
.g3x-grid23{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important}
.g3x-grid23>*{grid-column:auto!important;grid-row:auto!important;min-width:0}
.g3x-grid23 .g3x-tile-blank{min-height:1px}
@media (max-width:760px){
.g3x-grid23>.card,.g3x-grid23>.choice{padding:8px 6px!important;gap:6px!important}
.g3x-grid23 .btn,.g3x-grid23 .btn-secondary,.g3x-grid23 .g3x-file-row label,.g3x-grid23 .g3x-file-row .btn{font-size:.72rem!important;line-height:1.15!important;padding:8px 4px!important;min-height:44px;white-space:normal!important;width:100%;word-break:normal;overflow-wrap:anywhere}
.g3x-grid23 .fine,.g3x-grid23 .choice>span,.g3x-grid23 .g3x-viewup-desc{display:none!important}
.g3x-grid23 .choice>strong{font-size:.78rem;line-height:1.15}
.g3x-grid23 .g3x-viewup-k{font-size:.78rem}
.g3x-grid23 .g3x-viewup select{font-size:.75rem;padding:4px 2px;min-height:40px}
.g3x-grid23 .g3x-viewup-have li{font-size:.62rem;padding:1px 6px}
}
.g3x-sh-pop{margin-top:4px}

/* r32: keep the one-line estimate title from widening the iPhone page */
.g3x-estdoc{max-width:100%;min-width:0;box-sizing:border-box}
.g3x-estdoc-head{max-width:100%;min-width:0}
.g3x-estdoc-titles{flex:1 1 0;width:0;min-width:0;overflow:hidden;contain:inline-size}
.g3x-estdoc-wrap,.g3x-final-sign{min-width:0;max-width:100%}

/* r32p: drawing page — 3 numbered tabs in the app font, Type dropdown left of Draw */
.g3x-tabs{--g3x-tabs:3!important}
.g3x-tab{font-family:var(--sans)!important;font-size:.8rem!important;font-weight:700!important;line-height:1.15!important;text-transform:none!important;letter-spacing:0!important}
.g3x-tab-s{font-family:var(--sans)!important;font-size:.7rem!important;white-space:normal!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.g3x-typesel{display:inline-flex;align-items:center;gap:6px;margin-right:2px}
.g3x-typesel .g3x-type-icon-mark{display:block;margin:0;flex:none;width:var(--iw)!important;height:var(--ih)!important;max-width:none}
.g3x-typesel select{min-height:40px;border:2px solid #CC2738;border-radius:10px;background:#fff;color:#1F2A26;font:inherit;font-weight:700;font-size:.85rem;padding:4px 6px}
.g3x-zoom-bar{flex-wrap:wrap;align-items:center}

/* r32q: Your Design panel only from Xmas Light Order Submission onward; full width before */
.flow-layout.is-full{grid-template-columns:minmax(0,1fr)!important}
.g3x-zoom-bar.g3x-zoom-bar{flex-wrap:wrap!important;row-gap:6px!important;max-width:100%}
.g3x-typesel select{max-width:128px}

.g3x-est-mode{border:1px solid var(--line);border-radius:10px;padding:6px 12px;margin:0;display:flex;flex-wrap:wrap;gap:6px 18px}.g3x-est-mode legend{font-weight:700;padding:0 4px}.g3x-est-mode .g3x-check{display:flex;align-items:center;gap:6px}

/* r33: new hero photo (stone estate at dusk, 2400x1190) shown whole; soft light scrim keeps the dark G3 logo readable */
.g3x-hero-pic{display:block;line-height:0}
.g3x-hero .g3x-hero-img{aspect-ratio:2400 / 1190;object-fit:cover}
.g3x-hero-scrim{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 44% 58% at 30% 80%,rgba(255,255,255,.52) 0,rgba(255,255,255,.34) 38%,rgba(255,255,255,.12) 66%,rgba(255,255,255,0) 86%)}
.g3x-hero .g3x-hero-logo{z-index:1}

/* r33: Santa's Canvas row 2 = Add View + double-wide Skip Design (blank tile removed) */
.g3x-grid23>.g3x-skip-wide{grid-column:span 2!important}
.g3x-grid23>.g3x-skip-wide strong,.g3x-grid23>.g3x-skip-wide .btn{font-size:1.05rem}

/* r33: Step 2 selected swatch = green; Reset; Step 3 strand builder (available left, strand + Looks Good on one row, Undo) */
.g3x-swatch.is-on,.g3x-studio .g3x-swatch.is-on{background:#E3F4EA!important;border-color:#1F9D55!important;box-shadow:0 0 0 3px #1F9D55!important;outline:0!important}
.g3x-color-tools{display:flex;justify-content:flex-start;margin-top:6px}
.g3x-pat{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:start}
.g3x-pat.is-full{grid-template-columns:minmax(0,1fr)}
.g3x-pat-avail{display:flex;flex-direction:column;gap:6px;padding:6px;border:1px dashed var(--line);border-radius:10px;background:#fff}
.g3x-pat-light{display:grid;place-items:center;width:40px;height:40px;padding:0;border:1px solid var(--line);border-radius:10px;background:#fff;cursor:pointer}
.g3x-pat-light .g3x-bulb-icon,.g3x-pat-strand .g3x-bulb-icon{width:26px;height:28px}
.g3x-pat-main{display:grid;gap:4px;min-width:0}
.g3x-pat-row{display:flex;align-items:center;gap:8px;flex-wrap:nowrap;min-width:0}
.g3x-pat-strand{display:flex;gap:2px;list-style:none;margin:0;padding:6px 6px 4px;border-bottom:2px solid #004830;border-radius:8px;background:#fbfaf6;min-width:0;flex:1 1 auto;justify-content:space-between}
.g3x-pat-strand li{display:grid;place-items:center;width:28px;height:32px;flex:0 0 auto}
.g3x-pat-socket{display:block;width:12px;height:16px;border:2px dashed #b9b2a0;border-radius:6px 6px 8px 8px}
.g3x-pat-row .g3x-tab-next{flex:0 0 auto;margin:0!important;white-space:nowrap}
.g3x-pat-row .g3x-tab-next:disabled{opacity:.45}
.g3x-pat-undo{justify-self:start;padding:4px 2px}
@media (max-width:420px){.g3x-pat-strand li{width:24px}.g3x-pat-strand .g3x-bulb-icon{width:22px;height:24px}.g3x-pat-light{width:36px;height:36px}}

/* r33: Type dropdown — "Select Light Type", Roofline default, symbols 2x, one row with Draw on iPhone */
.g3x-typesel2{position:relative;display:inline-flex;margin-right:2px;min-width:0}
.g3x-ts-btn{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:3px 8px 3px 6px;border:2px solid #CC2738;border-radius:10px;background:#fff;color:#1F2A26;font:inherit;cursor:pointer;text-align:left;max-width:100%}
.g3x-ts-txt{display:grid;line-height:1.1;min-width:0}
.g3x-ts-cap{font-size:.62rem;color:#5b6461;font-weight:600;white-space:nowrap}
.g3x-ts-val{font-size:.85rem;font-weight:800;white-space:nowrap}
.g3x-ts-caret{margin-left:4px;font-size:.8rem}
.g3x-ts-def{font-size:.6rem;color:#0B6346;font-weight:700}
.g3x-ts-list{position:absolute;left:0;top:calc(100% + 4px);z-index:50;list-style:none;margin:0;padding:6px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 10px 24px #0003;display:grid;gap:4px;min-width:220px}
.g3x-ts-opt{display:flex;align-items:center;gap:10px;width:100%;min-height:48px;padding:6px 10px;border:1px solid transparent;border-radius:10px;background:#fff;font:inherit;font-weight:700;font-size:.9rem;color:#1F2A26;cursor:pointer;text-align:left}
.g3x-ts-opt.is-on{border-color:#1F9D55;background:#E3F4EA}
.g3x-ts-opt .g3x-type-icon-mark,.g3x-ts-btn .g3x-type-icon-mark{flex:none;max-width:none}
@media (max-width:420px){.g3x-ts-btn{gap:4px;padding:2px 6px 2px 4px}.g3x-ts-val{font-size:.78rem}.g3x-ts-cap{font-size:.58rem}}
.g3x-ts-btn,.g3x-ts-opt,.g3x-ts-btn *,.g3x-ts-opt *{text-transform:none!important;letter-spacing:normal!important;font-family:var(--sans)!important}
@media (max-width:420px){.g3x-zoom-bar>[data-draw-mode="drag"],.g3x-zoom-bar>.g3x-typesel2+[data-draw-mode]+.g3x-opt{max-width:78px}}
.g3x-ts-btn,.g3x-ts-btn:hover,.g3x-ts-btn:focus{background:#fff!important;color:#1F2A26!important;border:2px solid #CC2738!important;box-shadow:none!important}
.g3x-ts-opt,.g3x-ts-opt:hover{background:#fff!important;color:#1F2A26!important;border:1px solid var(--line)!important;box-shadow:none!important;outline:0!important}
.g3x-ts-opt.is-on{background:#E3F4EA!important;border:2px solid #1F9D55!important}
.g3x-ts-btn .g3x-ts-def,.g3x-ts-opt .g3x-ts-def{color:#0B6346!important}
.g3x-ts-btn .g3x-ts-cap{color:#5b6461!important}

main .g3x-ts-btn.g3x-ts-btn.g3x-ts-btn.g3x-ts-btn.g3x-ts-btn.g3x-ts-btn,main .g3x-ts-btn.g3x-ts-btn.g3x-ts-btn.g3x-ts-btn.g3x-ts-btn.g3x-ts-btn:hover,main .g3x-ts-btn.g3x-ts-btn.g3x-ts-btn.g3x-ts-btn.g3x-ts-btn.g3x-ts-btn:focus{background:#fff!important;color:#1F2A26!important;border:2px solid #CC2738!important;box-shadow:none!important}
main .g3x-ts-opt.g3x-ts-opt.g3x-ts-opt.g3x-ts-opt.g3x-ts-opt.g3x-ts-opt,main .g3x-ts-opt.g3x-ts-opt.g3x-ts-opt.g3x-ts-opt.g3x-ts-opt.g3x-ts-opt:hover,main .g3x-ts-opt.g3x-ts-opt.g3x-ts-opt.g3x-ts-opt.g3x-ts-opt.g3x-ts-opt:focus{background:#fff!important;color:#1F2A26!important;border:1px solid #E2DDD0!important;box-shadow:none!important;outline:0!important}
main .g3x-ts-opt.g3x-ts-opt.g3x-ts-opt.g3x-ts-opt.g3x-ts-opt.g3x-ts-opt.is-on,main .g3x-ts-opt.g3x-ts-opt.g3x-ts-opt.g3x-ts-opt.g3x-ts-opt.g3x-ts-opt.is-on:hover{background:#E3F4EA!important;border:2px solid #1F9D55!important;color:#1F2A26!important}

/* r33: Overview "Pricing" (was Discounts) — same lines as the estimate */
.g3x-or-item[data-or=pricing]{grid-column:1 / -1}
.g3x-ovp-tbl{width:100%;border-collapse:collapse;font-size:.85rem}
.g3x-ovp-tbl th,.g3x-ovp-tbl td{padding:5px 6px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.g3x-ovp-tbl .g3x-estdoc-num{text-align:right;white-space:nowrap}
.g3x-ovp-tbl tbody th,.g3x-ovp-tbl tfoot th{font-weight:600}
.g3x-ovp-tbl tr.is-total th,.g3x-ovp-tbl tr.is-total td{font-weight:800;border-bottom:0}
.g3x-ovp-pend{text-align:right;color:#8a5a00;font-weight:700;font-style:italic}
.g3x-ovp-dh{margin:10px 0 4px;font-size:.95rem}
@media (max-width:420px){.g3x-ovp-tbl{font-size:.76rem}.g3x-ovp-tbl th,.g3x-ovp-tbl td{padding:4px 3px}}
.g3x-ovp-tbl td.g3x-ovp-pend{text-align:right}
.g3x-ovp-tbl tfoot td,.g3x-ovp-tbl tfoot th{border-top:0}

/* r33: Payment gated until install complete + final invoice */
main .g3x-pay-btns.is-off.is-off.is-off .btn.btn.btn,main .g3x-pay-btns.is-off.is-off.is-off .btn.btn.btn:hover,main .g3x-pay-btns.is-off.is-off.is-off button.btn.btn.btn[disabled]{background:#c9cdd1!important;border-color:#c9cdd1!important;color:#5d6368!important;cursor:not-allowed!important;box-shadow:none!important;opacity:1}
.g3x-pay-wait{margin:6px 0 8px;color:#5d6368;font-style:italic}
.g3x-pay-final{margin:6px 0 8px}
.g3x-fi-tbl input{width:100%;min-width:0;box-sizing:border-box;padding:6px 6px;font:inherit;border:1px solid var(--line);border-radius:6px}
.g3x-fi-tbl .g3x-fi-count{max-width:84px;text-align:right}
.g3x-fi-tbl .g3x-fi-amt{max-width:90px;text-align:right}

/* r33: Overview Agreements — two separate entries */
.g3x-agreements .g3x-agr-entry{border:1px solid var(--line);border-radius:12px;padding:12px 14px;background:#fff}
.g3x-agreements .g3x-agr-entry+.g3x-agr-entry{margin-top:12px}
.g3x-agr-top{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.g3x-agr-top h3{margin:0;font-size:1.05rem}
.g3x-agr-entry .fine{margin:6px 0 8px}
.g3x-agr-pill{display:inline-block;padding:3px 10px;border-radius:999px;font-size:.78rem;font-weight:700;white-space:nowrap;border:1px solid}
.g3x-agr-pill.is-not-started{background:#f1f2f3;color:#5d6368;border-color:#d6d9dc}
.g3x-agr-pill.is-ready-to-sign{background:#fff5e0;color:#8a5a00;border-color:#f0c56b}
.g3x-agr-pill.is-signed{background:#e8f1fb;color:#1d4f86;border-color:#a9c7ea}
.g3x-agr-pill.is-countersigned{background:#e3f4ea;color:#11663a;border-color:#8fd0aa}
.g3x-agr-act{margin-top:4px}

/* r33: Request a Repair — Santa workbench illustration */
.g3x-repair-hero{display:block;margin:0 0 4px;border-radius:16px;overflow:hidden;box-shadow:0 6px 18px rgba(15,46,32,.18);aspect-ratio:1800/1040;background:#174a33}
.g3x-repair-hero img{display:block;width:100%;height:100%;object-fit:cover}
.g3x-agreements .actions.g3x-agr-act{background:none!important;padding:0!important;border:0!important;box-shadow:none!important;position:static!important}

/* r34 Projects rebuild */
.g3pm{--navy: #2C395B; --navy2: #364469; --slate: #434B55; --bright: #16A8DD; --bright2: #4EB7DE;
  --brick: #C66A4D; --moss: #778D66; --moss-d: #4C5941; --sunny: #F5A61C; --sunny-l: #F3BB58;
  --mgray: #AFB6BB; --lgray: #E5E5E4; --bg: #FAF9F8; --band: #F4F4F3; --panel: #F0F2F6;
  --input: #E8F6FC; --warn: #FCEED5; --warn-t: #8A5A00; --alert: #F7E1D9; --done: #E4EBDD;
  --radius: 14px; --radius-s: 10px;
  --shadow: 0 1px 2px rgba(44,57,91,.06), 0 4px 14px rgba(44,57,91,.07);
  --shadow-h: 0 2px 4px rgba(44,57,91,.08), 0 10px 24px rgba(44,57,91,.12);
  --slab: 'Roboto Slab', Rockwell, Georgia, serif;
  --sans: 'Montserrat', 'Segoe UI', system-ui, sans-serif;
  --banner-h: 30px;}
.g3pm .muted{color: #7d858e;}
.g3pm .mono{font-variant-numeric: tabular-nums;}
.g3pm .card{background: #fff; border-radius: var(--radius); box-shadow: var(--shadow); padding: 16px; margin-bottom: 14px; border: 1px solid rgba(44,57,91,.04);}
.g3pm .section-h{display: flex; align-items: center; justify-content: space-between; gap: 8px; margin: 22px 2px 10px;}
.g3pm .section-h h2{font-size: 17px; font-family: var(--sans); text-transform: none; letter-spacing: 0; font-weight: 800; color: var(--navy); display: flex; align-items: center; gap: 8px; line-height: 1.2;}
.g3pm .section-h h2::before{content: ''; width: 16px; height: 3px; background: var(--bright); border-radius: 2px;}
.g3pm .row{display: flex; align-items: center; gap: 10px;}
.g3pm .between{justify-content: space-between;}
.g3pm .wrap{flex-wrap: wrap;}
.g3pm .grow{flex: 1; min-width: 0;}
.g3pm .chip{display: inline-flex; align-items: center; gap: 5px; font-size: 11px; font-weight: 600; padding: 3px 9px; border-radius: 999px; background: var(--panel); color: var(--navy); white-space: nowrap; letter-spacing: .02em;}
.g3pm .chip.blue{background: var(--input); color: #0d6f93;}
.g3pm .chip.navy{background: var(--navy); color: #fff;}
.g3pm .chip.warn{background: var(--warn); color: var(--warn-t);}
.g3pm .chip.alert{background: var(--alert); color: #9c4a31;}
.g3pm .chip.done{background: var(--done); color: var(--moss-d);}
.g3pm .stage-set{display: flex; align-items: center; gap: 8px; margin-top: 12px;}
.g3pm .stage-set label{font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--slate);}
.g3pm .stage-set select{flex: 1; min-width: 0; min-height: 44px; border: 0; border-bottom: 2px solid var(--bright); border-radius: 10px 10px 4px 4px; background: var(--input); padding: 0 10px; font: 600 13.5px var(--sans); color: var(--navy);}
.g3pm .stage-set .btn.sm{padding: 10px 16px; min-height: 44px;}
.g3pm .stage-set .btn:disabled{opacity: .45; box-shadow: none; cursor: default;}
.g3pm .chip.grey{background: var(--band); color: #7d858e;}
.g3pm .chip.outline{background: transparent; border: 1px solid var(--lgray); color: var(--slate);}
.g3pm .btn{display: inline-flex; align-items: center; justify-content: center; gap: 8px; border: 0; border-radius: 12px; padding: 12px 18px; font-weight: 600; font-size: 14.5px; cursor: pointer; text-decoration: none; transition: transform .06s, box-shadow .15s, background .15s;}
.g3pm .btn:active{transform: translateY(1px);}
.g3pm .btn.primary{background: var(--bright); color: #fff; box-shadow: 0 4px 12px rgba(22,168,221,.3);}
.g3pm .btn.primary:hover{background: #1197c8;}
.g3pm .btn.navy{background: var(--navy); color: #fff;}
.g3pm .btn.ghost{background: var(--panel); color: var(--navy); border: 0;}
.g3pm .btn.danger{background: #fff; color: var(--brick); border: 1px solid #efc9bb;}
.g3pm .btn.small{padding: 8px 12px; font-size: 13px; border-radius: 10px;}
.g3pm .btn.block{width: 100%;}
.g3pm .searchbar{display: flex; align-items: center; gap: 8px; background: #fff; border: 1px solid var(--lgray); border-radius: 12px; padding: 0 12px; box-shadow: var(--shadow);}
.g3pm .searchbar input{border: 0; outline: 0; padding: 12px 0; flex: 1; background: transparent; min-width: 0;}
.g3pm .stage-jumps{display: flex; flex-wrap: wrap; gap: 8px; margin: 10px 0 2px;}
.g3pm .stage-jumps button{border: 1px solid var(--lgray); background: #fff; color: var(--navy); border-radius: 12px; min-height: 40px; padding: 8px 12px; font-size: 13px; font-weight: 800; cursor: pointer;}
.g3pm .stage-jumps button.on{background: var(--navy); border-color: var(--navy); color: #fff;}
.g3pm .filters{display: flex; gap: 8px; overflow-x: auto; padding: 12px 2px 4px; scrollbar-width: none;}
.g3pm .filters::-webkit-scrollbar{display: none;}
.g3pm .fchip{border: 1px solid var(--lgray); background: #fff; border-radius: 999px; padding: 7px 13px; font-size: 12.5px; font-weight: 600; color: var(--slate); white-space: nowrap; cursor: pointer;}
.g3pm .fchip.on{background: var(--navy); border-color: var(--navy); color: #fff;}
.g3pm .client{display: block; text-decoration: none; color: inherit; background: #fff; border-radius: var(--radius); box-shadow: var(--shadow); padding: 14px 14px 12px; margin-bottom: 10px; border-left: 4px solid var(--bright); transition: box-shadow .15s;}
.g3pm .client:hover{box-shadow: var(--shadow-h);}
.g3pm .client.unassigned{border-left-color: var(--brick);}
.g3pm .client .name{font-size: 13px; color: #6b737c; margin-top: 2px;}
.g3pm .client .meta{display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px;}
.g3pm .client .foot{display: flex; justify-content: space-between; font-size: 11.5px; color: #8a929a; margin-top: 10px; padding-top: 9px; border-top: 1px solid var(--band);}
.g3pm .stage{font-weight: 700;}
.g3pm .empty{text-align: center; padding: 34px 16px; color: #8a929a;}
.g3pm .empty h3{font-size: 17px; margin-bottom: 4px;}
.g3pm .notice{border-radius: 12px; padding: 12px 14px; font-size: 13px; display: flex; gap: 10px; align-items: flex-start; margin-bottom: 14px;}
.g3pm .notice.warn{background: var(--warn); color: var(--warn-t);}
.g3pm .notice.alert{background: var(--alert); color: #8e3f27;}
.g3pm .notice.done{background: var(--done); color: var(--moss-d);}
.g3pm .notice svg{flex: none; margin-top: 1px;}
.g3pm .notice b{font-weight: 700;}
.g3pm .dash-head{background: #fff; border-radius: var(--radius); box-shadow: var(--shadow); padding: 16px; margin-bottom: 14px; position: relative; overflow: visible;}
.g3pm .dash-head::before{content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 5px; background: var(--bright); border-radius: var(--radius) 0 0 var(--radius);}
.g3pm .dash-head h2{font-size: 21px; margin-top: 4px;}
.g3pm .cm-drop{position: relative; flex: none;}
.g3pm .cm-drop > summary{list-style: none; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; background: var(--navy); color: #fff; border-radius: 999px; padding: 6px 12px; font-size: 12px; font-weight: 700;}
.g3pm .cm-drop > summary::-webkit-details-marker{display: none;}
.g3pm .cm-drop > summary::after{content: ''; border: solid currentColor; border-width: 0 1.5px 1.5px 0; display: inline-block; padding: 2.5px; transform: rotate(45deg); margin-top: -3px;}
.g3pm .cm-drop[open] > summary::after{transform: rotate(-135deg); margin-top: 2px;}
.g3pm .cm-panel{position: absolute; right: 0; top: calc(100% + 8px); z-index: 40; width: min(340px, 78vw); background: #fff; color: var(--navy); border-radius: 14px; box-shadow: 0 12px 32px rgba(29, 36, 51, .18); border: 1px solid #e6e8ee; padding: 12px 14px; text-align: left;}
.g3pm .cm-panel h3{margin: 10px 0 4px; font-size: 11px; letter-spacing: .06em; text-transform: uppercase; color: #7d858e; font-weight: 700; font-family: var(--sans, inherit);}
.g3pm .cm-panel h3:first-child{margin-top: 0;}
.g3pm .cm-panel ul{margin: 0; padding-left: 16px; font-size: 13px;}
.g3pm .cm-panel li{margin: 2px 0;}
.g3pm .cm-panel li.muted{list-style: none; margin-left: -16px; color: #8a929a;}
.g3pm .contact-row{display: flex; gap: 8px; margin-top: 12px;}
.g3pm .cm-link{display: inline-flex; align-items: center; gap: 6px; margin-top: 10px; font-size: 13px; font-weight: 700;}
.g3pm .contact-row a{flex: 1; display: flex; flex-direction: column; align-items: center; gap: 3px; background: var(--panel); border-radius: 12px; padding: 9px 4px; text-decoration: none; color: var(--navy); font-size: 11px; font-weight: 600;}
.g3pm .contact-row a svg{color: var(--bright);}
.g3pm .contact-line{margin-top: 8px; display: flex; flex-direction: column; gap: 8px;}
.g3pm .contact-line button{width: 100%; display: flex; align-items: center; justify-content: center; gap: 8px; background: var(--panel); border: 0; border-radius: 12px; padding: 12px; color: var(--navy); font: 700 14px var(--sans); cursor: pointer;}
.g3pm .contact-line button svg{color: var(--bright);}
.g3pm .kv{display: grid; grid-template-columns: auto 1fr; gap: 6px 14px; font-size: 13px; margin-top: 12px;}
.g3pm .kv dt{color: #8a929a; font-size: 11.5px; text-transform: uppercase; letter-spacing: .06em; font-weight: 600; padding-top: 1px;}
.g3pm .kv dd{margin: 0; color: var(--slate); font-weight: 500;}
.g3pm .stopbtn{width: 100%; margin-top: 12px;}
@media (min-width: 1000px){.g3pm .desk-2{display: grid; grid-template-columns: 1.1fr .9fr; gap: 20px; align-items: start;}.g3pm .clients-grid{display: grid; grid-template-columns: 1fr 1fr; gap: 12px;}.g3pm .clients-grid .client{margin: 0;}}
.g3pm details.more{margin-top: 12px; border-top: 1px solid var(--band); padding-top: 10px;}
.g3pm details.more summary{cursor: pointer; font-size: 12px; font-weight: 600; color: var(--navy); letter-spacing: .06em; text-transform: uppercase; list-style: none; display: flex; align-items: center; justify-content: space-between;}
.g3pm details.more summary::-webkit-details-marker{display: none;}
.g3pm details.more summary::after{content: '+'; font-size: 18px; color: var(--bright); font-weight: 600;}
.g3pm details.more[open] summary::after{content: '–';}
.g3pm details.more .kv{margin-top: 10px;}
.g3pm .head-mini{display: flex; flex-wrap: wrap; gap: 4px 14px; font-size: 12.5px; color: #6b737c; margin-top: 10px;}
.g3pm .head-mini b{color: var(--slate); font-weight: 600;}
.g3pm .row.wrap > .btn.small{white-space: nowrap; flex: 1 1 auto;}
.g3pm{--t-storm: #2C395B; --t-storm-bg: #E3E8F2;
  --t-water: #0F86B3; --t-water-bg: #E1F3FB;
  --t-fire: #B2583B; --t-fire-bg: #F8E3DB;
  --t-mold: #5A6E4B; --t-mold-bg: #E6EDDF;
  --t-remodel: #A86A00; --t-remodel-bg: #FCEFD6;
  --t-mitigation: #0B8078; --t-mitigation-bg: #DDF1EF;
  --t-landscaping: #3E7C3A; --t-landscaping-bg: #E3F0DF;
  --t-christmas-lights: #8C7400; --t-christmas-lights-bg: #FAF3CF;
  --t-window-washing: #1F7A9C; --t-window-washing-bg: #DFF0F6;
  --t-misc: #434B55; --t-misc-bg: #ECEEF0;
  --t-windows: #4A6FA5; --t-windows-bg: #E6EDF7;}
.g3pm .tbadge{display: inline-grid; place-items: center; flex: none; width: 38px; height: 38px; border-radius: 11px; background: var(--tb); color: var(--tc); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--tc) 16%, transparent);}
.g3pm .tbadge.lg{width: 48px; height: 48px; border-radius: 14px;}
.g3pm .tbadge svg{display: block;}
.g3pm .ptype{display: flex; flex-direction: column; align-items: center; gap: 4px; width: 46px; flex: none;}
.g3pm .ptype .tname{font-size: 9.5px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; color: var(--tc); line-height: 1;}
.g3pm .tchip{display: inline-flex; align-items: center; gap: 5px; font-size: 11px; font-weight: 700; padding: 3px 9px 3px 7px; border-radius: 999px; background: var(--tb); color: var(--tc); white-space: nowrap; letter-spacing: .02em;}
.g3pm .client.proj{display: flex; gap: 12px; align-items: flex-start;}
.g3pm .client.proj[class*="t-"]{border-left-color: var(--tc);}
.g3pm .job-cols[class*="t-"] .section-h h2::before{background: var(--tc);}
.g3pm .client.proj .pbody{flex: 1; min-width: 0;}
.g3pm .plist-name{font-size: 17px; font-weight: 800; color: var(--navy); line-height: 1.2;}
.g3pm .plist-order{font-size: 13.5px; font-weight: 650; color: var(--navy); margin-top: 2px; font-variant-numeric: tabular-nums;}
.g3pm a.jobident{display: block; text-decoration: none; color: inherit;}
.g3pm .list-note{display: flex; align-items: center; gap: 6px; font-size: 11.5px; color: #7d858e; margin: 6px 2px 10px;}
.g3pm .fchip svg{vertical-align: -2px;}
.g3pm .dh-top{display: flex; gap: 12px; align-items: center;}
.g3pm .dash-head[class*="t-"]::before{background: var(--tc);}
.g3pm .list-note svg{flex: none; width: 14px; height: 14px;}
.g3pm .desk-only{display: none !important;}
.g3pm .grow{flex: 1; min-width: 0;}
.g3pm .tfilters{display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; margin: 4px 2px 10px; font-size: 12px; font-weight: 600; color: var(--navy);}
.g3pm .tfilters label{display: inline-flex; align-items: center; gap: 8px;}
.g3pm .tfilters select{border: 1px solid var(--lgray); background: #fff; border-radius: 10px; padding: 8px 10px; font: 600 13px var(--sans); color: var(--navy2); min-height: 40px;}
.g3pm .tfilters .muted{margin-left: auto; font-weight: 500; font-size: 11.5px;}
.g3pm .ptable-wrap{background: #fff; border-radius: var(--radius); box-shadow: var(--shadow); overflow: auto;}
.g3pm .ptable{width: 100%; border-collapse: collapse; font-size: 13px;}
.g3pm .ptable th{position: sticky; top: 0; background: var(--navy); color: #fff; text-align: left; padding: 0; font-weight: 600; white-space: nowrap;}
.g3pm .ptable th button{all: unset; box-sizing: border-box; display: flex; align-items: center; gap: 6px; width: 100%; padding: 12px 12px; cursor: pointer; font-size: 11.5px; letter-spacing: .06em; text-transform: uppercase; min-height: 44px;}
.g3pm .ptable th button:focus-visible{outline: 2px solid var(--bright2); outline-offset: -2px;}
.g3pm .ptable th.r button{justify-content: flex-end;}
.g3pm .ptable th.c button{justify-content: center;}
.g3pm .ptable th .sa{font-size: 9px; opacity: .6;}
.g3pm .ptable th[aria-sort="ascending"], .g3pm .ptable th[aria-sort="descending"]{background: var(--navy2); box-shadow: inset 0 -3px 0 var(--bright);}
.g3pm .ptable td{padding: 10px 12px; border-bottom: 1px solid var(--band); vertical-align: middle; color: var(--slate); height: 56px;}
.g3pm .ptable tbody tr{cursor: pointer; transition: background .1s;}
.g3pm .ptable tbody tr:nth-child(even) td{background: #FBFBFA;}
.g3pm .ptable tbody tr:hover td{background: #F1F8FC;}
.g3pm .ptable tr.unassigned td:first-child{box-shadow: inset 3px 0 0 var(--brick);}
.g3pm .ptable td small{display: block; font-size: 11px; color: #8a929a; margin-top: 1px;}
.g3pm .ptable .pcell{display: flex; align-items: center; gap: 10px; min-width: 300px;}
.g3pm .ptable .pcell a{text-decoration: none; font-size: 13px;}
.g3pm .ptable td.r{text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap;}
.g3pm .ptable td.c{text-align: center; white-space: nowrap;}
.g3pm .ptable .oc{display: inline-grid; place-items: center; min-width: 26px; height: 26px; border-radius: 999px; background: var(--panel); color: var(--navy); font-weight: 700; font-size: 12px; margin-right: 4px;}
.g3pm .ptable .chip.stage{font-size: 10.5px;}
@media (max-width: 699px){.g3pm .job-cols{display: flex; flex-direction: column; align-items: stretch; width: 100%;}.g3pm .job-cols > div{display: contents;}.g3pm [data-testid="job-body"] > *, .g3pm .job-side > *{width: 100%; max-width: 100%; align-self: stretch; box-sizing: border-box;}.g3pm [data-testid="job-body"] > *, .g3pm .job-side > *{order: 20;}.g3pm .job-cols .dash-head{order: 1;}.g3pm .job-cols .phone-cal{order: 5;}.g3pm .dash-head .tbadge.lg{width: 64px; height: 64px; border-radius: 16px;}.g3pm .dash-head .tbadge.lg svg{width: 36px; height: 36px;}.g3pm .plist-name{font-size: 20px;}.g3pm .plist-order{font-size: 15px;}.g3pm .scope-toggle button{font-size: 16px; min-height: 52px;}.g3pm .scope-toggle .cnt{font-size: 14px; min-width: 26px; height: 26px;}.g3pm .scope-more{font-size: 15px; gap: 8px;}.g3pm .scope-more > button{font-size: 15px; padding: 10px 14px; min-height: 46px;}.g3pm .view-toggle button{font-size: 15px; min-height: 46px;}.g3pm .fchip{font-size: 15px; padding: 10px 16px;}.g3pm .stage-jumps{display: grid; grid-template-columns: repeat(6, 1fr); gap: 8px; margin: 10px 0 4px;}.g3pm .stage-jumps button{border: 1px solid var(--lgray); background: #fff; color: var(--navy); border-radius: 12px; min-height: 48px; font-size: 15px; font-weight: 800;}.g3pm .stage-jumps button.on{background: var(--navy); border-color: var(--navy); color: #fff;}.g3pm .stage-jumps button.word{font-size: 12px; line-height: 1.1; padding: 4px;}}
@media (min-width: 700px) and (max-width: 999px){.g3pm .clients-grid .client{margin: 0;}}
@media (min-width: 700px){.g3pm .job-cols{display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: 20px; align-items: start;}}
@media (min-width: 1000px){.g3pm .desk-only{display: revert !important;}.g3pm .tfilters.desk-only{display: flex !important;}.g3pm .mobile-only{display: none !important;}.g3pm .job-cols{grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);}}
@media (pointer: coarse), (max-width: 999px){.g3pm .fchip{display: inline-flex; align-items: center;}.g3pm .contact-row a{min-height: 56px; justify-content: center;}}
.g3pm .ptable .pcell{min-width: 0; display: table-cell;}
.g3pm .ptable .pcell a{white-space: nowrap;}
.g3pm .ptable td.nw{white-space: nowrap;}
.g3pm .ptable .mest{font-style: italic; color: #7d858e;}
.g3pm .ptable th button{padding: 10px 10px; font-size: 10.5px; letter-spacing: .05em;}
.g3pm .ptable td{padding: 8px 10px;}
@media (max-width: 1299px){.g3pm .ptable .pcell a{white-space: normal; display: block; max-width: 190px;}.g3pm .ptable .pcell small{max-width: 190px;}.g3pm .ptable .tchip{padding: 5px;}.g3pm .ptable .tchip span{position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0);}.g3pm .ptable td.nw small{display: none;}.g3pm .ptable td.pmc{white-space: normal;}.g3pm .ptable td small.d{display: none;}}
@media (min-width: 1300px) and (max-width: 1499px){.g3pm .ptable .pcell a{white-space: normal; display: block; max-width: 250px;}}
.g3pm .ptype{width: auto; min-width: 46px; max-width: 64px;}
.g3pm .ptype .tname{letter-spacing: .03em; white-space: nowrap;}
.g3pm .btn.danger{color: var(--brick); border-color: color-mix(in srgb, var(--brick) 35%, var(--lgray));}
.g3pm #view .card > .help, .g3pm #pmNote{font-size: 12.5px; color: #7d858e; margin-top: 6px; line-height: 1.45;}
.g3pm .card > label.l{font-size: 11.5px; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: var(--navy);}
.g3pm a.lnk{color: #0d6f97; text-decoration: underline; text-underline-offset: 2px;}
.g3pm .srcpick select, .g3pm .srcpick input{width:100%}
.g3pm .fchip.on{background: var(--navy, #1f2a44); color: #fff; border-color: var(--navy, #1f2a44);}
.g3pm .contact-row a .cnt{position: absolute; margin: -4px 0 0 34px; font-size: 10px; font-weight: 700; min-width: 18px; height: 18px; border-radius: 999px; background: var(--bright); color: #fff; display: inline-grid; place-items: center; padding: 0 5px;}
.g3pm .contact-row a{position: relative;}
.g3pm .gantt{margin-top: 8px; border: 1px solid #e6e8ee; border-radius: 12px; overflow: hidden;}
.g3pm .gw-h{display: grid; grid-template-columns: repeat(7, 1fr); background: var(--navy); color: #fff; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em;}
.g3pm .gw-h div{padding: 7px 6px; text-align: center;}
.g3pm .gw{position: relative; border-top: 1px solid #e6e8ee; min-height: 74px;}
.g3pm .gw-d{position: absolute; inset: 0; display: grid; grid-template-columns: repeat(7, 1fr);}
.g3pm .gw-d div{border-left: 1px solid #eef0f4; padding: 4px 6px; font-size: 12px; font-weight: 600; color: #3b4150;}
.g3pm .gw-d div:first-child{border-left: 0;}
.g3pm .gw-d div.out{background: #fafbfc; color: #b5bac4;}
.g3pm .gw-d div.today span{background: var(--bright); color: #fff; border-radius: 999px; padding: 1px 7px;}
.g3pm .gw-b{position: relative; display: grid; grid-template-columns: repeat(7, 1fr); grid-auto-flow: row dense; gap: 4px 0; padding: 26px 0 8px;}
.g3pm .glegend{display: flex; flex-wrap: wrap; gap: 14px; margin-top: 10px; font-size: 12px; color: #5b6275;}
.g3pm .glegend i{display: inline-block; width: 18px; height: 8px; border-radius: 4px; margin-right: 6px; vertical-align: middle;}
@media (max-width: 600px){.g3pm .gw-d div{padding: 3px 4px; font-size: 11px;}}
.g3pm .pcal .gw-h{background: var(--tc);}
.g3pm .pcal .gw-d div.today span{background: var(--tc);}
.g3pm .pcal .gantt{border-color: color-mix(in srgb, var(--tc) 25%, #e6e8ee);}
.g3pm .pcal #actAdd{background: var(--tc); border-color: var(--tc);}
.g3pm .pcal .section-h h2::before{background: var(--tc);}
.g3pm .jcal{padding: 12px;}
.g3pm .jcal-top{display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; margin-bottom: 10px;}
.g3pm .jcal-top .calh{flex: 1 1 260px; margin: 0;}
.g3pm .jcal-top .calh h2{font-size: 17px; margin: 0;}
.g3pm .jcal-actions{display: flex; gap: 6px; flex-wrap: wrap; margin-left: auto;}
.g3pm .jcal #jcalAdd{background: var(--tc); border-color: var(--tc); color: #fff;}
.g3pm .jcal-more{display: block; margin-top: 10px; font-size: 13px; font-weight: 600; color: var(--tc); text-decoration: none; text-align: right;}
@media (max-width: 700px){.g3pm .jcal-actions{margin-left: 0; width: 100%;}.g3pm .jcal-actions .btn{flex: 1; justify-content: center;}}
.g3pm .scope-toggle{display: grid; grid-template-columns: 1fr 1fr; gap: 4px; background: #fff; border-radius: 14px; padding: 5px; box-shadow: var(--shadow); margin-bottom: 8px; max-width: 560px;}
.g3pm .scope-toggle button{border: 0; background: transparent; border-radius: 10px; padding: 12px 10px; font: inherit; font-weight: 700; font-size: 14px; color: #5b6275; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 46px;}
.g3pm .scope-toggle button.on{background: var(--navy); color: #fff; box-shadow: 0 2px 6px rgba(44,57,91,.25);}
.g3pm .scope-toggle .cnt{font-size: 11.5px; font-weight: 700; min-width: 22px; height: 22px; padding: 0 7px; border-radius: 999px; display: inline-grid; place-items: center; background: var(--panel); color: var(--navy);}
.g3pm .scope-toggle button.on .cnt{background: rgba(255,255,255,.2); color: #fff;}
.g3pm .scope-more{display: flex; flex-wrap: wrap; align-items: center; gap: 6px 8px; margin-bottom: 12px; font-size: 12.5px;}
.g3pm .scope-more > button{border: 1px solid #dde2ea; background: #fff; border-radius: 999px; padding: 5px 11px; font: inherit; font-size: 12.5px; font-weight: 600; color: #5b6275; cursor: pointer;}
.g3pm .scope-more > button.on{border-color: var(--navy); background: var(--navy); color: #fff;}
.g3pm .scope-more .cnt{font-weight: 700; margin-left: 2px;}
.g3pm .view-toggle{display: inline-flex; background: #fff; border: 1px solid #dde2ea; border-radius: 10px; padding: 3px; gap: 2px;}
.g3pm .view-toggle button{border: 0; background: transparent; border-radius: 7px; padding: 6px 10px; font: inherit; font-size: 12.5px; font-weight: 600; color: #5b6275; cursor: pointer; display: inline-flex; align-items: center; gap: 5px;}
.g3pm .view-toggle button.on{background: var(--bright); color: #fff;}
@media (max-width: 600px){.g3pm .scope-more .grow{display: none;}.g3pm .view-toggle{width: 100%;}.g3pm .view-toggle button{flex: 1; justify-content: center;}}
.g3pm .section-h.sec-toggle{cursor: pointer; min-height: 44px; margin-bottom: 6px; border-radius: 10px; user-select: none; -webkit-tap-highlight-color: transparent;}
.g3pm .section-h.sec-toggle:hover h2{color: var(--bright);}
.g3pm .section-h.sec-toggle:focus-visible{outline: 2px solid var(--bright); outline-offset: 2px;}
.g3pm .section-h.sec-toggle > :first-child{margin-right: auto;}
.g3pm .sec-chev{display: inline-grid; place-items: center; width: 32px; height: 32px; border-radius: 999px; background: var(--panel); color: var(--navy); flex: none; transition: transform .18s; transform: rotate(90deg);}
.g3pm .section-h.sec-closed .sec-chev{transform: rotate(0deg);}
.g3pm .section-h.sec-closed{margin-bottom: 0; opacity: .85;}
.g3pm .sec-bar{display: flex; align-items: center; justify-content: flex-end; gap: 8px; margin: 12px 2px 0; font-size: 12px;}
.g3pm .sec-bar .btn.small{min-height: 44px; padding: 8px 14px;}
.g3pm .sec-bar .muted{margin-right: auto; text-transform: uppercase; letter-spacing: .1em; font-weight: 600; font-size: 11px;}
.g3pm .searchbar input{border: 0; border-bottom: 0; border-radius: 0; outline: 0; padding: 12px 0; flex: 1; width: auto; background: transparent; min-width: 0; font-size: inherit; font-weight: inherit; color: inherit;}
.g3pm .searchbar input:focus{background: transparent; border-bottom-color: transparent;}
@font-face{font-family:'Montserrat';src:url(/assets/fonts/Montserrat.ttf) format('truetype');font-weight:100 900;font-display:swap}
@font-face{font-family:'Roboto Slab';src:url(/assets/fonts/RobotoSlab.ttf) format('truetype');font-weight:100 900;font-display:swap}
.g3pm{font-family:var(--sans);color:var(--slate);--tc:#CC2738;--tb:#FBE9EB}
.g3pm h1{font-family:var(--slab);color:var(--navy);margin:0}
.g3pm .g3pm-head .sub{color:#7d858e;font-size:14px;margin:4px 0 10px}
.g3pm .chip{display:inline-flex;align-items:center;gap:4px;border-radius:999px;padding:3px 9px;font-size:12px;font-weight:700;background:var(--panel);color:var(--navy)}
.g3pm .chip.ok{background:var(--done);color:var(--moss-d)}
.g3pm .chip.stage{background:#FBE9EB;color:#8E1524}
/* PM-style toggles/chips: red ALL CAPS, clear selected state, beats Lights global button rule */
main .g3pm button.pmf.pmf.pmf.pmf.pmf.pmf,main .g3pm button.pmf.pmf.pmf.pmf.pmf.pmf:hover{background:#fff!important;color:#CC2738!important;border:1.5px solid #E7B9BF!important;box-shadow:none!important;text-transform:uppercase!important;letter-spacing:.05em!important;font-family:var(--sans)!important;font-weight:800!important;font-size:12.5px;border-radius:999px;padding:8px 13px;min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:6px;cursor:pointer;white-space:nowrap}
main .g3pm button.pmf.pmf.pmf.pmf.pmf.pmf.on,main .g3pm button.pmf.pmf.pmf.pmf.pmf.pmf.on:hover,main .g3pm button.pmf.pmf.pmf.pmf.pmf.pmf[aria-pressed=true]{background:#CC2738!important;color:#fff!important;border-color:#CC2738!important;box-shadow:0 2px 6px rgba(204,39,56,.3)!important}
main .g3pm button.pmf.pmf.pmf.pmf.pmf.pmf .cnt{background:rgba(204,39,56,.12);color:inherit;border-radius:999px;min-width:22px;height:22px;display:inline-grid;place-items:center;font-size:12px;padding:0 6px}
main .g3pm button.pmf.pmf.pmf.pmf.pmf.pmf.on .cnt{background:rgba(255,255,255,.25)}
main .g3pm .scope-toggle button.pmf.pmf.pmf.pmf.pmf.pmf{border-radius:10px;border-color:transparent!important;font-size:13px;min-height:46px}
main .g3pm .stage-jumps button.pmf.pmf.pmf.pmf.pmf.pmf{border-radius:12px;font-size:11px;padding:6px 4px}
main .g3pm .ptable th button.pmth.pmth.pmth.pmth.pmth.pmth{all:unset;box-sizing:border-box;display:flex;align-items:center;gap:6px;width:100%;padding:12px;cursor:pointer;font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;min-height:44px;color:#fff!important;background:transparent!important;border:0!important;font-family:var(--sans)!important;font-weight:600!important}
.g3pm .scope-more{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0}
.g3pm .view-toggle{display:inline-flex;gap:6px}
.g3pm .searchbar{display:flex;align-items:center;gap:8px;background:#fff;border-radius:12px;box-shadow:var(--shadow);padding:0 12px;margin:10px 0;color:#7d858e}
.g3pm .searchbar input{flex:1;border:0!important;outline:0;font:inherit;font-size:16px;padding:12px 0;background:transparent;box-shadow:none!important}
.g3pm .stage-jumps{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}
.g3pm .filters{display:flex;gap:6px;overflow-x:auto;padding:4px 0 8px}
.g3pm .tfilters{gap:14px;align-items:center;flex-wrap:wrap;margin:6px 0 10px;font-size:13px;font-weight:700;color:var(--navy)}
.g3pm .tfilters select{margin-left:6px;padding:6px 8px;border-radius:8px;border:1px solid var(--lgray);font:inherit;font-weight:500}
.g3pm a.client.proj{display:flex;gap:12px;align-items:flex-start;border-left-color:#CC2738}
.g3pm a.client.proj.unassigned{border-left-color:var(--sunny)}
.g3pm .pbody{flex:1;min-width:0}
.g3pm .plist-name{font-family:var(--slab);font-weight:700;color:var(--navy);font-size:17px}
.g3pm .plist-order{font-size:12.5px;color:#7d858e;font-weight:700;letter-spacing:.02em}
.g3pm .client .meta{display:flex;flex-wrap:wrap;gap:5px;margin:6px 0}
.g3pm .client .foot{display:flex;justify-content:space-between;gap:8px;font-size:12.5px;color:#7d858e}
.g3pm .ptable{width:100%;border-collapse:collapse;background:#fff}
.g3pm .ptable td{padding:10px 12px;border-bottom:1px solid var(--lgray);vertical-align:top;font-size:14px}
.g3pm .ptable td.r,.g3pm .ptable th.r{text-align:right}.g3pm .ptable td.c{text-align:center}
.g3pm .ptable tbody tr{cursor:pointer}.g3pm .ptable tbody tr:hover{background:var(--band)}
.g3pm .ptable-wrap{border-radius:var(--radius);overflow:auto;box-shadow:var(--shadow)}
.g3pm .ptable a.jobident{text-decoration:none;color:inherit}
.g3pm .tchip{display:inline-flex;align-items:center;gap:6px;color:#CC2738;font-weight:700;font-size:12.5px;position:relative}
.g3pm .mest{color:#9aa1a9}
.g3pm .g3pm-sgroup .cnt{background:var(--panel);border-radius:999px;padding:1px 8px;font-size:12px}
.g3pm-asbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:6px 0 10px;font-size:13px}
.g3pm-asbar select{padding:6px 8px;border-radius:8px;border:1px solid #d6dbe3;font:inherit}
.g3pm .g3pm-back{display:inline-flex;align-items:center;gap:4px;color:#CC2738;font-weight:800;text-decoration:none;text-transform:uppercase;font-size:13px;letter-spacing:.05em;margin-bottom:6px}
.g3pm .dash-head{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);padding:16px;margin-bottom:12px;position:relative;overflow:hidden}
.g3pm .dash-head::before{background:#CC2738!important}
.g3pm .dh-top{display:flex;gap:12px;align-items:center}
.g3pm .dh-title{min-width:0}.g3pm .dh-addr{font-size:14px;color:var(--slate);margin:2px 0}
.g3pm .dash-head .chips{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}
.g3pm .contact-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(70px,1fr));gap:8px;margin:8px 0}
.g3pm .contact-row a{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 6px;border-radius:12px;background:#FBE9EB;color:#CC2738;font-weight:800;font-size:12px;text-transform:uppercase;letter-spacing:.04em;text-decoration:none}
.g3pm .head-mini{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:8px}
.g3pm .head-mini span{display:flex;flex-direction:column;background:var(--band);border-radius:10px;padding:8px}
.g3pm .head-mini small{font-size:11px;color:#7d858e;text-transform:uppercase;letter-spacing:.05em;font-weight:700}
.g3pm .head-mini b{font-size:13.5px;color:var(--navy)}
.g3pm .sec-bar{display:flex;gap:8px;justify-content:flex-end;margin:4px 0}
.g3pm .sec-toggle{cursor:pointer;user-select:none}
.g3pm .sec-toggle .g3pm-aside{margin-left:auto;font-size:12.5px;font-weight:600}
.g3pm .sec-chev{display:inline-flex;transition:transform .15s;color:#7d858e}
.g3pm .sec-closed .sec-chev{transform:rotate(-90deg)}
.g3pm .section-h h2::before{background:#CC2738!important}
.g3pm-vrow{display:grid;gap:6px;padding:12px 0;border-bottom:1px solid var(--lgray)}
.g3pm-vrow:last-child{border-bottom:0}
.g3pm-vrow-h{display:flex;align-items:center;gap:8px;color:var(--navy)}
.g3pm-vchk{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;font-weight:900;font-size:13px;flex:none}
.g3pm-vchk.is-ok{background:var(--done);color:var(--moss-d)}.g3pm-vchk.is-miss{background:var(--warn);color:var(--warn-t)}
.g3pm-vline{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.g3pm-notes p{margin:0 0 6px}.g3pm-notes small{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:#7d858e;font-weight:700}
.g3pm-bucket img,.g3pm-bin{max-width:100%;max-height:260px;border-radius:12px;display:block;margin-bottom:8px;object-fit:cover}
.g3pm textarea,.g3pm input[type=date],.g3pm select{max-width:100%}
.g3pm .g3pm-verify textarea{width:100%;box-sizing:border-box}
.g3pm-photo-in{display:inline-block;position:relative}
.g3pm-photo-in .g3pm-file{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}
.g3pm-photo-in .btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 14px;pointer-events:none}
.g3pm-elevs{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.g3pm-elev{display:grid;gap:6px;background:var(--band);border-radius:12px;padding:8px;position:relative}
.g3pm-elev img,.g3pm-elev-empty{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:10px;background:#fff;display:grid;place-items:center;color:#9aa1a9;font-size:13px;font-weight:700;border:2px dashed #d6dbe3;box-sizing:border-box}
.g3pm-elev img{border:0}
.g3pm-elev .g3pm-photo-in .btn{width:100%;font-size:12px}
.g3pm-elev.is-done::after{content:'\2713';position:absolute;top:12px;right:12px;background:var(--moss);color:#fff;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-weight:900}
.g3pm-elev-l{display:none}
.g3pm-oth{margin-top:10px}.g3pm-oth-list{display:flex;gap:6px;flex-wrap:wrap;margin:6px 0}.g3pm-oth-list img{width:72px;height:72px;object-fit:cover;border-radius:8px}
.g3pm-fb-tbl input{width:84px;padding:8px;border-radius:8px;border:1px solid #d6dbe3;font:inherit;font-size:16px;text-align:right}
.g3pm-fb-tbl input.g3x-fi-desc{width:100%;text-align:left;box-sizing:border-box}
.g3pm-billing{overflow-x:auto}
.g3pm-log{list-style:none;margin:0;padding:0}
.g3pm-log li{padding:8px 0;border-bottom:1px solid var(--lgray);display:grid;gap:2px;font-size:14px}
.g3pm-log li:last-child{border-bottom:0}
.g3pm-log small{color:#7d858e;font-size:12px}
.g3pm-thumb{width:64px;height:64px;object-fit:cover;border-radius:8px;margin-top:4px}
.g3pm-rh-ph{display:flex;gap:6px}
.g3pm-dc-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.g3pm-dc-row input{padding:8px;border-radius:8px;border:1px solid #d6dbe3;font:inherit;font-size:16px}
.g3pm-links{display:grid;gap:8px}.g3pm-links a{color:#CC2738;font-weight:800;text-transform:uppercase;font-size:13px;letter-spacing:.04em}
.g3pm .g3pm-mcal{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;text-align:center;font-size:13px;margin:8px 0}
.g3pm .g3pm-mcal .g3pm-mc-h{font-weight:800;color:#7d858e;font-size:11px}
.g3pm .g3pm-mcal .g3pm-mc-d{padding:6px 0;border-radius:8px;background:var(--band)}
.g3pm .g3pm-mcal .g3pm-mc-d.out{background:none}
.g3pm .g3pm-mcal .g3pm-mc-d.today{box-shadow:inset 0 0 0 2px var(--navy)}
.g3pm .g3pm-mcal .g3pm-mc-d.is-inst{background:#CC2738;color:#fff;font-weight:800}
.g3pm .calh{display:flex;justify-content:space-between;align-items:center;color:var(--navy)}
.g3pm-ra{position:relative;margin-bottom:10px}
.g3pm-ra-menu{display:grid;gap:6px;margin-top:6px;background:#fff;border:1px solid #eadcdf;border-radius:12px;padding:8px;box-shadow:var(--shadow)}
.g3pm-ref{border-bottom:1px solid var(--lgray);padding:10px 0}.g3pm-ref:last-child{border-bottom:0}
.g3pm-ref-h{display:flex;justify-content:space-between;gap:8px;align-items:center;color:var(--navy)}
.g3pm .kv{display:grid;grid-template-columns:max-content 1fr;gap:4px 12px;font-size:13.5px;margin:6px 0}
.g3pm .kv dt{font-weight:700;color:#7d858e}.g3pm .kv dd{margin:0}
.g3pm-ref textarea{width:100%;box-sizing:border-box}
.g3pm-rstat{display:inline-block;border-radius:999px;padding:2px 10px;font-size:12px;font-weight:800;background:var(--panel);color:var(--navy)}
.g3pm-rstat.is-paid{background:var(--done);color:var(--moss-d)}.g3pm-rstat.is-nc{background:var(--alert);color:#8a3b22}
.g3pm-rh-tbl{width:100%;font-size:13.5px}.g3pm-rh-tbl td,.g3pm-rh-tbl th{padding:8px 6px;text-align:left;vertical-align:top}
.g3pm-refhist{overflow-x:auto}
.g3pm .caps{text-transform:uppercase;letter-spacing:.06em;font-size:11.5px;font-weight:800;color:#7d858e;margin:10px 0 4px}
.g3pm-noacc{text-align:center;padding:28px 16px}
.g3pm .banner{background:var(--done);color:var(--moss-d);border-radius:10px;padding:10px 12px;font-weight:600}
.g3pm-confirm-act{display:flex;gap:8px;flex-wrap:wrap}
main .g3pm-btn-cancel.g3pm-btn-cancel.g3pm-btn-cancel,main button.g3pm-btn-cancel.g3pm-btn-cancel.g3pm-btn-cancel:hover,.g3x-modal button.g3pm-btn-cancel.g3pm-btn-cancel{background:#fff!important;color:#CC2738!important;border:2px solid #CC2738!important}
.g3pm-dc-dates{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:17px;font-weight:800}
.g3pm-dc-old{text-decoration:line-through;color:#8a8f96}.g3pm-dc-new{color:#CC2738}.g3pm-dc-arrow{color:#7d858e}
.g3pm-dc textarea{width:100%;box-sizing:border-box}
/* Calendar */
.g3x-cal-vt{display:inline-grid;grid-template-columns:repeat(3,1fr);gap:4px;background:#fff;border:2px solid #CC2738;border-radius:12px;padding:4px;max-width:420px;width:100%}
main .g3x-cal-vt button.g3x-vt-btn.g3x-vt-btn.g3x-vt-btn.g3x-vt-btn.g3x-vt-btn,main .g3x-cal-vt button.g3x-vt-btn.g3x-vt-btn.g3x-vt-btn.g3x-vt-btn.g3x-vt-btn:hover{background:#fff!important;color:#CC2738!important;border:0!important;box-shadow:none!important;border-radius:8px;min-height:44px;font-size:14px;padding:6px 8px}
main .g3x-cal-vt button.g3x-vt-btn.g3x-vt-btn.g3x-vt-btn.g3x-vt-btn.g3x-vt-btn.is-on{background:#CC2738!important;color:#fff!important;box-shadow:0 2px 6px rgba(204,39,56,.35)!important}
.g3x-cal-nav{display:flex;gap:6px;flex-wrap:wrap}
.cal-chip.is-draggable{touch-action:none;cursor:grab;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
.cal-chip.is-dragging{opacity:.35}
.g3x-cal-ghost{position:fixed;left:0;top:0;z-index:9999;pointer-events:none;box-shadow:0 8px 20px rgba(0,0,0,.25);transform-origin:0 0;max-width:180px}
body.g3x-cal-dragging{cursor:grabbing;user-select:none}
.cal-day.is-drop,.g3x-day-pick.is-drop{outline:3px dashed #CC2738;outline-offset:-3px;background:#FBE9EB!important}
.g3x-wk-grid .cal-day{min-height:140px}
.g3x-wk-lab .g3x-wk-dow{display:none}
@media (max-width:640px){.g3x-wk-head{display:none!important}.g3x-wk-grid{grid-template-columns:1fr!important}.g3x-wk-grid .cal-day{min-height:64px}.g3x-wk-lab .g3x-wk-dow{display:inline}}
.g3x-day-strip{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
main button.g3x-day-pick.g3x-day-pick.g3x-day-pick.g3x-day-pick,main button.g3x-day-pick.g3x-day-pick.g3x-day-pick.g3x-day-pick:hover{background:#fff!important;color:#CC2738!important;border:1.5px solid #E7B9BF!important;display:grid;gap:2px;padding:6px 2px;border-radius:10px;font-size:11px;position:relative;min-height:56px}
main button.g3x-day-pick.g3x-day-pick.g3x-day-pick.g3x-day-pick.on{background:#CC2738!important;color:#fff!important;border-color:#CC2738!important}
.g3x-day-pick b{font-size:16px}.g3x-day-dot{font-style:normal;font-size:10px}
.g3x-day-list{min-height:120px;display:grid;gap:8px;align-content:start;padding:10px}
.g3x-day-item{display:grid;gap:2px}
.g3x-notices{background:#fff;border:1.5px solid #E7B9BF;border-radius:14px;padding:12px 14px}
.g3x-notices h2{font-size:1.05rem;margin:0 0 6px}
.g3x-notice-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.g3x-notice{display:grid;gap:2px;border-left:4px solid #CC2738;padding:4px 0 4px 10px}
.g3x-notice small{color:#6b7177;font-size:12px}
.g3x-notice .chip{margin-left:6px;font-size:11px;background:#eef0f3;border-radius:999px;padding:1px 8px}
.g3x-refmp-head{display:flex;justify-content:space-between;align-items:center;gap:8px}
.g3x-refmp-choice{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.g3x-refmp-opt{display:grid;gap:2px;border:2px solid #E7B9BF;border-radius:12px;padding:10px;cursor:pointer}
.g3x-refmp-opt.is-on{border-color:#CC2738;background:#FBE9EB}
.g3x-refmp-opt input{accent-color:#CC2738}
.g3x-ovp-credit th,.g3x-ovp-credit td{color:#2e6b3a}
main .g3pm .searchbar input[type=search]{background:transparent!important;border:0!important;box-shadow:none!important}
.g3pm .job-side{position:sticky;top:10px}
@media (max-width:699px){.g3pm .job-side{position:static}}
.g3pm .kv dt,.g3pm .kv.kv dt,main .g3pm dl.kv dt{text-transform:none!important;letter-spacing:0!important}
.g3pm .head-mini small,.g3pm-notes small,.g3pm .caps{text-transform:none!important;letter-spacing:.01em!important;font-size:12px}
@media (max-width:699px){.g3pm .job-cols .job-side{order:99}}
.g3pm-fb-tbl{font-size:14px;width:100%}
.g3pm-fb-tbl th,.g3pm-fb-tbl td{padding:6px 4px!important}
.g3pm-fb-tbl input.g3x-fi-count,.g3pm-fb-tbl input.g3x-fi-amt{width:64px}
@media (max-width:420px){.g3pm-fb-tbl input.g3x-fi-count,.g3pm-fb-tbl input.g3x-fi-amt{width:56px;padding:6px}}
.g3pm-act{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:10px;background:none;position:static}
@media (max-width:699px){.g3pm .job-cols .dash-head{order:-1}}
.g3pm .g3pm-sec .sec-chev{transform:none!important;background:none!important}
.g3pm .g3pm-sec.sec-closed .sec-chev{transform:rotate(-90deg)!important}
.g3pm-dc-dates{display:grid;grid-template-columns:auto auto 1fr;align-items:center}
@media (max-width:420px){.g3pm-dc-dates{grid-template-columns:1fr;gap:2px}.g3pm-dc-arrow{transform:rotate(90deg);width:20px}}
.g3pm-acc-pill{display:inline-flex;align-items:center;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:800;letter-spacing:.02em;vertical-align:middle;white-space:nowrap}
.g3pm-acc-pill.is-office{background:#CC2738;color:#fff}
.g3pm-acc-pill.is-installer{background:#0B6B45;color:#fff}
.g3pm-acc-pill.is-client{background:#eef0f3;color:#2C395B}
.g3pm-acc-pill.is-none{background:#eef0f3;color:#6b7177}
.g3pm-head .g3pm-acc-pill{margin:6px 0 2px}
.g3x-inst-li-head .g3pm-acc-pill{margin-left:6px}
.g3x-acc-roles .decision{align-items:center;gap:10px}
.g3x-acc-pick select{max-width:100%}
/* r37 · Staff left sidebar (desktop) + bottom bar with Menu sheet (phones), like G3 Construction */
.g3sn-side,.g3sn-bottom{display:none}
@media (min-width:1000px){
.staff-app{display:grid;grid-template-columns:248px minmax(0,1fr);align-items:start}
.staff-app>*{grid-column:2;min-width:0}
.staff-app>.g3sn-side{grid-column:1;grid-row:1/span 6;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;overflow-y:auto;box-sizing:border-box;background:linear-gradient(180deg,#0b6346 0%,#004830 100%);color:#fff;padding:18px 14px;border-right:3px solid #CC2738;align-self:start}
}
.g3sn-brand{background:#fff;border-radius:12px;padding:10px 16px;margin:2px 4px 10px;display:flex;justify-content:center}
.g3sn-brand img{display:block;height:84px;width:auto}
.g3sn-side a.g3sn-apps,.g3sn-sheet a.g3sn-apps{display:flex;align-items:center;justify-content:center;gap:6px;background:#fff!important;color:#004830!important;border:0!important;border-radius:10px;min-height:40px;margin:0 4px 8px;font-size:.95rem;text-decoration:none;box-shadow:none}
.g3sn-acc{margin:2px 8px 4px}
.g3sn-nav{display:flex;flex-direction:column}
.g3sn-group{font-family:var(--cond);font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:#a9cbb9;margin:14px 12px 6px;font-weight:600}
.g3sn-side a.g3sn-link{display:flex;align-items:center;gap:12px;color:#DDE9E2;text-decoration:none;padding:10px 12px;border-radius:10px;font-size:.98rem;font-weight:600;margin-bottom:2px;min-height:44px;box-sizing:border-box;font-family:var(--sans);text-transform:none;letter-spacing:0}
.g3sn-side a.g3sn-link:hover{background:rgba(255,255,255,.07);color:#fff}
.g3sn-side a.g3sn-link[aria-current=page],.g3sn-side a.g3sn-link.active{background:rgba(252,248,228,.16);color:#fff;box-shadow:inset 3px 0 0 #CC2738}
.g3sn-side a.g3sn-link svg{flex:none}
.g3sn-foot{margin-top:auto;padding:14px 8px 0;font-size:.78rem;color:#a9cbb9;line-height:1.4}
@media (max-width:999px){
.staff-app .g3sn-bottom{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:55;background:#fff;border-top:1px solid #dfe6e1;flex-wrap:wrap;justify-content:space-evenly;align-items:flex-end;column-gap:6px;padding:8px 8px 0;box-shadow:0 -4px 16px rgba(0,72,48,.08)}
.staff-app main.page{padding-bottom:150px}
}
.g3sn-bottom a.g3sn-bn,.g3sn-bottom button.g3sn-bn{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;color:#6f7a74!important;background:none!important;border:0!important;box-shadow:none!important;text-decoration:none;font-family:var(--sans)!important;font-size:12px!important;font-weight:600!important;text-transform:none!important;letter-spacing:0!important;padding:6px 0 10px!important;min-height:0!important;position:relative}
.g3sn-bottom a.g3sn-bn[aria-current=page],.g3sn-bottom a.g3sn-bn.active{color:#004830!important}
.g3sn-bottom a.g3sn-bn[aria-current=page] svg,.g3sn-bottom a.g3sn-bn.active svg{color:#CC2738}
.g3sn-fab{width:52px;height:52px;border-radius:16px;background:#CC2738;color:#fff;display:grid;place-items:center;margin-top:-22px;box-shadow:0 6px 16px rgba(204,39,56,.38)}
.g3sn-motto{flex:1 0 100%;display:flex;justify-content:center;gap:10px;margin:8px -8px 0;padding:9px 6px calc(10px + env(safe-area-inset-bottom));background:#004830;color:#fff;border-top:3px solid #CC2738;font-family:var(--cond);font-weight:700;font-size:15px;letter-spacing:.08em;text-transform:uppercase;line-height:1.05}
.g3sn-scrim{position:fixed;inset:0;background:rgba(0,30,20,.45);z-index:53}
.g3sn-sheet{position:fixed;left:0;right:0;bottom:0;z-index:54;background:#fff;border-radius:20px 20px 0 0;padding:16px 14px 170px;max-height:82vh;overflow-y:auto;box-shadow:0 -10px 30px rgba(0,0,0,.2)}
.g3sn-sheet-h{display:flex;justify-content:space-between;align-items:center;margin:0 6px 6px;font-size:1.1rem}
.g3sn-sheet .g3sn-group{color:#6f7a74}
.g3sn-sheet a.g3sn-link{display:flex;align-items:center;gap:14px;color:#1F2A26;text-decoration:none;padding:12px;border-radius:12px;font-size:1.05rem;font-weight:600;min-height:48px;font-family:var(--sans);text-transform:none;letter-spacing:0}
.g3sn-sheet a.g3sn-link svg{color:#0b6346}
.g3sn-sheet a.g3sn-link[aria-current=page],.g3sn-sheet a.g3sn-link.active{background:#EAF4EE;box-shadow:inset 3px 0 0 #CC2738}
.g3sn-sheet a.g3sn-apps{background:#004830!important;color:#fff!important;margin-top:10px}
body.g3sn-menu-open{overflow:hidden}
/* Master: mirrors the G3 Construction home */
.g3m{display:grid;gap:14px}
.g3m-brand{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fff;border-radius:16px;padding:12px 16px;box-shadow:0 2px 10px rgba(0,72,48,.08);border:1px solid rgba(0,72,48,.06)}
.g3m-brand img{display:block;height:84px;width:auto}
.g3m-brand>div{display:flex;flex-direction:column;align-items:flex-end;gap:6px;text-align:right}
.g3m-brand .caps{font-family:var(--cond);font-size:.82rem;letter-spacing:.1em;text-transform:uppercase;color:#6f7a74}
.g3m-apps{display:inline-flex;align-items:center;gap:4px;font-size:.85rem;font-weight:600;color:#004830;text-decoration:none;padding:6px 10px;border-radius:999px;background:#EAF4EE}
@media (min-width:1000px){.g3m-brand{display:none}}
.g3m-hello{background:linear-gradient(135deg,#0b6346 0%,#004830 100%);color:#fff;border-radius:18px;padding:18px;position:relative;overflow:hidden}
.g3m-hello::after{content:"";position:absolute;right:-40px;top:-40px;width:170px;height:170px;border-radius:50%;border:22px solid rgba(204,39,56,.28)}
.g3m-hello h2{color:#fff!important;font-size:1.5rem;margin:2px 0 0}
.g3m-hello p{margin:4px 0 0;color:#DDE9E2;font-size:.92rem;position:relative;z-index:1}
.g3m-hello .g3m-kick{font-family:var(--cond);letter-spacing:.1em;text-transform:uppercase;font-size:.82rem;color:#FCF8E4;margin:0}
.g3m-stats{display:flex;gap:22px;margin-top:14px;position:relative;z-index:1}
.g3m-stats b{display:block;font-size:1.5rem;color:#fff}
.g3m-stats span{font-family:var(--cond);font-size:.78rem;text-transform:uppercase;letter-spacing:.09em;color:#b9d6c7}
.g3m-tiles{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media (min-width:700px){.g3m-tiles{grid-template-columns:repeat(3,1fr)}.g3m-tile.wide{grid-column:span 3}}
@media (min-width:1000px){.g3m-tiles{grid-template-columns:repeat(4,1fr)}.g3m-tile.wide{grid-column:span 2}}
.g3m-tile{position:relative;background:#fff;border-radius:16px;padding:14px;min-height:124px;box-shadow:0 2px 10px rgba(0,72,48,.08);text-decoration:none;color:#1F2A26;display:flex;flex-direction:column;justify-content:space-between;border:1px solid rgba(0,72,48,.06);transition:box-shadow .15s,transform .15s;box-sizing:border-box}
a.g3m-tile:hover{box-shadow:0 6px 18px rgba(0,72,48,.14);transform:translateY(-1px)}
.g3m-tile.wide{grid-column:span 2;min-height:0;flex-direction:row;align-items:center;gap:12px;justify-content:flex-start}
.g3m-ic{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:#EAF4EE;color:#0b6346;flex:none}
.g3m-tile.owner .g3m-ic,.g3m-tile.attn .g3m-ic{background:#0b6346;color:#fff}
.g3m-tile h3{font-family:var(--sans)!important;font-size:1.06rem;font-weight:800;color:#004830;margin:10px 0 0;line-height:1.2}
.g3m-tile.wide h3{margin-top:0}
.g3m-tile p{margin:2px 0 0;font-size:.8rem;color:#6f7a74;line-height:1.3}
.g3m-grow{flex:1;min-width:0}
.g3m-badge{position:absolute;top:12px;right:12px;background:#CC2738;color:#fff;border-radius:999px;min-width:22px;height:22px;display:grid;place-items:center;font-size:.78rem;font-weight:800;padding:0 6px}
.g3m-phase{position:absolute;top:12px;right:12px;font-size:.7rem;font-weight:700;letter-spacing:.1em;padding:3px 7px;border-radius:6px;background:#EAF4EE;color:#004830}
.g3m-tile.attn{background:linear-gradient(120deg,#fff 55%,#FDECEE);border:1px solid #f3c3c9}
.g3m-count{flex:none;min-width:46px;height:46px;padding:0 10px;border-radius:14px;display:grid;place-items:center;font-weight:700;font-size:1.4rem;color:#fff;background:#CC2738;box-shadow:0 4px 12px rgba(204,39,56,.3);box-sizing:border-box}
.g3m-tile.attn.calm{background:#fff;border-color:rgba(0,72,48,.06)}
.g3m-tile.attn.calm .g3m-count{background:#DDF0E5;color:#0b6346;box-shadow:none}
.g3m-sh{display:flex;justify-content:space-between;align-items:center;margin-top:6px}
.g3m-sh h2{margin:0;font-size:1.2rem}
.g3m-sh a{font-size:.85rem;font-weight:700;color:#CC2738;text-decoration:none;text-transform:uppercase;font-family:var(--cond);letter-spacing:.06em}
.g3m-list{display:grid;gap:8px}
@media (min-width:700px){.g3m-list{grid-template-columns:1fr 1fr}}
.g3m-row{display:grid;grid-template-columns:1fr auto;gap:2px 10px;background:#fff;border-radius:14px;padding:12px 14px;box-shadow:0 2px 10px rgba(0,72,48,.08);text-decoration:none;color:#1F2A26}
.g3m-row .fine{grid-column:1/-1}
.g3m-queues{scroll-margin-top:20px}
/* Project page: name card, merged notes, elf placeholder, columns */
.g3pm .g3pm-head-inst{margin-top:10px;padding:10px 12px;border-radius:12px;background:#F4F8F5;border:1px solid #e1ebe5}
.g3pm .g3pm-hi-top{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px}
.g3pm .g3pm-hi-top small{font-family:var(--cond);text-transform:uppercase;letter-spacing:.08em;color:#6f7a74;font-size:.8rem}
.g3pm .g3pm-head-inst .field{margin:8px 0 0}
.g3pm .g3pm-head-inst p.fine{margin:6px 0 0}
.g3pm .g3pm-merged{display:grid;gap:8px}
.g3pm .g3pm-si{display:grid;gap:6px;padding-bottom:8px;border-bottom:1px dashed #d9e2dc}
.g3pm .g3pm-si-h{font-family:var(--cond);text-transform:uppercase;letter-spacing:.08em;color:#6f7a74;font-size:.8rem}
.g3pm .g3pm-bucket-ph{margin:0 0 8px}
.g3pm .g3pm-bucket-ph img{display:block;width:100%;max-width:520px;height:auto;border-radius:12px;box-shadow:0 2px 10px rgba(0,72,48,.12)}
.g3pm .g3pm-bucket-ph figcaption{margin-top:4px}
.g3pm .g3pm-cols37 .job-side{position:static}
.g3pm .g3pm-cols37 .job-side .g3pm-minical{margin-top:0}
/* r37 · + New (G3 Construction plus mark + Create New Item sheet) */
button.g3n-plus{display:flex;flex-direction:column;align-items:center;gap:4px;background:none!important;border:0!important;box-shadow:none!important;padding:6px 0 10px!important;min-height:0!important;color:#6f7a74!important;font-family:var(--sans)!important;font-size:12px!important;font-weight:600!important;text-transform:none!important;letter-spacing:0!important;cursor:pointer}
.g3n-fab{width:52px;height:52px;border-radius:16px;background:#CC2738;color:#fff;display:grid;place-items:center;box-shadow:0 6px 16px rgba(204,39,56,.38)}
.g3sn-bottom button.g3n-plus{flex:1}
.g3sn-bottom button.g3n-plus .g3n-fab{margin-top:-24px}
.g3sn-new{margin:2px 4px 6px}
.g3sn-new button.g3n-plus{flex-direction:row;justify-content:center;gap:10px;width:100%;background:#CC2738!important;color:#fff!important;border-radius:10px!important;min-height:44px!important;padding:6px 12px!important;font-family:var(--cond)!important;font-size:1rem!important;text-transform:uppercase!important;letter-spacing:.06em!important}
.g3sn-new .g3n-fab{width:28px;height:28px;border-radius:8px;background:rgba(255,255,255,.18);box-shadow:none}
.g3sn-new .g3n-fab svg{width:20px;height:20px}
.g3n-client{position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom));z-index:52}
.g3n-client button.g3n-plus{padding:0!important;color:#004830!important;font-weight:700!important}
.g3n-client .g3n-fab{width:60px;height:60px;border-radius:18px;border:3px solid #fff}
.g3n-client .g3n-lbl{background:#fff;border-radius:999px;padding:1px 8px;box-shadow:0 2px 6px rgba(0,0,0,.15)}
.customer-app main.page{padding-bottom:110px}
.g3n-back{position:fixed;inset:0;background:rgba(0,30,20,.5);z-index:90;display:flex;align-items:flex-end;justify-content:center}
@media (min-width:700px){.g3n-back{align-items:center}.g3n-sheet{border-radius:20px!important}}
.g3n-sheet{background:#fff;width:100%;max-width:520px;border-radius:20px 20px 0 0;padding:0 16px calc(20px + env(safe-area-inset-bottom));max-height:88vh;overflow:auto;box-sizing:border-box;position:relative}
.g3n-grab{width:40px;height:5px;border-radius:3px;background:rgba(255,255,255,.55);margin:0 auto;position:relative;z-index:1;top:10px}
.g3n-bar{background:#0b6346;color:#fff;text-align:center;margin:-5px -16px 14px;padding:22px 44px 14px;border-bottom:3px solid #CC2738;position:relative}
.g3n-bar h3{color:#fff!important;margin:0;letter-spacing:.04em;font-size:1.25rem;font-family:var(--sans)!important}
button.g3n-x{position:absolute;right:10px;top:14px;background:none!important;border:0!important;color:#fff!important;min-height:36px!important;padding:6px!important;box-shadow:none!important}
.g3n-pick{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:4px 0 6px}
button.g3n-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:96px;padding:10px 4px!important;border-radius:16px!important;background:#F1F6F3!important;color:#004830!important;border:0!important;box-shadow:none!important;font-family:var(--sans)!important;font-size:13px!important;font-weight:700!important;text-transform:none!important;letter-spacing:0!important;line-height:1.15}
.g3n-ic{width:50px;height:50px;border-radius:16px;display:grid;place-items:center;color:#fff}
.g3n-item.c-proj .g3n-ic{background:#004830}
.g3n-item.c-note .g3n-ic{background:#CC2738}
.g3n-item.c-client .g3n-ic{background:#1E7D4F;color:#fff}
.g3n-item.c-client .g3n-ic svg{stroke:#fff;opacity:1}
.g3n-item.c-ref .g3n-ic{background:#B8892B}
.g3n-item.c-upload .g3n-ic{background:#0b6346}
.g3n-form{display:grid;gap:10px;padding-bottom:6px}
.g3n-grid{display:grid;gap:10px;grid-template-columns:1fr}
@media (min-width:520px){.g3n-grid{grid-template-columns:1fr 1fr}}
.g3n-form .g3pm-act .btn{background:#CC2738;color:#fff;text-transform:uppercase;width:100%}
body.g3n-open{overflow:hidden}
.g3pm .g3pm-notelog{margin-top:6px}
.g3pm .dash-head .dh-top{align-items:flex-start}
/* r36 Assisted Design */
.g3x-dchoice-wrap{display:grid;gap:12px;margin-top:6px}
.g3x-dchoice-q{font-weight:800;font-size:1.15rem;text-align:center;color:#1F2A26;margin:0}
.g3x-dchoice{display:grid;gap:14px;grid-template-columns:1fr}
@media(min-width:760px){.g3x-dchoice{grid-template-columns:1fr 1fr}}
.g3x-dc-btn{display:flex!important;align-items:center;justify-content:center;gap:12px;min-height:74px;padding:16px 18px!important;font-size:1.14rem!important;font-weight:800!important;letter-spacing:.02em;border-radius:18px!important;border:3px solid #fff!important;box-shadow:0 0 0 3px rgba(204,39,56,.25),0 10px 22px rgba(0,0,0,.18);position:relative;overflow:hidden;width:100%;line-height:1.2;color:#fff!important}
.g3x-dc-btn::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(135deg,rgba(255,255,255,.13) 0 12px,transparent 12px 24px);pointer-events:none}
.g3x-dc-g3{background:#CC2738!important}
.g3x-dc-btn:hover{filter:brightness(1.07);transform:translateY(-1px)}
.g3x-dc-ico{font-size:1.7rem;line-height:1;position:relative;z-index:1}
.g3x-dc-btn>span{position:relative;z-index:1}
.g3x-dc-back:empty{display:none}
.g3x-dreq,.g3x-dreq-done{border:2px solid #CC2738}
.g3x-dreq-contact{font-weight:700;color:#0B6B45}
.g3x-dc-back:empty{display:none}
/* Santa's Canvas: photo spans the full page width */
.g3h-hero,.g3x-ncphoto .g3h-hero{width:100%;max-width:none;margin-left:0;margin-right:0;justify-self:stretch;align-self:stretch;display:block}
.g3x-ncphoto .g3h-hero .g3h-photo,.g3x-ncphoto .g3h-hero .g3x-nophoto{width:100%;max-width:none;margin:0}
.g3x-ncphoto .g3h-hero .g3h-photo img{width:100%;height:auto;max-height:none;display:block;object-fit:cover}
/* Picasso Step 3: tip right of UNDO; UNDO, 6-light strand, LOOKS GOOD on one row */
.g3x-pat-grid{display:grid!important;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:". tip tip" "undo strand next";align-items:center;gap:6px 10px}
.g3x-pat-grid .g3x-pat-tip{grid-area:tip;text-align:center;margin:0;font-weight:700;color:#1F2A26;font-size:.95rem}
.g3x-pat-grid .g3x-pat-undo{grid-area:undo;margin:0}
.g3x-pat-grid .g3x-pat-strand{grid-area:strand;margin:0;min-width:0}
.g3x-pat-grid .g3x-tab-next{grid-area:next;margin:0}
@media (max-width:520px){.g3x-pat-grid .g3x-pat-tip{font-size:.88rem;line-height:1.25}.g3x-pat-grid .g3x-pat-strand{gap:2px}.g3x-pat-grid .g3x-pat-strand li{min-width:0}}
.g3x-pat-light[disabled]{opacity:.45}
/* Signature Needed line */
.g3x-ma-req{font-weight:700;color:#CC2738;margin:4px 0 0}
/* intake Street View + map */
.g3x-addr-prev{border:2px solid #0b6346}
.g3x-addr-media{display:grid;gap:10px;grid-template-columns:1fr}
@media (min-width:700px){.g3x-addr-media{grid-template-columns:1fr 1fr}}
.g3x-addr-media>img{width:100%;height:auto;border-radius:12px;display:block;background:#e8efea;min-height:120px}
.g3x-addr-map img{max-width:none!important;border-radius:0!important;box-shadow:none!important;border:0!important;outline:0!important}
.g3x-addr-map button{background:#fff!important;border:0!important;box-shadow:0 1px 4px rgba(0,0,0,.3)!important;color:#444!important;text-transform:none!important;letter-spacing:normal!important;min-height:0!important;min-width:0!important;padding:0!important;font:inherit!important;border-radius:2px!important;filter:none!important;transform:none!important}
.g3x-addr-map{display:none;width:100%;min-height:220px;border-radius:12px;overflow:hidden}
.g3x-addr-map.is-on{display:block}
/* client bottom tab bar (phones); desktop keeps a floating + New */
.g3cb{position:fixed;left:0;right:0;bottom:0;z-index:52;display:flex;align-items:flex-end;justify-content:space-evenly;background:#fff;border-top:1px solid #dfe6e1;box-shadow:0 -4px 16px rgba(0,72,48,.08);padding:6px 4px calc(6px + env(safe-area-inset-bottom))}
.g3cb a.g3cb-tab{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;color:#6f7a74;text-decoration:none;font-family:var(--sans)!important;font-size:12px!important;font-weight:600!important;text-transform:none!important;letter-spacing:0!important;padding:4px 0 6px;min-width:0;text-align:center;line-height:1.1;background:none!important;border:0!important;box-shadow:none!important;min-height:0!important}
.g3cb a.g3cb-tab[aria-current=page],.g3cb a.g3cb-tab.active{color:#004830}
.g3cb a.g3cb-tab[aria-current=page] svg,.g3cb a.g3cb-tab.active svg{color:#CC2738}
.g3cb-mid{flex:1;display:flex;justify-content:center}
.g3cb-mid button.g3n-plus{padding:0 0 6px!important}
.g3cb-mid .g3n-fab{margin-top:-24px;border:3px solid #fff}
.customer-app main.page{padding-bottom:calc(110px + env(safe-area-inset-bottom))}
@media (max-width:999px){.customer-nav a[data-nav=project],.customer-nav a[data-nav=repair],.customer-nav a[data-nav=gallery],.customer-nav a[data-nav=referrals]{display:none!important}
.customer-app .actions{bottom:calc(88px + env(safe-area-inset-bottom))}}
@media (min-width:1000px){.g3cb{left:auto;right:16px;bottom:calc(16px + env(safe-area-inset-bottom));background:none;border:0;box-shadow:none;padding:0}.g3cb a.g3cb-tab{display:none}.g3cb-mid .g3n-fab{margin-top:0;width:60px;height:60px;border-radius:18px}.g3cb-mid button.g3n-plus{color:#004830!important;font-weight:700!important}.g3cb-mid .g3n-lbl{background:#fff;border-radius:999px;padding:1px 8px;box-shadow:0 2px 6px rgba(0,0,0,.15)}}
/* Settings in the upper-right header */
.header-tools .g3s-btn{margin-left:auto}
@media (max-width:999px){.customer-app .app-header .header-inner{position:relative}.customer-app .app-header .header-tools{position:static}.customer-app .app-header .header-tools [data-g3-settings-btn]{position:absolute;top:6px;right:8px;margin:0;z-index:3}.customer-app .app-header .brand{padding-right:108px}}

@media print{.g3cb,.g3sn-side,.g3sn-bottom,.g3n-client,.g3n-back,.g3n-sheet,[data-g3-settings-btn]{display:none!important}.staff-app{display:block!important}main.page{padding-bottom:0!important}}
/* Text Permission: Mobile Phone Number above the checkbox */
.g3x-sms-phone{display:grid;gap:4px;margin:6px 0 10px}
.g3x-sms-phone>span{font-weight:700}
.g3x-sms-phone input{font-size:16px;min-height:44px}
.g3x-sms-phone-err{margin:-4px 0 8px}
.g3x-assist-bar{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;justify-content:space-between;background:#FDECEE;border:2px solid #CC2738;border-radius:14px;padding:10px 14px;color:#1F2A26}
.g3x-assist-bar a{color:#CC2738;font-weight:800;text-transform:uppercase;font-size:.85rem}
.g3x-handoff{border:3px solid #0B6B45;background:#F1FAF5}
.g3x-handoff-msg{font-weight:700;font-size:1.05rem}
.g3x-designed-by{display:inline-block;background:#0B6B45;color:#fff;border-radius:999px;padding:4px 12px;font-weight:700;font-size:.9rem;margin:4px 0}
.g3x-drow-h{display:flex;justify-content:space-between;gap:10px;align-items:center}
.g3x-export{border-top:1px dashed #ccc;padding-top:10px;display:grid;gap:6px}
.g3x-export-msg{color:#CC2738;font-weight:700}
.g3x-cc-grid{display:grid;gap:10px;grid-template-columns:1fr}
@media(min-width:700px){.g3x-cc-grid{grid-template-columns:1fr 1fr}}
.g3x-dqueue .g3pm-act .btn,.g3x-handoff .g3pm-act .btn,.g3x-dreq .g3pm-act .btn{background:#CC2738;color:#fff;text-transform:uppercase}
.g3x-dqueue .btn[disabled]{opacity:.5;cursor:not-allowed}
/* ===== v81 · Picasso Step 2 / Step 3 ===== */
.g3x-color-tools{display:flex!important;align-items:center;gap:8px;flex-wrap:nowrap;margin-top:6px}
.g3x-color-count{font-size:.85rem;color:#5b6661;white-space:nowrap}
.g3x-color-tools .g3x-confirm-colors{margin:0 0 0 auto!important;white-space:nowrap}
.g3x-color-tools .g3x-confirm-colors:disabled{opacity:.45;cursor:not-allowed}
.g3x-pat41{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:6px;align-items:start}
.g3x-pat41 .g3x-pat-avail{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;justify-content:center;gap:6px;padding:4px 6px;overflow:hidden;min-width:0}
.g3x-pat41 .g3x-pat-light{flex:0 1 44px;width:auto!important;min-width:0;height:40px}
.g3x-pat41 .g3x-pat-light .g3x-bulb-icon{max-width:100%}
.g3x-pat41 .g3x-pat-grid{display:grid!important;grid-template-columns:auto minmax(0,1fr)!important;grid-template-areas:"tip tip" "undo strand"!important;align-items:center;gap:4px 8px}
.g3x-pat41 .g3x-pat-strand{display:flex!important;flex-wrap:nowrap!important;overflow:hidden;justify-content:space-between}
.g3x-pat41 .g3x-pat-strand li{flex:1 1 0;min-width:0;width:auto!important;max-width:36px}
.g3x-pat41 .g3x-pat-strand .g3x-bulb-icon{max-width:100%}
.g3x-pat-saved{margin:0;font-size:.85rem;font-weight:700;color:#1F9D55;text-align:center}
.g3x-pat-none{margin:0;font-size:.9rem;color:#5b6661;text-align:center}
/* ===== v81 · bottom bars stay flush (client tab bar, staff bottom bar, sticky action bars) ===== */
html,body{overscroll-behavior:none;overscroll-behavior-y:none}
html{background:var(--paper,#faf7f0)}
.g3cb{bottom:0!important;padding-bottom:calc(6px + env(safe-area-inset-bottom))!important;background:#fff}
.staff-app .g3sn-bottom{bottom:0!important;padding-bottom:env(safe-area-inset-bottom)!important;background:#fff}
@media (max-width:999px){.g3cb::after,.staff-app .g3sn-bottom::after{content:"";position:absolute;left:0;right:0;top:100%;height:200px;background:#fff;pointer-events:none}}
@media (width<=719px){
  .actions{bottom:var(--g3-bar-h,0px)!important}
  .customer-app .actions,.staff-app .actions{bottom:var(--g3-bar-h,0px)!important;box-shadow:0 12px 0 var(--paper,#faf7f0)}
}
html[data-g3-bar] .customer-app main.page,html[data-g3-bar] .staff-app main.page,html[data-g3-bar] .staff-app main{padding-bottom:calc(var(--g3-bar-h,0px) + 28px)!important}
@media (width<=719px){html[data-g3-bar] main.page:has(> .stack > .actions:last-child),html[data-g3-bar] main.page:has(> div > .stack > .actions:last-child){padding-bottom:var(--g3-bar-h,0px)!important}
html[data-g3-bar] main.page > .stack:has(> .actions:last-child){margin-bottom:0!important}
html[data-g3-bar] main.page .stack > .actions:last-child{margin-bottom:0!important}}
.g3sn-sheet{max-height:82dvh}
@supports (height:100dvh){.staff-app>.g3sn-side{height:100dvh}}
/* ===== v81 · landscape ===== */
@media (orientation:landscape) and (max-height:500px){
  .customer-app .app-header{padding-top:4px;padding-bottom:4px}
}
/* viewport-fit=cover: keep content clear of the notch / rounded corners in landscape */
body{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}
.g3cb,.staff-app .g3sn-bottom{padding-left:max(4px,env(safe-area-inset-left))!important;padding-right:max(4px,env(safe-area-inset-right))!important}
/* ===== v81 · bin photo ===== */
.g3x-bincard{border:2px solid #CC2738!important;background:#fff7f7!important;gap:8px}
.g3x-bincard h2{margin:0;font-size:1.3rem}
.g3x-bin-k{margin:0;font-size:.8rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#CC2738}
.g3x-bin-btn{display:flex!important;align-items:center;justify-content:center;width:100%;min-height:56px;font-size:1.25rem!important;position:relative;cursor:pointer;box-sizing:border-box}
.g3x-bin-file{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.g3x-bin-img{max-width:100%;border-radius:12px}
/* ===== v81 · landscape Picasso: photo canvas as large as the screen allows, compact controls ===== */
@media (orientation:landscape) and (max-height:560px){
  .g3x-studio .g3x-board{width:min(100%,calc((100dvh - var(--g3-bar-h,0px) - 30px) * 1.5));margin-left:auto;margin-right:auto}
  .g3x-studio .g3x-zoom-bar{gap:4px!important;padding:2px 0!important}
  .g3x-studio .g3x-zoom-bar .g3x-opt,.g3x-studio .g3x-zoom-bar button{min-height:34px!important;padding:4px 8px!important;font-size:.78rem!important}
  .g3x-studio .g3x-board-tools{margin-top:6px!important;gap:6px!important}
  .g3x-tabbed [data-pane]{min-height:0}
  .g3x-pat41 .g3x-pat-light{height:34px}
  .g3x-pat41 .g3x-pat-strand li{height:28px}
}

/* v81 new-client upload tile: Remove Photo sits under the grid */
.g3x-up-remove{margin-top:8px}.g3x-up-remove:empty{display:none}

/* v82 */
.g3x-skip-next{font-weight:600;color:var(--evergreen)}
.g3x-area-describe .g3x-describe textarea{width:100%}
.sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.g3x-area-notes-text{white-space:pre-line;margin:4px 0 0}
/* v83 · tappable Christmas-tree progress (visited steps only) */
.g3x-trees li{padding:0!important}
.g3x-trees .g3x-tree-btn{display:flex!important;flex-direction:column;align-items:center;gap:2px;width:100%;min-height:44px;min-width:0!important;margin:0!important;padding:2px 0 0!important;background:none!important;border:0!important;border-radius:6px!important;box-shadow:none!important;color:inherit!important;font:inherit!important;font-size:inherit!important;letter-spacing:normal!important;text-transform:none!important;line-height:inherit!important;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.g3x-trees .g3x-tree-btn:disabled{cursor:default;opacity:.55}
.g3x-trees .g3x-tree-btn:focus-visible{outline:3px solid #CC2738;outline-offset:1px}
.g3x-trees li.is-done .g3x-tree-btn:not(:disabled):hover .g3x-tree-label{text-decoration:underline}
/* v83 · Draw step canvas options */
.g3x-canvas-pick{gap:8px}
.g3x-canvas-q{font-weight:800;margin:0;color:#1F2A26}

/* ===== v84 · no full screen: the draw space always stays inline; rotating a phone/tablet just reflows ===== */
.g3x-draw-fs{position:static}
/* iPad / tablet landscape: keep the whole photo canvas on screen (same 3:2 sizing as the v81 phone landscape rule) */
@media (orientation:landscape) and (pointer:coarse) and (min-height:561px){
  .g3x-studio .g3x-board{width:min(100%,calc((100dvh - max(var(--g3-bar-h,0px),100px) - 30px) * 1.5));margin-left:auto;margin-right:auto}
}

/* ===== v84 · Master queue badge (mirrors the G3 Construction sidebar .badge) ===== */
.g3sn-side a.g3sn-link .g3sn-badge,.g3sn-sheet a.g3sn-link .g3sn-badge{margin-left:auto}
.g3sn-badge{min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:#CC2738;color:#fff;font-size:11px;font-weight:700;line-height:20px;display:inline-grid;place-items:center;font-family:var(--sans);letter-spacing:0;box-sizing:border-box}
.g3sn-bn{position:relative}
.g3sn-badge.is-bn{position:absolute;top:2px;left:calc(50% + 6px);min-width:18px;height:18px;line-height:18px;font-size:10px;padding:0 5px;box-shadow:0 0 0 2px #fff}
/* ===== v84 · View As ===== */
.g3sn-va{padding:0 12px 8px}
.g3sn-va .g3x-va-open,.g3pm-asbar .g3x-va-open{min-height:40px;padding:6px 14px;font-size:.9rem}
.g3sn-side .g3sn-va .g3x-va-open{width:100%}
.g3x-va-banner{position:sticky;top:0;z-index:60;display:flex;flex-wrap:wrap;align-items:center;gap:10px;background:#CC2738;color:#fff;padding:10px 14px;border-radius:0 0 12px 12px;margin:0 0 10px;box-shadow:0 2px 8px rgba(0,0,0,.18)}
.g3x-va-banner .g3x-va-txt{font-weight:700;font-size:1rem;flex:1 1 220px}
.g3x-va-banner .g3x-va-txt small{font-weight:500;opacity:.9}
.g3x-va-banner .g3x-va-exit{background:#fff!important;color:#CC2738!important;border:2px solid #fff!important;min-height:44px}
.g3x-va-banner .g3x-va-msg{flex-basis:100%;font-size:.88rem;background:rgba(255,255,255,.16);padding:6px 10px;border-radius:8px}
.g3x-va-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.g3x-va-who{all:unset;box-sizing:border-box;cursor:pointer;width:100%;display:grid;grid-template-columns:1fr auto;gap:2px 10px;align-items:center;padding:12px 14px;border:1px solid #d9dfdb;border-radius:12px;background:#fff;min-height:52px;font-family:var(--sans)}
.g3x-va-who:hover,.g3x-va-who:focus-visible{border-color:#CC2738;outline:2px solid #CC2738;outline-offset:1px}
.g3x-va-who b{font-size:1rem;color:#1F2A26}.g3x-va-who small{grid-column:1;color:#5b6660;font-size:.8rem}
.g3x-va-who .g3pm-acc-pill{grid-column:2;grid-row:1/span 2}
.g3x-va-h{margin:14px 0 4px;font-size:1rem}
/* ===== v84 · New Client + Send Client the Links ===== */
.g3x-cclient.is-menu .g3x-cc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px}
.g3x-cclient .field.has-err input{border-color:#CC2738;box-shadow:0 0 0 1px #CC2738}
.g3x-cclient .field small.error{display:block;margin-top:2px;font-size:.8rem}
.g3x-cc-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.g3x-cc-actions .btn{background:#CC2738;text-transform:uppercase}
.g3x-sendlinks{border:2px solid #CC2738;margin-top:12px}
.g3x-sendlinks h2{margin:0;font-size:1.25rem}
.g3x-sl-link{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end}
.g3x-sl-link .field{flex:1 1 260px;margin:0}.g3x-sl-link input{width:100%;font-size:.9rem}
.g3x-sl-verbal{display:flex;gap:10px;align-items:center;font-weight:700;min-height:44px;cursor:pointer}
.g3x-sl-verbal input{width:22px;height:22px;accent-color:#CC2738}
.g3x-sl-ch{border:0;padding:0;margin:0}.g3x-sl-ch legend{font-weight:700;margin-bottom:6px}
.g3x-sl-opts{display:flex;flex-wrap:wrap;gap:8px}
.g3x-sl-opt{display:flex;align-items:center;gap:8px;min-height:44px;padding:0 14px;border:1px solid #cfd6d2;border-radius:10px;background:#fff;cursor:pointer;font-weight:600}
.g3x-sl-opt.is-on{border-color:#CC2738;box-shadow:inset 0 0 0 1px #CC2738}
.g3x-sl-opt.is-off{opacity:.5;cursor:not-allowed;background:#f3f4f3}
.g3x-sl-opt input{accent-color:#CC2738}
.g3x-sl-note{margin:6px 0 0}
.g3x-sl-preview summary{cursor:pointer;font-size:.9rem}
/* ===== v84 · client link landing ===== */
.g3x-start .btn{background:#CC2738;text-transform:uppercase}
.g3x-a2hs-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.g3x-a2hs-os h3{margin:0 0 4px;font-size:1.05rem}.g3x-a2hs-os ol{margin:0;padding-left:1.2em;display:grid;gap:4px}
/* v84: Elf Access on iPhone — the project scope toggle wrapped past the screen edge (page zoomed out); keep it inside */
.g3pm .scope-toggle{max-width:100%;box-sizing:border-box}
.g3pm .scope-toggle>*{min-width:0}
main .g3pm .scope-toggle button.pmf.pmf.pmf.pmf.pmf.pmf{min-width:0;white-space:normal;line-height:1.15;text-align:center}
/* v84 client invite */
.g3x-inv{display:grid;gap:8px}
.g3x-inv-status{margin:6px 0 2px;padding:10px 12px;border:1px solid #e6e1d8;border-radius:12px;background:#fff}
.g3x-inv-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.g3x-inv-pill{display:inline-flex;align-items:center;min-height:24px;padding:2px 10px;border-radius:999px;background:#f3efe7;color:#5b5348;font-size:12px;font-weight:700}
.g3x-inv-pill.is-sent{background:#e6f4ea;color:#17643a}
.g3x-inv-row .btn{margin-left:auto}
.g3x-inv .btn{background:#CC2738;border-color:#CC2738;color:#fff;text-transform:uppercase;letter-spacing:.04em;font-weight:700}
.g3x-inv .btn.is-ghost{background:#fff;color:#CC2738}
.g3x-inv .btn:disabled{opacity:.45}
.g3x-inv-to{display:grid;gap:2px;padding:10px 12px;border-radius:10px;background:#f7f4ee}
.g3x-inv-to b{word-break:break-all}
.g3x-inv-act,.g3x-inv-ask{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.g3x-inv-ok{color:#17643a;font-weight:600}
.g3x-inv-made{font-size:13px;color:#5b5348}
/* v84: the + New sheet opened from the side menu lives inside the sticky side bar (its own stacking context); lift the bar so page cards (e.g. the project's installer box) can't cover the sheet */
.staff-app .g3sn-side{z-index:70}
/* v85: links panel buttons red #CC2738 ALL CAPS (COPY LINK, SEND BY EMAIL) */
.g3x-sendlinks .btn{background:#CC2738!important;border-color:#CC2738!important;color:#fff!important;text-transform:uppercase}
.g3x-sendlinks .btn:disabled{opacity:.5}
/* v85: owner Send Test Text */
.g3x-smstest .btn{background:#CC2738!important;border-color:#CC2738!important;color:#fff!important;text-transform:uppercase}
.g3x-smst-kv{display:grid;grid-template-columns:max-content 1fr;gap:6px 14px;margin:0}
.g3x-smst-kv dt{font-weight:700;color:#5b5348}.g3x-smst-kv dd{margin:0}
@media (max-width:520px){.g3x-smst-kv{grid-template-columns:1fr}.g3x-smst-kv dd{margin-bottom:6px}}

/* v86 Text From My Phone */
.g3x-sl-myphone{display:flex;flex-direction:column;gap:6px;align-items:flex-start}
.g3x-myphone{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;background:#CC2738!important;color:#fff!important;text-transform:uppercase}
.g3x-myphone[disabled]{opacity:.5}

/* v94.10: bullets on stacked estimate lists */.g3x-est-list{list-style:disc outside;padding-left:1.3rem}.g3x-est-list>li{display:list-item}.g3x-est-list>li::marker{color:#CC2738}

/* v94.11 larger client names */.g3x-cname{font-size:1.4rem;line-height:1.25;font-weight:800}.g3x-cjob{font-size:1rem;font-weight:700;color:#555}.plist-name[data-client-name]{font-size:clamp(1.9rem,6vw,2.6rem);line-height:1.15}.g3x-assist-bar .g3x-cname{font-size:1.3rem}

/* v94.11 stage colors (WCAG AA) */
.chip.stage.stg-design,.stgf.stg-design.on{background:#5B6470!important;color:#fff!important;border-color:#5B6470!important}
.chip.stage.stg-review,.stgf.stg-review.on{background:#7A4CC2!important;color:#fff!important;border-color:#7A4CC2!important}
.chip.stage.stg-signature,.stgf.stg-signature.on{background:#C2185B!important;color:#fff!important;border-color:#C2185B!important}
.chip.stage.stg-estimate,.stgf.stg-estimate.on{background:#F2B705!important;color:#1F1A00!important;border-color:#F2B705!important}
.chip.stage.stg-agreement,.stgf.stg-agreement.on{background:#E8710A!important;color:#1A0E00!important;border-color:#E8710A!important}
.chip.stage.stg-schedule,.stgf.stg-schedule.on{background:#1565C0!important;color:#fff!important;border-color:#1565C0!important}
.chip.stage.stg-installed,.stgf.stg-installed.on{background:#00796B!important;color:#fff!important;border-color:#00796B!important}
.chip.stage.stg-payment,.stgf.stg-payment.on{background:#2E7D32!important;color:#fff!important;border-color:#2E7D32!important}
.chip.stage.stg-closed,.stgf.stg-closed.on{background:#212121!important;color:#fff!important;border-color:#212121!important}
.stgf{border-left-width:6px!important}.stgf.stg-design{border-left-color:#5B6470!important}.stgf.stg-review{border-left-color:#7A4CC2!important}.stgf.stg-signature{border-left-color:#C2185B!important}.stgf.stg-estimate{border-left-color:#F2B705!important}.stgf.stg-agreement{border-left-color:#E8710A!important}.stgf.stg-schedule{border-left-color:#1565C0!important}.stgf.stg-installed{border-left-color:#00796B!important}.stgf.stg-payment{border-left-color:#2E7D32!important}

/* v94.11 Schedule Work */
.g3x-sw-grid{display:grid;grid-template-columns:minmax(260px,340px) 1fr;gap:16px;align-items:start}
@media(max-width:860px){.g3x-sw-grid{grid-template-columns:1fr}.g3x-sw-list{position:sticky;top:0;z-index:5;max-height:42vh;overflow:auto}}
.g3x-sw-item{display:flex;gap:10px;align-items:center;min-height:52px;padding:8px 10px;border:2px solid #ddd;border-radius:10px;background:#fff;cursor:grab;user-select:none;-webkit-user-select:none;touch-action:pan-y;margin-bottom:8px}
.g3x-sw-item.is-sel{border-color:#CC2738;box-shadow:0 0 0 3px rgba(204,39,56,.25)}
.g3x-sw-grip{font-size:1.5rem;touch-action:none;padding:4px 6px;color:#777}
.g3x-sw-txt{display:flex;flex-direction:column;flex:1;min-width:0}.g3x-sw-txt b{font-size:1.05rem}
.g3x-sw-calh{display:flex;align-items:center;justify-content:space-between;gap:8px}.g3x-sw-calh button{min-width:44px;min-height:44px}
.g3x-sw-days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.g3x-sw-dow{text-align:center;font-weight:700;font-size:.8rem}
.g3x-sw-day{min-height:64px;display:flex;flex-direction:column;align-items:stretch;gap:2px;padding:4px;border:1px solid #ccc;border-radius:8px;background:#fff;text-align:left;font:inherit;cursor:pointer;overflow:hidden}
.g3x-sw-day.is-out{opacity:.55}.g3x-sw-day.is-past{background:#f3f3f3;cursor:not-allowed}.g3x-sw-day.is-today{border:2px solid #CC2738}
.g3x-sw-dn{font-weight:700}.g3x-sw-bk{font-size:.68rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:1px 4px}
.g3x-sw-ghost{position:fixed;z-index:9999;pointer-events:none;background:#CC2738;color:#fff;padding:6px 10px;border-radius:8px;font-weight:700}
.g3x-signby{background:#fff4f4;border-left:4px solid #c8102e;border-radius:8px;padding:10px 12px;margin:8px 0;color:#1e242b;line-height:1.4}.g3x-signby strong{color:#a00d25;display:block;font-size:1.05em}
.g3x-cancel-panel ul{margin:4px 0;padding-left:18px}.g3x-cx-row{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;padding:6px 0;border-top:1px solid #eee}.g3x-cx-row .actions{margin:0}.g3x-cx-late{color:#b00020;font-weight:700}.g3x-cx-done{color:#1b6e3a}

/* v94.16: phone-width estimate view - title wraps instead of clipping, rows wrap neatly in their columns */
@media (max-width:600px){
.g3x-estdoc.g3x-doc{padding:12px 10px 8px;font-size:.92em}
.g3x-estdoc .g3x-estdoc-title{white-space:normal!important;font-size:1.3em!important;line-height:1.15;overflow-wrap:break-word}
.g3x-estdoc-titles{width:auto;flex:1 1 0;contain:none;overflow:visible}
.g3x-estdoc-logo{width:44px}
.g3x-estdoc-info{grid-template-columns:minmax(0,6.4em) minmax(0,1fr);gap:3px 8px;align-items:start}
.g3x-estdoc-info dt{line-height:1.25;overflow-wrap:break-word}
.g3x-estdoc-info dd{line-height:1.3;overflow-wrap:anywhere;min-width:0}
.g3x-estdoc-tbl{font-size:.88em;table-layout:auto}
.g3x-estdoc-tbl td,.g3x-estdoc-tbl th{padding:3px 2px;line-height:1.25}
.g3x-estdoc-tbl td:first-child{overflow-wrap:break-word}
.g3x-estdoc .g3x-estdoc-note{line-height:1.3;margin:.4em 0!important}
.g3x-estdoc-sig{gap:6px}
}

/* R931 */
.g3pm a.client.proj[data-pcard]{border-left:6px solid var(--stc,#5B6470)!important;background:#fff}
.g3pm .ptable tr[data-prow] td:first-child{box-shadow:inset 6px 0 0 var(--stc,#5B6470)!important}
.g3x-queue-page button[data-queue-item]{border-left:6px solid var(--qs,#C9D1CE)!important}
.stg-closed{border-left-color:#212121!important}
.g3pm a.client.proj[class*="stg-"]{border-left-width:6px;border-left-style:solid;background:#fff}
.g3x-queue-page li[data-q-stage]{display:block!important}
.g3x-queue-page button[data-queue-item]{background:#fff!important;color:#1f2a26!important;border-top:1px solid #d9e2de!important;border-right:1px solid #d9e2de!important;border-bottom:1px solid #d9e2de!important;box-shadow:0 1px 2px rgba(0,0,0,.06)!important;text-transform:none!important}
.g3x-queue-page button[data-queue-item] [data-q-name]{color:#1f2a26!important;font-family:inherit}
.g3x-queue-page button[data-queue-item] .fine{color:#4b5b55!important}
.g3x-qtype{display:inline-block;color:#33413C!important;text-transform:none!important;letter-spacing:normal!important;font-size:12px;font-weight:600;padding:2px 8px;border-radius:999px;background:#EEF2F1;color:#33413C}
.g3x-queue-page .chip.stage{font-size:11px;padding:2px 8px}
.g3x-asg{margin:6px 0 0 8px;max-width:360px}.g3x-asg select{min-height:44px}
.g3x-dq-asg{margin:-4px 0 12px}
.g3pm-log li.g3x-act{display:flex;gap:10px;align-items:flex-start;padding:8px 10px;margin:0 0 6px;background:#fff;border-radius:8px;list-style:none}
.g3x-act-ic{flex:0 0 28px;width:28px;height:28px;border-radius:50%;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:14px;line-height:1}
.g3x-act-b{display:flex;flex-direction:column;gap:2px;min-width:0}
.g3x-sw .g3x-sw-day,.g3x-sw button.g3x-sw-day{background:#fff!important;color:#1f2a26!important;border:1px solid #d9dee2!important;box-shadow:none!important;text-transform:none!important;letter-spacing:normal!important;font-weight:400!important}
.g3x-sw .g3x-sw-day:hover:not(:disabled){background:#F5F7F8!important}
.g3x-sw .g3x-sw-day.is-out{opacity:.5}
.g3x-sw .g3x-sw-day.is-past{background:#F7F7F7!important;color:#9aa3a0!important}
.g3x-sw .g3x-sw-day.is-today{border:2px solid #1f2a26!important}
.g3x-sw .g3x-sw-dn{font-weight:600;color:inherit}
.g3x-sw .g3x-sw-dow{color:#5b6470}
.g3x-sw .g3x-sw-calh button{background:#fff!important;color:#1f2a26!important;border:1px solid #d9dee2!important}
.g3x-sw .g3x-sw-item{border:1px solid #d9dee2}
.g3x-sw .g3x-sw-item.is-sel{border-color:#1565C0;box-shadow:0 0 0 3px rgba(21,101,192,.2)}
.g3x-sw .g3x-sw-ghost{background:#1f2a26}
/* v96.21 Today's Route + install labels */
.g3x-route{border:2px solid #CC2738;display:flex;flex-direction:column;gap:8px}
.g3x-route-h{display:flex;justify-content:space-between;align-items:baseline;gap:8px;flex-wrap:wrap}
.g3x-route-h h2{margin:0}
.g3x-route-stops{margin:0;padding-left:22px;display:flex;flex-direction:column;gap:10px}
.g3x-route-stops li{display:flex;flex-direction:column;gap:2px}
.g3x-route-lbl{font-weight:700;color:inherit;overflow-wrap:anywhere}
.g3x-route-go{background:#CC2738;color:#fff;text-transform:uppercase;font-weight:700;min-height:46px;width:100%;border:0;border-radius:10px}
.g3x-linkbtn{background:none;border:0;padding:0;color:#CC2738;text-decoration:underline;font:inherit;cursor:pointer}
.cal-chip,.g3x-sw-bk,[data-inst-lbl]{white-space:normal!important;overflow:visible!important;text-overflow:clip!important;overflow-wrap:anywhere;word-break:normal;line-height:1.2;height:auto!important;max-height:none!important}
.g3-card-inst{display:block;font-size:12px;font-weight:500;overflow-wrap:anywhere}
.g3x-route-stops{list-style:none;padding-left:0}
.g3x-route-n{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;border-radius:12px;background:#CC2738;color:#fff;font-size:13px;margin-right:6px;vertical-align:1px}
.cal-chip .g3x-chip-ln{display:block}
.cal-chip,.g3x-sw-bk{overflow-wrap:break-word!important}
@media (max-width:560px){.cal-grid .cal-day .cal-chip,.g3x-sw-bk{font-size:9px;padding:2px 3px;letter-spacing:-.01em;hyphens:none}}

.chip.stage.stg-scheduled,.stgf.stg-scheduled.on{background:#4527A0!important;color:#fff!important;border-color:#4527A0!important}
.stgf.stg-scheduled{border-left-color:#4527A0!important}

/* v333 (Matthew 10/20): condensed projects table, visible horizontal scroll, sticky client column */
.g3pm .ptable-wrap{overflow-x:auto!important;overflow-y:auto;max-height:calc(100vh - 140px);-webkit-overflow-scrolling:touch;scrollbar-width:auto;scrollbar-color:#CC2738 #f1f1f1}
.g3pm .ptable-wrap::-webkit-scrollbar{height:12px;width:10px}
.g3pm .ptable-wrap::-webkit-scrollbar-thumb{background:#CC2738;border-radius:8px}
.g3pm .ptable-wrap::-webkit-scrollbar-track{background:#f1f1f1}
.g3pm .ptable.g3-ptable-tight{font-size:12px;width:100%}
main .g3pm .ptable.g3-ptable-tight th button.pmth.pmth.pmth.pmth.pmth.pmth,.g3pm .ptable.g3-ptable-tight th button{padding:7px 6px!important;font-size:10px!important;letter-spacing:.04em!important;min-height:34px!important;gap:3px!important}
.g3pm .ptable.g3-ptable-tight td{padding:5px 6px!important;height:auto!important;font-size:12px!important;vertical-align:middle!important}
.g3pm .ptable.g3-ptable-tight .chip,.g3pm .ptable.g3-ptable-tight .tchip{font-size:10px!important;padding:2px 7px!important;min-height:0!important;line-height:1.3!important;gap:3px!important}
.g3pm .ptable.g3-ptable-tight .tchip svg{width:11px;height:11px}
.g3pm .ptable.g3-ptable-tight .oc{min-width:20px;height:20px;font-size:11px}
.g3pm .ptable.g3-ptable-tight .pcell a{white-space:normal!important;display:block;max-width:170px}
.g3pm .ptable.g3-ptable-tight .pcell small{max-width:170px;font-size:10.5px}
.g3pm .ptable.g3-ptable-tight .plist-order{font-size:10.5px}
.g3pm .ptable.g3-ptable-tight th:first-child,.g3pm .ptable.g3-ptable-tight td:first-child{position:sticky;left:0;z-index:2;min-width:150px;max-width:190px}
.g3pm .ptable.g3-ptable-tight td:first-child{background:#fff;box-shadow:1px 0 0 var(--band,#e5e5e5)}
.g3pm .ptable.g3-ptable-tight tbody tr:nth-child(even) td:first-child{background:#FBFBFA}
.g3pm .ptable.g3-ptable-tight th:first-child{z-index:3;background:var(--navy)}

/* v336 Complete (green) + Takedown (brown) stages */
.chip.stage.stg-complete,.stgf.stg-complete.on{background:#1B9E3E!important;color:#fff!important;border-color:#1B9E3E!important}
.stg-complete{border-left-color:#1B9E3E!important}
.chip.stage.stg-takedown,.stgf.stg-takedown.on{background:#6D4C41!important;color:#fff!important;border-color:#6D4C41!important}
.stg-takedown{border-left-color:#6D4C41!important}

/* v337: estimate calc lines wrap on phones (no page zoom-out on Android) */
.g3x-est-calc{white-space:normal!important;overflow-wrap:anywhere;min-width:0}
/* v338: on phones the estimate page card buttons (SAVE CHANGES, RE-AUTHORIZE, SAVE COUNTS) stay in place, so the pinned MARK READY bar never covers them */
@media (width<=719px){.g3x-lighting-est .actions,.g3x-final-inv .actions,.g3x-staff-agreements .actions{position:static}}

/* v343: projects table fits ~1024px desktop with the PAID column (no sideways cutoff) */
@media (max-width:1280px){[data-ptable] thead th{white-space:normal;line-height:1.15;vertical-align:bottom}[data-ptable] td.g3x-paidc .chip{white-space:normal;line-height:1.15;display:inline-block;max-width:78px}[data-ptable] .pcell small{word-break:break-word}[data-ptable] td.pcell{max-width:170px}}
@media (max-width:1100px){[data-ptable] th,[data-ptable] td{padding-left:4px;padding-right:4px}[data-ptable] td.pcell{max-width:140px}[data-ptable] td.pmc{white-space:normal;max-width:78px}[data-ptable] .chip{padding-left:6px;padding-right:6px}}
@media (max-width:1280px){.g3pm .ptable.g3-ptable-tight th button,.g3-ptable-tight th button.pmth.pmth.pmth.pmth.pmth.pmth{white-space:normal!important;text-align:left;line-height:1.15!important}.g3-ptable-tight .pcell a,.g3-ptable-tight .pcell small{max-width:135px!important}.g3-ptable-tight td.g3x-paidc .chip{white-space:normal!important}}
@media (max-width:1280px){.g3-ptable-tight .plist-order{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:135px}}
.g3x-pay-btns .btn:last-child:nth-child(odd){grid-column:1/-1}

/* v346: SHOW AGREEMENT TEXT is an outlined red secondary button, natural width */
html main button.g3x-ec-textbtn,html main button.g3x-ec-textbtn:hover:not(:disabled){background:#fff!important;color:#CC2738!important;border:2px solid #CC2738!important;width:auto!important;flex:0 0 auto!important;text-transform:uppercase!important}

/* v348 Brand headings: Montserrat ExtraBold 800 (approved by Matthew Oct 26, 2026). Staff/Claus/Elf + PM only; Lights CLIENT festive fonts untouched. */
@font-face{font-family:'G3 Montserrat';src:url(/lights-static/assets/montserrat-var.woff2) format('woff2');font-weight:100 900;font-style:normal;font-display:swap}
html body .staff-app h1,html body .staff-app h2,html body .staff-app h2.display,html body .staff-app h3,html body .staff-app .stat b,html body .g3pm h1,html body .g3pm h2,html body .g3pm h3,html body .g3pm .plist-name{font-family:'G3 Montserrat',Montserrat,'Arial Black','Segoe UI',system-ui,sans-serif!important;font-weight:800!important;letter-spacing:-.02em!important}
