:root{--font:"Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;--mono:"Source Code Pro", "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--radius:8px;--radius-sm:6px;--brand:#cf3e3e;--danger:#e5484d;--ok:#3ecf8e;--warn:#f5a524;--info:#3b9eff;--amber:#f5a524;--ease:cubic-bezier(.2, .8, .2, 1);--topbar:48px;--sidebar:220px}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#121212;--bg-2:#141414;--panel:#171717;--panel-2:#1c1c1c;--input:#1c1c1c;--hover:#232323;--active:#2a2a2a;--border:#2a2a2a;--border-2:#363636;--border-3:#474747;--text:#ededed;--text-2:#a0a0a0;--text-3:#6e6e6e;--accent:#cf3e3e;--accent-soft:#cf3e3e1a;--accent-border:#cf3e3e4d;--btn-primary:#620000;--btn-primary-hover:#740000;--btn-primary-text:#fafafa;--dot:#ffffff12;--bar-empty:#ffffff0a;--shadow:0 12px 32px -12px #000000b3;--overlay:#0009}[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#fcfcfc;--bg-2:#f8f8f8;--panel:#fff;--panel-2:#f8f8f8;--input:#fafafa;--hover:#f1f1f1;--active:#ebebeb;--border:#e6e6e6;--border-2:#dbdbdb;--border-3:#c7c7c7;--text:#171717;--text-2:#5c5c5c;--text-3:#8f8f8f;--accent:#961515;--accent-soft:#cf3e3e1f;--accent-border:#96161659;--btn-primary:#e37272;--btn-primary-hover:#d95f5f;--btn-primary-text:#0b3d26;--dot:#00000017;--bar-empty:#0000000a;--shadow:0 12px 32px -14px #0000002e;--overlay:#14141459}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font-size:13px;line-height:1.5;transition:background .2s,color .2s}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:0;padding:0}button:disabled{cursor:not-allowed;opacity:.5}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,h4,h5{margin:0;font-weight:500;line-height:1.25}hr{border:0;border-top:1px solid var(--border);margin:0}code,.mono{font-family:var(--mono)}code{background:var(--panel-2);border:1px solid var(--border);border-radius:4px;padding:1px 5px;font-size:.88em}kbd{font-family:var(--mono);border:1px solid var(--border-2);background:var(--panel-2);color:var(--text-3);border-radius:4px;padding:0 5px;font-size:10.5px;line-height:17px}::selection{background:var(--accent-soft)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--border-2);background-clip:padding-box;border:3px solid #0000;border-radius:10px}::-webkit-scrollbar-track{background:0 0}.muted{color:var(--text-2)}.muted-strong{color:var(--text);font-weight:400}.xs{font-size:12px}.ml-auto{margin-left:auto}.ml-gap{margin-left:18px}.block{display:block}.center{place-items:center;display:grid}.full{height:100%}.pad{padding:24px}.pad-x{margin:2px 0;padding:0 10px}.row{align-items:center;display:flex}.gap{gap:10px}.gap-sm{gap:6px}.ellipsis{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.link{color:var(--text-2);text-decoration:underline;-webkit-text-decoration-color:var(--border-3);text-decoration-color:var(--border-3);text-underline-offset:2px}.link:hover{color:var(--text)}.link-btn{color:var(--accent);font-size:12.5px}.link-btn:hover{text-decoration:underline}.topbar .mobile-only{display:none}.mono-label{font-family:var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--text-3);font-size:11px}.btn{border-radius:var(--radius-sm);white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:6px;height:32px;padding:0 12px;font-size:13px;font-weight:400;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.btn.sm{height:28px;padding:0 10px;font-size:12.5px}.btn.xs{gap:5px;height:24px;padding:0 8px;font-size:12px}.btn.primary{background:var(--btn-primary);border-color:var(--accent-border);color:var(--btn-primary-text)}.btn.primary:hover:not(:disabled){background:var(--btn-primary-hover);text-decoration:none}.btn.ghost{border-color:var(--border-2);background:var(--panel-2);color:var(--text)}.btn.ghost:hover:not(:disabled){background:var(--hover);border-color:var(--border-3)}.btn.static{cursor:default}.btn.static:hover{background:var(--panel-2)!important;border-color:var(--border-2)!important}.btn.wide,.btn.block{width:100%}.btn.google{background:var(--panel-2);width:100%;height:38px;color:var(--text);border-color:var(--border-2)}.btn.google:hover:not(:disabled){background:var(--hover);border-color:var(--border-3)}.icon-btn{border-radius:var(--radius-sm);width:30px;height:30px;color:var(--text-2);flex-shrink:0;place-items:center;transition:background .15s,color .15s,border-color .15s;display:inline-grid}.icon-btn:hover:not(:disabled){background:var(--hover);color:var(--text);text-decoration:none}.icon-btn.sm{border-radius:5px;width:24px;height:24px}.icon-btn.round{border:1px solid var(--border-2);background:var(--panel-2);border-radius:50%;width:30px;height:30px}.icon-btn.round:hover{border-color:var(--border-3)}.icon-btn.pin.on{color:var(--amber)}.icon-btn.pin.on svg{fill:var(--amber)}.floating-theme{z-index:30;position:fixed;top:14px;right:16px}.input,.field input,.field select,.field textarea,.select{background:var(--input);border:1px solid var(--border-2);border-radius:var(--radius-sm);outline:none;width:100%;padding:7px 10px;font-size:13px;transition:border-color .15s,box-shadow .15s}.select{width:auto;height:32px;padding:0 8px}.input:focus,.field input:focus,.field select:focus,.field textarea:focus,.select:focus,.tag-input:focus-within{border-color:var(--border-3);box-shadow:0 0 0 2px var(--accent-soft)}.field textarea{resize:vertical;min-height:100px}.field{flex-direction:column;gap:6px;display:flex}.field>span{color:var(--text-2);align-items:center;gap:6px;font-size:13px;display:flex}.field small{color:var(--text-3);font-size:12px}.form{flex-direction:column;gap:16px;display:flex}.form p{margin:0}.row-2{grid-template-columns:1fr 1fr;gap:14px;display:grid}.form-error{color:var(--danger);border-radius:var(--radius-sm);background:#e5484d14;border:1px solid #e5484d59;padding:8px 12px;font-size:12.5px}.tag-input{background:var(--input);border:1px solid var(--border-2);border-radius:var(--radius-sm);flex-wrap:wrap;gap:6px;padding:5px 6px;display:flex}.field .tag-input input{min-width:120px;box-shadow:none;background:0 0;border:0;flex:1;padding:2px 4px}.badge{border:1px solid var(--border-2);background:var(--panel-2);height:18px;color:var(--text-2);font-family:var(--mono);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;border-radius:999px;flex-shrink:0;align-items:center;padding:0 7px;font-size:10px;font-weight:500;display:inline-flex}.state-open,.badge.live{color:var(--accent);background:#3ecf8e1a;border-color:#3ecf8e4d}.state-past{color:var(--text-2)}.state-quote,.badge.root{color:var(--amber);background:#f5a5241a;border-color:#f5a52459}.badge.quote-badge{text-transform:none}.badge.mono-badge{height:16px;font-size:9.5px}.tag{background:var(--panel-2);border:1px solid var(--border-2);height:22px;color:var(--text-2);white-space:nowrap;border-radius:5px;align-items:center;gap:4px;padding:0 8px;font-size:12px;display:inline-flex}.tag button{color:var(--text-3);display:grid}.tag button:hover{color:var(--danger)}.tags{flex-wrap:wrap;gap:6px;display:flex}.avatar{letter-spacing:.02em;background:hsl(var(--h) 35% 22%);color:hsl(var(--h) 75% 78%);border:1px solid hsl(var(--h) 35% 30%);border-radius:6px;flex-shrink:0;place-items:center;font-weight:600;display:inline-grid}[data-theme=light] .avatar{background:hsl(var(--h) 70% 93%);color:hsl(var(--h) 55% 32%);border-color:hsl(var(--h) 50% 82%)}.file-icon{border-radius:5px;flex-shrink:0;place-items:center;padding:5px;display:inline-grid}.logo-mark{color:var(--brand);place-items:center;display:inline-grid}.spinner{border:2px solid var(--border-2);border-top-color:var(--accent);border-radius:50%;flex-shrink:0;animation:.7s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.skeleton{background:linear-gradient(90deg, var(--panel) 0%, var(--panel-2) 50%, var(--panel) 100%);border:1px solid var(--border);border-radius:var(--radius);background-size:200% 100%;animation:1.3s infinite shimmer}.skeleton.line{border-radius:var(--radius-sm);height:40px}.client-card.skeleton{height:160px}@keyframes shimmer{to{background-position:-200% 0}}.connect{background-image:radial-gradient(var(--dot) 1px, transparent 1px);background-size:18px 18px;place-items:center;min-height:100%;padding:24px;display:grid;position:relative;overflow:hidden}.connect-glow{filter:blur(30px);pointer-events:none;background:radial-gradient(closest-side,#3ecf8e24,#0000);height:70%;position:absolute;inset:-20% 10% auto}.connect-card{background:var(--panel);border:1px solid var(--border);width:100%;max-width:440px;box-shadow:var(--shadow);border-radius:12px;flex-direction:column;gap:16px;padding:32px;display:flex;position:relative}.connect-card.wide{max-width:580px}.connect-card h1{letter-spacing:-.015em;font-size:24px}.connect-card p{margin:0;font-size:13.5px}.brand{align-items:center;gap:10px;font-size:15px;font-weight:500;display:flex}.brand-mark{border-radius:var(--radius-sm);border:1px solid var(--border-2);background:var(--panel-2);width:30px;height:30px;color:var(--brand);place-items:center;display:grid}.divider{color:var(--text-3);align-items:center;gap:10px;font-size:12px;display:flex}.divider:before,.divider:after{content:"";border-top:1px solid var(--border);flex:1}.setup-slots{border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;display:flex;overflow:hidden}.setup-slot{border-top:1px solid var(--border);background:var(--panel-2);grid-template-columns:36px 1fr 200px;align-items:center;gap:14px;padding:12px 14px;display:grid}.setup-slot:first-child{border-top:0}.setup-icon{border-radius:var(--radius-sm);border:1px solid var(--border-2);background:var(--panel);place-items:center;width:36px;height:36px;display:grid}.setup-customers{color:var(--text-2)}.setup-temp{color:var(--accent)}.setup-quotes{color:var(--amber)}.setup-text{text-align:left;flex-direction:column;min-width:0;display:flex}.setup-text strong{font-weight:500}.setup-text small{color:var(--text-3);font-size:12px}.setup-slot .select{width:100%}.app{grid-template-columns:var(--sidebar) 1fr;grid-template-rows:var(--topbar) 1fr;height:100%;display:grid}.topbar{border-bottom:1px solid var(--border);background:var(--bg-2);z-index:20;grid-column:1/-1;align-items:center;gap:6px;min-width:0;padding:0 12px;display:flex}.tb-logo{border-radius:var(--radius-sm);place-items:center;width:30px;height:30px;margin-right:4px;display:grid}.tb-logo:hover{background:var(--hover)}.tb-sep{color:var(--border-3);-webkit-user-select:none;user-select:none;margin:0 2px;font-size:18px;font-weight:300}.tb-crumb{border-radius:var(--radius-sm);height:30px;color:var(--text);align-items:center;gap:8px;min-width:0;max-width:280px;padding:0 8px;font-size:13px;font-weight:500;display:inline-flex}button.tb-crumb:hover{background:var(--hover)}.tb-pill{border:1px solid var(--border-2);background:var(--panel-2);height:26px;color:var(--text);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;margin-left:8px;padding:0 10px;font-size:12px;display:inline-flex}.tb-pill:hover{border-color:var(--border-3);background:var(--hover)}.tb-right{align-items:center;gap:8px;margin-left:auto;display:flex}.tb-search{border:1px solid var(--border-2);background:var(--panel-2);min-width:180px;height:30px;color:var(--text-3);border-radius:999px;align-items:center;gap:8px;padding:0 6px 0 10px;font-size:12.5px;display:inline-flex}.tb-search:hover{border-color:var(--border-3);color:var(--text-2)}.tb-search kbd{background:0 0;border:0;margin-left:auto}.tb-user{place-items:center;display:grid}.tb-user img{border:1px solid var(--border-2);border-radius:50%;width:28px;height:28px}.tb-user .avatar{border-radius:50%}.sidebar{background:var(--bg-2);border-right:1px solid var(--border);flex-direction:column;grid-row:2;gap:8px;min-height:0;padding:8px 0;display:flex;overflow:auto}.sidebar>hr{margin:0}.nav,.nav-section{flex-direction:column;gap:1px;padding:0 8px;display:flex}.nav button,.nav-client{border-radius:var(--radius-sm);width:100%;height:32px;color:var(--text-2);text-align:left;align-items:center;gap:10px;padding:0 10px;font-size:13px;transition:background .12s,color .12s;display:flex}.nav button svg{color:var(--text-3);flex-shrink:0;transition:color .12s}.nav button:hover,.nav-client:hover{background:var(--hover);color:var(--text)}.nav button:hover svg{color:var(--text-2)}.nav button.on,.nav-client.on{background:var(--active);color:var(--text)}.nav button.on svg{color:var(--text)}.count{font-family:var(--mono);color:var(--text-3);margin-left:auto;font-size:11px}.nav-section h5{font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--text-3);align-items:center;gap:6px;padding:4px 10px 6px;font-size:10.5px;font-weight:400;display:flex}.nav-client{gap:9px;height:30px}.sidebar-foot{border-top:1px solid var(--border);margin-top:auto;padding:8px 8px 0}.user{align-items:center;gap:10px;padding:6px 4px;display:flex}.user img{border-radius:50%;width:28px;height:28px}.user-text{flex-direction:column;flex:1;min-width:0;line-height:1.3;display:flex}.user-text strong{font-size:12.5px;font-weight:500}.user-text small{color:var(--text-3);font-size:11.5px}.content{grid-row:2;min-width:0;min-height:0;overflow:auto}.scrim{display:none}.page{max-width:1240px;animation:fade .25s var(--ease);margin:0 auto;padding:40px 48px 72px}@keyframes fade{0%{opacity:0;transform:translateY(4px)}}.overview{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px;margin-bottom:48px;display:grid}.overview-main{flex-direction:column;justify-content:center;padding:24px 0;display:flex}.overview-main h1{letter-spacing:-.01em;font-size:24px;font-weight:400}.overview-url{color:var(--text);align-items:center;gap:10px;min-width:0;margin:10px 0 28px;font-size:13px;display:flex}.overview-url .mono{font-size:12.5px}.info-grid{grid-template-columns:1fr 1fr;gap:18px 24px;display:grid}.info-tile{align-items:center;gap:14px;min-width:0;display:flex}.info-icon{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--panel);width:40px;height:40px;color:var(--text-2);flex-shrink:0;place-items:center;display:grid}.info-text{flex-direction:column;gap:2px;min-width:0;display:flex}.info-value{color:var(--text);min-width:0;font-size:13px}.status-dots{grid-template-columns:repeat(3,4px);gap:3px;display:grid}.status-dots i{background:var(--brand);border-radius:50%;width:4px;height:4px}.overview-diagram{border:1px solid var(--border);border-radius:var(--radius);background-color:var(--bg);background-image:radial-gradient(var(--dot) 1px, transparent 1px);background-size:16px 16px;place-items:center;min-height:300px;padding:40px 24px;display:grid;position:relative}.diagram-tools{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--panel);gap:4px;padding:2px;display:flex;position:absolute;top:10px;right:10px}.node-card{background:var(--panel);border:1px solid var(--border-2);border-radius:var(--radius);width:100%;max-width:300px;box-shadow:var(--shadow);overflow:hidden}.node-head{align-items:center;gap:10px;padding:10px 12px;display:flex}.node-head strong{font-size:12.5px;font-weight:500}.node-icon{background:var(--btn-primary);width:26px;height:26px;color:var(--btn-primary-text);border:1px solid var(--accent-border);border-radius:5px;flex-shrink:0;place-items:center;display:grid}.node-live{background:var(--brand);width:7px;height:7px;box-shadow:0 0 0 3px var(--accent-soft);border-radius:50%;flex-shrink:0;margin-left:auto}.node-list{flex-direction:column;padding:2px 6px 6px;display:flex}.node-list>span{padding:6px}.node-list button{text-align:left;border-radius:5px;align-items:center;gap:8px;height:28px;padding:0 6px;font-size:12.5px;display:flex}.node-list button:hover{background:var(--hover)}.node-list button .mono{white-space:nowrap;margin-left:auto;font-size:10.5px}.node-foot{border-top:1px solid var(--border);color:var(--text-3);gap:14px;padding:8px 12px;font-size:11px;display:flex}.node-foot b{color:var(--text);font-weight:500}.section-head{align-items:center;gap:12px;min-height:28px;margin-bottom:14px;display:flex;position:relative}.section-head .grip{color:var(--text-3);opacity:.6;position:absolute;left:-24px}.section-head h2{color:var(--text);font-size:16px;font-weight:400}.section-head h2 b{font-weight:500}.section-actions{gap:8px;margin-left:auto;display:flex}.section{margin-top:48px}.panel-empty{border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);min-height:160px;color:var(--text-2);flex-direction:column;justify-content:center;align-items:center;gap:10px;font-size:13px;display:flex}.panel-empty svg{color:var(--text-3)}.metrics{grid-template-columns:repeat(5,minmax(210px,1fr));gap:12px;margin-bottom:48px;padding-bottom:2px;display:grid;overflow-x:auto}.metric{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);text-align:left;flex-direction:column;align-items:stretch;gap:10px;min-height:150px;padding:12px 12px 10px;transition:border-color .15s,background .15s;display:flex}.metric:disabled{opacity:1;cursor:default}.metric:hover:not(:disabled){border-color:var(--border-3)}.metric.on{border-color:var(--accent-border);background:linear-gradient(var(--accent-soft), transparent 60%), var(--panel)}.metric-head{justify-content:space-between;gap:8px;display:flex}.metric-num{color:var(--text);margin-top:2px;font-size:18px;font-weight:500;line-height:1.3}.metric-sub{font-family:var(--mono);text-transform:uppercase;letter-spacing:.04em;color:var(--text-3);white-space:nowrap;font-size:10.5px}.legend{align-items:center;gap:5px;display:inline-flex}.legend i{background:var(--brand);border-radius:50%;width:6px;height:6px}.legend-past i{background:var(--text-3)}.legend-quote i{background:var(--amber)}.bars{flex:1;align-items:flex-end;gap:3px;min-height:56px;display:flex}.bars span{background:var(--bar-empty);border-radius:1px;flex:1;height:100%}.bars span.filled{background:var(--brand)}.metric-axis{color:var(--text-3);justify-content:space-between;font-size:10.5px;display:flex}.toolbar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:14px;display:flex}.toolbar.compact{margin-bottom:12px}.search-box{background:var(--input);border:1px solid var(--border-2);border-radius:var(--radius-sm);min-width:220px;height:32px;color:var(--text-3);flex:1;align-items:center;gap:8px;padding:0 10px;transition:border-color .15s,box-shadow .15s;display:flex}.search-box:focus-within{border-color:var(--border-3);box-shadow:0 0 0 2px var(--accent-soft)}.search-box input{color:var(--text);background:0 0;border:0;outline:0;flex:1;min-width:0;font-size:13px}.search-box.sm{flex:0 260px;min-width:180px;height:30px}.seg{background:var(--panel-2);border:1px solid var(--border-2);border-radius:var(--radius-sm);padding:2px;display:flex}.seg button{width:28px;height:24px;color:var(--text-3);border-radius:4px;place-items:center;display:grid}.seg button:hover{color:var(--text)}.seg button.on{background:var(--active);color:var(--text)}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{border:1px solid var(--border-2);background:var(--panel-2);height:26px;color:var(--text-2);border-radius:999px;padding:0 10px;font-size:12px}.chip:hover{border-color:var(--border-3);color:var(--text)}.chip.on{background:var(--accent-soft);border-color:var(--accent-border);color:var(--accent)}.client-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;display:grid}.client-list{flex-direction:column;gap:8px;display:flex}.client-list .client-card.skeleton{height:52px}.client-card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;outline:none;flex-direction:column;gap:12px;padding:16px;transition:border-color .15s,background .15s;display:flex}.client-card:hover,.client-card:focus-visible{border-color:var(--border-3)}.client-card:focus-visible{box-shadow:0 0 0 2px var(--accent-soft)}.cc-top{align-items:center;gap:12px;display:flex}.cc-title{flex-direction:column;flex:1;min-width:0;display:flex}.cc-title strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:500;overflow:hidden}.cc-title small{color:var(--text-3);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.client-card .icon-btn.pin{opacity:0}.client-card:hover .icon-btn.pin,.client-card .icon-btn.pin.on{opacity:1}.cc-desc{color:var(--text-2);-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:37px;margin:0;font-size:12.5px;display:-webkit-box;overflow:hidden}.cc-foot{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:6px;padding-top:12px;display:flex}.cc-foot .muted{font-family:var(--mono);color:var(--text-3);font-size:11px}.table{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.tr{border-top:1px solid var(--border);cursor:pointer;outline:none;grid-template-columns:minmax(220px,2.2fr) 110px 1.4fr 1.2fr 120px;align-items:center;gap:14px;min-height:44px;padding:8px 14px;transition:background .12s;display:grid}.tr:first-child{border-top:0}.tr:not(.th):hover,.tr:focus-visible{background:var(--hover)}.tr.th{cursor:default;min-height:36px;font-family:var(--mono);color:var(--text-3);text-transform:uppercase;letter-spacing:.06em;background:var(--panel-2);font-size:11px;font-weight:400}.tr.th button{text-align:left;text-transform:inherit;letter-spacing:inherit;font:inherit;color:inherit}.tr.th button:hover{color:var(--text)}.table.files .tr{grid-template-columns:minmax(200px,3fr) 130px 190px 90px 34px}.table.clients .tr{grid-template-columns:minmax(220px,2.2fr) 110px 120px 110px 110px}.table.quotes .tr{grid-template-columns:80px minmax(200px,3fr) 90px 120px 34px}.cell-main{align-items:center;gap:10px;min-width:0;display:flex}.cell-main strong{font-weight:500}.cell-main small{font-size:12px}.pin-mini{color:var(--amber);fill:var(--amber);flex-shrink:0}.tr .muted{font-size:12.5px}.tr .muted svg{vertical-align:-1px}.row-actions{opacity:0;transition:opacity .12s}.tr:hover .row-actions{opacity:1}.dash-cols{grid-template-columns:1fr 1fr;gap:24px;display:grid}.recent-list,.quote-list{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;display:flex;overflow:hidden}.recent-item{border-top:1px solid var(--border);color:inherit;align-items:center;gap:12px;padding:9px 14px;transition:background .12s;display:flex}.recent-item:first-child{border-top:0}.recent-item:hover{background:var(--hover);text-decoration:none}.ri-text{flex-direction:column;min-width:0;display:flex}.ri-text strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:400;overflow:hidden}.ri-text small{color:var(--text-3);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.quote-row{border-top:1px solid var(--border);cursor:pointer;grid-template-columns:64px 1fr auto 70px 30px;align-items:center;gap:12px;min-height:42px;padding:7px 14px;transition:background .12s;display:grid}.quote-row:first-child{border-top:0}.quote-row:hover{background:var(--hover)}.quote-row strong{font-weight:400}.quote-row .muted{font-family:var(--mono);color:var(--text-3);font-size:11px}.quote-num{font-family:var(--mono);font-variant-numeric:tabular-nums;color:var(--accent);white-space:nowrap;font-size:12px;font-weight:500}.ext{font-family:var(--mono);text-transform:uppercase;border:1px solid var(--border-2);background:var(--panel-2);color:var(--text-3);border-radius:999px;padding:1px 6px;font-size:10px}.ext-pdf{color:var(--danger);background:#e5484d14;border-color:#e5484d4d}.ext-xlsx,.ext-xls,.ext-csv{background:var(--accent-soft);border-color:var(--accent-border);color:var(--accent)}.note{margin-top:10px}.warn{color:var(--warn)}.empty{text-align:center;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;align-items:center;gap:10px;padding:56px 20px;display:flex}.empty h4{font-size:14px;font-weight:500}.empty p{max-width:460px;margin:0}.empty-icon{border-radius:var(--radius);border:1px solid var(--border-2);background:var(--panel-2);width:48px;height:48px;color:var(--text-2);place-items:center;margin-bottom:4px;display:grid}.empty-icon svg{width:22px;height:22px}.back{color:var(--text-2);border-radius:var(--radius-sm);align-items:center;gap:6px;height:26px;margin-bottom:20px;padding:0 8px 0 4px;font-size:12.5px;display:inline-flex}.back:hover{color:var(--text);background:var(--hover)}.client-layout{grid-template-columns:320px 1fr;align-items:start;gap:24px;display:grid}.client-hero{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:6px;padding:20px;display:flex;position:sticky;top:0}.hero-top{justify-content:space-between;align-items:flex-start;margin-bottom:8px;display:flex}.hero-actions{gap:2px;display:flex}.client-hero h1{letter-spacing:-.01em;font-size:20px;font-weight:400}.hero-badges{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.hero-section{border-top:1px solid var(--border);flex-direction:column;align-items:flex-start;gap:8px;margin-top:14px;padding-top:14px;display:flex}.hero-section h4{font-family:var(--mono);text-transform:uppercase;letter-spacing:.07em;color:var(--text-3);align-items:center;gap:6px;font-size:10.5px;font-weight:400;display:flex}.desc{white-space:pre-wrap;color:var(--text-2);margin:0;font-size:13px;line-height:1.6}.desc.clamped{-webkit-line-clamp:6;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.contact,.drive-links{flex-direction:column;gap:4px;width:100%;margin:0;padding:0;list-style:none;display:flex}.contact li,.drive-links li{align-items:center;gap:10px;min-width:0;min-height:26px;font-size:13px;display:flex}.contact li>svg,.drive-links li>svg{color:var(--text-3);flex-shrink:0}.contact a{color:var(--text);text-overflow:ellipsis;overflow:hidden}.hero-cta{border-top:1px solid var(--border);margin-top:16px;padding-top:16px}.client-main{min-width:0}.tabs{border-bottom:1px solid var(--border);gap:18px;margin-bottom:18px;display:flex;overflow-x:auto}.tab{height:38px;color:var(--text-2);white-space:nowrap;border-bottom:1px solid #0000;align-items:center;gap:7px;margin-bottom:-1px;padding:0 2px;transition:color .12s,border-color .12s;display:inline-flex}.tab:hover{color:var(--text)}.tab.on{color:var(--text);border-bottom-color:var(--text)}.tab.dim:not(.on){opacity:.55}.tab .count{margin-left:2px}.dot-open{background:var(--brand);width:6px;height:6px;box-shadow:0 0 0 3px var(--accent-soft);border-radius:50%;flex-shrink:0;margin-left:auto}.tab .dot-open{margin-left:2px}.slots{gap:4px;display:inline-flex}.slot{min-width:22px;height:20px;color:var(--text-3);opacity:.4;border:1px solid var(--border);border-radius:4px;justify-content:center;align-items:center;gap:3px;padding:0 5px;display:inline-flex}.slot.on{opacity:1;color:var(--text-2);background:var(--panel-2);border-color:var(--border-2)}.slot.on.open{color:var(--accent);border-color:var(--accent-border)}.slot.on.quote{color:var(--amber);border-color:#f5a52459}.slot b{font-family:var(--mono);font-size:10.5px;font-weight:500}.browser{min-height:400px;position:relative}.browser-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.crumbs{flex-wrap:wrap;align-items:center;gap:2px;min-width:0;font-size:14px;display:flex}.crumbs button,.crumbs>.cur{border-radius:var(--radius-sm);height:28px;color:var(--text-2);align-items:center;gap:6px;padding:0 8px;display:inline-flex}.crumbs button:hover{background:var(--hover);color:var(--text)}.crumbs .cur{color:var(--text);font-weight:500}.crumb{color:var(--text-3);align-items:center;display:inline-flex}.browser-actions{align-items:center;gap:8px;display:flex}.file-skel{flex-direction:column;gap:6px;display:flex}.file-grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px;display:grid}.file-tile{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;transition:border-color .15s;overflow:hidden}.file-tile:hover{border-color:var(--border-3)}.ft-thumb{background-color:var(--bg);background-image:radial-gradient(var(--dot) 1px, transparent 1px);border-bottom:1px solid var(--border);background-size:12px 12px;place-items:center;height:116px;display:grid;overflow:hidden}.ft-thumb img{object-fit:cover;width:100%;height:100%}.ft-thumb .file-icon{border-radius:var(--radius);padding:12px}.ft-name{align-items:center;gap:6px;padding:6px 6px 6px 10px;font-size:12.5px;display:flex}.ft-name .file-icon{border-radius:4px;padding:3px}.browser.dragging>:not(.drop-hint){opacity:.35}.drop-hint{border:1px dashed var(--accent);border-radius:var(--radius);background:var(--accent-soft);color:var(--accent);pointer-events:none;z-index:5;flex-direction:column;justify-content:center;align-items:center;gap:6px;display:flex;position:absolute;inset:0}.drop-hint strong{font-weight:500}.drop-hint span{color:var(--text-2);font-size:12.5px}.uploads{flex-direction:column;gap:6px;margin-bottom:12px;display:flex}.upload-row{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-sm);grid-template-columns:16px 1fr 160px 40px;align-items:center;gap:10px;padding:8px 12px;font-size:12.5px;display:grid}.bar{background:var(--bar-empty);border-radius:4px;height:4px;overflow:hidden}.bar div{background:var(--brand);height:100%;transition:width .2s}.ctx-menu{z-index:60;background:var(--panel);border:1px solid var(--border-2);border-radius:var(--radius);min-width:200px;box-shadow:var(--shadow);animation:pop .12s var(--ease);padding:4px;position:fixed}.ctx-menu button,.ctx-menu a{width:100%;height:30px;color:var(--text);text-align:left;border-radius:4px;align-items:center;gap:10px;padding:0 10px;font-size:12.5px;display:flex}.ctx-menu button:hover,.ctx-menu a:hover{background:var(--hover);text-decoration:none}.ctx-menu svg{color:var(--text-3)}.ctx-menu .danger,.ctx-menu .danger svg{color:var(--danger)}.ctx-menu hr{margin:4px 0}@keyframes pop{0%{opacity:0;transform:scale(.97)}}.overlay{z-index:50;background:var(--overlay);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);place-items:center;padding:20px;animation:.15s fadeIn;display:grid;position:fixed;inset:0}.overlay.top{place-items:start center;padding-top:12vh}@keyframes fadeIn{0%{opacity:0}}.modal{background:var(--panel);border:1px solid var(--border-2);width:100%;box-shadow:var(--shadow);animation:pop .16s var(--ease);border-radius:10px;max-height:90vh;padding:0 20px 20px;overflow:auto}.modal-head{border-bottom:1px solid var(--border);background:var(--panel);z-index:1;justify-content:space-between;align-items:center;gap:12px;margin:0 -20px 18px;padding:12px 14px 12px 20px;display:flex;position:sticky;top:0}.modal-head h3{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:500;overflow:hidden}.modal-actions{justify-content:flex-end;gap:8px;margin-top:4px;display:flex}.preview{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);height:70vh;overflow:hidden}.preview iframe{border:0;width:100%;height:100%}.preview-img{object-fit:contain;width:100%;height:100%}.preview-placeholder{flex-direction:column;justify-content:center;align-items:center;gap:10px;height:100%;display:flex}.preview-placeholder .file-icon{border-radius:12px;padding:18px}.preview-meta{color:var(--text-2);justify-content:space-between;align-items:center;margin-top:14px;font-size:12.5px;display:flex}.seg-choice{grid-template-columns:1fr 1fr;gap:10px;display:grid}.seg-choice button{border:1px solid var(--border-2);border-radius:var(--radius-sm);background:var(--panel-2);text-align:left;color:var(--text-2);flex-direction:column;align-items:flex-start;gap:2px;padding:10px 12px;transition:border-color .15s,background .15s;display:flex}.seg-choice button:hover{border-color:var(--border-3)}.seg-choice button strong{color:var(--text);font-size:13px;font-weight:500}.seg-choice button small{color:var(--text-3);font-size:12px}.seg-choice button.on{border-color:var(--accent-border);background:var(--accent-soft)}.name-preview{border-radius:var(--radius-sm);background:var(--panel-2);border:1px dashed var(--border-2);color:var(--text-2);font-family:var(--mono);word-break:break-all;flex-wrap:wrap;align-items:center;gap:7px;padding:8px 10px;font-size:12px;display:flex}.name-preview strong{color:var(--text);font-weight:500}.palette{background:var(--panel);border:1px solid var(--border-2);width:100%;max-width:640px;box-shadow:var(--shadow);animation:pop .14s var(--ease);border-radius:10px;overflow:hidden}.pal-input{border-bottom:1px solid var(--border);height:52px;color:var(--text-3);align-items:center;gap:12px;padding:0 16px;display:flex}.pal-input input{color:var(--text);background:0 0;border:0;outline:0;flex:1;font-size:15px}.pal-list{max-height:55vh;padding:6px;overflow:auto}.pal-section{font-family:var(--mono);text-transform:uppercase;letter-spacing:.07em;color:var(--text-3);padding:10px 10px 6px;font-size:10.5px}.pal-item{border-radius:var(--radius-sm);text-align:left;align-items:center;gap:12px;width:100%;padding:7px 10px;display:flex}.pal-item.on{background:var(--hover)}.pal-text{flex-direction:column;flex:1;min-width:0;display:flex}.pal-text strong{text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.pal-text small{color:var(--text-3);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.pal-empty{color:var(--text-2);justify-content:center;align-items:center;gap:8px;padding:28px;display:flex}.pal-foot{border-top:1px solid var(--border);color:var(--text-3);background:var(--panel-2);align-items:center;gap:16px;padding:8px 14px;font-size:11.5px;display:flex}.pal-foot kbd{margin-right:3px}.area{font-family:var(--mono);text-transform:uppercase;letter-spacing:.04em;border:1px solid var(--border-2);white-space:nowrap;border-radius:999px;padding:1px 7px;font-size:10px}.area-temp{background:var(--accent-soft);border-color:var(--accent-border);color:var(--accent)}.area-customers{color:var(--text-2)}.area-quotes{color:var(--amber);background:#f5a5241a;border-color:#f5a52459}.palette .quote-num{text-align:center;min-width:48px}.toasts{z-index:100;flex-direction:column;gap:8px;display:flex;position:fixed;bottom:20px;right:20px}.toast{background:var(--panel);border:1px solid var(--border-2);border-radius:var(--radius);min-width:260px;max-width:420px;box-shadow:var(--shadow);animation:slideIn .2s var(--ease);align-items:center;gap:10px;padding:10px 8px 10px 12px;font-size:13px;display:flex}.toast span{flex:1}.toast-success svg:first-child{color:var(--ok)}.toast-error svg:first-child{color:var(--danger)}.toast-info svg:first-child{color:var(--info)}@keyframes slideIn{0%{opacity:0;transform:translateY(8px)}}.quote-page{max-width:1440px}.quote-page .section-head h2{align-items:center;gap:8px;display:flex}.quote-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:24px;display:grid}.quote-form{gap:14px}.quote-card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:14px;padding:16px 18px 18px;display:flex}.quote-card>h4{font-family:var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--text-3);font-size:11px;font-weight:500}.field input.readonly{color:var(--text-2);background:var(--panel-2);cursor:default}.toggle{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:10px;display:flex}.toggle input{opacity:0;pointer-events:none;position:absolute}.toggle .switch{background:var(--active);border:1px solid var(--border-2);border-radius:999px;flex-shrink:0;width:32px;height:18px;transition:background .15s,border-color .15s;position:relative}.toggle .switch:after{content:"";background:var(--text-2);width:12px;height:12px;transition:transform .18s var(--ease), background .15s;border-radius:50%;position:absolute;top:2px;left:2px}.toggle input:checked+.switch{background:var(--accent);border-color:var(--accent)}.toggle input:checked+.switch:after{background:#fff;transform:translate(14px)}.toggle input:focus-visible+.switch{box-shadow:0 0 0 2px var(--accent-soft)}.toggle-text{flex-direction:column;line-height:1.3;display:flex}.toggle-text strong{font-weight:500}.toggle-text small{color:var(--text-3);font-size:12px}.money-input{background:var(--input);border:1px solid var(--border-2);border-radius:var(--radius-sm);align-items:center;transition:border-color .15s,box-shadow .15s;display:flex}.money-input:focus-within{border-color:var(--border-3);box-shadow:0 0 0 2px var(--accent-soft)}.money-input i{color:var(--text-3);padding:0 0 0 10px;font-style:normal}.money-input.rate i{padding:0 10px 0 0}.money-input input,.field .money-input input{width:100%;min-width:0;box-shadow:none;font-variant-numeric:tabular-nums;background:0 0;border:0;outline:none;flex:1;padding:7px 10px 7px 6px}.money-input.rate{width:110px}.money-input.rate input{text-align:right;padding:5px 6px}.stepper{align-items:center;gap:6px;display:flex}.stepper input{text-align:center;appearance:textfield;width:72px!important}.stepper input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.stepper input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.stepper .icon-btn{border:1px solid var(--border-2)}.sign-list{flex-direction:column;gap:8px;display:flex}.sign-row{grid-template-columns:34px 1fr 130px;align-items:start;gap:8px;display:grid}.sign-row textarea{resize:vertical;background:var(--input);border:1px solid var(--border-2);border-radius:var(--radius-sm);outline:none;width:100%;min-height:0;padding:7px 10px}.sign-row textarea:focus{border-color:var(--border-3);box-shadow:0 0 0 2px var(--accent-soft)}.sign-num{font-family:var(--mono);color:var(--text-3);padding-top:8px;font-size:12px}.calc-line,.totals>div{font-variant-numeric:tabular-nums;justify-content:space-between;align-items:center;gap:12px;display:flex}.calc-line{border-top:1px dashed var(--border-2);color:var(--text-2);padding-top:10px}.calc-line strong,.totals strong{color:var(--text);font-weight:500}.totals{color:var(--text-2);flex-direction:column;gap:10px;display:flex}.totals .grand{border-top:1px solid var(--border-2);color:var(--text);padding-top:10px;font-size:15px}.totals .grand strong{color:var(--accent);font-weight:600}.extra-line{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--panel-2);flex-direction:column;gap:10px;padding:12px;display:flex}.extra-head{align-items:center;gap:8px;display:flex}.extra-head .select{min-width:130px}.extra-label{flex:1;min-width:0;height:32px}.extra-total{font-variant-numeric:tabular-nums;margin-left:auto;font-weight:500}.extra-fields{grid-template-columns:1fr 80px 130px;gap:10px;display:grid}.extra-add{justify-content:space-between;align-items:center;gap:12px;display:flex}.calc-inline{color:var(--text-2);font-variant-numeric:tabular-nums}.calc-inline strong{color:var(--text);margin-left:6px;font-weight:500}.quote-actions{background:linear-gradient(to bottom, transparent, var(--bg) 18px);flex-direction:column;gap:10px;padding:14px 0 4px;display:flex;position:sticky;bottom:0}.quote-actions .row{flex-wrap:wrap;justify-content:flex-end}.quote-preview{height:calc(100vh - var(--topbar) - 32px);background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;min-height:520px;display:flex;position:sticky;top:16px;overflow:hidden}.quote-preview-head{border-bottom:1px solid var(--border);font-family:var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--text-3);justify-content:space-between;align-items:center;padding:8px 12px;font-size:11px;display:flex}.quote-preview iframe{background:#525659;border:0;flex:1;width:100%}@media (width<=1200px){.hide-md{display:none!important}}@media (width<=1100px){.overview{grid-template-columns:1fr}.overview-diagram{min-height:240px}.client-layout,.quote-layout{grid-template-columns:1fr}.client-hero{position:relative}.quote-preview{height:80vh;position:relative;top:0}.dash-cols{grid-template-columns:1fr;gap:0}}@media (width<=820px){.app{grid-template-columns:1fr}.topbar .mobile-only{display:inline-grid}.sidebar{top:var(--topbar);z-index:40;width:260px;transition:transform .22s var(--ease);position:fixed;bottom:0;left:0;transform:translate(-100%)}.nav-open .sidebar{transform:none}.nav-open .scrim{inset:var(--topbar) 0 0 0;z-index:35;background:var(--overlay);display:block;position:fixed}.tb-search{min-width:0}.tb-search span,.tb-search kbd{display:none}.page{padding:24px 16px 48px}.section-head .grip{display:none}.info-grid{grid-template-columns:1fr}.hide-sm{display:none!important}.tr{grid-template-columns:1fr 90px 90px}.table.files .tr{grid-template-columns:1fr 110px 34px}.table.clients .tr{grid-template-columns:1fr 100px 80px}.table.quotes .tr{grid-template-columns:64px 1fr 80px 34px}.quote-row{grid-template-columns:56px 1fr auto 30px}.seg-choice,.row-2{grid-template-columns:1fr}.extra-fields{grid-template-columns:1fr 1fr}.extra-fields .field:first-child{grid-column:1/-1}.sign-row{grid-template-columns:1fr 110px}.sign-num{display:none}.setup-slot{grid-template-columns:36px 1fr}.setup-slot .select{grid-column:1/-1}.row-actions{opacity:1}}
