:root{--qs-bg:#0C1E2E;--qs-bg1:#0f2436;--qs-panel:#12293C;--qs-panel-2:#17324A;--qs-panel-3:#1e3d54;--qs-bd:#24384a;--qs-bd2:#33506a;--qs-line:rgba(237,148,33,0.22);--qs-accent:#ED9421;--qs-accent-2:#F2A94A;--qs-red:#cd0a1b;--qs-green:#5ed48a;--qs-blue:#5aa6d8;--qs-purple:#a888ec;--qs-steel:#8b949c;--qs-text:#EEF1F4;--qs-text-dim:#a0a0a0;--qs-text-faint:#6e6e6e;--qs-radius:10px;--qs-hd:"Cinzel",Georgia,serif;--qs-mono:"DM Mono",Consolas,monospace;--qs-body:"DM Sans",system-ui,sans-serif}*{box-sizing:border-box}body{margin:0;background:radial-gradient(1200px 600px at 80% -10%,rgba(237,148,33,.07),transparent),var(--qs-bg);color:var(--qs-text);font-family:var(--qs-body);-webkit-font-smoothing:antialiased}.qs-brand-title,.qs-job-name,.qs-mark,.qs-modal-title{font-family:var(--qs-hd);letter-spacing:.5px}.qs-app-status,.qs-badge,.qs-bid,.qs-brand-sub,.qs-chip,.qs-det-lbl,.qs-draw-lbl,.qs-dtab,.qs-field-lbl,.qs-flow-lbl,.qs-job-hrs,.qs-new,.qs-pill,.qs-role-btn,.qs-role-lbl,.qs-sel,.qs-sm,.qs-src,.qs-stat-lbl,.qs-stat-val,.qs-tab,.qs-tab-n,.qs-table td,.qs-table th,.qs-ws-lbl{font-family:var(--qs-mono)}.qs-board{max-width:1240px;margin:0 auto;padding:22px 22px 80px}.qs-top{justify-content:space-between;margin-bottom:20px}.qs-brand,.qs-top{display:flex;align-items:center}.qs-brand{gap:16px}.qs-logo{height:44px;width:auto;display:block;flex-shrink:0;animation:shieldGlow 2.8s ease-in-out infinite}.qs-hdr-brand{display:flex;flex-direction:column;gap:2px;line-height:1;padding-left:16px;border-left:1px solid var(--qs-bd2)}.qs-brand-title{font-family:Cinzel Decorative,Cinzel,serif;font-weight:700;font-size:22px;letter-spacing:.05em;text-transform:uppercase;color:#fff;white-space:nowrap}.qs-brand-title .qs-ac{color:var(--qs-accent)}.qs-brand-sub{font-family:var(--qs-body);font-size:11px;font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:var(--qs-steel)}@keyframes shieldGlow{0%,to{filter:drop-shadow(0 0 3px rgba(237,148,33,.3)) drop-shadow(0 0 8px rgba(237,148,33,.15))}50%{filter:drop-shadow(0 0 9px rgba(237,148,33,.85)) drop-shadow(0 0 20px rgba(237,148,33,.5))}}.qs-top-right{display:flex;align-items:center;gap:16px}.qs-new{font-size:11px;padding:7px 13px}.qs-role{display:flex;align-items:center;gap:6px}.qs-role-lbl{font-size:9px;letter-spacing:2px;text-transform:uppercase;color:var(--qs-text-faint);margin-right:4px}.qs-role-btn{background:none;border:1px solid rgba(255,255,255,.12);color:var(--qs-text-dim);font-size:10px;letter-spacing:1.5px;text-transform:uppercase;padding:5px 11px;border-radius:6px;cursor:pointer;transition:all .15s}.qs-role-btn.on,.qs-role-btn:hover{border-color:var(--qs-accent);color:var(--qs-accent-2)}.qs-role-btn.on{background:rgba(237,148,33,.14)}.qs-tabs{display:flex;gap:4px;border-bottom:1px solid rgba(255,255,255,.08);margin-bottom:20px}.qs-tab{background:none;border:none;border-bottom:2px solid transparent;color:var(--qs-text-dim);font-size:12px;letter-spacing:1.5px;text-transform:uppercase;padding:10px 14px;cursor:pointer;transition:all .15s}.qs-tab:hover{color:var(--qs-text)}.qs-tab.on{color:var(--qs-accent-2);border-bottom-color:var(--qs-accent)}.qs-tab-n{display:inline-block;min-width:18px;text-align:center;font-size:10px;background:rgba(255,255,255,.08);border-radius:9px;padding:1px 6px;margin-left:4px}.qs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:14px}.qs-empty{grid-column:1/-1;text-align:center;color:var(--qs-text-faint);padding:60px 0;font-size:13px}.qs-job{border:1px solid var(--qs-line);border-radius:var(--qs-radius);padding:16px 18px;background:var(--qs-panel);display:flex;flex-direction:column}.qs-job-rfp{border-color:rgba(237,148,33,.45)!important;background:rgba(237,148,33,.05)!important;box-shadow:inset 3px 0 0 var(--qs-accent)}.qs-job-name{font-size:15px;font-weight:600;letter-spacing:.3px;color:var(--qs-text);margin-bottom:8px;word-break:break-word}.qs-due-warn{font-size:9px;letter-spacing:1.5px;text-transform:uppercase;color:var(--qs-accent-2);margin-bottom:8px}.qs-revof{font-size:10px;color:#c4a6ff;margin-bottom:6px}.qs-job-meta{display:flex;align-items:center;gap:8px;margin-bottom:12px;flex-wrap:wrap}.qs-job-hrs{font-size:12px;color:var(--qs-text-faint);margin-left:auto}.qs-pill,.qs-sel{font-size:10px;letter-spacing:1px;text-transform:uppercase;padding:3px 9px;border-radius:20px;border:1px solid;background:rgba(255,255,255,.03)}.qs-sel{cursor:pointer}.qs-badge{font-size:9px;letter-spacing:1.5px;text-transform:uppercase;padding:3px 8px;border-radius:4px}.qs-ba{color:#63d470;background:rgba(87,195,100,.12);border:1px solid rgba(87,195,100,.28)}.qs-bd{color:#38c8fd;background:rgba(56,200,253,.12);border:1px solid rgba(56,200,253,.28)}.qs-bp{color:rgba(180,180,180,.8);background:rgba(180,180,180,.1);border:1px solid rgba(180,180,180,.22)}.qs-brfp{color:var(--qs-accent-2);background:rgba(237,148,33,.16);border:1px solid rgba(237,148,33,.45)}.qs-bc{color:#f2c14e;background:rgba(242,193,78,.12);border:1px solid rgba(242,193,78,.28)}.qs-brev{color:#c4a6ff;background:rgba(176,136,255,.14);border:1px solid rgba(176,136,255,.4)}.qs-stats{display:flex;gap:10px;margin-bottom:12px}.qs-stat{flex:1 1;background:var(--qs-panel-2);border-radius:8px;padding:8px 10px}.qs-stat-val{font-size:15px;font-weight:700;color:var(--qs-text)}.qs-stat-lbl{font-size:8px;letter-spacing:1.5px;text-transform:uppercase;color:var(--qs-text-faint);margin-top:2px}.qs-job-det{margin-bottom:12px;border-top:1px solid rgba(255,255,255,.06);padding-top:10px}.qs-det-row{display:flex;gap:8px;margin-bottom:5px;align-items:baseline}.qs-det-lbl{font-size:8px;letter-spacing:1.5px;text-transform:uppercase;color:var(--qs-text-faint);flex-shrink:0;min-width:68px}.qs-det-val{font-size:13px;color:var(--qs-text-dim);word-break:break-word}.qs-apps{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.qs-app{border-left:3px solid;background:var(--qs-panel-2);border-radius:6px;padding:9px 11px}.qs-app-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.qs-app-name{font-size:11px;font-weight:700}.qs-app-name,.qs-app-status{letter-spacing:1px;text-transform:uppercase}.qs-app-status{font-size:8px;color:var(--qs-text-faint)}.qs-as-done{color:#63d470}.qs-as-in_progress{color:var(--qs-accent-2)}.qs-app-sum{font-size:12px;color:var(--qs-text-dim);margin:5px 0}.qs-app-arts{display:flex;gap:6px;flex-wrap:wrap;margin:6px 0}.qs-art{font-size:10px;color:var(--qs-accent-2);text-decoration:none;border-bottom:1px dotted}.qs-app .qs-sm{margin-top:4px}.qs-act{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin-top:auto;padding-top:4px}.qs-sm{display:inline-block;background:none;border:1px solid rgba(255,255,255,.18);color:var(--qs-text-dim);font-size:9px;letter-spacing:1.2px;text-transform:uppercase;padding:6px 11px;border-radius:6px;cursor:pointer;transition:all .15s;text-decoration:none}.qs-sm:hover{border-color:var(--qs-accent);color:var(--qs-accent-2)}.qs-sm.qs-go{background:rgba(237,148,33,.14);border-color:rgba(237,148,33,.55);color:var(--qs-accent-2)}.qs-sm.qs-danger{border-color:rgba(255,100,100,.35);color:rgba(255,110,110,.85)}.qs-sm.qs-danger:hover{border-color:#ff6b6b;color:#ff6b6b}.qs-sm:disabled{opacity:.5;cursor:default}.qs-job{cursor:pointer;transition:border-color .15s,transform .05s}.qs-job:hover{border-color:rgba(237,148,33,.4)}.qs-job:active{transform:translateY(1px)}.qs-job-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.qs-bid{font-size:9px;font-weight:700;letter-spacing:1px;text-transform:uppercase;padding:3px 8px;border-radius:4px;white-space:nowrap}.qs-bid-rom{color:#9db4c0;background:rgba(157,180,192,.12);border:1px solid rgba(157,180,192,.3)}.qs-bid-indicative{color:#e6c879;background:rgba(230,200,121,.12);border:1px solid rgba(230,200,121,.35)}.qs-bid-hard{color:var(--qs-accent-2);background:rgba(237,148,33,.16);border:1px solid rgba(237,148,33,.5)}.qs-chip{font-size:8px;letter-spacing:1px;text-transform:uppercase;padding:3px 7px;border-radius:10px;border:1px solid}.qs-chip-sub{color:#c4a6ff;background:rgba(176,136,255,.12);border-color:rgba(176,136,255,.4)}.qs-chip-sld{color:#5aa9e6;background:rgba(90,169,230,.12);border-color:rgba(90,169,230,.4)}.qs-chip-cbl{color:#57e08a;background:rgba(87,224,138,.12);border-color:rgba(87,224,138,.4)}.qs-flow{margin:10px 0 12px}.qs-flow,.qs-flow-step{display:flex;align-items:center}.qs-flow-step{gap:6px;flex:1 1}.qs-flow-dot{width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.2);flex-shrink:0}.qs-flow-step.done .qs-flow-dot{background:var(--qs-accent);border-color:var(--qs-accent);box-shadow:0 0 8px rgba(237,148,33,.5)}.qs-flow-lbl{font-size:8px;letter-spacing:1px;text-transform:uppercase;color:var(--qs-text-faint)}.qs-flow-step.done .qs-flow-lbl{color:var(--qs-text-dim)}.qs-flow-bar{flex:1 1;height:1px;background:rgba(255,255,255,.1);margin:0 4px}.qs-flow-step.done .qs-flow-bar{background:rgba(237,148,33,.4)}.qs-modal-scrim{position:fixed;inset:0;background:rgba(0,0,0,.62);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:flex-start;justify-content:center;padding:40px 20px;z-index:50;overflow-y:auto}.qs-modal{width:100%;max-width:860px;background:var(--qs-panel);border:1px solid var(--qs-line);border-radius:14px;box-shadow:0 20px 60px rgba(0,0,0,.5);overflow:hidden}.qs-modal-sm{max-width:640px}.qs-err{color:#ff7b7b;font-size:12px;margin:10px 0}.qs-modal-head{display:flex;align-items:flex-start;justify-content:space-between;padding:18px 22px;border-bottom:1px solid rgba(255,255,255,.07);background:linear-gradient(180deg,rgba(237,148,33,.06),transparent)}.qs-modal-title{font-size:17px;font-weight:700;color:var(--qs-text)}.qs-modal-sub{display:flex;align-items:center;gap:8px;margin-top:8px;flex-wrap:wrap}.qs-modal-loc{font-size:11px}.qs-close,.qs-modal-loc{color:var(--qs-text-dim)}.qs-close{background:none;border:none;font-size:26px;line-height:1;cursor:pointer;padding:0 4px}.qs-close:hover{color:var(--qs-accent-2)}.qs-dtabs{display:flex;gap:2px;padding:0 12px;border-bottom:1px solid rgba(255,255,255,.07);overflow-x:auto}.qs-dtab{position:relative;background:none;border:none;border-bottom:2px solid transparent;color:var(--qs-text-dim);font-size:11px;letter-spacing:1px;text-transform:uppercase;padding:12px 14px;cursor:pointer;white-space:nowrap}.qs-dtab:hover{color:var(--qs-text)}.qs-dtab.on{color:var(--qs-accent-2);border-bottom-color:var(--qs-accent)}.qs-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#57e08a;margin-left:6px;vertical-align:middle}.qs-dot.warn{background:#ff6b6b}.qs-modal-body{padding:20px 22px 26px}.qs-note{font-size:12px;color:var(--qs-text-dim);line-height:1.55;margin:0 0 14px}.qs-note b{color:var(--qs-text)}.qs-form .qs-act{margin-top:16px}.qs-fgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px 16px}.qs-field{display:flex;flex-direction:column;gap:4px}.qs-field-lbl{font-size:8px;letter-spacing:1.5px;text-transform:uppercase;color:var(--qs-text-faint)}.qs-form input,.qs-form select,.qs-form textarea,.qs-quote-add input,.qs-quote-add select{background:var(--qs-panel-2);border:1px solid rgba(255,255,255,.12);border-radius:6px;color:var(--qs-text);font-size:13px;padding:7px 9px;font-family:inherit;width:100%}.qs-form input:focus,.qs-form select:focus,.qs-form textarea:focus{outline:none;border-color:var(--qs-accent)}.qs-form input:disabled,.qs-form select:disabled,.qs-form textarea:disabled{opacity:.65}.qs-toggle{display:flex;align-items:center;gap:8px;margin:14px 0}.qs-hint,.qs-toggle{font-size:12px;color:var(--qs-text-dim)}.qs-hint{margin-top:-4px}.qs-toggle input{width:auto;accent-color:var(--qs-accent)}.qs-status-sel{font-size:10px;padding:2px 6px}.qs-draw{margin-top:14px;border-top:1px solid rgba(255,255,255,.07);padding-top:14px;display:flex;flex-direction:column;gap:8px}.qs-draw-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.qs-draw-lbl{font-size:9px;letter-spacing:1px;text-transform:uppercase;color:var(--qs-text-faint);min-width:190px}.qs-draw-file{font-size:12px;color:#57e08a}.qs-draw-none{font-size:12px;color:var(--qs-text-faint)}.qs-upload{position:relative;overflow:hidden}.qs-subhead{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:16px 0 8px;font-size:11px;color:var(--qs-text-dim);flex-wrap:wrap}.qs-table{width:100%;border-collapse:collapse;font-size:12px;margin-top:6px}.qs-table th{text-align:left;font-size:8px;letter-spacing:1px;text-transform:uppercase;color:var(--qs-text-faint);font-weight:600;padding:7px 8px;border-bottom:1px solid rgba(255,255,255,.1)}.qs-table td{padding:8px;color:var(--qs-text-dim);border-bottom:1px solid rgba(255,255,255,.05)}.qs-table tfoot td{color:var(--qs-text);font-weight:600;border-top:1px solid rgba(255,255,255,.12);border-bottom:none}.qs-table tfoot .qs-grand td{color:var(--qs-accent-2);font-size:13px}.qs-row-flag td{background:rgba(255,100,100,.06)}.qs-src{font-size:8px;letter-spacing:.5px;text-transform:uppercase;padding:2px 6px;border-radius:4px;border:1px solid rgba(255,255,255,.16);color:var(--qs-text-dim)}.qs-src-sld{color:#5aa9e6;border-color:rgba(90,169,230,.4)}.qs-src-cablerator,.qs-src-civilator{color:#57e08a;border-color:rgba(87,224,138,.4)}.qs-src-besstiquotes{color:#e6c879;border-color:rgba(230,200,121,.4)}.qs-src-substationator{color:var(--qs-accent-2);border-color:rgba(237,148,33,.4)}.qs-file-tag{color:var(--qs-text-faint);font-size:11px}.qs-quote-add{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:14px}.qs-quote-add input{width:auto;min-width:120px}.qs-quote-add select{width:auto}.qs-flag-banner{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;border-radius:8px;font-size:13px;font-weight:600;margin:8px 0;flex-wrap:wrap}.qs-flag-banner.ok{color:#63d470;background:rgba(87,195,100,.1);border:1px solid rgba(87,195,100,.3)}.qs-flag-banner.bad{color:#ff7b7b;background:rgba(255,100,100,.09);border:1px solid rgba(255,100,100,.35)}.qs-flag-sub{font-size:10px;font-weight:400;color:var(--qs-text-dim)}.qs-wage-summary{display:flex;gap:10px;flex-wrap:wrap;margin:4px 0 12px}.qs-ws-item{flex:1 1;min-width:150px;background:var(--qs-panel-2);border:1px solid rgba(255,255,255,.07);border-radius:8px;padding:9px 12px;display:flex;flex-direction:column;gap:3px}.qs-ws-lbl{font-size:8px;letter-spacing:1.5px;text-transform:uppercase;color:var(--qs-text-faint)}.qs-ws-val{font-size:13px;color:var(--qs-text);font-weight:600}.qs-ws-basis{color:var(--qs-accent-2)}.qs-ok{color:#63d470}.qs-bad{color:#ff7b7b}.qs-tab-empty{text-align:center;color:var(--qs-text-faint);font-size:12px;padding:30px 0}@media (max-width:560px){.qs-fgrid{grid-template-columns:1fr}}.qs-kpis{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-bottom:18px}.qs-kpi{background:var(--qs-panel);border:1px solid var(--qs-bd);border-radius:12px;padding:14px 16px;position:relative;overflow:hidden}.qs-kpi:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--qs-steel);opacity:.8}.qs-kpi.clickable{cursor:pointer;transition:transform .12s,border-color .15s}.qs-kpi.clickable:hover{transform:translateY(-2px);border-color:var(--qs-accent)}.qs-kpi-n{font-family:var(--qs-hd);font-size:30px;font-weight:700;line-height:1;color:var(--qs-text)}.qs-kpi-l{font-family:var(--qs-mono);font-size:9px;letter-spacing:1.5px;text-transform:uppercase;color:var(--qs-text-faint);margin-top:7px}.qs-kpi-ba:before{background:#5ed48a}.qs-kpi-brfp:before{background:var(--qs-accent)}.qs-kpi-bc:before{background:#f2c14e}.qs-kpi-val:before{background:linear-gradient(180deg,var(--qs-accent),var(--qs-accent-2))}.qs-kpi-val .qs-kpi-n{background:linear-gradient(90deg,var(--qs-accent),var(--qs-accent-2));-webkit-background-clip:text;background-clip:text;color:transparent}.qs-kpi-soon:before{background:var(--qs-accent-2)}.qs-kpi-soon .qs-kpi-n{color:var(--qs-accent-2)}.qs-kpi-flag:before{background:#ff6b6b}.qs-kpi-flag .qs-kpi-n{color:#ff6b6b;text-shadow:0 0 16px rgba(255,107,107,.4)}.qs-kpi-mute{opacity:.7}.qs-controls{display:flex;align-items:center;justify-content:space-between;gap:14px;border-bottom:1px solid rgba(255,255,255,.08);margin-bottom:20px;flex-wrap:wrap}.qs-controls .qs-tabs{border-bottom:none;margin-bottom:0}.qs-filters{display:flex;gap:8px;align-items:center;padding-bottom:6px}.qs-search,.qs-sortsel{background:var(--qs-panel-2);border:1px solid var(--qs-bd);border-radius:7px;color:var(--qs-text);font-family:var(--qs-mono);font-size:12px;padding:7px 10px}.qs-search{min-width:200px}.qs-search:focus,.qs-sortsel:focus{outline:none;border-color:var(--qs-accent)}.qs-search::placeholder{color:var(--qs-text-faint)}.qs-grid>.qs-job{animation:cardIn .3s ease both}@keyframes cardIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.qs-job-flag{box-shadow:inset 3px 0 0 #ff6b6b}.qs-due-chip{font-family:var(--qs-mono);font-size:8px;letter-spacing:1px;text-transform:uppercase;padding:3px 7px;border-radius:10px;border:1px solid}.qs-due-ok{color:var(--qs-steel);border-color:var(--qs-bd2)}.qs-due-soon{color:var(--qs-accent-2);border-color:rgba(242,169,74,.5);background:rgba(242,169,74,.1)}.qs-due-urgent{color:#ff6b6b;border-color:rgba(255,107,107,.5);background:rgba(255,107,107,.1)}.qs-wage-badge{font-family:var(--qs-mono);font-size:8px;letter-spacing:1px;text-transform:uppercase;padding:3px 7px;border-radius:10px;color:#ff6b6b;background:rgba(255,107,107,.12);border:1px solid rgba(255,107,107,.45)}.qs-meter-wrap{margin:12px 0}.qs-meter-top{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:5px}.qs-meter-lbl{font-family:var(--qs-mono);font-size:9px;letter-spacing:1px;text-transform:uppercase;color:var(--qs-text-faint)}.qs-meter-pct{font-family:var(--qs-hd);font-size:14px;font-weight:700;color:var(--qs-accent-2)}.qs-meter{height:6px;background:rgba(255,255,255,.07);border-radius:4px;overflow:hidden}.qs-meter-fill{height:100%;border-radius:4px;background:linear-gradient(90deg,var(--qs-accent),var(--qs-accent-2));box-shadow:0 0 10px rgba(237,148,33,.5);transition:width .5s cubic-bezier(.2,.8,.2,1)}.qs-meter-steps{display:flex;flex-wrap:wrap;gap:8px;margin-top:7px}.qs-mstep{font-family:var(--qs-mono);font-size:8px;letter-spacing:.5px;text-transform:uppercase;color:var(--qs-text-faint)}.qs-mstep.done{color:#5ed48a}.qs-job-foot{justify-content:space-between;gap:10px;margin-top:auto;padding-top:10px;border-top:1px solid rgba(255,255,255,.06)}.qs-job-foot,.qs-next{display:flex;align-items:center}.qs-next{gap:8px;min-width:0}.qs-next-lbl{font-family:var(--qs-mono);font-size:8px;letter-spacing:1px;text-transform:uppercase;color:var(--qs-bg);background:var(--qs-accent);padding:2px 6px;border-radius:4px;flex-shrink:0}.qs-next-txt{font-size:12px;color:var(--qs-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.qs-next.done .qs-next-lbl{background:#5ed48a}.qs-next.warn .qs-next-lbl{background:#ff6b6b;color:#fff}.qs-job-value{font-family:var(--qs-hd);font-size:15px;font-weight:700;color:var(--qs-accent-2);flex-shrink:0}.qs-modal-head-r{gap:10px}.qs-guide,.qs-modal-head-r{display:flex;align-items:center}.qs-guide{justify-content:space-between;gap:14px;padding:12px 22px;background:linear-gradient(90deg,rgba(237,148,33,.14),rgba(237,148,33,.03));border-bottom:1px solid var(--qs-bd);flex-wrap:wrap}.qs-guide.done{background:linear-gradient(90deg,rgba(94,212,138,.14),transparent)}.qs-guide.warn{background:linear-gradient(90deg,rgba(255,107,107,.16),transparent)}.qs-guide-l{display:flex;align-items:center;gap:10px;min-width:0}.qs-guide-tag{font-family:var(--qs-mono);font-size:9px;letter-spacing:1.5px;text-transform:uppercase;color:var(--qs-accent-2);flex-shrink:0}.qs-guide.warn .qs-guide-tag{color:#ff6b6b}.qs-guide.done .qs-guide-tag{color:#5ed48a}.qs-guide-txt{font-size:14px;color:var(--qs-text);font-weight:500}.qs-guide-r{display:flex;align-items:center;gap:10px}.qs-guide-meter{width:90px;height:5px;background:rgba(255,255,255,.1);border-radius:3px;overflow:hidden}.qs-guide-fill{height:100%;background:linear-gradient(90deg,var(--qs-accent),var(--qs-accent-2));transition:width .5s ease}.qs-guide-pct{font-family:var(--qs-mono);font-size:11px;color:var(--qs-text-dim)}.qs-tick{display:inline-block;margin-right:5px;color:#5ed48a;font-size:11px}.qs-tick.warn{color:#ff6b6b}.qs-empty{display:flex;flex-direction:column;align-items:center;gap:8px}.qs-empty-icon{font-size:40px;color:var(--qs-bd2)}.qs-empty-title{font-family:var(--qs-hd);font-size:18px;color:var(--qs-text)}.qs-empty-sub{font-size:13px;color:var(--qs-text-faint);margin-bottom:6px}.qs-modal-scrim{animation:scrimIn .18s ease both}.qs-modal{animation:modalIn .22s cubic-bezier(.2,.8,.2,1) both}@keyframes scrimIn{0%{opacity:0}to{opacity:1}}@keyframes modalIn{0%{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}.qs-toasts{position:fixed;bottom:22px;right:22px;display:flex;flex-direction:column;gap:8px;z-index:100}.qs-toast{display:flex;align-items:center;gap:9px;background:var(--qs-panel-2);border:1px solid var(--qs-bd2);border-left-width:3px;border-radius:8px;padding:11px 16px;font-size:13px;color:var(--qs-text);box-shadow:0 10px 30px rgba(0,0,0,.4);animation:toastIn .25s cubic-bezier(.2,.8,.2,1) both}@keyframes toastIn{0%{opacity:0;transform:translateX(20px)}to{opacity:1;transform:none}}.qs-toast-icon{font-weight:700}.qs-toast-ok{border-left-color:#5ed48a}.qs-toast-ok .qs-toast-icon{color:#5ed48a}.qs-toast-info{border-left-color:var(--qs-blue)}.qs-toast-info .qs-toast-icon{color:var(--qs-blue)}.qs-toast-warn{border-left-color:#ff6b6b}.qs-toast-warn .qs-toast-icon{color:#ff6b6b}.qs-sm{transition:all .14s}.qs-sm.qs-go:hover{transform:translateY(-1px);box-shadow:0 4px 14px rgba(237,148,33,.25)}@media (max-width:900px){.qs-kpis{grid-template-columns:repeat(3,1fr)}}@media (max-width:520px){.qs-kpis{grid-template-columns:repeat(2,1fr)}}.qs-team{font-size:11px;padding:7px 13px}.qs-task-chip{font-family:var(--qs-mono);font-size:8px;letter-spacing:1px;text-transform:uppercase;padding:3px 7px;border-radius:10px;color:var(--qs-blue);background:rgba(90,166,216,.12);border:1px solid rgba(90,166,216,.4)}.qs-task-add{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:14px}.qs-task-add input,.qs-task-add select{background:var(--qs-panel-2);border:1px solid var(--qs-bd);border-radius:6px;color:var(--qs-text);font-family:var(--qs-body);font-size:13px;padding:7px 9px}.qs-task-add input:first-child{flex:1 1;min-width:180px}.qs-task-add input:focus,.qs-task-add select:focus{outline:none;border-color:var(--qs-accent)}.qs-tasklist{display:flex;flex-direction:column;gap:6px}.qs-task{display:flex;align-items:center;gap:11px;background:var(--qs-panel-2);border:1px solid var(--qs-bd);border-radius:8px;padding:9px 12px}.qs-task.done{opacity:.6}.qs-task.done .qs-task-title{text-decoration:line-through}.qs-task-check{flex-shrink:0;width:20px;height:20px;border-radius:50%;border:2px solid var(--qs-bd2);background:none;color:var(--qs-bg);font-size:12px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.qs-task-check:hover{border-color:var(--qs-accent)}.qs-task-check.on{background:#5ed48a;border-color:#5ed48a}.qs-task-main{flex:1 1;min-width:0}.qs-task-title{font-size:13px;color:var(--qs-text)}.qs-task-sub{font-family:var(--qs-mono);font-size:9px;letter-spacing:.5px;text-transform:uppercase;color:var(--qs-text-faint);margin-top:3px;display:flex;gap:6px}.qs-task-overdue{color:#ff6b6b}.qs-task-assign,.qs-task-assignee{flex-shrink:0}.qs-task-assign{background:var(--qs-panel-3);border:1px solid var(--qs-bd2);border-radius:6px;color:var(--qs-text);padding:5px 8px;max-width:150px}.qs-task-assign,.qs-task-assignee{font-family:var(--qs-mono);font-size:11px}.qs-task-assignee{color:var(--qs-text-dim)}.qs-task-del{padding:5px 9px}.qs-task-sep{font-family:var(--qs-mono);font-size:9px;letter-spacing:1.5px;text-transform:uppercase;color:var(--qs-text-faint);margin:12px 0 4px}.qs-person-add{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid var(--qs-bd)}.qs-person-add input,.qs-person-add select{background:var(--qs-panel-2);border:1px solid var(--qs-bd);border-radius:6px;color:var(--qs-text);font-family:var(--qs-body);font-size:13px;padding:7px 9px}.qs-person-add input{flex:1 1;min-width:120px}.qs-person-add input:focus,.qs-person-add select:focus{outline:none;border-color:var(--qs-accent)}.qs-people{display:flex;flex-direction:column;gap:8px}.qs-person{gap:12px;background:var(--qs-panel-2);border:1px solid var(--qs-bd);border-radius:8px;padding:10px 12px}.qs-person,.qs-person-avatar{display:flex;align-items:center}.qs-person-avatar{flex-shrink:0;width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,var(--qs-accent),var(--qs-accent-2));color:var(--qs-bg);font-family:var(--qs-hd);font-weight:700;font-size:13px;justify-content:center}.qs-person-main{flex:1 1;min-width:0}.qs-person-name{font-size:14px;color:var(--qs-text);font-weight:500}.qs-person-sub{font-size:11px;color:var(--qs-text-faint);margin-top:2px}.qs-role-tag{font-family:var(--qs-mono);font-size:8px;letter-spacing:1px;text-transform:uppercase;padding:3px 8px;border-radius:10px;border:1px solid}.qs-role-admin{color:var(--qs-accent-2);border-color:rgba(242,169,74,.5);background:rgba(242,169,74,.1)}.qs-role-member{color:var(--qs-blue);border-color:rgba(90,166,216,.5);background:rgba(90,166,216,.1)}.qs-role-external{color:var(--qs-purple);border-color:rgba(168,136,236,.5);background:rgba(168,136,236,.1)}.qs-me{gap:10px}.qs-me,.qs-me-avatar{display:flex;align-items:center}.qs-me-avatar{width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,var(--qs-accent),var(--qs-accent-2));color:var(--qs-bg);font-family:var(--qs-hd);font-weight:700;font-size:12px;justify-content:center;flex-shrink:0}.qs-me-info{display:flex;flex-direction:column;gap:3px;line-height:1}.qs-me-name{font-size:12px;color:var(--qs-text)}.qs-logout{padding:5px 10px}.qs-kpi.active{border-color:var(--qs-accent);box-shadow:0 0 0 1px var(--qs-accent) inset}.qs-filter-chip{display:inline-flex;align-items:center;gap:10px;background:rgba(237,148,33,.12);border:1px solid rgba(237,148,33,.4);color:var(--qs-accent-2);padding:6px 12px;border-radius:20px;margin-bottom:14px}.qs-filter-chip,.qs-filter-chip button{font-family:var(--qs-mono);font-size:11px}.qs-filter-chip button{background:none;border:none;color:var(--qs-text-dim);cursor:pointer}.qs-filter-chip button:hover{color:var(--qs-accent-2)}.qs-job-price{display:flex;flex-direction:column;align-items:flex-end;flex-shrink:0}.qs-job-margin{font-family:var(--qs-mono);font-size:9px;letter-spacing:.5px;text-transform:uppercase;color:#5ed48a;margin-top:2px}.qs-new-pill{font-size:8px;font-weight:700;letter-spacing:1.5px;padding:3px 7px;border-radius:4px;color:var(--qs-bg);background:linear-gradient(90deg,var(--qs-accent),var(--qs-accent-2));flex-shrink:0}.qs-new-pill,.qs-stamp{font-family:var(--qs-mono)}.qs-stamp{font-size:9px;letter-spacing:.5px;text-transform:uppercase;color:var(--qs-text-faint);margin-top:8px}.qs-margin{margin-top:14px;border:1px solid var(--qs-bd);border-radius:10px;overflow:hidden}.qs-margin-row{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid rgba(255,255,255,.05);font-size:13px;color:var(--qs-text-dim)}.qs-margin-row:last-child{border-bottom:none}.qs-margin-row b{color:var(--qs-text);font-family:var(--qs-hd);font-size:15px}.qs-margin-sell{background:linear-gradient(90deg,rgba(237,148,33,.12),transparent)}.qs-margin-sell b{color:var(--qs-accent-2);font-size:18px}.qs-markup-edit{display:flex;align-items:center;gap:4px;color:var(--qs-text-dim)}.qs-markup-edit input{width:62px;background:var(--qs-panel-2);border:1px solid var(--qs-bd2);border-radius:6px;color:var(--qs-text);font-family:var(--qs-mono);font-size:14px;padding:5px 8px;text-align:right}.qs-markup-edit input:focus{outline:none;border-color:var(--qs-accent)}.qs-margin-ok{color:#5ed48a!important}.qs-margin-low{color:#ff6b6b!important}.qs-wagelist{display:flex;flex-direction:column;gap:7px;margin-top:8px}.qs-wagerow{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--qs-panel-2);border:1px solid var(--qs-bd);border-radius:8px;padding:10px 13px;flex-wrap:wrap}.qs-wagerow.flag{border-left:3px solid #ff6b6b}.qs-wagerow.resolved{border-left:3px solid #5ed48a;opacity:.85}.qs-wagerow-main{min-width:0}.qs-wagerow-cls{font-size:13px;color:var(--qs-text)}.qs-wagerow-rates{font-family:var(--qs-mono);font-size:10px;color:var(--qs-text-faint);margin-top:3px}.qs-wagerow-hrs{color:var(--qs-steel)}.qs-wagerow-right{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.qs-wagerow-impact{font-family:var(--qs-hd);font-size:16px;font-weight:700;color:#ff6b6b;display:flex;flex-direction:column;align-items:flex-end;line-height:1}.qs-wagerow-impact span{font-family:var(--qs-mono);font-size:8px;letter-spacing:1px;text-transform:uppercase;color:var(--qs-text-faint);font-weight:400;margin-top:3px}.qs-wagerow-actions{display:flex;gap:6px}.qs-wagerow-res{display:flex;align-items:center;gap:8px}.qs-res-tag{font-family:var(--qs-mono);font-size:9px;letter-spacing:.5px;text-transform:uppercase;color:#5ed48a}.qs-res-note{font-size:11px;color:var(--qs-text-dim);font-style:italic;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}