@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-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-page{flex:1;padding:16px 16px calc(84px + 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:3px;padding:9px 0 7px;min-height:54px;text-decoration:none;color:#8a94a6;font-size:10.5px;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-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-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-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-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-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-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}.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}.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: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-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-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}.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}.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-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 130px}.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 90px}.sublog-archived{opacity:.75}.slog-grid{grid-template-columns:22px 46px minmax(220px,1.6fr) minmax(130px,.9fr) 170px minmax(110px,.7fr) 60px}.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-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:46px 120px minmax(140px,1fr) minmax(220px,1.6fr) 110px 84px 140px minmax(100px,.8fr)}.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:50px minmax(200px,1.6fr) 100px 80px 150px minmax(120px,1fr) 60px}.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}.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:2px 0 8px 26px;padding:4px 10px;border-left:2px solid #d3dfea}.slog-mix-row{display:flex;align-items:center;gap:12px;padding:3px 0;font-size:12.5px}.slog-mix-row .org-cell{flex:1}.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-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(200px,1.5fr) 105px 110px 115px 120px 105px;gap:6px;align-items:center;padding:3px 0}.ret-total{border-top:1px solid var(--border);margin-top:4px;padding-top:6px;font-weight:700;font-size:11.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) 130px 120px 140px 70px}.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{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}.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:16px;color:#f57c00;font-weight:700}.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:60vh;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-end!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-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 100px 84px 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-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)}.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-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-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:12.5px;color:#222}.pv-co{font-size:21px;font-weight:800;color:#1a3a5c;letter-spacing:.5px}.pv-sub{font-size:12px;font-weight:700;color:#f57c00;letter-spacing:2px;margin-top:2px}.pv-rule{height:3px;background:#1a3a5c;margin:8px 0 12px}.pv-info{width:100%;border-collapse:collapse;margin-bottom:12px}.pv-info td{padding:2px 0;font-size:12px}.pv-sechead{font-size:12px;font-weight:800;color:#1a3a5c;border-bottom:2px solid #1a3a5c;margin:14px 0 6px;padding-bottom:2px;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:10px}.pv-table th{background:#1a3a5c;color:#fff;font-size:10.5px;text-transform:uppercase;padding:5px 7px;text-align:left}.pv-table td{padding:5px 7px;border-bottom:1px solid #e4e7eb;font-size:12px;vertical-align:top}.pv-table .num,.pv-table th:last-child{text-align:right}.pv-secrow td{background:#eef2f7;font-weight:800;color:#1a3a5c;font-size:11.5px}.pv-subtotal td{font-weight:700;border-top:1px solid #c9d2dd}.pv-kid td{color:#555;font-size:11px;padding-top:2px;padding-bottom:2px}.pv-notes{color:#555;font-size:11px;margin-top:1px}.pv-dim{color:#555;font-size:11px}.pv-totals{margin-top:14px;margin-left:auto;width:300px}.pv-totals>div{display:flex;justify-content:space-between;font-size:12px;padding:2px 0}.pv-grand{border-top:2px solid #1a3a5c;margin-top:4px;padding-top:5px!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-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-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}.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:72%;padding-right:14px}.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}.esb-excldesc .esb-desc{width:100%;box-sizing:border-box;font-size:11.5px}.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}.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}.rfi-email-row{display:flex;align-items:center;gap:10px;margin-top:14px;font-size:12px}
