*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--navy:#0f1e3c;--navy-light:#1a2f5a;--gold:#f5a623;--green:#27ae60;--red:#e74c3c;--blue:#2980b9;--purple:#8e44ad;--bg:#f0f2f5;--bg-dark:#f3f4f7;--card:#fff;--card-hover:#f9fafb;--border:#e1e4e8;--text:#1a1a2e;--muted:#6b7280;--overlay:#00000080;--scrollbar-thumb:#00000026;--chart-direct:#0f1e3c;--badge-new-bg:#e8f4fd;--badge-new-fg:#2980b9;--badge-qualified-bg:#fef9e7;--badge-qualified-fg:#f39c12;--badge-proposal-bg:#f0e6ff;--badge-proposal-fg:#8e44ad;--badge-signed-bg:#e8f8f5;--badge-signed-fg:#27ae60;--badge-install-bg:#fde8e8;--badge-install-fg:#e74c3c;--badge-pto-bg:#e8f5e9;--badge-pto-fg:#2e7d32;--badge-lost-bg:#f5f5f5;--badge-lost-fg:#9e9e9e;--badge-cancelled-bg:#fef2f2;--badge-cancelled-fg:#dc2626}:root[data-theme=dark]{--chart-direct:#6f8fc9;--bg:#0b1220;--bg-dark:#0e1729;--card:#131b2e;--card-hover:#1a2440;--border:#232d42;--text:#e8ecf4;--muted:#8b95ac;--overlay:#000000a6;--scrollbar-thumb:#ffffff26;--badge-new-bg:#16324f;--badge-new-fg:#7cc0f5;--badge-qualified-bg:#4a3a10;--badge-qualified-fg:#f5c25e;--badge-proposal-bg:#34215a;--badge-proposal-fg:#c7a3f5;--badge-signed-bg:#163d2f;--badge-signed-fg:#6fd8a8;--badge-install-bg:#4a1f1f;--badge-install-fg:#f29a9a;--badge-pto-bg:#1c3a26;--badge-pto-fg:#7fd499;--badge-lost-bg:#232d42;--badge-lost-fg:#8b95ac;--badge-cancelled-bg:#4a1f24;--badge-cancelled-fg:#f29aa8}body{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px}button{cursor:pointer;color:inherit;background:0 0;border:none;outline:none;font-family:inherit;font-size:14px}input,select,textarea{background:var(--card);color:var(--text);border-color:var(--border);outline:none;font-family:inherit;font-size:14px}.app{flex-direction:column;height:100dvh;display:flex;overflow:hidden}.sidebar{background:var(--navy);flex-shrink:0;align-items:center;gap:0;height:56px;padding:0 20px;display:flex}.sidebar-logo{flex-shrink:0;align-items:center;margin-right:32px;display:flex}.sidebar-logo img{object-fit:contain;height:28px}.logo-text{color:#fff;white-space:nowrap;letter-spacing:.5px;font-size:13px;font-weight:700}.sidebar-nav{scrollbar-width:thin;-webkit-overflow-scrolling:touch;flex:1;align-items:center;gap:0;min-width:0;display:flex;overflow:auto hidden}.nav-item{color:#fff9;cursor:pointer;white-space:nowrap;border-top:3px solid #0000;border-bottom:3px solid #0000;flex-shrink:0;align-items:center;gap:8px;height:56px;padding:0 16px;font-size:13px;font-weight:500;transition:all .15s;display:flex}.nav-item:hover{color:#fff;background:#ffffff12}.nav-item.active{color:var(--gold);border-bottom-color:var(--gold);background:#f5a62314}.nav-item svg{flex-shrink:0}.nav-label{font-size:13px;font-weight:500}.sidebar-nav::-webkit-scrollbar{height:4px}.sidebar-nav::-webkit-scrollbar-thumb{background:#ffffff40;border-radius:2px}.sidebar-nav::-webkit-scrollbar-track{background:0 0}.sidebar-toggle{display:none}.main{flex-direction:column;flex:1;display:flex;overflow:hidden}.topbar{background:var(--card);border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;height:48px;padding:0 24px;display:flex}.topbar-title{font-size:15px;font-weight:700}.topbar-right{align-items:center;gap:10px;display:flex}.content{flex:1;padding:24px;overflow-y:auto}.card{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:20px}.grid-4{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}.grid-3{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.grid-2{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}.stat-value{font-size:28px;font-weight:700}.stat-label{color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin-top:4px;font-size:11px}.stat-sub{color:var(--green);margin-top:2px;font-size:12px;font-weight:600}.btn{border-radius:7px;align-items:center;gap:6px;padding:8px 16px;font-weight:500;transition:all .15s;display:inline-flex}.btn-primary{background:var(--navy);color:#fff}.btn-primary:hover{background:var(--navy-light)}.btn-gold{background:var(--gold);color:#fff}.btn-gold:hover{opacity:.9}.btn-outline{border:1px solid var(--border);color:var(--text);background:0 0}.btn-outline:hover{border-color:var(--navy)}.btn-sm{padding:5px 12px;font-size:13px}.btn-danger{background:var(--red);color:#fff}.btn-green{background:var(--green);color:#fff}.badge{text-transform:uppercase;letter-spacing:.3px;border-radius:20px;padding:3px 9px;font-size:11px;font-weight:600;display:inline-block}.badge-new{background:var(--badge-new-bg);color:var(--badge-new-fg)}.badge-qualified{background:var(--badge-qualified-bg);color:var(--badge-qualified-fg)}.badge-proposal{background:var(--badge-proposal-bg);color:var(--badge-proposal-fg)}.badge-signed{background:var(--badge-signed-bg);color:var(--badge-signed-fg)}.badge-install{background:var(--badge-install-bg);color:var(--badge-install-fg)}.badge-pto{background:var(--badge-pto-bg);color:var(--badge-pto-fg)}.badge-lost{background:var(--badge-lost-bg);color:var(--badge-lost-fg)}.badge-cancelled{background:var(--badge-cancelled-bg);color:var(--badge-cancelled-fg)}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%}th{text-align:left;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);border-bottom:1px solid var(--border);padding:10px 14px;font-size:11px;font-weight:600}td{border-bottom:1px solid var(--border);padding:12px 14px}tr:last-child td{border-bottom:none}tr:hover td{background:var(--card-hover)}.kanban{align-items:flex-start;gap:12px;padding-bottom:8px;display:flex;overflow-x:auto}.kanban-col{flex-shrink:0;width:220px}.kanban-header{text-transform:uppercase;letter-spacing:.5px;border-radius:8px 8px 0 0;justify-content:space-between;align-items:center;padding:9px 12px;font-size:11px;font-weight:700;display:flex}.kanban-body{background:var(--bg);border-radius:0 0 8px 8px;flex-direction:column;gap:8px;min-height:300px;padding:8px;display:flex}.kanban-card{background:var(--card);border:1px solid var(--border);cursor:pointer;border-radius:8px;padding:12px;transition:box-shadow .15s}.kanban-card:hover{box-shadow:0 2px 8px #0000001a}.kanban-card-name{margin-bottom:3px;font-size:13px;font-weight:600}.kanban-card-sub{color:var(--muted);margin-bottom:6px;font-size:11px}.kanban-card-value{color:var(--navy);font-size:13px;font-weight:700}.kanban-add{border:1px dashed var(--border);width:100%;color:var(--muted);text-align:center;cursor:pointer;background:#00000008;border-radius:7px;margin-top:4px;padding:7px;font-size:12px}.kanban-add:hover{background:#0000000f}.form-group{flex-direction:column;gap:5px;margin-bottom:14px;display:flex}.form-label{color:var(--muted);text-transform:uppercase;letter-spacing:.4px;font-size:11px;font-weight:600}.form-input{border:1px solid var(--border);color:var(--text);background:var(--card);border-radius:7px;width:100%;padding:9px 12px;transition:border-color .15s}.form-input:focus{border-color:var(--navy)}.form-row{grid-template-columns:1fr 1fr;gap:14px;display:grid}.form-row-3{grid-template-columns:1fr 1fr 1fr;gap:14px;display:grid}.modal-overlay{background:var(--overlay);z-index:1000;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal{background:var(--card);border-radius:12px;width:100%;max-width:580px;max-height:90vh;overflow-y:auto}.modal-wide{max-width:820px}.modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:20px 24px 16px;display:flex}.modal-title{font-size:16px;font-weight:700}.modal-body{padding:20px 24px}.modal-footer{border-top:1px solid var(--border);justify-content:flex-end;gap:10px;padding:16px 24px;display:flex}.modal-close{color:var(--muted);background:0 0;border-radius:4px;padding:2px 6px;font-size:20px}.modal-close:hover{background:var(--bg);color:var(--text)}.section-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.section-title{font-size:18px;font-weight:700}.tabs{background:var(--bg);border-radius:8px;gap:2px;width:fit-content;margin-bottom:16px;padding:3px;display:flex}.tab{color:var(--muted);cursor:pointer;background:var(--bg-dark);border:1px solid var(--border);border-radius:6px;padding:7px 16px;font-size:13px;font-weight:500}.tab.active{background:var(--navy);color:#fff;border-color:var(--navy);box-shadow:0 1px 3px #00000026}.funnel-row{align-items:center;gap:10px;margin-bottom:8px;display:flex}.funnel-label{color:var(--muted);flex-shrink:0;width:90px;font-size:12px}.funnel-bar-wrap{background:var(--bg);border-radius:4px;flex:1;height:18px}.funnel-bar{border-radius:4px;height:100%;transition:width .4s}.funnel-count{text-align:right;width:28px;font-size:12px;font-weight:600}.design-wrap{gap:16px;height:calc(100dvh - 110px);display:flex}.design-canvas-wrap{cursor:crosshair;background:#1a2035;border-radius:10px;flex:1;position:relative;overflow:hidden}.design-panel-col{flex-direction:column;flex-shrink:0;gap:12px;width:260px;display:flex;overflow-y:auto}.design-panel{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:16px}.design-panel-title{text-transform:uppercase;letter-spacing:.5px;color:var(--muted);margin-bottom:12px;font-size:11px;font-weight:700}.slider{width:100%;accent-color:var(--gold)}.proposal-line{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:10px 0;display:flex}.proposal-line-name{flex:1;font-size:13px}.proposal-line-qty{width:60px}.proposal-line-rate{width:90px;color:var(--muted);font-size:13px}.proposal-line-total{text-align:right;width:90px;font-weight:600}.avatar{background:var(--navy);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:13px;font-weight:700;display:flex}.search-input{border:1px solid var(--border);background:var(--card);width:220px;color:var(--text);border-radius:7px;padding:8px 12px}.empty{text-align:center;color:var(--muted);padding:48px 20px}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:3px}@media (width<=768px){.sidebar{height:auto;min-height:52px;padding:env(safe-area-inset-top) 12px 0 12px;flex-direction:row;justify-content:space-between;gap:8px}.sidebar-logo{height:52px;margin:0;padding:0}.sidebar-user-info{min-width:0;gap:8px!important;margin-left:0!important}.sidebar-user-info>span,.sidebar-user-info select,.sidebar-user-info img{display:none!important}.sidebar-user-info .btn{min-height:36px;padding:0 10px}.sidebar-user-info .btn svg{display:block}.sidebar-user-info .btn[title*=mode]{justify-content:center;width:36px;padding:0;gap:0!important;font-size:0!important}.sidebar-nav{z-index:900;background:var(--navy);padding-bottom:env(safe-area-inset-bottom);flex:unset;-webkit-overflow-scrolling:touch;scrollbar-width:none;border-top:1px solid #ffffff1f;align-items:stretch;width:100%;position:fixed;bottom:0;left:0;right:0;overflow:auto hidden}.sidebar-nav::-webkit-scrollbar{display:none}.nav-item{border-top:3px solid #0000;border-bottom:none;flex-direction:column;justify-content:center;gap:3px;min-width:72px;height:56px;padding:0 8px;position:relative}.nav-item.active{border-top-color:var(--gold);border-bottom-color:#0000}.nav-item svg{width:20px;height:20px}.nav-label{font-size:10.5px;line-height:1.1}.sidebar-nav>div:not(.nav-item){display:none!important}.main{padding-bottom:calc(56px + env(safe-area-inset-bottom))}.content{padding:14px 12px}.section-header{flex-wrap:wrap;gap:10px}.section-header>div[style*="display: flex"]{width:100%}.search-input{width:100%!important}.dash-two-col{grid-template-columns:1fr!important}.card[style*="overflow-x: auto"]{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 24px),#0000);mask-image:linear-gradient(90deg,#000 calc(100% - 24px),#0000)}.files-grid-header{display:none}.files-grid-row{grid-template-columns:1fr!important;gap:8px!important;padding:14px 16px!important}.form-row,.form-row-3{grid-template-columns:1fr!important}.wo-row{flex-wrap:wrap}.wo-row-body{min-width:200px}.wo-row-actions{width:100%;margin-top:4px;justify-content:flex-start!important}input,select,textarea,.form-input,.search-input{font-size:16px!important}.btn{min-height:40px}.btn-sm{min-height:36px}.form-input,input:not([type=checkbox]):not([type=radio]),select{min-height:42px}.card{padding:14px}.grid-4{grid-template-columns:repeat(2,1fr);gap:10px}.grid-3,.grid-2{grid-template-columns:1fr;gap:10px}.stat-value{font-size:22px}.section-title{font-size:16px}.modal-overlay{align-items:flex-end;padding:0}.modal,.modal-wide{width:100%;max-width:100%;max-height:94dvh;padding-bottom:env(safe-area-inset-bottom);border-radius:16px 16px 0 0}.modal-header{background:var(--card);z-index:1;padding:16px 16px 12px;position:sticky;top:0}.modal-body{padding:16px}.modal-footer{background:var(--card);flex-wrap:wrap;padding:12px 16px;position:sticky;bottom:0}.modal-footer .btn{flex:1;justify-content:center}.modal-close{padding:4px 10px;font-size:26px}.tabs{-webkit-overflow-scrolling:touch;scrollbar-width:none;width:100%;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.tab{white-space:nowrap;flex-shrink:0}.project-tab-bar{-webkit-overflow-scrolling:touch;scrollbar-width:none;overflow-x:auto;flex-wrap:nowrap!important}.project-tab-bar::-webkit-scrollbar{display:none}.project-tab-btn{white-space:nowrap;flex-shrink:0}.kanban{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}.kanban-col{scroll-snap-align:start;width:82vw;max-width:300px}.design-wrap{flex-direction:column;height:auto}.design-canvas-wrap{min-height:55dvh}.design-panel-col{width:100%;overflow-y:visible}th,td{padding:10px}.content{overflow-x:hidden}.content>div[style*=padding]{padding:12px 12px 24px!important}.content [style*="grid-template-columns: 1fr 1fr"]{grid-template-columns:1fr!important}.content input[style*="width: 240px"]{width:100%!important;margin-left:0!important}.rev-stats{grid-template-columns:1fr 1fr;width:100%;gap:12px 16px!important;display:grid!important}.rev-stats>div{text-align:left!important}.bar-chart{-webkit-overflow-scrolling:touch;padding-bottom:4px;overflow-x:auto}.bar-chart-row{min-width:480px}.card:has(>.wo-table){background:0 0;border:none;overflow:visible!important}.wo-table,.wo-table tbody{display:block}.wo-table thead{display:none}.wo-table tr{border:1px solid var(--border);border-radius:12px;margin-bottom:10px;padding:6px 14px;display:block;background:var(--card)!important}.wo-table td{text-align:right;justify-content:space-between;align-items:center;gap:12px;display:flex;white-space:normal!important;border:none!important;padding:7px 0!important}.wo-table td:before{content:attr(data-label);letter-spacing:.4px;text-transform:uppercase;color:var(--muted);text-align:left;flex-shrink:0;font-size:10.5px;font-weight:700}.wo-table td[data-label="WO #"]{font-size:15px;padding-top:10px!important}.wo-table td[data-label=Actions]{margin-top:6px;border-top:1px solid var(--border)!important;padding:10px 0 8px!important}.wo-table td[data-label=Actions]:before{display:none}.wo-table td[data-label=Actions]>div{width:100%;flex-wrap:wrap!important;gap:8px!important}.wo-table td[data-label=Actions] button{min-width:44px;min-height:40px;font-size:14px!important}.wo-table td[colspan]{text-align:center;display:block}.wo-table td[colspan]:before{display:none}.org-head{flex-wrap:wrap;gap:12px}.org-head>button{width:100%;min-height:44px}.org-banner{flex-wrap:wrap;gap:12px;padding:14px!important}.org-row{flex-direction:column;gap:12px;align-items:stretch!important;padding:14px!important}.org-row>div:first-child{min-width:0}.org-row>div:first-child>div:last-child{overflow-wrap:anywhere;min-width:0}.org-actions{flex-wrap:wrap}.org-actions label,.org-actions button{align-items:center;min-height:40px;display:inline-flex}.main div[style*="overflow-y: auto"][style*="padding: 24px"]{overflow-x:hidden;max-width:100%!important;padding:12px 12px 28px!important}.main div[style*="overflow-y: auto"][style*="padding: 24px"] div{min-width:0}.main div[style*="overflow-y: auto"][style*="padding: 24px"] :is(img,input,select,textarea,video){max-width:100%}.main div[style*="overflow-y: auto"][style*="padding: 24px"] :is(input,select,textarea){min-width:0}.main [style*="grid-template-columns: 1fr 1fr"],.main [style*="grid-template-columns: 1fr 1fr 1fr"]{grid-template-columns:1fr!important}.files-grid-row{grid-template-columns:minmax(0,1fr)!important}.files-grid-row,.files-grid-row *{overflow-wrap:anywhere}.files-grid-row button,.files-grid-row a{min-height:40px}.proj-info-card{flex-wrap:wrap;gap:12px!important}.proj-info-icon{display:none!important}.proj-info-card>div:nth-child(2){flex:100%!important}.proj-info-card>button{justify-content:center;width:100%;min-height:40px}.main div[style*="padding: 20px 24px"]{padding:12px!important}.pipe-wrap{height:calc(100dvh - 52px - 56px - 28px - env(safe-area-inset-top) - env(safe-area-inset-bottom))!important}.pipe-wrap>.section-header{flex-direction:column;align-items:stretch;gap:10px}.pipe-head-right{flex-direction:column;width:100%;align-items:stretch!important;gap:10px!important}.pipe-head-right>.btn{justify-content:center;width:100%;min-height:42px}.pipe-phase-tabs{-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap;width:100%;padding-bottom:2px;overflow-x:auto}.pipe-phase-tabs::-webkit-scrollbar{display:none}.pipe-phase-tabs .btn{flex-shrink:0;min-height:38px;padding:0 14px}.pipe-board{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding:0 0 12px!important}.pipe-board-inner{width:max-content;min-width:0!important}.pipe-col{scroll-snap-align:start;max-width:320px;width:82vw!important}.pipe-col select{min-height:40px}}@media print{*{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}body>*{display:none!important}body>.proposal-print-overlay{background:0 0!important;width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;margin:0!important;padding:0!important;display:block!important;position:static!important;overflow:visible!important}.proposal-print-toolbar{display:none!important}.proposal-print-doc{box-shadow:none!important;margin:0!important;padding:0!important}.proposal-print-doc>div{box-shadow:none!important;margin:0!important;overflow:visible!important}.proposal-print-doc>div>div{box-shadow:none!important;page-break-inside:avoid!important;break-inside:avoid!important;margin:0!important;overflow:hidden!important}.proposal-print-doc>div>div:not(:first-child){break-before:page!important;page-break-before:always!important}@page{size:letter portrait;margin:0}}.project-tab-bar{row-gap:0}@media (width<=1180px){.project-tab-btn{padding:11px 13px!important;font-size:12.5px!important}}@media (width<=900px){.project-tab-btn{padding:10px 11px!important;font-size:12px!important}}@media (width<=640px){.project-tab-btn{padding:9px!important;font-size:11.5px!important}}
