:root{--navy-900: #071a33;--navy-800: #0b2545;--navy-700: #13315c;--navy-600: #1d4373;--sky-400: #8ecae6;--sky-300: #b3dcef;--sky-100: #e7f4fa;--sky-50: #f3f9fc;--bg: #f4f6fa;--surface: #ffffff;--surface-2: #f8fafc;--border: #e2e8f0;--border-strong: #cbd5e1;--text: #0f1b2d;--text-2: #475569;--text-3: #64748b;--primary: var(--navy-800);--primary-hover: var(--navy-700);--accent: #2b8fc4;--success: #15803d;--success-bg: #e8f6ed;--warning: #a16207;--warning-bg: #fdf6e3;--danger: #b42318;--danger-bg: #fdecea;--radius: 10px;--radius-sm: 6px;--shadow-sm: 0 1px 2px rgba(15, 27, 45, .06);--shadow: 0 1px 3px rgba(15, 27, 45, .08), 0 4px 14px rgba(15, 27, 45, .05);--shadow-lg: 0 12px 40px rgba(7, 26, 51, .18);--font: "Segoe UI Variable Text", "Segoe UI", system-ui, -apple-system, Roboto, sans-serif;--mono: "Cascadia Mono", Consolas, ui-monospace, monospace}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{font-family:var(--font);font-size:14px;line-height:1.5;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}h1,h2,h3,h4{margin:0;line-height:1.25;letter-spacing:-.01em}h1{font-size:22px;font-weight:700}h2{font-size:17px;font-weight:650}h3{font-size:15px;font-weight:650}p{margin:0}small,.muted{color:var(--text-3)}button,a.btn{display:inline-block;text-decoration:none;font:inherit;font-weight:550;color:var(--navy-800);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:6px 12px;cursor:pointer;transition:background .12s,border-color .12s,box-shadow .12s,color .12s}button:hover:not(:disabled),a.btn:hover{background:var(--sky-50);border-color:var(--navy-600)}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button:disabled{opacity:.5;cursor:not-allowed}.btn-primary{color:#fff;background:var(--primary);border-color:var(--primary)}.btn-primary:hover:not(:disabled){background:var(--primary-hover);border-color:var(--primary-hover)}.btn-success{color:#fff;background:var(--success);border-color:var(--success)}.btn-success:hover:not(:disabled){background:#126b33;border-color:#126b33}.btn-ghost{background:transparent;border-color:transparent}.btn-ghost:hover:not(:disabled){background:var(--sky-50);border-color:transparent}.btn-danger-ghost{color:var(--danger);background:transparent;border-color:transparent;padding:2px 6px}.btn-danger-ghost:hover:not(:disabled){background:var(--danger-bg);border-color:transparent}.btn-sm{padding:3px 9px;font-size:12.5px}.btn-lg{padding:9px 18px;font-size:15px}input,select,textarea{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:7px 10px}input[type=checkbox]{width:16px;height:16px;accent-color:var(--navy-800);vertical-align:-3px}input:hover,select:hover,textarea:hover{border-color:var(--navy-600)}textarea{resize:vertical}label.field{display:grid;gap:4px;font-size:12.5px;font-weight:600;color:var(--text-2)}label.field input,label.field select,label.field textarea{width:100%;font-size:14px;font-weight:400}.app{display:grid;grid-template-columns:236px 1fr;min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:18px;padding:18px 14px;color:#dbe7f3;background:linear-gradient(180deg,var(--navy-800) 0%,var(--navy-900) 100%)}.brand{display:flex;align-items:center;gap:10px;padding:2px 6px 10px;border-bottom:1px solid rgba(255,255,255,.08)}.brand-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;font-weight:800;color:var(--navy-800);background:var(--sky-400)}.brand-name{font-weight:700;color:#fff;line-height:1.15}.brand-name small{display:block;font-weight:500;font-size:11.5px;color:var(--sky-300)}.nav{display:grid;gap:2px}.nav-item{display:flex;align-items:center;gap:10px;width:100%;padding:9px 10px;text-align:left;font-weight:550;color:#c7d6e6;background:transparent;border:0;border-radius:8px}.nav-item:hover:not(:disabled){color:#fff;background:#ffffff12;border:0}.nav-item.active{color:var(--navy-900);background:var(--sky-400)}.nav-item:disabled{opacity:.38}.nav-item svg{flex:0 0 auto}.job-chip{padding:10px 12px;border-radius:9px;background:#ffffff0f;border:1px solid rgba(255,255,255,.08)}.job-chip .label{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--sky-300)}.job-chip .name{font-weight:650;color:#fff;overflow-wrap:anywhere}.job-chip .meta{font-size:12px;color:#a9bdd2;overflow-wrap:anywhere}.sidebar-foot{margin-top:auto;display:grid;gap:8px;font-size:12px;color:#a9bdd2}.sidebar-foot button{color:#dbe7f3;background:transparent;border-color:#ffffff2e}.sidebar-foot button:hover:not(:disabled){background:#ffffff14;border-color:#ffffff4d}.main{min-width:0;padding:24px 28px 40px}.page-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:18px}.page-head .sub{margin-top:4px;color:var(--text-2)}.stack{display:grid;gap:16px}.row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.grid-2{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(300px,1fr);gap:16px;align-items:start}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:18px}.card-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.card-flush{padding:0;overflow:hidden}.banner{display:flex;gap:10px;align-items:flex-start;padding:10px 14px;border-radius:var(--radius-sm);border:1px solid;font-size:13.5px}.banner-error{color:var(--danger);background:var(--danger-bg);border-color:#f5c2bd}.banner-warn{color:var(--warning);background:var(--warning-bg);border-color:#f1dfa6}.banner-info{color:var(--navy-700);background:var(--sky-50);border-color:var(--sky-300)}.banner-success{color:var(--success);background:var(--success-bg);border-color:#b7e2c4}.badge{display:inline-flex;align-items:center;gap:4px;padding:1px 8px;font-size:11.5px;font-weight:650;border-radius:999px;white-space:nowrap;background:var(--surface-2);color:var(--text-2);border:1px solid var(--border)}.badge-div27{color:#1d4ed8;background:#eaf1fe;border-color:#c7d8fb}.badge-div28{color:#7e22ce;background:#f4ecfd;border-color:#dcc7f6}.badge-high{color:var(--success);background:var(--success-bg);border-color:#b7e2c4}.badge-medium{color:var(--warning);background:var(--warning-bg);border-color:#f1dfa6}.badge-low{color:var(--danger);background:var(--danger-bg);border-color:#f5c2bd}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.stat{padding:14px 16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.stat .k{font-size:12px;font-weight:600;color:var(--text-3);text-transform:uppercase;letter-spacing:.05em}.stat .v{margin-top:4px;font-size:22px;font-weight:700;font-variant-numeric:tabular-nums}.stat.hero{color:#fff;background:linear-gradient(135deg,var(--navy-800),var(--navy-600));border-color:var(--navy-800)}.stat.hero .k{color:var(--sky-300)}.table-wrap{overflow-x:auto}table.data{width:100%;border-collapse:collapse;font-size:13.5px}table.data th{position:sticky;top:0;padding:9px 12px;text-align:left;font-size:11.5px;font-weight:650;text-transform:uppercase;letter-spacing:.05em;color:var(--text-3);background:var(--surface-2);border-bottom:1px solid var(--border);white-space:nowrap}table.data td{padding:9px 12px;border-bottom:1px solid var(--border);vertical-align:top}table.data tbody tr:hover td{background:var(--sky-50)}table.data tr:last-child td{border-bottom:0}table.data .num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}table.data .total{font-weight:650}.list{list-style:none;margin:0;padding:0}.list-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-bottom:1px solid var(--border)}.list-item:last-child{border-bottom:0}.list-item.clickable{cursor:pointer}.list-item.clickable:hover{background:var(--sky-50)}.list-item.selected{background:var(--sky-100)}.bullets{margin:6px 0 0;padding-left:18px}.bullets li+li{margin-top:3px}.job-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.job-card{display:grid;gap:6px;width:100%;padding:16px;text-align:left;font-weight:400;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.job-card:hover:not(:disabled){background:var(--surface);border-color:var(--sky-400);box-shadow:var(--shadow)}.job-card .title{font-size:15px;font-weight:650}.job-card .meta{font-size:12.5px;color:var(--text-3)}.dropzone{display:grid;place-items:center;gap:6px;padding:34px 16px;text-align:center;border:2px dashed var(--sky-400);border-radius:var(--radius);background:var(--sky-50);cursor:pointer;transition:background .12s,border-color .12s}.dropzone:hover,.dropzone.over{border-color:var(--navy-700);background:var(--sky-100)}.dropzone .icon{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;color:var(--navy-800);background:#fff;box-shadow:var(--shadow-sm)}.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px}.step{display:flex;gap:10px;padding:12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2)}.step .n{display:grid;place-items:center;flex:0 0 26px;height:26px;border-radius:50%;font-weight:700;font-size:13px;color:#fff;background:var(--navy-800)}.toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:8px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.seg{display:inline-flex;padding:3px;gap:2px;background:var(--surface-2);border:1px solid var(--border);border-radius:8px}.seg button{border:0;background:transparent;padding:6px 12px;border-radius:6px}.seg button:hover:not(:disabled){border:0;background:#fff}.seg button.on{color:#fff;background:var(--navy-800)}.canvas-wrap{overflow:auto;height:calc(100vh - 210px);min-height:420px;border:1px solid var(--border);border-radius:var(--radius);background:linear-gradient(45deg,#eef1f5 25%,transparent 25%) 0 0 / 20px 20px,linear-gradient(-45deg,#eef1f5 25%,transparent 25%) 0 0 / 20px 20px,#f7f9fb}.swatch{flex:0 0 auto;width:12px;height:12px;border-radius:50%;box-shadow:0 0 0 2px #fff,0 0 0 3px var(--border-strong)}.signin{display:grid;place-items:center;min-height:100vh;padding:16px;background:radial-gradient(1000px 500px at 85% -10%,rgba(142,202,230,.35),transparent 60%),radial-gradient(700px 400px at -10% 110%,rgba(43,143,196,.25),transparent 60%),var(--navy-900)}.signin-card{display:grid;gap:14px;width:min(380px,100%);padding:30px;background:var(--surface);border-radius:14px;box-shadow:var(--shadow-lg)}@media (max-width: 860px){.app{grid-template-columns:1fr}.sidebar{position:static;height:auto;flex-direction:row;flex-wrap:wrap;align-items:center;gap:10px;padding:10px 12px}.brand{border:0;padding:0}.nav{display:flex;flex-wrap:wrap;gap:4px}.nav-item{width:auto;padding:7px 10px}.job-chip,.sidebar-foot{display:none}.main{padding:16px}.grid-2{grid-template-columns:1fr}}.bb{display:grid;gap:10px}.tb-sep{width:1px;height:24px;margin:0 4px;background:var(--border)}.bb-body{display:grid;grid-template-columns:150px minmax(0,1fr) 250px;gap:10px;align-items:stretch}.bb-panel{display:flex;flex-direction:column;min-height:0;max-height:calc(100vh - 230px);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);overflow:hidden}.bb-panel-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 12px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-2);background:var(--surface-2);border-bottom:1px solid var(--border)}.bb-panel .list{overflow-y:auto}.bb-markups-head{width:100%;border:0;border-radius:0;text-align:left}.bb-markups-head:hover:not(:disabled){border:0;background:var(--sky-50)}.bb-thumbs{display:grid;gap:10px;padding:10px;overflow-y:auto}.thumb{display:grid;gap:4px;justify-items:center;padding:6px;font-size:11.5px;font-weight:600;border:2px solid transparent;border-radius:8px;background:transparent}.thumb canvas{max-width:100%;height:auto!important;background:#fff;box-shadow:0 1px 4px #0f1b2d33}.thumb:hover:not(:disabled){background:var(--sky-50);border-color:transparent}.thumb.on{border-color:var(--accent);background:var(--sky-100)}.bb-center{display:grid;grid-template-rows:auto auto 1fr auto;min-width:0}.bb-center .canvas-wrap{height:calc(100vh - 290px)}.bb-status{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-top:6px;padding:4px 8px;font-size:12.5px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm)}@media (max-width: 1100px){.bb-body{grid-template-columns:minmax(0,1fr)}.bb-left{display:none}.bb-panel{max-height:none}}.login{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(380px,1fr);min-height:100vh;background:var(--surface)}.login-brand{position:relative;display:flex;flex-direction:column;gap:40px;padding:56px 64px 32px;color:#dbe7f3;overflow:hidden;background:radial-gradient(900px 520px at 100% 0%,rgba(142,202,230,.22),transparent 60%),radial-gradient(700px 480px at 0% 100%,rgba(43,143,196,.25),transparent 60%),linear-gradient(160deg,var(--navy-800) 0%,var(--navy-900) 70%)}.login-brand:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(142,202,230,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(142,202,230,.07) 1px,transparent 1px),linear-gradient(rgba(142,202,230,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(142,202,230,.035) 1px,transparent 1px);background-size:96px 96px,96px 96px,24px 24px,24px 24px;-webkit-mask-image:linear-gradient(180deg,#000000e6,#00000059);mask-image:linear-gradient(180deg,#000000e6,#00000059);pointer-events:none}.login-brand>*{position:relative}.login-logo{width:210px;height:auto;filter:drop-shadow(0 6px 18px rgba(0,0,0,.35))}.login-pitch h1{font-size:clamp(34px,4.2vw,52px);font-weight:800;line-height:1.05;letter-spacing:-.03em;color:#fff}.login-pitch h1 span{color:var(--sky-400)}.login-pitch p{max-width:460px;margin-top:14px;font-size:17px;color:#b9cde0}.login-features{display:grid;gap:14px;max-width:480px;margin:0;padding:0;list-style:none}.login-features li{display:flex;gap:14px;align-items:center;padding:12px 14px;border-radius:12px;background:#ffffff0a;border:1px solid rgba(142,202,230,.14);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.login-features strong{display:block;color:#fff}.login-features small{color:#a9bdd2}.login-feature-icon{display:grid;place-items:center;flex:0 0 40px;height:40px;border-radius:10px;color:var(--navy-900);background:linear-gradient(135deg,var(--sky-400),#5fb3dc)}.login-creds{margin-top:auto;font-size:12px;letter-spacing:.02em;color:#7f98b3}.login-panel{display:grid;place-items:center;padding:32px;background:var(--surface)}.login-form{display:grid;gap:18px;width:min(380px,100%)}.login-form h2{font-size:26px;font-weight:750;letter-spacing:-.02em}.login-form .muted{margin-top:4px}.login-form input{padding:11px 12px;font-size:15px}.login-password{position:relative;display:block}.login-password input{padding-right:44px}.login-password button{position:absolute;top:50%;right:6px;transform:translateY(-50%);color:var(--text-3)}.login-submit{padding:12px 18px;font-size:15.5px;background:linear-gradient(135deg,var(--navy-800),var(--navy-600));box-shadow:0 6px 18px #0b254540}.login-submit:hover:not(:disabled){background:linear-gradient(135deg,var(--navy-700),var(--navy-600))}.login-note{display:flex;gap:6px;align-items:flex-start;font-size:12.5px;color:var(--text-3)}.login-note svg{flex:0 0 auto;margin-top:2px;color:var(--success)}@media (max-width: 900px){.login{grid-template-columns:1fr}.login-brand{gap:22px;padding:28px 20px 24px}.login-logo{width:150px}.login-features,.login-creds{display:none}.login-pitch h1{font-size:32px}.login-pitch p{font-size:15px}.login-panel{padding:28px 16px 40px;place-items:start center}}.spinner{display:inline-block;flex:0 0 auto;width:14px;height:14px;margin-top:2px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}.photo-tile{position:relative;aspect-ratio:1;padding:0;border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden;background:var(--surface-2);cursor:zoom-in}.photo-tile img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .15s ease}.photo-tile:hover img{transform:scale(1.04)}.photo-tile.picked{outline:3px solid var(--accent);outline-offset:-3px}.photo-tile .pick{position:absolute;top:6px;left:6px;width:22px;height:22px;border-radius:50%;border:2px solid #fff;background:#071a3373;color:#fff;display:grid;place-items:center;font-size:13px;line-height:1}.photo-tile.picked .pick{background:var(--accent)}.photo-tile .cap{position:absolute;inset:auto 0 0 0;padding:14px 6px 4px;font-size:11px;color:#fff;background:linear-gradient(transparent,#071a33bf);text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-pick{display:flex;gap:12px;align-items:center;width:100%;padding:10px;text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer}.project-pick:hover{border-color:var(--accent);background:var(--sky-50)}.project-pick img,.project-pick .ph{width:56px;height:56px;border-radius:var(--radius-sm);object-fit:cover;background:var(--sky-100);flex:none}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:grid;grid-template-rows:auto 1fr auto;background:#071a33f0;color:#fff}.lightbox-bar{display:flex;gap:10px;align-items:center;padding:10px 16px;font-size:13px}.lightbox-bar a,.lightbox-bar button{color:#fff;background:#ffffff1f;border:1px solid rgba(255,255,255,.2);border-radius:var(--radius-sm);padding:5px 10px;text-decoration:none;font:inherit;cursor:pointer}.lightbox-stage{position:relative;display:grid;place-items:center;min-height:0;overflow:hidden;padding:0 56px}.lightbox-stage img{max-width:100%;max-height:calc(100vh - 120px);max-height:calc(100dvh - 120px);object-fit:contain;border-radius:4px}.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;border:none;background:#ffffff24;color:#fff;display:grid;place-items:center;cursor:pointer}.lightbox-nav.prev{left:8px}.lightbox-nav.next{right:8px}.lightbox-info{padding:10px 16px 16px;font-size:13px;color:#ffffffd9}@media (max-width: 640px){.photo-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}.lightbox-stage{padding:0 8px}}.cell-text{width:100%;min-width:220px;padding:3px 6px;font-weight:600;border:1px solid transparent;background:transparent}.cell-text:hover,.cell-text:focus{border-color:var(--border-strong);background:var(--surface)}details>summary{cursor:pointer;font-weight:600;padding:8px 0}details.card:not([open]){display:block}.line-review-details{min-width:110px;max-width:250px}.line-review-details[open]{min-width:220px}.proposal-workspace{display:flex;flex-direction:column;gap:12px}.proposal-options-panel{border:1px solid var(--border);border-radius:10px;padding:8px 16px;background:#fff}.proposal-workspace>.card{width:100%}.bb:fullscreen{background:#f3f5fa;padding:16px;overflow:auto}.bb:fullscreen .canvas-wrap{height:calc(100vh - 280px)}@media (min-width: 850px){.bb:fullscreen .bb-body{grid-template-columns:110px minmax(0,1fr) 220px}.bb:fullscreen .bb-left{display:block}}.job-card-wrap{position:relative}.job-card-wrap .job-card{padding-right:40px}.job-card-delete{position:absolute;top:10px;right:8px;padding:6px;opacity:.55}.job-card-wrap:hover .job-card-delete,.job-card-delete:focus-visible{opacity:1}@media (hover: none){.job-card-delete{opacity:1}}.job-card-confirm{border-color:var(--danger);background:var(--danger-bg)}.btn-danger{color:#fff;background:var(--danger);border-color:var(--danger)}.btn-danger:hover:not(:disabled){background:#912018;border-color:#912018}.data tr.row-selected td{background:#fff4d6}.bb-notice{display:inline-flex;align-items:center;gap:4px;color:var(--success, #1f7a3a);font-weight:600}.bb-selected{padding:10px;border:1px solid #f5c26b;border-radius:var(--radius-sm);background:#fffaf0}.bb-stage{position:relative;min-width:0}.bb-float{position:absolute;top:10px;left:50%;transform:translate(-50%);z-index:5;display:flex;flex-direction:column;align-items:center;gap:6px;max-width:calc(100% - 24px);pointer-events:none}.bb-float>*{pointer-events:auto}.bb-float-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 12px;font-size:13px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.bb-float-bar label{display:inline-flex;align-items:center;gap:6px}.bb-float-sel{border-color:#f5c26b;background:#fffaf0}.bb-selected label,.bb-right form label{display:flex;flex-direction:column;gap:3px}.bb-selected input:not([type=color]),.bb-selected select,.bb-selected textarea,.bb-right form input:not([type=color]),.bb-right form select{width:100%;min-width:0;box-sizing:border-box}.lock-on{font-weight:600;color:#fff;background:var(--accent, #2563eb);border-radius:999px;padding:2px 10px}.stat-sub{display:block;margin-top:2px;font-size:11.5px;color:var(--text-3)}.stat.hero .stat-sub{color:var(--sky-300)}.stat-alert{border-color:#f5c26b;background:var(--warning-bg)}.job-card-wrap-bid .job-card{border-bottom-left-radius:0;border-bottom-right-radius:0}.bid-bar{display:flex;gap:8px;padding:8px 12px 10px;background:var(--surface-2);border:1px solid var(--border);border-top:0;border-radius:0 0 var(--radius) var(--radius)}.bid-field{display:flex;flex-direction:column;gap:2px;flex:1 1 0;min-width:0;font-size:11px;font-weight:600;color:var(--text-3)}.bid-field select,.bid-field input{width:100%;min-width:0;padding:3px 6px;font-size:12.5px}.job-amount{margin-left:auto;font-weight:650;font-variant-numeric:tabular-nums;color:var(--navy-800)}.job-due{font-weight:600;color:var(--text-2)}.job-due.overdue{color:var(--danger)}.bid-drafting{color:var(--text-2)}.bid-submitted{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}.bid-won{color:var(--success);background:var(--success-bg);border-color:#b7e2c4}.bid-lost{color:var(--danger);background:var(--danger-bg);border-color:#f5c2bd}.bid-no_bid{color:var(--text-3);text-decoration:line-through}.alt-card{border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px 14px;background:var(--surface)}.alt-card+.alt-card{margin-top:10px}.alt-head{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end}.alt-price{margin-left:auto;font-size:16px;font-weight:700;font-variant-numeric:tabular-nums}.alt-price.deduct{color:var(--success)}.alt-select{display:block;margin-top:4px;max-width:220px;padding:2px 6px;font-size:11.5px;color:var(--text-2)}.co-delta{font-weight:700;font-variant-numeric:tabular-nums}.co-delta.up{color:var(--danger)}.co-delta.down{color:var(--success)}.co-status-issued{color:var(--warning);background:var(--warning-bg);border-color:#f5d79b}.co-status-approved{color:var(--success);background:var(--success-bg);border-color:#b7e2c4}.co-status-rejected{color:var(--text-3)}.qbo-preview td,.qbo-preview th{font-size:12.5px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:center;padding:16px;background:#071a3373}.modal{width:min(860px,100%);max-height:calc(100vh - 32px);overflow:auto;padding:20px 22px;background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow-lg)}.money-cell{display:inline-flex;align-items:center;gap:2px;color:var(--text-3)}.money-cell input{width:92px;padding:3px 6px;text-align:right}.sidebar{background:radial-gradient(120% 60% at 0% 0%,#8ecae629,#8ecae600 60%),linear-gradient(180deg,var(--navy-800) 0%,var(--navy-900) 100%)}.brand{flex-direction:column;align-items:flex-start;gap:12px;padding:4px 8px 16px}.brand-logo{display:block;width:128px;height:auto;filter:drop-shadow(0 6px 18px rgba(0,0,0,.35))}.brand-app{display:grid;gap:2px}.brand-app-name{font-size:24px;font-weight:800;line-height:1;letter-spacing:-.02em;color:#fff;background:linear-gradient(90deg,#ffffff 0%,var(--sky-400) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.brand-app-tag{font-size:10.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--sky-300);opacity:.85}.nav-item{transition:background .15s ease,color .15s ease,box-shadow .15s ease}.nav-item.active{color:var(--navy-900);background:linear-gradient(90deg,var(--sky-400) 0%,#c3e6f5 100%);box-shadow:0 6px 16px #8ecae640}.page-head h1{letter-spacing:-.015em}.file-button{position:relative;display:inline-block;padding:6px 12px;font-weight:550;border:1px solid var(--primary);border-radius:var(--radius-sm);cursor:pointer}.file-button input[type=file]{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;opacity:0;cursor:pointer}.file-button.disabled{opacity:.6;pointer-events:none}.file-button:focus-within{outline:2px solid var(--accent);outline-offset:2px}tr.clickable{cursor:pointer}tr.clickable:hover td{background:var(--sky-50)}.div-select{padding:1px 4px;font-size:11.5px;font-weight:650;border-radius:999px;border:1px solid var(--border)}.each-cell{display:flex;justify-content:flex-end;align-items:center;gap:2px;margin-top:3px;font-size:11.5px;color:var(--text-3);white-space:nowrap}.each-cell input{width:72px;padding:1px 4px;font-size:12px;text-align:right}.each-cell input.set{border-color:var(--accent);background:var(--sky-50);font-weight:650}.nav-badge{margin-left:auto;min-width:20px;padding:0 6px;font-size:11.5px;font-weight:700;line-height:20px;text-align:center;color:#fff;background:var(--danger);border-radius:999px}.invites{border-color:#f0c46c;background:linear-gradient(180deg,#fffaf0 0%,var(--surface) 60%)}.invite-list{display:grid;gap:8px}.invite{display:flex;gap:12px;justify-content:space-between;align-items:flex-start;padding:10px 12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm)}.invite .title{font-weight:650}.invite .meta{font-size:12.5px;color:var(--text-3)}.invite-actions{display:flex;flex-direction:column;gap:6px;flex:0 0 auto}.job-due.soon{color:var(--warning)}.badge-assigned{color:var(--text-2)}.badge-assigned.mine{color:#b45309;background:#fff4e5;border-color:#f7d6a8}.bid-bar{flex-wrap:wrap}.bid-bar .bid-field{flex-basis:110px}.review-notes{padding:10px 16px}.review-notes.has-open{border-left:4px solid #d97706}.review-notes-head{display:flex;justify-content:space-between;align-items:center;width:100%;padding:0;background:none;border:0;box-shadow:none;color:inherit;cursor:pointer;text-align:left}.badge-notes{color:#b45309;background:#fff4e5;border-color:#f7d6a8}.note{display:flex;flex-direction:column;gap:6px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface)}.note.fixed{margin-top:8px;opacity:.8}.note-meta{font-size:12px;color:var(--text-3)}.note-body{white-space:pre-wrap;overflow-wrap:anywhere}.note-reply{font-size:13px;color:var(--text-2);white-space:pre-wrap}.note-add{display:flex;flex-direction:column;gap:6px}.note-add textarea{width:100%;resize:vertical}.login-link{align-self:center;font-weight:600;color:var(--accent)}
