@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.mshell{--m-navy: #1a3a5c;--m-navy-deep: #10263e;--m-navy-tint: #eaf0f7;--m-orange: #f57c00;--m-orange-deep: #d96c00;--m-orange-tint: #fff1e2;--m-bg: #f4f6f9;--m-surface: #ffffff;--m-text: #17202b;--m-muted: #66748a;--m-line: #e8ecf1;--m-green: #178a50;--m-green-tint: #e2f5ea;--m-red: #d92d20;--m-red-tint: #fee4e2;--m-amber: #b54708;--m-amber-tint: #fef0c7;--m-blue: #175cd3;--m-blue-tint: #e3edfd;--m-purple: #6941c6;--m-purple-tint: #ece9fe;--m-radius: 16px;--m-radius-sm: 10px;--m-shadow: 0 1px 2px rgba(16, 24, 40, .05), 0 2px 6px rgba(16, 24, 40, .05);--m-shadow-up: 0 -4px 16px rgba(16, 24, 40, .07);min-height:100dvh;display:flex;flex-direction:column;background:var(--m-bg);font-family:Inter Variable,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:15px;line-height:1.45;color:var(--m-text);letter-spacing:-.01em;-webkit-tap-highlight-color:transparent;-webkit-font-smoothing:antialiased}.mshell *{box-sizing:border-box}.m-topbar{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:10px;background:var(--m-navy);background:linear-gradient(180deg,var(--m-navy) 0%,#16334f 100%);color:#fff;padding:12px 16px;padding-top:calc(12px + env(safe-area-inset-top))}.m-logo{height:24px;width:auto}.m-topbar-title{font-weight:650;font-size:16px;letter-spacing:-.02em;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.m-mode-toggle{display:flex;background:#ffffff1f;border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:2px}.m-mode-toggle button{display:flex;align-items:center;justify-content:center;width:32px;height:26px;border:0;border-radius:999px;background:transparent;color:#ffffffa6;cursor:pointer;transition:background .15s ease,color .15s ease}.m-mode-toggle button.on{background:var(--m-orange);color:#fff}.m-topbar-user{width:30px;height:30px;border-radius:50%;background:#ffffff24;border:1px solid rgba(255,255,255,.22);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:650;letter-spacing:.02em}.m-preview-bar{position:sticky;top:calc(50px + env(safe-area-inset-top));z-index:49;display:flex;align-items:center;justify-content:center;gap:12px;background:var(--m-purple);color:#fff;font-size:12.5px;font-weight:620;padding:7px 14px}.m-preview-bar button{border:1px solid rgba(255,255,255,.5);background:#ffffff1f;color:#fff;font-family:inherit;font-size:12px;font-weight:650;border-radius:999px;padding:3px 11px;cursor:pointer}.m-page{flex:1;padding:16px 16px calc(96px + env(safe-area-inset-bottom));max-width:720px;width:100%;margin:0 auto}.m-tabbar{position:fixed;bottom:0;left:0;right:0;z-index:50;display:flex;background:#ffffffeb;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--m-line);padding-bottom:env(safe-area-inset-bottom);box-shadow:var(--m-shadow-up)}.m-tab{flex:1;display:flex;flex-direction:column;align-items:center;gap:5px;padding:11px 0 9px;min-height:66px;text-decoration:none;color:#8a94a6;font-size:12px;font-weight:550;letter-spacing:0;transition:color .15s ease}.m-tab-icon{display:flex}.m-tab-icon svg{transition:transform .15s ease}.m-tab:active .m-tab-icon svg{transform:scale(.88)}.m-tab-active{color:var(--m-orange)}.m-tab-label{line-height:1}.m-card{background:var(--m-surface);border:0;border-radius:var(--m-radius);box-shadow:var(--m-shadow);padding:14px 16px;margin-bottom:10px}.m-empty{color:var(--m-muted);text-align:center;padding:32px 16px;font-size:14px}.m-tilegrid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px}.m-tile{display:flex;flex-direction:column;align-items:flex-start;gap:10px;background:var(--m-surface);border:0;border-radius:var(--m-radius);box-shadow:var(--m-shadow);padding:14px;min-height:96px;text-decoration:none;color:var(--m-text);font-weight:620;font-size:13.5px;line-height:1.25;letter-spacing:-.01em;transition:transform .12s ease,box-shadow .12s ease}.m-tile:active{transform:scale(.97)}.m-tile-icon{width:38px;height:38px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:var(--m-navy-tint);color:var(--m-navy)}.m-tile:nth-child(4n+2) .m-tile-icon{background:var(--m-orange-tint);color:var(--m-orange-deep)}.m-tile:nth-child(4n+3) .m-tile-icon{background:var(--m-green-tint);color:var(--m-green)}.m-tile:nth-child(4n) .m-tile-icon{background:var(--m-purple-tint);color:var(--m-purple)}.m-tile-sub{font-weight:450;font-size:12px;color:var(--m-muted);margin-top:-6px}.m-h{font-size:12px;font-weight:680;text-transform:uppercase;letter-spacing:.07em;color:var(--m-muted);margin:20px 2px 10px}.m-h:first-child{margin-top:2px}.m-input,.m-select,.m-textarea{width:100%;font-size:16px;font-family:inherit;color:var(--m-text);padding:12px 14px;border:1.5px solid var(--m-line);border-radius:12px;background:var(--m-surface);transition:border-color .15s ease,box-shadow .15s ease;-webkit-appearance:none;-moz-appearance:none;appearance:none}.m-select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2366748a' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:38px}.m-input:focus,.m-select:focus,.m-textarea:focus{outline:none;border-color:var(--m-orange);box-shadow:0 0 0 3px #f57c0024}.m-input::placeholder,.m-textarea::placeholder{color:#9aa5b5}.m-textarea{min-height:84px;resize:vertical}.m-search{margin-bottom:12px}.m-qty-input{padding-left:8px;padding-right:8px;text-align:center}.m-unit-select{padding-left:8px;padding-right:20px;background-position:right 4px center}.m-row{display:flex;align-items:center;gap:12px;background:var(--m-surface);border:0;border-radius:var(--m-radius);box-shadow:var(--m-shadow);padding:13px 15px;margin-bottom:8px;text-decoration:none;color:var(--m-text);min-height:52px;width:100%;text-align:left;font-family:inherit;font-size:15px;cursor:pointer;transition:transform .12s ease}.m-row:active{transform:scale(.98)}.m-row-main{flex:1;min-width:0}.m-row-title{font-weight:620;font-size:14.5px;letter-spacing:-.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.m-row-sub{font-size:12.5px;color:var(--m-muted);margin-top:2px}.m-mix-spec{font-size:12.5px;font-weight:700;color:#d97706;margin-top:2px}.m-spec-block{margin-top:8px}.m-spec-label{font-size:10.5px;font-weight:700;color:var(--m-muted);text-transform:uppercase;letter-spacing:.4px}.m-row-chev{color:#b6bfcc;display:flex;flex-shrink:0}.m-row-dim{opacity:.55}.m-row-icon{width:36px;height:36px;border-radius:11px;display:flex;align-items:center;justify-content:center;background:var(--m-navy-tint);color:var(--m-navy);flex-shrink:0}.m-pill{display:inline-block;font-size:11px;font-weight:620;letter-spacing:0;padding:3px 10px;border-radius:999px;white-space:nowrap;background:#eef1f5;color:#4a5568}.m-pill-green{background:var(--m-green-tint);color:var(--m-green)}.m-pill-blue{background:var(--m-blue-tint);color:var(--m-blue)}.m-pill-amber{background:var(--m-amber-tint);color:var(--m-amber)}.m-pill-red{background:var(--m-red-tint);color:var(--m-red)}.m-pill-purple{background:var(--m-purple-tint);color:var(--m-purple)}.m-pill-navy{background:var(--m-navy-tint);color:var(--m-navy)}.m-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;font-size:14.5px;font-weight:620;font-family:inherit;letter-spacing:-.01em;padding:12px 18px;border-radius:12px;border:1.5px solid var(--m-line);background:var(--m-surface);color:var(--m-text);cursor:pointer;min-height:46px;transition:transform .12s ease,background .15s ease,border-color .15s ease}.m-btn:active{transform:scale(.96)}.m-btn:disabled{opacity:.5}.m-btn-primary{background:var(--m-orange);background:linear-gradient(180deg,#ff8a12 0%,var(--m-orange) 100%);border-color:transparent;color:#fff;box-shadow:0 2px 6px #f57c0059}.m-btn-navy{background:var(--m-navy);border-color:transparent;color:#fff}.m-btn-block{width:100%}.m-btn.on{background:var(--m-orange-tint);border-color:var(--m-orange);color:var(--m-orange-deep)}.m-btn-sm{min-height:38px;padding:8px 13px;font-size:13px;border-radius:10px}.m-btnrow{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.m-field label.m-btn{display:inline-flex;margin-bottom:0;font-size:14.5px;font-weight:620;letter-spacing:-.01em;color:var(--m-text)}.m-field label.m-btn.m-btn-sm{font-size:13px}.m-field label.m-btn.m-btn-primary{color:#fff}.m-field label.m-check{display:flex;font-size:13.5px;font-weight:620;color:var(--m-navy);margin-bottom:0}.m-seg{display:flex;background:#e7ebf1;border-radius:13px;padding:4px;margin-bottom:14px}.m-seg button{flex:1;display:flex;align-items:center;justify-content:center;gap:7px;border:0;background:transparent;font-family:inherit;font-size:13.5px;font-weight:620;letter-spacing:-.01em;padding:9px 6px;border-radius:10px;color:var(--m-muted);cursor:pointer;min-height:40px;transition:background .15s ease,color .15s ease,box-shadow .15s ease}.m-seg button.on{background:var(--m-surface);color:var(--m-navy);box-shadow:0 1px 3px #1018281f}.m-task{border-left:4px solid #d4dbe4}.m-task-urgent{border-left-color:var(--m-red)}.m-task-due{font-size:11.5px;font-weight:650;padding:3px 9px;border-radius:7px;background:#eef1f5;color:#4a5568}.m-task-due-over{background:var(--m-red-tint);color:var(--m-red)}.m-task-due-today{background:var(--m-orange-tint);color:var(--m-orange-deep)}.m-task-head{display:flex;align-items:center;gap:7px;margin-bottom:7px;flex-wrap:wrap}.m-task-job{font-weight:650;font-size:14.5px;letter-spacing:-.01em}.m-task-item{margin:4px 0;font-size:14px}.m-task-list{font-size:13.5px;font-weight:560;color:var(--m-text);margin:0 0 8px;padding-left:20px}.m-task-list li{margin-bottom:3px;line-height:1.35}.m-task-list li::marker{color:var(--m-orange);font-weight:700}.m-task-mats{font-size:13px;color:#3d4a5c;margin:8px 0 4px;padding-left:18px}.m-task-mats li{margin-bottom:2px}.m-task-maps{display:inline-flex;align-items:center;gap:5px;font-size:13px;color:var(--m-orange-deep);text-decoration:none;font-weight:620;margin-top:2px}.m-detail-head{background:linear-gradient(150deg,var(--m-navy) 0%,var(--m-navy-deep) 100%);color:#fff;border-radius:var(--m-radius);box-shadow:var(--m-shadow);padding:18px 16px;margin-bottom:14px}.m-detail-head h2{margin:0 0 5px;font-size:18px;font-weight:680;letter-spacing:-.02em}.m-detail-head .m-detail-sub{font-size:13px;opacity:.82}.m-detail-head a{color:#ffb066;text-decoration:none;font-weight:600}.m-kv{display:flex;gap:8px;padding:6px 0;font-size:14px}.m-kv b{min-width:110px;color:var(--m-muted);font-weight:600}.m-calc-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.m-calc-grid label,.m-field label{display:block;font-size:11.5px;font-weight:640;letter-spacing:.01em;color:var(--m-muted);margin-bottom:5px}.m-field{margin-bottom:12px}.m-calc-total{background:linear-gradient(150deg,var(--m-navy) 0%,var(--m-navy-deep) 100%);color:#fff;border-radius:var(--m-radius);box-shadow:var(--m-shadow);padding:16px;margin-top:14px}.m-calc-total .big{font-size:26px;font-weight:760;letter-spacing:-.02em;color:#ffa64d}.m-calc-total .m-calc-line{display:flex;justify-content:space-between;align-items:baseline;padding:3px 0;font-size:13.5px}.m-calc-total .m-calc-line span:first-child{opacity:.75}.m-calc-sec{position:relative}.m-calc-sec .m-calc-x{position:absolute;top:10px;right:10px;background:#eef1f5;border:0;border-radius:8px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;color:var(--m-muted);cursor:pointer}.m-calc-secttl{font-weight:660;font-size:14px;margin-bottom:10px;color:var(--m-navy);letter-spacing:-.01em}.mshell input[type=range]{accent-color:var(--m-orange);height:28px}.m-agenda-day{font-size:12px;font-weight:680;text-transform:uppercase;letter-spacing:.06em;color:var(--m-muted);margin:16px 2px 8px}.m-event{border-left:4px solid var(--m-navy)}.m-event-concrete{border-left-color:var(--m-navy)}.m-event-material{border-left-color:var(--m-orange)}.m-event-equipment{border-left-color:var(--m-green)}.m-event-pcc{border-left-color:var(--m-purple)}.m-event-title{font-weight:650;font-size:14px;display:flex;align-items:center;gap:7px;letter-spacing:-.01em}.m-event-sub{font-size:13px;color:var(--m-muted);margin-top:3px}.m-cal-nav{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}.m-cal-nav .m-cal-title{flex:1;text-align:center;font-weight:680;font-size:15px;letter-spacing:-.01em}.m-cal-nav button{width:40px;height:40px;border:1.5px solid var(--m-line);border-radius:12px;background:var(--m-surface);color:var(--m-navy);display:flex;align-items:center;justify-content:center;cursor:pointer}.m-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;background:var(--m-surface);border-radius:var(--m-radius);box-shadow:var(--m-shadow);padding:10px 8px 8px;margin-bottom:12px}.m-cal-dow{font-size:10.5px;font-weight:680;color:var(--m-muted);text-align:center;text-transform:uppercase;letter-spacing:.04em;padding-bottom:4px}.m-cal-day{min-height:46px;border:0;border-radius:10px;background:transparent;font-family:inherit;font-size:13.5px;font-weight:560;color:var(--m-text);display:flex;flex-direction:column;align-items:center;padding:5px 0 4px;gap:4px;cursor:pointer}.m-cal-day.other{color:#c1c9d4}.m-cal-day.today{color:var(--m-orange-deep);font-weight:760}.m-cal-day.sel{background:var(--m-navy);color:#fff}.m-cal-dots{display:flex;gap:3px;flex-wrap:wrap;justify-content:center;max-width:34px;min-height:6px}.m-cal-dot{width:6px;height:6px;border-radius:50%;background:var(--m-navy)}.m-cal-dot-material{background:var(--m-orange)}.m-cal-dot-equipment{background:var(--m-green)}.m-cal-dot-pcc{background:var(--m-purple)}.m-cal-day.sel .m-cal-dot{background:#fff}.m-cal-legend{display:flex;gap:12px;flex-wrap:wrap;font-size:11.5px;color:var(--m-muted);margin:-4px 4px 12px}.m-cal-legend span{display:inline-flex;align-items:center;gap:5px}.m-cal-toolbar{display:flex;gap:8px;align-items:center;margin-bottom:12px}.m-cal-toolbar .m-seg{margin-bottom:0;flex:0 0 150px}.m-cal-toolbar .m-select{flex:1;padding-top:9px;padding-bottom:9px;font-size:14px}.m-suggest{position:relative}.m-suggest-menu{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:30;background:var(--m-surface);border-radius:12px;box-shadow:0 6px 20px #10182829;border:1px solid var(--m-line);overflow:hidden}.m-suggest-opt{display:block;width:100%;text-align:left;border:0;border-bottom:1px solid var(--m-line);background:transparent;font-family:inherit;font-size:14.5px;padding:11px 13px;color:var(--m-text);cursor:pointer}.m-suggest-opt:last-child{border-bottom:0}.m-suggest-opt:active{background:var(--m-navy-tint)}.m-wrap{white-space:normal;overflow:visible;text-overflow:clip;flex:1 1 0;min-width:0;overflow-wrap:anywhere}.m-notes{white-space:pre-wrap;font-size:14px;line-height:1.5;overflow-wrap:anywhere}.m-notes-clamp{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.m-notes-hint{display:inline-flex;align-items:center;gap:4px;color:var(--m-orange-deep);font-weight:600;margin-top:3px}.m-chip-eqp{display:inline-block;font-size:10px;font-weight:750;letter-spacing:.03em;background:var(--m-purple-tint);color:var(--m-purple);padding:1px 6px;border-radius:6px;margin-right:6px;vertical-align:middle}.m-viewonly{font-size:12.5px;color:var(--m-muted);background:var(--m-navy-tint);border-radius:10px;padding:8px 12px;margin-bottom:12px}.m-item-row{display:flex;gap:6px;margin-bottom:6px;align-items:center}.m-item-row .m-x{width:34px;height:46px;flex-shrink:0;border:0;background:transparent;color:var(--m-muted);display:flex;align-items:center;justify-content:center;cursor:pointer}.m-map{height:55dvh;border-radius:var(--m-radius);box-shadow:var(--m-shadow);z-index:0}.m-sup-brand{display:flex;align-items:center;gap:8px;font-weight:660;font-size:13.5px;color:var(--m-navy);margin:16px 2px 8px;letter-spacing:-.01em}.m-sup-dot{width:11px;height:11px;border-radius:50%;display:inline-block;box-shadow:inset 0 0 0 1px #00000026}.m-sup-actions{display:flex;gap:16px;margin-top:8px}.m-sup-actions a{display:inline-flex;align-items:center;gap:5px;font-size:13px;font-weight:620;color:var(--m-orange-deep);text-decoration:none}.mshell .leaflet-popup-content-wrapper{border-radius:12px;font-family:inherit}.m-train-dots{display:flex;gap:5px;justify-content:center;margin:12px 0;flex-wrap:wrap}.m-train-dot{width:7px;height:7px;border-radius:50%;background:#d5dbe4;transition:background .2s ease}.m-train-dot.on{background:var(--m-orange)}.m-train-body{white-space:pre-wrap;line-height:1.6;font-size:14.5px}.m-quiz-choice{display:block;width:100%;text-align:left;font-family:inherit;font-size:14.5px;font-weight:500;background:var(--m-surface);border:1.5px solid var(--m-line);border-radius:12px;padding:13px 15px;margin-bottom:8px;cursor:pointer;transition:border-color .15s ease,background .15s ease;color:var(--m-text)}.m-quiz-choice.correct{border-color:var(--m-green);background:var(--m-green-tint)}.m-quiz-choice.wrong{border-color:var(--m-red);background:var(--m-red-tint)}.m-progressbar{height:5px;border-radius:4px;background:#e7ebf1;overflow:hidden}.m-progressbar>div{height:100%;background:var(--m-orange);border-radius:4px;transition:width .3s ease}.login-switch{margin-top:16px;display:block}.login-field-title{font-weight:720;color:var(--navy);font-size:17px;margin:6px 0;letter-spacing:-.02em;font-family:Inter Variable,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.login-input{width:100%;box-sizing:border-box;font-size:18px;font-family:inherit;padding:13px 15px;border:1.5px solid #d7dde3;border-radius:12px;margin-top:10px;transition:border-color .15s ease,box-shadow .15s ease}.login-input:focus{outline:none;border-color:#f57c00;box-shadow:0 0 0 3px #f57c0024}.login-input-code{letter-spacing:8px;text-align:center;font-size:24px;font-weight:700}.login-error{color:#d92d20;font-size:13px;margin:8px 0 0}.btn-field-login{width:100%;margin-top:12px;background:linear-gradient(180deg,#ff8a12,#f57c00);color:#fff;border:0;border-radius:12px;font-size:16px;font-weight:700;padding:14px;cursor:pointer;font-family:inherit;box-shadow:0 2px 8px #f57c0059;transition:transform .12s ease}.btn-field-login:active{transform:scale(.98)}.btn-field-login:disabled{opacity:.6}.m-shotgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:8px}.m-shot{position:relative;aspect-ratio:3 / 4;border-radius:10px;overflow:hidden;background:var(--m-navy-tint);box-shadow:inset 0 0 0 1px var(--m-line)}.m-shot img{width:100%;height:100%;object-fit:cover;display:block}.m-shot-x{position:absolute;top:4px;right:4px;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border:0;border-radius:50%;background:#1018289e;color:#fff;cursor:pointer}.m-choice{display:grid;grid-template-columns:1fr 1fr;gap:8px}.m-choice button{display:flex;align-items:center;gap:8px;text-align:left;font-family:inherit;font-size:13.5px;font-weight:640;letter-spacing:-.01em;color:var(--m-navy);background:var(--m-surface);border:0;box-shadow:inset 0 0 0 1.5px var(--m-line);border-radius:12px;padding:10px 11px;min-height:52px;cursor:pointer;transition:box-shadow .15s ease,background .15s ease,transform .12s ease}.m-choice button:active{transform:scale(.98)}.m-choice button svg{flex-shrink:0;color:var(--m-muted)}.m-choice button em{display:block;font-style:normal;font-size:11px;font-weight:560;color:var(--m-muted)}.m-choice button.on{background:var(--m-orange-tint);box-shadow:inset 0 0 0 2px var(--m-orange)}.m-choice button.on svg{color:var(--m-orange)}.m-choice button.on em{color:var(--m-orange-deep)}.m-sent-ok{display:flex;align-items:center;gap:7px;margin:10px 0 0;padding:9px 11px;border-radius:10px;background:var(--m-green-tint);color:var(--m-green);font-size:13px;font-weight:620}.m-modal-job{margin:0 0 12px;padding:8px 11px;border-radius:10px;background:var(--m-navy-tint);color:var(--m-navy);font-size:13.5px;font-weight:680;letter-spacing:-.01em}.m-check{display:flex;align-items:center;gap:9px;margin:10px 0 0;font-size:13.5px;font-weight:620;letter-spacing:-.01em;color:var(--m-navy);cursor:pointer}.m-check input{width:21px;height:21px;flex-shrink:0;accent-color:var(--m-orange);margin:0}.m-trow{position:relative;background:#fff;border:1px solid var(--m-line);border-radius:12px;margin-bottom:8px;overflow:hidden}.m-trow-active{background:var(--m-green-tint);border-color:#8fd3b1}.m-trow-urgent{border-left:4px solid #dc2626}.m-swipe-back{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:flex-end;padding-right:14px;background:var(--m-green);color:#fff;font-size:12.5px;font-weight:700}.m-swipe-back.complete{background:var(--m-navy-deep)}.m-swipe-back.m-swipe-back-left{justify-content:flex-start;padding:0 0 0 14px}.m-swipe-back.m-swipe-del{background:var(--m-red)}.m-swipe-back.m-swipe-unstart{background:var(--m-amber)}.m-swipe-back span{display:inline-flex;align-items:center;gap:6px}.m-trow-shift{position:relative;background:inherit;transition:transform .18s ease}.m-trow-shift.live{transition:none}.m-trow-drag{border-color:var(--m-orange);box-shadow:0 10px 24px #10203638;transform:scale(1.01);position:relative;z-index:5}.m-trow-head{display:flex;align-items:center;gap:8px;padding:9px 10px;cursor:pointer;user-select:none;-webkit-user-select:none;touch-action:pan-y}.m-trow-grip{color:var(--m-muted);flex-shrink:0;display:flex;touch-action:none}.m-trow-main{flex:1;min-width:0}.m-trow-title{font-size:13.5px;font-weight:640;color:var(--m-navy);letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.m-trow-sub{font-size:11.5px;color:var(--m-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.m-trow-head .m-pill{flex-shrink:0}.m-trow-chev{color:var(--m-muted);flex-shrink:0;transition:transform .15s ease}.m-trow-chev.open{transform:rotate(180deg)}.m-trow-body{padding:9px 12px 11px;border-top:1px solid var(--m-line)}.m-trow-hint{font-size:11.5px;color:var(--m-muted);margin:-4px 0 10px}.m-seg-3 button{gap:5px;padding-left:4px;padding-right:4px;font-size:12px}.m-seg-stack{display:flex;flex-direction:column;align-items:center;line-height:1.15;min-width:0}.m-seg-stack em{font-style:normal;font-size:10px;opacity:.75;font-weight:500}.m-board-picks{display:flex;flex-direction:column;gap:7px}.m-board-pick{display:flex;align-items:center;gap:9px;padding:10px 12px;border:1.5px solid var(--m-line);border-radius:12px;background:var(--m-surface);font-size:14px;font-weight:560}.m-board-pick.on{border-color:var(--m-orange);background:var(--m-orange-tint)}.m-board-pick-has{opacity:.7}.m-board-pick input{width:18px;height:18px;accent-color:var(--m-orange);margin:0}.m-sheet{width:100%;max-width:420px;margin:auto auto 0;background:var(--m-surface);border-radius:18px 18px 0 0;padding:14px 16px calc(18px + env(safe-area-inset-bottom));box-shadow:var(--m-shadow-up)}.m-sheet-head{display:flex;align-items:center;justify-content:space-between;font-size:15px;margin-bottom:2px}.m-sheet-sub{font-size:12.5px;color:var(--m-muted);margin:0 0 12px}.m-sheet-note{font-size:12px;color:var(--m-muted);margin:10px 0 0}.m-sheet-actions{display:flex;gap:8px;margin-top:14px}.m-sheet-actions .m-btn{flex:1;justify-content:center}.m-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border:0;border-radius:8px;background:transparent;color:var(--m-muted)}.m-mix-id{font-weight:800;font-size:14.5px;color:var(--m-navy);letter-spacing:-.01em}.m-mix-dispatch{font-size:11.5px;font-weight:520;color:var(--m-muted)}.m-vendor-link{display:inline-flex;align-items:center;gap:5px;margin-top:2px;padding:0;background:none;border:none;font:inherit;font-size:13px;font-weight:620;color:var(--m-blue);cursor:pointer}.leaflet-pane,.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile-container,.leaflet-pane>svg,.leaflet-pane>canvas,.leaflet-zoom-box,.leaflet-image-layer,.leaflet-layer{position:absolute;left:0;top:0}.leaflet-container{overflow:hidden}.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::selection{background:transparent}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{width:1600px;height:1600px;-webkit-transform-origin:0 0}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-width:none!important;max-height:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer,.leaflet-container .leaflet-tile{max-width:none!important;max-height:none!important;width:auto;padding:0}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{-ms-touch-action:pan-x pan-y;touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{-ms-touch-action:pinch-zoom;touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{-ms-touch-action:none;touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:rgba(51,181,229,.4)}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{width:0;height:0;-moz-box-sizing:border-box;box-sizing:border-box;z-index:800}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{width:1px;height:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{position:relative;z-index:800;pointer-events:visiblePainted;pointer-events:auto}.leaflet-top,.leaflet-bottom{position:absolute;z-index:1000;pointer-events:none}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{float:left;clear:both}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;-webkit-transition:opacity .2s linear;-moz-transition:opacity .2s linear;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{-webkit-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{-webkit-transition:-webkit-transform .25s cubic-bezier(0,0,.25,1);-moz-transition:-moz-transform .25s cubic-bezier(0,0,.25,1);transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-zoom-anim .leaflet-tile,.leaflet-pan-anim .leaflet-tile{-webkit-transition:none;-moz-transition:none;transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-popup-pane,.leaflet-control{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-image-layer,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-marker-icon.leaflet-interactive,.leaflet-image-layer.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{background:#ddd;outline-offset:1px}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{border:2px dotted #38f;background:#ffffff80}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:12px;font-size:.75rem;line-height:1.5}.leaflet-bar{box-shadow:0 1px 5px #000000a6;border-radius:4px}.leaflet-bar a{background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;display:block;text-align:center;text-decoration:none;color:#000}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50% 50%;background-repeat:no-repeat;display:block}.leaflet-bar a:hover,.leaflet-bar a:focus{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-bottom:none}.leaflet-bar a.leaflet-disabled{cursor:default;background-color:#f4f4f4;color:#bbb}.leaflet-touch .leaflet-bar a{width:30px;height:30px;line-height:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{font:700 18px Lucida Console,Monaco,monospace;text-indent:1px}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{box-shadow:0 1px 5px #0006;background:#fff;border-radius:5px}.leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAQAAAADQ4RFAAACf0lEQVR4AY1UM3gkARTePdvdoTxXKc+qTl3aU5U6b2Kbkz3Gtq3Zw6ziLGNPzrYx7946Tr6/ee/XeCQ4D3ykPtL5tHno4n0d/h3+xfuWHGLX81cn7r0iTNzjr7LrlxCqPtkbTQEHeqOrTy4Yyt3VCi/IOB0v7rVC7q45Q3Gr5K6jt+3Gl5nCoDD4MtO+j96Wu8atmhGqcNGHObuf8OM/x3AMx38+4Z2sPqzCxRFK2aF2e5Jol56XTLyggAMTL56XOMoS1W4pOyjUcGGQdZxU6qRh7B9Zp+PfpOFlqt0zyDZckPi1ttmIp03jX8gyJ8a/PG2yutpS/Vol7peZIbZcKBAEEheEIAgFbDkz5H6Zrkm2hVWGiXKiF4Ycw0RWKdtC16Q7qe3X4iOMxruonzegJzWaXFrU9utOSsLUmrc0YjeWYjCW4PDMADElpJSSQ0vQvA1Tm6/JlKnqFs1EGyZiFCqnRZTEJJJiKRYzVYzJck2Rm6P4iH+cmSY0YzimYa8l0EtTODFWhcMIMVqdsI2uiTvKmTisIDHJ3od5GILVhBCarCfVRmo4uTjkhrhzkiBV7SsaqS+TzrzM1qpGGUFt28pIySQHR6h7F6KSwGWm97ay+Z+ZqMcEjEWebE7wxCSQwpkhJqoZA5ivCdZDjJepuJ9IQjGGUmuXJdBFUygxVqVsxFsLMbDe8ZbDYVCGKxs+W080max1hFCarCfV+C1KATwcnvE9gRRuMP2prdbWGowm1KB1y+zwMMENkM755cJ2yPDtqhTI6ED1M/82yIDtC/4j4BijjeObflpO9I9MwXTCsSX8jWAFeHr05WoLTJ5G8IQVS/7vwR6ohirYM7f6HzYpogfS3R2OAAAAAElFTkSuQmCC);width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAQAAABvcdNgAAAEsklEQVR4AWL4TydIhpZK1kpWOlg0w3ZXP6D2soBtG42jeI6ZmQTHzAxiTbSJsYLjO9HhP+WOmcuhciVnmHVQcJnp7DFvScowZorad/+V/fVzMdMT2g9Cv9guXGv/7pYOrXh2U+RRR3dSd9JRx6bIFc/ekqHI29JC6pJ5ZEh1yWkhkbcFeSjxgx3L2m1cb1C7bceyxA+CNjT/Ifff+/kDk2u/w/33/IeCMOSaWZ4glosqT3DNnNZQ7Cs58/3Ce5HL78iZH/vKVIaYlqzfdLu8Vi7dnvUbEza5Idt36tquZFldl6N5Z/POLof0XLK61mZCmJSWjVF9tEjUluu74IUXvgttuVIHE7YxSkaYhJZam7yiM9Pv82JYfl9nptxZaxMJE4YSPty+vF0+Y2up9d3wwijfjZbabqm/3bZ9ecKHsiGmRflnn1MW4pjHf9oLufyn2z3y1D6n8g8TZhxyzipLNPnAUpsOiuWimg52psrTZYnOWYNDTMuWBWa0tJb4rgq1UvmutpaYEbZlwU3CLJm/ayYjHW5/h7xWLn9Hh1vepDkyf7dE7MtT5LR4e7yYpHrkhOUpEfssBLq2pPhAqoSWKUkk7EDqkmK6RrCEzqDjhNDWNE+XSMvkJRDWlZTmCW0l0PHQGRZY5t1L83kT0Y3l2SItk5JAWHl2dCOBm+fPu3fo5/3v61RMCO9Jx2EEYYhb0rmNQMX/vm7gqOEJLcXTGw3CAuRNeyaPWwjR8PRqKQ1PDA/dpv+on9Shox52WFnx0KY8onHayrJzm87i5h9xGw/tfkev0jGsQizqezUKjk12hBMKJ4kbCqGPVNXudyyrShovGw5CgxsRICxF6aRmSjlBnHRzg7Gx8fKqEubI2rahQYdR1YgDIRQO7JvQyD52hoIQx0mxa0ODtW2Iozn1le2iIRdzwWewedyZzewidueOGqlsn1MvcnQpuVwLGG3/IR1hIKxCjelIDZ8ldqWz25jWAsnldEnK0Zxro19TGVb2ffIZEsIO89EIEDvKMPrzmBOQcKQ+rroye6NgRRxqR4U8EAkz0CL6uSGOm6KQCdWjvjRiSP1BPalCRS5iQYiEIvxuBMJEWgzSoHADcVMuN7IuqqTeyUPq22qFimFtxDyBBJEwNyt6TM88blFHao/6tWWhuuOM4SAK4EI4QmFHA+SEyWlp4EQoJ13cYGzMu7yszEIBOm2rVmHUNqwAIQabISNMRstmdhNWcFLsSm+0tjJH1MdRxO5Nx0WDMhCtgD6OKgZeljJqJKc9po8juskR9XN0Y1lZ3mWjLR9JCO1jRDMd0fpYC2VnvjBSEFg7wBENc0R9HFlb0xvF1+TBEpF68d+DHR6IOWVv2BECtxo46hOFUBd/APU57WIoEwJhIi2CdpyZX0m93BZicktMj1AS9dClteUFAUNUIEygRZCtik5zSxI9MubTBH1GOiHsiLJ3OCoSZkILa9PxiN0EbvhsAo8tdAf9Seepd36lGWHmtNANTv5Jd0z4QYyeo/UEJqxKRpg5LZx6btLPsOaEmdMyxYdlc8LMaJnikDlhclqmPiQnTEpLUIZEwkRagjYkEibQErwhkTAKCLQEbUgkzJQWc/0PstHHcfEdQ+UAAAAASUVORK5CYII=);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{width:44px;height:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{padding:6px 10px 6px 6px;color:#333;background:#fff}.leaflet-control-layers-scrollbar{overflow-y:scroll;overflow-x:hidden;padding-right:5px}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{display:block;font-size:13px;font-size:1.08333em}.leaflet-control-layers-separator{height:0;border-top:1px solid #ddd;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=)}.leaflet-container .leaflet-control-attribution{background:#fff;background:#fffc;margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{padding:0 5px;color:#333;line-height:1.4}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:hover,.leaflet-control-attribution a:focus{text-decoration:underline}.leaflet-attribution-flag{display:inline!important;vertical-align:baseline!important;width:1em;height:.6669em}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{border:2px solid #777;border-top:none;line-height:1.1;padding:2px 5px 1px;white-space:nowrap;-moz-box-sizing:border-box;box-sizing:border-box;background:#fffc;text-shadow:1px 1px #fff}.leaflet-control-scale-line:not(:first-child){border-top:2px solid #777;border-bottom:none;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{box-shadow:none}.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{border:2px solid rgba(0,0,0,.2);background-clip:padding-box}.leaflet-popup{position:absolute;text-align:center;margin-bottom:20px}.leaflet-popup-content-wrapper{padding:1px;text-align:left;border-radius:12px}.leaflet-popup-content{margin:13px 24px 13px 20px;line-height:1.3;font-size:13px;font-size:1.08333em;min-height:1px}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{width:40px;height:20px;position:absolute;left:50%;margin-top:-1px;margin-left:-20px;overflow:hidden;pointer-events:none}.leaflet-popup-tip{width:17px;height:17px;padding:1px;margin:-10px auto 0;pointer-events:auto;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#fff;color:#333;box-shadow:0 3px 14px #0006}.leaflet-container a.leaflet-popup-close-button{position:absolute;top:0;right:0;border:none;text-align:center;width:24px;height:24px;font:16px/24px Tahoma,Verdana,sans-serif;color:#757575;text-decoration:none;background:transparent}.leaflet-container a.leaflet-popup-close-button:hover,.leaflet-container a.leaflet-popup-close-button:focus{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{width:24px;margin:0 auto;-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";filter:progid:DXImageTransform.Microsoft.Matrix(M11=.70710678,M12=.70710678,M21=-.70710678,M22=.70710678)}.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{position:absolute;padding:6px;background-color:#fff;border:1px solid #fff;border-radius:3px;color:#222;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none;box-shadow:0 1px 3px #0006}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-top:before,.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{position:absolute;pointer-events:none;border:6px solid transparent;background:transparent;content:""}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{left:50%;margin-left:-6px}.leaflet-tooltip-top:before{bottom:0;margin-bottom:-12px;border-top-color:#fff}.leaflet-tooltip-bottom:before{top:0;margin-top:-12px;margin-left:-6px;border-bottom-color:#fff}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{top:50%;margin-top:-6px}.leaflet-tooltip-left:before{right:0;margin-right:-12px;border-left-color:#fff}.leaflet-tooltip-right:before{left:0;margin-left:-12px;border-right-color:#fff}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}:root{--navy: #1a3a5c;--navy-dark: #12293f;--orange: #f57c00;--bg: #f4f6f8;--border: #d7dde3;--text: #1f2937}*{box-sizing:border-box}body{margin:0;font-family:Arial,sans-serif;font-size:13px;color:var(--text);background:var(--bg)}.loading-screen{display:flex;align-items:center;justify-content:center;height:100vh;color:var(--navy)}.login-wrap{display:flex;align-items:center;justify-content:center;height:100vh;background:linear-gradient(160deg,#102030e0,#0a1622eb),url(/assets/login-hero-MFsA-oi6.jpg) center / cover no-repeat}.login-card{background:#fff;border-radius:10px;padding:40px 44px;width:340px;text-align:center;box-shadow:0 12px 40px #00000073;border-top:4px solid var(--orange)}.login-brand{display:flex;flex-direction:column;align-items:center;gap:8px;margin-bottom:28px}.login-logo{width:190px;max-width:100%}.login-brand-sub{font-size:11px;letter-spacing:6px;color:var(--orange);font-weight:700}.btn-ms{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:11px 16px;font-size:14px;font-family:inherit;border:1px solid var(--border);border-radius:6px;background:#fff;cursor:pointer}.btn-ms:hover{background:#f3f4f6}.login-hint{margin:16px 0 0;color:#6b7280;font-size:12px}.shell{display:flex;min-height:100vh}.sidebar{width:220px;flex-shrink:0;background:linear-gradient(180deg,var(--navy) 0%,var(--navy-dark) 100%);color:#fff;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.sidebar-brand{display:flex;flex-direction:column;align-items:center;gap:6px;padding:16px 18px 14px;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.12)}.sidebar-logo{width:128px;max-width:100%}.sidebar-brand-sub{color:var(--orange);font-size:10px;font-weight:700;letter-spacing:6px}.sidebar-nav{flex:1;overflow-y:auto;padding:10px 0}.nav-group{margin-bottom:2px}.nav-main{display:flex;align-items:center;gap:9px;padding:9px 18px;color:#ffffffe6;font-size:14px;font-weight:700;text-decoration:none;border-left:3px solid transparent}.nav-icon{display:inline-flex;flex-shrink:0}a.nav-main:hover{background:#ffffff12}.nav-main.active{border-left-color:var(--orange);background:#ffffff17}.nav-main.disabled{color:#ffffff59;cursor:default}.nav-children{padding:2px 0 6px}.nav-child{display:block;padding:5px 18px 5px 34px;color:#ffffffa6;font-size:12px;text-decoration:none;border-left:3px solid transparent}.nav-child:hover{color:#fff;background:#ffffff0f}.nav-child.active{color:var(--orange);font-weight:700}span.nav-child.disabled{color:#ffffff4d;cursor:default}span.nav-child.disabled:hover{background:none}.sidebar-user{padding:12px 18px;border-top:1px solid rgba(255,255,255,.12);display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px}.sidebar-user-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn-link{background:none;border:none;color:var(--orange);font-family:inherit;font-size:12px;cursor:pointer;padding:0}.main-pane{flex:1;padding:26px 28px;min-width:0}.notice{background:#fff7ed;border:1px solid var(--orange);border-radius:6px;padding:10px 14px}.topbar{display:flex;justify-content:center;margin:-10px 0 14px}.gsearch{position:relative;width:100%;max-width:440px}.gsearch-icon{position:absolute;left:11px;top:50%;transform:translateY(-50%);color:#8a97a5;pointer-events:none;display:inline-flex}.gsearch input{width:100%;padding:7px 14px 7px 31px;border:1px solid var(--border);border-radius:16px;font-family:inherit;font-size:12.5px;background:#fff;color:var(--text)}.gsearch input:focus{outline:none;border-color:var(--navy);box-shadow:0 0 0 3px #1a3a5c1f}.gsearch-menu{position:absolute;top:calc(100% + 5px);left:0;right:0;background:#fff;border:1px solid var(--border);border-radius:8px;box-shadow:0 12px 28px #0f1e2d2e;z-index:60;max-height:420px;overflow-y:auto;padding:4px}.gsearch-empty{padding:10px 12px;color:#8a97a5;font-size:12px}.gsearch-item{display:flex;align-items:center;gap:9px;width:100%;padding:6px 8px;background:none;border:none;border-radius:6px;font-family:inherit;text-align:left;cursor:pointer}.gsearch-item.active{background:#eef3f8}.gsearch-badge{flex-shrink:0;font-size:9px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;padding:2px 0;border-radius:9px;min-width:62px;text-align:center;background:#eef1f4;color:#4a5a68}.gsearch-badge-job{background:#e3f0e6;color:#1e6b34}.gsearch-badge-customer{background:#e5edf7;color:var(--navy)}.gsearch-badge-vendor{background:#f3e9f7;color:#6a3d85}.gsearch-badge-contact{background:#fdf0e0;color:#8a5200}.gsearch-badge-bid{background:#fdeaea;color:#9c2f2f}.gsearch-text{min-width:0;display:flex;flex-direction:column}.gsearch-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700;font-size:12.5px;color:var(--text)}.gsearch-sub{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#7b8794;font-size:11px}.page{max-width:none}.page-head.sticky{position:sticky;top:0;z-index:25;background:var(--bg);padding:12px 0;margin-top:-12px;box-shadow:0 6px 8px -6px #0f1e2d1f}.page-head{display:flex;align-items:center;gap:12px;margin-bottom:14px;flex-wrap:wrap}.subtabs{display:flex;gap:2px}.subtab{font-family:inherit;font-size:13px;padding:7px 14px;border:1px solid var(--border);background:#fff;cursor:pointer}.subtab:first-child{border-radius:6px 0 0 6px}.subtab:last-child{border-radius:0 6px 6px 0}.subtab.active{background:var(--navy);color:#fff;border-color:var(--navy)}.search{flex:1;min-width:180px;padding:7px 10px;font-family:inherit;font-size:13px;border:1px solid var(--border);border-radius:6px}.btn-primary{font-family:inherit;font-size:13px;padding:8px 16px;border:none;border-radius:6px;background:var(--orange);color:#fff;font-weight:700;cursor:pointer}.btn-danger{font-family:inherit;font-size:13px;padding:8px 14px;border:1px solid #dc2626;border-radius:6px;background:#fff;color:#dc2626;cursor:pointer}.table-wrap{background:#fff;border:1px solid var(--border);border-radius:8px;overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:13px}th{text-align:left;padding:9px 12px;background:#eef1f4;border-bottom:1px solid var(--border);white-space:nowrap}td{padding:8px 12px;border-bottom:1px solid #eceff2;max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}tbody tr{cursor:pointer}tbody tr:hover{background:#f5f8fb}.table-count{padding:8px 12px;margin:0;color:#6b7280;font-size:12px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f1e2d80;display:flex;align-items:center;justify-content:center;padding:20px;z-index:50}.modal{background:#fff;border-radius:10px;padding:22px 24px;width:640px;max-width:100%;max-height:90vh;overflow-y:auto;overflow-x:hidden}.modal h2{margin:0 0 16px;color:var(--navy);font-size:17px}.form-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px 16px}.form-grid label{display:flex;flex-direction:column;gap:4px;font-size:12px;min-width:0}.form-grid label>span{color:#4b5563;font-weight:700}.form-grid .span-2{grid-column:span 2}.form-grid input:not([type=checkbox]),.form-grid select,.form-grid textarea{font-family:inherit;font-size:13px;padding:7px 9px;border:1px solid var(--border);border-radius:6px;width:100%;box-sizing:border-box;min-width:0}.form-grid input[type=checkbox]{width:16px;height:16px}.modal-error{margin:14px 0 0;padding:9px 12px;background:#fdf1f1;border:1px solid #f0c8c8;border-radius:6px;color:#c62828;font-size:12.5px;font-weight:700}.modal-actions{display:flex;gap:10px;margin-top:18px}.modal-actions button{font-family:inherit;font-size:13px;padding:8px 16px;border:1px solid var(--border);border-radius:6px;background:#fff;cursor:pointer}.modal-actions .btn-primary{border:none;background:var(--orange);color:#fff}.modal-actions .btn-danger{border-color:#dc2626;color:#dc2626}.page-title{margin:0;color:var(--navy);font-size:19px}.org-table{background:#fff;border:1px solid var(--border);border-radius:8px;overflow:hidden}.unlinked-table{border-style:dashed}.org{border-bottom:1px solid #eceff2}.org:last-child{border-bottom:none}.org-row{display:grid;gap:10px;align-items:center;padding:9px 14px;cursor:pointer}.org-row:hover{background:#f5f8fb}.org-head{cursor:default;background:#eef1f4;border-bottom:1px solid var(--border);font-size:10px;text-transform:uppercase;letter-spacing:.8px;color:#5b6572;font-weight:700;padding-top:8px;padding-bottom:8px}.org-head:hover{background:#eef1f4}.table-freeze{position:sticky;top:0;z-index:20;background:var(--bg)}.table-freeze.below-toolbar{top:52px}.table-freeze .filter-bar{margin-bottom:10px}.org-table-head{border-radius:8px 8px 0 0;border-bottom:none}.org-table-head .org-head{border-bottom:none}.org-table-body{border-radius:0 0 8px 8px;border-top:none}.task-board{margin-bottom:22px}.task-board .section-label{margin-bottom:8px;display:flex;align-items:center;gap:12px}.task-board-person{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:400}.task-board-person select{font-size:12px;padding:2px 6px}.task-board-picks{display:flex;flex-wrap:wrap;gap:10px}.task-board-check{display:inline-flex;align-items:center;gap:5px;margin-right:14px;font-weight:400;white-space:nowrap}.task-board-check input{margin:0}.task-group-body{min-height:10px}.task-assign-wrap{position:relative;display:inline-flex}.task-assign-pop{position:absolute;bottom:calc(100% + 6px);left:0;z-index:30;min-width:210px;background:#fff;border:1px solid #dfe4ea;border-radius:10px;box-shadow:0 8px 24px #1020362e;padding:10px 12px;text-align:left}.task-assign-h{font-size:12px;font-weight:700;color:#1a3a5c;margin-bottom:6px}.task-assign-pop .task-board-check{display:flex;margin:0 0 4px}.task-assign-note{font-size:11px;color:#6b7280;margin:6px 0 8px}.task-assign-actions{display:flex;gap:6px;justify-content:flex-end}.ct-status{display:flex;align-items:center;gap:10px;font-size:12.5px;border:1px solid #dfe4ea;border-left:4px solid #b6bec7;border-radius:8px;padding:7px 12px;margin:0 0 12px;background:#fafbfc}.ct-status b{color:var(--navy)}.ct-status-ok{border-left-color:#2e7d32;background:#f2faf4}.ct-status-off{border-left-color:#c62828;background:#fdf3f2}.ct-status button{margin-left:auto}.ct-match-btn{display:block;margin:3px 0 0;font-size:10.5px;padding:2px 6px}.tasklines{display:flex;flex-direction:column;gap:2px}.tasklines-row{display:block;padding-left:9px;position:relative;line-height:1.35}.tasklines-row:before{content:"";position:absolute;left:0;top:.55em;width:4px;height:4px;border-radius:50%;background:#f57c00}.tasklines-row+.tasklines-row{border-top:1px dashed #e8ecf1;padding-top:2px}.taskline-row{display:flex;gap:6px;align-items:center;margin-bottom:4px}.taskline-row input{flex:1}.taskline-del{flex:0 0 auto;line-height:1;padding:4px 8px}.taskline-add{align-self:flex-start;margin-top:2px}.taskline-note{display:block;font-size:11px;color:#6b7280;margin-top:4px;font-weight:400}.task-group-head{background:#f8fafc;border-bottom:1px solid #eceff2;padding:6px 14px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--orange)}.task-horizon-note{color:#8a93a0;font-weight:400;text-transform:none;letter-spacing:0}.yn-toggle{font-family:inherit;font-size:11px;font-weight:700;padding:2px 10px;border:1px solid var(--border);border-radius:999px;background:#f3f4f6;color:#6b7280;cursor:pointer}.yn-toggle.yn-yes{background:#e7f6ec;border-color:#b3e0c2;color:#1e7d3e}.chev{color:var(--orange);font-size:12px;transition:transform .12s;width:12px}.chev.open{transform:rotate(90deg)}.org-cell{font-size:12.5px;color:#374151;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.org-cell.muted{color:#9aa3ad;font-style:italic}.org-name{font-weight:700;color:var(--navy)}.org-count{color:#6b7280;font-size:12px;white-space:nowrap;text-align:center}.btn-small{font-family:inherit;font-size:11px;padding:4px 10px;border:1px solid var(--border);border-radius:5px;background:#fff;cursor:pointer}.btn-small:hover{border-color:var(--navy)}.people{border-top:1px solid #eceff2;background:#fafbfc;padding:4px 0 8px}.person-row{display:grid;grid-template-columns:210px 160px minmax(180px,1fr) 150px 130px;gap:12px;align-items:center;padding:7px 14px 7px 36px;cursor:pointer;font-size:12.5px;border-bottom:1px solid #f1f4f7}.person-row.with-notes{grid-template-columns:210px 160px minmax(180px,1fr) 150px 130px minmax(160px,1.2fr)}.person-notes{color:#4b5563;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.person-notes:empty:before{content:"—";color:#c3c9d1}.org-cell.tier-dnw{color:#c62828;font-weight:700}.person-row:last-of-type{border-bottom:none}.person-row .chip{justify-self:end}.person-head{cursor:default;font-size:10px;text-transform:uppercase;letter-spacing:.8px;color:#8a93a0;font-weight:700;padding-top:8px;padding-bottom:4px;border-bottom:1px solid #e3e8ee}.person-head:hover{background:none}.person-head .chip-col{justify-self:end}.person-row:hover{background:#eef4fa}.person-name{font-weight:700}.kdm{color:var(--orange)}.person-title,.person-email{color:#4b5563;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.person-phone{color:#4b5563;white-space:nowrap}.chip{font-size:10px;background:#eef1f4;border-radius:10px;padding:2px 8px;color:#4b5563;white-space:nowrap}.btn-add-person{font-family:inherit;font-size:12px;margin:6px 14px 2px 36px;padding:5px 12px;border:1px dashed var(--border);border-radius:6px;background:none;color:var(--navy);cursor:pointer}.btn-add-person:hover{border-color:var(--orange);color:var(--orange)}.section-label{margin:18px 0 4px;font-size:12px;text-transform:uppercase;letter-spacing:1px;color:#6b7280}.num{text-align:right;font-variant-numeric:tabular-nums}.num.strong{font-weight:700;color:var(--navy)}.sheet-select{font-family:inherit;font-size:13px;padding:7px 10px;border:1px solid var(--border);border-radius:6px;min-width:240px}.badge-default{background:var(--orange);color:#fff;font-size:10px;font-weight:700;letter-spacing:1px;text-transform:uppercase;padding:4px 10px;border-radius:10px}.markup-note{color:#6b7280;font-size:12px}.markup-box{display:flex;align-items:center;gap:6px;font-size:12px;color:#4b5563;font-weight:700}.markup-box input{width:70px;font-family:inherit;font-size:13px;padding:6px 8px;border:1px solid var(--border);border-radius:6px}.group-row{background:#f8fafc}.page-wide{max-width:none}.table-scroll{overflow-x:auto;padding-bottom:4px}.muted-pct{color:#8a93a0;font-style:italic;font-size:11px}.page-wide .org-cell,.page-wide .person-row{font-size:12px}.page-wide .org-head{font-size:9.5px;letter-spacing:.5px}.menu-wrap{position:relative}.menu{position:absolute;top:calc(100% + 4px);right:0;background:#fff;border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 24px #0f1e2d26;z-index:40;min-width:210px;padding:4px}.menu-item{display:block;width:100%;text-align:left;font-family:inherit;font-size:13px;padding:8px 12px;border:none;background:none;border-radius:6px;cursor:pointer}.menu-item:hover{background:#f0f4f8}.menu-cols{max-height:60vh;overflow-y:auto;min-width:190px}.menu-check{display:flex;align-items:center;gap:8px;font-size:12.5px;padding:6px 12px;cursor:pointer;border-radius:6px}.menu-check:hover{background:#f0f4f8}.menu-reset{border-top:1px solid var(--border)!important;border-radius:0!important;margin-top:4px;color:#6b7280;font-size:12px}.links-btn{padding:3px 10px;font-size:11px}.links-list{display:flex;flex-direction:column;gap:2px}.links-list .menu-item{font-size:13px;text-decoration:none;color:var(--navy);font-weight:700}.links-list .menu-item:disabled{color:#b6bdc6;font-weight:400;cursor:default}.links-list .menu-item:disabled:hover{background:none}.links-list a.menu-item{display:block}.links-soon{font-size:9px;text-transform:uppercase;letter-spacing:1px;color:#9aa3ad;margin:8px 12px 2px;border-top:1px dashed var(--border);padding-top:8px}.export-hint{color:#6b7280;font-size:12px;margin:0 0 10px}.export-toolbar{display:flex;align-items:center;gap:8px;margin-bottom:10px}.export-list{max-height:48vh;overflow-y:auto;border:1px solid var(--border);border-radius:8px;padding:6px 0}.export-group{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:#6b7280;padding:8px 14px 4px}.export-item{display:flex;align-items:center;gap:10px;padding:5px 14px;font-size:13px;cursor:pointer}.export-item:hover{background:#f5f8fb}.export-item span:nth-child(2){flex:1}.export-rate{color:#6b7280;font-size:12px;font-variant-numeric:tabular-nums}.coi-y{color:#15803d;font-weight:700}.coi-n{color:#c62828;font-weight:700}.th-sort{font-family:inherit;font-size:10px;text-transform:uppercase;letter-spacing:.8px;color:#5b6572;font-weight:700;background:none;border:none;padding:0;text-align:left;cursor:pointer;white-space:nowrap;display:block;width:100%;overflow:hidden;text-overflow:ellipsis}.th-sort:hover{color:var(--navy)}.th-sort.sorted{color:var(--orange)}.th-sort.num{text-align:right}.filter-bar{background:#fff;border:1px solid var(--border);border-radius:8px;padding:10px 14px;margin-bottom:12px;display:flex;flex-direction:column;gap:8px}.filter-group{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.filter-label{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:#6b7280;font-weight:700;min-width:52px}.filter-group select{font-family:inherit;font-size:12.5px;padding:5px 8px;border:1px solid var(--border);border-radius:6px;max-width:220px}.chip-toggle{font-family:inherit;font-size:11px;padding:3px 11px;border-radius:11px;border:1px solid var(--border);background:#fff;color:#6b7280;cursor:pointer}.chip-toggle.on{background:var(--navy);border-color:var(--navy);color:#fff}.filters-on{border-color:var(--orange);color:var(--orange)}.btn-danger-outline{border-color:#dc2626!important;color:#dc2626!important}.form-section{margin:10px 0 0;font-size:11px;text-transform:uppercase;letter-spacing:1.2px;color:var(--orange);border-bottom:1px solid var(--border);padding-bottom:4px}.form-section:first-child{margin-top:0}.land-sub{color:#6b7280;margin:4px 0 18px}.land-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;max-width:900px}.land-card{display:block;background:#fff;border:1px solid var(--border);border-radius:10px;padding:16px 18px;text-decoration:none;color:inherit;transition:box-shadow .12s,border-color .12s}a.land-card:hover{border-color:var(--orange);box-shadow:0 6px 18px #0f1e2d14}.land-card.disabled{opacity:.6}.land-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.land-card-title{font-weight:700;color:var(--navy);font-size:15px}.land-soon{font-size:9px;text-transform:uppercase;letter-spacing:1px;color:#9aa3ad;border:1px solid var(--border);border-radius:8px;padding:2px 8px;white-space:nowrap}.land-stat{font-size:12.5px;color:#374151;margin-top:8px}.land-stat b{color:var(--orange)}.land-desc{color:#6b7280;font-size:12px;margin:8px 0 0}.home-page{max-width:1400px}.home-greet{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin:4px 0 18px}.home-greet-title{margin:0;color:var(--navy);font-size:26px;font-weight:700}.home-greet-date{margin:4px 0 0;color:#6b7280;font-size:13px}.home-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto}.home-add{position:relative}.home-add-menu{position:absolute;right:0;top:calc(100% + 4px);z-index:30;background:#fff;border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 22px #0f1e2d1f;padding:4px;min-width:170px;display:flex;flex-direction:column}.home-add-item{text-align:left;background:none;border:none;font:inherit;font-size:12.5px;color:#374151;padding:7px 10px;border-radius:6px;cursor:pointer}.home-add-item:hover{background:#f1f5f9;color:var(--navy)}.home-edit-hint{background:#fff7ed;border:1px solid #fed7aa;color:#9a5b00;border-radius:8px;padding:8px 12px;font-size:12px;margin:0 0 14px}.home-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px;align-items:start}.home-w-panel{grid-column:span 2}@media(max-width:820px){.home-w-panel{grid-column:1 / -1}}.home-w{position:relative}.home-w.editing{-webkit-user-select:none;user-select:none;cursor:grab}.home-w.editing:active{cursor:grabbing}.home-w.dragover{outline:2px dashed var(--orange);outline-offset:2px;border-radius:10px}.home-w-edit{position:absolute;top:6px;right:6px;display:flex;align-items:center;gap:5px;z-index:2}.home-w-grip{color:#9aa3ad;font-size:13px;line-height:1;cursor:grab}.home-w-remove{background:#fff;border:1px solid var(--border);color:#9aa3ad;border-radius:50%;width:20px;height:20px;line-height:1;font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}.home-w-remove:hover{color:#dc2626;border-color:#fca5a5}.home-stat{display:flex;flex-direction:column;gap:4px;background:#fff;border:1px solid var(--border);border-radius:10px;padding:16px 18px;text-decoration:none;transition:box-shadow .12s,border-color .12s}a.home-stat:hover{border-color:var(--orange);box-shadow:0 6px 18px #0f1e2d14}.home-stat-num{font-size:30px;font-weight:700;color:var(--navy);line-height:1}.home-stat-due{color:var(--orange)}.home-stat-label{font-size:12.5px;color:#6b7280;font-weight:600}.home-w-panel{background:#fff;border:1px solid var(--border);border-radius:10px;padding:14px 16px}.home-panel-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:8px}.home-panel-title{font-weight:700;color:var(--navy);font-size:15px}.home-panel-cta{font-size:12px;color:var(--orange);text-decoration:none;font-weight:600}.home-panel-cta:hover{text-decoration:underline}.home-panel-empty{color:#9aa3ad;font-size:12.5px;margin:6px 2px}.home-list{display:flex;flex-direction:column}.home-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 6px;border-top:1px solid #eef1f4;text-decoration:none;color:inherit}.home-row:first-child{border-top:none}.home-row:hover{background:#f7f9fb}.home-row-main{display:flex;align-items:baseline;gap:8px;min-width:0}.home-row-num{font-weight:700;color:var(--navy);font-size:12.5px;flex:0 0 auto}.home-row-name{color:#374151;font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home-row-tag{flex:0 0 auto;font-size:10.5px;font-weight:600;color:#6b7280;background:#eef2f7;border-radius:10px;padding:2px 9px;white-space:nowrap}.home-row-tag-due{background:#fef3c7;color:#92400e}.ribbon{display:flex;gap:2px;border-bottom:2px solid var(--border);margin-bottom:16px}.ribbon-tab{font-size:13px;color:#6b7280;text-decoration:none;padding:8px 16px;margin-bottom:-2px;border-bottom:2px solid transparent;white-space:nowrap}.ribbon-tab:hover{color:var(--navy)}.ribbon-tab.active{color:var(--navy);font-weight:700;border-bottom-color:var(--orange)}.ribbon-tab.disabled{color:#c3c9d1;cursor:not-allowed}.ribbon-tab.disabled:hover{color:#c3c9d1}.dialog-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.dialog{background:#fff;border-radius:12px;padding:24px 26px 18px;width:400px;max-width:92vw;box-shadow:0 24px 60px #0f1e2d59}.dialog-title{margin:0 0 16px;color:var(--navy);font-size:16px}.dialog-field{display:flex;flex-direction:column;gap:6px;font-size:12px}.dialog-field>span{color:#4b5563;font-weight:700}.dialog-field input,.dialog-field textarea{font-family:inherit;font-size:14px;padding:10px 12px;border:1px solid var(--border);border-radius:8px;resize:vertical}.dialog-field input:focus,.dialog-field textarea:focus{outline:none;border-color:var(--orange);box-shadow:0 0 0 3px #f57c0026}.dialog .modal-actions{margin-top:18px}.dialog .btn-primary:disabled{opacity:.5;cursor:default}.fk-row{display:flex;gap:6px}.fk-row select{flex:1;min-width:0}.addr-wrap{position:relative}.addr-wrap input{width:100%;font-family:inherit;font-size:13px;padding:7px 9px;border:1px solid var(--border);border-radius:6px}.addr-locked{display:flex;align-items:center;gap:8px;border:1px solid var(--border);border-radius:6px;padding:6px 9px;background:#f8fafc;font-size:12.5px}.addr-text{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.addr-inputrow{display:flex;align-items:center;gap:8px}.addr-inputrow input{flex:1}.addr-verified{color:#15803d;font-weight:700;font-size:14px}.addr-clear{white-space:nowrap;font-size:12px}.addr-menu{position:absolute;top:calc(100% + 4px);left:0;right:0;background:#fff;border:1px solid var(--border);border-radius:8px;box-shadow:0 10px 30px #0f1e2d2e;z-index:60;overflow:hidden}.addr-item{display:block;width:100%;text-align:left;font-family:inherit;font-size:12px;padding:8px 12px;border:none;background:none;cursor:pointer;border-bottom:1px solid #f1f4f7}.addr-item:hover{background:#f0f4f8}.addr-item.muted{color:#9aa3ad;cursor:default}.addr-item.addr-err{color:#b91c1c;cursor:default;white-space:normal;font-size:11px}.addr-credit{font-size:9px;color:#9aa3ad;text-align:right;padding:3px 8px;background:#fafbfc}.jobsec{margin-top:14px}.jobsec .form-section{margin-bottom:8px}.jobsec-row{display:flex;align-items:center;gap:10px;padding:5px 0;font-size:12.5px;flex-wrap:wrap}.jobsec-role{min-width:150px;font-weight:700;color:#4b5563;font-size:12px}.pcc-role{min-width:250px}.pcc-edit{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.pcc-edit input{padding:5px 8px;font-family:inherit;font-size:12px;border:1px solid var(--border);border-radius:5px}.pcc-override-tag{color:var(--orange);font-size:10.5px}.pcc-actions{margin-top:10px;gap:10px}.pcc-sent{font-size:12px;color:#8a93a0}.pcc-sent.yes{color:#1e7d3e;font-weight:700}.jobsec-row select,.jobsec-row input{font-family:inherit;font-size:12.5px;padding:6px 8px;border:1px solid var(--border);border-radius:6px;min-width:180px}.jobsec-detail{color:#6b7280;font-size:11.5px}.jobsec-name{font-weight:700}.jobsec-file{text-align:left}.jobsec-empty{color:#9aa3ad;font-size:12px;font-style:italic;margin:4px 0}.jobsec-add{border-top:1px dashed var(--border);margin-top:6px;padding-top:10px}.subitem-row{flex-wrap:nowrap}.subitem-row .jobsec-role{min-width:34px;flex:none}.subitem-row .jobsec-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.subitem-row .status-chip,.subitem-row .btn-link{flex:none;white-space:nowrap}.jobsec-newcontact{border:1px solid var(--orange);border-radius:8px;padding:12px 14px;margin-top:8px;background:#fffaf5}.jobsec-newcontact-title{font-size:12px;font-weight:700;color:var(--navy);margin-bottom:8px}.jobsec-newcontact-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.jobsec-newcontact-grid input{font-family:inherit;font-size:12.5px;padding:7px 9px;border:1px solid var(--border);border-radius:6px}.status-chip{display:inline-block;font-size:10.5px;font-weight:700;padding:2px 10px;border-radius:10px;white-space:nowrap}.pricing-gen{border-color:var(--orange);color:var(--orange)}.pricing-gen:hover{background:#fff3e6}.sub-chip{display:inline-block;font-size:10.5px;font-weight:700;padding:2px 9px;border-radius:10px;white-space:nowrap;cursor:pointer;font-family:inherit;border:1px solid transparent}.sub-chip.none{background:#fef0c7;color:#b54708;border-color:#f6d488}.sub-chip.open{background:#fff7ed;color:#c2410c;border-color:#fed7aa}.sub-chip.submitted{background:#dbeafe;color:#1e40af;border-color:#bfdbfe}.sub-chip.ok{background:#dcfce7;color:#166534;border-color:#bbf7d0}.sub-chip.notreq{background:#f1f5f9;color:#64748b;border-color:#e2e8f0}.sub-chip:hover{filter:brightness(.97)}.facts-bar{display:flex;flex-wrap:wrap;gap:10px 34px;margin:4px 0 18px;padding:12px 16px;background:#f6f8fa;border:1px solid var(--border);border-radius:8px}.facts-bar>div{display:flex;flex-direction:column;gap:2px}.fact-label{font-size:11px;font-weight:700;color:#6b7280;text-transform:uppercase;letter-spacing:.4px}.placeholder-card{max-width:640px;padding:22px 24px;border:1px dashed var(--border);border-radius:10px}.placeholder-card h2{margin:0 0 8px;color:var(--navy);font-size:15px}.placeholder-card p{margin:0 0 12px;color:#4b5563}.detail-cols{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;align-items:start}.detail-card{border:1px solid var(--border);border-radius:10px;padding:14px 16px;background:#fff}.detail-card h3{margin:0 0 8px;font-size:11px;font-weight:700;color:var(--orange);text-transform:uppercase;letter-spacing:.6px}.detail-row{display:flex;justify-content:space-between;gap:14px;padding:4px 0;border-bottom:1px solid #f1f3f5;font-size:13px}.detail-row:last-child{border-bottom:none}.detail-row .dl{color:#6b7280;flex-shrink:0}.detail-row .dv{text-align:right;overflow-wrap:anywhere}.detail-single{max-width:760px;display:flex;flex-direction:column;gap:12px}.job-notes{width:100%;box-sizing:border-box;font-family:inherit;font-size:13px;padding:10px 12px;border:1px solid var(--border);border-radius:8px;resize:vertical}.bst-TO_BID{background:#dbeafe;color:#1d4ed8}.bst-IN_PROGRESS{background:#fef3c7;color:#b45309}.bst-TAKEOFF_COMPLETE{background:#e0e7ff;color:#4338ca}.bst-SENT{background:#ccfbf1;color:#0f766e}.bst-WON{background:#dcfce7;color:#15803d}.bst-LOST{background:#fee2e2;color:#b91c1c}.bst-SEE_REVISION{background:#fdecea;color:#8e2424}.bst-NOT_BID{background:#eef1f4;color:#6b7280}.log-actions{display:flex;gap:8px;align-items:center;margin-top:4px}.log-form{display:flex;flex-direction:column;gap:10px;margin-top:12px;padding-top:12px;border-top:1px solid var(--border);max-width:380px}.log-form label{display:flex;flex-direction:column;gap:4px;font-size:12px;font-weight:700;color:#4b5563}.log-form input[type=number]{font-family:inherit;font-size:13px;padding:7px 9px;border:1px solid var(--border);border-radius:6px}.logged-file-row{display:flex;gap:10px;align-items:center;margin:6px 0 10px}.sov-chev{border:none;background:none;cursor:pointer;color:#6b7280;font-size:12px;padding:0 6px 0 0;transition:transform .12s;display:inline-block}.sov-chev.open{transform:rotate(90deg)}.sov-count-badge{margin-left:8px;background:#eef3f8;border:1px solid #d3dfea;color:var(--navy);border-radius:10px;padding:1px 8px;font-size:11px;font-weight:700}.open-co-badge{background:#fff3e0;border:1px solid #f0b060;color:#b35a00;border-radius:10px;padding:1px 8px;font-size:11px;font-weight:700}.sov-sub-row{background:#f8fafc}.sov-sub-name{color:#4b5563;font-style:italic}.monthly-grid{grid-template-columns:64px minmax(180px,1.3fr) minmax(120px,1fr) 110px minmax(90px,130px) 105px 110px 60px}.monthly-ret-grid{grid-template-columns:64px minmax(180px,1.3fr) minmax(120px,1fr) 110px minmax(90px,130px) 110px 120px}.monthly-all-grid{grid-template-columns:64px minmax(170px,1.3fr) minmax(120px,1fr) 110px minmax(80px,120px) 100px 100px 55px 90px 130px}.monthly-subhead{margin:14px 0 6px;color:var(--orange);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.8px}.subm-grid{grid-template-columns:50px minmax(220px,1.6fr) minmax(120px,180px) minmax(110px,160px) 150px 90px}.subm-child{background:#f8fafc}.subm-child .org-cell{font-size:12px}.rfi-grid{grid-template-columns:80px minmax(220px,1.6fr) 110px minmax(150px,1fr) 110px}.sublib-grid{grid-template-columns:minmax(220px,1.5fr) minmax(140px,200px) minmax(110px,160px) minmax(180px,1fr) 70px}.sublog-grid{grid-template-columns:80px minmax(220px,1.6fr) minmax(130px,1fr) 55px 140px 140px 90px}.sublog-grid>:nth-child(4){padding-right:24px}.sublog-archived{opacity:.75}.sublog-inactive-section{margin-top:16px}.slog-grid{grid-template-columns:22px 46px minmax(240px,1.6fr) minmax(110px,.8fr) minmax(110px,.7fr) minmax(150px,1fr) 170px 60px}.slog-inline-in{width:100%;border:1px solid transparent;background:transparent;font:inherit;font-size:12.5px;padding:2px 4px;border-radius:3px}.slog-inline-in:hover{border-color:#d5dbe3}.slog-inline-in:focus{border-color:#1a3a5c;background:#fff;outline:none}.slog-inline-in::placeholder{color:#9aa3ad}.slog-vchip{margin-right:8px;cursor:pointer}.slog-file-cell{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left;display:block}.slog-toggle-on{border-color:#f57c00!important;color:#f57c00;font-weight:700}.slog-files{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:4px 0 2px;font-size:12.5px}.slog-file-chip{display:inline-flex;align-items:center;gap:4px;background:#fff;border:1px solid var(--border);border-radius:8px;padding:2px 8px}.slog-specs{border-top:1px dashed var(--border);margin-top:2px}.slog-spec-note{white-space:pre-wrap}.slog-prev-row{background:#f3f4f6}.slog-prev-row .org-cell,.slog-prev-row .org-cell.muted{color:#8a929c}.slog-prev-chip{background:#e5e7eb!important;color:#6b7280!important}.slog-prev-tag{font-size:10px;font-weight:700;color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:1px 6px;margin-left:8px;white-space:nowrap}.slog-prev-actions{display:flex;flex-direction:column;align-items:flex-start;gap:2px;font-size:11.5px}.slog-prev-panel{background:#eef0f3}.rev-modal{max-width:640px}.rev-carry-row{cursor:pointer;flex-wrap:nowrap}.rev-carry-row input[type=checkbox]{min-width:0;flex:none}.rev-carry-row .jobsec-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rev-carry-row .status-chip{flex:none}.rev-files-actions{display:flex;align-items:center;gap:14px;margin-top:6px}.rev-inc-prev{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;cursor:pointer}.rev-inc-prev-off{color:#9aa3ad;cursor:default}.rev-draft{background:#f8fafc;border:1px solid var(--border);border-radius:8px;padding:10px;margin-top:6px}.rev-draft-actions{display:flex;gap:8px}.slog-req-btn{border-color:#f57c00!important;color:#f57c00;font-weight:700}.addsplit-req{margin-left:auto}.addsplit-req .addsplit-menu{bottom:auto;top:calc(100% + 4px)}.org-table:has(.addsplit-req .addsplit-menu){overflow:visible}.slog-del-btn{border-color:#dc2626!important;color:#dc2626}.slog-locked{cursor:pointer}.slog-foot{display:flex;align-items:center;gap:8px;margin-top:10px}.slog-foot .table-count{margin:0}.export-modal{max-width:680px}.sort-head{cursor:pointer;-webkit-user-select:none;user-select:none}.sort-head:hover{text-decoration:underline}.sublogx-prev{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700;margin:4px 0 10px;cursor:pointer;width:fit-content}.sublogx-list{max-height:50vh;overflow-y:auto;border:1px solid var(--border);border-radius:8px;padding:8px 12px}.sublogx-item{display:block;padding:4px 0;border-bottom:1px solid #f1f3f5}.sublogx-item:last-child{border-bottom:none}.sublogx-item-name{font-weight:700;font-size:13px;padding:2px 0}.sublogx-status{margin-left:8px}.sublogx-ver{display:flex;align-items:center;gap:8px;padding:3px 0 3px 18px;font-size:12.5px}.sublogx-ver-files{color:#6b7280;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sublogx-row{display:flex;align-items:center;gap:8px}.sublogx-main{flex:1;min-width:0}.sublogx-att{flex:none;width:86px;text-align:center}.sublogx-head{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#6b7280;padding-bottom:4px;border-bottom:1px solid var(--border);margin-bottom:4px}.sublogx-item-name,.sublogx-verrow{cursor:pointer}.sublogx-files-line{padding-left:18px;color:#6b7280;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sublogx-off .sublogx-main,.sublogx-off .sublogx-files-line{opacity:.5}.libtabs{display:flex;gap:6px;margin:2px 0 12px}.libtabs button{font-family:inherit;font-size:12.5px;font-weight:700;padding:6px 14px;border:1px solid var(--border);border-radius:16px;background:#fff;color:#4b5563;cursor:pointer}.libtabs button.on{background:#1a3a5c;border-color:#1a3a5c;color:#fff}.fav-star{border:none;background:none;cursor:pointer;font-size:14px;color:#bbb;padding:0 6px 0 0}.fav-star.on{color:#f57c00}.grp-grid{grid-template-columns:minmax(220px,2fr) 70px minmax(140px,1fr) 110px}.openreq-grid{grid-template-columns:minmax(180px,1.4fr) 70px minmax(180px,1.4fr) 100px minmax(120px,1fr) 60px 130px}.fieldrfi-grid{grid-template-columns:minmax(180px,1.3fr) 80px minmax(200px,1.6fr) 110px 130px 130px}.fieldscope-grid{grid-template-columns:minmax(200px,1.2fr) minmax(240px,1.6fr) 120px 100px}.row-dim{opacity:.55}.grp-head{display:flex;align-items:center;gap:10px;margin:4px 0 12px}.grp-title{margin:0;font-size:16px;color:#1a3a5c}.addsplit{position:relative;display:inline-flex}.addsplit-main{border-top-right-radius:0;border-bottom-right-radius:0}.addsplit-caret{border-top-left-radius:0;border-bottom-left-radius:0;border-left:none;padding-left:7px;padding-right:7px}.addsplit-menu{position:absolute;z-index:40;bottom:calc(100% + 4px);right:0;background:#fff;border:1px solid var(--border);border-radius:8px;box-shadow:0 10px 26px #0f1e322e;padding:4px;min-width:180px}.addsplit-opt{display:block;width:100%;text-align:left;font-family:inherit;font-size:12.5px;padding:7px 10px;border:none;background:none;border-radius:6px;cursor:pointer;white-space:nowrap}.addsplit-opt:hover{background:#f2f6fa}.addlib-row{display:flex;align-items:center;gap:10px;padding:5px 4px;border-bottom:1px solid #f1f3f5;font-size:12.5px}.addlib-row:last-child{border-bottom:none}.addlib-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.addlib-done{color:#2e7d32;font-weight:700;white-space:nowrap}.addlib-inlog{color:#9aa3ad;font-style:italic;white-space:nowrap}.addlib-group{cursor:pointer}.addlib-group:hover{background:#f2f6fa}.addlib-grouphead{background:#f8fafc;border-radius:6px}.taskrow-grid{grid-template-columns:44px 104px minmax(120px,.9fr) minmax(300px,2.6fr) 68px 116px 116px minmax(76px,.5fr)}.taskrow-grid .org-name{white-space:normal;overflow-wrap:anywhere}.taskrow-lead{display:flex;align-items:center;gap:2px}.taskrow-detail{margin:2px 0 6px;font-size:12.5px}.taskrow-detail .task-mats{margin-top:2px}.task-due{font-size:11px;font-weight:700;padding:2px 8px;border-radius:8px}.due-overdue{background:#fdecea;color:#c62828}.due-today{background:#fff3e0;color:#e65100}.due-future{background:#eef2f6;color:#4b5563}.task-type-pill{font-size:10.5px;font-weight:700;color:#1a3a5c;background:#e8eef5;border-radius:8px;padding:2px 8px;white-space:nowrap}.task-card-job{display:flex;flex-direction:column;gap:2px;font-size:12.5px}.task-card-item{font-weight:700;font-size:13.5px}.task-mats{margin:0;padding-left:18px;font-size:12px;color:#374151}.task-notes{margin:0;font-size:12px;color:#6b7280;white-space:pre-wrap}.task-card-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:4px;border-top:1px solid #f1f3f5;padding-top:8px}.task-status-on{background:#1a3a5c!important;border-color:#1a3a5c!important;color:#fff}.task-done-section{margin-top:16px}.task-mat-row{display:flex;gap:6px;align-items:center;margin-bottom:6px}.task-mat-row input,.task-mat-row select{font-family:inherit;font-size:12.5px;padding:6px 8px;border:1px solid var(--border);border-radius:6px}.task-mat-row input:first-child{flex:2}.task-mat-row input:nth-child(4){flex:1.4}.task-mat-qty{width:60px}.cal-card{background:#fff;border:1px solid var(--border);border-left-width:4px;border-radius:8px;padding:10px 12px;margin-bottom:8px;font-size:12.5px;cursor:pointer}.cal-card.cal-concrete{border-left-color:#1a3a5c}.cal-card.cal-material{border-left-color:#f57c00}.cal-card.cal-equipment{border-left-color:#2e7d32}.cal-card.cal-pcc{border-left-color:#6a3fa0}.cal-card-head{display:flex;align-items:center;gap:10px}.cal-type-pill{font-size:10.5px;font-weight:700;border-radius:8px;padding:2px 8px;color:#fff}.cal-type-pill.cal-concrete{background:#1a3a5c}.cal-type-pill.cal-material{background:#f57c00}.cal-type-pill.cal-equipment{background:#2e7d32}.cal-type-pill.cal-pcc{background:#6a3fa0}.cal-card-job{font-weight:700;margin-top:4px}.cal-card-body{margin-top:2px}.cal-card-notes{margin-top:4px;color:#6b7280;white-space:pre-wrap}.cal-rental-strip{background:#e8f5e9;border:1px solid #c8e6c9;border-radius:10px;padding:10px 14px 6px;margin-bottom:14px}.mixlink-select{margin-bottom:6px}.cal-day-group{margin-bottom:14px}.cal-month-nav{display:flex;align-items:center;gap:10px;margin-bottom:8px}.cal-grid-head{display:grid;grid-template-columns:repeat(7,1fr);font-size:11px;font-weight:700;color:#6b7280;text-align:center;margin-bottom:4px}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.cal-cell{background:#fff;border:1px solid var(--border);border-radius:8px;min-height:64px;padding:6px;cursor:pointer;display:flex;flex-direction:column;justify-content:space-between}.cal-cell:hover{background:#f5f8fb}.cal-out{opacity:.4}.cal-today{border-color:#f57c00;border-width:2px}.cal-sel{background:#eef4fa}.cal-cell-num{font-size:11.5px;font-weight:700;color:#4b5563}.cal-dots{display:flex;gap:3px}.cal-dot{width:8px;height:8px;border-radius:50%;display:inline-block}.cal-dot.cal-concrete{background:#1a3a5c}.cal-dot.cal-material{background:#f57c00}.cal-dot.cal-equipment{background:#2e7d32}.cal-dot.cal-pcc{background:#6a3fa0}.cal-pcc-strip{background:#f3eefa;border:1px solid #ddd0ee;border-radius:10px;padding:10px 14px 6px;margin-bottom:14px}.cal-filter-sep{width:1px;align-self:stretch;background:var(--border);margin:0 4px}.libtabs button.cal-typefilter{display:inline-flex;align-items:center;gap:6px;opacity:.45}.libtabs button.cal-typefilter.on{opacity:1;background:#fff;color:#1a3a5c;border-color:#9db2c7}.asset-list{max-height:220px;margin-top:6px}.asset-blocked{opacity:.55;cursor:not-allowed}.asset-block-tag{font-size:11px;font-weight:700;color:#c62828;white-space:nowrap}.driver-add{display:flex;gap:6px;align-items:center;padding:4px}.equip-grid{grid-template-columns:46px minmax(170px,1.5fr) 92px 74px 140px minmax(110px,1fr) 118px 58px}.truck-grid{grid-template-columns:50px minmax(200px,1.6fr) 90px 100px 100px 150px minmax(120px,1fr)}.exp-red{color:#c62828;font-weight:700}.tools-grid{grid-template-columns:minmax(220px,1.5fr) 80px 80px minmax(200px,2fr)}.mats-grid{grid-template-columns:minmax(200px,1.5fr) 90px 70px 70px 90px 170px}.eqlog-grid{grid-template-columns:90px 110px minmax(160px,1.3fr) minmax(160px,1.5fr) minmax(120px,1fr)}.locpick{position:relative}.org-table:has(.locpick-menu){overflow:visible}.org-cell:has(.locpick-menu){overflow:visible}.locpick-toggle{font-family:inherit;font-size:12px;text-align:left;padding:4px 6px;border:1px solid transparent;border-radius:6px;background:transparent;cursor:pointer;display:flex;flex-direction:column;gap:1px;max-width:100%}.locpick-toggle:hover{border-color:var(--border);background:#fff}.locpick-name{font-weight:700}.locpick-addr{font-size:10.5px;color:#6b7280;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:200px}.locpick-menu{min-width:280px}.modal .locpick-menu{top:auto;bottom:calc(100% + 4px);max-height:240px}.locpick-search{width:100%;box-sizing:border-box;font-family:inherit;font-size:12.5px;padding:6px 8px;border:1px solid var(--border);border-radius:6px;margin-bottom:4px}.drag-handle{cursor:grab;color:#b6bec7;-webkit-user-select:none;user-select:none;margin-right:6px;font-size:11px;letter-spacing:-1px}.drag-handle:hover{color:#f57c00}.drag-handle:active{cursor:grabbing}.drag-over{box-shadow:inset 0 2px #f57c00}.drag-over-below{box-shadow:inset 0 -2px #f57c00}.taskrow-dragging{opacity:.38;outline:2px dashed #f57c00;outline-offset:-2px;background:#fff8f0}.libpick{position:relative}.libpick-toggle{width:100%;display:flex;justify-content:space-between;align-items:center;font-family:inherit;font-size:13px;padding:8px 10px;border:1px solid var(--border);border-radius:6px;background:#fff;cursor:pointer;text-align:left}.libpick-caret{color:#6b7280;margin-left:8px;flex:none}.libpick-menu{position:absolute;z-index:40;top:calc(100% + 4px);left:0;right:0;background:#fff;border:1px solid var(--border);border-radius:8px;box-shadow:0 10px 26px #0f1e322e;max-height:300px;overflow-y:auto;padding:4px}.libpick-opt{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 8px;border-radius:6px;cursor:pointer;font-size:12.5px}.libpick-opt:hover{background:#f2f6fa}.libpick-special .libpick-label{font-weight:700;color:#1a3a5c}.libpick-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.libpick-preview{flex:none}.libpick-search{position:sticky;top:0;width:100%;box-sizing:border-box;font-family:inherit;font-size:12.5px;padding:6px 8px;border:1px solid var(--border);border-radius:6px;margin-bottom:4px;background:#fff}.libpick-empty{color:#9aa3ad;font-size:12px;font-style:italic;padding:6px 8px}.addlib-cat{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#1a3a5c;background:#f2f6fa;border-radius:6px;padding:4px 8px;margin:8px 0 2px}.sublogx-list>div:first-child>.addlib-cat{margin-top:0}.addlib-wide{max-width:900px;width:92vw}.addlib-preview-name{font-weight:700;font-size:13px;margin:4px 0 8px}.addlib-preview{height:62vh;border:1px solid var(--border);border-radius:8px;overflow:hidden}.addlib-preview iframe{width:100%;height:100%;border:none}.spec-files{display:flex;flex-direction:column;gap:2px;align-items:flex-start}.spec-files .jobsec-row{width:100%}.slog-status{border:none;font-family:inherit;font-weight:700;cursor:pointer;padding:3px 8px;border-radius:10px;font-size:11px}.slog-versions{padding:8px 14px 12px 70px;background:#f8fafc;border-bottom:1px solid var(--border)}.slog-ver-row{display:flex;align-items:center;gap:12px;padding:4px 0;font-size:12.5px}.slog-ver-file{max-width:380px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}.slog-ver-row select{font-size:12px;padding:3px 6px;border:1px solid var(--border);border-radius:6px}.slog-ver-actions{display:flex;gap:8px;margin-top:8px}.chev-spacer{display:inline-block;width:18px}.slog-replace{position:relative;overflow:hidden;display:inline-block;cursor:pointer}.slog-replace input[type=file]{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer;width:100%}.reviewed-strip{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:-6px 0 14px;padding:8px 14px;background:#fffaf3;border:1px solid #f2dfc4;border-radius:8px}.reviewed-chip{display:inline-flex;align-items:center;gap:6px;font-size:12.5px}.review-modal{width:96vw;max-width:1500px;height:92vh;display:flex;flex-direction:column}.review-split{display:flex;gap:14px;flex:1;min-height:0}.review-pdf{flex:1.2;min-width:0;border:1px solid var(--border);border-radius:8px;overflow:hidden}.review-pdf iframe{width:100%;height:100%;border:0}.review-items{flex:1;min-width:0;overflow-y:auto;padding-right:6px}.review-hint{color:#6b7280;font-size:12.5px;margin:0 0 10px}.review-row{display:flex;align-items:center;gap:10px;padding:6px 8px;border-bottom:1px solid #f1f3f5;font-size:13px}.review-row.on{background:#f2f8f2}.review-check{display:flex;align-items:center;gap:8px;flex:1;min-width:0;cursor:pointer}.review-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.review-arrow{color:#9ca3af}.review-row select{font-size:12px;padding:3px 6px;border:1px solid var(--border);border-radius:6px}.review-row-parent{background:#f8fafc}.review-row-parent .review-name{font-weight:700}.review-row-prior{opacity:.55}.review-prior-tag{font-size:10px;font-weight:700;color:#6b7280;background:#eef0f3;border:1px solid var(--border);border-radius:8px;padding:1px 6px;margin-left:6px;white-space:nowrap}.review-derived{color:#9aa3ad;font-size:11.5px;font-style:italic;white-space:nowrap}.slog-mix-group{margin:-4px -14px 8px -70px;padding:0}.slog-mix-row{background:#f3f6f9;font-size:12.5px;cursor:default}.slog-mix-row .org-cell{font-size:12px}.slog-mix-desc{grid-column:span 3}.slog-mix-row:hover{background:#edf1f5}.slog-upload{position:relative;overflow:hidden;display:inline-block;cursor:pointer}.slog-upload input[type=file]{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.bills-dropzone{position:relative;min-height:70vh}.bills-drop-overlay{position:absolute;top:-6px;right:-6px;bottom:-6px;left:-6px;z-index:40;display:flex;align-items:center;justify-content:center;background:#f57c0012;border:3px dashed var(--orange);border-radius:10px;pointer-events:none}.bills-drop-overlay span{background:#fff;padding:14px 28px;border-radius:8px;box-shadow:0 6px 18px #0f1e2d2e;color:var(--navy);font-size:15px;font-weight:700}.modal-bill{width:1180px;max-width:96vw}.tax-chip{margin-left:8px;padding:2px 7px;border-radius:4px;background:#fff3e0;border:1px solid #f0ddb0;color:#b26500;font-size:10.5px;font-weight:700}.tax-note{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:9px 12px;background:#fff8ec;border:1px solid #f0ddb0;border-radius:6px;color:#8a6100;font-size:12.5px}.tax-flag{display:flex;flex-direction:row!important;align-items:center;gap:6px!important;font-weight:700;white-space:nowrap;cursor:pointer}.bill-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap}.bill-nav{display:flex;align-items:center;gap:8px;font-size:12.5px;color:#4b5563;white-space:nowrap}.bill-nav button{font-family:inherit;font-size:12.5px;padding:6px 12px;border:1px solid var(--border);border-radius:6px;background:#fff;cursor:pointer}.bill-nav button:disabled{opacity:.4;cursor:default}.bill-nav button.nav-go{background:var(--orange);border-color:var(--orange);color:#fff;font-weight:700}.bill-split{display:flex;gap:20px;align-items:stretch;flex-wrap:wrap}.bill-form{flex:0 0 460px;min-width:340px}.bill-preview{flex:1 1 420px;min-height:560px;max-height:76vh;background:#f2f4f7;border:1px solid var(--border);border-radius:8px;overflow-y:auto;overflow-x:hidden}.bill-preview img{display:block;max-width:100%;margin:0 auto}.bill-preview>p{text-align:center;padding:40px 0}.pdfprev{width:100%}.pdfprev-nav{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:center;gap:12px;padding:7px;background:#e8ebef;border-bottom:1px solid var(--border);font-size:12px;color:#4b5563}.pdfprev-nav button{font-family:inherit;font-size:15px;line-height:1;padding:4px 14px;border:1px solid var(--border);border-radius:6px;background:#fff;cursor:pointer}.pdfprev-nav button:disabled{opacity:.4;cursor:default}.pdfprev canvas{display:block;width:100%}.pdfprev p{text-align:center;padding:40px 0}.modal-sov{width:820px;max-width:94vw}.sovm-grid{display:grid;grid-template-columns:minmax(220px,1.5fr) minmax(130px,190px) 130px 120px;gap:8px;align-items:center;padding:4px 0;font-size:13px;border-bottom:1px solid #f1f3f5}.sovm-head{font-size:11px;font-weight:700;color:#6b7280;text-transform:uppercase;border-bottom:1px solid var(--border)}.sovm-tabs{margin:4px 0 12px}.sovm-tabs .ribbon-tab{cursor:pointer;-webkit-user-select:none;user-select:none}.sovm-row{cursor:pointer}.sovm-row:hover{background:#f6f8fa}.sovm-co{background:#fffaf3}.sovm-drift{color:#e65100;cursor:help;font-size:14px}.modal-app{width:960px;max-width:96vw}.app-head{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:12px}.app-head h2{margin:0}.app-cycle{display:flex;align-items:center;gap:6px}.app-controls{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:12px}.app-controls>label{display:flex;flex-direction:column;gap:3px;font-size:11px;font-weight:700;color:#4b5563}.app-controls>label input[type=text],.app-controls>label input:not([type=checkbox]){font-family:inherit;font-size:13px;padding:6px 9px;border:1px solid var(--border);border-radius:6px;width:170px}.app-month-pick{display:flex;align-items:center;gap:6px}.app-month-pick .sheet-select{width:130px}.app-month-pick .btn-small{padding:5px 9px}.app-retchk{flex-direction:row!important;align-items:center;gap:6px!important;font-size:12px!important}.aia-grid{display:grid;grid-template-columns:minmax(200px,1.5fr) 95px 95px 110px 100px 88px 95px;gap:6px;align-items:center;padding:3px 0;font-size:12.5px}.aia-grid input,.aia-ret-grid input{font-family:inherit;font-size:12.5px;padding:5px 7px;border:1px solid var(--border);border-radius:6px;text-align:right;width:100%;box-sizing:border-box}.aia-grid-head{font-size:10.5px;font-weight:700;color:#6b7280;text-transform:uppercase;border-bottom:1px solid var(--border);padding-bottom:5px}.app-totals{display:flex;gap:10px 30px;flex-wrap:wrap;margin-top:14px;padding:10px 14px;background:#f6f8fa;border:1px solid var(--border);border-radius:8px}.app-totals>div{display:flex;flex-direction:column;gap:2px}.app-due span:last-child{color:var(--orange);font-weight:700}.aia-over input{border-color:#dc2626;background:#fdf1f1}.aia-over-note{color:#c62828;font-size:11px;font-weight:700}.aia-locked{opacity:.5;background:#f6f8fa}.aia-pct-low{border-color:#dc2626!important;background:#fdf1f1!important}.aia-grid input:disabled,.aia-ret-grid input:disabled{background:#eef1f4;color:#9ca3af;cursor:not-allowed}.aia-done-note{color:#15803d;font-size:11px;font-weight:700}.ret-sec{margin-top:16px;padding:12px 14px;background:#fffaf3;border:1px solid #f2c98d;border-radius:6px}.ret-sec-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.ret-sec-head .sov-h3{margin:0}.aia-ret-grid{display:grid;grid-template-columns:minmax(180px,1.5fr) 105px 110px 115px 80px 120px 105px;gap:6px;align-items:center;padding:3px 0}.ret-autofill{display:flex;align-items:center;gap:8px}.ret-autofill-pct{display:flex;align-items:center;gap:4px;font-size:12px;color:#4b5563}.ret-autofill-pct input{width:64px;padding:5px 7px;border:1px solid var(--border);border-radius:5px;font-family:inherit;font-size:12px;text-align:right}.ret-total{border-top:1px solid var(--border);margin-top:4px;padding-top:6px;font-weight:700;font-size:11.5px}.merge-modal{max-width:560px}.merge-keep{display:flex;align-items:center;gap:10px;margin:8px 0}.merge-keep>span{min-width:40px;font-weight:700;font-size:12px;color:#4b5563}.merge-keep select,.merge-keep input{flex:1;padding:6px 8px;font-family:inherit;font-size:12.5px;border:1px solid var(--border);border-radius:5px}.merge-list{max-height:260px;overflow-y:auto;border:1px solid var(--border);border-radius:6px;padding:4px 6px;margin:6px 0 10px}.merge-list .menu-check{display:flex;gap:8px;align-items:center;padding:4px;font-size:12.5px}.wiz-wrap{max-width:900px}.wiz-wrap-wide{max-width:none}.wiz-jobs-table{min-width:1210px}.wiz-other-drafts{max-width:900px;margin:0 0 12px;padding:9px 13px;background:#fff8e6;border:1px solid #f0d38a;border-radius:6px;font-size:12.5px;color:#7a5a00}.wiz-step{background:#fff;border:1px solid var(--border);border-radius:10px;padding:22px 24px}.wiz-heading{font-size:18px;font-weight:700;color:var(--navy);margin-bottom:4px}.wiz-sub{color:#6b7280;font-size:13px;margin:0 0 16px}.wiz-progress{display:flex;gap:6px;margin-bottom:16px}.wiz-pip{flex:1;height:6px;background:#e5e7eb;border-radius:3px}.wiz-pip.done{background:#15803d}.wiz-pip.current{background:var(--orange)}.wiz-actions{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:18px;flex-wrap:wrap}.wiz-job-list{display:flex;flex-direction:column;max-height:420px;overflow-y:auto;border:1px solid var(--border);border-radius:8px}.wiz-job-row{display:flex;align-items:center;gap:10px;padding:8px 12px;border-bottom:1px solid #f1f3f5;font-size:13px;cursor:pointer}.wiz-job-row:hover{background:#f6f8fa}.wiz-job-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wiz-sov{margin-bottom:18px}.wiz-sov-head{display:flex;align-items:center;gap:10px;padding-bottom:6px;margin-bottom:6px;border-bottom:2px solid var(--navy);color:var(--navy);flex-wrap:wrap}.wiz-line-grid{display:grid;grid-template-columns:minmax(190px,1fr) 95px 100px 110px 100px 95px;gap:8px;align-items:center;padding:3px 0;font-size:13px}.wiz-line-head{font-size:11px;font-weight:700;color:#6b7280;text-transform:uppercase;border-bottom:1px solid var(--border);padding-bottom:5px}.wiz-line-grid input{font-family:inherit;font-size:13px;padding:5px 8px;border:1px solid var(--border);border-radius:6px;text-align:right;width:100%;box-sizing:border-box}.wiz-locked{opacity:.55}.wiz-done-note{color:#15803d;font-size:11px}.wiz-pct-wrap{display:flex;align-items:center;gap:4px}.wiz-review{border:1px solid var(--border);border-radius:8px}.wiz-review-row{display:grid;grid-template-columns:70px minmax(180px,1fr) 80px 110px 60px;gap:10px;align-items:center;padding:8px 12px;border-bottom:1px solid #f1f3f5;font-size:13px}.wiz-review-row .num{text-align:right}.wiz-grand{background:#eef1f4;font-weight:700;border-bottom:none}.sovsec{display:flex;flex-direction:column;gap:4px}.sov-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:10px}.sov-h3{margin:18px 0 8px;color:var(--navy);font-size:14px}.sov-add-btn{align-self:flex-start;margin-top:8px}.sov-line-grid{grid-template-columns:minmax(220px,1.6fr) minmax(120px,170px) 120px 110px 62px 110px}.sov-period-grid{grid-template-columns:minmax(180px,1fr) 170px 120px 180px 70px}.sov-period-total{font-size:12px;font-weight:600;border-top:2px solid var(--border, #d0d7de);cursor:default}.sov-period-total:hover{background:none}.ret-override input{width:90px;font-family:inherit;font-size:13px;padding:4px 7px;border:1px solid var(--border);border-radius:6px}.modal-wide{width:780px}.period-head{display:flex;gap:16px;margin-bottom:14px}.period-head label{display:flex;flex-direction:column;gap:4px;font-size:12px;font-weight:700;color:#4b5563;flex:1}.period-head input{font-family:inherit;font-size:13px;padding:7px 9px;border:1px solid var(--border);border-radius:6px}.period-grid{display:grid;grid-template-columns:minmax(200px,1fr) 110px 120px 110px;gap:8px;align-items:center;padding:3px 0}.period-grid input{font-family:inherit;font-size:13px;padding:5px 8px;border:1px solid var(--border);border-radius:6px;text-align:right;width:100%;box-sizing:border-box}.period-grid-head{font-size:11px;font-weight:700;color:#6b7280;text-transform:uppercase;border-bottom:1px solid var(--border);padding-bottom:5px}.period-total{margin:10px 0 0;font-size:13px;color:var(--navy)}.group-name-cell{display:flex;align-items:center;gap:10px}.group-name-cell .btn-small{flex-shrink:0}.field-custom{display:flex;flex-direction:column;gap:4px;font-size:12px}.field-custom>span{color:#4b5563;font-weight:700}.field-hint{color:#9ca3af;font-size:10.5px;font-weight:400}.form-grid input:disabled,.form-grid select:disabled,.form-grid textarea:disabled{background:#eef1f4;color:#6b7280;cursor:not-allowed}.jobsearch-picked{display:flex;align-items:center;gap:10px;padding:6px 10px;background:#eef3f8;border:1px solid #d3dfea;border-radius:6px}.jobsearch-name{font-weight:700;color:var(--navy);font-size:13px}.gc-picker{display:flex;flex-direction:column;gap:8px}.gc-chips{display:flex;flex-wrap:wrap;gap:6px}.gc-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 8px 4px 10px;background:#eef3f8;border:1px solid #d3dfea;border-radius:14px;font-size:12px;color:var(--navy)}.gc-chip button{border:none;background:none;cursor:pointer;font-size:14px;line-height:1;padding:0 2px;color:#6b7280}.gc-chip button:hover{color:#dc2626}.gc-search{position:relative}.gc-search input{width:100%;box-sizing:border-box;font-family:inherit;font-size:13px;padding:7px 9px;border:1px solid var(--border);border-radius:6px}.gc-menu{position:absolute;top:calc(100% + 2px);left:0;right:0;z-index:60;background:#fff;border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 22px #0f1e2d2e;max-height:220px;overflow-y:auto;padding:4px}.gc-menu .menu-item{display:block;width:100%;text-align:left}.gc-up .gc-menu{top:auto;bottom:calc(100% + 2px)}.gc-add-new{color:var(--orange);font-weight:700}.gc-menu-empty{padding:7px 10px;color:#9ca3af;font-size:12px}.dialog-text{margin:0 0 6px;color:#4b5563;font-size:13px}.pi-new{background:#dbeafe;color:#1d4ed8}.pi-reviewing{background:#fef3c7;color:#b45309}.pi-accepted{background:#dcfce7;color:#15803d}.pi-declined{background:#eef1f4;color:#6b7280}.invite-actions{display:flex;gap:6px;align-items:center}.ki-invitation{background:#dbeafe;color:#1d4ed8}.ki-addendum{background:#ffedd5;color:#c2410c}.ki-reminder{background:#fef3c7;color:#b45309}.ki-message{background:#e0e7ff;color:#4338ca}.ki-other{background:#eef1f4;color:#6b7280}.pipe-items{padding:2px 14px 10px 46px;background:#fafbfc}.pipe-item{display:grid;grid-template-columns:92px minmax(150px,1fr) 80px 120px minmax(120px,2fr);gap:10px;align-items:center;padding:5px 8px;border-top:1px dashed #e5e9ed;cursor:pointer;font-size:12.5px}.pipe-item:hover{background:#f0f4f8}.pipe-item-actions{display:flex;gap:8px;padding:8px 8px 0}.row-check{cursor:pointer;margin:0}.ap-need_to_price{background:#fee2e2;color:#b91c1c}.ap-price_sent{background:#fef3c7;color:#b45309}.ap-co_approved{background:#dcfce7;color:#15803d}.ap-rejected,.ap-see_revision{background:#eef1f4;color:#6b7280}.ap-contract_scope{background:#e0e7ff;color:#4338ca}.st-WORKING{background:#dcfce7;color:#15803d}.st-PENDING{background:#fef3c7;color:#b45309}.st-NOT_STARTED{background:#dbeafe;color:#1d4ed8}.st-WC{background:#ccfbf1;color:#0f766e}.st-AFP{background:#ede9fe;color:#6d28d9}.st-C{background:#eef1f4;color:#6b7280}.st-WNP{background:#fee2e2;color:#b91c1c}.coi-badge{font-family:inherit;font-size:12px;border:1px solid currentColor;background:none;border-radius:10px;padding:2px 12px;cursor:pointer;justify-self:start}.coi-badge:hover{background:#f5f8fb}.btn-link-danger{color:#c62828!important}.ins-heading{margin:16px 0 8px;font-size:11px;text-transform:uppercase;letter-spacing:1px;color:#6b7280}.ins-current{display:flex;align-items:flex-end;gap:14px;flex-wrap:wrap}.ins-current label{display:flex;flex-direction:column;gap:4px;font-size:12px}.ins-current label>span{color:#4b5563;font-weight:700}.ins-current input{font-family:inherit;font-size:13px;padding:6px 9px;border:1px solid var(--border);border-radius:6px}.ins-coi-row{display:flex;align-items:center;gap:12px;margin-top:10px;flex-wrap:wrap}.file-replace{display:inline-flex;align-items:center;cursor:pointer}.cert-list{border:1px solid var(--border);border-radius:8px;overflow:hidden;margin-bottom:10px}.cert-row{display:grid;grid-template-columns:50px 170px 1fr auto;gap:10px;align-items:center;padding:7px 12px;font-size:12.5px;border-bottom:1px solid #eceff2}.cert-row:last-child{border-bottom:none}.cert-type{font-weight:700;color:var(--navy)}.cert-period{color:#4b5563}.cert-file{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cert-add{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.cert-add select,.cert-add input[type=date]{font-family:inherit;font-size:12.5px;padding:6px 8px;border:1px solid var(--border);border-radius:6px}.cert-add input[type=file]{font-size:12px;max-width:220px}.file-field{display:flex;flex-direction:column;gap:6px}.file-current{display:flex;align-items:center;gap:8px;font-size:12px;color:#374151}.file-none{color:#9aa3ad;font-style:italic}.file-field input[type=file]{font-size:12px}.markup-box select{font-family:inherit;font-size:13px;padding:6px 8px;border:1px solid var(--border);border-radius:6px}.sidebar-toggle{background:none;border:none;color:#ffffffd9;font-size:17px;cursor:pointer;padding:12px 16px 4px;text-align:left}.sidebar-toggle:hover{color:var(--orange)}.sidebar.collapsed{width:46px}.sidebar.collapsed .sidebar-brand,.sidebar.collapsed .sidebar-user{display:none}.sidebar.collapsed .sidebar-toggle{padding:12px 0 4px;text-align:center}.sidebar.collapsed .nav-label,.sidebar.collapsed .nav-children{display:none}.sidebar.collapsed .nav-main{justify-content:center;padding:11px 0}.asm-ratenote{font-size:11.5px;color:#777;font-style:italic;margin:0 0 10px}.asmrow-grid{grid-template-columns:30px minmax(260px,2fr) 64px 110px 110px 100px 110px 96px}.asm-chev{color:#1a3a5c;font-size:12px}.asm-badge{font-size:9px;font-weight:700;padding:1px 5px;border-radius:3px;margin-left:7px;color:#fff;vertical-align:1px}.asm-badge-edited{background:#7b1fa2}.asm-badge-custom{background:#f57c00}.asm-mat{color:#1565c0}.asm-lab{color:#2e7d32}.asm-eqp{color:#e65100}.asm-total{font-weight:700}.asm-panel{background:#fbfcfe;border-top:1px solid var(--border);padding:10px 14px 14px;cursor:default}.asm-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-bottom:8px}.asm-add-lab{background:#2e7d32;border-color:#2e7d32;color:#fff}.asm-add-mat{background:#1565c0;border-color:#1565c0;color:#fff}.asm-add-eqp{background:#e65100;border-color:#e65100;color:#fff}.asm-nameedit{display:flex;gap:10px;margin-bottom:8px}.asm-nameedit label{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:700;color:#555;flex:1}.asm-nameedit input{flex:1;border:1px solid var(--border);border-radius:4px;padding:4px 8px;font-size:12.5px;font-family:inherit}.asm-nameedit .asm-unit-inp{flex:0 0 70px}.asm-inputs{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;background:#e8f0fe;border:1px solid #c5cae9;border-radius:6px;padding:8px 12px;margin-bottom:10px}.asm-inputs-title{font-size:11px;font-weight:700;color:#1a3a5c;text-transform:uppercase;align-self:center}.asm-input{display:flex;flex-direction:column;gap:2px}.asm-input label{font-size:10px;font-weight:700;color:#555;text-transform:uppercase}.asm-input input{width:90px;border:1px solid #9fa8da;border-radius:4px;padding:4px 6px;font-size:12px;font-family:inherit}.asm-input .asm-input-label-edit{width:110px;font-size:10px;font-weight:700}.asm-lines{border:1px solid var(--border);border-radius:6px;overflow:hidden;background:#fff}.asm-line{display:grid;grid-template-columns:46px minmax(200px,1.5fr) 56px 90px 92px 104px minmax(150px,1fr);gap:6px;align-items:center;padding:4px 10px;border-bottom:1px solid #ececec;font-size:11.5px}.asm-line-head{background:#f5f5f5;font-size:10px;font-weight:700;color:#555;text-transform:uppercase}.asm-line-labor{background:#f1f8e9}.asm-line-material{background:#e3f2fd}.asm-line-equipment{background:#fff3e0}.asm-line .num{text-align:right}.asm-chip{font-size:9px;font-weight:700;padding:1px 5px;border-radius:3px;color:#fff}.asm-chip-lab{background:#2e7d32}.asm-chip-mat{background:#1565c0}.asm-chip-eqp{background:#e65100}.asm-chip-gen{background:#6a1b9a}.asm-warn{color:#c62828;font-size:10px;font-weight:700;margin-left:5px}.asm-ext{font-weight:600}.asm-src{font-size:10px;color:#888}.asm-line-editcols{grid-column:4 / -1;display:flex;gap:6px;align-items:center;flex-wrap:wrap}.asm-line-editcols label{font-size:10px;color:#555}.asm-line-editcols select,.asm-line-editcols input{border:1px solid #ccc;border-radius:3px;padding:2px 4px;font-size:11px;font-family:inherit}.asm-line-editcols select{max-width:220px}.asm-line input{border:1px solid #ccc;border-radius:3px;padding:2px 5px;font-size:11px;font-family:inherit;min-width:0}.asm-num-inp{width:66px}.asm-crew-inp{width:46px}.asm-formula-inp{width:140px;font-family:Consolas,monospace!important}.asm-uom-inp{width:48px}.asm-line-total{background:#fff3e0;font-weight:700;border-bottom:none;font-size:12px}.asm-done{background:#1a3a5c;border-color:#1a3a5c;color:#fff;font-weight:700}.crewedit{display:flex;flex-direction:column;gap:4px}.crewedit-row{display:flex;align-items:center;gap:5px}.crewedit-count{width:46px;border:1px solid #ccc;border-radius:3px;padding:2px 4px;font-size:11.5px;font-family:inherit}.crewedit-x{font-size:11px;color:#777}.crewedit-row select{border:1px solid #ccc;border-radius:3px;padding:2px 4px;font-size:11.5px;font-family:inherit;max-width:200px}.asm-taskinfo{font-size:10.5px;color:#666;font-style:italic}.asm-input-labelrow{display:flex;gap:3px;align-items:center}.asm-input-type{border:1px solid #9fa8da;border-radius:3px;font-size:9px;padding:1px 2px;font-family:inherit}.asm-input-check{display:flex;align-items:center;gap:5px;font-size:11.5px;padding:4px 2px;cursor:pointer}.asm-input-choice{border:1px solid #9fa8da;border-radius:4px;padding:4px 6px;font-size:12px;font-family:inherit}.asm-input-choices-edit{width:230px!important;font-size:10px!important}.esb{margin-top:4px}.esb-banner{display:flex;align-items:center;gap:10px;background:#e8f5e9;border:1px solid #a5d6a7;border-radius:6px;padding:8px 14px;font-size:12.5px;margin-bottom:10px}.esb-banner-off{background:#fff8e1;border-color:#ffe082}.esb-toolbar{display:flex;align-items:center;gap:8px;position:sticky;top:0;z-index:30;background:var(--bg);padding:8px 0 10px;margin-bottom:0}.esb-saved{font-size:11.5px;color:#2e7d32;font-weight:600;min-width:150px;text-align:right}.esb-save-hot{box-shadow:0 0 0 3px #f57c0059;border-radius:5px}.gen-split.addsplit .btn-primary{border-radius:5px}.gen-split.addsplit .addsplit-main{border-top-right-radius:0;border-bottom-right-radius:0}.gen-split.addsplit .addsplit-caret{border-top-left-radius:0;border-bottom-left-radius:0;margin-left:0;border-left:1px solid rgba(255,255,255,.35);padding:0 8px}.esb-grid-wrap{border:1px solid var(--border);border-radius:8px;background:#fff}.esb-row{display:grid;gap:4px;align-items:start;padding:3px 8px;border-bottom:1px solid #eee}.esb-head{background:#1a3a5c;color:#fff;font-size:10.5px;font-weight:700;text-transform:uppercase;padding:7px 8px;align-items:center;position:sticky;top:42px;z-index:20}.esb-head .num{text-align:right}.esb-secrow{display:flex;align-items:center;gap:8px;background:#eef2f7;border-bottom:1px solid #d5dde7;padding:5px 10px}.esb-secrow-alt{background:#fff3e0}.esb-secname{flex:0 1 320px;border:1px solid transparent;background:transparent;font-weight:700;font-size:12.5px;color:#1a3a5c;font-family:inherit;padding:3px 6px;border-radius:4px}.esb-secname:hover,.esb-secname:focus{border-color:#b8c6d8;background:#fff}.esb-alttag{font-size:10px;font-weight:700;color:#e65100}.esb-sectotal{margin-left:auto;font-size:12px;font-weight:700;color:#1a3a5c}.esb-num{display:flex;align-items:center;gap:3px;font-size:11px;color:#888;padding-top:6px}.esb-subnum{padding-left:6px;color:#f57c00;font-weight:700;white-space:nowrap}.esb-itemcell{display:flex;flex-direction:column;gap:2px;min-width:0}.esb-subrow{background:#fafbfd}.esb-subrow .esb-itemcell{flex-direction:row;align-items:center;gap:6px;padding-left:14px}.esb-in{border:1px solid transparent;border-radius:3px;padding:4px 5px;font-size:12px;font-family:inherit;background:transparent;width:100%;min-width:0}.esb-in:hover{border-color:#d8dee6}.esb-in:focus{border-color:#f57c00;background:#fff;outline:none}.esb-in.num{text-align:right}.esb-override{color:#b26500;font-weight:700}.esb-name{font-weight:600;font-size:12.5px}.esb-desc{border:1px solid transparent;border-radius:3px;padding:2px 5px;font-size:11px;color:#666;font-family:inherit;resize:none;background:transparent}.esb-desc:hover{border-color:#d8dee6}.esb-desc:focus{border-color:#f57c00;background:#fff;outline:none;color:#333}.esb-sel{border:1px solid #d8dee6;border-radius:3px;padding:3px 2px;font-size:11.5px;font-family:inherit;width:100%}.esb-cell{display:flex;align-items:center;padding-top:2px}.esb-calc{font-size:11.5px;color:#555;width:100%;padding:4px 5px}.esb-calc.num,.esb-value.num{text-align:right}.esb-value{font-size:12px;font-weight:700;padding-top:6px}.esb-neg{color:#c62828}.esb-kebab{border:none;background:none;font-size:15px;color:#999;cursor:pointer;padding:4px 6px;border-radius:4px;opacity:0}.esb-row:hover .esb-kebab{opacity:1}.esb-kebab:hover{background:#eef2f7;color:#1a3a5c}.esb-addrow{padding:3px 40px 6px;border-bottom:1px solid #eee;display:flex;gap:22px}.esb-dragover{box-shadow:inset 0 2px #f57c00}.esb-adddeduct{align-self:flex-start;border:1px solid #2e7d32;color:#2e7d32;background:#fff;font-size:9.5px;font-weight:700;border-radius:3px;padding:1px 7px;cursor:pointer}.esb-adddeduct.deduct{border-color:#c62828;color:#c62828}.esb-totals{display:flex;justify-content:space-between;gap:30px;margin-top:12px;align-items:flex-start}.esb-mk{display:flex;gap:12px}.esb-mk label{display:flex;flex-direction:column;gap:3px;font-size:11px;font-weight:700;color:#555}.esb-mk input{width:90px;border:1px solid var(--border);border-radius:4px;padding:5px 8px;font-size:13px;font-family:inherit}.esb-sums{min-width:340px}.esb-sums>div{display:flex;justify-content:space-between;font-size:12.5px;padding:3px 0;color:#444}.esb-grand{border-top:2px solid #1a3a5c;margin-top:4px;padding-top:6px!important;font-weight:700;font-size:14px!important;color:#1a3a5c!important}.esb-menu{position:fixed;z-index:300;background:#fff;border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 28px #0000002e;padding:5px;display:flex;flex-direction:column;min-width:190px;max-height:calc(100vh - 16px);overflow-y:auto}.esb-menu button{border:none;background:none;text-align:left;font-size:12.5px;padding:6px 12px;cursor:pointer;border-radius:4px;font-family:inherit}.esb-menu button:hover{background:#eef2f7}.esb-menu-label{font-size:10px;font-weight:700;text-transform:uppercase;color:#999;padding:5px 12px 2px}.esb-menu-sep{height:1px;background:#eee;margin:4px 6px}.esb-menu-danger{color:#c62828}.esb-colslist{display:flex;flex-direction:column;gap:2px}.esb-colrow{display:flex;align-items:center;gap:9px;font-size:13px;padding:5px 4px;cursor:pointer}.esb-lockbar{display:flex;align-items:center;gap:10px;background:#fdecea;border:1px solid #f5c6c2;border-radius:6px;padding:8px 14px;font-size:12.5px;margin-bottom:10px;color:#7a1f1a}.esb-readonly .esb-grid-wrap input,.esb-readonly .esb-grid-wrap select,.esb-readonly .esb-grid-wrap textarea,.esb-readonly .esb-kebab,.esb-readonly .esb-addrow,.esb-readonly .esb-toolbar .btn-small,.esb-readonly .esb-mk input,.esb-readonly .esb-adddeduct,.esb-readonly .drag-handle{pointer-events:none}.esb-readonly .esb-grid-wrap,.esb-readonly .esb-mk{opacity:.82}.esb-exrow{display:grid;grid-template-columns:30px minmax(200px,1fr) minmax(300px,2fr) 34px;gap:6px;padding:4px 8px;border-bottom:1px solid #eee;align-items:start}.gen-split{display:inline-flex}.gen-split .btn-small:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.gen-caret{border-top-left-radius:0!important;border-bottom-left-radius:0!important;padding:2px 5px!important;margin-left:-1px}.ratepick{position:relative}.ratepick-menu{position:absolute;z-index:50;top:100%;left:0;background:#fff;border:1px solid var(--border);border-radius:6px;box-shadow:0 8px 24px #00000029;width:320px;max-height:260px;overflow-y:auto;padding:4px}.ratepick-menu input{width:100%;border:1px solid var(--border);border-radius:4px;padding:5px 8px;font-size:12px;margin-bottom:4px;font-family:inherit}.ratepick-opt{display:flex;justify-content:space-between;gap:8px;padding:5px 8px;font-size:12px;cursor:pointer;border-radius:4px}.ratepick-opt:hover{background:#eef2f7}.ratepick-opt .muted{font-size:10.5px}.esb-ratebtn{border:none;background:none;cursor:pointer;font-size:12px;color:#f57c00;padding:2px 4px}.esb-ratebadge{display:inline-flex;align-items:center;gap:4px;background:#eef2f7;border:1px solid #c6d2e0;color:#1a3a5c;font-size:10px;font-weight:700;border-radius:10px;padding:1px 7px;white-space:nowrap;overflow:hidden}.esb-ratebadge-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.esb-ratebadge-x{flex:0 0 auto;border:none;background:none;cursor:pointer;color:#98a6b8;font-size:10px;padding:0 1px}.esb-ratebadge-x:hover{color:#c62828}.esb-subrow .esb-itemcell{flex-wrap:wrap}.esb-ratebadge{flex-basis:100%;align-self:flex-start;margin-left:44px;max-width:fit-content}.esb-subrow .esb-subcell{flex-direction:column!important;align-items:stretch;gap:3px;flex-wrap:nowrap}.esb-subtools{display:flex;align-items:center;gap:7px;width:100%;min-width:0}.esb-subtools .esb-ratebadge{flex:0 1 auto;min-width:0;overflow:hidden}.esb-subtools>.ratepick{flex:0 0 auto}.esb-subtools .asm-chip{flex:0 0 auto}.esb-chev{border:none;background:none;cursor:pointer;color:#1a3a5c;font-size:11px;padding:0 2px}.esb-chev:hover{color:#f57c00}.esb-dragover-after{box-shadow:inset 0 -2px #f57c00}.esb-value-alt{display:flex;flex-direction:column;align-items:flex-end;gap:3px}.esb-calc{border:1px solid transparent}.esb-editable{cursor:cell;border-radius:3px}.esb-editable:hover{background:#f2f6fb;border-color:#d8dee6}.esb-calc.esb-override{color:#b26500;font-weight:700}.esb-asmchip{display:inline-flex;align-items:center;gap:4px;background:#1a3a5c;color:#fff;font-size:10px;font-weight:700;border-radius:10px;padding:1px 8px;max-width:fit-content}.esb-asmchip-ov{background:#b26500}.esb-asmchip-ov .esb-ratebadge-x{color:#fff}.esb-hrsfield{display:inline-flex;align-items:center;gap:5px;font-size:10px;font-weight:700;color:#1a3a5c;text-transform:uppercase;letter-spacing:.3px;flex:0 0 auto}.esb-hrsin{width:64px;border:1px solid #d8dee6;border-radius:3px;padding:3px 5px;font-size:12px;font-family:inherit;text-align:right}.esb-hrsin:focus{border-color:#f57c00;outline:none}.esb-countcell{display:flex;flex-direction:column;align-items:flex-end;gap:1px;width:100%;min-width:0}.esb-countcell>input{width:100%}.esb-countnote{font-size:8.5px;font-weight:700;color:#8a94a0;text-transform:uppercase;letter-spacing:.3px;white-space:nowrap}.esheet-row .esb-countnote{display:none}.esb-pricecell{display:flex;align-items:center;gap:3px;width:100%;min-width:0}.esb-pricecell>input{flex:1;min-width:0}.esb-libbtn{flex:none;border:1px solid #c9d4e0;background:#eef2f7;color:#1a3a5c;border-radius:3px;font-size:11px;line-height:1;padding:3px 4px;cursor:pointer}.esb-libbtn:hover{background:#dde6f0}.ratepick-menu-right{left:auto;right:0}.esheet-head2{flex-direction:column;align-items:flex-start!important;justify-content:center;line-height:1.05}.esb-viewtoggle{display:inline-flex}.esb-viewtoggle .btn-small{border-radius:0}.esb-viewtoggle .btn-small:first-child{border-radius:4px 0 0 4px}.esb-viewtoggle .btn-small:last-child{border-radius:0 4px 4px 0;margin-left:-1px}.esb-viewtoggle .esb-view-on{background:#1a3a5c;color:#fff;border-color:#1a3a5c;font-weight:700}.esheet-wrap{min-width:1290px}.esheet-row input[type=number]::-webkit-outer-spin-button,.esheet-row input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.esheet-row input[type=number]{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.page:has(.esb-sheetmode){max-width:none}.esheet-row .esb-cell{min-width:0}.esb-row.esheet-row{gap:0;padding:0;align-items:stretch}.esheet-row>*{border-right:1px solid #e2e8f0;padding:1px 2px;min-width:0}.esheet-row>*:last-child{border-right:none}.esheet-row .esb-num{padding-top:0;justify-content:center}.esheet-row .esb-itemcell{padding:2px 5px;justify-content:center}.esheet-row .esb-cell{align-items:center;padding-top:1px}.esheet-row .esb-value{display:flex;align-items:center;justify-content:flex-end;padding:1px 7px 1px 2px}.esheet-row .esheet-act{align-items:center;padding-right:5px}.esheet-row .esb-calc{padding:4px 5px}.esb-head.esheet-row>*{border-right:1px solid rgba(255,255,255,.22);padding:7px;display:flex;align-items:center}.esb-head.esheet-row>*:last-child{border-right:none}.esb-head.esheet-row .num{justify-content:flex-end}.esb-head.esheet-row .ctr{justify-content:center}.esb-head.esheet-row .esb-value{padding:7px}.esheet-row.esb-subrow .esb-itemcell{padding-left:16px}.esheet-unittag{font-size:9px;color:#5d6b7c;font-weight:700;letter-spacing:.3px}.esheet-act{display:inline-flex;gap:3px;justify-content:flex-end;align-items:center}.esheet-addsub{border:1px solid #c9d4e0;background:#eef2f7;color:#1a3a5c;font-size:10px;font-weight:700;border-radius:4px;padding:2px 6px;cursor:pointer}.esheet-addsub:hover{background:#dde6f0}.esheet-del{border:none;background:none;color:#b91c1c;font-size:11px;cursor:pointer;opacity:0;padding:2px 4px}.esheet-row:hover .esheet-del{opacity:1}.esb-readonly .esheet-addsub,.esb-readonly .esheet-del{pointer-events:none;opacity:.3}.esb-seckebab{opacity:0}.esb-secrow:hover .esb-seckebab{opacity:1}.modal.savelib{width:740px}.savelib-lines{border:1px solid var(--border);border-radius:6px;margin-top:10px;max-height:300px;overflow-y:auto}.savelib-line{display:grid;grid-template-columns:44px minmax(160px,1.4fr) minmax(170px,1fr) minmax(150px,1fr);gap:8px;align-items:center;padding:5px 10px;border-bottom:1px solid #eee;font-size:12px}.savelib-line:last-child{border-bottom:none}.savelib-head{background:#f5f5f5;font-size:10px;font-weight:700;color:#555;text-transform:uppercase}.savelib-desc{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.savelib-rate{font-size:11px;color:#555}.savelib-line select{width:100%;font-size:11.5px;padding:3px 4px;border:1px solid #d8dee6;border-radius:4px}.modal.scopeimp{width:900px}.scopeimp-drop{display:flex;align-items:center;justify-content:center;gap:12px;border:2px dashed #c9d4e0;border-radius:8px;padding:34px 20px;color:#4b5563;font-size:13px;background:#f8fafc}.scopeimp-drop-over{border-color:var(--orange);background:#fff7ed}.scopeimp-browse{cursor:pointer}.scopeimp-list{border:1px solid var(--border);border-radius:6px;margin-top:8px;max-height:380px;overflow-y:auto}.scopeimp-row{display:grid;grid-template-columns:24px minmax(200px,1.6fr) 48px 64px 42px 90px 100px 130px;gap:6px;align-items:center;padding:4px 8px;border-bottom:1px solid #eee;font-size:11.5px}.scopeimp-head .num{text-align:right}.scopeimp-dest{width:100%;font-size:11px;padding:2px 3px;border:1px solid #d8dee6;border-radius:4px}.scopeimp-sheetpick{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700;color:#1a3a5c;margin-bottom:8px}.scopeimp-maplist{display:grid;grid-template-columns:1fr 1fr;gap:4px 18px;border:1px solid var(--border);border-radius:6px;padding:10px 12px;max-height:380px;overflow-y:auto}.scopeimp-maprow{display:grid;grid-template-columns:minmax(150px,1.2fr) minmax(130px,1fr);align-items:center;gap:8px;font-size:12px}.scopeimp-maprow select{font-size:11.5px;padding:3px 4px;border:1px solid #d8dee6;border-radius:4px;min-width:0}.scopeimp-mapreq{font-weight:700;color:#1a3a5c}.scopeimp-row:last-child{border-bottom:none}.scopeimp-head{background:#f5f5f5;font-size:10px;font-weight:700;color:#555;text-transform:uppercase}.scopeimp-off{opacity:.4}.scopeimp-desc{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.scopeimp-row .num{text-align:right}.scopeimp-row .esb-asmchip,.scopeimp-row .esb-ratebadge{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tkb-ratenote{font-size:10.5px;color:#6b7280;align-self:center;max-width:340px}.tkb-scope{margin-bottom:10px}.tkb-scope label{display:flex;flex-direction:column;gap:4px;font-size:11px;font-weight:700;color:#1a3a5c;text-transform:uppercase}.tkb-scope textarea{border:1px solid var(--border);border-radius:6px;padding:7px 10px;font-size:12.5px;font-family:inherit;resize:vertical;font-weight:400;text-transform:none}.tkb-card{border:1px solid var(--border);border-radius:8px;background:#fff;margin-bottom:12px;overflow:hidden}.tkb-emptycard{padding:26px 20px;text-align:center;color:#6b7280;font-size:13px}.tkb-cardhead{display:flex;align-items:center;gap:8px;background:#1a3a5c;color:#fff;padding:7px 12px;font-size:12.5px}.tkb-draghandle{cursor:grab;color:#ffffff8c;letter-spacing:-2px;font-size:13px;-webkit-user-select:none;user-select:none;padding:0 2px}.tkb-draghandle:hover{color:#fff}.tkb-dragover-before{box-shadow:0 -3px 0 0 var(--orange)}.tkb-dragover-after{box-shadow:0 3px 0 0 var(--orange)}.tkb-readonly .tkb-draghandle{display:none}.tkb-headin{border:1px solid rgba(255,255,255,.35);background:#ffffff1f;color:#fff;border-radius:3px;padding:3px 8px;font-size:11px;width:150px;font-family:inherit}.tkb-headin::placeholder{color:#ffffff8c}.tkb-headin-wide{width:230px}.tkb-headbtn{background:#ffffff26;color:#fff;border-color:transparent}.tkb-headbtn:hover{background:#ffffff47}.tkb-cardhead .btn-link-danger{color:#ffab91}.tkb-desc{display:flex;padding:6px 12px;border-bottom:1px solid #eee;background:#fff}.tkb-desc label{display:flex;align-items:center;gap:10px;flex:1;font-size:10.5px;font-weight:700;color:#555;text-transform:uppercase}.tkb-desc .esb-in{flex:1;font-size:12.5px;text-transform:none;font-weight:400;border-color:#e3e8ee}.tkb-subhead{padding:4px 12px 3px;font-size:10.5px;font-weight:700;color:#555;background:#f8f9fa;border-bottom:1px solid #eee;text-transform:uppercase}.tkb-row{display:grid;gap:6px;align-items:center;padding:2px 10px;border-bottom:1px solid #f0f0f0;font-size:12px}.tkb-labor{grid-template-columns:minmax(140px,1.2fr) 90px minmax(150px,1fr) 64px 70px 110px 96px 26px}.tkb-mat{grid-template-columns:minmax(230px,1.6fr) 96px 64px 56px 100px 96px 26px}.tkb-head{background:#fbfcfd;font-size:10px;font-weight:700;color:#667;text-transform:uppercase;padding:4px 10px}.tkb-row .num{text-align:right}.tkb-empty{padding:6px 12px;color:#9aa4af;font-style:italic;font-size:11.5px;border-bottom:1px solid #f0f0f0}.tkb-basecell{display:inline-flex;align-items:center;gap:2px;justify-content:flex-end}.tkb-basecell .esb-ratebadge-x{color:#b26500}.tkb-ext{font-weight:700;color:#1a3a5c}.tkb-desccell{display:flex;flex-direction:column;gap:1px;align-items:flex-start;min-width:0}.tkb-desccell>.esb-in{width:100%}.tkb-mattools{display:flex;gap:6px;align-items:center;min-width:0;max-width:100%;padding-left:4px}.tkb-mattools .esb-ratebadge{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tkb-row .esheet-del{opacity:0}.tkb-row:hover .esheet-del{opacity:1}.tkb-attach{display:inline-flex;align-items:center;gap:4px;max-width:260px;background:#ffffff26;border-radius:12px;padding:1px 8px;font-size:11.5px}.tkb-attach .btn-link{color:#fff}.tkb-attach-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:220px}.tkb-attach-add{cursor:pointer}.pv-ticket{margin-top:6px}.pv-ticket-desc{font-size:12px;margin:4px 0 2px;white-space:pre-wrap}.pv-ticket-table{margin-top:6px;table-layout:fixed}.pv-ticket-table td{overflow-wrap:anywhere}.pv-ticket-totals{width:360px}.pv-attach{break-before:page;page-break-before:always}.pv-attach-page{break-before:page;page-break-before:always;text-align:center}.pv-attach-page:first-child{break-before:auto;page-break-before:auto}.pv-attach-cap{font-size:10.5px;color:#6b7280;text-align:left;border-bottom:1px solid #ddd;padding-bottom:4px;margin:14px 0 8px}.pv-attach-page img{max-width:100%;max-height:9in;object-fit:contain}.pv-attach-loading{margin-top:20px}.tkb-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:14px 0}.tkb-sumcard{border:1px solid var(--border);border-radius:8px;background:#fff;padding:8px 12px}.tkb-sumlabel{font-size:10px;font-weight:700;color:#667;text-transform:uppercase}.tkb-sumval{font-size:15px;font-weight:700;color:#1a3a5c;margin-top:2px}.tkb-sumtotal{background:#1a3a5c}.tkb-sumtotal .tkb-sumlabel{color:#ffffffbf}.tkb-sumtotal .tkb-sumval{color:#fff;font-size:17px}.tkb-readonly input,.tkb-readonly select,.tkb-readonly textarea{pointer-events:none}.tkb-readonly .tkb-headbtn,.tkb-readonly .esheet-del,.tkb-readonly .btn-link-danger{pointer-events:none;opacity:.35}.tkb-countpick{display:flex;flex-direction:column;gap:6px;margin-top:10px;padding:10px 12px;background:#e8f0fe;border:1px solid #c5d4f0;border-radius:6px;font-size:12.5px}.tkb-countpick label{display:flex;align-items:center;gap:8px;cursor:pointer}.tkb-previewcard{border-bottom:1px solid #eee;padding:8px 12px}.tkb-previewcard:last-child{border-bottom:none}.tkb-previewhead{font-size:12.5px}.tkb-previewdesc{font-size:11.5px;margin:2px 0}.tkb-previewbody{font-size:11.5px;color:#374151;display:flex;flex-direction:column;gap:1px;margin-top:4px}.asmest{background:#f7f9fc;border-bottom:1px solid var(--border);padding:8px 14px 10px 44px}.asmest-inputs{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;background:#e8f0fe;border:1px solid #c5cae9;border-radius:6px;padding:7px 12px;margin-bottom:8px}.asmest-qtynote{font-size:11.5px;color:#1a3a5c;font-weight:700;padding:4px 0}.asmest-comps{border:1px solid var(--border);border-radius:6px;overflow:hidden;background:#fff}.asmest-row{display:grid;grid-template-columns:26px minmax(240px,1.6fr) 82px 52px 120px 132px 70px 130px;gap:6px;align-items:center;padding:3px 10px;border-bottom:1px solid #ececec;font-size:11.5px}.asmest-head{background:#f5f5f5;font-size:10px;font-weight:700;color:#555;text-transform:uppercase}.asmest-row .num{text-align:right}.asmest-excluded{opacity:.45}.asmest-crew{font-size:10px;color:#777}.asmest-rate{width:86px;border:1px solid #d8dee6;border-radius:3px;padding:2px 5px;font-size:11.5px;font-family:inherit;text-align:right}.asmest-prod{display:inline-flex;align-items:center;gap:5px}.asmest-prod button{border:1px solid #c6d2e0;background:#fff;border-radius:3px;width:20px;height:20px;cursor:pointer;font-weight:700;color:#1a3a5c;line-height:1}.asmest-prod-off{color:#b26500}.asmest-hrs{font-size:10.5px;color:#555}.asmest-ext{display:inline-flex;align-items:center;gap:3px;justify-content:flex-end}.asmest-extra{background:#fbf7ff}.asmest-xdesc{border:1px solid #d8dee6;border-radius:3px;padding:2px 5px;font-size:11.5px;font-family:inherit;width:70%}.asmest-uom{width:52px;border:1px solid #d8dee6;border-radius:3px;padding:2px 5px;font-size:11.5px;font-family:inherit}.asmest-addrow{padding:5px 10px}.asmest-addform{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.asmest-addform input,.asmest-addform select{border:1px solid #d8dee6;border-radius:3px;padding:3px 6px;font-size:11.5px;font-family:inherit}.asmest-manhrs{font-size:11.5px;color:#1a3a5c;font-weight:600}.esb-totals{flex-wrap:wrap}.esb-mk-rates{border-right:1px solid var(--border);padding-right:14px}.esb-mk-rates select{border:1px solid var(--border);border-radius:4px;padding:5px 6px;font-size:12px;font-family:inherit;max-width:210px}.esb-rates-top{background:#f4f7fb;border:1px solid var(--border);border-radius:8px;padding:8px 14px 10px;margin-bottom:10px;border-right:1px solid var(--border)}.esb-co-desc,.esb-breakdown{margin-bottom:10px}.pset-grid{display:flex;flex-direction:column;gap:8px;max-width:420px}.pset-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.pset-row .pset-label{font-size:13px;font-weight:600;color:#333}.pset-row select{border:1px solid var(--border);border-radius:5px;padding:5px 8px;font-size:13px;font-family:inherit}.pset-check{display:flex;align-items:center;gap:8px;font-size:13px;color:#333;cursor:pointer}.sample-modal{max-width:560px;width:92%}.sample-proposal{background:#fff;border:1px solid var(--border);border-radius:8px;padding:18px 22px;margin-top:6px}.sample-doc-head{text-align:center;border-bottom:2px solid var(--navy);padding-bottom:8px;margin-bottom:12px}.sample-doc-title{font-weight:800;color:var(--navy);letter-spacing:.5px}.sample-doc-sub{font-size:12px;color:#667;margin-top:2px}.sample-sec{margin-bottom:12px}.sample-sec-name{font-weight:700;color:var(--navy);font-size:13px;margin-bottom:4px}.sample-line{display:flex;align-items:baseline;gap:10px;font-size:13px;padding:2px 0}.sample-line-desc{flex:1}.sample-line-qty{color:#667;font-size:12px;min-width:72px;text-align:right}.sample-line-price{min-width:90px;text-align:right;font-variant-numeric:tabular-nums}.sample-subtotal{font-weight:600;border-top:1px dashed var(--border);margin-top:2px;padding-top:4px}.sample-total{display:flex;justify-content:space-between;font-weight:800;color:var(--navy);font-size:15px;border-top:2px solid var(--navy);margin-top:10px;padding-top:8px}.sample-block{margin-top:12px}.sample-block-head{font-weight:700;color:var(--navy);font-size:12px;text-transform:uppercase;letter-spacing:.4px;margin-bottom:4px}.esb-co-desc label{display:flex;flex-direction:column;gap:3px;font-size:11px;font-weight:700;color:#555}.esb-co-desc textarea{width:100%;box-sizing:border-box;border:1px solid var(--border);border-radius:4px;padding:6px 8px;font-size:13px;font-family:inherit;resize:vertical}.status-chip-select{border:1px solid transparent;border-radius:12px;font-size:11px;font-weight:700;padding:2px 6px;font-family:inherit;cursor:pointer;-webkit-appearance:auto;-moz-appearance:auto;appearance:auto;max-width:100%;background-color:#eef2f7}.status-chip-select:hover{border-color:#9db2c7}.status-chip-select.bst-TO_BID{background:#e3f2fd;color:#0d47a1}.status-chip-select.bst-IN_PROGRESS{background:#fff8e1;color:#b26500}.status-chip-select.bst-TAKEOFF_COMPLETE{background:#ede7f6;color:#4527a0}.status-chip-select.bst-SENT{background:#e0f2f1;color:#00695c}.status-chip-select.bst-WON{background:#e8f5e9;color:#1b5e20}.status-chip-select.bst-LOST{background:#fdecea;color:#b71c1c}.status-chip-select.bst-SEE_REVISION{background:#fdecea;color:#8e2424}.status-chip-select.bst-NOT_BID{background:#eceff1;color:#546e7a}.status-chip-select.ap-need_to_price{background:#fff8e1;color:#b26500}.status-chip-select.ap-price_sent{background:#e3f2fd;color:#0d47a1}.status-chip-select.ap-co_approved{background:#e8f5e9;color:#1b5e20}.status-chip-select.ap-rejected{background:#fdecea;color:#b71c1c}.status-chip-select.ap-see_revision{background:#fdecea;color:#8e2424}.status-chip-select.ap-contract_scope{background:#ede7f6;color:#4527a0}.status-chip-select.ws-not_started{background:#e3f2fd;color:#0d47a1}.status-chip-select.ws-working{background:#e8f5e9;color:#1b5e20}.status-chip-select.ws-complete{background:#eceff1;color:#546e7a}.modal-co-approved{max-width:560px}.co-num-hint{font-size:12px;margin:4px 0 10px}.co-num-hint .btn-link{font-size:12px}.co-appr-lines{border:1px solid var(--border, #e2e8f0);border-radius:6px;margin:10px 0 4px;max-height:240px;overflow-y:auto}.co-appr-lines-head{display:flex;justify-content:space-between;padding:6px 10px;font-size:11px;font-weight:700;text-transform:uppercase;color:#4b5563;background:#f6f8fa;border-bottom:1px solid var(--border, #e2e8f0);position:sticky;top:0}.co-appr-line{display:grid;grid-template-columns:1fr 90px 42px;gap:8px;align-items:center;padding:5px 10px;font-size:12.5px;border-bottom:1px solid #f0f2f5}.co-appr-line:last-child{border-bottom:none}.co-appr-line-desc{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.co-appr-line-act{text-align:right}.co-appr-line-act .btn-link{font-size:12px}.co-appr-tag{display:inline-block;background:#ede7f6;color:#4527a0;font-size:10px;font-weight:700;border-radius:8px;padding:1px 6px;margin-right:6px}.co-approved-sov{margin:10px 0 4px}.co-approved-note{color:#15803d;font-weight:600}.co-sov-pick{display:flex;flex-direction:column;gap:2px;margin:6px 0}.co-log-instead{font-size:12px;margin-top:6px}.sovm-cogrid{display:grid;grid-template-columns:88px 48px minmax(150px,1fr) 90px 66px 172px;gap:8px;align-items:center;padding:6px 4px;font-size:13px}.sovm-cogrid.sovm-head{font-weight:700;color:#4b5563;border-bottom:2px solid var(--navy, #1a3a5c);font-size:11px;text-transform:uppercase}.sovm-corow{border-bottom:1px solid #eef1f4}.sovm-openreq{background:#fbfbfb}.sovm-openreq-sub{font-size:11.5px;font-weight:400;text-transform:none;margin-left:8px}.co-added-badge{color:#15803d;font-weight:700;font-size:12px;white-space:nowrap}.co-drift-warn{color:#b45309;cursor:help}.status-chip.ws-not_started{background:#e3f2fd;color:#0d47a1}.status-chip.ws-working{background:#e8f5e9;color:#1b5e20}.status-chip.ws-complete{background:#eceff1;color:#546e7a}.chip-preset{font-weight:700;margin-right:10px}.co-outstanding{font-size:12.5px;color:#555;margin:0 0 10px}.co-outstanding strong{color:var(--navy, #1a3a5c)}.insov-yes{color:#15803d;font-weight:700}.insov-no{color:#9ca3af}.co-unmatched{margin-top:26px}.co-unmatched-head{color:#c62828}.co-unmatched-sub{margin:2px 0 10px;font-size:12.5px}.co-link-list{display:flex;flex-direction:column;max-height:320px;overflow-y:auto;margin-top:10px;border:1px solid var(--border, #e2e8f0);border-radius:6px;padding:4px}.co-link-list .menu-item{text-align:left;border:none;background:none;padding:7px 10px;border-radius:4px;cursor:pointer;font-size:13px;font-family:inherit}.co-link-list .menu-item:hover{background:#eef2f7}.markout-expired{color:#c62828;font-weight:700}.markout-expiring{color:#b26500;font-weight:700}.status-chip.mk-requested{background:#e3f2fd;color:#0d47a1}.status-chip.mk-marked_out{background:#e8f5e9;color:#1b5e20}.status-chip.mk-expired{background:#fdecea;color:#b71c1c}.status-chip.mk-cancelled{background:#eceff1;color:#546e7a}.pv-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f1c2d8c;z-index:400;display:flex}.pv-shell{background:#eef1f5;margin:18px;border-radius:10px;flex:1;display:flex;flex-direction:column;overflow:hidden}.pv-top{display:flex;align-items:center;gap:10px;padding:10px 18px;background:#1a3a5c;color:#fff}.pv-top h2{margin:0;font-size:15px}.pv-body{flex:1;display:flex;overflow:hidden}.pv-paper-wrap{flex:1;overflow-y:auto;padding:22px}.pv-doc{background:#fff;width:8.5in;max-width:100%;margin:0 auto;padding:.6in .65in;box-shadow:0 6px 30px #00000040;font-size:12px;line-height:1.4;color:#1f2733;-webkit-print-color-adjust:exact;print-color-adjust:exact}.pv-co{font-size:21px;font-weight:800;color:#1a3a5c;letter-spacing:.4px}.pv-sub{font-size:11.5px;font-weight:700;color:#f57c00;letter-spacing:2.5px;margin-top:3px}.pv-rule{height:3px;background:#1a3a5c;margin:8px 0 14px}.pv-info{width:100%;border-collapse:collapse;margin-bottom:14px}.pv-info td{padding:3px 0;font-size:12px}.pv-sechead{font-size:12px;font-weight:800;color:#1a3a5c;border-bottom:2px solid #1a3a5c;margin:18px 0 6px;padding-bottom:3px;letter-spacing:1px}.pv-scope p{font-size:12px;margin:4px 0;white-space:pre-wrap}.pv-table{width:100%;border-collapse:collapse;margin-top:12px}.pv-table th{background:#1a3a5c;color:#fff;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;padding:6px 8px;text-align:left}.pv-table td{padding:6px 8px;border-bottom:1px solid #eaedf1;font-size:12px;vertical-align:top}.pv-table .num,.pv-table th.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.pv-secrow td{background:#eef2f7;font-weight:800;color:#1a3a5c;font-size:10.5px;text-transform:uppercase;letter-spacing:.7px;padding-top:7px;padding-bottom:5px;border-top:1px solid #d4dde8;border-bottom:1px solid #d4dde8}.pv-subtotal td{font-weight:700;color:#1a3a5c;background:#f7f9fc;border-top:1.5px solid #1a3a5c;border-bottom:1px solid #d4dde8;padding-top:6px;padding-bottom:6px}.pv-kid td{color:#5b636e;font-size:11px;padding-top:3px;padding-bottom:3px;border-bottom:1px solid #f2f4f6}.pv-kid td:nth-child(2){padding-left:18px}.pv-notes{color:#5b636e;font-size:11px;margin-top:2px}.pv-dim{color:#5b636e;font-size:11px;margin-left:6px}.pv-totals{margin-top:16px;margin-left:auto;width:320px}.pv-totals>div{display:flex;justify-content:space-between;font-size:12px;padding:3px 0;font-variant-numeric:tabular-nums}.pv-grand{border-top:2px solid #1a3a5c;margin-top:5px;padding-top:7px!important;font-weight:800;font-size:14px!important;color:#1a3a5c}.pv-altrow{display:flex;justify-content:space-between;font-size:12px;padding:2px 0}.pv-excl ol{margin:4px 0 0 18px;padding:0;font-size:12px}.pv-excl li{margin-bottom:2px}.pv-foot{margin-top:26px;text-align:center;font-size:10.5px;color:#777;border-top:1px solid #ddd;padding-top:8px}.pv-ntp{break-before:page;page-break-before:always;margin-top:40px;padding-top:28px;border-top:2px dashed #c9d0d8}.pv-ntp-info td{vertical-align:top;line-height:1.5}.pv-ntp-blank{display:inline-block;width:150px;border-bottom:1px solid #1f2733;height:12px;vertical-align:baseline}.pv-ntp-blank-wide{width:260px}.pv-ntp-box{display:inline-block;width:11px;height:11px;border:1px solid #1f2733;vertical-align:-1px;margin-right:3px;font-size:10px;line-height:11px;text-align:center}.pv-ntp-box-on{background:#1f2733;color:#fff}.pv-ntp-nte input{width:110px;margin-left:4px;font-size:12px;padding:2px 6px}.pv-ntp-terms{margin:14px 0 0;padding-left:20px;font-size:11.5px;line-height:1.55}.pv-ntp-terms li{margin:0 0 8px}.pv-rates-sub{color:#6b7280;font-size:11px;margin:4px 0 12px}.pv-rates-table{width:100%;border-collapse:collapse;font-size:10.5px}.pv-rates-table th{background:#1a3a5c;color:#fff;text-align:left;padding:5px 7px;font-size:10px}.pv-rates-table th.num,.pv-rates-table td.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.pv-rates-table td{padding:4px 7px;border-bottom:1px solid #e5e7eb}.pv-rates-table tr.grp td{background:#eef1f4;font-weight:700;color:#1a3a5c;border-top:1px solid #cbd5e1}@media print{.pv-rates-table tr{page-break-inside:avoid}}.pv-ntp-line{display:flex;gap:10px;align-items:flex-end;margin:12px 0;font-size:12px}.pv-ntp-fill{flex:1;border-bottom:1px solid #1f2733;min-height:16px}.pv-ntp-fill-short{flex:0 0 150px}.pv-ntp-sigs{display:grid;grid-template-columns:minmax(0,420px);margin-top:26px}.pv-ntp-sig{display:flex;gap:10px;align-items:flex-end;margin:12px 0;font-size:11.5px}.pv-ntp-sig>span:first-child{flex:0 0 82px;color:#444}.pv-ntp-hint{flex:0 0 auto;font-size:10px;color:#777;padding-left:6px}.pv-ntp-sig-tall{margin-top:8px}.pv-ntp-sig-tall .pv-ntp-fill{min-height:30px}.pv-ntp-note{margin-top:34px;text-align:center;font-size:10.5px;color:#777;border-top:1px solid #ddd;padding-top:8px}@media print{.pv-ntp{margin-top:0;padding-top:0;border-top:0}}.pv-panel{width:280px;background:#fff;border-left:1px solid var(--border);padding:14px 16px;overflow-y:auto}.pv-panel h3{margin:0 0 10px;font-size:13px;color:#1a3a5c;text-transform:uppercase;letter-spacing:1px}.pv-opt{display:flex;flex-direction:column;gap:4px;font-size:12px;font-weight:700;color:#444;margin-bottom:10px}.pv-opt select,.pv-opt textarea{border:1px solid var(--border);border-radius:4px;padding:5px 7px;font-size:12px;font-family:inherit;font-weight:400}.pv-check{display:flex;align-items:center;gap:8px;font-size:12.5px;padding:3px 0;cursor:pointer}.pv-check-sub{padding-left:22px;color:#4b5563}.pv-check-sub2{padding-left:42px;color:#6b7280}.pv-check-disabled{color:#9aa3ad;cursor:not-allowed}.pv-bk-warn{font-size:11px;color:#b54708;background:#fef0c7;border-radius:5px;padding:5px 8px;margin:4px 0}.pv-bk-toggle{font-size:12px;padding:3px 0}.pv-bk-editor{border:1px solid var(--border);border-radius:6px;padding:8px;margin-bottom:10px;background:#fafbfc}.pv-bk-sums{display:flex;gap:12px;flex-wrap:wrap;font-size:11.5px;color:#4b5563;margin-bottom:6px}.pv-bk-sums b{color:var(--navy)}.pv-bk-row{display:grid;grid-template-columns:1fr 78px 108px;gap:6px;align-items:center;padding:3px 0;font-size:11.5px}.pv-bk-desc{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pv-bk-amt{text-align:right;font-variant-numeric:tabular-nums;color:#4b5563}.pv-bk-row select{font-family:inherit;font-size:11.5px;padding:3px 5px;border:1px solid var(--border);border-radius:4px}.esb-breakdown-bar{display:flex;align-items:center;gap:12px;margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}.esb-breakdown-hint{font-size:11px;color:#6b7280}.pv-bk-launch{white-space:nowrap}.esb-bkmodal{width:min(1040px,96vw);max-height:88vh;display:flex;flex-direction:column}.esb-bk-sums{display:flex;gap:18px;flex-wrap:wrap;font-size:12px;color:#4b5563;background:#f4f6f8;border-radius:6px;padding:8px 12px;margin:4px 0 10px}.esb-bk-sums b{color:var(--navy);font-size:13px}.esb-bk-table{overflow-y:auto;flex:1;border:1px solid var(--border);border-radius:6px}.esb-bk-head,.esb-bk-line,.esb-bk-foot{display:grid;grid-template-columns:minmax(200px,1fr) 168px minmax(200px,1fr) 168px;gap:12px;align-items:center;padding:7px 12px}.esb-bk-head{position:sticky;top:0;background:var(--navy);color:#fff;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.3px;z-index:1}.esb-bk-head .num,.esb-bk-foot .num{text-align:right}.esb-bk-head .ctr,.esb-bk-foot .ctr{text-align:center}.esb-bk-foot{position:sticky;bottom:0;background:#eef2f6;border-top:2px solid var(--navy);font-size:12.5px;font-weight:700;color:var(--navy);z-index:1}.esb-bk-foot .num{font-variant-numeric:tabular-nums}.esb-bk-foot .ctr{font-size:11px;font-weight:400;color:#64748b}.esb-bk-line{border-top:1px solid var(--border);font-size:12px}.esb-bk-line.is-done{background:#f0fdf4}.esb-bk-line.is-locked{background:#f8fafc;color:#64748b}.esb-bk-desc{display:flex;flex-direction:column;gap:2px;overflow:hidden}.esb-bk-badge{display:inline-block;align-self:flex-start;font-size:9.5px;font-weight:700;text-transform:uppercase;padding:1px 6px;border-radius:8px}.esb-bk-badge.open{background:#fef0c7;color:#b54708}.esb-bk-badge.ok{background:#dcfce7;color:#166534}.esb-bk-badge.lock{background:#e2e8f0;color:#475569}.esb-bk-tot{font-style:normal;font-size:10.5px;color:#9aa3ad}.esb-bk-input{display:flex;align-items:center;gap:6px;justify-content:flex-end}.esb-bk-input input{width:100px;text-align:right;border:1px solid var(--border);border-radius:4px;padding:5px 7px;font-size:12px;font-family:inherit;font-variant-numeric:tabular-nums}.esb-bk-input .btn-link{font-size:11px}.esb-bk-input.static{justify-content:flex-end;font-variant-numeric:tabular-nums;color:#475569;padding-right:2px}.esb-bk-drag{position:relative;display:flex;height:20px;border-radius:10px;overflow:hidden;background:#e5e7eb;cursor:ew-resize;touch-action:none;-webkit-user-select:none;user-select:none;border:1px solid var(--border)}.esb-bk-drag.is-locked{cursor:default;opacity:.6}.esb-bk-drag-mat{background:var(--orange);opacity:.82}.esb-bk-drag-labor{background:var(--navy);opacity:.82}.esb-bk-drag-handle{position:absolute;top:-2px;bottom:-2px;width:10px;margin-left:-5px;background:#fff;border:2px solid var(--navy);border-radius:4px;box-shadow:0 1px 3px #00000059;pointer-events:none}.esb-bk-dragcell{display:flex;flex-direction:column;gap:3px}.esb-bk-fill{align-self:center;font-size:10.5px}.esb-bk-fill-done{align-self:center;font-size:10px;color:#166534}.pv-lmb{margin-top:16px}.pv-lmb-grid{max-width:300px;margin-left:auto}.pv-lmb-row{display:flex;justify-content:space-between;font-size:12px;padding:3px 0;font-variant-numeric:tabular-nums}.pv-lmb-total{border-top:1.5px solid #1a3a5c;margin-top:3px;padding-top:5px;font-weight:800;color:#1a3a5c}.pv-alt-table{margin-top:8px}.pv-alt-table+.pv-alt-table{margin-top:12px}.pv-save{width:100%;margin-bottom:10px}.bset-list{display:flex;flex-direction:column;gap:8px;max-width:900px;margin-bottom:10px}.bset-row{display:grid;grid-template-columns:200px 1fr 30px;gap:8px;align-items:start}.bset-row.bset-para{grid-template-columns:40px 1fr 60px}.bset-row input,.bset-row textarea{border:1px solid var(--border);border-radius:4px;padding:6px 8px;font-size:12.5px;font-family:inherit}.bset-num{font-weight:700;color:#1a3a5c;padding-top:7px}.modal-error{white-space:pre-line}.role-pages{padding:8px 14px 12px 40px;background:#f8fafc;border-top:1px solid #eceff2}.role-pages-grid{display:flex;gap:26px;flex-wrap:wrap}.role-pages-col{min-width:200px}.role-pages-mod{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.7px;color:var(--orange);margin-bottom:4px}.role-pages-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:2px 0;font-size:12px;color:#374151}.role-pages-row select{font-family:inherit;font-size:11.5px;padding:3px 6px;border:1px solid var(--border);border-radius:4px}.perm-viewbar{background:#eef4fb;border:1px solid #c4d7ec;color:#1a3a5c;border-radius:6px;padding:7px 14px;font-size:12px;font-weight:700;margin-bottom:10px}.perm-viewonly :is(button,input,select,textarea,label.file-replace){pointer-events:none;opacity:.75}.perm-viewonly :is(.search,.filter-bar *,.th-sort,.sort-head,.chip-toggle,.subtab,.sheet-select,.menu-wrap,.menu-wrap *,.libtabs *,.ribbon *,.btn-link,.table-freeze select,.task-done-section>.btn-link,.chev){pointer-events:auto;opacity:1}.page.page-cap{max-width:1050px}.page.page-cap-labor{max-width:1320px}.esb{max-width:1560px}.markup-preview-note{font-size:11px;color:var(--orange);white-space:nowrap}.mkset-row{display:flex;align-items:flex-end;gap:14px;flex-wrap:wrap;margin-bottom:10px}.mkset-field{display:flex;flex-direction:column;gap:4px;font-size:11.5px;font-weight:700;color:#4b5563}.mkset-input{display:flex;align-items:center;gap:4px;font-weight:400}.mkset-input input{width:76px;padding:6px 8px;border:1px solid var(--border);border-radius:5px;font-family:inherit;font-size:13px;text-align:right}.bset-row.pccset-lead{grid-template-columns:200px 150px 1fr 30px;align-items:center}.bset-row.pccset-role-row{grid-template-columns:minmax(200px,300px) 1fr 150px 1fr;align-items:center}.pccset-role{font-weight:700;color:#4b5563;font-size:12px}.bset-actions{display:flex;gap:4px;padding-top:4px}.pv-defexcl{font-size:10.5px;text-align:justify;line-height:1.5;margin:4px 0 0}.pv-headrow{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.pv-logo{height:52px;flex:0 0 auto}.pv-info{table-layout:fixed}.pv-info td{vertical-align:top;word-break:break-word}.pv-info td:first-child{width:60%;padding-right:14px}.pv-altrow{font-variant-numeric:tabular-nums}.pv-doc td,.pv-doc th{max-width:none;overflow:visible;text-overflow:clip;white-space:normal}.esb-excldesc{padding:0 8px 6px 44px;border-bottom:1px solid #eee;background:#fffdf7;display:flex;align-items:flex-start;gap:6px}.esb-excldesc .esb-desc{flex:1;width:100%;box-sizing:border-box;font-size:11.5px}.esb-excl-tpl{flex:0 0 auto}.btn-icon{background:none;border:1px solid var(--border);border-radius:5px;padding:3px 6px;cursor:pointer;font-size:12px;line-height:1}.btn-icon:hover{background:#eef2f7}.searchsel{position:relative;display:inline-block}.searchsel-btn{display:inline-flex;align-items:center;gap:8px;justify-content:space-between;min-width:150px;max-width:240px;font-family:inherit;font-size:13px;padding:6px 9px;border:1px solid var(--border);border-radius:6px;background:#fff;cursor:pointer;text-align:left}.searchsel-btn>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.searchsel-caret{color:#8a93a0;font-size:11px;flex:none}.searchsel-menu{position:absolute;top:calc(100% + 3px);left:0;z-index:40;min-width:220px;max-width:320px;background:#fff;border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 24px #0f1e2d29;padding:6px;display:flex;flex-direction:column;gap:4px}.searchsel-input{padding:6px 8px;border:1px solid var(--border);border-radius:5px;font-family:inherit;font-size:12.5px}.searchsel-list{display:flex;flex-direction:column;max-height:280px;overflow-y:auto}.searchsel-opt{flex:none;line-height:1.4;min-height:30px;text-align:left;font-family:inherit;font-size:12.5px;padding:6px 8px;border:none;background:none;cursor:pointer;border-radius:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.searchsel-opt:hover{background:#f0f4f8}.searchsel-opt.on{background:#e7f0fa;font-weight:700;color:var(--navy)}.mix-spec{color:var(--orange);font-weight:700;font-size:11.5px}.slog-activity{margin-top:18px;border-top:1px solid var(--border);padding-top:8px}.slog-activity-toggle{font-weight:700}.slog-activity-body{margin-top:6px;border:1px solid var(--border);border-radius:8px;background:#fff;overflow:hidden}.slog-activity-row{display:grid;grid-template-columns:150px 1fr 140px;gap:10px;align-items:baseline;padding:6px 12px;border-bottom:1px solid #eef1f4;font-size:12.5px}.slog-activity-row:last-child{border-bottom:none}.slog-activity-when{color:#6b7280;font-variant-numeric:tabular-nums;white-space:nowrap}.slog-activity-who{text-align:right;font-size:11.5px}.esb-inherit-tag{font-size:10px;color:var(--orange);margin-left:8px;white-space:nowrap;font-weight:700}.esb-recalc{align-self:flex-end;white-space:nowrap}.wiz-unbilled{color:#b26500;font-weight:700}.taskeq{margin-top:12px}.taskeq-row{display:flex;align-items:center;gap:8px;padding:3px 0;font-size:12.5px}.taskeq-name{font-weight:600}.taskeq input{width:100%;border:1px solid var(--border);border-radius:4px;padding:6px 8px;font-size:12.5px;font-family:inherit}.jfold-head{display:flex;align-items:center;gap:12px;border:2px dashed transparent;border-radius:6px;padding:2px 6px}.jfold-row{display:flex;align-items:center;gap:10px;padding:4px 8px;border-top:2px solid transparent;border-bottom:2px solid #eef1f4;position:relative}.jfold-toggle{border:none;background:none;cursor:pointer;font-size:13px;font-family:inherit;color:#1a3a5c;padding:2px 0}.jfold-upload input{display:none}.jfold-file{display:flex;align-items:center;gap:10px;padding:3px 8px;font-size:12.5px}.jfold-fname{text-align:left}.jfold-note{color:#8a6d1a;font-size:11.5px;font-style:italic;max-width:280px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.jfold-meta{font-size:11px;white-space:nowrap}.jfold-empty{color:#9aa5b1;font-size:11.5px;padding:2px 8px 6px;font-style:italic}.jfold-unfiled{margin-top:14px;border-top:1px dashed var(--border);padding-top:8px}.jfold-unfiled h4{margin:0 0 6px;color:#6b7280;font-size:12px;text-transform:uppercase}.jfold-search{border:1px solid var(--border);border-radius:6px;padding:4px 10px;font-size:12.5px;font-family:inherit;width:220px}.jfold-kebab{border:none;background:none;font-size:15px;color:#999;cursor:pointer;padding:2px 6px;border-radius:4px;opacity:0}.jfold-row:hover .jfold-kebab,.jfold-file:hover .jfold-kebab{opacity:1}.jfold-kebab:hover{background:#eef2f7;color:#1a3a5c}.jfold-file:hover,.jfold-row:hover{background:#fafbfc}.jfold-drop-into{background:#fff3e0!important;box-shadow:inset 0 0 0 2px #f57c00;border-radius:4px}.jfold-drop-before{border-top-color:#f57c00!important}.jfold-drop-after{border-bottom-color:#f57c00!important}.jfold-pick-dlg{width:380px}.jfold-pick-list{max-height:320px;overflow-y:auto;border:1px solid var(--border);border-radius:6px;padding:4px;margin:6px 0 2px}.jfold-pick{display:block;width:100%;text-align:left;border:none;background:none;cursor:pointer;font-family:inherit;font-size:12.5px;color:#1a3a5c;padding:5px 10px;border-radius:4px}.jfold-pick:hover:not(:disabled){background:#eef2f7}.jfold-pick:disabled{color:#c3cad3;cursor:not-allowed}.jfold-preview{background:#fff;border-radius:10px;width:min(940px,94vw);height:min(86vh,900px);display:flex;flex-direction:column;overflow:hidden;box-shadow:0 18px 50px #0000004d}.jfold-preview-head{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid var(--border);font-size:13px}.jfold-preview-body{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;background:#4a4f57}.jfold-preview-body iframe{width:100%;height:100%;border:none;background:#fff}.jfold-preview-body img{max-width:100%;max-height:100%;object-fit:contain}.jfold-preview-none{background:#fff;border-radius:8px;padding:24px 32px;text-align:center}.bills-upload input{display:none}.status-chip.bill-intake{background:#eceff1;color:#546e7a}.status-chip.bill-coded{background:#e3f2fd;color:#0d47a1}.status-chip.bill-office_approved{background:#fff8e1;color:#b26500}.status-chip.bill-approved{background:#e8f5e9;color:#1b5e20}.status-chip.bill-exported{background:#ede7f6;color:#4527a0}.status-chip.bill-coding{background:#e3f2fd;color:#0d47a1}.status-chip.bill-officer_approved{background:#e8f5e9;color:#1b5e20}.status-chip.chip-due{background:#fff3e0;color:#e65100}.status-chip.chip-unmatched{background:#eceff1;color:#546e7a}.status-chip.chip-flag{background:#fdecea;color:#b71c1c}.btn-outline{font-family:inherit;font-size:13px;padding:7px 14px;border:1px solid var(--navy);border-radius:6px;background:#fff;color:var(--navy);font-weight:700;cursor:pointer;display:inline-flex;align-items:center}.btn-outline:hover{background:#f0f4f8}.bill-tabs{display:flex;gap:2px;border-bottom:2px solid var(--border);margin:2px 0 12px}.bill-tab{font-family:inherit;font-size:13px;color:#6b7280;background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;padding:8px 16px;cursor:pointer;white-space:nowrap;display:inline-flex;align-items:center;gap:6px}.bill-tab:hover{color:var(--navy)}.bill-tab.active{color:var(--navy);font-weight:700;border-bottom-color:var(--orange)}.bill-tab-n{font-size:11px;font-weight:700;background:#eef2f7;color:#4b5563;border-radius:10px;padding:1px 7px}.bill-tab.active .bill-tab-n{background:var(--navy);color:#fff}.bill-tab-flag{font-size:11px;font-weight:700;color:#b71c1c;background:#fdecea;border-radius:10px;padding:1px 7px}.bill-subtabs{align-items:center;gap:0;margin:-4px 0 12px}.bill-subtabs .subtab{font-size:12.5px;padding:5px 12px}.bill-subtab-hint{font-size:12px;margin-left:12px}.row-flagged{background:#fff8f7}.flag-mark{color:#c62828;margin-right:6px;font-weight:700}.label-row{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#4b5563;font-weight:700;font-size:12px}.label-row .btn-link{font-size:11.5px;font-weight:400}.static-field{padding:7px 9px;border:1px dashed var(--border);border-radius:6px;font-size:13px;color:#4b5563;background:#f9fafb}.bill-coding{display:flex;flex-direction:column;gap:4px;font-size:12px}.bill-coding select{font-family:inherit;font-size:13px;padding:7px 9px;border:1px solid var(--border);border-radius:6px;width:100%}.bill-lines{display:flex;flex-direction:column;gap:6px;padding:8px;background:#f7f9fb;border:1px solid var(--border);border-radius:6px}.bill-line{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 22px;gap:4px 6px;align-items:center;padding-bottom:6px;border-bottom:1px dashed #dde3ea}.bill-line:last-of-type{border-bottom:none}.bill-line-head{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 22px;padding-bottom:0;border-bottom:none}.bill-line-x{grid-row:span 2}.bill-lines-hint{flex-basis:100%}.bill-line-head{font-size:11px;font-weight:700;color:#6b7280}.bill-line input{font-family:inherit;font-size:12.5px;padding:6px 7px;border:1px solid var(--border);border-radius:6px;min-width:0;width:100%}.bill-line select{font-size:12.5px;padding:6px 7px}.bill-line .btn-link-danger{font-size:16px;line-height:1;padding:0}.bill-line-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;flex-wrap:wrap}.lines-ok{color:#1b5e20;font-weight:700}.lines-warn{color:#b26500;font-weight:700}.bill-file-links{display:flex;gap:14px;flex-wrap:wrap;align-items:center}.replace-doc{cursor:pointer;color:#6b7280!important}.replace-doc:hover{color:var(--navy)!important}.approval-trail{font-size:12px;margin:6px 0 0}.preview-badge{position:sticky;top:0;z-index:6;float:right;margin:8px;padding:3px 9px;font-size:11px;font-weight:700;color:#b26500;background:#fff3e0;border:1px solid #f0ddb0;border-radius:4px}.acct-search input{padding-right:26px;text-overflow:ellipsis}.acct-search.compact input{font-size:12.5px;padding:6px 24px 6px 7px}.acct-clear{position:absolute;right:4px;top:50%;transform:translateY(-50%);border:none;background:none;color:#9ca3af;font-size:15px;line-height:1;cursor:pointer;padding:2px 5px}.acct-clear:hover{color:#c62828}.acct-group{padding:5px 10px 2px;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#9ca3af}.acct-search .menu-item.hi,.gc-menu .menu-item.hi{background:#f0f4f8}.acct-search .menu-item b{color:var(--navy);margin-right:6px}.bill-line .gc-menu{min-width:320px}.lines-total{font-size:12.5px;color:var(--navy)}.lines-total b{font-size:13.5px}.approve-block{margin:12px 0 0}.btn-blocked{opacity:.6}.done-strip{margin:0 0 12px;padding:8px 12px;background:#e8f5e9;border:1px solid #a5d6a7;border-radius:6px;color:#1b5e20;font-size:12.5px;font-weight:700}.pdfprev-page{position:relative}.pdfprev-page.placing{cursor:crosshair}.pdfprev-page.placing canvas,.pdfprev-page.placing img{outline:2px dashed var(--orange);outline-offset:-2px}.stamp-ghost{position:absolute;z-index:4;background:#fffffff0;border:1.5px solid var(--orange);pointer-events:none;white-space:nowrap;font-family:Helvetica,Arial,sans-serif;box-shadow:0 2px 8px #0003}.stamp-ghost-line.rule{border-top:1px solid #d9d9d9;margin-top:2px;padding-top:1px}.stamp-hint{position:sticky;top:0;z-index:7;padding:7px 12px;background:#fff3e0;border-bottom:1px solid #f0ddb0;color:#b26500;font-size:12.5px;font-weight:700;text-align:center}.bill-preview.stamping{border-color:var(--orange)}.stamp-actions{align-items:center}.stamp-actions-hint{font-size:12.5px;color:#b26500;font-weight:700}.job-none{color:#6b7280;font-style:italic}.class-row{display:flex;flex-direction:column;gap:4px}.class-add{align-self:flex-start}.class-picked .jobsearch-name{font-size:12.5px}.exported-toggle{display:flex;align-items:center;gap:8px;width:100%;margin-top:8px;padding:9px 12px;font-family:inherit;font-size:12.5px;font-weight:700;color:var(--navy);background:#f2f4f7;border:1px solid var(--border);border-radius:6px;cursor:pointer;text-align:left}.exported-toggle:hover{background:#e8ecf1}.exported-toggle.open{border-radius:6px 6px 0 0}.exported-toggle.spaced{margin-top:22px}.org-empty{padding:26px 16px;text-align:center;color:#6b7280;font-size:12.5px;background:#fff;border-radius:0 0 8px 8px}.org-empty b{color:var(--navy)}.exported-arrow{display:inline-block;width:12px;color:#6b7280}.exported-hint{font-weight:400}.row-exported{opacity:.72;background:#fafbfc}.row-exported:hover{opacity:1}.exported-when{display:block;font-size:10.5px;color:#6b7280;margin-top:2px}.ticket-chips{display:flex;flex-wrap:wrap;gap:6px}.ticket-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border:1px solid #a5d6a7;border-radius:14px;background:#e8f5e9;color:#1b5e20;font-size:12px;font-weight:700}.ticket-chip .muted{font-weight:400}.ticket-chip .btn-link-danger{font-size:15px;line-height:1;padding:0 0 0 4px}.notate-btn{position:absolute;top:8px;left:8px;z-index:8}.bill-preview{position:relative}.notate-bar{position:sticky;top:0;z-index:9;display:flex;align-items:center;gap:6px;padding:6px 8px;background:#fff8ec;border-bottom:1px solid #f0ddb0;font-size:12px;flex-wrap:wrap}.notate-bar button{font-family:inherit;font-size:12px;padding:4px 9px;border:1px solid var(--border);border-radius:6px;background:#fff;cursor:pointer}.notate-bar button.on{background:var(--navy);border-color:var(--navy);color:#fff}.notate-bar button:disabled{opacity:.4;cursor:default}.notate-bar button.btn-primary{border:none;background:var(--orange);color:#fff;font-weight:700}.notate-bar select{font-family:inherit;font-size:12px;padding:3px 6px;border:1px solid var(--border);border-radius:6px}.notate-colors{display:inline-flex;gap:4px;margin:0 4px}.notate-swatch{width:20px;height:20px;border-radius:50%;border:2px solid #fff!important;box-shadow:0 0 0 1px var(--border);padding:0!important}.notate-swatch.on{box-shadow:0 0 0 2px var(--orange)}.notate-spacer{flex:1}.notate-overlay{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;touch-action:none}.pdfprev-page.notating.tool-pen .notate-overlay{cursor:crosshair}.pdfprev-page.notating.tool-text .notate-overlay{cursor:text}.notate-text{position:absolute;z-index:5;min-width:160px;padding:2px 4px;font-family:Helvetica,Arial,sans-serif;line-height:1.15;background:#ffffffd9;border:1px dashed var(--orange);border-radius:3px;resize:both;outline:none}.select-tools{display:inline-flex;gap:6px;align-items:center;flex-wrap:wrap}.btn-export{border-color:var(--navy)!important;color:var(--navy)!important;font-weight:700}.check-cell{display:flex;align-items:center;justify-content:center}.check-cell input{width:15px;height:15px;cursor:pointer;margin:0}.row-checked{background:#fff8ec}.exported-tools{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:8px 12px;background:#f7f9fb;border:1px solid var(--border);border-top:none;font-size:12px}.btn-moveback{border-color:#b26500!important;color:#b26500!important;font-weight:700}.exported-toggle.open{margin-bottom:0}.review-mixid{color:var(--navy);font-weight:700}.live-strip{display:inline-flex;align-items:center;gap:12px;font-size:12px;color:#4b5563;flex-wrap:wrap}.live-others{display:inline-flex;align-items:center;gap:6px;padding:3px 9px;border-radius:12px;background:#e8f5e9;color:#1b5e20;font-weight:700}.live-dot{width:8px;height:8px;border-radius:50%;background:#2e7d32;box-shadow:0 0 0 3px #2e7d3233}.live-note{padding:3px 9px;border-radius:12px;background:#fff8ec;color:#b26500;font-weight:700}.rev-carry-note{font-size:11.5px;white-space:nowrap}.slog-nofile{margin:4px 0 6px;padding:7px 10px;background:#fff8ec;border:1px solid #f0ddb0;border-radius:6px;color:#8a6100;font-size:12px}.rev-nofile-hint{color:#8a6100}.status-chip.slog-vchip-nofile{background:#fff3e0;color:#b26500;border:1px dashed #f0ddb0}.jobextra-quotes{display:flex;flex-direction:column;gap:6px;margin-top:6px}.jobextra-quote-row{display:flex;align-items:center;gap:6px}.jobextra-quote-row>.gc-search,.jobextra-quote-row>.jobsearch-picked{flex:1}.jobextra-span{grid-column:1 / -1}.wiz-section-empty{margin:0 0 14px;font-size:12.5px}.wiz-jobs-table{margin-bottom:14px}.flag-banner{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:10px 12px;margin:0 0 14px;background:#fdecea;border:1px solid #f5c6c2;border-radius:6px;color:#7f1d1d;font-size:12.5px}.flag-note{margin-top:3px;white-space:pre-wrap;color:#3b1f1f}.flag-note-edit{margin-left:6px;font-size:12px;opacity:.7}.flag-note-edit:hover{opacity:1}.flag-note-editor{margin-top:4px;display:grid;gap:6px}.flag-note-editor textarea{width:100%;padding:6px 8px;border:1px solid var(--border);border-radius:6px;font:inherit;font-size:12.5px;resize:vertical}.flag-note-actions{display:flex;gap:8px;align-items:center}.field-banner{padding:10px 12px;margin:0 0 14px;background:#eef4fb;border:1px solid #c9dcf0;border-radius:6px;color:#1a3a5c;font-size:12.5px}.field-note{margin-top:3px;white-space:pre-wrap;color:#33475e}.flag-box{margin-top:14px;padding:12px;background:#fff8f7;border:1px solid #f5c6c2;border-radius:6px}.flag-box label{display:flex;flex-direction:column;gap:6px;font-size:12.5px;font-weight:700;color:#7f1d1d}.flag-box textarea{font-family:inherit;font-size:13px;padding:7px 9px;border:1px solid var(--border);border-radius:6px;font-weight:400;resize:vertical}.flag-box-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}.btn-flag{color:#b71c1c;border-color:#f5c6c2}.flag-waiting{display:flex;align-items:center;gap:8px;margin-top:8px;font-size:12px;font-weight:700;color:#7f1d1d;flex-wrap:wrap}.flag-waiting select{font-family:inherit;font-size:12.5px;padding:5px 8px;border:1px solid #f5c6c2;border-radius:6px;background:#fff;font-weight:400;color:#1a1a1a}.flag-waiting input{font-family:inherit;font-size:12.5px;padding:5px 8px;border:1px solid var(--border);border-radius:6px;font-weight:400}.flag-box .flag-waiting{flex-direction:row}.waiting-cell{font-weight:700;color:#b71c1c}.flag-who{margin-left:4px;padding:0 6px;border-radius:9px;background:#fdecea;color:#b71c1c;font-size:10.5px;font-weight:700;vertical-align:middle}.modal-split{width:1100px;max-width:96vw}.split-help{margin:-8px 0 12px;font-size:12.5px}.split-body{display:flex;gap:18px;align-items:flex-start}.split-pages{flex:1;display:flex;flex-wrap:wrap;gap:12px;max-height:62vh;overflow-y:auto;padding:4px}.split-page{position:relative;width:150px;border:3px solid #d5dbe3;border-radius:6px;background:#fff;cursor:pointer;overflow:hidden;box-shadow:0 1px 3px #00000014;transition:transform .08s}.split-page:hover{transform:translateY(-2px);box-shadow:0 4px 10px #00000024}.split-page.unassigned:hover{border-color:var(--hover)}.split-page.unassigned canvas{opacity:.55}.split-page canvas{display:block;width:100%}.split-page-foot{display:flex;justify-content:space-between;padding:4px 7px;font-size:11px;font-weight:700;border-top:1px solid var(--border);background:#f7f9fb}.split-summary{flex:0 0 280px;font-size:12.5px;display:flex;flex-direction:column;gap:10px}.split-bills{display:flex;flex-direction:column;gap:6px;max-height:40vh;overflow-y:auto}.split-bill{display:flex;align-items:center;gap:8px;padding:6px 8px;border:2px solid;border-radius:8px;background:#fff;cursor:pointer;opacity:.75}.split-bill.active{opacity:1;background:#f7f9fb;box-shadow:0 0 0 3px #1a3a5c1f}.split-swatch{flex:none;width:24px;height:24px;border-radius:50%;color:#fff;font-size:12px;font-weight:700;display:inline-flex;align-items:center;justify-content:center}.split-bill-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.split-bill-name{font-weight:700;color:var(--navy);font-size:12.5px}.split-bill input{font-family:inherit;font-size:12.5px;padding:4px 7px;border:1px solid var(--border);border-radius:5px;width:100%}.split-bill input.bad{border-color:#c62828;background:#fdecea}.split-remove{font-size:18px;line-height:1;padding:0 2px}.split-actions{display:flex;flex-direction:column;gap:6px}.split-actions .btn-primary{width:100%}.split-quick{display:flex;flex-direction:column;gap:4px}.split-status{margin:0;font-size:12px;font-weight:700}.split-status.ok{color:#1b5e20}.split-status.warn{color:#b26500}.ccline-row{align-items:center;gap:6px;padding:4px 8px}.ccline-row input,.ccline-row select{font-size:12px;padding:4px 6px;min-width:0;width:100%}.ccline-row input.num{text-align:right}.email-modal{width:min(640px,94vw)}.email-from{margin:0 0 12px;font-size:12px;color:#4b5563}.email-connect{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#eef3f8;border:1px solid var(--border);border-radius:8px;padding:10px 12px;margin-bottom:12px;font-size:12px;color:var(--navy)}.email-connect .btn-primary{border:none;background:var(--orange);color:#fff;padding:7px 12px;border-radius:6px;cursor:pointer;white-space:nowrap}.email-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:-4px}.email-chip{border:1px solid var(--border);background:#fff;border-radius:999px;padding:3px 10px;font-size:11.5px;color:var(--navy);cursor:pointer}.email-chip:hover{border-color:var(--orange);color:var(--orange)}.email-attach-head{display:block;color:#4b5563;font-weight:700;font-size:12px;margin-bottom:4px}.email-attach-row{font-size:12.5px;padding:3px 0}.tagpick{position:relative}.tagpick-chips{display:flex;flex-wrap:wrap;gap:5px;align-items:center;border:1px solid var(--border);border-radius:6px;padding:4px 6px;background:#fff}.tagpick-chip{display:inline-flex;align-items:center;gap:4px;background:#eef3f8;color:var(--navy);border-radius:999px;padding:2px 8px;font-size:11.5px}.tagpick-chip button{border:none;background:none;color:#6b7280;cursor:pointer;padding:0;font-size:11px}.tagpick-chip button:hover{color:#c62828}.tagpick-input{flex:1;min-width:140px;border:none!important;outline:none;padding:3px 2px!important;font-size:12.5px;background:transparent}.tagpick-menu{position:absolute;z-index:20;left:0;right:0;top:100%;margin-top:2px;background:#fff;border:1px solid var(--border);border-radius:6px;box-shadow:0 6px 18px #0000001f;max-height:220px;overflow-y:auto}.tagpick-opt{display:block;width:100%;text-align:left;border:none;background:none;padding:6px 10px;font-size:12.5px;cursor:pointer}.tagpick-opt:hover{background:#eef3f8}.tagpick-new{color:var(--orange);font-weight:600;border-top:1px solid #eef1f4}.email-attach-remove{color:#9ca3af;margin-left:4px}.email-attach-remove:hover{color:#c62828}.email-attach-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px}.email-attach-hint{font-size:11px;margin:4px 0 0}.email-doc-picker{border:1px solid var(--border);border-radius:8px;padding:8px 10px;margin-top:8px;max-height:240px;overflow-y:auto;background:#fafbfc}.email-doc-filter{width:100%;box-sizing:border-box;margin-bottom:6px;padding:5px 8px;border:1px solid var(--border);border-radius:6px;font-size:12px}.email-doc-row{display:grid;grid-template-columns:minmax(90px,.6fr) minmax(140px,1.4fr) 60px auto;gap:8px;align-items:center;font-size:12px;padding:4px 0;border-bottom:1px solid #eef1f4}.email-doc-row:last-child{border-bottom:none}.email-doc-folder{color:#6b7280;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.email-doc-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rfi-email-row{display:flex;align-items:center;gap:10px;margin-top:14px;font-size:12px}.fq-section{margin-bottom:18px}.fq-head{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--navy);margin:0 0 8px}.fq-badge{background:#fef0c7;color:#b54708;font-size:11px;font-weight:700;border-radius:999px;padding:2px 9px}.fq-grid{display:grid;grid-template-columns:90px 2.2fr 1.3fr 110px;gap:10px;align-items:center}.fq-grid-job{display:grid;grid-template-columns:90px 1.4fr 2fr 1.3fr 110px;gap:10px;align-items:center}.fq-question{background:#f4f6f8;border-left:3px solid var(--orange);border-radius:6px;padding:10px 12px;font-size:13px}.jha-list{display:grid;gap:14px}.jha-card{border:1px solid var(--border);border-radius:12px;background:#fff;overflow:hidden;box-shadow:0 1px 2px #12293f0a;transition:box-shadow .15s,border-color .15s}.jha-card:hover{box-shadow:0 4px 14px #12293f1a;border-color:#c2ccd6}.jha-card.inactive{opacity:.6}.jha-card-head{display:flex;align-items:flex-start;gap:12px;padding:13px 16px;border-bottom:1px solid var(--border);background:linear-gradient(180deg,#fbfcfd,#f5f7f9)}.jha-num{flex:none;width:28px;height:28px;border-radius:8px;background:var(--navy);color:#fff;font-size:13px;font-weight:700;display:flex;align-items:center;justify-content:center}.jha-headings{flex:1;min-width:0}.jha-title{margin:0;font-size:15px;font-weight:700;color:var(--navy);letter-spacing:.2px}.jha-desc{margin:2px 0 0;font-size:12px;color:#6b7280}.jha-meta{margin:5px 0 0;font-size:11px;color:#93a1b0;letter-spacing:.3px}.jha-actions{flex:none;display:flex;gap:10px}.jha-body{display:grid;grid-template-columns:1fr 1fr}.jha-col{padding:12px 16px}.jha-col+.jha-col{border-left:1px solid var(--border)}.jha-col-label{font-size:11px;text-transform:uppercase;letter-spacing:.8px;font-weight:700;margin:0 0 9px}.jha-col-label.hazards{color:var(--orange)}.jha-col-label.controls{color:var(--navy)}.jha-hazards{display:flex;flex-wrap:wrap;gap:6px}.jha-hazard{font-size:12px;background:#fff2e6;color:#9a4b00;border:1px solid #ffd9b3;border-radius:999px;padding:3px 10px}.jha-empty-note{font-size:12px;color:#93a1b0}.jha-controls{list-style:none;margin:0;padding:0;display:grid;gap:7px;counter-reset:ctl}.jha-controls li{position:relative;padding-left:27px;font-size:12.5px;line-height:1.45;color:var(--text);counter-increment:ctl}.jha-controls li:before{content:counter(ctl);position:absolute;left:0;top:1px;width:19px;height:19px;border-radius:5px;background:#eef2f7;color:var(--navy);font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center}@media(max-width:720px){.jha-body{grid-template-columns:1fr}.jha-col+.jha-col{border-left:none;border-top:1px solid var(--border)}}.act-pop{position:fixed;z-index:60;min-width:156px;background:#fff;border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 24px #12293f29;padding:4px;display:flex;flex-direction:column}.act-item{font:inherit;font-size:13px;text-align:left;background:none;border:none;border-radius:6px;padding:7px 10px;color:var(--text);cursor:pointer}.act-item:hover{background:#f1f5f9}.act-item.danger{color:#b91c1c}.act-item:disabled{color:#9aa5b1;cursor:default}.act-item:disabled:hover{background:none}.sig-canvas{width:100%;height:150px;border:1px dashed var(--border);border-radius:8px;background:#fff;touch-action:none;cursor:crosshair}.jobcos-contract{display:grid;gap:10px;background:#fff;border:1px solid var(--border);border-radius:8px;padding:12px 14px;margin-bottom:18px}.jobcos-contract-facts{display:flex;gap:32px;flex-wrap:wrap}.jobcos-contract-facts>div{display:flex;flex-direction:column;gap:2px}.jobcos-contract-input{border:1px solid transparent;border-radius:4px;padding:2px 6px;font:inherit;font-size:13px;background:transparent;width:180px}.jobcos-contract-input:hover{border-color:#d5dbe3}.jobcos-contract-input:focus{border-color:#1a3a5c;background:#fff;outline:none}.jobextra{display:grid;gap:10px}.jobextra-set{border:1px solid var(--border);border-radius:8px;padding:8px 12px 10px;display:grid;gap:6px;background:#fafbfc}.jobextra-head{display:flex;align-items:center;gap:10px}.jobextra-name{flex:1;font-weight:600;color:#1a3a5c;border:1px solid transparent;background:transparent;padding:3px 6px;border-radius:4px;font:inherit}.jobextra-name:hover,.jobextra-name:focus{border-color:#b8c6d8;background:#fff;outline:none}.jobextra-set label{display:grid;grid-template-columns:150px 1fr;align-items:center;gap:8px;font-size:12px}.jobextra-set label>span{color:#4b5563}.jobcos-locked{display:inline-flex;align-items:center;gap:8px}.jobcos-edit{font-size:13px;padding:0 2px;opacity:.7}.jobcos-edit:hover{opacity:1}.jobcos-sov{border:1px solid var(--border);border-radius:8px;background:#fff;padding:10px 14px 12px;margin-bottom:18px}.jobcos-sov .sovsec{margin-top:0}.jobcos-contract-value{font-size:18px;font-weight:700;color:#1a3a5c}.jobcos-contract-docs{display:flex;flex-direction:column;gap:4px;border-top:1px solid #eef1f5;padding-top:8px}.jobcos-files{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.jobcos-file{display:inline-flex;align-items:center;gap:4px;background:#eef2f7;border:1px solid #d5dde7;border-radius:12px;padding:1px 8px;font-size:11.5px;max-width:320px}.jobcos-file .btn-link{font-size:11.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:250px}.jnl{max-width:760px}.jnl-add{display:flex;flex-direction:column;gap:8px;margin-bottom:14px}.jnl-add textarea{min-height:64px;padding:9px 11px;border:1px solid var(--border);border-radius:8px;font-family:inherit;font-size:13px;resize:vertical}.jnl-add .btn-primary{align-self:flex-start}.jnl-row{background:#fff;border:1px solid var(--border);border-radius:8px;padding:10px 13px;margin-bottom:8px}.jnl-note{white-space:pre-wrap;font-size:13px}.jnl-meta{color:#6b7280;font-size:11.5px;margin-top:5px}.jnl-actions{display:flex;gap:8px;align-items:center}.jnl-attach{cursor:pointer}.jnl-files{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.jnl-file{display:inline-flex;align-items:center;gap:4px;background:#eef2f7;border:1px solid #d5dde7;border-radius:12px;padding:1px 8px;font-size:11.5px;max-width:320px}.jnl-file .btn-link{font-size:11.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:260px}.jnl-file-pending{background:#fff8e1;border-color:#ffe082}.jnl-meta-row{display:flex;gap:12px;align-items:baseline}.jnl-meta-row .btn-link{font-size:11.5px}.cor-title{display:flex;align-items:center;gap:16px}.cor-showall{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:400;color:#4b5563;text-transform:none;letter-spacing:0;cursor:pointer}.cor-group{border:1px solid var(--border);border-radius:8px;background:#fff;margin-bottom:12px;overflow:hidden}.cor-head{display:flex;flex-wrap:wrap;align-items:flex-start;gap:6px 26px;padding:10px 14px;background:#f6f8fa;border-bottom:1px solid var(--border)}.cor-num{font-size:16px;font-weight:700;color:var(--navy);align-self:center;min-width:60px}.cor-fact{display:flex;flex-direction:column;gap:3px;font-size:13px}.cor-fact .fact-label{font-size:10px}.cor-fact .gen-split{gap:4px}.cor-menu-btn{margin-left:auto;align-self:center}.cor-rows{margin:0;border:none;border-radius:0}.cor-warn{margin:8px 14px 0}.cor-empty{color:#9aa3ad;font-size:12px;font-style:italic;margin:8px 14px 10px}.cor-sub{margin:18px 0 6px;font-size:11px;text-transform:uppercase;letter-spacing:.03em;color:#4b5563}.co-line-num{font-weight:600;color:#4527a0}.co-appr-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px 14px;margin:8px 0 4px}.co-appr-grid .dialog-field{margin:0}.dialog-field select{font:inherit;font-size:13px;padding:6px 8px;border:1px solid var(--border, #d5dbe3);border-radius:6px;background:#fff}.sovsec .facts-bar{margin:0 0 8px}.sovsec .sov-h3{margin:6px 0}.sov-facts-export{margin-left:auto;align-self:center}.cor-row{cursor:pointer}.cor-row-open{background:#f2f6fa}.cor-chev{color:#9ca3af;text-align:right}.cor-badge{display:inline-block;background:var(--navy);color:#fff;font-size:11px;font-weight:700;border-radius:999px;padding:2px 10px;white-space:nowrap}.cor-detail{background:#f8fafc;border-top:1px dashed var(--border);padding:10px 14px 12px}.cor-detail-facts{display:flex;flex-wrap:wrap;gap:8px 30px;align-items:flex-start}.cor-detail-facts>div{display:flex;flex-direction:column;gap:2px}.cor-detail-co{margin-top:10px;padding-top:10px;border-top:1px dashed var(--border)}.cor-detail .cor-warn{flex-basis:100%;margin:6px 0 0}.cor-detail .cor-menu-btn{align-self:center;margin-left:auto}.cor-unlinked{display:inline-block;background:#fef0c7;color:#b54708;font-size:11px;font-weight:700;border-radius:999px;padding:2px 10px;white-space:nowrap}.modal-co-approved{max-width:min(600px,calc(100vw - 32px))}.co-appr-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.co-appr-grid .dialog-field{min-width:0}.co-appr-grid .dialog-field input,.co-appr-grid .dialog-field select{width:100%;min-width:0;box-sizing:border-box}.cor-num-select{font:inherit;font-size:12px;padding:3px 6px;border:1px solid var(--border);border-radius:6px;background:#fff;max-width:100px}.cor-grouped{border-top:1px dashed #e8edf3}.cor-grouped .cor-num-select{opacity:.55}.print-pick-body{max-height:52vh;overflow-y:auto;padding-right:4px}.print-pick-sec:first-child .monthly-subhead{margin-top:0}.print-pick-list{display:flex;flex-direction:column}.print-pick-row{display:grid;grid-template-columns:20px 54px minmax(160px,1.6fr) minmax(110px,1fr) 100px;gap:8px;align-items:center;padding:5px 4px;border-bottom:1px solid var(--border);cursor:pointer}.print-pick-row:hover{background:#f6f8fa}.print-pick-row input{margin:0}.print-pick-job{font-weight:600}.print-pick-name,.print-pick-gc{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.print-pick-amt{text-align:right;font-variant-numeric:tabular-nums}.cor-sub{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:#4b5563;margin:12px 2px 6px}.cor-collapse{font:inherit;text-transform:uppercase;letter-spacing:.04em;color:#4b5563}.split-btn{display:inline-flex}.split-btn .split-btn-main{border-top-right-radius:0;border-bottom-right-radius:0}.split-btn .split-btn-caret{border-top-left-radius:0;border-bottom-left-radius:0;border-left:1px solid rgba(255,255,255,.35);padding-left:9px;padding-right:9px}.split-btn .menu-item:disabled{color:#b6bdc6;cursor:default}.pv-doc.pv-doc-land{width:11in;padding:.5in .55in}.lx-internal-sub{color:#c62828;font-weight:700;text-transform:uppercase;letter-spacing:.3px}.lx-banner{background:#fdf4f4;color:#c62828;border:1px solid #f0c8c8;padding:7px 12px;border-radius:5px;margin-bottom:12px;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.3px}.pv-rates-table.lx-internal{font-size:9.5px}.pv-rates-table.lx-internal th{font-size:9px;padding:5px 4px}.pv-rates-table.lx-internal td{padding:4px}.lx-equip{margin-top:8px}.lx-ti-table{margin-bottom:6px;max-width:5in}.lx-ti-table tr.lx-ti-total td{font-weight:700;color:#1a3a5c;border-top:1.5px solid #1a3a5c;background:#f7f9fc}.lx-trades-head{margin-top:18px!important;padding-top:12px;border-top:1px solid var(--border)}.lx-trade-tools{display:flex;gap:6px;align-items:center;margin-bottom:6px;font-size:12px}.lx-group{margin-bottom:4px}.lx-group-label{font-weight:700;color:#1a3a5c}.lx-ntp-fields{display:flex;flex-direction:column;gap:6px;padding:4px 0 4px 22px}.lx-ntp-fields p{margin:0;font-size:11px}.lx-ntp-fields label{display:flex;flex-direction:column;gap:2px;font-size:11.5px;font-weight:700;color:#4b5563}.lx-ntp-fields input,.lx-ntp-fields textarea{border:1px solid var(--border);border-radius:4px;padding:4px 6px;font-size:12px;font-family:inherit;font-weight:400}.ti-wrap{display:flex;gap:22px;align-items:flex-start;flex-wrap:wrap}.ti-main{flex:1 1 760px;min-width:0;overflow-x:auto}.ti-side{flex:0 1 300px;display:flex;flex-direction:column;gap:14px}.ti-table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--border);border-radius:8px;margin-bottom:18px;font-size:13px}.ti-table th{background:#f3f6f9;color:var(--navy);text-align:left;font-size:11.5px;font-weight:700;padding:8px 10px;border-bottom:1px solid var(--border);white-space:nowrap}.ti-table td{padding:5px 10px;border-bottom:1px solid #eef1f4}.ti-table .num{text-align:right;font-variant-numeric:tabular-nums}.ti-table .ti-c{text-align:center;white-space:nowrap}.ti-table input{font-family:inherit;font-size:13px;border:1px solid transparent;border-radius:4px;padding:4px 6px;background:transparent}.ti-table input:hover,.ti-table input:focus{border-color:var(--border);background:#fff}.ti-label{width:100%;min-width:150px}.ti-pct input{width:72px;text-align:right}.ti-money input{width:92px;text-align:right}.ti-computed{font-variant-numeric:tabular-nums;color:var(--navy);font-weight:700;padding-right:14px}.ti-notes{width:100%;min-width:140px;color:#4b5563}.markup-box input.ti-updated{width:140px}.ti-inc{margin-left:6px;font-size:11.5px;font-weight:700;font-style:italic;color:#4b5563}.ti-excluded td{background:#f6f3ea}.ti-excluded .ti-label,.ti-excluded .ti-computed{font-style:italic;color:#6b7280}.ti-total td{font-weight:800;color:var(--navy);border-top:2px solid var(--navy);background:#f7f9fc}.ti-tools{display:inline-flex;gap:6px;white-space:nowrap}.ti-tools .btn-link{font-size:11px;color:#8a929c}.ti-tools .ti-del:hover{color:#c62828}.ti-hint{font-size:12px;color:#6b7280;margin:0 0 12px}.ti-card{background:#fff;border:1px solid var(--border);border-radius:8px;padding:12px 14px}.ti-card h3{margin:0 0 8px;font-size:12px;color:var(--navy);text-transform:uppercase;letter-spacing:1px}.ti-sum{display:flex;justify-content:space-between;font-size:13px;padding:4px 0;font-variant-numeric:tabular-nums}.ti-sum-total{border-top:2px solid var(--navy);margin-top:4px;padding-top:7px;color:var(--navy);font-size:14px}.ti-cmp{width:100%;border-collapse:collapse;font-size:12px}.ti-cmp th{text-align:left;font-size:11px;color:#6b7280;padding:3px 4px;border-bottom:1px solid var(--border)}.ti-cmp td{padding:4px;border-bottom:1px solid #eef1f4;vertical-align:top}.ti-cmp .num{text-align:right;font-variant-numeric:tabular-nums}.ti-cmp .ti-diff{color:#b54708;font-weight:700}.ti-sheet{font-size:10.5px;color:#8a929c}.jph-gallery{padding-right:8px;padding-bottom:8px;padding-top:4px}.jph-day{margin:6px 0 10px}.jph-day-head{font-size:12px;font-weight:700;color:#1a3a5c;border-bottom:1px solid #eef1f4;padding:2px 0 4px;margin-bottom:8px}.jph-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.jph-card{background:#fff;border:1px solid var(--border);border-radius:8px;overflow:hidden;display:flex;flex-direction:column}.jph-card:hover{box-shadow:0 3px 10px #0f1e2d1f}.jph-img{position:relative;display:block;width:100%;aspect-ratio:4 / 3;border:none;padding:0;background:#eef1f4;cursor:pointer;overflow:hidden}.jph-img img{width:100%;height:100%;object-fit:cover;display:block}.jph-file{display:flex;align-items:center;justify-content:center;height:100%;font-size:11.5px;color:#4b5563;padding:6px;word-break:break-all}.jph-loading{display:block;width:100%;height:100%;background:linear-gradient(90deg,#eef1f4,#f7f9fb,#eef1f4)}.jph-stamp{position:absolute;left:6px;bottom:6px;background:#0f1c2dc7;color:#ffb74d;font:700 11px/1 Courier New,monospace;letter-spacing:.3px;padding:4px 6px;border-radius:4px}.jph-stamp-upl{color:#d7dde3;font-weight:400;font-style:italic}.jph-cap{display:flex;align-items:center;gap:4px;padding:5px 4px 5px 8px;min-height:30px}.jph-desc-text,.jph-desc-none{flex:1;min-width:0;font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.jph-desc-text{color:#1f2733}.jph-desc-none{color:#b0b8c1;font-style:italic}.jph-card:hover .jph-kebab{opacity:1}.jph-preview-cap{font-size:12px;color:#1a3a5c;font-weight:600;max-width:420px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.jph-upload{width:min(760px,94vw);max-width:none}.jph-batch{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px;background:#f7f9fb;border:1px solid var(--border);border-radius:8px;padding:8px 10px;margin-bottom:10px}.jph-batch label,.jph-row-inputs label{display:flex;flex-direction:column;gap:3px;font-size:11px;font-weight:700;color:#4b5563}.jph-batch-notes{flex:1;min-width:180px}.jph-batch input,.jph-row-inputs input{font-family:inherit;font-size:12.5px;font-weight:400;border:1px solid var(--border);border-radius:5px;padding:5px 7px}.jph-rows{max-height:52vh;overflow-y:auto;display:flex;flex-direction:column;gap:8px;padding-right:4px}.jph-row{display:flex;gap:10px;align-items:center;border:1px solid #eef1f4;border-radius:8px;padding:6px}.jph-row-thumb{flex:0 0 84px;height:64px;border-radius:6px;overflow:hidden;background:#eef1f4;display:flex;align-items:center;justify-content:center}.jph-row-thumb img{width:100%;height:100%;object-fit:cover}.jph-row-fields{flex:1;min-width:0}.jph-row-name{font-size:11.5px;color:#6b7280;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:4px}.jph-row-inputs{display:flex;gap:8px;flex-wrap:wrap}.jph-date em{font-weight:400;color:#8a929c}.jph-desc{flex:1;min-width:200px}.jph-hint{font-size:11.5px}.esb-head>span{position:relative}.esb-colgrip{position:absolute;top:-7px;bottom:-7px;right:-5px;width:8px;cursor:col-resize;z-index:2}.esb-colgrip:hover,body.esb-colresizing .esb-colgrip:active{background:#f57c0099}body.esb-colresizing{cursor:col-resize;-webkit-user-select:none;user-select:none}.esb-colgrab{width:12px;color:#9aa7b6;font-size:11px;letter-spacing:-2px;cursor:grab;-webkit-user-select:none;user-select:none}.esb-colrow-dragging{opacity:.45}.esb-colrow-over{box-shadow:inset 0 2px #f57c00}.esb-colmove{display:flex;gap:2px}.esb-colmove .btn-link{font-size:10px;padding:0 4px}.esb-colmove .btn-link:disabled{opacity:.3;cursor:default}.esb-colrow-over-after{box-shadow:inset 0 -2px #f57c00}.esb-row .esb-in.num,.esb-row .esb-calc.num,.esb-row .esb-value.num,.esb-head .num{text-align:left}.esb-head>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.esb-head>span .esb-colgrip{top:0;bottom:0;right:0;width:6px}.esb-row>*{min-width:0}.esb-head:not(.esheet-row)>span:not(:first-child){padding-left:6px}.esb-row:not(.esheet-row) .esb-value{padding-left:6px}.esb-countcell,.esb-value-alt{align-items:flex-start}.esb-head.esheet-row>*{padding-left:8px}.esb-head.esheet-row>*:first-child{padding-left:7px}.esb-head.esheet-row>*:nth-child(2){padding-left:11px}.esb-head.esheet-row .num{justify-content:flex-start}.esheet-row .esb-value{justify-content:flex-start;padding:1px 2px 1px 8px}.esb-head.esheet-row .esb-value{padding:7px 7px 7px 8px}
