@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@300;400;500;600;700&family=Work+Sans:wght@300;400;500;600;700&display=swap');
@tailwind base;
@tailwind components;
@tailwind utilities;

:root{--bg:#0e141c;--panel:#10151c;--steel:#1e2a38;--blue:#4a6c8f;--brass:#d9a441;--text:#d9dfe5;--muted:#7c8997;--green:#22c55e;--red:#ef4444;--orange:#f59e0b;--purple:#a78bfa}
*{box-sizing:border-box;border-color:var(--steel)}html,body,#app{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:'Work Sans',sans-serif;font-size:14px}.mono,code,input,select,.badge{font-family:'JetBrains Mono',monospace}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}
.shell{height:100%;display:flex;overflow:hidden}.sidebar{width:192px;height:100%;flex:none;background:var(--panel);border-right:1px solid var(--steel);display:flex;flex-direction:column;transition:.2s}.sidebar.collapsed{width:48px}.brand{height:53px;padding:12px;display:flex;gap:8px;align-items:center;border-bottom:1px solid var(--steel);overflow:hidden}.logo{width:28px;height:28px;display:grid;place-items:center;background:linear-gradient(135deg,#d9a441,#c4882a);color:#10151c;border-radius:2px;flex:none;font-size:17px}.brand strong{font:700 12px 'JetBrains Mono';color:var(--brass)}.brand small{display:block;color:var(--blue);font:9px 'JetBrains Mono';letter-spacing:.14em}.nav{padding:8px 4px;flex:1;overflow:auto}.nav a,.side-action{height:33px;padding:0 9px;display:flex;align-items:center;gap:10px;color:var(--blue);border-radius:2px;font-size:12px;white-space:nowrap;overflow:hidden}.nav a:hover,.side-action:hover{background:var(--steel);color:var(--text)}.nav a.active{background:var(--steel);color:var(--brass);border-left:3px solid var(--brass);padding-left:6px}.nav .count{margin-left:auto;background:var(--brass);color:#10151c;padding:1px 5px;font-size:9px;border-radius:2px;font-weight:700}.side-bottom{border-top:1px solid var(--steel);padding:7px 4px}.side-user{display:flex;gap:8px;align-items:center;padding:7px 9px}.avatar{width:22px;height:22px;border-radius:50%;background:var(--blue);color:var(--panel);display:grid;place-items:center;font-weight:700}.side-user small{display:block;color:var(--blue);font-size:9px}.collapse{height:31px;border:0;border-top:1px solid var(--steel);background:transparent;color:var(--blue)}.collapsed .brand-copy,.collapsed .nav span,.collapsed .side-action span,.collapsed .side-user div:last-child{display:none}.collapsed .nav a,.collapsed .side-action{justify-content:center;padding:0}.collapsed .nav a.active{padding:0;border-left:0;border-bottom:2px solid var(--brass)}
.main{flex:1;min-width:0;height:100%;overflow:hidden;display:flex;flex-direction:column}.topbar{height:50px;flex:none;padding:0 20px;background:var(--panel);border-bottom:1px solid var(--steel);display:flex;align-items:center;justify-content:space-between}.topbar.large{height:82px;padding:0 24px}.topbar h1{margin:0;font-size:14px}.topbar.large h1{font-size:24px}.sub{color:var(--muted);font-size:10px;margin-top:3px}.topbar.large .sub{font-size:14px}.actions{display:flex;gap:8px;align-items:center}.body{flex:1;overflow:auto;padding:16px 20px}.btn{height:30px;padding:0 12px;border:1px solid var(--steel);border-radius:2px;background:var(--steel);color:var(--text);font-size:12px;display:inline-flex;align-items:center;justify-content:center;gap:6px}.btn:hover{border-color:var(--blue)}.btn.primary{background:linear-gradient(135deg,#d9a441,#c4882a);border-color:transparent;color:#10151c;font-weight:700}.btn.ghost{background:transparent}.btn.icon{width:30px;padding:0}.field{height:30px;border:1px solid var(--steel);border-radius:2px;background:var(--steel);color:var(--text);padding:0 10px;outline:0}.field:focus{border-color:var(--brass)}textarea.field{height:auto;padding:10px;resize:vertical}.search{position:relative}.search .field{padding-left:29px}.search:before{content:'⌕';position:absolute;left:10px;top:50%;transform:translateY(-50%);line-height:1;color:var(--muted);font-size:14px;pointer-events:none}.card{background:var(--panel);border:1px solid var(--steel);border-radius:2px}.panel{background:rgba(30,42,56,.35);border:1px solid var(--steel);border-radius:2px;padding:16px}.label{display:block;color:var(--muted);font:9px 'JetBrains Mono';text-transform:uppercase;letter-spacing:.08em;margin-bottom:5px}.badge{display:inline-flex;align-items:center;gap:4px;padding:2px 6px;border:1px solid currentColor;border-radius:2px;font-size:9px;white-space:nowrap}.status-survey{color:var(--purple);background:#a78bfa12}.status-quoted{color:#38bdf8;background:#38bdf812}.status-progress{color:var(--brass);background:#d9a44112}.status-ordered{color:#34d399;background:#34d39912}.status-lead{color:var(--blue);background:#4a6c8f12}.status-pending{color:var(--orange);background:#f59e0b12}.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.kpi{padding:14px;display:flex;gap:12px;align-items:center}.kpi-icon{width:38px;height:38px;border-radius:2px;display:grid;place-items:center;font-size:18px;background:#d9a44116}.kpi strong{font:700 18px 'JetBrains Mono'}.kpi small{display:block;color:var(--muted);font-size:10px}.trend{font:9px 'JetBrains Mono';color:var(--green);margin-top:3px}.dashboard-grid{display:grid;grid-template-columns:2fr 1fr;gap:12px;margin-top:12px}.chart-card{padding:15px}.chart-title{font-weight:600;font-size:12px}.chart-sub{color:var(--muted);font:10px 'JetBrains Mono'}.chart{width:100%;height:165px;margin-top:10px}.chart text{font:9px 'JetBrains Mono';fill:#65768a}.source-row{display:flex;align-items:center;gap:7px;font:10px 'JetBrains Mono';margin:7px 0}.dot{width:8px;height:8px;border-radius:50%}.opportunity{display:grid;grid-template-columns:55px 1fr 150px 90px 85px;gap:10px;align-items:center;padding:8px 10px;background:#1e2a3877;border:1px solid var(--steel);margin-top:6px;font-size:11px}.gold{color:var(--brass)}.muted{color:var(--muted)}.table-wrap{margin-top:12px;overflow:auto}.table-title{padding:10px 13px;border-bottom:1px solid var(--steel);display:flex;justify-content:space-between}.data-table{width:100%;border-collapse:collapse;min-width:920px}.data-table th{text-align:left;color:var(--muted);font:10px 'JetBrains Mono';text-transform:uppercase;padding:9px;border-bottom:1px solid var(--steel)}.data-table td{padding:9px;border-bottom:1px solid #1e2a3880;font-size:11px}.data-table tr:hover{background:#1e2a3844}.danger-row{background:#ef44440b}.score{display:flex;gap:5px;align-items:center}.score-bar{width:40px;height:5px;background:var(--steel);border-radius:5px}.score-bar i{display:block;height:100%;border-radius:5px}
.lead-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.lead-card{padding:18px;transition:.2s}.lead-card:hover{border-color:#d9a44180}.lead-head{display:flex;justify-content:space-between}.lead-card h3{font-size:17px;margin:15px 0 6px}.lead-card p{color:var(--muted);font-size:13px}.form-card{max-width:700px;margin:auto;padding:24px}.form-card h2{margin-top:0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-group{margin-bottom:13px}.form-group .field{width:100%}.kanban{display:flex;gap:24px;height:100%;min-width:max-content}.column{width:320px;display:flex;flex-direction:column}.column-title{display:flex;align-items:center;gap:8px;height:35px}.task{padding:15px;margin-bottom:11px}.task h3{font-size:14px;margin:8px 0}.task-foot{border-top:1px solid var(--steel);padding-top:10px;margin-top:13px;display:flex;justify-content:space-between;font-size:11px}
.calendar-head{display:flex;align-items:center;gap:26px}.segmented{display:flex;background:var(--steel);padding:3px;border-radius:4px}.segmented button{height:28px;border:0;background:transparent;color:var(--muted);padding:0 16px;border-radius:2px}.segmented button.active{background:var(--blue);color:var(--text)}.calendar-grid{min-width:900px;border:1px solid var(--steel);background:var(--panel)}.day-row{display:grid;grid-template-columns:95px 1fr;min-height:79px;border-bottom:1px solid var(--steel)}.time{padding:12px;color:var(--muted);font:11px 'JetBrains Mono';border-right:1px solid var(--steel)}.appt-space{padding:7px;display:flex;gap:8px}.appt{width:220px;background:var(--steel);border-left:4px solid var(--brass);padding:9px;font-size:11px}.week-grid,.month-grid{display:grid;grid-template-columns:repeat(7,1fr);min-width:900px}.day-col{min-height:590px;border-right:1px solid var(--steel);padding:8px}.month-cell{min-height:118px;border-right:1px solid var(--steel);border-bottom:1px solid var(--steel);padding:7px}.cal-head{padding:10px;text-align:center;color:var(--muted);font-weight:700;border-right:1px solid var(--steel)}
.project-layout{height:100%;display:flex}.project-list{width:256px;flex:none;background:var(--panel);border-right:1px solid var(--steel);overflow:auto}.project-search{padding:12px;border-bottom:1px solid var(--steel)}.project-item{display:block;width:100%;text-align:left;border:0;border-bottom:1px solid #1e2a3880;background:transparent;color:var(--text);padding:11px}.project-item.active{background:var(--steel);border-left:3px solid var(--brass)}.project-item strong,.project-item small{display:block}.project-item small{color:var(--muted);margin-top:3px}.workspace{flex:1;min-width:0;display:flex;flex-direction:column}.customer-head{padding:10px 16px;background:var(--panel);border-bottom:1px solid var(--steel);display:flex;justify-content:space-between}.customer-title{display:flex;gap:10px}.customer-stats{display:flex;gap:25px;align-items:center;text-align:center}.customer-stats strong{font:700 14px 'JetBrains Mono'}.customer-stats small{display:block;font-size:8px;text-transform:uppercase;color:var(--muted)}.tabs{height:34px;background:var(--panel);border-bottom:1px solid var(--steel);display:flex;padding-left:16px}.tabs button{border:0;border-bottom:2px solid transparent;background:transparent;color:var(--muted);padding:0 15px;font-size:12px}.tabs button.active{border-color:var(--brass);color:var(--brass)}.tab-body{padding:16px;overflow:auto;flex:1}.spec-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.spec-line{display:flex;justify-content:space-between;border-bottom:1px solid #1e2a3877;padding:7px 0;font-size:10px}.timeline-item{display:flex;gap:12px;padding:11px;border-bottom:1px solid var(--steel)}
.config-layout{display:grid;grid-template-columns:288px 1fr 256px;flex:1;overflow:hidden}.rail{background:var(--panel);overflow:auto;padding:13px;border-right:1px solid var(--steel)}.rail.right{border-right:0;border-left:1px solid var(--steel)}.section-title{color:var(--brass);font:10px 'JetBrains Mono';text-transform:uppercase;letter-spacing:.12em;margin:6px 0 12px}.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:5px}.choice{background:var(--steel);border:1px solid var(--steel);padding:7px;color:var(--muted);font:9px 'JetBrains Mono';text-align:left}.choice.active{border-color:var(--brass);color:var(--brass);background:#d9a44112}.toggle-row,.unit-row{display:flex;justify-content:space-between;align-items:center;background:var(--steel);padding:8px;margin:5px 0;font-size:10px}.switch{width:30px;height:16px;border-radius:10px;background:var(--blue);position:relative}.switch:after{content:'';width:12px;height:12px;background:white;position:absolute;top:2px;left:16px;border-radius:50%}.switch.off{background:#354150}.switch.off:after{left:2px}.preview{overflow:auto;padding:28px;display:flex;justify-content:center}.preview-inner{width:100%;max-width:550px;text-align:center}.window-box{height:310px;margin:18px auto;background:#1e2a3855;border:1px solid var(--steel);display:grid;place-items:center}.window{width:210px;height:180px;border:15px solid #3d4147;box-shadow:3px 5px 12px #0009;position:relative;background:linear-gradient(135deg,#bde4f677,#4a8ab377)}.window:after{content:'';position:absolute;top:0;bottom:0;left:50%;width:10px;background:#3d4147;transform:translateX(-50%)}.window.white{border-color:#e8ecf0}.window.cream{border-color:#e8dcc8}.window.green{border-color:#5a9c72}.dimension{font:10px 'JetBrains Mono';color:var(--muted)}.price-line{display:flex;justify-content:space-between;margin:9px 0;font:10px 'JetBrains Mono'}.total-card{background:#d9a44112;border:1px solid #d9a44155;padding:13px;margin:14px 0}.total-card strong{display:block;color:var(--brass);font:700 25px 'JetBrains Mono'}
.quote-layout{display:grid;grid-template-columns:1fr 305px;flex:1;overflow:hidden}.quote-main{overflow:auto;padding:16px}.quote-side{background:var(--panel);border-left:1px solid var(--steel);overflow:auto;padding:14px}.quote-head{display:flex;justify-content:space-between;margin-bottom:14px}.quote-line{display:grid;grid-template-columns:1fr 55px 90px 100px;gap:8px;padding:12px;border-bottom:1px solid var(--steel);align-items:center}.finance-option{padding:10px;background:var(--steel);border:1px solid var(--steel);margin:6px 0}.finance-option.active{border-color:var(--brass);background:#d9a44110}.big-total{font:700 30px 'JetBrains Mono';color:var(--brass)}
.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;max-width:1000px}.settings-grid .field{width:100%}.setting-card{padding:16px}.setting-card .form-group{margin-bottom:10px}.banner{position:fixed;z-index:20;top:0;left:0;right:0;height:32px;background:var(--brass);color:var(--panel);display:flex;align-items:center;justify-content:space-between;padding:0 16px;font:600 11px 'JetBrains Mono'}.customer-mode .sidebar{display:none}.customer-mode .main{padding-top:32px}.light{--bg:#f3f5f7;--panel:#fff;--steel:#d9e0e7;--blue:#4a6c8f;--text:#1c2835;--muted:#6a7785}.toast{position:fixed;right:20px;bottom:20px;background:var(--steel);border:1px solid var(--brass);padding:10px 15px;z-index:50;font-size:12px;animation:fade 2.4s forwards}@keyframes fade{0%,75%{opacity:1}100%{opacity:0}}
@media(max-width:1000px){.grid4{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}.lead-grid{grid-template-columns:repeat(2,1fr)}.config-layout{grid-template-columns:250px 1fr}.rail.right{display:none}.customer-stats{gap:10px}.settings-grid{grid-template-columns:1fr}}
@media(max-width:720px){.sidebar{width:48px}.brand-copy,.nav span,.side-action span,.side-user div:last-child{display:none}.nav a,.side-action{justify-content:center;padding:0}.topbar.large{height:auto;min-height:100px;align-items:flex-start;padding:15px;gap:10px;flex-direction:column}.topbar{padding:0 10px}.actions .search{display:none}.body{padding:12px}.grid4,.lead-grid,.form-grid,.spec-grid{grid-template-columns:1fr}.project-list{display:none}.config-layout{display:block;overflow:auto}.rail{height:auto;border:0}.preview{min-height:600px}.quote-layout{display:block;overflow:auto}.quote-side{border:0}.customer-head{flex-direction:column}.customer-stats{justify-content:space-between}.opportunity{grid-template-columns:45px 1fr 80px}.opportunity>:nth-child(3),.opportunity>:nth-child(5){display:none}}

/* Motion system — mirrors the original React transition language without a runtime. */
@keyframes route-in{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
@keyframes rise-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes fade-in{from{opacity:0}to{opacity:1}}
@keyframes line-draw{from{stroke-dashoffset:900}to{stroke-dashoffset:0}}
@keyframes bar-grow{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes total-pop{0%{transform:scale(.975);border-color:#d9a441aa}100%{transform:none;border-color:#d9a44155}}
@keyframes banner-drop{from{transform:translateY(-100%)}to{transform:none}}
.route-enter{animation:route-in .28s cubic-bezier(.22,1,.36,1) backwards}
.route-enter .kpi,.route-enter .chart-card,.route-enter .lead-card,.route-enter .task,.route-enter .panel,.route-enter .table-wrap{animation:rise-in .4s cubic-bezier(.22,1,.36,1) both}
.route-enter .kpi:nth-child(2),.route-enter .lead-card:nth-child(2),.route-enter .task:nth-child(2){animation-delay:45ms}
.route-enter .kpi:nth-child(3),.route-enter .lead-card:nth-child(3),.route-enter .task:nth-child(3){animation-delay:90ms}
.route-enter .kpi:nth-child(4){animation-delay:135ms}.route-enter .chart-card:nth-child(2){animation-delay:70ms}.route-enter .table-wrap{animation-delay:110ms}
.route-enter .data-table tbody tr{animation:fade-in .3s ease both}.route-enter .data-table tbody tr:nth-child(n+2){animation-delay:25ms}.route-enter .data-table tbody tr:nth-child(n+6){animation-delay:55ms}.route-enter .data-table tbody tr:nth-child(n+11){animation-delay:85ms}
.route-enter .chart path[fill="none"]{stroke-dasharray:900;stroke-dashoffset:900;animation:line-draw 1.05s .18s cubic-bezier(.22,1,.36,1) forwards}
.route-enter .chart rect{transform-box:fill-box;transform-origin:left;animation:bar-grow .55s cubic-bezier(.22,1,.36,1) both}
.nav a,.side-action{transition:color .18s ease,background-color .18s ease,transform .18s ease,padding .18s ease}
.nav a:hover,.side-action:hover{transform:translateX(2px)}.nav a:active,.side-action:active{transform:translateX(1px) scale(.985)}
.btn{transition:transform .16s ease,border-color .18s ease,background-color .18s ease,filter .18s ease,box-shadow .18s ease}.btn:hover{transform:translateY(-1px)}.btn:active{transform:translateY(0) scale(.975)}.btn.primary:hover{filter:brightness(1.08);box-shadow:0 5px 16px #d9a44122}
.card,.panel,.task,.lead-card,.project-item,.opportunity,.finance-option,.choice,.unit-row,.appt{transition:transform .2s cubic-bezier(.22,1,.36,1),border-color .2s ease,background-color .2s ease,box-shadow .2s ease,opacity .2s ease}
.kpi:hover,.chart-card:hover,.lead-card:hover,.task:hover{transform:translateY(-2px);border-color:#4a6c8f88;box-shadow:0 8px 24px #0002}.opportunity:hover,.project-item:hover,.unit-row:hover{transform:translateX(2px)}
.field{transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease}.field:focus{box-shadow:0 0 0 3px #d9a44118}
.tabs button,.segmented button{transition:color .18s ease,background-color .18s ease,border-color .18s ease,transform .18s ease}.tabs button:hover,.segmented button:hover{color:var(--text)}.tabs button:active,.segmented button:active{transform:scale(.97)}
.tab-body{animation:route-in .22s cubic-bezier(.22,1,.36,1) both}.choice.active,.finance-option.active{box-shadow:inset 0 0 0 1px #d9a44155}.window{transition:width .35s cubic-bezier(.22,1,.36,1),height .35s cubic-bezier(.22,1,.36,1),border-color .28s ease,background .28s ease}.total-card{animation:total-pop .32s cubic-bezier(.22,1,.36,1) both}
.switch{border:0;transition:background-color .22s ease,box-shadow .22s ease}.switch:after{transition:left .22s cubic-bezier(.22,1,.36,1),transform .22s ease}.switch:active:after{transform:scale(.82)}
.score-bar i{transition:width .5s cubic-bezier(.22,1,.36,1)}.banner{animation:banner-drop .26s cubic-bezier(.22,1,.36,1) both}.toast{animation:rise-in .25s ease both,fade 2.4s forwards}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-delay:0ms!important;transition-duration:.01ms!important}}

/* Responsive shell and navigation */
.mobile-nav-toggle,.mobile-overlay{display:none}
@media (min-width:721px) and (max-width:1100px){
  .sidebar{width:56px}.brand{justify-content:center;padding-inline:0}.brand-copy,.nav span,.side-action span,.side-user>div:last-child{display:none}.nav a,.side-action{justify-content:center;padding-inline:0}.nav a.active{padding:0;border-left:0;border-bottom:2px solid var(--brass)}.side-user{justify-content:center}.collapse{display:none}
  .topbar{padding-inline:14px}.topbar.large{padding-inline:18px}.body{padding:14px}.grid4{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid,.dashboard-grid[style]{grid-template-columns:1fr!important}.lead-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.config-layout{grid-template-columns:240px minmax(0,1fr)}.rail.right{display:none}.customer-head{gap:12px}.customer-stats{gap:12px;flex-wrap:wrap;justify-content:flex-end}.project-list{width:220px}.settings-grid{grid-template-columns:1fr}
}
@media (max-width:720px){
  html,body,#app,.shell{height:100dvh;max-width:100vw}.shell{position:relative}.main{width:100%;min-width:0}
  .mobile-nav-toggle{display:grid;place-items:center;position:fixed;z-index:75;left:10px;top:10px;width:34px;height:34px;padding:0;border:1px solid #4a6c8f66;border-radius:3px;background:var(--panel);color:var(--brass);font-size:20px;box-shadow:0 4px 14px #0005;transition:left .24s cubic-bezier(.22,1,.36,1),transform .18s ease}
  .mobile-overlay{display:block;position:fixed;z-index:54;inset:0;border:0;background:#06090eb8;opacity:0;pointer-events:none;transition:opacity .24s ease}
  .sidebar,.sidebar.collapsed{display:flex;position:fixed;z-index:60;inset:0 auto 0 0;width:248px!important;transform:translateX(-102%);box-shadow:12px 0 35px #0008;transition:transform .27s cubic-bezier(.22,1,.36,1)}
  .sidebar .brand{justify-content:flex-start;padding:12px}.sidebar .brand-copy,.sidebar .nav span,.sidebar .side-action span,.sidebar .side-user>div:last-child{display:block}.sidebar .nav a,.sidebar .side-action{justify-content:flex-start;padding:0 9px}.sidebar .nav a.active{padding-left:6px;border-left:3px solid var(--brass);border-bottom:0}.sidebar .side-user{justify-content:flex-start}.sidebar .collapse{display:none}
  .nav-open .sidebar{transform:none}.nav-open .mobile-overlay{opacity:1;pointer-events:auto}.nav-open .mobile-nav-toggle{left:199px}.nav-open{overflow:hidden}
  .customer-mode .mobile-nav-toggle{display:none}.customer-mode .main{padding-top:32px}.banner{font-size:9px;gap:8px}.banner span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .topbar,.topbar.large{height:auto;min-height:64px;padding:10px 10px 10px 54px;align-items:stretch;flex-direction:column;justify-content:center;gap:9px}.topbar.large{min-height:92px}.topbar.large h1{font-size:20px}.topbar h1{font-size:13px;line-height:1.35}.topbar .actions{width:100%;display:flex;flex-wrap:wrap;align-items:stretch}.topbar .actions .search{display:block;flex:1 1 100%}.topbar .actions .search .field{width:100%}.topbar .actions>.field{flex:1;min-width:0}.topbar .actions .btn{flex:1;white-space:nowrap}.topbar .actions .btn.icon{flex:0 0 34px}.sub{white-space:normal}.body{padding:12px;overscroll-behavior:contain}
  .grid4{grid-template-columns:1fr}.kpi{padding:12px}.dashboard-grid,.dashboard-grid[style]{grid-template-columns:1fr!important}.chart-card{padding:12px}.chart{min-width:0}.opportunity{grid-template-columns:48px minmax(0,1fr) 78px;padding:8px}.opportunity>:nth-child(3),.opportunity>:nth-child(5){display:none}.table-title{align-items:flex-start;gap:10px}.table-title>span{text-align:right}.table-wrap{max-width:100%;overflow-x:auto}.data-table{min-width:850px}
  .lead-grid,.form-grid,.spec-grid,.settings-grid{grid-template-columns:1fr}.lead-card,.form-card{padding:16px}.form-card{width:100%}.lead-card h3{font-size:16px}
  .kanban{gap:14px;scroll-snap-type:x proximity}.column{width:min(82vw,310px);scroll-snap-align:start}.column-title{position:sticky;top:0;background:var(--bg);z-index:2}
  .calendar-head{width:100%;align-items:stretch;gap:8px;flex-direction:column}.calendar-head>.segmented{justify-content:center}.calendar-head>.segmented:last-child button{flex:1}.calendar-grid{min-width:720px}.day-row{grid-template-columns:70px 1fr}.appt{min-width:190px}.week-grid,.month-grid{min-width:720px}.cal-head{padding:8px 4px}
  .project-layout{flex-direction:column;overflow:hidden}.project-list{display:flex!important;width:100%;height:116px;flex:none;overflow-x:auto;overflow-y:hidden;border-right:0;border-bottom:1px solid var(--steel);scroll-snap-type:x mandatory}.project-search{min-width:180px}.project-item{min-width:220px;scroll-snap-align:start;border-right:1px solid var(--steel)}.workspace{min-height:0}.customer-head{flex-direction:column;padding:9px}.customer-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;text-align:center}.customer-stats>.badge,.customer-stats>.btn{grid-column:span 3}.tabs{overflow-x:auto;padding-left:4px;scrollbar-width:none}.tabs button{flex:none;padding-inline:12px}.tab-body{padding:12px}
  .config-layout{display:flex;flex-direction:column;overflow-y:auto}.rail{width:100%;height:auto;flex:none;overflow:visible;border:0;border-bottom:1px solid var(--steel)}.rail.right{display:block!important;border:0;border-top:1px solid var(--steel)}.preview{padding:18px 12px;min-height:0;overflow:visible}.preview-inner{max-width:100%}.window-box{height:260px;padding:18px}.window{max-width:62vw}.choice{min-height:45px}
  .quote-layout{display:flex;flex-direction:column;overflow-y:auto}.quote-main,.quote-side{overflow:visible;padding:12px}.quote-side{border:0;border-top:1px solid var(--steel)}.quote-head{flex-direction:column;gap:8px}.quote-head>div:last-child{text-align:left!important}.quote-line{grid-template-columns:minmax(0,1fr) 35px 65px 75px;gap:5px;padding:10px 8px;font-size:10px}.big-total{font-size:26px}
  .settings-grid{max-width:100%}.setting-card{padding:13px}.tabs+.body{padding-top:12px}.toast{left:12px;right:12px;bottom:12px;text-align:center}
}

/* Restored sidebar controls and original project workspace details */
.ui-icon{width:16px;height:16px;display:block;flex:none}.btn .ui-icon,.tabs .ui-icon{width:13px;height:13px}.logo{font-weight:800}.side-bottom{padding:7px 0 0}.side-action{width:100%;border:0;background:transparent;text-align:left;padding-inline:12px!important}.side-action.customer-action{color:var(--brass)}.side-user{padding:8px 12px}.side-user b{display:block;font-size:10px;font-weight:600;white-space:nowrap}.side-user small{font-size:9px}.user-avatar{width:21px;height:21px;font-size:10px}.collapse{width:100%;height:33px;display:grid;place-items:center}.collapse .ui-icon{width:14px;height:14px}.collapse:hover{color:var(--brass);background:var(--steel)}
.project-tabs{gap:0}.project-tabs button{display:flex;align-items:center;gap:6px}.project-tabs button>span{margin-left:1px;padding:1px 5px;border-radius:2px;background:var(--steel);color:var(--blue);font:9px 'JetBrains Mono'}.project-tab-body.comms{padding:0;overflow:hidden}.project-comms{height:100%;min-height:0;display:flex;flex-direction:column}.comms-list{flex:1;min-height:0;overflow:auto;padding:8px 16px}.comm-row{display:flex;gap:12px;padding:10px 0;border-bottom:1px solid var(--steel)}.comm-type{width:25px;height:25px;flex:none;display:grid;place-items:center;border-radius:2px;color:#10151c;font-size:10px;font-weight:800}.comm-type.call{background:var(--green)}.comm-type.email{background:var(--blue)}.comm-type.note{background:var(--brass)}.comm-copy{flex:1;min-width:0}.comm-copy b{font-size:10px}.comm-time{margin-left:9px;color:var(--muted);font-size:9px}.comm-badge{margin-left:7px;padding:1px 5px;border-radius:2px;background:var(--steel);color:var(--blue);font:8px 'JetBrains Mono';text-transform:capitalize}.comm-copy p{margin:5px 0 0;color:var(--muted);font-size:12px;line-height:1.5}.comm-compose{flex:none;display:flex;gap:8px;padding:11px 13px;background:var(--panel);border-top:1px solid var(--steel)}.comm-compose textarea{flex:1;height:62px;resize:none}.comm-compose>div{display:flex;flex-direction:column;gap:5px}.comm-compose .btn{width:31px;padding:0}
.attachments-view{max-width:920px}.files-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;color:var(--muted);font:10px 'JetBrains Mono';letter-spacing:.08em}.files-head .btn{height:26px;font-size:10px;background:transparent}.attachment-row{display:flex;align-items:center;gap:12px;padding:10px;background:#1e2a3866;border:1px solid var(--steel);border-radius:2px;margin-bottom:7px;transition:background .18s,border-color .18s,transform .18s}.attachment-row:hover{background:var(--steel);border-color:#4a6c8f66;transform:translateX(2px)}.file-tile{width:34px;height:34px;display:grid;place-items:center;flex:none;background:var(--steel);border:1px solid #4a6c8f44;border-radius:2px;color:var(--blue)}.file-tile .ui-icon{width:16px;height:16px}.file-copy{flex:1;min-width:0}.file-copy b{display:block;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-copy div{display:flex;gap:12px;margin-top:3px;color:var(--muted);font:9px 'JetBrains Mono'}.file-open{width:28px;height:28px;display:grid;place-items:center;border:0;background:transparent;color:var(--blue);border-radius:2px}.file-open:hover{background:#4a6c8f22;color:var(--brass)}.file-open .ui-icon{width:14px;height:14px}
.project-timeline{max-width:820px}.event-group{display:grid;grid-template-columns:92px 1fr;gap:18px;margin-bottom:17px}.event-date{padding-top:4px;color:var(--brass);font:10px 'JetBrains Mono';font-weight:600;text-transform:uppercase}.event-list{position:relative}.event-list:before{content:'';position:absolute;left:9px;top:12px;bottom:12px;width:1px;background:var(--steel)}.event-row{position:relative;display:grid;grid-template-columns:19px 50px minmax(0,1fr) auto;align-items:center;gap:9px;min-height:38px}.event-dot{position:relative;z-index:1;width:19px;height:19px;display:grid;place-items:center;border-radius:50%;border:1px solid var(--green);background:var(--bg);color:var(--green)}.event-dot .ui-icon{width:11px;height:11px}.event-row.pending .event-dot{border-color:var(--brass);box-shadow:0 0 0 3px #d9a44110}.event-time{color:var(--muted);font-size:9px}.event-label{font-size:11px}.event-row.pending .event-label{color:var(--brass);font-weight:600}
@media (min-width:721px) and (max-width:1100px){.sidebar{width:192px}.sidebar.collapsed{width:56px}.sidebar:not(.collapsed) .brand-copy,.sidebar:not(.collapsed) .nav span,.sidebar:not(.collapsed) .side-action span,.sidebar:not(.collapsed) .side-user>div:last-child{display:block}.sidebar:not(.collapsed) .brand{justify-content:flex-start;padding:12px}.sidebar:not(.collapsed) .nav a,.sidebar:not(.collapsed) .side-action{justify-content:flex-start}.sidebar:not(.collapsed) .nav a{padding:0 9px}.sidebar:not(.collapsed) .nav a.active{padding-left:6px;border-left:3px solid var(--brass);border-bottom:0}.sidebar:not(.collapsed) .side-user{justify-content:flex-start}.collapse{display:grid}.project-list{width:220px}}
@media(max-width:720px){.side-bottom{padding-top:7px}.side-action{padding-inline:12px!important}.project-tab-body.comms{padding:0}.comms-list{padding-inline:12px}.comm-row{gap:9px}.comm-time{display:block;margin:2px 0 0}.comm-badge{margin-left:0}.comm-copy p{font-size:11px}.file-copy div{gap:7px;flex-wrap:wrap}.event-group{grid-template-columns:1fr;gap:5px}.event-date{padding-left:2px}.project-timeline{padding:0 2px}}
.collapse{visibility:visible}

/* Animated Radix-style select drawers */
@keyframes select-open{from{opacity:0;transform:translateY(-5px) scale(.985)}to{opacity:1;transform:none}}
@keyframes select-close{from{opacity:1;transform:none}to{opacity:0;transform:translateY(-4px) scale(.985)}}
.custom-select{position:relative;min-width:130px}.native-select{display:none!important}.select-trigger{width:100%;height:30px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 9px;border:1px solid var(--steel);border-radius:2px;background:var(--steel);color:var(--text);font:10px 'JetBrains Mono';text-align:left;transition:border-color .18s,box-shadow .18s,background .18s}.select-trigger:hover{border-color:#4a6c8f88}.custom-select.open .select-trigger{border-color:var(--brass);box-shadow:0 0 0 3px color-mix(in srgb,var(--brass),transparent 86%)}.select-chevron{width:13px;height:13px;color:var(--muted);transform:rotate(90deg);transition:transform .2s cubic-bezier(.22,1,.36,1)}.custom-select.open .select-chevron{transform:rotate(-90deg)}.select-drawer{display:none;position:absolute;z-index:100;top:calc(100% + 5px);left:0;min-width:100%;max-height:230px;overflow:auto;padding:4px;border:1px solid #4a6c8f55;border-radius:3px;background:var(--steel);box-shadow:0 12px 28px #0008;transform-origin:top}.custom-select.open .select-drawer{display:block;animation:select-open .18s cubic-bezier(.22,1,.36,1) both}.custom-select.closing .select-drawer{display:block;pointer-events:none;animation:select-close .15s ease both}.select-option{width:100%;min-width:max-content;height:30px;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:0 8px;border:0;border-radius:2px;background:transparent;color:var(--text);font:10px 'JetBrains Mono';text-align:left;white-space:nowrap}.select-option:hover{background:#4a6c8f30}.select-option.selected{color:var(--brass);background:color-mix(in srgb,var(--brass),transparent 90%)}.select-option .ui-icon{width:12px;height:12px}.form-group .custom-select,.rail .custom-select{width:100%}.topbar .custom-select{min-width:130px}

/* Original lead-card hierarchy */
.lead-tools{display:flex;gap:16px;align-items:center;margin-bottom:22px}.lead-tools .search{flex:1}.lead-tools .field{width:100%}.lead-card.original{position:relative;padding:0;overflow:visible}.lead-card.original.dnc{opacity:.7}.lead-card-head{display:flex;justify-content:space-between;align-items:flex-start;padding:17px 17px 0}.lead-avatar{width:41px;height:41px;display:grid;place-items:center;border-radius:50%;background:var(--steel);color:var(--muted)}.lead-avatar .ui-icon{width:20px;height:20px}.lead-badges{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.lead-status{text-transform:capitalize;color:var(--muted)}.dnc-badge{height:17px;color:white;background:var(--red);border-color:var(--red)}.lead-title-row{position:relative;display:flex;align-items:center;justify-content:space-between;padding:14px 17px 4px}.lead-card.original h3{margin:0;font-size:17px}.lead-card-actions{display:flex;gap:2px;opacity:0;transition:opacity .18s}.lead-card:hover .lead-card-actions{opacity:1}.lead-card-actions>button{width:28px;height:28px;display:grid;place-items:center;padding:0;border:0;border-radius:2px;background:transparent;color:var(--muted)}.lead-card-actions>button:hover{background:var(--steel);color:var(--text)}.lead-card-actions>button.active{color:var(--red)}.lead-card-actions .ui-icon{width:14px;height:14px}.lead-card-actions>button.active:after{content:'';position:absolute;width:18px;height:1px;background:currentColor;transform:rotate(-42deg)}.lead-meta{display:flex;justify-content:space-between;align-items:center;padding:0 17px 13px;color:var(--muted);font-size:12px}.lead-meta b{color:var(--text)}.lead-meta>span:last-child{padding:2px 6px;border-radius:2px;background:var(--steel);font-size:10px}.lead-contact{padding:10px 17px;color:var(--muted);font-size:13px}.lead-contact>div{display:flex;align-items:center;gap:8px;margin:9px 0}.lead-contact .ui-icon{width:14px;height:14px}.lead-footer{padding:0 17px 14px}.lead-footer button{width:100%;height:32px;border:0;border-radius:2px;background:transparent;color:var(--brass);font-size:11px}.lead-footer button:hover{background:color-mix(in srgb,var(--brass),transparent 90%)}.transfer-drawer{position:absolute;z-index:40;right:17px;top:44px;width:176px;padding:6px;border:1px solid #4a6c8f55;border-radius:3px;background:var(--steel);box-shadow:0 12px 26px #0008;animation:select-open .18s cubic-bezier(.22,1,.36,1)}.transfer-drawer>div{padding:5px 7px;color:var(--muted);font:9px 'JetBrains Mono'}.transfer-drawer button{display:block;width:100%;height:31px;padding:0 8px;border:0;border-radius:2px;background:transparent;color:var(--text);font-size:11px;text-align:left}.transfer-drawer button:hover{background:#4a6c8f30}

/* User-selectable primary accent */
.btn.primary,.logo{background:linear-gradient(135deg,var(--brass),color-mix(in srgb,var(--brass),#000 16%))}.switch{background:var(--brass)}.switch.off{background:#354150}.kpi:first-child .kpi-icon{background:color-mix(in srgb,var(--brass),transparent 90%);color:var(--brass)}.appearance-panel{max-width:760px}.appearance-panel>p{margin:-3px 0 18px;font-size:12px}.accent-presets{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.accent-preset{min-height:58px;display:flex;align-items:center;gap:10px;padding:9px;border:1px solid var(--steel);border-radius:2px;background:var(--steel);color:var(--text);text-align:left}.accent-preset:hover,.accent-preset.active{border-color:var(--brass);background:color-mix(in srgb,var(--brass),transparent 92%)}.accent-preset>i{width:28px;height:28px;flex:none;border-radius:50%;box-shadow:inset 0 0 0 1px #fff2}.accent-preset>span{flex:1;font-size:11px}.accent-preset small{display:block;margin-top:2px;color:var(--muted);font:9px 'JetBrains Mono'}.accent-preset>.ui-icon{width:14px;height:14px;color:var(--brass)}.custom-accent{display:flex;align-items:center;gap:12px;margin-top:12px;padding:12px;border:1px solid var(--steel);background:#1e2a3855}.custom-accent label{display:flex;align-items:center;gap:8px}.custom-accent .label{margin:0}.custom-accent input[type=color]{width:42px;height:30px;padding:2px;border:1px solid var(--steel);background:var(--panel);cursor:pointer}.custom-accent>div{flex:1}.custom-accent>div small{display:block;font-size:9px}.accent-preview{display:flex;align-items:center;gap:12px;margin-top:12px;padding:12px;border:1px dashed #4a6c8f66}.accent-preview strong{margin-left:auto}.settings-tabs{overflow-x:auto}.settings-tabs button{flex:none}
@media(max-width:720px){.custom-select{width:100%}.topbar .custom-select{flex:1 1 130px}.select-drawer{max-height:190px}.lead-tools{gap:8px}.lead-card-actions{opacity:1}.accent-presets{grid-template-columns:1fr 1fr}.custom-accent{align-items:flex-end;flex-wrap:wrap}.accent-preview{flex-wrap:wrap}.accent-preview strong{margin-left:0}.settings-tabs{padding-left:45px}}
.choice.active,.finance-option.active{background:color-mix(in srgb,var(--brass),transparent 90%)}.total-card{background:color-mix(in srgb,var(--brass),transparent 90%);border-color:color-mix(in srgb,var(--brass),transparent 65%)}.status-progress{background:color-mix(in srgb,var(--brass),transparent 90%)}.event-row.pending .event-dot{box-shadow:0 0 0 3px color-mix(in srgb,var(--brass),transparent 90%)}

/* Complete light theme: surfaces, hierarchy and contrast */
.light{--bg:#f4f6f8;--panel:#ffffff;--steel:#dce4eb;--blue:#496b8c;--text:#182330;--muted:#637180;--accent-ink:color-mix(in srgb,var(--brass),#000 34%);color-scheme:light}
.light body,.light .main{background:var(--bg);color:var(--text)}
.light .sidebar,.light .topbar,.light .project-list,.light .customer-head,.light .tabs,.light .rail,.light .quote-side,.light .comm-compose{background:#fff;border-color:#dce4eb}
.light .card{background:#fff;border-color:#d6dfe7;box-shadow:0 1px 2px #1e2a3808}.light .panel{background:#fff;border-color:#d6dfe7;box-shadow:0 1px 2px #1e2a3806}
.light .body,.light .preview,.light .quote-main,.light .tab-body{background:var(--bg)}
.light .field,.light .select-trigger{background:#f0f4f7;border-color:#d4dde5;color:var(--text)}.light .field::placeholder{color:#8794a1}.light .field:focus,.light .custom-select.open .select-trigger{background:#fff}
.light .select-drawer,.light .transfer-drawer{background:#fff;border-color:#cbd6df;box-shadow:0 12px 30px #25354724}.light .select-option:hover,.light .transfer-drawer button:hover{background:#edf2f6}.light .select-option.selected{background:color-mix(in srgb,var(--brass),#fff 88%);color:var(--accent-ink)}
.light .nav a:hover,.light .side-action:hover,.light .nav a.active{background:#edf2f6}.light .nav a.active,.light .customer-action,.light .brand strong{color:var(--accent-ink)}.light .side-bottom,.light .collapse,.light .brand{border-color:#dce4eb}
.light .gold,.light .section-title,.light .total-card strong,.light .big-total,.light .event-date,.light .event-row.pending .event-label,.light .lead-footer button,.light .project-tabs button.active{color:var(--accent-ink)}
.light .badge.gold{color:var(--accent-ink);border-color:color-mix(in srgb,var(--brass),#000 12%)}
.light .opportunity,.light .unit-row,.light .toggle-row,.light .finance-option,.light .choice,.light .custom-accent,.light .attachment-row{background:#f0f4f7;border-color:#d6dfe7;color:var(--text)}
.light .opportunity:hover,.light .unit-row:hover,.light .attachment-row:hover,.light .finance-option:hover,.light .choice:hover{background:#e9eff4}
.light .kpi-icon,.light .lead-avatar,.light .file-tile,.light .avatar,.light .side-user .avatar{background:#e7edf2;color:#496b8c}.light .user-avatar{background:#496b8c;color:#fff}
.light .chart-card,.light .table-wrap{background:#fff}.light .data-table thead{background:#f7f9fb}.light .data-table th{color:#526171;border-color:#dce4eb}.light .data-table td{border-color:#e5ebf0}.light .data-table tr:hover{background:#f3f6f8}.light .danger-row{background:#fff3f3}.light .table-title{border-color:#dce4eb}
.light .status-progress,.light .choice.active,.light .finance-option.active,.light .total-card{background:color-mix(in srgb,var(--brass),#fff 88%)}
.light .status-pending{background:#fff7e6}.light .status-survey{background:#f4f0ff}.light .status-quoted{background:#eaf8fe}.light .status-ordered{background:#eafbf5}.light .status-lead{background:#edf3f8}
.light .lead-card.original{background:#fff}.light .lead-meta>span:last-child,.light .lead-card-actions>button:hover{background:#edf2f6}.light .lead-contact{color:#596878}.light .lead-footer{border-color:#e4eaf0}.light .lead-footer button:hover{background:color-mix(in srgb,var(--brass),#fff 90%)}
.light .column-title{background:var(--bg)}.light .task{background:#fff}.light .task-foot{border-color:#dce4eb}
.light .calendar-grid{background:#fff;border-color:#d5dee6}.light .day-row,.light .time,.light .day-col,.light .month-cell,.light .cal-head{border-color:#dce4eb}.light .time,.light .cal-head{background:#f3f6f8}.light .appt{background:#edf2f6;color:var(--text);box-shadow:none}.light .segmented{background:#e8eef3}.light .segmented button.active{background:#fff;color:var(--text);box-shadow:0 1px 3px #1e2a3820}
.light .project-item{background:#fff;border-color:#e1e7ec}.light .project-item:hover,.light .project-item.active{background:#edf2f6}.light .project-search{border-color:#dce4eb}.light .comm-row{border-color:#e1e7ec}.light .comm-copy p{color:#596878}.light .comm-badge{background:#edf2f6;color:#496b8c}.light .file-open:hover{background:#e7eef4}.light .event-dot{background:#fff}.light .event-list:before{background:#cfd9e1}
.light .window-box{background:#eef3f6;border-color:#d7e0e7}.light .rail [style*="border-top"],.light .preview-inner [style*="border-top"]{border-color:#dce4eb!important}.light .dimension{color:#596878}
.light .quote-line{border-color:#dce4eb}.light .quote-side{box-shadow:-1px 0 0 #e1e7ec}.light .accent-preview{background:#f8fafb;border-color:#cbd6df}.light .accent-preset{background:#f0f4f7;border-color:#d5dee6}.light .accent-preset:hover,.light .accent-preset.active{background:color-mix(in srgb,var(--brass),#fff 90%)}
.light [style*="background:#1e2a38"],.light [style*="background: #1e2a38"]{background:#eef3f6!important}.light [style*="border-color:#1e2a38"],.light [style*="border-color: #1e2a38"]{border-color:#d6dfe7!important}
.light .muted,.light .sub,.light .chart-sub,.light small{color:#637180}.light .btn:not(.primary){background:#eef2f5;border-color:#d3dde5;color:#263544}.light .btn:not(.primary):hover{background:#e5ebf0;border-color:#aebdca}.light .btn.primary{color:#10151c}
.light .switch{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--brass),#000 10%)}.light .switch.off{background:#aeb9c3;box-shadow:none}.light .switch:after{box-shadow:0 1px 2px #1e2a3830}
@media(max-width:720px){.light .sidebar{background:#fff}.light .mobile-nav-toggle{background:#fff;box-shadow:0 4px 14px #1e2a3825}.light .mobile-overlay{background:#17233066}}

/* Appearance text zoom scroller */
.zoom-settings{margin-top:16px;padding:14px;border:1px solid var(--steel);border-radius:2px;background:#1e2a3855}.zoom-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.zoom-heading .section-title{margin:0 0 4px}.zoom-heading p{margin:0;font-size:11px}.zoom-value{min-width:38px;padding:5px 8px;border:1px solid color-mix(in srgb,var(--brass),transparent 55%);border-radius:2px;background:color-mix(in srgb,var(--brass),transparent 90%);color:var(--brass);font:700 12px 'JetBrains Mono';text-align:center}.zoom-control{display:grid;grid-template-columns:42px 1fr 42px;align-items:center;gap:12px;margin-top:16px}.zoom-control>button{height:34px;border:1px solid var(--steel);border-radius:2px;background:var(--steel);color:var(--text);font:600 12px 'JetBrains Mono';transition:transform .16s,border-color .16s,color .16s}.zoom-control>button:hover{border-color:var(--brass);color:var(--brass);transform:translateY(-1px)}.zoom-control>button:active{transform:scale(.96)}.zoom-slider-wrap{position:relative;padding:0 4px}.zoom-slider-wrap input{position:relative;z-index:2;width:100%;height:18px;margin:0;appearance:none;background:transparent;cursor:pointer}.zoom-slider-wrap input::-webkit-slider-runnable-track{height:4px;border-radius:4px;background:linear-gradient(90deg,var(--steel) 0 49%,var(--brass) 49% 51%,var(--steel) 51% 100%)}.zoom-slider-wrap input::-webkit-slider-thumb{width:16px;height:16px;margin-top:-6px;appearance:none;border:3px solid var(--brass);border-radius:50%;background:var(--panel);box-shadow:0 2px 7px #0005}.zoom-slider-wrap input::-moz-range-track{height:4px;border-radius:4px;background:var(--steel)}.zoom-slider-wrap input::-moz-range-thumb{width:12px;height:12px;border:3px solid var(--brass);border-radius:50%;background:var(--panel)}.zoom-midpoint{position:absolute;z-index:1;left:50%;top:5px;width:1px;height:12px;background:var(--brass);transform:translateX(-50%)}.zoom-scale{display:flex;justify-content:space-between;margin-top:2px;color:var(--muted);font:9px 'JetBrains Mono'}.zoom-scale b{color:var(--brass)}.zoom-footer{display:flex;align-items:center;gap:10px;margin-top:10px}.zoom-footer>span:first-child{font-weight:700;color:var(--text)}.zoom-footer>span:nth-child(2){flex:1;font-size:10px}.zoom-footer .btn{height:25px;font-size:9px}.light .zoom-settings{background:#f5f8fa;border-color:#d6dfe7}.light .zoom-control>button{background:#fff;border-color:#d4dde5}.light .zoom-slider-wrap input::-webkit-slider-runnable-track{background:linear-gradient(90deg,#d5dee6 0 49%,var(--brass) 49% 51%,#d5dee6 51% 100%)}
@media(max-width:720px){.zoom-control{grid-template-columns:38px 1fr 38px;gap:8px}.zoom-footer{flex-wrap:wrap}.zoom-footer>span:nth-child(2){flex:1 1 auto}.zoom-footer .btn{margin-left:auto}}

/* Font-only zoom. Layout dimensions remain fixed and anchored. */
#app{--text-scale:1;font-size:calc(14px * var(--text-scale))}
#app .brand strong{font-size:calc(12px * var(--text-scale))}#app .brand small{font-size:calc(9px * var(--text-scale))}
#app .nav a,#app .side-action,#app .btn{font-size:calc(12px * var(--text-scale))}#app .side-user b{font-size:calc(10px * var(--text-scale))}#app .side-user small{font-size:calc(9px * var(--text-scale))}
#app .topbar h1{font-size:calc(14px * var(--text-scale))}#app .topbar.large h1{font-size:calc(24px * var(--text-scale))}#app .sub{font-size:calc(10px * var(--text-scale))}#app .topbar.large .sub{font-size:calc(14px * var(--text-scale))}
#app .field,#app .select-trigger,#app .select-option{font-size:calc(10px * var(--text-scale))}#app .label,#app .badge{font-size:calc(9px * var(--text-scale))}
#app .kpi strong{font-size:calc(18px * var(--text-scale))}#app .kpi small,#app .chart-sub{font-size:calc(10px * var(--text-scale))}#app .trend{font-size:calc(9px * var(--text-scale))}#app .chart-title{font-size:calc(12px * var(--text-scale))}
#app .data-table th{font-size:calc(10px * var(--text-scale))}#app .data-table td,#app .opportunity{font-size:calc(11px * var(--text-scale))}
#app .lead-card.original h3{font-size:calc(17px * var(--text-scale))}#app .lead-meta{font-size:calc(12px * var(--text-scale))}#app .lead-contact{font-size:calc(13px * var(--text-scale))}#app .lead-footer button{font-size:calc(11px * var(--text-scale))}
#app .section-title,#app .toggle-row,#app .unit-row,#app .price-line{font-size:calc(10px * var(--text-scale))}#app .total-card strong{font-size:calc(25px * var(--text-scale))}#app .big-total{font-size:calc(30px * var(--text-scale))}
#app .task h3{font-size:calc(14px * var(--text-scale))}#app .column-title b{font-size:calc(12px * var(--text-scale))}#app .task-foot{font-size:calc(11px * var(--text-scale))}
#app .time,#app .cal-head,#app .appt{font-size:calc(11px * var(--text-scale))}#app .customer-stats strong{font-size:calc(14px * var(--text-scale))}#app .customer-stats small{font-size:calc(8px * var(--text-scale))}
#app .comm-copy b,#app .event-date{font-size:calc(10px * var(--text-scale))}#app .comm-copy p{font-size:calc(12px * var(--text-scale))}#app .event-label{font-size:calc(11px * var(--text-scale))}#app .event-time,#app .file-copy div{font-size:calc(9px * var(--text-scale))}
#app .accent-preset>span,#app .zoom-heading p{font-size:calc(11px * var(--text-scale))}#app .accent-preset small,#app .zoom-scale,#app .zoom-footer .btn{font-size:calc(9px * var(--text-scale))}#app .zoom-value,#app .zoom-control>button{font-size:calc(12px * var(--text-scale))}
@media(max-width:720px){#app .topbar.large h1{font-size:calc(20px * var(--text-scale))}#app .comm-copy p{font-size:calc(11px * var(--text-scale))}}
