@import"https://fonts.googleapis.com/css2?family=Saira+Condensed:wght@500;600;700&family=Archivo:wght@400;500;600;700&family=Spline+Sans+Mono:wght@400;500;600&display=swap";*{box-sizing:border-box;margin:0;padding:0}:root{--bg:#0c0e12;--p1:#13171d;--p2:#1a1f26;--p3:#222831;--bd:#272e38;--bd2:#323b46;--tx:#e7ebef;--mut:#8b96a3;--mut2:#aab4bf;--comm:#ff7a1a;--elec:#e23b2e;--gas:#f5c518;--water:#2e9be2;--sewer:#3ddc84}body{color:var(--tx);font-family:Archivo,sans-serif;font-size:14px;line-height:1.45;background:radial-gradient(1100px 520px at 80% -10%,rgba(255,122,26,.07),transparent 60%),radial-gradient(900px 500px at -5% 108%,rgba(46,155,226,.06),transparent 55%),var(--bg)}.mono{font-family:Spline Sans Mono,monospace}.strong{font-weight:600}.sub{font-size:11px;color:var(--mut);font-weight:400;margin-top:2px}.sub2{font-size:12px;color:var(--mut)}h1{font-family:Saira Condensed;font-weight:700;letter-spacing:.02em}button{font-family:inherit}.login{min-height:100vh;display:grid;place-items:center;padding:24px}.login-card{width:100%;max-width:400px;background:linear-gradient(180deg,var(--p1),#11151a);border:1px solid var(--bd);border-radius:16px;padding:30px}.login-brand{display:flex;align-items:center;gap:12px;margin-bottom:6px}.login h1{font-size:22px}.login .tag{color:var(--comm);font-size:11px;letter-spacing:.15em;text-transform:uppercase;font-weight:600}.login p.lead{color:var(--mut);font-size:13px;margin:14px 0 20px}.login .field{margin-bottom:14px}.login .err{color:var(--elec);font-size:12.5px;margin-bottom:10px}.demo{margin-top:18px;border-top:1px solid var(--bd);padding-top:14px;font-size:12px;color:var(--mut)}.demo b{color:var(--mut2)}.demo button{display:block;width:100%;text-align:left;background:var(--p2);border:1px solid var(--bd);border-radius:8px;padding:8px 11px;color:var(--mut2);font-size:12px;margin-top:7px;cursor:pointer}.demo button:hover{border-color:var(--comm);color:#fff}.app{display:flex;flex-direction:column;height:100vh;width:100%;overflow:hidden}.app-body{display:flex;flex:1;min-height:0;overflow:hidden}.side{width:226px;flex-shrink:0;border-right:1px solid var(--bd);background:linear-gradient(180deg,var(--p1),#0e1217);display:flex;flex-direction:column;padding:18px 14px;overflow:hidden}.side nav{flex:1;overflow-y:auto;min-height:0;padding-right:4px}.side nav::-webkit-scrollbar{width:6px}.side nav::-webkit-scrollbar-thumb{background:var(--bd2);border-radius:4px}.brand{display:flex;gap:11px;align-items:center;padding:6px 6px 18px}.brand-mark{width:34px;height:34px;border-radius:9px;background:linear-gradient(135deg,var(--comm),#c2540a);display:grid;place-items:center;box-shadow:0 0 0 1px #ff7a1a66,0 6px 18px #ff7a1a40}.brand-mark span{width:13px;height:13px;border:2.5px solid #0c0e12;border-radius:3px;transform:rotate(45deg)}.brand-name{font-family:Saira Condensed;font-weight:700;font-size:22px;letter-spacing:.08em;line-height:1}.brand-sub{font-size:10px;color:var(--comm);letter-spacing:.15em;text-transform:uppercase;margin-top:3px;font-weight:600}nav{display:flex;flex-direction:column;gap:3px;margin-top:6px}.navb{position:relative;display:flex;align-items:center;gap:11px;padding:10px 12px;border:none;background:transparent;color:var(--mut2);border-radius:9px;cursor:pointer;font-size:13.5px;font-weight:500;text-align:left}.navb:hover{background:var(--p2);color:var(--tx)}.navb.on{background:var(--p3);color:#fff}.nav-rail{position:absolute;left:0;top:8px;bottom:8px;width:3px;border-radius:3px;background:var(--comm)}.side-foot{margin-top:auto;padding:14px 8px 4px;border-top:1px solid var(--bd)}.sf{display:flex;align-items:center;gap:7px;font-size:11.5px;color:var(--sewer);font-weight:500}.sf.sub2{color:var(--mut);margin-top:5px;font-weight:400}.logout{margin-top:10px;background:none;border:none;color:var(--mut);font-size:12px;cursor:pointer;display:flex;align-items:center;gap:7px;padding:4px 8px}.logout:hover{color:var(--elec)}.main{flex:1;display:flex;flex-direction:column;min-width:0}.topbar{height:60px;flex-shrink:0;border-bottom:1px solid var(--bd);display:flex;align-items:center;justify-content:space-between;padding:0 22px;background:#0f131899;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.who{display:flex;align-items:center;gap:11px}.who-name{font-weight:600;font-size:14px}.who-sub{font-size:11.5px;color:var(--mut)}.role-tag{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:600;color:var(--comm);background:#ff7a1a1a;border:1px solid rgba(255,122,26,.3);border-radius:20px;padding:6px 13px}.role-badge{display:inline-flex;align-items:center;color:#fff;font-weight:700;letter-spacing:.02em;padding:3px 9px;border-radius:20px;white-space:nowrap;font-family:Archivo,sans-serif;font-size:10px}.scroll{flex:1;overflow-y:auto;padding:24px}.scroll::-webkit-scrollbar{width:10px}.scroll::-webkit-scrollbar-thumb{background:var(--bd2);border-radius:6px;border:3px solid var(--bg)}.view{max-width:1140px;margin:0 auto;display:flex;flex-direction:column;gap:18px}.hello{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap}.hello h1{font-size:30px}.hello p{color:var(--mut);font-size:13px;margin-top:2px}.ava{position:relative;border-radius:9px;display:grid;place-items:center;font-family:Archivo;font-weight:700;color:#10120f;flex-shrink:0}.ava-dot{position:absolute;right:-2px;bottom:-2px;width:11px;height:11px;border-radius:50%;background:var(--sewer);border:2px solid var(--bg)}.vpcard{display:flex;align-items:center;gap:15px;background:linear-gradient(110deg,rgba(255,122,26,.1),var(--p1) 60%);border:1px solid rgba(255,122,26,.28);border-radius:14px;padding:16px 18px}.vpcard-info{flex:1}.vpcard-name{font-weight:600;font-size:15.5px;display:flex;align-items:center;gap:10px}.onl{font-size:11px;color:var(--sewer);font-weight:600}.vpcard-title{font-size:12.5px;color:var(--comm);font-weight:600;margin-top:1px}.vpcard-meta{display:flex;gap:16px;flex-wrap:wrap;margin-top:8px;font-size:12px;color:var(--mut2)}.vpcard-meta span{display:inline-flex;align-items:center;gap:6px}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.stat{background:linear-gradient(180deg,var(--p1),var(--p2));border:1px solid var(--bd);border-radius:13px;padding:15px}.stat-top{display:flex;justify-content:space-between;align-items:center}.stat-label{font-size:10.5px;text-transform:uppercase;letter-spacing:.1em;color:var(--mut)}.stat-val{font-family:Saira Condensed;font-weight:700;font-size:30px;margin-top:8px;line-height:1}.two-col{display:grid;grid-template-columns:1.4fr 1fr;gap:16px;align-items:start}.stack{display:flex;flex-direction:column;gap:16px}.panel{background:linear-gradient(180deg,var(--p1),#11151a);border:1px solid var(--bd);border-radius:14px;overflow:hidden}.panel-head{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--bd);font-size:11.5px;font-weight:600;color:var(--mut2);text-transform:uppercase;letter-spacing:.08em}.panel-head span{display:inline-flex;align-items:center;gap:8px}.panel-body{padding:13px 15px}.qlist{display:flex;flex-direction:column;gap:7px}.qlist.tight{gap:5px}.qitem{display:flex;align-items:center;gap:11px;width:100%;text-align:left;background:var(--p2);border:1px solid var(--bd);border-radius:9px;padding:11px 13px;cursor:pointer;color:var(--tx)}.qitem:hover{border-color:var(--bd2)}.qitem.hot{border-color:#f5c51857;background:#f5c5180f}.qitem.vp{padding-left:9px}.prio{width:4px;align-self:stretch;border-radius:3px;flex-shrink:0}.qicon{width:28px;height:28px;border-radius:8px;background:var(--p3);display:grid;place-items:center;color:var(--comm);flex-shrink:0}.qicon.sm{width:22px;height:22px;border-radius:6px}.qtype{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;flex-shrink:0;width:52px}.qttl{flex:1;font-size:13.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.qsub{display:flex;align-items:center;gap:5px;font-size:11px;color:var(--mut);margin-top:2px;font-weight:400}.acct{display:flex;align-items:center;gap:11px;padding:8px 4px}.acct-info{flex:1}.acct-name{font-weight:600;font-size:13px}.acct-n{font-family:Spline Sans Mono;font-size:13px;background:var(--p3);border-radius:7px;padding:3px 9px;color:var(--comm)}.hours{display:flex;flex-direction:column;gap:9px}.hours-num{display:flex;align-items:baseline;gap:8px}.big{font-size:26px;font-weight:600}.hours-unit{font-size:12px;color:var(--mut)}.bar{height:7px;background:var(--p3);border-radius:5px;overflow:hidden}.bar span{display:block;height:100%;background:linear-gradient(90deg,var(--comm),#ffb070);border-radius:5px}.tline{display:flex;justify-content:space-between;font-size:12.5px;color:var(--mut2);padding:3px 0;border-top:1px solid var(--bd)}.pill{display:inline-flex;align-items:center;font-size:10.5px;font-weight:600;padding:3px 9px;border-radius:20px;border:1px solid;white-space:nowrap}.more{display:inline-flex;align-items:center;gap:4px;background:none;border:none;color:var(--comm);font-size:12px;font-weight:600;cursor:pointer}.reqcols{display:grid;grid-template-columns:340px 1fr;gap:16px;height:calc(100vh - 108px)}.reqlist{display:flex;flex-direction:column;background:var(--p1);border:1px solid var(--bd);border-radius:14px;overflow:hidden}.reqlist-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px;border-bottom:1px solid var(--bd)}.seg{display:flex;background:var(--p2);border:1px solid var(--bd2);border-radius:8px;padding:2px}.segb{font-size:12px;font-weight:600;color:var(--mut);background:none;border:none;padding:6px 11px;border-radius:6px;cursor:pointer}.segb.on{background:var(--p3);color:#fff}.reqlist-body{flex:1;overflow-y:auto;padding:9px;display:flex;flex-direction:column;gap:7px}.reqrow{text-align:left;background:var(--p2);border:1px solid var(--bd);border-radius:10px;padding:11px 12px;cursor:pointer;color:var(--tx);display:flex;flex-direction:column;gap:5px}.reqrow:hover{border-color:var(--bd2)}.reqrow.on{border-color:var(--comm);background:#ff7a1a12}.reqrow-top{display:flex;align-items:center;gap:8px}.reqrow-id{font-size:11px;color:var(--mut)}.reqrow-cust{font-size:10.5px;color:var(--mut2);background:var(--p3);padding:2px 7px;border-radius:5px;margin-left:auto}.reqrow-top .pill{margin-left:auto}.reqrow-cust+.pill{margin-left:0}.reqrow-ttl{font-size:13px;font-weight:600;line-height:1.3}.reqrow-last{font-size:11.5px;color:var(--mut);overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical}.reqdetail{background:var(--p1);border:1px solid var(--bd);border-radius:14px;overflow:hidden;display:flex;flex-direction:column}.reqempty{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--mut)}.reqempty svg{color:var(--bd2)}.rd{display:flex;flex-direction:column;height:100%}.rd-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;padding:16px 18px;border-bottom:1px solid var(--bd)}.rd-head-l{display:flex;gap:12px;align-items:flex-start}.rd-title{font-size:15.5px;font-weight:600;line-height:1.3}.rd-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:12px;color:var(--mut2);margin-top:5px}.rd-meta .dot{color:var(--bd2)}.rd-meta span{display:inline-flex;align-items:center;gap:4px}.deliv{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:14px 18px 0;padding:12px 14px;background:#3ddc8412;border:1px solid rgba(61,220,132,.28);border-radius:11px}.deliv-l{display:flex;gap:11px;align-items:flex-start}.deliv-kind{font-weight:600;font-size:13px}.thread{flex:1;overflow-y:auto;padding:18px;display:flex;flex-direction:column;gap:14px}.msg{display:flex;gap:10px;max-width:84%}.msg.mine{align-self:flex-end;flex-direction:row-reverse}.msg-body{background:var(--p2);border:1px solid var(--bd);border-radius:12px;padding:9px 13px}.msg.mine .msg-body{background:#ff7a1a1a;border-color:#ff7a1a47}.msg-meta{font-size:11px;color:var(--mut);font-weight:600;margin-bottom:3px}.msg-time{font-weight:400;color:var(--bd2);margin-left:6px}.msg-text{font-size:13.5px;line-height:1.5}.rd-foot{border-top:1px solid var(--bd);padding:13px 16px;display:flex;flex-direction:column;gap:11px}.rd-actions{display:flex;gap:8px;flex-wrap:wrap}.rd-done{border-top:1px solid var(--bd);padding:15px;text-align:center;color:var(--sewer);font-size:13px;font-weight:600;display:flex;align-items:center;justify-content:center;gap:8px}.composer{display:flex;gap:9px;align-items:center}.composer input{flex:1;background:var(--p2);border:1px solid var(--bd2);border-radius:10px;padding:11px 14px;color:var(--tx);font-family:inherit;font-size:13.5px;outline:none}.composer input:focus{border-color:var(--comm)}.icon-btn{background:var(--p2);border:1px solid var(--bd2);border-radius:9px;width:38px;height:38px;display:grid;place-items:center;color:var(--mut);cursor:pointer}.icon-btn:hover{color:#fff}.btn{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--bd2);background:var(--p2);color:var(--tx);padding:8px 14px;border-radius:9px;font-size:13px;font-weight:600;cursor:pointer;transition:.12s}.btn:hover{border-color:var(--mut)}.btn.sm{padding:7px 12px;font-size:12.5px}.btn.block{width:100%;justify-content:center;padding:11px}.btn.primary{background:linear-gradient(135deg,var(--comm),#d85f10);border-color:transparent;color:#10120f;box-shadow:0 4px 14px #ff7a1a42}.btn.primary:hover{filter:brightness(1.06)}.btn.primary:disabled{opacity:.5;cursor:not-allowed;filter:none}.btn.ghost{background:transparent}.rechead{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap}.rechead h1{font-size:28px}.rechead p{color:var(--mut);font-size:13px;margin-top:2px}.managed{display:flex;align-items:center;gap:9px;font-size:12.5px;color:var(--mut2);background:var(--p2);border:1px solid var(--bd);border-radius:22px;padding:5px 14px 5px 5px}.legend{display:flex;gap:16px;flex-wrap:wrap}.leg{display:inline-flex;align-items:center;gap:7px;font-size:12px;color:var(--mut2)}.utdots{display:inline-flex;gap:5px}.utdot{width:10px;height:10px;border-radius:50%;box-shadow:0 0 0 1px #0006}.rec{border:1px solid var(--bd);border-radius:13px;overflow:hidden}.rec-tr{display:grid;grid-template-columns:1.2fr 1.8fr 1fr 1.1fr 1fr;align-items:center;gap:12px;padding:13px 16px;border-bottom:1px solid var(--bd)}.rec-tr.inv{grid-template-columns:1fr 1.4fr .8fr 1fr .9fr .9fr}.rec-tr:last-child{border-bottom:none}.rec-tr.th{background:var(--p2);font-size:10.5px;text-transform:uppercase;letter-spacing:.1em;color:var(--mut)}.rec-tr .od{color:var(--elec);font-weight:600}.rl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:13px}.rlcard{background:linear-gradient(180deg,var(--p1),var(--p2));border:1px solid var(--bd);border-radius:13px;padding:15px;display:flex;flex-direction:column;gap:11px}.rlcard-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.rlseg{font-size:13.5px;font-weight:500}.rlqty{display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--bg);border:1px solid var(--bd);border-radius:9px;padding:11px 13px}.rlunit{font-size:11px;color:var(--mut);margin-left:5px}.rlstruct{font-size:11px;color:var(--mut2);display:inline-flex;align-items:center;gap:5px}.rlval{font-weight:600;color:var(--sewer);font-size:15px}.modal-bg{position:fixed;top:0;right:0;bottom:0;left:0;background:#06080bb8;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:grid;place-items:center;z-index:50;padding:20px}.modal{width:100%;max-width:480px;background:var(--p1);border:1px solid var(--bd2);border-radius:15px;overflow:hidden}.modal-head{display:flex;justify-content:space-between;align-items:center;padding:15px 18px;border-bottom:1px solid var(--bd);font-family:Saira Condensed;font-weight:600;font-size:18px}.modal-head button{background:none;border:none;color:var(--mut);cursor:pointer}.modal-body{padding:18px}.modal-foot{display:flex;justify-content:flex-end;gap:10px;padding:0 18px 18px}.frow{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field{display:block;margin-bottom:14px}.field span{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.09em;color:var(--mut);margin-bottom:6px}.field input,.field select,.field textarea{width:100%;background:var(--p2);border:1px solid var(--bd2);border-radius:9px;padding:10px 12px;color:var(--tx);font-size:13.5px;font-family:inherit;outline:none;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--comm)}.attach-hint{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--mut);border:1px dashed var(--bd2);border-radius:9px;padding:13px;justify-content:center}.empty{text-align:center;color:var(--mut);font-size:13px;padding:24px}.loading{height:100vh;display:grid;place-items:center;color:var(--mut)}@media (max-width:920px){.side{width:62px;padding:14px 8px}.brand div:last-child,.navb span,.side-foot{display:none}.stat-grid{grid-template-columns:repeat(2,1fr)}.two-col{grid-template-columns:1fr}.reqcols{grid-template-columns:1fr;height:auto}.rec-tr,.rec-tr.inv{grid-template-columns:1.2fr 1.6fr 1fr}.rec-tr div:nth-child(4),.rec-tr div:nth-child(5),.rec-tr.inv div:nth-child(5),.rec-tr.inv div:nth-child(6){display:none}}.mini{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;font-weight:600;padding:5px 10px;border-radius:7px;border:1px solid var(--bd2);background:var(--p2);color:var(--mut2);cursor:pointer}.mini:hover{color:#fff;border-color:var(--mut)}.mini.ok{color:var(--sewer);border-color:#3ddc8466}.rowacts{display:flex;justify-content:flex-end;gap:6px}.chart{display:flex;flex-direction:column;gap:9px}.cbar-row{display:grid;grid-template-columns:120px 1fr 70px;align-items:center;gap:10px;font-size:12px}.cbar-label{color:var(--mut2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cbar-track{height:18px;background:var(--p3);border-radius:5px;overflow:hidden}.cbar-fill{height:100%;border-radius:5px;background:linear-gradient(90deg,var(--comm),#ffb070)}.cbar-val{text-align:right;color:var(--mut2)}.qmid{font-size:12px;color:var(--mut2)}.qval{font-weight:600;min-width:74px;text-align:right}.banner{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;background:linear-gradient(110deg,rgba(255,122,26,.1),var(--p1) 60%);border:1px solid rgba(255,122,26,.28);border-radius:14px;padding:14px 18px}.banner-l{display:flex;align-items:center;gap:13px}.banner-ic{width:40px;height:40px;border-radius:10px;background:var(--p3);display:grid;place-items:center;color:var(--comm)}.banner-t{font-weight:600;font-size:14px}.banner-s{font-size:12px;color:var(--mut)}.bill-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.bill-card{background:linear-gradient(180deg,var(--p1),var(--p2));border:1px solid var(--bd);border-radius:13px;padding:18px}.bill-k{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--mut)}.bill-v{font-family:Saira Condensed;font-weight:700;font-size:28px;margin-top:6px}.bill-v small{font-size:13px;color:var(--mut);font-weight:400}.feat{display:flex;flex-direction:column;gap:9px}.feat li{display:flex;align-items:center;gap:9px;font-size:13px;list-style:none}.feat li svg{color:var(--sewer);flex-shrink:0}.rec-tr.editable{grid-template-columns:1.1fr 1.6fr .9fr 1fr .9fr .7fr}.sub-portal{max-width:720px;margin:0 auto;min-height:100vh;background:#0f1419;color:#e8edf3;padding-bottom:80px}.sub-head{display:flex;justify-content:space-between;align-items:center;padding:18px 20px;border-bottom:1px solid #1e2630;background:linear-gradient(180deg,#131923,#0f1419);position:sticky;top:0;z-index:5}.sub-name{font-size:18px;font-weight:700;letter-spacing:-.3px}.sub-sub{font-size:12px;color:#8b96a3;margin-top:2px}.sub-tabs{display:grid;grid-template-columns:repeat(5,1fr);gap:4px;padding:12px 14px;background:#0f1419;position:sticky;top:64px;z-index:4;border-bottom:1px solid #1e2630}.sub-tab{background:#1a2230;color:#8b96a3;border:1px solid #232c3a;border-radius:10px;padding:10px 6px;font-size:11px;font-weight:600;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:4px;transition:all .15s}.sub-tab.on{background:#ff7a1a;color:#fff;border-color:#ff7a1a}.sub-tab:not(.on):hover{background:#232c3a;color:#e8edf3}.sub-main{padding:16px;display:flex;flex-direction:column;gap:16px}.sub-kpis{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}.sub-kpi{background:#1a2230;border:1px solid #232c3a;border-radius:12px;padding:14px 10px;text-align:center}.sub-kpi-n{font-size:24px;font-weight:700;color:#ff7a1a;letter-spacing:-.5px}.sub-kpi-l{font-size:11px;color:#8b96a3;margin-top:4px;text-transform:uppercase;letter-spacing:.5px}.sub-job-card{background:#1a2230;border:1px solid #232c3a;border-radius:12px;padding:14px;margin-bottom:10px}.sub-job-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:6px}.sub-job-name{font-size:14px;font-weight:600;line-height:1.3}.sub-job-meta{font-size:12px;color:#8b96a3;margin-bottom:4px}.sub-job-rate{font-size:11px;color:#5a6470;margin-bottom:10px}.sub-form{display:flex;flex-direction:column;gap:12px}.sub-form label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:600;color:#8b96a3;text-transform:uppercase;letter-spacing:.5px}.sub-form input,.sub-form select,.sub-form textarea{background:#0f1419;border:1px solid #232c3a;border-radius:8px;padding:12px 14px;color:#e8edf3;font-size:16px;font-family:inherit;font-weight:400;text-transform:none;letter-spacing:normal;min-height:44px}.sub-form input:focus,.sub-form select:focus,.sub-form textarea:focus{outline:none;border-color:#ff7a1a}.sub-form-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}.sub-form-row:has(label:nth-child(2):last-child){grid-template-columns:1fr 1fr}.sub-form .btn{min-height:50px;font-size:15px;font-weight:700}.sub-msg{background:#ff7a1a1f;border:1px solid rgba(255,122,26,.3);border-radius:8px;padding:10px 12px;color:#ffb27a;font-size:13px}.sub-row{background:#1a2230;border:1px solid #232c3a;border-radius:10px;padding:12px;margin-bottom:8px}.sub-row-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.sub-row-meta{font-size:12px;color:#8b96a3}.sub-row-notes{font-size:12px;color:#c5cdd6;margin-top:6px;padding-top:6px;border-top:1px solid #232c3a}.sub-pay-grid{display:flex;justify-content:space-between;margin-top:8px;font-size:13px}.sub-pay-note{font-size:11px;color:#5a6470;padding:8px 12px;text-align:center;font-style:italic}.empty{padding:24px;text-align:center;color:#5a6470;font-size:13px}@media (max-width: 480px){.sub-form-row{grid-template-columns:1fr 1fr}.sub-kpis{gap:6px}.sub-kpi-n{font-size:20px}}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:100;padding:16px}.modal{background:#1a2230;border:1px solid #232c3a;border-radius:12px;max-width:460px;width:100%;max-height:90vh;display:flex;flex-direction:column}.modal-head{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #232c3a;font-weight:600}.modal-head button{background:none;border:none;color:#8b96a3;cursor:pointer;padding:4px}.modal-body{padding:20px;overflow-y:auto;display:flex;flex-direction:column;gap:14px}.modal-body label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:600;color:#8b96a3;text-transform:uppercase;letter-spacing:.5px}.modal-body input,.modal-body select{background:#0f1419;border:1px solid #232c3a;border-radius:8px;padding:10px 12px;color:#e8edf3;font-size:14px;font-family:inherit;font-weight:400;text-transform:none;letter-spacing:normal}.modal-body input:focus,.modal-body select:focus{outline:none;border-color:#ff7a1a}.modal-foot{padding:14px 20px;border-top:1px solid #232c3a;display:flex;justify-content:flex-end;gap:10px}.form-error{background:#e23b2e1f;border:1px solid rgba(226,59,46,.3);border-radius:8px;padding:10px 12px;color:#ff9285;font-size:13px}.form-success{background:#3ddc841f;border:1px solid rgba(61,220,132,.3);border-radius:8px;padding:10px 12px;color:#8fe9b6;font-size:13px;line-height:1.5}.form-notice{background:#ff7a1a1f;border:1px solid rgba(255,122,26,.3);border-radius:8px;padding:10px 12px;color:#ffb27a;font-size:13px;margin:0 0 10px}.copyable{background:#0f1419;padding:4px 8px;border-radius:4px;font-family:ui-monospace,monospace;font-size:13px;color:#ff7a1a;-webkit-user-select:all;user-select:all}table.data{width:100%;border-collapse:collapse;font-size:13px}table.data th{text-align:left;padding:10px 8px;color:#8b96a3;font-size:11px;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid #232c3a}table.data td{padding:10px 8px;border-bottom:1px solid rgba(35,44,58,.5)}table.data tr:hover{background:#232c3a4d}.search{width:100%;max-width:480px;background:#1a2230;border:1px solid #232c3a;border-radius:8px;padding:10px 14px;color:#e8edf3;font-size:14px}.search:focus{outline:none;border-color:#ff7a1a}.kpi-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin-bottom:16px}.kpi-card{background:#1a2230;border:1px solid #232c3a;border-radius:10px;padding:14px;text-align:center}.kpi-card .kpi-n{font-size:22px;font-weight:700;color:#ff7a1a}.kpi-card .kpi-l{font-size:11px;color:#8b96a3;text-transform:uppercase;letter-spacing:.5px;margin-top:4px}.wiki-list-item{padding:10px 12px;border-radius:8px;cursor:pointer;margin-bottom:4px}.wiki-list-item:hover{background:#232c3a80}.wiki-list-item.active{background:#232c3a;border-left:3px solid #ff7a1a;padding-left:9px}.wiki-content{white-space:pre-wrap;font-family:inherit;font-size:14px;color:#c5cdd6;background:#0f1419;padding:14px;border-radius:8px;line-height:1.6;max-width:100%;overflow-wrap:break-word}.wiki-form{display:flex;flex-direction:column;gap:12px}.wiki-form label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:600;color:#8b96a3;text-transform:uppercase;letter-spacing:.5px}.wiki-form input,.wiki-form textarea{background:#0f1419;border:1px solid #232c3a;border-radius:8px;padding:10px 12px;color:#e8edf3;font-size:14px;font-family:inherit}.insights-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}.kpi-row{display:flex;justify-content:space-between;padding:6px 0;font-size:14px}.kpi-row span{color:#8b96a3}.settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.settings-grid label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:600;color:#8b96a3;text-transform:uppercase;letter-spacing:.5px}.settings-grid input,.settings-grid select{background:#0f1419;border:1px solid #232c3a;border-radius:8px;padding:10px 12px;color:#e8edf3;font-size:14px}.ro-banner{display:flex;align-items:center;gap:10px;margin-bottom:16px;background:#6f5bd01a;border:1px solid rgba(111,91,208,.34);border-radius:10px;padding:10px 14px;color:var(--tx);font-size:13px}.ro-banner .ro-ic{color:#8b78e0;display:inline-flex}.ro-banner b{font-weight:700}.ro-banner .ro-sub{color:var(--mut)}.app.theme-light .ro-banner{background:#6f5bd012;border-color:#6f5bd047}.app.theme-light .ro-banner .ro-sub{color:var(--mut)}.kpi-ghost{border:1px dashed var(--bd2);border-radius:13px;padding:14px 16px;background:repeating-linear-gradient(135deg,transparent,transparent 7px,rgba(140,150,165,.06) 7px,rgba(140,150,165,.06) 14px);display:flex;flex-direction:column;gap:6px;justify-content:center;min-height:92px}.kpi-ghost .gh-l{font-size:11px;letter-spacing:.07em;text-transform:uppercase;color:var(--mut2);font-weight:600}.kpi-ghost .gh-lock{display:inline-flex;align-items:center;gap:6px;color:var(--mut);font-size:12px;font-family:Spline Sans Mono,monospace}.kpi-ghost .gh-lock code{background:var(--p3);padding:1px 6px;border-radius:5px;font-size:11px;color:var(--mut2)}.app.theme-light .kpi-ghost{background:repeating-linear-gradient(135deg,transparent,transparent 7px,rgba(100,110,130,.05) 7px,rgba(100,110,130,.05) 14px)}.app.theme-light .kpi-ghost .gh-lock code{background:var(--p3)}.cpa-invs{display:flex;flex-direction:column}.cpa-inv{display:flex;align-items:center;gap:12px;padding:11px 4px;border-bottom:1px solid var(--bd);font-size:13px}.cpa-inv:last-child{border-bottom:0}.cpa-inv .cid{font-family:Spline Sans Mono,monospace;font-size:12px;color:var(--mut);min-width:74px}.cpa-inv .cgr{flex:1;color:var(--tx)}.cpa-inv .cvv{font-family:Spline Sans Mono,monospace;font-weight:700;color:var(--sewer)}.cpa-inv .cvv.red{color:var(--comm)}.app.theme-light .cpa-inv{border-bottom-color:var(--bd)}.app.theme-light{--bg:#f3f6fa;--p1:#ffffff;--p2:#f1f4f8;--p3:#e6ecf2;--bd:#d8dee5;--bd2:#bdc7d2;--tx:#1d242c;--mut:#5d6873;--mut2:#3c4651;background:#f3f6fa}.app.theme-light .side{background:linear-gradient(180deg,#fff,#f1f4f8);border-right:1px solid var(--bd)}.app.theme-light .brand-mark span{border-color:#fff}.app.theme-light .navb{color:#475461}.app.theme-light .navb:hover{background:#e7ecf2;color:#10141a}.app.theme-light .navb.on{background:#dfe6ee;color:#0c0f14}.app.theme-light .topbar{background:#ffffffd9;border-bottom:1px solid var(--bd);color:#1d242c}.app.theme-light .who-name{color:#1d242c}.app.theme-light .panel{background:#fff;border:1px solid var(--bd)}.app.theme-light .panel-head{border-bottom:1px solid var(--bd);color:#5d6873;background:#fafbfd}.app.theme-light .stat{background:#fff;border:1px solid var(--bd)}.app.theme-light .qitem{background:#fafbfd;border:1px solid var(--bd);color:#1d242c}.app.theme-light .qitem:hover{border-color:#a5b3c2;background:#f1f4f8}.app.theme-light .qitem.hot{background:#f5c5181f;border-color:#f5c51873}.app.theme-light .btn{background:#fff;color:#1d242c;border-color:var(--bd2)}.app.theme-light .btn:hover{border-color:#7c8a98}.app.theme-light .btn.ghost{background:transparent;color:#3c4651;border-color:var(--bd)}.app.theme-light .btn.ghost:hover{background:#f1f4f8;border-color:#a5b3c2}.app.theme-light .btn.primary{background:linear-gradient(135deg,var(--comm),#d85f10);border-color:transparent;color:#fff;box-shadow:0 4px 14px #ff7a1a42}.app.theme-light .btn.primary:hover{filter:brightness(1.06)}.app.theme-light .btn.primary:disabled{opacity:.5;filter:none}.app.theme-light .ava-dot{border-color:#fff}.app.theme-light .pill{background:#0000000a}.app.theme-light .modal-backdrop,.app.theme-light .modal-bg{background:#141a218c}.app.theme-light .modal{background:#fff;border:1px solid var(--bd);color:#1d242c}.app.theme-light .modal-head{border-bottom:1px solid var(--bd);color:#1d242c;background:#fafbfd}.app.theme-light .modal-foot{border-top:1px solid var(--bd);background:#fafbfd}.app.theme-light .modal-body input,.app.theme-light .modal-body select,.app.theme-light .modal-body textarea{background:#fff;color:#1d242c;border:1px solid var(--bd)}.app.theme-light .modal-body label{color:#5b6776}.app.theme-light .form-notice{color:#b25410}.app.theme-light .copyable{background:#f1f4f8;color:#c0500a;border:1px solid var(--bd)}.app.theme-light .search{background:#fff;color:#1d242c;border:1px solid var(--bd)}.app.theme-light .kpi-card{background:#fff;border:1px solid var(--bd)}.app.theme-light .data thead th{background:#fafbfd;color:#5d6873;border-bottom:1px solid var(--bd)}.app.theme-light .data tbody tr{border-bottom:1px solid #ebeff4}.app.theme-light .data tbody tr:hover{background:#f7f9fc}.app.theme-light .scroll::-webkit-scrollbar-thumb{background:#cdd5de;border-color:#f3f6fa}.app.theme-light .empty{color:#7c8a98}.app.theme-light .sub2{color:#5d6873}.app.theme-light .sub{color:#7c8a98}.app.theme-light .wiki-list-item{background:#fafbfd;border:1px solid var(--bd)}.app.theme-light .wiki-list-item:hover,.app.theme-light .wiki-list-item.active{background:#eef3f8;border-color:#a5b3c2}.app.theme-light .wiki-content{background:#fafbfd;color:#1d242c}.app.theme-light .banner{background:linear-gradient(110deg,#ff7a1a14,#fff 60%);border:1px solid rgba(255,122,26,.28)}.app.theme-light h1{color:#10141a}.app.theme-light .vpcard{background:linear-gradient(110deg,#ff7a1a14,#fff 60%)}html,body{height:100%}#root{height:100vh}.grid-rc{display:grid;grid-template-columns:120px 1fr 70px 100px 90px;gap:8px;padding:8px 0;border-bottom:1px solid var(--bd);align-items:center}.grid-rc.head{font-size:11px;color:var(--mut2);text-transform:uppercase;letter-spacing:.08em}.grid-dr{display:grid;grid-template-columns:90px 1fr 1fr 80px 90px 80px;gap:8px;padding:8px 0;border-bottom:1px solid var(--bd);align-items:center}.grid-dr.head{font-size:11px;color:var(--mut2);text-transform:uppercase;letter-spacing:.08em}.grid-dr.row{cursor:pointer}.grid-dr.row:hover{background:#ffffff05}.grid-eq{display:grid;grid-template-columns:100px 1fr 90px 60px 60px 60px 100px;gap:8px;padding:8px 0;border-bottom:1px solid var(--bd);align-items:center}.grid-eq.head{font-size:11px;color:var(--mut2);text-transform:uppercase;letter-spacing:.08em}.grid-eq.row{cursor:pointer}.grid-eq.row:hover{background:#ffffff05}.grid-sub{display:grid;grid-template-columns:1.5fr 1fr 1.5fr 1fr 80px 100px;gap:8px;padding:10px 0;border-bottom:1px solid var(--bd);align-items:center}.grid-sub.head{font-size:11px;color:var(--mut2);text-transform:uppercase;letter-spacing:.08em;padding:8px 0}.grid-sub.row{cursor:pointer}.grid-sub.row:hover{background:#ffffff05}.app.theme-light .grid-dr.row:hover,.app.theme-light .grid-eq.row:hover,.app.theme-light .grid-sub.row:hover{background:#f7f9fc}.ji{padding:7px 9px;background:var(--p2);border:1px solid var(--bd2);color:var(--tx);border-radius:7px;font-family:inherit;font-size:13px;outline:none;min-width:0}.ji:focus{border-color:var(--comm)}.app.theme-light .ji{background:#fff}.admin-select{padding:8px 12px;background:var(--p2);border:1px solid var(--bd2);color:var(--tx);border-radius:8px;font-family:inherit;font-size:13px}.login-info{background:#2e9be21f;border:1px solid rgba(46,155,226,.3);border-radius:8px;padding:9px 12px;color:#9ed0f2;font-size:12.5px;margin-bottom:10px}.login .link{background:none;border:none;color:var(--mut2);font-size:12.5px;cursor:pointer;margin-top:12px;display:inline-block}.login .link:hover{color:var(--comm)}.login .field input{width:100%;background:var(--p2);border:1px solid var(--bd2);border-radius:9px;padding:11px 13px;color:var(--tx);font-family:inherit;font-size:14px;outline:none}.login .field input:focus{border-color:var(--comm)}.login .btn.block{margin-top:4px}.login .brand-mark{width:38px;height:38px}.dash-grid{display:grid;grid-template-columns:300px minmax(0,1fr);gap:14px;align-items:stretch;margin-bottom:14px}.dash-grid.no-hero{grid-template-columns:minmax(0,1fr)}.dash-right{display:flex;flex-direction:column;gap:14px;min-width:0}.dash-cards{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.dash-charts{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(290px,1fr))}.herocard{background:linear-gradient(180deg,var(--p1),var(--p2));border:1px solid var(--bd);border-radius:13px;padding:22px 20px;display:flex;flex-direction:column}.app.theme-light .herocard{background:#fff;box-shadow:0 1px 2px #10141a0a,0 12px 30px -22px #10141a66}.hero-label{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--mut2);font-weight:600}.hero-num{font-family:Saira Condensed,sans-serif;font-weight:700;font-size:64px;line-height:.92;color:var(--tx);margin-top:8px;letter-spacing:-.01em}.hero-unit{font-size:15px;color:var(--mut);margin-top:4px}.hero-div{height:1px;background:var(--bd);margin:20px 0 2px}.hero-refs{display:flex;flex-direction:column}.refrow{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0;border:0;border-bottom:1px solid var(--bd);background:transparent;cursor:pointer;font:inherit;text-align:left}.hero-refs .refrow:last-child{border-bottom:0}.refrow-l{font-size:13.5px;color:var(--mut);transition:color .12s}.refrow:hover .refrow-l{color:var(--comm)}.refrow-v{font-size:16px;font-weight:700;color:var(--tx);font-variant-numeric:tabular-nums}.vbars{position:relative;padding-top:22px}.vbars-grid{position:absolute;left:0;right:0;top:22px;height:188px;display:flex;flex-direction:column;justify-content:space-between;pointer-events:none}.vbars-grid span{display:block;height:1px;background:var(--bd);opacity:.6}.vbars-cols{position:relative;display:flex;align-items:flex-end;gap:16px}.vbar-col{flex:1;min-width:0;display:flex;flex-direction:column}.vbar-track{height:188px;display:flex;align-items:flex-end}.vbar-fill{position:relative;width:100%;min-height:3px;border-radius:8px 8px 0 0;background:linear-gradient(180deg,#ff8a3d,#ef5f0c)}.vbar-val{position:absolute;top:-21px;left:0;right:0;text-align:center;font-size:12px;font-weight:700;color:var(--tx)}.vbar-label{text-align:center;font-size:11.5px;color:var(--mut2);margin-top:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.donut-wrap{display:flex;align-items:center;gap:22px;padding:4px 0}.donut-svg{position:relative;flex-shrink:0}.donut-center{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.donut-total{font-family:Saira Condensed,sans-serif;font-weight:700;font-size:25px;color:var(--tx);line-height:1}.donut-sub{font-size:9px;letter-spacing:.14em;color:var(--mut2);font-weight:600;margin-top:3px}.donut-legend{display:flex;flex-direction:column;gap:11px;min-width:0;flex:1}.donut-leg{display:flex;align-items:center;gap:9px}.donut-dot{width:11px;height:11px;border-radius:3px;flex-shrink:0}.donut-leg-label{font-size:13px;color:var(--mut);flex:1}.donut-leg-val{font-size:13px;font-weight:700;color:var(--tx)}@media (max-width: 900px){.dash-grid{grid-template-columns:minmax(0,1fr)}}.nav-group{margin-top:14px}.nav-group:first-child{margin-top:4px}.nav-group-label{font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--mut2);padding:0 12px 6px;opacity:.85}.app.theme-light .nav-group-label{color:#94a0af}@media (max-width: 920px){.nav-group-label{display:none}.nav-group{margin-top:8px}}.crew-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:14px}.crewcard{background:linear-gradient(180deg,var(--p1),var(--p2));border:1px solid var(--bd);border-radius:13px;padding:16px 18px;display:flex;flex-direction:column}.app.theme-light .crewcard{background:#fff;box-shadow:0 1px 2px #10141a0a,0 12px 30px -24px #10141a66}.crewcard-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-bottom:12px;border-bottom:1px solid var(--bd)}.crewcard-name{display:flex;align-items:center;gap:8px;font-weight:700;font-size:15px;color:var(--tx)}.crewcard-meta{font-size:11.5px;color:var(--mut2);white-space:nowrap}.crew-rows{display:flex;flex-direction:column;padding:6px 0}.crew-row{display:grid;grid-template-columns:1fr 26px auto 64px;gap:10px;align-items:center;padding:7px 0;font-size:13px}.crew-rl{color:var(--mut)}.crew-rc{color:var(--tx);font-weight:600;text-align:right;font-variant-numeric:tabular-nums}.crew-rx{color:var(--mut2);font-size:12px;text-align:right;font-variant-numeric:tabular-nums}.crew-ra{color:var(--mut);text-align:right;font-variant-numeric:tabular-nums}.crew-total{display:flex;align-items:center;justify-content:space-between;padding:10px 0 4px;margin-top:4px;border-top:1px solid var(--bd)}.crew-total-l{font-size:13px;color:var(--tx);font-weight:600}.crew-total-v{font-family:Saira Condensed,sans-serif;font-size:19px;font-weight:700;color:var(--comm);font-variant-numeric:tabular-nums}.crew-weekly{display:flex;align-items:center;justify-content:space-between;padding:4px 0;font-size:12.5px;color:var(--mut)}.crew-weekly b{color:var(--tx);font-variant-numeric:tabular-nums;font-weight:700}.crew-note{font-size:12px;color:var(--mut);font-style:italic;padding:10px 0 12px;line-height:1.4}.crew-acts{display:flex;gap:8px;margin-top:auto;padding-top:6px}.own-pill{font-size:10.5px;font-weight:700;letter-spacing:.03em;padding:2px 9px;border-radius:20px;border:1px solid}.docs-cell{display:inline-flex;gap:5px;align-items:center}.app.theme-light table.data td .muted-dash{color:#b6c0cc}:root{--r-sm: 8px;--r-md: 11px;--r-lg: 14px;--shadow-card: 0 1px 2px rgba(0,0,0,.28), 0 8px 24px -16px rgba(0,0,0,.5);--ring: 0 0 0 3px rgba(255,122,26,.18)}body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1{letter-spacing:.01em}.hello h1,.rechead h1{font-size:27px;line-height:1.06;text-wrap:balance}.hello p,.rechead p{font-size:13px}.stat-val{letter-spacing:.005em}.brand-name{color:var(--tx)}.brand-sub{letter-spacing:.14em}.app.theme-light{color:#1d242c}.banner-t,.vpcard-name,.rd-title,.deliv-kind{color:var(--tx)}.banner-t{line-height:1.3}.banner-s{line-height:1.35}.topbar{gap:18px}.who{min-width:0}.who>div{min-width:0}.who-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:46ch}.who-sub{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.role-tag{flex-shrink:0;white-space:nowrap}.hello,.rechead{align-items:flex-start;row-gap:4px}.hello>div:first-child,.rechead>div:first-child{min-width:0}.btn{flex-shrink:0;white-space:nowrap;transition:border-color .14s,background .14s,box-shadow .14s,transform .04s}.btn:active{transform:translateY(.5px)}.navb{white-space:nowrap;transition:background .14s,color .14s}.logout,.more,.sub-tab span{white-space:nowrap}.btn.primary{box-shadow:0 1px #ffffff2e inset,0 6px 16px -10px #ff7a1ab3}.btn.primary:hover{filter:brightness(1.04);box-shadow:0 1px #fff3 inset,0 8px 18px -10px #ff7a1acc}.btn:focus-visible,.navb:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none;box-shadow:var(--ring)}.navb{border-radius:10px}.nav-rail{width:3px;border-radius:0 3px 3px 0;left:-14px;top:9px;bottom:9px}.app.theme-light .navb.on{background:#e9eef4;box-shadow:inset 0 0 0 1px #ff7a1a1f}.panel,.stat,.rlcard,.rec,.vpcard,.banner,.kpi-card,.login-card{box-shadow:var(--shadow-card)}.panel{border-radius:var(--r-lg)}.stat{border-radius:var(--r-md);transition:border-color .14s,transform .08s}.stat-grid>.stat[style*="cursor: pointer"]:hover{transform:translateY(-1px);border-color:var(--bd2)}.stat-click{transition:border-color .14s,transform .08s,box-shadow .14s}.stat-click:hover{transform:translateY(-1px);border-color:var(--bd2)}.app.theme-light .stat-click:hover{box-shadow:0 2px 4px #10141a0d,0 14px 30px -20px #10141a66}.panel-head{letter-spacing:.07em}.app.theme-light .panel,.app.theme-light .stat,.app.theme-light .kpi-card{box-shadow:0 1px 2px #10141a0a,0 10px 30px -22px #10141a59}.app.theme-light .panel{border-color:#e2e8ef}.qitem,.reqrow{transition:border-color .13s,background .13s,transform .05s}.qitem:hover{transform:translate(1px)}.pill{font-weight:700;letter-spacing:.02em}table.data th{letter-spacing:.06em}table.data td{vertical-align:middle}.app.theme-light table.data{color:#1d242c}.field input,.field select,.field textarea,.modal-body input,.modal-body select,.modal-body textarea,.search,.ji,.admin-select,.login .field input,.settings-grid input,.settings-grid select,.sub-form input,.sub-form select,.sub-form textarea,.wiki-form input,.wiki-form textarea{transition:border-color .13s,box-shadow .13s}.scroll::-webkit-scrollbar{width:11px}.side nav::-webkit-scrollbar{width:7px}.cbar-track,.cbar-fill{border-radius:6px}.cbar-track{display:block;position:relative}.cbar-fill{display:block;min-width:2px}.app.theme-light .cbar-fill{background:linear-gradient(90deg,#e0640f,#ff9a52)}.app.theme-light .stat-val{filter:saturate(1.08) brightness(.84)}.app.theme-light .pill{filter:saturate(1.05) brightness(.86);font-weight:700}.app.theme-light .qval,.app.theme-light .rlval,.app.theme-light .qmid{filter:saturate(1.08) brightness(.84)}.app.theme-light .od{filter:saturate(1.1) brightness(.82)}.app.theme-light{--mut: #5b6776;--mut2: #7c8898}.app.theme-light .sub,.app.theme-light .sub2{color:#6b7686}.app.theme-light table.data th{color:#5b6776;border-color:#e2e8ef}.app.theme-light table.data td{border-color:#eef2f6}.app.theme-light table.data tbody tr:hover{background:#f6f9fc}.app.theme-light a{color:#d65f0e}.app.theme-light .settings-grid input,.app.theme-light .settings-grid select,.app.theme-light .wiki-form input,.app.theme-light .wiki-form textarea{background:#fff;color:#1d242c;border-color:var(--bd)}.app.theme-light .settings-grid input:focus,.app.theme-light .settings-grid select:focus,.app.theme-light .wiki-form input:focus,.app.theme-light .wiki-form textarea:focus{border-color:var(--comm)}.app.theme-light .mini:hover,.app.theme-light .segb.on,.app.theme-light .icon-btn:hover{color:#1d242c}.app.theme-light .form-success{color:#1c7a47}.app.theme-light .form-error{color:#c0362b}.utdot{filter:none}.login-card{padding:34px 32px}.login .demo button{transition:border-color .14s,color .14s,background .14s}.sub-job-card .btn.primary{white-space:nowrap}.brand-mark{overflow:hidden;background:transparent;box-shadow:0 2px 8px -2px #10141a59}.brand-mark img{width:100%;height:100%;display:block;object-fit:cover}.app.theme-light .brand-mark{box-shadow:0 2px 8px -3px #10141a4d}.dash-header{display:flex;align-items:center;justify-content:space-between;gap:16px;background:linear-gradient(100deg,#20303f,#16202b);border:1px solid #28384a;border-radius:12px;padding:13px 18px;margin-bottom:16px;box-shadow:var(--shadow-card)}.dash-header-l{display:flex;align-items:center;gap:11px;min-width:0;font-family:Saira Condensed,sans-serif;font-size:19px;font-weight:600;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash-header-l svg{color:var(--comm);flex-shrink:0}.dash-header-r{display:flex;align-items:center;gap:14px;flex-shrink:0}.dash-date{font-size:13px;color:#9fb1c4;white-space:nowrap;font-variant-numeric:tabular-nums}.dash-cards .stat-label{letter-spacing:.04em}.hamburger,.nav-close,.nav-scrim{display:none}@media (max-width: 860px){.hamburger{display:inline-grid;place-items:center;width:38px;height:38px;flex-shrink:0;border:1px solid var(--bd2);background:transparent;color:var(--tx);border-radius:9px;cursor:pointer;margin-right:4px}.app.theme-light .hamburger{border-color:#d8e0e9}.side{position:fixed;top:0;left:0;bottom:0;z-index:60;width:264px;max-width:84vw;transform:translate(-100%);transition:transform .22s cubic-bezier(.4,0,.2,1);will-change:transform}.app.nav-open .side{transform:none;box-shadow:0 0 0 100vmax #0000,24px 0 60px -20px #0000008c}.nav-scrim{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#080b0f80;opacity:0;pointer-events:none;transition:opacity .22s}.app.nav-open .nav-scrim{opacity:1;pointer-events:auto}.nav-close{display:inline-grid;place-items:center;width:30px;height:30px;margin-left:auto;border:none;background:transparent;color:var(--mut2);border-radius:8px;cursor:pointer}.main{width:100%}.topbar{padding-left:14px;padding-right:14px}.who-name{max-width:34vw}.role-tag{display:none}.scroll{padding:16px 14px 80px}.dash-grid{grid-template-columns:minmax(0,1fr)}.dash-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-charts{grid-template-columns:minmax(0,1fr)}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.two-col,.crew-grid,.rl-grid,.reqcols,.insights-grid{grid-template-columns:minmax(0,1fr)}.hero-num{font-size:54px}.panel-body{overflow-x:auto}table.data{min-width:560px}.grid-rc,.grid-dr,.grid-eq,.grid-sub{min-width:520px}.dash-header{flex-wrap:wrap}}@media (max-width: 540px){.dash-cards,.stat-grid{grid-template-columns:minmax(0,1fr)!important}.hero-num{font-size:46px}.who-sub{display:none}.modal{width:94vw}}@media (max-width: 720px){.who-name{max-width:24ch}.hello h1,.rechead h1{font-size:23px}}.landing-page{min-height:100vh;background:#0c1116;color:#eef2f7;font-family:Archivo,system-ui,sans-serif;line-height:1.5;overflow-x:hidden}.landing-page a{color:inherit;text-decoration:none}.landing-page h1,.landing-page h2,.landing-page h3{font-family:Saira Condensed,sans-serif;font-weight:700;letter-spacing:.005em;line-height:1.04}.landing-page .wrap{max-width:1140px;margin:0 auto;padding:0 28px}.landing-page section:not(.hero){padding:86px 0}.landing-page .btn{display:inline-flex;align-items:center;gap:8px;padding:12px 22px;border-radius:11px;font-family:inherit;font-size:14.5px;font-weight:600;cursor:pointer;border:1px solid transparent;transition:filter .14s,background .14s,border-color .14s,transform .05s;white-space:nowrap}.landing-page .btn:active{transform:translateY(.5px)}.landing-page .btn.primary{background:linear-gradient(135deg,#ff9243,#ec5e0b);color:#fff;box-shadow:0 10px 24px -12px #ec5e0bd9}.landing-page .btn.primary:hover{filter:brightness(1.06)}.landing-page .btn.ghost{background:#ffffff0a;border-color:#ffffff29;color:#dbe3eb}.landing-page .btn.ghost:hover{border-color:#ffffff4d;color:#fff}.landing-page .btn.lg{padding:14px 26px;font-size:15.5px}.landing-page header.nav{position:sticky;top:0;z-index:40;background:#0c1116d1;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid #1f2a35}.landing-page .nav-in{display:flex;align-items:center;justify-content:space-between;height:66px}.landing-page .brand{display:flex;align-items:center;gap:11px;padding:0}.landing-page .brand .mk{width:36px;height:36px;border-radius:10px;overflow:hidden;box-shadow:0 4px 12px -4px #ec5e0b99}.landing-page .brand .mk img{width:100%;height:100%;display:block}.landing-page .brand b{font-family:Saira Condensed,sans-serif;font-size:23px;font-weight:700;letter-spacing:.03em}.landing-page .brand .vp{font-size:9px;letter-spacing:.2em;color:#ff7a1a;font-weight:700;display:block;margin-top:2px}.landing-page .nav-links{display:flex;flex-direction:row;align-items:center;gap:30px;margin:0}.landing-page .nav-links a.lnk{font-size:14px;color:#9fadbb;font-weight:500;transition:color .14s}.landing-page .nav-links a.lnk:hover{color:#eef2f7}.landing-page .nav-cta{display:flex;align-items:center;gap:12px}.landing-page .hero{position:relative;overflow:hidden;border-bottom:1px solid #1f2a35}.landing-page .hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.55;background-image:linear-gradient(rgba(255,255,255,.022) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.022) 1px,transparent 1px);background-size:46px 46px;-webkit-mask-image:radial-gradient(900px 520px at 22% 8%,#000 40%,transparent 80%);mask-image:radial-gradient(900px 520px at 22% 8%,#000 40%,transparent 80%)}.landing-page .hero:after{content:"";position:absolute;top:-180px;right:-120px;width:560px;height:560px;border-radius:50%;background:radial-gradient(circle,rgba(255,122,26,.16),transparent 62%);pointer-events:none}.landing-page .hero-in{position:relative;display:grid;grid-template-columns:1.05fr .95fr;gap:52px;align-items:center;padding:78px 0 86px}.landing-page .eyebrow{display:inline-flex;align-items:center;gap:9px;font-size:12px;font-weight:600;letter-spacing:.04em;color:#ff7a1a;background:#ff7a1a1a;border:1px solid rgba(255,122,26,.28);padding:6px 13px;border-radius:30px;margin-bottom:22px}.landing-page .eyebrow .dot{width:7px;height:7px;border-radius:50%;background:#ff7a1a;box-shadow:0 0 0 3px #ff7a1a40}.landing-page .hero h1{font-size:58px}.landing-page .hero h1 .accent{color:#ff7a1a}.landing-page .hero .lead{font-size:18px;color:#9fadbb;margin:22px 0 30px;max-width:540px}.landing-page .hero .cta-row{display:flex;gap:14px;flex-wrap:wrap}.landing-page .hero .trust{margin-top:26px;font-size:13px;color:#6b7886;display:flex;align-items:center;gap:9px;flex-wrap:wrap}.landing-page .hero .trust b{color:#9fadbb;font-weight:600}.landing-page .preview{position:relative}.landing-page .pv-card{background:linear-gradient(180deg,#131b24,#0f161e);border:1px solid #2a3744;border-radius:16px;padding:16px;box-shadow:0 40px 80px -40px #000c}.landing-page .pv-head{display:flex;align-items:center;justify-content:space-between;gap:10px;background:linear-gradient(100deg,#20303f,#16202b);border:1px solid #28384a;border-radius:10px;padding:11px 14px;margin-bottom:14px}.landing-page .pv-head .l{display:flex;align-items:center;gap:9px;font-family:Saira Condensed,sans-serif;font-weight:600;font-size:14.5px;color:#fff}.landing-page .pv-head .l svg{color:#ff7a1a;flex-shrink:0}.landing-page .pv-head .d{font-size:11px;color:#9fb1c4;white-space:nowrap}.landing-page .pv-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:11px}.landing-page .pv-hero{grid-row:span 2;background:#0f161e;border:1px solid #1f2a35;border-radius:11px;padding:15px}.landing-page .pv-hero .lbl{font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:#6b7886;font-weight:600}.landing-page .pv-hero .num{font-family:Saira Condensed,sans-serif;font-weight:700;font-size:46px;line-height:.9;margin-top:6px}.landing-page .pv-hero .unit{font-size:12px;color:#9fadbb;margin-top:2px}.landing-page .pv-hero .refs{margin-top:14px;border-top:1px solid #1f2a35;padding-top:8px}.landing-page .pv-hero .ref{display:flex;justify-content:space-between;font-size:11px;color:#9fadbb;padding:5px 0}.landing-page .pv-hero .ref b{color:#eef2f7}.landing-page .pv-kpi{background:#0f161e;border:1px solid #1f2a35;border-radius:11px;padding:13px}.landing-page .pv-kpi .lbl{font-size:8.5px;letter-spacing:.06em;text-transform:uppercase;color:#6b7886;font-weight:600}.landing-page .pv-kpi .val{font-family:Saira Condensed,sans-serif;font-weight:700;font-size:22px;margin-top:5px}.landing-page .pv-kpi .sub{font-size:10px;color:#6b7886;margin-top:3px}.landing-page .pv-bars{grid-column:span 2;background:#0f161e;border:1px solid #1f2a35;border-radius:11px;padding:13px;display:flex;align-items:flex-end;gap:9px;height:96px}.landing-page .pv-bar{flex:1;background:linear-gradient(180deg,#ff8a3d,#ec5e0b);border-radius:5px 5px 0 0}.landing-page .sec-tag{font-size:12.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#ff7a1a;margin-bottom:14px}.landing-page .sec-h{font-size:40px;max-width:640px}.landing-page .sec-sub{font-size:16.5px;color:#9fadbb;max-width:600px;margin-top:16px}.landing-page .vps{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:44px}.landing-page .vp-card{background:#131b24;border:1px solid #1f2a35;border-radius:14px;padding:24px}.landing-page .vp-card .ic{width:44px;height:44px;border-radius:11px;display:grid;place-items:center;margin-bottom:16px}.landing-page .vp-card h3{font-size:20px;margin-bottom:9px}.landing-page .vp-card p{font-size:14px;color:#9fadbb;line-height:1.55}.landing-page .band{background:#0f151c;border-top:1px solid #1f2a35;border-bottom:1px solid #1f2a35}.landing-page .feat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:4px}.landing-page .feat-card{background:#131b24;border:1px solid #1f2a35;border-radius:4px;padding:24px;transition:border-color .16s,transform .16s;cursor:pointer;position:relative}.landing-page .feat-card:before{content:"";position:absolute;top:9px;left:9px;width:9px;height:9px;border-top:1.5px solid rgba(255,122,26,.6);border-left:1.5px solid rgba(255,122,26,.6)}.landing-page .feat-card:after{content:"Details →";display:block;margin-top:15px;font-family:Spline Sans Mono,monospace;font-size:11px;letter-spacing:.04em;color:#ff7a1a;opacity:.65;transition:opacity .16s,transform .16s}.landing-page .feat-card:hover{border-color:#2a3744;transform:translateY(-2px)}.landing-page .feat-card:hover:after{opacity:1;transform:translate(3px)}.landing-page .feat-card .ic{width:40px;height:40px;border-radius:10px;background:#ff7a1a1a;border:1px solid rgba(255,122,26,.25);display:grid;place-items:center;color:#ff7a1a;margin-bottom:15px}.landing-page .feat-card h3{font-size:18px;margin-bottom:8px;font-weight:600}.landing-page .feat-card p{font-size:13.5px;color:#9fadbb;line-height:1.55}.landing-page .vp-feature{display:grid;grid-template-columns:1.5fr 1fr;gap:30px;align-items:center;width:100%;text-align:left;margin:48px 0 12px;padding:30px 32px;cursor:pointer;background:linear-gradient(115deg,#ff7a1a24,#ec5e0b0d 55%,#131b24);border:1px solid rgba(255,122,26,.4);border-radius:4px;position:relative;overflow:hidden;color:inherit;font-family:inherit;transition:border-color .16s,transform .16s}.landing-page .vp-feature:hover{border-color:#ff7a1ab3;transform:translateY(-2px)}.landing-page .vp-feature:before{content:"";position:absolute;top:11px;left:11px;width:11px;height:11px;border-top:1.5px solid #ff7a1a;border-left:1.5px solid #ff7a1a}.landing-page .vp-feature-tag{display:inline-flex;align-items:center;gap:7px;font-family:Spline Sans Mono,monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#ff7a1a;margin-bottom:13px}.landing-page .vp-feature h3{font-family:Saira Condensed,sans-serif;font-size:27px;line-height:1.08;margin-bottom:10px}.landing-page .vp-feature p{font-size:14.5px;color:#9fadbb;line-height:1.55;max-width:460px}.landing-page .vp-feature-more{display:inline-flex;align-items:center;gap:6px;margin-top:16px;font-family:Spline Sans Mono,monospace;font-size:12px;font-weight:600;color:#ff7a1a}.landing-page .vp-feature-stats{display:grid;gap:11px}.landing-page .vp-feature-stat{display:flex;align-items:baseline;gap:11px;padding:12px 15px;background:#080c1066;border:1px solid #2a3744;border-radius:4px}.landing-page .vp-feature-stat .n{font-family:Saira Condensed,sans-serif;font-weight:700;font-size:24px;color:#ff7a1a;white-space:nowrap}.landing-page .vp-feature-stat .l{font-size:12px;color:#9fadbb;line-height:1.35}@media (max-width: 760px){.landing-page .vp-feature{grid-template-columns:1fr;gap:22px}}body.fm-lock{overflow:hidden}.landing-page .fm-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#06090cb8;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:grid;place-items:center;padding:24px;opacity:0;pointer-events:none;transition:opacity .18s}.landing-page .fm-backdrop.open{opacity:1;pointer-events:auto}.landing-page .fm{width:min(620px,100%);max-height:88vh;overflow-y:auto;background:linear-gradient(180deg,#131b24,#0f161e);border:1px solid #2a3744;border-radius:4px;box-shadow:0 50px 90px -40px #000000d9;transform:translateY(10px) scale(.985);transition:transform .2s}.landing-page .fm-backdrop.open .fm{transform:none}.landing-page .fm-top{display:flex;align-items:flex-start;gap:16px;padding:26px 28px 18px;border-bottom:1px solid #1f2a35;position:relative}.landing-page .fm-ic{width:48px;height:48px;border-radius:4px;flex-shrink:0;display:grid;place-items:center;background:#ff7a1a1f;border:1px solid rgba(255,122,26,.3);color:#ff7a1a}.landing-page .fm-ey{font-family:Spline Sans Mono,monospace;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#ff7a1a;margin-bottom:6px}.landing-page .fm-top h3,.landing-page .fm-top .fm-h2{font-family:Saira Condensed,sans-serif;font-size:27px;line-height:1.08}.landing-page .fm-x{position:absolute;top:18px;right:18px;width:32px;height:32px;display:grid;place-items:center;border-radius:4px;border:1px solid #2a3744;background:#ffffff08;color:#9fadbb;cursor:pointer;transition:color .14s,border-color .14s}.landing-page .fm-x:hover{color:#eef2f7}.landing-page .fm-body{padding:22px 28px 26px}.landing-page .fm-lead{font-size:15px;color:#eef2f7;line-height:1.6}.landing-page .fm-h{font-family:Spline Sans Mono,monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#6b7886;margin:24px 0 12px}.landing-page .fm-list{display:grid;gap:9px}.landing-page .fm-li{display:flex;gap:11px;font-size:14px;color:#9fadbb;line-height:1.5}.landing-page .fm-li b{color:#eef2f7;font-weight:600}.landing-page .fm-li .mk{flex-shrink:0;width:7px;height:7px;margin-top:6px;border:1.5px solid #ff7a1a}.landing-page .fm-vp{display:flex;gap:13px;margin-top:24px;padding:16px 18px;background:linear-gradient(115deg,#ff7a1a1f,#ec5e0b08);border:1px solid rgba(255,122,26,.32);border-radius:4px}.landing-page .fm-vp .vic{flex-shrink:0;width:34px;height:34px;border-radius:4px;display:grid;place-items:center;background:#ff7a1a29;color:#ff7a1a}.landing-page .fm-vp .vt{font-family:Saira Condensed,sans-serif;font-weight:700;font-size:15px;margin-bottom:4px}.landing-page .fm-vp .vs{font-size:13px;color:#9fadbb;line-height:1.5}.landing-page .fm-cta{display:flex;gap:12px;margin-top:24px;flex-wrap:wrap}.landing-page .vp-band{background:linear-gradient(120deg,#14202c,#0f1620);border-top:1px solid #1f2a35;border-bottom:1px solid #1f2a35;position:relative;overflow:hidden}.landing-page .vp-band:after{content:"";position:absolute;right:-100px;top:-100px;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(255,122,26,.14),transparent 62%)}.landing-page .vp-in{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center;position:relative}.landing-page .vp-stats{display:grid;grid-template-columns:1fr 1fr;gap:16px}.landing-page .vp-stat{background:#ffffff08;border:1px solid #2a3744;border-radius:13px;padding:20px}.landing-page .vp-stat .n{font-family:Saira Condensed,sans-serif;font-weight:700;font-size:34px;color:#ff7a1a}.landing-page .vp-stat .l{font-size:13px;color:#9fadbb;margin-top:4px}.landing-page .cta{text-align:center}.landing-page .cta h2{font-size:44px}.landing-page .cta p{font-size:17px;color:#9fadbb;margin:18px auto 30px;max-width:520px}.landing-page .cta .row{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}.landing-page footer{border-top:1px solid #1f2a35;padding:34px 0}.landing-page .foot-in{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}.landing-page .foot-l{display:flex;align-items:center;gap:10px;color:#6b7886;font-size:13px}.landing-page .foot-l .mk{width:26px;height:26px;border-radius:7px;overflow:hidden}.landing-page .foot-l .mk img{width:100%;height:100%;display:block}.landing-page .foot-links{display:flex;gap:22px;font-size:13px;color:#6b7886;flex-wrap:wrap}.landing-page .foot-links a:hover{color:#eef2f7}@media (max-width: 900px){.landing-page .hero-in{grid-template-columns:1fr;gap:40px}.landing-page .preview{order:2}.landing-page .vps,.landing-page .feat-grid{grid-template-columns:1fr 1fr}.landing-page .vp-in{grid-template-columns:1fr;gap:32px}.landing-page .nav-links{display:none}}@media (max-width: 560px){.landing-page .wrap{padding:0 20px}.landing-page .nav-cta .btn.ghost{display:none}.landing-page section:not(.hero){padding:60px 0}.landing-page .hero h1{font-size:42px}.landing-page .hero-in{padding:60px 0}.landing-page .sec-h{font-size:31px}.landing-page .cta h2{font-size:33px}.landing-page .vps,.landing-page .feat-grid,.landing-page .pv-grid{grid-template-columns:1fr}.landing-page .pv-hero{grid-row:auto}.landing-page .pv-bars{grid-column:auto}.landing-page .vp-stats{grid-template-columns:1fr 1fr}}.errpage{position:fixed;top:0;right:0;bottom:0;left:0;color:#e9eef4;font-family:Archivo,system-ui,sans-serif;background:radial-gradient(1200px 600px at 70% -10%,rgba(255,122,26,.12),transparent 60%),linear-gradient(180deg,#0f141a,#0b0f14);display:grid;place-items:center;padding:32px;overflow:hidden}.errpage:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.5;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:48px 48px;-webkit-mask-image:radial-gradient(circle at 50% 40%,#000 30%,transparent 78%);mask-image:radial-gradient(circle at 50% 40%,#000 30%,transparent 78%)}.errpage .errcard{position:relative;width:100%;max-width:480px;text-align:center}.errpage .errmk{width:56px;height:56px;border-radius:15px;overflow:hidden;margin:0 auto 26px;box-shadow:0 10px 30px -10px #0009}.errpage .errmk img{width:100%;height:100%;display:block}.errpage .errcode{font-family:Saira Condensed,sans-serif;font-weight:700;font-size:132px;line-height:.86;letter-spacing:.01em;color:#fff;position:relative;display:inline-block}.errpage .errcode:after{content:"";position:absolute;left:50%;transform:translate(-50%);bottom:-14px;width:64px;height:5px;border-radius:3px;background:#ff7a1a}.errpage.errpage--401 .errcode:after{background:#f5c518}.errpage h1{font-family:Saira Condensed,sans-serif;font-weight:600;font-size:30px;margin:34px 0 12px;color:#fff}.errpage p{font-size:15px;line-height:1.6;color:#9aa7b5;max-width:400px;margin:0 auto 30px}.errpage .erracts{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.errpage .btn{display:inline-flex;align-items:center;gap:8px;padding:12px 22px;border-radius:11px;font-family:inherit;font-size:14px;font-weight:600;text-decoration:none;cursor:pointer;white-space:nowrap;border:1px solid transparent;transition:filter .14s,background .14s,border-color .14s}.errpage .btn.primary,.app .errpage .btn.primary{background:linear-gradient(135deg,#ff9243,#ec5e0b);color:#fff;box-shadow:0 8px 20px -10px #ec5e0bcc}.errpage .btn.primary:hover{filter:brightness(1.06)}.errpage .errsub{margin-top:30px;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:#59636f;font-weight:600}.errpage .errwm{position:absolute;bottom:22px;left:0;right:0;text-align:center;font-size:12px;color:#45505c;letter-spacing:.02em}.errpage .errwm b{font-family:Saira Condensed,sans-serif;color:#7e8a98;font-weight:700;letter-spacing:.06em}@media (max-width: 480px){.errpage .errcode{font-size:96px}.errpage h1{font-size:25px}}.axauth{--bg:#090b0d;--p1:#0f1216;--p2:#14181d;--p3:#1b2027;--bd:#232a32;--bd2:#333c46;--tx:#e9edf1;--mut:#8893a0;--mut2:#aab4bf;--acc:#ff7a1a;--acc-deep:#ec5e0b;--ok:#3ddc84;--elec:#e23b2e;--grid:rgba(255,255,255,.028);--r:4px;display:grid;grid-template-columns:minmax(440px,.92fr) 1.08fr;min-height:100vh;color:var(--tx);font-family:Archivo,system-ui,sans-serif;font-size:15px;-webkit-font-smoothing:antialiased}.axauth h1,.axauth h2{font-family:Saira Condensed,sans-serif;letter-spacing:.02em;font-weight:700}.ax-form{position:relative;display:flex;flex-direction:column;padding:40px clamp(40px,5vw,84px);border-right:1px solid var(--bd);background:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px),var(--p1);background-size:30px 30px,30px 30px,100% 100%}.ax-brand{display:flex;align-items:center;gap:12px}.ax-mk{width:40px;height:40px;border-radius:9px;overflow:hidden;flex-shrink:0;box-shadow:0 6px 18px -8px #ec5e0bb3}.ax-mk img{width:100%;height:100%;display:block}.ax-name{font-family:Saira Condensed,sans-serif;font-weight:700;font-size:24px;letter-spacing:.07em;line-height:1;display:block}.ax-sub{font-family:Spline Sans Mono,monospace;font-size:10px;letter-spacing:.2em;color:var(--acc);text-transform:uppercase;margin-top:4px;display:block}.ax-wrap{width:100%;max-width:384px;margin:auto;padding:44px 0}.ax-step{display:inline-flex;align-items:center;gap:8px;font-family:Spline Sans Mono,monospace;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--mut);margin-bottom:18px}.ax-step:before{content:"";width:7px;height:7px;border:1.5px solid var(--acc)}.ax-title{font-size:33px;line-height:1.1;color:#fff}.ax-lead{color:var(--mut);font-size:14px;line-height:1.55;margin-top:10px}.ax-lead b{color:var(--mut2);font-weight:600}.ax-sso{display:grid;gap:10px;margin-top:26px}.ax-sso button{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:11px 14px;border-radius:var(--r);border:1px solid var(--bd2);background:var(--p2);color:var(--tx);font-family:inherit;font-size:13.5px;font-weight:500;cursor:pointer;transition:border-color .14s,background .14s}.ax-sso button:hover{border-color:var(--mut);background:var(--p3)}.ax-sso svg{width:16px;height:16px;display:block}.ax-div{display:flex;align-items:center;gap:14px;margin:22px 0;color:var(--mut);font-family:Spline Sans Mono,monospace;font-size:10px;letter-spacing:.18em;text-transform:uppercase}.ax-div:before,.ax-div:after{content:"";height:1px;flex:1;background:var(--bd)}.ax-field{margin-bottom:15px}.ax-flabel{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:7px}.ax-flabel label{font-family:Spline Sans Mono,monospace;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--mut)}.ax-link{background:none;border:none;padding:0;cursor:pointer;font-family:inherit;color:var(--acc);font-size:12px;font-weight:600;text-decoration:none;white-space:nowrap}.ax-link:hover{color:#ffa256;text-decoration:underline}.ax-inwrap{position:relative}.axauth input[type=email],.axauth input[type=password],.axauth input[type=text]{width:100%;padding:12px 13px;border-radius:var(--r);border:1px solid var(--bd);background:var(--bg);color:var(--tx);font-family:inherit;font-size:14.5px;outline:none;transition:border-color .14s,box-shadow .14s}.axauth input::placeholder{color:#5a6571}.axauth input:focus{border-color:var(--acc);box-shadow:0 0 0 3px #ff7a1a24}.ax-inwrap .pw-fld{padding-right:58px}.ax-reveal{position:absolute;right:6px;top:50%;transform:translateY(-50%);border:none;background:none;cursor:pointer;padding:7px 9px;border-radius:3px;color:var(--mut);font-family:Spline Sans Mono,monospace;font-size:10px;letter-spacing:.1em;text-transform:uppercase}.ax-reveal:hover{color:var(--tx)}.ax-code input{text-align:center;font-family:Saira Condensed,sans-serif!important;font-size:26px!important;font-weight:600;letter-spacing:.5em;padding-left:.5em!important}.ax-remember{display:flex;align-items:center;gap:10px;margin:4px 0 22px;cursor:pointer;font-size:13px;color:var(--mut2);-webkit-user-select:none;user-select:none}.ax-remember input{position:absolute;opacity:0;width:0;height:0}.ax-box{width:17px;height:17px;border:1px solid var(--bd2);border-radius:3px;flex-shrink:0;display:grid;place-items:center;transition:background .14s,border-color .14s}.ax-remember input:checked+.ax-box{background:var(--acc);border-color:var(--acc)}.ax-box svg{width:11px;height:11px;opacity:0;transition:opacity .12s}.ax-remember input:checked+.ax-box svg{opacity:1}.ax-remember input:focus-visible+.ax-box{box-shadow:0 0 0 3px #ff7a1a2e}.ax-btn{width:100%;padding:13px;border-radius:var(--r);border:none;cursor:pointer;font-family:inherit;font-size:15px;font-weight:600;color:#fff;letter-spacing:.01em;background:linear-gradient(135deg,#ff8a3d,var(--acc-deep));box-shadow:0 1px #ffffff26 inset,0 10px 24px -12px #ec5e0be6;display:inline-flex;align-items:center;justify-content:center;gap:9px;transition:filter .14s,transform .05s}.ax-btn:hover{filter:brightness(1.06)}.ax-btn:active{transform:translateY(1px)}.ax-btn:disabled{filter:saturate(.4) brightness(.8);cursor:default}.ax-spin{width:15px;height:15px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:ax-sp .6s linear infinite}@keyframes ax-sp{to{transform:rotate(360deg)}}.ax-ghost{width:100%;padding:12px;border-radius:var(--r);border:1px solid var(--bd2);background:transparent;color:var(--mut2);font-family:inherit;font-size:13.5px;font-weight:500;cursor:pointer;margin-top:11px;transition:border-color .14s,color .14s}.ax-ghost:hover{border-color:var(--mut);color:var(--tx)}.ax-alert{display:flex;gap:9px;align-items:flex-start;padding:11px 13px;border-radius:var(--r);font-size:13px;line-height:1.45;margin-bottom:16px;border:1px solid}.ax-alert.err{color:#ff8d83;border-color:#e23b2e66;background:#e23b2e14}.ax-alert.info{color:var(--mut2);border-color:var(--bd2);background:var(--p2)}.ax-alert.ok{color:#9ff0c2;border-color:#3ddc8466;background:#3ddc8414}.ax-alert .ico{flex-shrink:0;margin-top:1px;font-family:Spline Sans Mono,monospace;font-weight:600}.ax-recip{font-family:Spline Sans Mono,monospace;color:var(--mut2)}.ax-demo{margin-top:26px;border-top:1px solid var(--bd);padding-top:18px}.ax-demo>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:8px;font-family:Spline Sans Mono,monospace;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--mut)}.ax-demo>summary::-webkit-details-marker{display:none}.ax-demo>summary .chev{margin-left:auto;transition:transform .18s}.ax-demo[open]>summary .chev{transform:rotate(90deg)}.ax-demolist{display:grid;gap:7px;margin-top:13px}.ax-demolist button{display:flex;align-items:center;gap:11px;width:100%;text-align:left;background:var(--p2);border:1px solid var(--bd);border-radius:var(--r);padding:9px 11px;color:var(--mut2);font-family:inherit;font-size:12.5px;cursor:pointer;transition:border-color .14s,color .14s,background .14s}.ax-demolist button:hover{border-color:var(--acc);color:#fff}.ax-demolist .who{font-weight:600}.ax-demolist .role{font-family:Spline Sans Mono,monospace;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--mut);margin-left:auto}.ax-demolist button:hover .role{color:var(--acc)}.ax-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding-top:26px;font-size:12px;color:var(--mut);flex-wrap:wrap}.ax-foot a{color:var(--mut);text-decoration:none}.ax-foot a:hover{color:var(--tx)}.ax-lock{display:inline-flex;align-items:center;gap:6px;font-family:Spline Sans Mono,monospace;font-size:10.5px;letter-spacing:.06em;color:var(--mut)}.ax-hero{position:relative;overflow:hidden;padding:56px clamp(44px,4.5vw,76px);display:flex;flex-direction:column;background:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px),radial-gradient(1100px 560px at 78% -8%,rgba(255,122,26,.1),transparent 60%),linear-gradient(135deg,#0c0f13,#090b0d 70%);background-size:30px 30px,30px 30px,100% 100%,100% 100%}.ax-hero:before{content:"";position:absolute;top:26px;right:26px;bottom:26px;left:26px;border:1px solid rgba(255,255,255,.06);pointer-events:none}.ax-tick{position:absolute;width:16px;height:16px;pointer-events:none;z-index:2}.ax-tick.tl{top:20px;left:20px;border-top:2px solid var(--acc);border-left:2px solid var(--acc)}.ax-tick.tr{top:20px;right:20px;border-top:2px solid var(--bd2);border-right:2px solid var(--bd2)}.ax-tick.bl{bottom:20px;left:20px;border-bottom:2px solid var(--bd2);border-left:2px solid var(--bd2)}.ax-tick.br{bottom:20px;right:20px;border-bottom:2px solid var(--acc);border-right:2px solid var(--acc)}.ax-herotop{display:flex;align-items:center;justify-content:space-between;position:relative;z-index:2;font-family:Spline Sans Mono,monospace;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--mut)}.ax-coord{color:#5a6571}.ax-herobody{margin:auto 0;position:relative;z-index:2;max-width:540px}.ax-eyebrow{display:inline-flex;align-items:center;gap:9px;font-size:11.5px;font-weight:600;letter-spacing:.03em;color:var(--acc);background:#ff7a1a1a;border:1px solid rgba(255,122,26,.28);border-radius:var(--r);padding:7px 13px}.ax-eyebrow .dot{width:7px;height:7px;border-radius:50%;background:var(--acc);box-shadow:0 0 0 3px #ff7a1a38}.ax-herobody h2{font-size:clamp(40px,4.4vw,60px);line-height:1.02;color:#fff;margin:24px 0 0}.ax-herobody h2 .accent{color:var(--acc)}.ax-herobody .sub{color:var(--mut2);font-size:16px;line-height:1.6;margin-top:22px;max-width:470px}.ax-ledger{margin-top:40px;border:1px solid var(--bd);border-left:3px solid var(--acc);background:#0f121699;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.ax-lrow{display:flex;align-items:center;gap:14px;padding:13px 18px;border-bottom:1px solid var(--bd)}.ax-lrow:last-child{border-bottom:none}.ax-lrow .k{font-family:Spline Sans Mono,monospace;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--mut);width:88px;flex-shrink:0}.ax-lrow .v{color:var(--tx);font-size:14.5px}.ax-lrow .v b{font-family:Saira Condensed,sans-serif;font-weight:600}.ax-herofoot{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:12px;font-family:Spline Sans Mono,monospace;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:#5a6571;flex-wrap:wrap}.ax-herofoot b{color:var(--mut);font-weight:600;letter-spacing:.14em}@media (max-width: 960px){.axauth{grid-template-columns:1fr}.ax-hero{order:-1;min-height:240px;padding:30px clamp(24px,6vw,44px)}.ax-hero:before{top:16px;right:16px;bottom:16px;left:16px}.ax-herobody{margin:18px 0}.ax-herobody h2{font-size:clamp(28px,7vw,40px)}.ax-herobody .sub,.ax-ledger,.ax-herofoot{display:none}.ax-form{border-right:none;padding:36px clamp(24px,6vw,44px)}.ax-wrap{padding:18px 0 8px}}@media (max-width: 480px){.ax-title{font-size:28px}.ax-foot{gap:8px}}.rlcard{position:relative}.rlcard.drag{border-color:var(--acc);box-shadow:inset 0 0 0 1px var(--acc)}.rlcard-foot{display:flex;justify-content:space-between;align-items:center}.rl-attach{border-top:1px solid var(--bd);padding-top:11px;margin-top:1px;display:flex;flex-direction:column;gap:9px}.rl-attach-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.rl-attach-label{display:inline-flex;align-items:center;gap:6px;font-family:Spline Sans Mono,monospace;font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--mut)}.rl-attach-label svg{color:var(--acc)}.rl-attach-add{display:inline-flex;align-items:center;gap:5px;font-family:Spline Sans Mono,monospace;font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;font-weight:600;color:var(--mut2);background:transparent;border:1px solid var(--bd2);border-radius:var(--r);padding:5px 9px;cursor:pointer}.rl-attach-add:hover{color:var(--acc);border-color:var(--acc)}.rl-file-input{display:none}.rl-chips{display:flex;flex-direction:column;gap:6px}.rl-chip{display:flex;align-items:center;gap:9px;background:var(--bg);border:1px solid var(--bd);border-radius:var(--r);padding:7px 8px 7px 7px;cursor:pointer}.rl-chip:hover{border-color:var(--bd2);background:var(--p2)}.rl-chip-badge{flex-shrink:0;font-family:Spline Sans Mono,monospace;font-size:9px;letter-spacing:.08em;font-weight:600;padding:3px 5px;border-radius:2px;color:var(--ink);line-height:1}.rl-chip-badge.pdf{background:var(--elec)}.rl-chip-badge.image{background:var(--water)}.rl-chip-name{flex:1;min-width:0;font-size:12px;color:var(--tx);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rl-chip-size{flex-shrink:0;font-size:10px;color:var(--mut)}.rl-chip-x{flex-shrink:0;display:grid;place-items:center;width:20px;height:20px;padding:0;background:transparent;border:none;color:var(--mut);cursor:pointer;border-radius:3px;opacity:0}.rl-chip:hover .rl-chip-x{opacity:1}.rl-chip-x:hover{color:var(--elec);background:#e23b2e1f}.rl-drop-tip{display:flex;align-items:center;justify-content:center;gap:7px;font-size:11.5px;color:var(--mut);border:1px dashed var(--bd2);border-radius:var(--r);padding:12px 10px;text-align:center}.rl-drop-tip svg{color:var(--mut)}.rl-attach-err{font-size:11px;color:var(--gas);font-family:Spline Sans Mono,monospace;letter-spacing:.02em}.rl-drop-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:4;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:#ff7a1a1a;border:1.5px dashed var(--acc);border-radius:var(--r);color:var(--acc);font-family:Spline Sans Mono,monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase;pointer-events:none;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px)}.modal.viewer{max-width:960px;width:92vw;display:flex;flex-direction:column;max-height:90vh}.modal.viewer .modal-head{gap:12px}.viewer-title{display:inline-flex;align-items:center;gap:9px;min-width:0;font-family:Archivo,sans-serif;font-weight:600;font-size:15px;letter-spacing:0}.viewer-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.viewer-head-r{display:flex;align-items:center;gap:8px;flex-shrink:0}.viewer-head-r .mini{text-decoration:none}.viewer-close{background:none;border:none;color:var(--mut);cursor:pointer;display:grid;place-items:center;padding:2px}.viewer-close:hover{color:var(--tx)}.viewer-body{position:relative;flex:1;min-height:0;background:var(--bg);display:flex}.viewer-frame{flex:1;width:100%;height:70vh;border:none;background:#525659}.viewer-imgwrap{flex:1;display:grid;place-items:center;padding:18px;height:70vh;background-image:linear-gradient(45deg,var(--p2) 25%,transparent 25%),linear-gradient(-45deg,var(--p2) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,var(--p2) 75%),linear-gradient(-45deg,transparent 75%,var(--p2) 75%);background-size:22px 22px;background-position:0 0,0 11px,11px -11px,-11px 0}.viewer-img{max-width:100%;max-height:100%;object-fit:contain;border:1px solid var(--bd)}.viewer-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:38px;height:38px;display:grid;place-items:center;background:#090b0db3;border:1px solid var(--bd2);border-radius:var(--r);color:var(--tx);cursor:pointer}.viewer-nav:hover{border-color:var(--acc);color:var(--acc)}.viewer-nav.left{left:12px}.viewer-nav.right{right:12px}.viewer-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 18px;border-top:1px solid var(--bd);font-size:11px;color:var(--mut)}.viewer-count{color:var(--mut2)}.app.theme-light .rl-chip-badge.pdf,.app.theme-light .rl-chip-badge.image{color:#fff}.gis-stage{height:calc(100vh - 108px);min-height:480px;width:100%}.app .scroll:has(.gis-stage){padding:0}.gis-wrap{position:relative;width:100%;height:100%;overflow:hidden;background:var(--p3);border:1px solid var(--bd);border-left:3px solid var(--acc);touch-action:none;-webkit-user-select:none;user-select:none}.gis-svg{position:absolute;top:0;left:0;display:block;will-change:transform}.gis-overlay{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.gis-overlay>*{pointer-events:auto}.gis-mk{position:absolute;transform:translate(-50%,-50%);cursor:pointer}.gis-mk-glyph{display:grid;place-items:center;width:24px;height:24px;box-sizing:border-box;background:var(--p1);border:2px solid var(--mc);border-radius:3px;font-family:Spline Sans Mono,monospace;font-size:9px;font-weight:700;letter-spacing:.02em;color:var(--mc);box-shadow:0 2px 5px #00000047;line-height:1}.gis-mk-circle .gis-mk-glyph{border-radius:50%}.gis-mk-pole .gis-mk-glyph{border-radius:50%;border-width:3px;background:var(--p1)}.gis-mk-ped .gis-mk-glyph{border-radius:3px 3px 1px 1px}.gis-mk:hover .gis-mk-glyph{filter:brightness(1.04);transform:scale(1.06)}.gis-mk.on{z-index:6}.gis-mk.on .gis-mk-glyph{box-shadow:0 0 0 2px #fff,0 0 0 5px var(--acc),0 0 0 7px #0b0e1280,0 3px 11px #0000008c;z-index:3}.gis-mk.on:after{content:"";position:absolute;left:50%;top:50%;width:22px;height:22px;transform:translate(-50%,-50%);border-radius:50%;pointer-events:none;box-shadow:0 0 0 2px var(--acc);animation:gisSelPulse 1.6s ease-out infinite}@keyframes gisSelPulse{0%{box-shadow:0 0 0 3px color-mix(in srgb,var(--acc) 70%,transparent);opacity:.85}70%,to{box-shadow:0 0 0 13px transparent;opacity:0}}@media (prefers-reduced-motion: reduce){.gis-mk.on:after{animation:none}}.gis-mk-lab{position:absolute;top:100%;left:50%;transform:translate(-50%,3px);margin-top:3px;white-space:nowrap;font-family:Spline Sans Mono,monospace;font-size:9.5px;letter-spacing:.02em;color:var(--tx);background:color-mix(in srgb,var(--p1) 86%,transparent);border:1px solid var(--bd);padding:1px 5px;border-radius:2px;pointer-events:none}.gis-line-lab{position:absolute;transform:translate(-50%,-50%);white-space:nowrap;font-family:Spline Sans Mono,monospace;font-size:9.5px;font-weight:600;letter-spacing:.02em;color:var(--mc);background:color-mix(in srgb,var(--p1) 90%,transparent);border:1px solid color-mix(in srgb,var(--mc) 45%,var(--bd));padding:1px 6px;border-radius:2px;pointer-events:none}.gis-vertex{position:absolute;width:11px;height:11px;transform:translate(-50%,-50%);background:var(--p1);border:2px solid var(--acc);border-radius:2px;pointer-events:none;z-index:4}.gis-vertex.sm{width:8px;height:8px;border-color:var(--tx);border-radius:50%}.gis-measure-badge{position:absolute;transform:translate(10px,-50%);display:inline-flex;align-items:center;gap:5px;font-family:Spline Sans Mono,monospace;font-size:11px;font-weight:700;color:var(--ink);background:var(--acc);padding:3px 7px;border-radius:2px;pointer-events:none;z-index:5;white-space:nowrap}.gis-card,.gis-search,.gis-pick,.gis-inspect,.gis-panel,.gis-toolbar,.gis-tool-opts{background:color-mix(in srgb,var(--p1) 94%,transparent);border:1px solid var(--bd);border-radius:var(--r);box-shadow:0 6px 22px #00000029;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.gis-search-wrap{position:absolute;top:14px;left:14px;z-index:13;width:288px}.gis-search{position:relative;display:flex;align-items:center;gap:8px;padding:0 11px;height:38px;width:100%;color:var(--mut)}.gis-search input{flex:1;min-width:0;border:none;background:transparent;outline:none;font-family:inherit;font-size:13px;color:var(--tx)}.gis-search input::placeholder{color:var(--mut)}.gis-search-x{flex-shrink:0;background:transparent;border:none;color:var(--mut);cursor:pointer;display:grid;place-items:center;padding:2px;border-radius:3px}.gis-search-x:hover{color:var(--acc)}.gis-search-results{margin-top:6px;overflow:hidden;background:color-mix(in srgb,var(--p1) 96%,transparent);border:1px solid var(--bd);border-radius:var(--r);box-shadow:0 8px 24px #0003;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);max-height:320px;overflow-y:auto}.gis-search-empty{padding:11px 13px;font-size:11px;color:var(--mut)}.gis-search-row{display:flex;align-items:center;gap:10px;width:100%;padding:9px 12px;border:none;border-bottom:1px solid var(--bd);background:transparent;cursor:pointer;text-align:left;color:var(--tx)}.gis-search-row:last-child{border-bottom:none}.gis-search-row:hover{background:var(--p2)}.gis-search-dot{width:12px;height:12px;flex-shrink:0}.gis-search-lab{flex:1;display:flex;flex-direction:column;gap:2px;font-size:12.5px;min-width:0}.gis-search-sub{font-size:9.5px;color:var(--mut);letter-spacing:.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gis-search-id{font-size:10px;color:var(--mut2);flex-shrink:0}.gis-toolbar{position:absolute;top:14px;left:50%;transform:translate(-50%);z-index:12;display:flex;flex-direction:column;align-items:center;gap:8px;padding:5px;background:transparent;border:none;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.gis-tools{display:flex;gap:3px;padding:4px;background:color-mix(in srgb,var(--p1) 94%,transparent);border:1px solid var(--bd);border-radius:var(--r);box-shadow:0 6px 22px #00000029;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.gis-tool{display:inline-flex;align-items:center;gap:6px;padding:7px 11px;border:1px solid transparent;background:transparent;color:var(--mut2);cursor:pointer;border-radius:3px;font-family:Spline Sans Mono,monospace;font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;font-weight:600}.gis-tool:hover{color:var(--tx);background:var(--p2)}.gis-tool.on{background:var(--acc);color:var(--ink)}.gis-tool-opts{display:flex;align-items:center;gap:9px;padding:7px 11px;font-size:12px;color:var(--tx)}.gis-tool-opts .imp-picker{width:252px;flex-shrink:0}.gis-tool-opts .imp-picker-pop{position:absolute;left:0;top:calc(100% + 6px);margin-top:0;width:316px;z-index:40}.gis-opts-lab{font-family:Spline Sans Mono,monospace;font-size:9.5px;text-transform:uppercase;letter-spacing:.12em;color:var(--mut)}.gis-tool-opts select{background:var(--p2);border:1px solid var(--bd2);border-radius:3px;color:var(--tx);font-family:inherit;font-size:12px;padding:5px 7px;outline:none}.gis-opts-hint{font-family:Spline Sans Mono,monospace;font-size:10px;color:var(--mut);letter-spacing:.02em}.gis-opts-btn{display:inline-flex;align-items:center;gap:4px;background:var(--acc);color:var(--ink);border:none;border-radius:3px;padding:5px 9px;font-family:Spline Sans Mono,monospace;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;cursor:pointer}.gis-opts-btn:disabled{opacity:.4;cursor:not-allowed}.gis-opts-btn.ghost{background:transparent;border:1px solid var(--bd2);color:var(--mut2)}.gis-uom-chip{font-family:Spline Sans Mono,monospace;font-size:11px;font-weight:700;letter-spacing:.02em;color:var(--ink);background:var(--acc);padding:4px 9px;border-radius:3px;white-space:nowrap}.gis-uom-row{display:flex;align-items:center;gap:11px;padding:4px 13px 2px}.gis-uom-badge{display:inline-flex;align-items:baseline;gap:4px;padding:4px 10px;border-radius:3px;background:color-mix(in srgb,var(--mc) 14%,transparent);border:1px solid color-mix(in srgb,var(--mc) 45%,var(--bd))}.gis-uom-q{font-family:Archivo,Saira Condensed,sans-serif;font-weight:700;font-size:20px;line-height:1;color:var(--tx)}.gis-uom-u{font-family:Spline Sans Mono,monospace;font-size:10px;font-weight:700;letter-spacing:.08em;color:var(--mc)}.gis-uom-cap{font-size:11px;color:var(--mut2);line-height:1.3}.gis-topright{position:absolute;top:14px;right:14px;z-index:12;display:flex;gap:8px}.gis-basemap-toggle{display:flex;padding:4px;gap:3px;background:color-mix(in srgb,var(--p1) 94%,transparent);border:1px solid var(--bd);border-radius:var(--r);box-shadow:0 6px 22px #00000029;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.gis-basemap-toggle button{border:none;background:transparent;color:var(--mut2);cursor:pointer;border-radius:3px;padding:6px 12px;font-family:Spline Sans Mono,monospace;font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;font-weight:600}.gis-basemap-toggle button.on{background:var(--acc);color:var(--ink)}.gis-sq{width:38px;height:38px;display:grid;place-items:center;cursor:pointer;color:var(--mut2);background:color-mix(in srgb,var(--p1) 94%,transparent);border:1px solid var(--bd);border-radius:var(--r);box-shadow:0 6px 22px #00000029;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.gis-sq.on,.gis-sq:hover{color:var(--acc);border-color:var(--acc)}.gis-rail{position:absolute;top:50%;right:14px;transform:translateY(-50%);z-index:11;display:flex;flex-direction:column;gap:6px}.gis-rail button{width:38px;height:38px;display:grid;place-items:center;cursor:pointer;color:var(--mut2);background:color-mix(in srgb,var(--p1) 94%,transparent);border:1px solid var(--bd);border-radius:var(--r);box-shadow:0 4px 14px #00000024;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.gis-rail button:hover{color:var(--acc);border-color:var(--acc)}.gis-panel{position:absolute;top:64px;right:14px;z-index:11;width:232px;overflow:hidden}.gis-panel-head{display:flex;align-items:center;gap:7px;padding:9px 12px;border-bottom:1px solid var(--bd);font-family:Spline Sans Mono,monospace;font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--mut);position:relative}.gis-panel-head:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--acc)}.gis-panel-head svg{color:var(--acc)}.gis-panel-body{padding:6px;display:flex;flex-direction:column;gap:1px}.gis-lyr{display:flex;align-items:center;gap:9px;width:100%;padding:7px 8px;border:none;background:transparent;cursor:pointer;border-radius:3px;color:var(--mut2);text-align:left}.gis-lyr:hover{background:var(--p2)}.gis-lyr.on{color:var(--tx)}.gis-lyr:not(.on){opacity:.5}.gis-lyr-sw{width:15px;height:15px;flex-shrink:0}.gis-lyr-sw.geom-line{height:0;border-top:3px solid var(--mc);border-radius:2px}.gis-lyr-sw.geom-polygon{background:color-mix(in srgb,var(--mc) 22%,transparent);border:1.5px dashed var(--mc);border-radius:2px}.gis-lyr-sw.geom-point{background:var(--p1);border:2px solid var(--mc);border-radius:2px}.gis-lyr-sw.geom-point.shp-circle,.gis-lyr-sw.geom-point.shp-pole{border-radius:50%}.gis-lyr-name{flex:1;font-size:12px}.gis-lyr-n{font-size:10.5px;color:var(--mut)}.gis-lyr svg{color:var(--mut);flex-shrink:0}.gis-lyr.on svg{color:var(--acc)}.gis-lyr-opt{display:flex;align-items:center;gap:8px;padding:9px 8px 4px;margin-top:4px;border-top:1px solid var(--bd);font-size:11.5px;color:var(--mut2);cursor:pointer}.gis-lyr-opt input{accent-color:var(--acc)}.gis-pick{position:absolute;z-index:14;width:248px;overflow:hidden}.gis-pick-head{display:flex;align-items:center;justify-content:space-between;padding:9px 12px;border-bottom:1px solid var(--bd);font-family:Spline Sans Mono,monospace;font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--mut)}.gis-pick-head button{background:none;border:none;color:var(--mut);cursor:pointer;display:grid;place-items:center}.gis-pick-row{display:flex;align-items:center;gap:9px;width:100%;padding:9px 12px;border:none;border-bottom:1px solid var(--bd);background:transparent;cursor:pointer;text-align:left;color:var(--tx)}.gis-pick-row:last-child{border-bottom:none}.gis-pick-row:hover,.gis-pick-row.on{background:var(--p2)}.gis-pick-row.on{box-shadow:inset 3px 0 0 var(--acc);background:color-mix(in srgb,var(--acc) 12%,var(--p2))}.gis-pick-dot{width:12px;height:12px;flex-shrink:0}.gis-pick-lab{flex:1;font-size:12.5px}.gis-pick-id{font-size:10px;color:var(--mut)}.gis-pick-anchor{position:absolute;z-index:13;width:13px;height:13px;transform:translate(-50%,-50%);border-radius:50%;border:2px solid var(--acc);background:color-mix(in srgb,var(--acc) 35%,transparent);box-shadow:0 0 0 2px #0b0e1280,0 1px 4px #00000073;pointer-events:none}.gis-inspect{position:absolute;z-index:15;width:286px;overflow:hidden;padding-bottom:2px}.gis-inspect-head{display:flex;align-items:center;justify-content:space-between;padding:9px 12px 9px 13px;border-bottom:1px solid var(--bd);position:relative}.gis-inspect-head:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--mc)}.gis-inspect-drag{cursor:grab;touch-action:none}.gis-inspect-drag:active{cursor:grabbing}.gis-inspect-kind{display:inline-flex;align-items:center;gap:8px;font-family:Spline Sans Mono,monospace;font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--mut2)}.gis-inspect-sw{width:11px;height:11px;border-radius:2px}.gis-inspect-head button{background:none;border:none;color:var(--mut);cursor:pointer;display:grid;place-items:center}.gis-inspect-title{padding:11px 13px 4px;font-family:Archivo,Saira Condensed,sans-serif;font-weight:600;font-size:15px;color:var(--tx);display:flex;flex-direction:column;gap:3px}.gis-inspect-id{font-family:Spline Sans Mono,monospace;font-size:10px;font-weight:400;color:var(--mut);letter-spacing:.04em}.gis-inspect-grid{padding:8px 13px 12px;display:grid;grid-template-columns:1fr 1fr;gap:8px 12px}.gis-attr{display:flex;flex-direction:column;gap:2px}.gis-attr-k{font-family:Spline Sans Mono,monospace;font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:var(--mut)}.gis-attr-v{font-size:12.5px;color:var(--tx)}.gis-inspect-link{display:flex;align-items:center;gap:8px;width:calc(100% - 24px);margin:0 12px 12px;padding:9px 11px;border:1px solid color-mix(in srgb,var(--acc) 40%,var(--bd));background:color-mix(in srgb,var(--acc) 8%,transparent);border-radius:3px;cursor:pointer;text-align:left;color:var(--tx)}.gis-inspect-link:hover{border-color:var(--acc);background:color-mix(in srgb,var(--acc) 14%,transparent)}.gis-link-kind{font-family:Spline Sans Mono,monospace;font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:var(--acc)}.gis-link-lab{flex:1;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gis-inspect-link svg{color:var(--acc);flex-shrink:0}.gis-inspect-del{display:inline-flex;align-items:center;gap:6px;margin:0 12px 10px;padding:6px 10px;background:transparent;border:1px solid var(--bd2);border-radius:3px;color:var(--mut2);font-size:11px;cursor:pointer;font-family:Spline Sans Mono,monospace;letter-spacing:.04em}.gis-inspect-del:hover{color:var(--elec);border-color:var(--elec)}.gis-inspect-head-r{display:flex;align-items:center;gap:6px}.gis-inspect-head-r button{background:none;border:none;color:var(--mut);cursor:pointer;display:grid;place-items:center;padding:1px}.gis-inspect-head-r button:hover{color:var(--acc)}.gis-edit{padding:11px 13px 12px;display:flex;flex-direction:column;gap:10px}.gis-edit-field{display:flex;flex-direction:column;gap:4px}.gis-edit-field>span{font-family:Spline Sans Mono,monospace;font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:var(--mut)}.gis-edit input{background:var(--p2);border:1px solid var(--bd2);border-radius:3px;color:var(--tx);font-family:inherit;font-size:12.5px;padding:6px 8px;outline:none;min-width:0}.gis-edit input:focus{border-color:var(--acc)}.gis-edit-attrs{display:flex;flex-direction:column;gap:5px}.gis-edit-row{display:grid;grid-template-columns:.85fr 1fr 22px;gap:6px;align-items:center}.gis-edit-k{font-family:Spline Sans Mono,monospace;font-size:11px}.gis-edit-rm{background:transparent;border:none;color:var(--mut);cursor:pointer;display:grid;place-items:center;padding:2px;border-radius:3px}.gis-edit-rm:hover{color:var(--elec)}.gis-edit-add{align-self:flex-start;display:inline-flex;align-items:center;gap:5px;background:transparent;border:1px dashed var(--bd2);border-radius:3px;color:var(--mut2);font-family:Spline Sans Mono,monospace;font-size:10px;text-transform:uppercase;letter-spacing:.05em;padding:5px 9px;cursor:pointer}.gis-edit-add:hover{color:var(--acc);border-color:var(--acc)}.gis-edit-foot{display:flex;gap:8px;margin-top:2px}.gis-edit-save{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;background:var(--acc);color:var(--ink);border:none;border-radius:3px;padding:8px 10px;font-family:Spline Sans Mono,monospace;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;cursor:pointer}.gis-edit-save:hover{filter:brightness(1.05)}.gis-edit-cancel{background:transparent;border:1px solid var(--bd2);border-radius:3px;color:var(--mut2);font-size:11px;padding:8px 12px;cursor:pointer}.gis-edit-cancel:hover{color:var(--tx);border-color:var(--mut)}.gis-inspect{display:flex;flex-direction:column}.gis-inspect-scroll{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden}.gis-inspect-scroll::-webkit-scrollbar{width:8px}.gis-inspect-scroll::-webkit-scrollbar-thumb{background:var(--bd2);border-radius:4px;border:2px solid var(--p1)}.gis-sect{border-top:1px solid var(--bd);margin:0 13px;padding:11px 0}.gis-sect-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:9px}.gis-sect-head>span:first-child{display:inline-flex;align-items:center;gap:6px;font-family:Spline Sans Mono,monospace;font-size:9.5px;text-transform:uppercase;letter-spacing:.1em;color:var(--mut)}.gis-sect-head svg{color:var(--acc)}.gis-sect-meta{font-size:10.5px;color:var(--mut2)}.gis-steps{display:flex;flex-direction:column;gap:3px}.gis-steps-cols{display:grid;grid-template-columns:26px 1fr auto;gap:9px;padding:0 6px 4px}.gis-steps-cols span{font-family:Spline Sans Mono,monospace;font-size:8px;letter-spacing:.08em;text-transform:uppercase;color:var(--mut)}.gis-steps-cols span:first-child{grid-column:1 / 3}.gis-steps-cols span:last-child{text-align:right}.gis-step2{display:grid;grid-template-columns:26px 1fr auto;align-items:center;gap:9px;padding:4px 6px;border-radius:3px}.gis-step2:hover{background:var(--p2)}.gis-step-box{width:19px;height:19px;display:grid;place-items:center;border:1.5px solid var(--bd2);border-radius:3px;color:#fff;background:transparent;cursor:pointer;padding:0}.gis-step-n{font-family:Spline Sans Mono,monospace;font-size:9.5px;color:var(--mut)}.gis-step2.done .gis-step-box{background:var(--gas);border-color:var(--gas)}.gis-step2.verified .gis-step-box{background:var(--sewer);border-color:var(--sewer)}.gis-step-lab{min-width:0;font-size:12.5px;color:var(--tx)}.gis-step2.done .gis-step-lab{color:var(--mut2)}.gis-step-verify{width:24px;height:24px;display:grid;place-items:center;border:none;background:transparent;border-radius:3px;cursor:pointer;color:var(--bd2)}.gis-step-verify:disabled{cursor:not-allowed;color:var(--bd);opacity:.6}.gis-step2.done .gis-step-verify{color:var(--mut)}.gis-step2.done .gis-step-verify:hover{color:var(--sewer);background:color-mix(in srgb,var(--sewer) 14%,transparent)}.gis-step2.verified .gis-step-verify{color:var(--sewer)}.gis-step-verall{display:inline-flex;align-items:center;gap:6px;margin-top:8px;padding:6px 10px;background:transparent;border:1px solid color-mix(in srgb,var(--sewer) 45%,var(--bd));border-radius:3px;color:var(--sewer);font-family:Spline Sans Mono,monospace;font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;cursor:pointer}.gis-step-verall:hover{background:color-mix(in srgb,var(--sewer) 12%,transparent)}.gis-insp-status{font-family:Spline Sans Mono,monospace;font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ic);border:1px solid color-mix(in srgb,var(--ic) 45%,transparent);background:color-mix(in srgb,var(--ic) 14%,transparent);padding:2px 8px;border-radius:3px}.gis-insp-meta{display:flex;gap:16px;margin-bottom:7px}.gis-insp-meta span{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;color:var(--mut2)}.gis-insp-meta svg{color:var(--mut)}.gis-insp-notes{font-size:12px;color:var(--tx);background:var(--p2);border:1px solid var(--bd);border-radius:3px;padding:7px 9px;line-height:1.45;margin-bottom:8px}.gis-insp-acts{display:flex;gap:5px}.gis-insp-btn{flex:1;font-family:Spline Sans Mono,monospace;font-size:9.5px;text-transform:uppercase;letter-spacing:.04em;font-weight:600;color:var(--mut2);background:transparent;border:1px solid var(--bd2);border-radius:3px;padding:6px 4px;cursor:pointer}.gis-insp-btn:hover{color:var(--tx)}.gis-insp-btn.on{color:#fff;background:var(--ic);border-color:var(--ic)}.gis-photo-drop{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:16px 12px;border:1px dashed var(--bd2);border-radius:4px;color:var(--mut);font-size:11.5px;text-align:center;cursor:pointer}.gis-photo-drop:hover,.gis-photo-drop.drag{border-color:var(--acc);color:var(--acc);background:color-mix(in srgb,var(--acc) 7%,transparent)}.gis-photo-drop svg{color:var(--mut)}.gis-photo-drop:hover svg,.gis-photo-drop.drag svg{color:var(--acc)}.gis-photo{position:relative;border:1px solid var(--bd);border-radius:4px;overflow:hidden}.gis-photo img{display:block;width:100%;height:132px;object-fit:cover}.gis-photo-name{position:absolute;left:0;right:0;bottom:0;padding:4px 8px;font-size:10px;color:#fff;background:linear-gradient(0deg,rgba(0,0,0,.66),transparent);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gis-photo-x{position:absolute;top:6px;right:6px;width:24px;height:24px;display:grid;place-items:center;background:#090b0da8;border:none;border-radius:3px;color:#fff;cursor:pointer}.gis-photo-x:hover{background:var(--elec)}.gis-inspect-link,.gis-inspect-del{margin-top:4px}.gis-status{position:absolute;left:14px;bottom:14px;z-index:11;display:flex;align-items:center;gap:14px;padding:7px 13px;background:color-mix(in srgb,var(--p1) 94%,transparent);border:1px solid var(--bd);border-radius:var(--r);box-shadow:0 4px 14px #00000024;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.gis-chip{display:inline-flex;align-items:center;gap:6px;font-family:Spline Sans Mono,monospace;font-size:10px;text-transform:uppercase;letter-spacing:.07em;color:var(--sewer)}.gis-chip-dot{width:7px;height:7px;border-radius:50%;background:var(--sewer);box-shadow:0 0 color-mix(in srgb,var(--sewer) 70%,transparent);animation:gisPulse 2.2s infinite}@keyframes gisPulse{0%{box-shadow:0 0 color-mix(in srgb,var(--sewer) 60%,transparent)}70%{box-shadow:0 0 0 6px transparent}to{box-shadow:0 0 0 0 transparent}}.gis-stat{font-size:11px;color:var(--mut2);letter-spacing:.02em}.gis-stat-z{color:var(--mut)}.gis-scale{display:inline-flex;align-items:center;gap:7px}.gis-scale-bar{height:6px;background:transparent;border:1px solid var(--mut2);border-top:none;min-width:24px}.gis-scale-lab{font-size:10px;color:var(--mut2)}.gis-count{color:var(--mut)}.gis-flash{position:absolute;left:50%;bottom:18px;transform:translate(-50%);z-index:16;display:inline-flex;align-items:center;gap:8px;padding:9px 15px;background:var(--ink);color:#fff;border:1px solid var(--acc);border-radius:var(--r);font-family:Spline Sans Mono,monospace;font-size:11px;letter-spacing:.03em;box-shadow:0 8px 24px #0000004d}.gis-flash svg{color:var(--acc)}.gis-del-confirm{margin:4px 12px 10px;padding:10px 11px;border:1px solid color-mix(in srgb,var(--elec) 55%,var(--bd));background:color-mix(in srgb,var(--elec) 9%,transparent);border-radius:4px}.gis-del-msg{display:flex;align-items:flex-start;gap:7px;font-size:12px;line-height:1.4;color:var(--tx);margin-bottom:10px}.gis-del-msg svg{color:var(--elec);flex-shrink:0;margin-top:1px}.gis-del-acts{display:flex;gap:7px}.gis-del-yes{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 10px;background:var(--elec);color:#fff;border:none;border-radius:3px;font-family:Spline Sans Mono,monospace;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;cursor:pointer;max-width:70%;overflow:hidden}.gis-del-yes:hover{filter:brightness(1.08)}.gis-del-no{background:transparent;border:1px solid var(--bd2);border-radius:3px;color:var(--mut2);font-size:11px;padding:8px 14px;cursor:pointer}.gis-del-no:hover{color:var(--tx);border-color:var(--mut)}.gis-bill-sum{font-family:Spline Sans Mono,monospace;font-size:12px;font-weight:700;color:var(--sewer)}.gis-bill-empty{font-size:10.5px;color:var(--mut);padding:2px 0}.gis-bill-field{display:flex;flex-direction:column;gap:4px;margin-bottom:8px}.gis-bill-field>span{font-family:Spline Sans Mono,monospace;font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:var(--mut)}.gis-bill-qty{display:flex;align-items:stretch}.gis-bill-qty input{border-radius:3px 0 0 3px;border-right:none;background:var(--p2);border:1px solid var(--bd2);color:var(--tx);font-family:inherit;font-size:12.5px;padding:6px 8px;outline:none;width:100%;min-width:0}.gis-bill-qty input:focus{border-color:var(--acc)}.gis-bill-unit{display:grid;place-items:center;padding:0 9px;font-family:Spline Sans Mono,monospace;font-size:10px;font-weight:700;letter-spacing:.04em;color:var(--mut);background:var(--p3);border:1px solid var(--bd2);border-left:none;border-radius:0 3px 3px 0}.gis-bill-ro{display:flex;align-items:center;padding:6px 8px;font-size:12.5px;color:var(--tx);background:var(--p3);border:1px solid var(--bd);border-radius:3px;min-height:19px}.gis-bill-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.gis-bill-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:8px 0;font-size:9.5px;color:var(--mut)}.gis-bill-reset{background:transparent;border:1px solid var(--bd2);border-radius:3px;color:var(--mut2);font-family:Spline Sans Mono,monospace;font-size:9px;text-transform:uppercase;letter-spacing:.05em;padding:4px 7px;cursor:pointer}.gis-bill-reset:hover{color:var(--acc);border-color:var(--acc)}.gis-bill-line{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 11px;border-radius:3px;border:1px solid var(--bd);background:var(--p2)}.gis-bill-line.on{border-color:color-mix(in srgb,var(--sewer) 45%,var(--bd));background:color-mix(in srgb,var(--sewer) 9%,transparent)}.gis-bill-calc{font-size:10.5px;color:var(--mut2)}.gis-bill-val{font-size:14px;font-weight:700;color:var(--tx)}.gis-bill-line.on .gis-bill-val{color:var(--sewer)}.gis-bill-proj{display:flex;align-items:center;gap:7px;margin-bottom:8px}.gis-bill-proj-dot{width:9px;height:9px;border-radius:2px;flex-shrink:0}.gis-bill-proj-name{font-size:11.5px;color:var(--tx);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gis-bill-card{font-size:9.5px;color:var(--mut);margin-bottom:9px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gis-footage-grid{display:flex;flex-direction:column;gap:6px}.gis-footage-row{display:flex;align-items:center;gap:8px}.gis-footage-lbl{font-family:Spline Sans Mono,monospace;font-size:9px;text-transform:uppercase;letter-spacing:.07em;color:var(--mut);width:84px;flex-shrink:0}.gis-footage-val{font-size:12.5px;color:var(--tx)}.gis-footage-true{align-items:center}.gis-footage-true .gis-bill-qty{flex:1 1 auto}.gis-footage-true .gis-bill-qty input{font-size:12px;padding:5px 7px}.gis-notes-ta{width:100%;box-sizing:border-box;background:var(--p2);border:1px solid var(--bd2);border-radius:3px;color:var(--tx);font-family:inherit;font-size:12.5px;line-height:1.5;padding:7px 9px;resize:vertical;outline:none;min-height:64px}.gis-notes-ta:focus{border-color:var(--acc)}.priced-hidden{display:inline-flex;align-items:center;gap:5px;color:var(--mut2);font-family:Spline Sans Mono,monospace;font-size:11px;letter-spacing:.5px;background:repeating-linear-gradient(90deg,rgba(140,150,165,.16),rgba(140,150,165,.16) 3px,transparent 3px,transparent 6px);padding:1px 7px;border-radius:4px}.gis-combo{position:relative;width:100%}.gis-combo-btn{display:flex;align-items:center;gap:8px;width:100%;padding:7px 9px;background:var(--p2);border:1px solid var(--bd2);border-radius:3px;color:var(--tx);font-family:inherit;font-size:12.5px;cursor:pointer;text-align:left}.gis-combo-btn:hover{border-color:var(--mut)}.gis-combo.open .gis-combo-btn{border-color:var(--acc)}.gis-combo-dot{width:10px;height:10px;flex-shrink:0}.gis-combo-val{flex:1;min-width:0;display:flex;align-items:baseline;gap:7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gis-combo-valsub{font-size:10px;color:var(--mut);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.gis-combo-ph{color:var(--mut)}.gis-combo-caret{color:var(--mut);flex-shrink:0;transition:transform .12s}.gis-combo.open .gis-combo-caret{transform:rotate(180deg)}.gis-combo-pop{position:absolute;left:0;right:0;top:calc(100% + 5px);z-index:40;background:color-mix(in srgb,var(--p1) 97%,transparent);border:1px solid var(--bd);border-radius:var(--r);box-shadow:0 10px 28px #0000003d;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);overflow:hidden}.gis-combo.inline .gis-combo-pop{position:static;margin-top:6px;box-shadow:none}.gis-combo-search{display:flex;align-items:center;gap:7px;padding:8px 10px;border-bottom:1px solid var(--bd);color:var(--mut)}.gis-combo-search input{flex:1;min-width:0;background:transparent;border:none;outline:none;color:var(--tx);font-family:inherit;font-size:12.5px}.gis-combo-list{max-height:232px;overflow-y:auto;padding:4px;display:flex;flex-direction:column;gap:1px}.gis-combo-list::-webkit-scrollbar{width:8px}.gis-combo-list::-webkit-scrollbar-thumb{background:var(--bd2);border-radius:4px;border:2px solid var(--p1)}.gis-combo-empty{padding:10px 8px;font-size:10.5px;color:var(--mut)}.gis-combo-opt{display:flex;align-items:center;gap:8px;width:100%;padding:7px 8px;border:none;background:transparent;border-radius:3px;cursor:pointer;text-align:left;color:var(--tx)}.gis-combo-opt:hover{background:var(--p2)}.gis-combo-opt.on{background:color-mix(in srgb,var(--acc) 12%,transparent)}.gis-combo-optlab{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px;font-size:12.5px;line-height:1.25}.gis-combo-optsub{font-size:10px;color:var(--mut);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gis-combo-optright{font-size:11px;color:var(--mut2);flex-shrink:0}.gis-combo-ck{color:var(--acc);flex-shrink:0}.gis-projbar{position:absolute;top:60px;left:14px;z-index:12;width:288px;display:flex;align-items:center;gap:8px;padding:5px 8px 5px 10px;background:color-mix(in srgb,var(--p1) 94%,transparent);border:1px solid var(--bd);border-left:3px solid var(--acc);border-radius:var(--r);box-shadow:0 6px 22px #00000029;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.gis-projbar-icon{color:var(--acc);display:grid;place-items:center;flex-shrink:0}.gis-projbar .gis-combo{flex:1;min-width:0}.gis-projbar .gis-combo-btn{background:transparent;border:1px solid transparent;padding:5px 2px}.gis-projbar .gis-combo-btn:hover,.gis-projbar .gis-combo.open .gis-combo-btn{border-color:transparent}.gis-projbar-count{flex-shrink:0;font-size:11px;font-weight:700;padding:2px 8px;border-radius:3px;background:var(--p2)}.gis-proj-tag{position:absolute;display:inline-flex;align-items:center;gap:6px;padding:4px 9px;font-family:Spline Sans Mono,monospace;font-size:10px;font-weight:700;letter-spacing:.03em;color:#fff;background:var(--pc);border-radius:3px;white-space:nowrap;box-shadow:0 3px 10px #0000004d;pointer-events:none;z-index:2;max-width:240px;overflow:hidden;text-overflow:ellipsis}.gis-proj-tag svg{opacity:.85}@media (max-width: 1180px){.gis-tool span{display:none}.gis-tool{padding:8px 10px}}@media (max-width: 760px){.gis-stage{height:calc(100vh - 92px)}.gis-search-wrap,.gis-projbar{width:200px}.gis-toolbar{top:104px}.gis-tool span,.gis-panel{display:none}.gis-status{gap:9px;padding:6px 9px;flex-wrap:wrap;max-width:calc(100vw - 28px)}.gis-count,.gis-stat-z{display:none}}.rep-filters{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;padding:14px 16px;background:linear-gradient(180deg,var(--p1),var(--p2));border:1px solid var(--bd);border-left:3px solid var(--acc);border-radius:13px}.rep-f{display:flex;flex-direction:column;gap:5px}.rep-f>span{font-family:Spline Sans Mono,monospace;font-size:9px;text-transform:uppercase;letter-spacing:.1em;color:var(--mut)}.rep-f input[type=date]{background:var(--p2);border:1px solid var(--bd2);border-radius:7px;color:var(--tx);font-family:inherit;font-size:13px;padding:8px 10px;outline:none;height:36px;color-scheme:dark}.app.theme-light .rep-f input[type=date]{color-scheme:light}.rep-f input[type=date]:focus{border-color:var(--acc)}.rep-f .gis-combo{width:200px}.rep-f.rep-f-proj .gis-combo{width:260px}.rep-f:nth-last-of-type(1) .gis-combo{width:156px}.rep-f .gis-combo-btn{height:36px;border-radius:7px;font-size:13px;padding:0 10px}.rep-reset{margin-left:auto;height:36px;align-self:flex-end}.rep-stats .stat-val{font-size:22px}.rep-doc-head{display:flex;align-items:center;gap:26px;flex-wrap:wrap;padding:4px 2px 14px;margin-bottom:12px;border-bottom:1px solid var(--bd)}.rep-doc-field{display:flex;flex-direction:column;gap:3px}.rep-doc-field span{font-family:Spline Sans Mono,monospace;font-size:9px;text-transform:uppercase;letter-spacing:.1em;color:var(--mut)}.rep-doc-field b{font-size:13.5px;font-weight:600;color:var(--tx);max-width:320px}.rep-daytoggle{margin-left:auto;display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-size:12.5px;color:var(--mut2);padding:7px 11px;border:1px solid var(--bd2);border-radius:8px}.rep-daytoggle:hover{border-color:var(--mut);color:var(--tx)}.rep-daytoggle input{accent-color:var(--acc);width:15px;height:15px}.rep-money-lock{display:inline-flex;align-items:center;gap:6px;margin-left:auto;padding:7px 11px;font-family:Spline Sans Mono,monospace;font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--mut2);background:var(--p2);border:1px solid var(--bd2);border-radius:8px}.rep-money-lock svg{color:var(--gas)}.rep-money-lock+.rep-daytoggle{margin-left:0}.rep-table.nomoney .rep-tr{grid-template-columns:2.6fr 1fr .7fr}.rep-table.nomoney .rep-tr>:nth-child(4),.rep-table.nomoney .rep-tr>:nth-child(5){display:none}.rep-table{border:1px solid var(--bd);border-radius:10px;overflow:hidden}.rep-tr{display:grid;grid-template-columns:2.6fr .9fr .6fr 1fr 1.1fr;align-items:center;gap:14px;padding:12px 16px;border-bottom:1px solid var(--bd)}.rep-tr:last-child{border-bottom:none}.rep-tr .r{text-align:right}.rep-th{background:var(--p2);font-family:Spline Sans Mono,monospace;font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--mut);padding:10px 16px}.rep-desc{display:flex;align-items:center;gap:9px;font-size:13.5px;color:var(--tx);flex-wrap:wrap}.rep-code{font-size:10.5px;color:var(--acc);background:color-mix(in srgb,var(--acc) 12%,transparent);border:1px solid color-mix(in srgb,var(--acc) 35%,var(--bd));border-radius:3px;padding:2px 6px;flex-shrink:0}.rep-tr .mono{font-size:13px}.rep-unit{color:var(--mut)}.rep-sum{font-weight:700;color:var(--tx)}.rep-day{background:var(--p3);padding:8px 16px 8px 30px}.rep-day .rep-desc{font-size:12px;color:var(--mut2);gap:8px}.rep-day-date{font-size:11px;color:var(--tx)}.rep-day .mono{font-size:12px}.rep-muted{color:var(--mut)}.rep-total{background:linear-gradient(180deg,color-mix(in srgb,var(--sewer) 8%,transparent),transparent);border-top:2px solid color-mix(in srgb,var(--sewer) 40%,var(--bd))}.rep-total>div:first-child{font-family:Spline Sans Mono,monospace;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--mut2)}.rep-total .mono{font-size:14px;font-weight:700}.rep-grand{color:var(--sewer);font-size:16px!important}.rep-projhead{background:color-mix(in srgb,var(--pc) 9%,transparent);border-top:1px solid color-mix(in srgb,var(--pc) 35%,var(--bd));border-bottom:1px solid color-mix(in srgb,var(--pc) 22%,var(--bd));border-left:3px solid var(--pc)}.rep-projhead:first-child{border-top:none}.rep-proj-name{display:flex;align-items:center;gap:9px;font-size:13.5px;font-weight:700;color:var(--tx);flex-wrap:wrap}.rep-proj-dot{width:10px;height:10px;border-radius:2px;background:var(--pc);flex-shrink:0}.rep-proj-cust{font-family:Spline Sans Mono,monospace;font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.06em;color:var(--mut)}.rep-projhead .mono{font-size:13px;color:var(--mut2)}.rep-proj-sum{color:var(--pc)!important;font-weight:700}.rep-subtotal{background:var(--p2);border-bottom:1px solid var(--bd)}.rep-subtotal>div:first-child{font-family:Spline Sans Mono,monospace;font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--mut)}.rep-subtotal .mono{font-size:12.5px;color:var(--mut2)}.rep-sub-sum{color:var(--tx)!important;font-weight:700}@media (max-width: 920px){.rep-tr{grid-template-columns:2fr .8fr 1fr;gap:10px}.rep-tr>:nth-child(3),.rep-tr>:nth-child(4){display:none}}.fleet-sep{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--mut2);margin:28px 0 16px;padding-bottom:10px;border-bottom:1px solid var(--bd)}.fleet-sep svg{color:var(--comm)}.fleet-sep-sub{font-size:10px;font-weight:500;color:var(--mut);margin-left:auto}.fleet-acts{display:flex;align-items:center;gap:12px;margin-bottom:14px}.fleet-hint{font-size:11px;color:var(--mut)}.fleet-svc{display:flex;align-items:center;gap:5px}.fleet-detail{font-size:10px;color:var(--mut)}.fleet-row-acts{display:flex;align-items:center;gap:4px}table.fleet-maint th,table.fleet-trips th{color:var(--mut2);font-size:10px}table.fleet-maint td,table.fleet-trips td{font-size:12.5px;vertical-align:top;padding-top:11px;padding-bottom:11px}.fleet-veh-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;margin-bottom:20px}.fleet-veh{background:var(--p2);border:1px solid var(--bd);border-radius:10px;padding:14px 16px 12px;display:flex;flex-direction:column;gap:6px}.fleet-veh-top{display:flex;align-items:center;gap:8px}.fleet-veh-id{font-size:13px;font-weight:700;color:var(--tx)}.fleet-veh-desc{font-size:12px;color:var(--mut)}.fleet-veh-stats{display:flex;flex-direction:column;gap:3px;margin-top:4px}.fleet-veh-stats>div{display:flex;justify-content:space-between;align-items:baseline;gap:6px}.fleet-veh-k{font-size:10px;color:var(--mut)}.fleet-veh-v{font-size:12px;font-weight:600;color:var(--tx)}.fleet-veh-docs{display:flex;align-items:center;gap:5px;margin-top:8px;font-size:11px;font-weight:600;color:var(--mut2);background:none;border:none;cursor:pointer;padding:0;text-decoration:none}.fleet-veh-docs:hover{color:var(--comm)}.fleet-log-head{font-size:11px;color:var(--mut);text-transform:uppercase;letter-spacing:.07em;margin:18px 0 8px}.fleet-usage-preview{display:flex;justify-content:space-between;align-items:baseline;background:var(--p2);border:1px solid var(--bd);border-radius:8px;padding:10px 14px;margin:8px 0}.fleet-usage-v{font-size:13px;font-weight:700}.fleet-attach{margin-top:14px}.fleet-attach-lab{display:block;font-size:11px;color:var(--mut2);margin-bottom:6px;font-weight:600}.fleet-attach-opt{font-weight:400;color:var(--mut)}.fleet-docpick{display:flex;flex-direction:column;gap:6px}.fleet-drop{display:flex;align-items:center;justify-content:center;gap:8px;border:1.5px dashed var(--bd);border-radius:8px;padding:12px 16px;cursor:pointer;font-size:12px;color:var(--mut2);transition:border-color .15s,background .15s}.fleet-drop:hover,.fleet-drop.drag{border-color:var(--comm);background:color-mix(in srgb,var(--comm) 7%,transparent);color:var(--tx)}.fleet-drop.lg{padding:20px 24px;flex-direction:column;gap:10px;font-size:13px}.fleet-staged{display:flex;flex-wrap:wrap;gap:6px}.fleet-chip{display:flex;align-items:center;gap:5px;background:var(--p2);border:1px solid var(--bd);border-radius:20px;padding:3px 10px 3px 8px;font-size:11px;color:var(--tx)}.fleet-chip-n{max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fleet-chip button{background:none;border:none;cursor:pointer;padding:0;color:var(--mut);display:flex;align-items:center}.fleet-chip button:hover{color:var(--electric)}.fleet-docmodal-sub{font-size:12px;color:var(--mut);margin-bottom:14px}.fleet-docgroup{margin-top:14px}.fleet-docgroup-h{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--mut);margin-bottom:6px;padding-bottom:6px;border-bottom:1px solid var(--bd)}.fleet-docrow{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid color-mix(in srgb,var(--bd) 60%,transparent)}.fleet-docrow-ic{width:28px;height:28px;border-radius:6px;display:flex;align-items:center;justify-content:center;background:var(--p2);color:var(--mut2);flex-shrink:0}.fleet-docrow-ic.t-image{background:color-mix(in srgb,var(--comm) 14%,transparent);color:var(--comm)}.fleet-docrow-ic.t-pdf{background:color-mix(in srgb,var(--electric) 12%,transparent);color:var(--electric)}.fleet-docrow-main{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.fleet-docrow-n{font-size:12.5px;font-weight:600;color:var(--tx);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fleet-docrow-meta{font-size:10.5px;color:var(--mut)}.fleet-docrow-na{font-size:11px;color:var(--mut)}.docs-open{color:var(--comm)!important}.docs-open-n{display:inline-flex;align-items:center;justify-content:center;background:var(--comm);color:#fff;border-radius:10px;font-size:10px;font-weight:700;padding:0 5px;min-width:16px;height:16px;margin-left:2px}.fleet-super{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--tx);white-space:nowrap}.fleet-super svg{color:var(--mut2)}.fleet-notif{display:inline-flex;align-items:center;gap:5px;margin-top:5px;font-size:9.5px;letter-spacing:.02em;padding:2px 7px;border-radius:20px;border:1px solid var(--bd);white-space:nowrap}.fleet-notif.on{color:var(--gas);border-color:color-mix(in srgb,var(--gas) 45%,transparent);background:color-mix(in srgb,var(--gas) 12%,transparent)}.fleet-notif.idle{color:var(--mut2)}.fleet-notif svg{flex-shrink:0}.fleet-alert{display:flex;align-items:center;gap:12px;padding:11px 12px;border:1px solid var(--bd);border-left:3px solid var(--gas);border-radius:9px;background:var(--p1);margin-bottom:8px}.fleet-alert:last-child{margin-bottom:0}.fleet-alert-ic{display:grid;place-items:center;width:34px;height:34px;border-radius:8px;flex-shrink:0}.fleet-alert-ic.od{background:color-mix(in srgb,var(--electric) 15%,transparent);color:var(--electric)}.fleet-alert-ic.soon{background:color-mix(in srgb,var(--gas) 16%,transparent);color:var(--gas)}.fleet-alert-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.fleet-alert-t{display:flex;align-items:center;gap:8px;font-size:13.5px;color:var(--tx);flex-wrap:wrap}.fleet-alert-s{font-size:10.5px;color:var(--mut)}.fleet-alert .btn{flex-shrink:0}.fleet-veh-super{display:inline-flex;align-items:center;gap:5px;margin-top:6px;margin-bottom:4px;font-size:10.5px;color:var(--mut)}.fleet-veh-super svg{color:var(--mut2)}.fleet-toast{position:fixed;left:50%;bottom:26px;transform:translate(-50%);z-index:80;display:flex;align-items:center;gap:9px;padding:11px 16px;border-radius:10px;background:#11181f;border:1px solid var(--bdr2);box-shadow:0 18px 40px -16px #000000b3;color:var(--tx);font-size:13px;max-width:min(92vw,460px);animation:fleetToastIn .22s ease;pointer-events:none}.fleet-toast-ic{display:grid;place-items:center;width:26px;height:26px;border-radius:7px;flex-shrink:0;background:color-mix(in srgb,var(--gas) 18%,transparent);color:var(--gas)}@keyframes fleetToastIn{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}.app.theme-light .fleet-sep{border-bottom-color:#e2e8ef;color:#5b6776}.app.theme-light .fleet-sep svg{color:#f5820a}.app.theme-light .fleet-veh{background:#f9fafb;border-color:#e2e8ef}.app.theme-light .fleet-drop{border-color:#d0d8e4;color:#7a8898}.app.theme-light .fleet-drop:hover,.app.theme-light .fleet-drop.drag{border-color:#f5820a;background:#f5820a0f;color:#1d242c}.app.theme-light .fleet-chip{background:#f4f6f9;border-color:#dde3ec;color:#1d242c}.app.theme-light .fleet-docrow-ic{background:#eef2f6}.app.theme-light .fleet-docrow-ic.t-image{background:#f5820a1a;color:#d96f00}.app.theme-light .fleet-docrow-ic.t-pdf{background:#e23b2e14;color:#c13026}.app.theme-light .fleet-usage-preview{background:#f4f6f9;border-color:#dde3ec}.app.theme-light .fleet-docgroup-h{color:#8b9aaa;border-bottom-color:#e2e8ef}.app.theme-light .fleet-docrow{border-bottom-color:#eef2f6}.app.theme-light .fleet-notif.idle{color:#8b96a3}.app.theme-light .fleet-notif.on{color:#b08000;border-color:#f5c51873;background:#f5c5181f}.app.theme-light .fleet-alert{background:#f9fafb;border-color:#e2e8ef;border-left-color:#f5c518}.app.theme-light .fleet-alert-ic.od{background:#e23b2e14;color:#c13026}.app.theme-light .fleet-alert-ic.soon{background:#f5c5181f;color:#b08000}.app.theme-light .fleet-toast{background:#1d242c;border-color:#2e3844;color:#f0f4f8}@media (max-width: 920px){.fleet-veh-grid{grid-template-columns:1fr 1fr}table.fleet-maint>thead{display:none}table.fleet-maint td{display:block;padding:4px 8px}table.fleet-maint tr{display:block;padding:10px 0;border-bottom:1px solid var(--bd)}}.gis-tool-div{width:1px;align-self:stretch;margin:2px 3px;background:var(--bd2)}.gis-tool-import{color:var(--acc)}.gis-tool-import:hover{color:var(--ink);background:var(--acc)}.gis-tool-import svg{color:currentColor}.kmz-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;font-family:Spline Sans Mono,monospace;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:9px 14px;border-radius:3px;cursor:pointer;border:1px solid transparent;white-space:nowrap}.kmz-btn.primary{background:var(--acc);color:var(--ink)}.kmz-btn.primary:hover{filter:brightness(1.05)}.kmz-btn.ghost{background:transparent;border-color:var(--bd2);color:var(--mut2)}.kmz-btn.ghost:hover{color:var(--tx);border-color:var(--mut2)}.kmz-btn:disabled{opacity:.45;cursor:not-allowed;filter:none}.kmz-x{flex-shrink:0;display:grid;place-items:center;width:30px;height:30px;border:1px solid var(--bd);border-radius:3px;background:transparent;color:var(--mut);cursor:pointer}.kmz-x:hover{color:var(--tx);border-color:var(--mut2)}.kmz-spinner{width:38px;height:38px;border-radius:50%;border:3px solid var(--bd2);border-top-color:var(--acc);animation:kmzspin .7s linear infinite}.kmz-spinner.sm{width:14px;height:14px;border-width:2px}@keyframes kmzspin{to{transform:rotate(360deg)}}.kmz-modal-wrap{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:grid;place-items:center;padding:28px;background:color-mix(in srgb,#05080b 62%,transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:kmzfade .16s ease}@keyframes kmzfade{0%{opacity:0}to{opacity:1}}.kmz-modal{width:min(540px,100%);background:var(--p1);border:1px solid var(--bd2);border-radius:var(--r, 4px);box-shadow:0 40px 90px -30px #000000b3;overflow:hidden;animation:kmzpop .18s cubic-bezier(.2,.7,.3,1)}@keyframes kmzpop{0%{transform:translateY(8px) scale(.99);opacity:.6}to{transform:none;opacity:1}}.kmz-modal-head{display:flex;align-items:flex-start;gap:12px;padding:16px 16px 14px;border-bottom:1px solid var(--bd)}.kmz-modal-ic{flex-shrink:0;display:grid;place-items:center;width:34px;height:34px;border-radius:3px;background:color-mix(in srgb,var(--acc) 16%,transparent);border:1px solid color-mix(in srgb,var(--acc) 36%,transparent);color:var(--acc)}.kmz-modal-htext{flex:1;min-width:0}.kmz-modal-t{font-family:Archivo,Saira Condensed,sans-serif;font-weight:700;font-size:16px;color:var(--tx)}.kmz-modal-s{font-size:12px;color:var(--mut);line-height:1.45;margin-top:2px}.kmz-modal-body{padding:16px}.kmz-modal-note{margin-top:12px;font-family:Spline Sans Mono,monospace;font-size:9.5px;color:var(--mut);text-align:center;letter-spacing:.02em}.kmz-drop{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:34px 20px;text-align:center;cursor:pointer;border:1.5px dashed var(--bd2);border-radius:var(--r, 4px);background:var(--p2);transition:border-color .14s,background .14s}.kmz-drop:hover{border-color:color-mix(in srgb,var(--acc) 55%,var(--bd2));background:var(--p3)}.kmz-drop.drag{border-color:var(--acc);background:color-mix(in srgb,var(--acc) 10%,var(--p2))}.kmz-drop-ic{color:var(--acc);margin-bottom:4px}.kmz-drop-t{font-size:14px;color:var(--tx)}.kmz-drop-t b{font-family:Spline Sans Mono,monospace;font-weight:700}.kmz-drop-s{font-size:12px;color:var(--mut)}.kmz-drop-browse{color:var(--acc);text-decoration:underline;text-underline-offset:2px}.kmz-sample{display:flex;align-items:center;gap:8px;width:100%;margin-top:12px;padding:10px 12px;background:color-mix(in srgb,var(--acc) 9%,transparent);border:1px solid color-mix(in srgb,var(--acc) 28%,var(--bd));border-radius:3px;color:var(--tx);font-size:12px;cursor:pointer;text-align:left}.kmz-sample b{font-weight:700}.kmz-sample:hover{background:color-mix(in srgb,var(--acc) 14%,transparent)}.kmz-sample>svg:first-child{color:var(--acc);flex-shrink:0}.kmz-sample>svg:last-child{margin-left:auto;color:var(--mut2);flex-shrink:0}.kmz-parsing{display:flex;flex-direction:column;align-items:center;gap:12px;padding:42px 20px;text-align:center}.kmz-parsing-t{font-size:14px;color:var(--tx)}.kmz-parsing-s{font-family:Spline Sans Mono,monospace;font-size:10.5px;color:var(--mut)}.kmz-errbody{display:flex;flex-direction:column;align-items:center;gap:9px;padding:30px 22px;text-align:center}.kmz-err-ic{display:grid;place-items:center;width:52px;height:52px;border-radius:3px;background:color-mix(in srgb,var(--elec) 14%,transparent);border:1px solid color-mix(in srgb,var(--elec) 34%,transparent);color:var(--elec)}.kmz-err-t{font-family:Archivo,sans-serif;font-weight:700;font-size:16px;color:var(--tx)}.kmz-err-s{font-size:12.5px;color:var(--mut);line-height:1.5;max-width:380px}.kmz-err-s .mono{color:var(--tx)}.kmz-err-acts{display:flex;gap:9px;margin-top:8px}.kmz-drawer{position:absolute;top:0;right:0;bottom:0;z-index:30;width:380px;max-width:92vw;display:flex;flex-direction:column;background:var(--p1);border-left:1px solid var(--bd2);box-shadow:-18px 0 50px -28px #0009;animation:kmzslide .2s cubic-bezier(.2,.7,.3,1)}@keyframes kmzslide{0%{transform:translate(24px);opacity:.5}to{transform:none;opacity:1}}.kmz-dr-head{display:flex;align-items:center;gap:11px;padding:13px 14px;border-bottom:1px solid var(--bd)}.kmz-dr-htext{flex:1;min-width:0}.kmz-dr-t{font-family:Archivo,sans-serif;font-weight:700;font-size:15px;color:var(--tx)}.kmz-dr-file{font-family:Spline Sans Mono,monospace;font-size:10px;color:var(--mut);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kmz-dr-scroll{flex:1;overflow-y:auto;padding:14px}.kmz-dr-foot{border-top:1px solid var(--bd);padding:11px 14px;display:flex;flex-direction:column;gap:9px;background:var(--p1)}.kmz-foot-meta{font-family:Spline Sans Mono,monospace;font-size:10px;color:var(--mut)}.kmz-foot-acts{display:flex;gap:9px}.kmz-foot-acts .kmz-btn{flex:1}.kmz-foot-acts .kmz-btn.primary{flex:1.6}.kmz-build{margin-bottom:11px}.kmz-build-name{font-family:Archivo,sans-serif;font-weight:600;font-size:14.5px;color:var(--tx);line-height:1.25}.kmz-build-region{display:inline-flex;align-items:center;gap:5px;margin-top:4px;font-family:Spline Sans Mono,monospace;font-size:10.5px;color:var(--mut)}.kmz-build-region svg{color:var(--acc)}.kmz-mini{width:100%;height:auto;display:block;border:1px solid var(--bd);border-radius:3px;background:var(--p3);margin-bottom:12px}.kmz-mini-bg{fill:color-mix(in srgb,var(--p3) 70%,#1a2a22)}.kmz-mini-empty{display:grid;place-items:center;height:120px;font-family:Spline Sans Mono,monospace;font-size:10px;color:var(--mut)}.kmz-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-bottom:16px}.kmz-sum-cell{display:flex;flex-direction:column;gap:2px;padding:9px 10px;background:var(--p2);border:1px solid var(--bd);border-radius:3px}.kmz-sum-n{font-family:Archivo,Saira Condensed,sans-serif;font-weight:700;font-size:19px;color:var(--tx);line-height:1}.kmz-sum-l{font-family:Spline Sans Mono,monospace;font-size:8.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--mut)}.kmz-sect-h{display:flex;align-items:center;gap:6px;margin:4px 0 9px;font-family:Spline Sans Mono,monospace;font-size:9.5px;text-transform:uppercase;letter-spacing:.1em;color:var(--mut2)}.kmz-sect-h svg{color:var(--acc)}.kmz-maptable{display:flex;flex-direction:column;gap:7px;margin-bottom:6px}.kmz-maprow{display:grid;grid-template-columns:1fr;gap:6px;padding:9px;border:1px solid var(--bd);border-radius:3px;background:var(--p2)}.kmz-maprow.skip{opacity:.58}.kmz-maphead{display:none}.kmz-folder{display:flex;align-items:center;gap:7px}.kmz-folder-dot{width:9px;height:9px;border-radius:2px;flex-shrink:0}.kmz-folder-name{font-size:12.5px;font-weight:600;color:var(--tx)}.kmz-folder-n{margin-left:auto;font-family:Spline Sans Mono,monospace;font-size:10px;color:var(--mut);background:var(--p3);border:1px solid var(--bd);border-radius:10px;padding:1px 8px}.kmz-maprow .gis-combo{width:100%}.kmz-disabled{opacity:.5;pointer-events:none}.kmz-hint{display:flex;align-items:center;gap:6px;margin:2px 0 12px;font-family:Spline Sans Mono,monospace;font-size:10px;color:var(--mut)}.kmz-hint svg{color:var(--mut2);flex-shrink:0}.kmz-hint.warn{color:var(--gas, #f5a524)}.kmz-hint.warn svg{color:currentColor}.kmz-newproj{margin-top:9px;display:flex;flex-direction:column;gap:9px}.kmz-field{display:flex;flex-direction:column;gap:4px}.kmz-field>span{font-family:Spline Sans Mono,monospace;font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:var(--mut)}.kmz-field input{background:var(--p2);border:1px solid var(--bd2);border-radius:3px;color:var(--tx);font-family:inherit;font-size:12.5px;padding:8px 9px;outline:none}.kmz-field input:focus{border-color:var(--acc)}.kmz-existing{margin-top:9px;padding:9px 11px;font-family:Spline Sans Mono,monospace;font-size:10.5px;line-height:1.5;color:var(--mut);background:var(--p2);border:1px solid var(--bd);border-radius:3px}.kmz-existing b{color:var(--tx)}.kmz-conflict{display:flex;align-items:flex-start;gap:9px;margin-top:14px;padding:11px;border:1px solid color-mix(in srgb,var(--gas, #f5a524) 38%,var(--bd));border-left-width:3px;border-radius:3px;background:color-mix(in srgb,var(--gas, #f5a524) 8%,transparent);cursor:pointer}.kmz-conflict input{margin-top:2px;accent-color:var(--acc);width:14px;height:14px;flex-shrink:0}.kmz-conflict-ic{color:var(--gas, #f5a524);flex-shrink:0;margin-top:1px}.kmz-conflict-txt{font-size:11.5px;color:var(--tx);line-height:1.45}.kmz-conflict-sub{display:block;font-size:10px;color:var(--mut);margin-top:2px}.gis-ghost-geo{animation:kmzdash 1s linear infinite;opacity:.92;filter:drop-shadow(0 0 5px color-mix(in srgb,var(--acc) 50%,transparent))}@keyframes kmzdash{to{stroke-dashoffset:-16}}.gis-ghost-mk{position:absolute;transform:translate(-50%,-50%);pointer-events:none;z-index:6}.gis-ghost-glyph{display:grid;place-items:center;width:18px;height:18px;box-sizing:border-box;background:color-mix(in srgb,var(--p1) 80%,transparent);border:2px dashed var(--mc);border-radius:3px;font-family:Spline Sans Mono,monospace;font-size:7.5px;font-weight:700;color:var(--mc);line-height:1;animation:kmzpulse 1.4s ease-in-out infinite}@keyframes kmzpulse{0%,to{box-shadow:0 0 color-mix(in srgb,var(--mc) 40%,transparent)}50%{box-shadow:0 0 0 4px color-mix(in srgb,var(--mc) 0%,transparent)}}.gis-ghost-badge{position:absolute;z-index:30;left:50%;transform:translate(-50%);top:70px;display:inline-flex;align-items:center;gap:7px;padding:6px 13px;border-radius:20px;background:color-mix(in srgb,var(--acc) 92%,#000);color:var(--ink, #fff);border:1px solid color-mix(in srgb,var(--acc) 60%,#000);font-family:Spline Sans Mono,monospace;font-size:10.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;box-shadow:0 8px 22px -8px #00000080;pointer-events:none}.gis-ghost-badge .kmz-pulsedot{width:7px;height:7px;border-radius:50%;background:var(--ink, #fff);animation:kmzpulse2 1.1s ease-in-out infinite}@keyframes kmzpulse2{0%,to{opacity:1}50%{opacity:.3}}.gis-cull-hint{position:absolute;left:50%;bottom:14px;transform:translate(-50%);z-index:6;display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border-radius:var(--r);background:color-mix(in oklab,var(--p1) 92%,transparent);color:var(--tx);border:1px solid var(--bd2);font-size:11px;pointer-events:none;box-shadow:0 2px 10px #0000002e}.gis-marquee-capture{position:absolute;top:0;right:0;bottom:0;left:0;z-index:6;cursor:crosshair;touch-action:none}.gis-marquee-rect{position:absolute;box-sizing:border-box;border:1.5px dashed var(--acc);background:color-mix(in srgb,var(--acc) 12%,transparent);box-shadow:0 0 0 9999px #00000029;border-radius:2px;pointer-events:none}.app.theme-light .gis-marquee-rect{box-shadow:0 0 0 9999px #281e0f1a}.gis-marquee-rect:before,.gis-marquee-rect:after{content:"";position:absolute;width:9px;height:9px;border:1.6px solid var(--acc)}.gis-marquee-rect:before{left:-1.6px;top:-1.6px;border-right:0;border-bottom:0}.gis-marquee-rect:after{right:-1.6px;bottom:-1.6px;border-left:0;border-top:0}.gis-marquee-size{position:absolute;z-index:7;pointer-events:none;transform:translate(8px,8px);white-space:nowrap;padding:2px 6px;border-radius:3px;font-family:Spline Sans Mono,monospace;font-size:10px;font-weight:700;letter-spacing:.03em;color:var(--ink, #0a0c0e);background:var(--acc);box-shadow:0 2px 8px #00000052}.gis-takeoff{position:absolute;left:16px;bottom:44px;z-index:8;width:270px;max-height:calc(100% - 140px);display:flex;flex-direction:column;overflow:hidden;background:color-mix(in srgb,var(--p1) 92%,transparent);border:1px solid var(--bd);border-left:3px solid var(--acc);border-radius:var(--r);box-shadow:0 12px 34px #0000004d;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px)}.gis-takeoff-head{display:flex;align-items:center;gap:8px;padding:9px 11px;border-bottom:1px solid var(--bd)}.gis-takeoff-title{flex:1;display:inline-flex;align-items:center;gap:7px;min-width:0;font-family:Spline Sans Mono,monospace;font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--mut);white-space:nowrap}.gis-takeoff-title svg{color:var(--acc);flex-shrink:0}.gis-takeoff .ct{flex-shrink:0;font-family:Spline Sans Mono,monospace;font-size:9px;font-weight:700;letter-spacing:.04em;color:var(--acc);padding:2px 6px;border-radius:3px;background:color-mix(in srgb,var(--acc) 14%,transparent);border:1px solid color-mix(in srgb,var(--acc) 32%,transparent)}.gis-takeoff-x{flex-shrink:0;background:none;border:none;color:var(--mut);cursor:pointer;display:grid;place-items:center;padding:0}.gis-takeoff-x:hover{color:var(--tx)}.gis-takeoff-body{overflow-y:auto;padding:5px}.gis-takeoff-rows{display:flex;flex-direction:column;gap:1px}.gis-takeoff-row{display:grid;align-items:center;gap:1px 9px;padding:6px 8px;border-radius:3px;grid-template-columns:22px 1fr auto;grid-template-areas:"sw lab n"}.gis-takeoff-row.linear{grid-template-areas:"sw lab n" "sw lf lf"}.gis-takeoff-row:hover{background:var(--p2)}.gis-takeoff-sw{grid-area:sw;align-self:center;display:grid;place-items:center;width:22px;height:22px;box-sizing:border-box;background:color-mix(in srgb,var(--mc) 16%,transparent);border:1.5px solid var(--mc);border-radius:3px;font-family:Spline Sans Mono,monospace;font-size:8px;font-weight:700;color:var(--mc);line-height:1}.gis-takeoff-lab{grid-area:lab;min-width:0;font-size:12px;color:var(--tx);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gis-takeoff-n{grid-area:n;justify-self:end;font-family:Spline Sans Mono,monospace;font-size:11px;color:var(--tx);font-weight:700}.gis-takeoff-n i{font-style:normal;font-weight:400;color:var(--mut);font-size:9px}.gis-takeoff-lf{grid-area:lf;justify-self:end;font-family:Spline Sans Mono,monospace;font-size:10px;color:var(--acc)}.gis-takeoff-foot{border-top:1px solid var(--bd);padding:8px 10px;display:flex;flex-direction:column;gap:8px}.gis-takeoff-tot{display:flex;align-items:center;gap:6px;font-family:Spline Sans Mono,monospace;font-size:10.5px;color:var(--mut2)}.gis-takeoff-tot svg{color:var(--acc);flex-shrink:0}.gis-takeoff-acts{display:flex;gap:7px}.gis-takeoff-btn{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:7px 8px;font-size:11.5px;font-weight:600;cursor:pointer;border-radius:var(--r);background:transparent;color:var(--mut2);border:1px solid var(--bd2)}.gis-takeoff-btn:hover{color:var(--tx);background:var(--p2)}.gis-takeoff-btn:disabled{opacity:.5;cursor:default}.gis-takeoff-btn.primary{background:var(--acc);color:var(--ink, #0a0c0e);border-color:var(--acc)}.gis-takeoff-btn.primary:hover{background:var(--acc-deep, #ec5e0b);color:var(--ink, #0a0c0e)}.gis-takeoff-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;padding:26px 16px 22px;text-align:center}.gis-takeoff-state .msg{font-size:12px;color:var(--tx)}.gis-takeoff-state .sub{font-size:10.5px;color:var(--mut);max-width:200px}.gis-takeoff-state .gis-takeoff-btn{flex:0 0 auto;padding:5px 14px;margin-top:2px}.tk-ico{color:var(--mut2)}.tk-ico.err{color:var(--elec)}.tk-spinner{width:20px;height:20px;border:2px solid color-mix(in srgb,var(--acc) 25%,transparent);border-top-color:var(--acc);border-radius:50%;animation:tkspin .7s linear infinite}@keyframes tkspin{to{transform:rotate(360deg)}}.tk-scan{width:120px;height:3px;border-radius:2px;overflow:hidden;position:relative;background:color-mix(in srgb,var(--acc) 14%,transparent)}.tk-scan:after{content:"";position:absolute;top:0;bottom:0;left:0;width:40%;border-radius:2px;background:var(--acc);animation:tkscan 1.1s ease-in-out infinite}@keyframes tkscan{0%{transform:translate(-110%)}to{transform:translate(290%)}}.gis-projbar-del{flex-shrink:0;background:none;border:none;color:var(--mut);cursor:pointer;display:grid;place-items:center;padding:3px;border-radius:3px}.gis-projbar-del:hover{color:var(--elec);background:color-mix(in srgb,var(--elec) 12%,transparent)}.gis-projbar-confirm{position:absolute;top:calc(100% + 6px);left:0;width:288px;box-sizing:border-box;z-index:16;padding:11px;background:color-mix(in srgb,var(--p1) 96%,transparent);border:1px solid color-mix(in srgb,var(--elec) 45%,var(--bd));border-radius:var(--r);box-shadow:0 12px 30px #00000047;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.gis-wf-rollup-wrap{padding:5px 13px 12px;display:flex;align-items:center;gap:9px}.gis-wf-rollup{display:inline-flex;align-items:center;gap:6px;padding:4px 9px;border-radius:3px;white-space:nowrap;font-family:Spline Sans Mono,monospace;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;border:1px solid}.gis-wf-rollup .dot{width:7px;height:7px;border-radius:50%;background:currentColor}.gis-wf-rollup.r-unverified{color:var(--mut2);border-color:var(--bd2);background:color-mix(in srgb,var(--mut) 12%,transparent)}.gis-wf-rollup.r-progress{color:var(--gas);border-color:color-mix(in srgb,var(--gas) 48%,transparent);background:color-mix(in srgb,var(--gas) 14%,transparent)}.gis-wf-rollup.r-verified{color:var(--sewer);border-color:color-mix(in srgb,var(--sewer) 48%,transparent);background:color-mix(in srgb,var(--sewer) 14%,transparent)}.gis-wf-rollup.r-flagged{color:var(--elec);border-color:color-mix(in srgb,var(--elec) 48%,transparent);background:color-mix(in srgb,var(--elec) 14%,transparent)}.gis-wf-pct{font-family:Spline Sans Mono,monospace;font-size:9.5px;letter-spacing:.04em;color:var(--mut);margin-left:auto;white-space:nowrap}.gis-wf-empty{padding:10px 2px;font-size:11.5px;color:var(--mut)}.gis-wf{display:flex;flex-direction:column}.gis-wf-step{display:grid;grid-template-columns:26px 1fr;column-gap:11px;padding-bottom:14px}.gis-wf-step:last-child{padding-bottom:0}.gis-wf-rail{position:relative;display:flex;justify-content:center}.gis-wf-step:not(:last-child) .gis-wf-rail:before{content:"";position:absolute;top:25px;bottom:-14px;left:50%;width:2px;transform:translate(-50%);background:var(--bd2)}.gis-wf-step.seg-done .gis-wf-rail:before{background:var(--sewer)}.gis-wf-step.seg-flag .gis-wf-rail:before{background:color-mix(in srgb,var(--elec) 55%,var(--bd2))}.gis-wf-node{position:relative;z-index:1;width:25px;height:25px;display:grid;place-items:center;border:1.5px solid var(--bd2);border-radius:4px;background:var(--p1);font-family:Spline Sans Mono,monospace;font-size:10.5px;font-weight:700;color:var(--mut)}.gis-wf-node.insp{box-shadow:0 0 0 2px var(--p1),0 0 0 3.5px var(--bd2)}.gis-wf-node .kind-badge{position:absolute;right:-6px;bottom:-6px;width:13px;height:13px;display:grid;place-items:center;background:var(--p1);border:1px solid var(--bd2);border-radius:3px;color:var(--mut)}.gis-wf-node .kind-badge svg{width:8px;height:8px}.gis-wf-node.st-progress{border-color:var(--gas);color:var(--gas);background:color-mix(in srgb,var(--gas) 16%,var(--p1))}.gis-wf-node.st-done,.gis-wf-node.st-passed{border-color:var(--sewer);background:var(--sewer);color:#08130b}.gis-wf-node.st-flagged{border-color:var(--elec);background:var(--elec);color:#fff}.gis-wf-node.st-progress.insp{box-shadow:0 0 0 2px var(--p1),0 0 0 3.5px var(--gas)}.gis-wf-node.st-passed.insp{box-shadow:0 0 0 2px var(--p1),0 0 0 3.5px var(--sewer)}.gis-wf-node.st-flagged.insp{box-shadow:0 0 0 2px var(--p1),0 0 0 3.5px var(--elec)}.gis-wf-node.st-done .kind-badge,.gis-wf-node.st-passed .kind-badge{background:var(--sewer);border-color:var(--sewer);color:#08130b}.gis-wf-node.st-flagged .kind-badge{background:var(--elec);border-color:var(--elec);color:#fff}.gis-wf-node .n-num{line-height:1}.gis-wf-body{min-width:0;padding-top:1px}.gis-wf-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:3px}.gis-wf-kindtag{font-family:Spline Sans Mono,monospace;font-size:8px;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--mut)}.gis-wf-chip{flex-shrink:0;display:inline-flex;align-items:center;gap:5px;padding:2px 7px;border-radius:3px;font-family:Spline Sans Mono,monospace;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;border:1px solid}.gis-wf-chip svg{width:9px;height:9px}.gis-wf-chip.st-pending{color:var(--mut);border-color:var(--bd2);background:transparent}.gis-wf-chip.st-progress{color:var(--gas);border-color:color-mix(in srgb,var(--gas) 45%,transparent);background:color-mix(in srgb,var(--gas) 14%,transparent)}.gis-wf-chip.st-done,.gis-wf-chip.st-passed{color:var(--sewer);border-color:color-mix(in srgb,var(--sewer) 45%,transparent);background:color-mix(in srgb,var(--sewer) 14%,transparent)}.gis-wf-chip.st-flagged{color:var(--elec);border-color:color-mix(in srgb,var(--elec) 45%,transparent);background:color-mix(in srgb,var(--elec) 14%,transparent)}.gis-wf-chip.st-skipped{color:var(--mut);border-color:var(--bd2);background:transparent}.gis-wf-lab{font-size:12.5px;font-weight:600;color:var(--tx);line-height:1.3}.gis-wf-step.muted .gis-wf-lab{color:var(--mut2);font-weight:500}.gis-wf-step.skipped .gis-wf-lab{text-decoration:line-through;color:var(--mut)}.gis-wf-step.skipped .gis-wf-node{opacity:.55}.gis-wf-step.locked .gis-wf-lab,.gis-wf-step.locked .gis-wf-kindtag{color:var(--mut)}.gis-wf-step.locked .gis-wf-node{opacity:.6}.gis-wf-lockhint{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border:1px dashed var(--bd2);border-radius:3px;color:var(--mut);font-family:Spline Sans Mono,monospace;font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.gis-wf-lockhint svg{width:10px;height:10px;flex-shrink:0}.gis-wf-rmconfirm{display:inline-flex;align-items:center;gap:4px}.gis-wf-rmyes{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;cursor:pointer;font-family:Spline Sans Mono,monospace;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;border:1px solid var(--elec);border-radius:3px;background:color-mix(in srgb,var(--elec) 12%,transparent);color:var(--elec)}.gis-wf-rmyes:hover:not(:disabled){background:var(--elec);color:#fff}.gis-wf-rmyes svg{width:11px;height:11px}.gis-wf-note{font-size:11.5px;color:var(--tx);line-height:1.45;margin-top:6px;background:var(--p2);border:1px solid var(--bd);border-left:2px solid var(--bd2);border-radius:3px;padding:6px 8px;white-space:pre-wrap}.gis-wf-step.seg-flag .gis-wf-note{border-left-color:var(--elec)}.gis-wf-note-edit{margin-top:6px}.gis-wf-note-edit textarea{width:100%;box-sizing:border-box;resize:vertical;font-family:inherit;font-size:11.5px;padding:6px 8px;border-radius:3px;border:1px solid var(--bd2);background:var(--p1);color:var(--tx)}.gis-wf-note-acts{display:flex;gap:6px;margin-top:4px}.gis-wf-note-acts button{display:inline-flex;align-items:center;gap:4px;font-size:10px;padding:3px 9px;border-radius:3px;border:1px solid var(--acc);background:var(--acc);color:var(--ink, #0a0c0e);font-weight:700;cursor:pointer}.gis-wf-note-acts button.ghost{background:transparent;color:var(--mut2);border-color:var(--bd2)}.gis-wf-photoreq{display:flex;align-items:center;gap:6px;margin-top:7px;padding:6px 8px;cursor:pointer;border:1px dashed color-mix(in srgb,var(--acc) 55%,var(--bd2));border-radius:3px;background:color-mix(in srgb,var(--acc) 7%,transparent);color:var(--acc);font-family:Spline Sans Mono,monospace;font-size:9.5px;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.gis-wf-photoreq:hover{background:color-mix(in srgb,var(--acc) 13%,transparent)}.gis-wf-photoreq svg{width:13px;height:13px;flex-shrink:0}.gis-wf-photos{display:flex;gap:5px;margin-top:7px;flex-wrap:wrap}.gis-wf-thumb{position:relative;width:48px;height:48px;border:1px solid var(--bd);border-radius:3px;overflow:hidden;background:repeating-linear-gradient(45deg,var(--p3),var(--p3) 5px,var(--p2) 5px,var(--p2) 10px)}.gis-wf-thumb img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.gis-wf-thumb span{position:absolute;left:0;right:0;bottom:0;z-index:1;padding:1px 3px;font-family:Spline Sans Mono,monospace;font-size:6.5px;letter-spacing:.02em;color:#fff;background:linear-gradient(0deg,rgba(0,0,0,.72),transparent);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gis-wf-thumb-x{position:absolute;top:2px;right:2px;z-index:2;display:grid;place-items:center;width:14px;height:14px;border-radius:3px;background:#0009;color:#fff;border:none;cursor:pointer;padding:0;opacity:0;transition:opacity .12s}.gis-wf-thumb:hover .gis-wf-thumb-x{opacity:1}.gis-wf-thumb-x:hover{background:var(--elec)}.gis-wf-thumb-add{width:48px;height:48px;display:grid;place-items:center;cursor:pointer;border:1px dashed var(--bd2);border-radius:3px;color:var(--mut);background:transparent}.gis-wf-thumb-add:hover{border-color:var(--acc);color:var(--acc)}.gis-wf-thumb-add svg{width:15px;height:15px}.gis-wf-assign{display:flex;align-items:center;gap:7px;margin-top:7px;padding:5px 7px;background:var(--p2);border:1px solid var(--bd);border-left:2px solid var(--acc);border-radius:3px}.gis-wf-ava{flex-shrink:0;width:19px;height:19px;display:grid;place-items:center;border-radius:3px;background:color-mix(in srgb,var(--acc) 18%,var(--p1));color:var(--acc);font-family:Spline Sans Mono,monospace;font-size:8px;font-weight:700;letter-spacing:.02em}.gis-wf-assign-name{flex:1;min-width:0;font-size:11.5px;color:var(--tx);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gis-wf-due{flex-shrink:0;display:inline-flex;align-items:center;gap:4px;font-family:Spline Sans Mono,monospace;font-size:9px;font-weight:600;letter-spacing:.03em;color:var(--mut2)}.gis-wf-due svg{width:10px;height:10px}.gis-wf-due.overdue{color:var(--elec)}.gis-wf-stamp{font-family:Spline Sans Mono,monospace;font-size:9px;letter-spacing:.02em;color:var(--mut);margin-top:6px}.gis-wf-acts{display:flex;align-items:center;gap:6px;margin-top:9px}.gis-wf-adv{display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:5px 9px;cursor:pointer;font-family:Spline Sans Mono,monospace;font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;border:1px solid var(--bd2);border-radius:3px;background:transparent;color:var(--mut2)}.gis-wf-adv svg{width:11px;height:11px}.gis-wf-adv:hover:not(:disabled){color:var(--tx);border-color:var(--mut)}.gis-wf-adv:disabled{opacity:.5;cursor:default}.gis-wf-adv.go{background:var(--acc);border-color:var(--acc);color:var(--ink, #0a0c0e)}.gis-wf-adv.go:hover:not(:disabled){background:var(--acc-deep, #ec5e0b);border-color:var(--acc-deep, #ec5e0b);color:var(--ink, #0a0c0e)}.gis-wf-adv.pass:hover:not(:disabled){color:var(--sewer);border-color:var(--sewer);background:color-mix(in srgb,var(--sewer) 12%,transparent)}.gis-wf-adv.flag:hover:not(:disabled){color:var(--elec);border-color:var(--elec);background:color-mix(in srgb,var(--elec) 12%,transparent)}.gis-wf-util{display:flex;align-items:center;gap:4px;margin-left:auto}.gis-wf-icon{display:grid;place-items:center;width:26px;height:26px;cursor:pointer;border:1px solid var(--bd2);border-radius:3px;background:transparent;color:var(--mut)}.gis-wf-icon:hover:not(:disabled){color:var(--acc);border-color:var(--acc)}.gis-wf-icon:disabled{opacity:.5;cursor:default}.gis-wf-icon svg{width:13px;height:13px}.gis-task{display:grid;grid-template-columns:26px 1fr auto;align-items:center;column-gap:10px;padding:9px 11px;background:var(--p1);border:1px solid var(--bd);border-left:2px solid var(--acc);border-radius:var(--r);cursor:pointer}.gis-task+.gis-task{margin-top:8px}.gis-task:hover{border-color:var(--bd2);background:color-mix(in srgb,var(--acc) 5%,var(--p1))}.gis-task-node{grid-column:1;width:26px;height:26px;display:grid;place-items:center;border-radius:4px;border:1.5px solid var(--mc);background:color-mix(in srgb,var(--mc) 16%,var(--p1));color:var(--mc);font-family:Spline Sans Mono,monospace;font-size:8px;font-weight:700}.gis-task>div{grid-column:2;min-width:0}.gis-task-feat{font-family:Spline Sans Mono,monospace;font-size:9px;text-transform:uppercase;letter-spacing:.06em;color:var(--mut)}.gis-task-step{font-size:12.5px;font-weight:600;color:var(--tx);line-height:1.25;margin-top:1px}.gis-task-due{grid-column:3;justify-self:end;display:inline-flex;align-items:center;gap:4px;white-space:nowrap;font-family:Spline Sans Mono,monospace;font-size:9.5px;font-weight:600;letter-spacing:.03em;color:var(--mut2)}.gis-task-due svg{width:11px;height:11px}.gis-task-due.overdue{color:var(--elec)}.app.theme-light .kmz-modal{box-shadow:0 20px 50px -20px #0003}.app.theme-light .kmz-drop{background:var(--p2);border-color:var(--bd2)}.app.theme-light .kmz-drawer{box-shadow:-8px 0 30px -18px #0000002e}.app.theme-light .kmz-mini-bg{fill:color-mix(in srgb,var(--p3) 70%,#e8f2ec)}.app.theme-light .kmz-btn.primary,.app.theme-light .gis-ghost-badge{color:#fff}.app.theme-light .gis-ghost-badge .kmz-pulsedot{background:#fff}.grant-cell{display:inline-flex;gap:6px;flex-wrap:wrap}.grant-tg{display:inline-flex;align-items:center;gap:6px;cursor:pointer;border:1px solid var(--bd2);border-radius:14px;padding:3px 6px 3px 9px;font-size:10.5px;font-weight:600;font-family:Spline Sans Mono,monospace;color:var(--mut);background:transparent;transition:.12s}.grant-tg:hover{border-color:var(--mut2)}.grant-tg .sw{width:24px;height:13px;border-radius:8px;background:var(--bd2);position:relative;flex-shrink:0;transition:background .12s}.grant-tg .sw:after{content:"";position:absolute;width:9px;height:9px;border-radius:50%;background:#fff;top:2px;left:2px;transition:left .12s}.grant-tg.on{color:#1d7a45;border-color:#66c08a;background:#1f9d571f}.grant-tg.on .sw{background:#1f9d57}.grant-tg.on .sw:after{left:13px}.grant-tg.locked{opacity:.6;cursor:not-allowed}.grant-tg:disabled{cursor:not-allowed}.grant-hint{font-size:11px;color:var(--mut);margin:2px 0 0}.app.theme-light .grant-tg.on{color:#137a40;border-color:#4fb37e;background:#1f9d5724}.app.theme-light .grant-tg.on .sw{background:#1f9d57}.app.theme-light .grant-tg .sw:after{background:#fff}:root{--p-ridge: #2e9be2;--p-flwind: #22a866;--p-dfw: #d99a16;--p-standalone: #8a93a0;--s-active: #1f9d57;--s-active-bg: #e7f5ec;--s-submit: #2e7fd6;--s-submit-bg: #e9f1fb;--s-hold: #b07d12;--s-hold-bg: #fbf2dd;--s-disp: #c8402f;--s-disp-bg: #fbe9e6;--s-done: #5d6873;--s-done-bg: #eeebe4}.pl-modes{display:inline-flex;border:1px solid var(--bd2);border-radius:7px;overflow:hidden}.pl-mode{font-size:8.5px;font-weight:600;font-family:Archivo,sans-serif;color:var(--mut);padding:4px 9px;display:flex;align-items:center;gap:4px;background:var(--p2);cursor:pointer;border:none}.pl-mode.on{background:#1d242c;color:#fff}.app.theme-light .pl-mode{background:#fff}.pl-top{display:flex;align-items:center;gap:8px;margin-bottom:10px}.pl-h1{font-weight:700;font-size:20px;color:var(--tx)}.pl-sub{font-size:11px;color:var(--mut);font-family:Spline Sans Mono,monospace}.pl-new{margin-left:auto}.pl-scopebar{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--mut);background:var(--p2);border:1px solid var(--bd);border-radius:7px;padding:6px 10px;margin-bottom:10px}.pl-scopebar .dotx{width:7px;height:7px;border-radius:50%;background:#1f9d57;flex-shrink:0}.app.theme-light .pl-scopebar{background:#fff}.pl-list{display:flex;flex-direction:column;gap:8px}.pl-card{display:grid;grid-template-columns:4px 1fr;background:var(--p1);border:1px solid var(--bd);border-radius:8px;overflow:hidden;cursor:pointer;transition:box-shadow .12s}.pl-card:hover{box-shadow:0 2px 12px #0000001f}.app.theme-light .pl-card{background:#fff}.pl-rail{background:var(--pc, #999)}.pl-body{padding:10px 12px;min-width:0}.pl-r1{display:flex;align-items:center;gap:8px}.pl-chip{width:9px;height:9px;border-radius:3px;background:var(--pc, #999);flex-shrink:0}.pl-name{font-weight:700;font-size:14px;color:var(--tx);line-height:1.2}.pl-id{font-family:Spline Sans Mono,monospace;font-size:9px;color:var(--mut)}.pl-status{margin-left:auto}.pl-r2{display:flex;align-items:center;gap:8px;margin-top:5px;flex-wrap:wrap}.pl-meta{font-size:11px;color:var(--mut)}.pl-meta b{color:var(--tx2);font-weight:600}.pl-rc{font-family:Spline Sans Mono,monospace;font-size:9px;color:#7a4a1a;background:#f4ece1;border-radius:4px;padding:1px 6px}.app.theme-light .pl-rc{color:#7a4a1a;background:#f4ece1}.pl-r3{display:flex;align-items:center;gap:14px;margin-top:9px;padding-top:8px;border-top:1px solid var(--bd);flex-wrap:wrap}.pl-stat{display:flex;flex-direction:column;gap:1px}.pl-stat .v{font-family:Saira Condensed,sans-serif;font-weight:700;font-size:15px;line-height:1;color:var(--tx)}.pl-stat .v.foot{color:var(--water, #3b82f6)}.pl-stat .v.money{color:var(--sewer, #22c55e)}.pl-stat .l{font-size:9px;text-transform:uppercase;letter-spacing:.07em;color:var(--mut);font-family:Archivo,sans-serif}.pl-stat.redact .v{color:#b9b1a2;letter-spacing:1px;background:repeating-linear-gradient(90deg,#efeada,#efeada 3px,transparent 3px,transparent 6px);padding:0 5px;border-radius:3px}.pl-assignees{margin-left:auto;display:flex;align-items:center;gap:6px;flex-shrink:0}.pl-avstack{display:flex}.pl-av{width:20px;height:20px;border-radius:50%;border:1.5px solid var(--p1);color:#fff;display:grid;place-items:center;font-size:8px;font-weight:700;font-family:Saira Condensed,sans-serif;margin-left:-6px}.pl-av:first-child{margin-left:0}.app.theme-light .pl-av{border-color:#fff}.pl-asgn-l{font-size:9px;text-transform:uppercase;letter-spacing:.07em;color:var(--mut);font-family:Archivo,sans-serif}.pl-pill{display:inline-flex;align-items:center;gap:4px;font-size:9px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;font-family:Archivo,sans-serif;padding:2px 8px;border-radius:11px;white-space:nowrap}.pl-pill:before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor}.pl-pill.active{background:var(--s-active-bg);color:var(--s-active)}.pl-pill.submit{background:var(--s-submit-bg);color:var(--s-submit)}.pl-pill.hold{background:var(--s-hold-bg);color:var(--s-hold)}.pl-pill.disp{background:var(--s-disp-bg);color:var(--s-disp)}.pl-pill.done{background:var(--s-done-bg);color:var(--s-done)}.pl-empty{border:1px dashed var(--bd2);border-radius:8px;background:var(--p2);padding:22px 16px;text-align:center}.pl-empty .ei{width:28px;height:28px;border-radius:7px;background:var(--p3);display:inline-grid;place-items:center;margin-bottom:8px}.pl-empty .ei span{width:11px;height:11px;border:1.6px solid var(--mut);border-radius:3px;transform:rotate(45deg);display:block}.pl-empty h6{font-weight:700;font-size:14px;color:var(--tx2);margin:0 0 4px}.pl-empty p{font-size:12px;color:var(--mut);margin:0 auto;max-width:36ch;line-height:1.5}.app.theme-light .pl-empty{background:#fff}.pl-sec-lbl{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--mut);font-weight:700;font-family:Archivo,sans-serif;padding:14px 0 6px}.dd-bar{display:flex;align-items:center;gap:6px;padding:8px 0;font-size:12px;color:var(--mut);margin-bottom:14px}.dd-bar .bk{color:var(--acc);font-weight:600;cursor:pointer}.dd-bar .bk:hover{text-decoration:underline}.dd-bar .sep{color:var(--bd2)}.dd-head{padding:12px 14px;border:1px solid var(--bd);border-left:4px solid var(--pc, #999);border-radius:8px;margin-bottom:10px;position:relative;overflow:hidden;background:color-mix(in srgb,var(--pc, #999) 8%,var(--p1))}.app.theme-light .dd-head{background:color-mix(in srgb,var(--pc, #999) 8%,#fff)}.dd-h-r1{display:flex;align-items:center;gap:8px}.dd-chip{width:11px;height:11px;border-radius:3px;background:var(--pc, #999);flex-shrink:0}.dd-title{font-weight:700;font-size:18px;color:var(--tx);line-height:1}.dd-h-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:7px;align-items:center}.dd-h-meta .m{font-size:12px;color:var(--mut)}.dd-h-meta .m b{color:var(--tx2);font-weight:600}.dd-tabs{display:flex;gap:0;background:var(--p2);border:1px solid var(--bd);border-radius:8px;overflow:hidden;margin-bottom:12px}.app.theme-light .dd-tabs{background:#fff}.dd-tab{font-size:11px;font-weight:600;font-family:Archivo,sans-serif;color:var(--mut);padding:9px 11px;border-bottom:2px solid transparent;display:flex;align-items:center;gap:4px;white-space:nowrap;cursor:pointer;border:none;background:transparent;transition:color .1s}.dd-tab:hover{color:var(--tx)}.dd-tab .c{font-family:Spline Sans Mono,monospace;font-size:9px;color:var(--mut);background:var(--p3);border-radius:8px;padding:0 5px}.dd-tab.on{color:var(--tx);border-bottom:2px solid var(--acc)}.dd-tab.on .c{background:#e8651e21;color:#b3500f}.dd-roll{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:14px}.dd-rk{background:var(--p2);border:1px solid var(--bd);border-radius:7px;padding:8px 10px}.app.theme-light .dd-rk{background:#fff}.dd-rk .v{font-family:Saira Condensed,sans-serif;font-weight:700;font-size:18px;line-height:1;color:var(--tx)}.dd-rk .v.foot{color:var(--water, #3b82f6)}.dd-rk .v.money{color:var(--sewer, #22c55e)}.dd-rk .v.redact{color:#b9b1a2;font-size:14px;letter-spacing:1px;background:repeating-linear-gradient(90deg,#efeada,#efeada 3px,transparent 3px,transparent 6px);padding:0 5px;border-radius:3px;display:inline-block}.dd-rk .l{font-size:9px;text-transform:uppercase;letter-spacing:.07em;color:var(--mut);font-family:Archivo,sans-serif;margin-top:3px}.dd-sec{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--mut);font-weight:700;font-family:Archivo,sans-serif;padding:2px 0 8px}.dd-wos{display:flex;flex-direction:column;gap:7px}.dd-wo{display:grid;grid-template-columns:4px 1fr auto;background:var(--p2);border:1px solid var(--bd);border-radius:7px;overflow:hidden;align-items:stretch;cursor:pointer;transition:box-shadow .1s}.dd-wo:hover{box-shadow:0 2px 8px #0000001a}.app.theme-light .dd-wo{background:#fff}.dd-wo .wrail{background:var(--pc, #999);opacity:.55}.dd-wo .wbody{padding:8px 11px;min-width:0}.dd-wo .wid{font-family:Spline Sans Mono,monospace;font-size:10px;color:var(--mut)}.dd-wo .wname{font-size:12px;font-weight:600;color:var(--tx2);font-family:Archivo,sans-serif;line-height:1.25}.dd-wo .wsub{font-size:11px;color:var(--mut);font-family:Archivo,sans-serif;margin-top:2px}.dd-wo .wright{display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:5px;padding:8px 11px}.dd-wo .wfoot{font-family:Spline Sans Mono,monospace;font-size:11px;color:var(--water, #3b82f6);font-weight:600}@media (max-width: 760px){.dd-roll{grid-template-columns:repeat(2,1fr)}}.fb-bar{display:flex;align-items:center;gap:8px;margin-bottom:12px}.projbar{display:flex;align-items:center;gap:8px;background:var(--p2);border:1px solid var(--bd2);border-radius:9px;padding:5px 8px 5px 10px;min-width:0;cursor:pointer}.app.theme-light .projbar{background:#fff}.projbar .ptree{width:14px;height:14px;display:grid;place-items:center;color:var(--mut);flex-shrink:0}.projbar .ptree span{width:10px;height:10px;border:1.5px solid currentColor;border-radius:3px;display:block}.projbar .psel{display:flex;align-items:center;gap:7px;min-width:0;flex:1}.projbar .pdot{width:8px;height:8px;border-radius:3px;background:var(--pc, #999);flex-shrink:0}.projbar .ptxt{font-size:12px;font-weight:600;color:var(--tx);font-family:Archivo,sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.projbar .ptxt .pc2{font-size:10px;color:var(--mut);font-weight:400}.projbar .pcaret{margin-left:auto;color:var(--mut);font-size:10px;flex-shrink:0}.projbar .pcount{font-family:Spline Sans Mono,monospace;font-size:11px;font-weight:700;color:var(--pc, #999);margin-left:auto;flex-shrink:0}.fb-clear{font-size:11px;color:var(--mut);font-family:Archivo,sans-serif;white-space:nowrap}.projbar-menu{position:absolute;z-index:30;background:var(--p1);border:1px solid var(--bd2);border-radius:9px;overflow:hidden;box-shadow:0 6px 20px #281e0f2e;min-width:260px}.app.theme-light .projbar-menu{background:#fff}.pm-search{display:flex;align-items:center;gap:6px;padding:8px 10px;border-bottom:1px solid var(--bd);font-size:11px;color:var(--mut);font-family:Archivo,sans-serif}.pm-search input{flex:1;background:transparent;border:none;outline:none;color:var(--tx);font-size:11px}.pm-item{display:flex;align-items:center;gap:8px;padding:8px 11px;border-bottom:1px solid var(--bd);font-family:Archivo,sans-serif;cursor:pointer}.pm-item:last-child{border-bottom:none}.pm-item:hover{background:var(--p3)}.pm-item .pdot{width:8px;height:8px;border-radius:3px;background:var(--pc, #999);flex-shrink:0}.pm-item .nm{font-size:11px;font-weight:600;color:var(--tx)}.pm-item .cu{font-size:10px;color:var(--mut)}.pm-item .rt{margin-left:auto;font-family:Spline Sans Mono,monospace;font-size:10px;color:var(--mut);flex-shrink:0}.pm-item.on{background:var(--p3)}.pm-item.on .rt{color:var(--acc)}.pm-item.allrow .pdot{background:repeating-linear-gradient(45deg,#cdc6b8,#cdc6b8 2px,transparent 2px,transparent 4px)}.fb-listhead{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--mut);font-weight:700;font-family:Archivo,sans-serif;margin:2px 0 7px}.fb-wo{display:flex;align-items:center;gap:9px;padding:8px 11px;background:var(--p2);border:1px solid var(--bd);border-radius:7px;font-family:Archivo,sans-serif;cursor:pointer}.app.theme-light .fb-wo{background:#fff}.fb-wo+.fb-wo{margin-top:6px}.fb-wo:hover{box-shadow:0 1px 6px #00000017}.fb-wo .pdot{width:7px;height:7px;border-radius:2px;background:var(--pc, #999);flex-shrink:0}.fb-wo .wid{font-family:Spline Sans Mono,monospace;font-size:10px;color:var(--mut);min-width:60px}.fb-wo .nm{font-size:11px;color:var(--tx2);flex:1;min-width:0}.fb-wo .ft{font-family:Spline Sans Mono,monospace;font-size:11px;color:var(--water, #3b82f6)}.pa-head{display:flex;align-items:center;gap:8px;padding:11px 14px;border-bottom:1px solid var(--bd);background:var(--p2);border-radius:8px 8px 0 0}.app.theme-light .pa-head{background:#faf8f3}.pa-head .pdot{width:10px;height:10px;border-radius:3px;background:var(--pc, #999);flex-shrink:0}.pa-head .ttl{font-weight:700;font-size:14px;color:var(--tx)}.pa-head .ttl small{display:block;font-family:Spline Sans Mono,monospace;font-size:10px;color:var(--mut);font-weight:400;letter-spacing:0}.pa-head .who-can{margin-left:auto;font-size:11px;color:var(--mut);display:flex;align-items:center;gap:5px}.pa-search{display:flex;align-items:center;gap:7px;margin:10px 14px 5px;padding:7px 10px;border:1px solid var(--bd2);border-radius:7px}.pa-search input{flex:1;background:transparent;border:none;outline:none;color:var(--tx);font-size:12px}.pa-grouplbl{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--mut);font-weight:700;font-family:Archivo,sans-serif;padding:10px 14px 4px}.pa-row{display:grid;grid-template-columns:1.7fr 1fr auto;align-items:center;gap:10px;padding:9px 14px;border-bottom:1px solid var(--bd)}.pa-row:last-child{border-bottom:none}.pa-row.assigned{background:color-mix(in srgb,var(--s-active-bg) 40%,transparent)}.app.theme-light .pa-row.assigned{background:#fbfdfb}.pa-who{display:flex;align-items:center;gap:9px;min-width:0}.pa-av{width:26px;height:26px;border-radius:7px;color:#fff;display:grid;place-items:center;font-size:10px;font-weight:700;font-family:Saira Condensed,sans-serif;flex-shrink:0}.pa-nm{font-size:12px;font-weight:600;color:var(--tx);font-family:Archivo,sans-serif;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pa-ttl{font-size:10px;color:var(--mut);font-family:Spline Sans Mono,monospace}.pa-rolewrap{display:flex}.role-badge2{display:inline-flex;align-items:center;font-size:10px;font-weight:600;color:#fff;padding:3px 9px;border-radius:20px;font-family:Archivo,sans-serif;white-space:nowrap}.pa-tg{display:inline-flex;align-items:center;gap:6px;font-size:10px;font-family:Spline Sans Mono,monospace;font-weight:600;border:1px solid var(--bd2);border-radius:14px;padding:4px 6px 4px 10px;color:var(--mut);white-space:nowrap;cursor:pointer;background:transparent;transition:all .12s}.pa-sw{width:22px;height:12px;border-radius:7px;background:var(--bd2);position:relative;flex-shrink:0;transition:background .12s}.pa-sw:after{content:"";position:absolute;width:9px;height:9px;border-radius:50%;background:#fff;top:1.5px;left:1.5px;transition:left .12s}.pa-tg.on{color:#1d7a45;border-color:#bfe6cd;background:#eafaf0}.pa-tg.on .pa-sw{background:#1f9d57}.pa-tg.on .pa-sw:after{left:11px}.pa-tg:disabled{opacity:.6;cursor:not-allowed}.pa-allchip{display:inline-flex;align-items:center;gap:5px;font-size:10px;font-weight:600;font-family:Archivo,sans-serif;color:#7a4a1a;background:#f4ece1;border:1px solid #e6d8c4;border-radius:14px;padding:3px 10px;white-space:nowrap}.pa-allchip:before{content:"";width:6px;height:6px;border-radius:50%;background:#b3500f}.pa-allchip.assigned-chip{color:#1d7a45;background:#eafaf0;border-color:#bfe6cd}.pa-allchip.assigned-chip:before{background:#1f9d57}.pa-allchip.unassigned-chip{color:var(--mut);background:var(--p2);border-color:var(--bd)}.pa-allchip.unassigned-chip:before{background:var(--mut)}.pa-foot{padding:10px 14px;border-top:1px solid var(--bd);font-size:12px;color:var(--mut);font-family:Archivo,sans-serif;display:flex;align-items:center;gap:6px;background:var(--p2);border-radius:0 0 8px 8px}.app.theme-light .pa-foot{background:#faf8f3}.pa-foot .cnt{font-weight:700;color:var(--tx2)}.pa-ro-banner{display:flex;align-items:center;gap:8px;padding:9px 14px;background:color-mix(in srgb,#2e7fd6 10%,transparent);border-bottom:1px solid color-mix(in srgb,#2e7fd6 20%,transparent);font-size:12px;color:#1f5d8a;font-family:Archivo,sans-serif}.pa-mychips{display:flex;flex-wrap:wrap;gap:7px;padding:12px 14px}.pa-mychip{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--bd);border-radius:8px;padding:7px 11px;background:var(--p2);cursor:pointer}.app.theme-light .pa-mychip{background:#faf8f3}.pa-mychip:hover{box-shadow:0 1px 5px #00000014}.pa-mychip .pdot{width:9px;height:9px;border-radius:3px;background:var(--pc, #999)}.pa-mychip .nm{font-size:12px;font-weight:600;color:var(--tx);font-family:Archivo,sans-serif}.pa-mychip .ct{font-size:10px;color:var(--mut);font-family:Spline Sans Mono,monospace}.pa-panel{background:var(--p1);border:1px solid var(--bd);border-radius:8px;overflow:hidden}.app.theme-light .pa-panel{background:#fff}@media (max-width: 760px){.pa-row{grid-template-columns:1fr auto}.pa-rolewrap{display:none}}.app.theme-light .pa-tg.on{color:#1d7a45;border-color:#bfe6cd;background:#eafaf0}.app.theme-light .pa-tg.on .pa-sw{background:#1f9d57}.app.theme-light .pa-tg.on .pa-sw:after{background:#fff}.app.theme-light .pl-mode.on{background:#1d242c;color:#fff}.gis-flist{position:absolute;top:64px;right:14px;z-index:12;width:320px;display:flex;flex-direction:column;max-height:calc(100% - 78px);background:color-mix(in srgb,var(--p1) 94%,transparent);border:1px solid var(--bd);border-radius:var(--r);box-shadow:0 10px 30px #0000004d;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);overflow:hidden}.gis-flist-tabs{display:flex;border-bottom:1px solid var(--bd);background:color-mix(in srgb,var(--p2) 55%,transparent)}.gis-flist-tab{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:10px 8px;background:transparent;border:none;cursor:pointer;position:relative;font-family:Spline Sans Mono,monospace;font-size:10.5px;text-transform:uppercase;letter-spacing:.1em;color:var(--mut)}.gis-flist-tab svg{width:13px;height:13px}.gis-flist-tab.on{color:var(--tx)}.gis-flist-tab.on:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--acc)}.gis-flist-tab:not(.on):hover{color:var(--mut2);background:color-mix(in srgb,var(--acc) 5%,transparent)}.gis-flist-head{display:flex;align-items:center;gap:8px;padding:11px 12px 4px}.gis-flist-title{font-family:Saira Condensed,sans-serif;font-weight:700;font-size:17px;letter-spacing:.01em;color:var(--tx)}.gis-flist-selall{margin-left:auto;display:inline-flex;align-items:center;gap:5px;cursor:pointer;background:transparent;border:none;padding:2px;color:var(--acc);white-space:nowrap;font-family:Spline Sans Mono,monospace;font-size:9.5px;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.gis-flist-selall svg{width:12px;height:12px}.gis-flist-selall:hover{color:var(--acc-deep, #ec5e0b)}.gis-flist-count{padding:0 12px 9px;font-family:Spline Sans Mono,monospace;font-size:9.5px;color:var(--mut);letter-spacing:.03em}.gis-flist-count b{color:var(--tx);font-weight:700}.gis-flist-search{margin:0 12px 9px;display:flex;align-items:center;gap:8px;height:34px;padding:0 10px;background:var(--p2);border:1px solid var(--bd2);border-radius:3px;color:var(--mut)}.gis-flist-search svg{width:14px;height:14px;flex-shrink:0}.gis-flist-search input{flex:1;min-width:0;border:none;background:transparent;outline:none;font-family:inherit;font-size:12.5px;color:var(--tx)}.gis-flist-search input::placeholder{color:var(--mut)}.gis-flist-search.has-val{border-color:color-mix(in srgb,var(--acc) 55%,var(--bd2))}.gis-flist-search-x{flex-shrink:0;display:grid;place-items:center;width:18px;height:18px;background:transparent;border:none;color:var(--mut);cursor:pointer;border-radius:3px}.gis-flist-search-x:hover{color:var(--acc)}.gis-flist-filters{padding:0 12px 10px;display:flex;flex-direction:column;gap:7px;border-bottom:1px solid var(--bd)}.gis-flist-chiprow{display:flex;flex-wrap:wrap;gap:5px;align-items:center}.gis-flist-chiplabel{width:100%;font-family:Spline Sans Mono,monospace;font-size:8px;text-transform:uppercase;letter-spacing:.12em;color:var(--mut);margin-bottom:1px}.fl-chip{display:inline-flex;align-items:center;gap:5px;padding:3px 8px;cursor:pointer;border:1px solid var(--bd2);border-radius:3px;background:var(--p2);color:var(--mut2);font-family:Spline Sans Mono,monospace;font-size:9.5px;letter-spacing:.03em;white-space:nowrap}.fl-chip .dot{width:8px;height:8px;border-radius:2px;flex-shrink:0}.fl-chip.r .dot{border-radius:50%}.fl-chip:hover{color:var(--tx);border-color:var(--mut)}.fl-chip.on{color:var(--tx);border-color:var(--acc);background:color-mix(in srgb,var(--acc) 13%,transparent)}.fl-chip.status.on{border-color:color-mix(in srgb,var(--sc) 60%,var(--bd2));background:color-mix(in srgb,var(--sc) 15%,transparent);color:var(--sc-tx, var(--tx))}.gis-flist-body{flex:1;min-height:0;overflow-y:auto}.gis-flist-body::-webkit-scrollbar{width:8px}.gis-flist-body::-webkit-scrollbar-thumb{background:var(--bd2);border-radius:4px;border:2px solid var(--p1)}.fl-row{position:relative;display:grid;grid-template-columns:26px 1fr auto;align-items:center;gap:10px;padding:8px 12px;border-bottom:1px solid var(--bd);cursor:pointer;text-align:left;width:100%;background:transparent;border-left:none;border-right:none;border-top:none;color:var(--tx)}.fl-row:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--sc, transparent)}.fl-row:hover{background:color-mix(in srgb,var(--acc) 6%,transparent)}.fl-row.on{background:color-mix(in srgb,var(--acc) 13%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--acc) 42%,transparent)}.fl-row.on:before{background:var(--acc);width:3px}.fl-glyph{display:grid;place-items:center;width:26px;height:26px;box-sizing:border-box;background:color-mix(in srgb,var(--mc) 16%,var(--p1));border:2px solid var(--mc);border-radius:3px;font-family:Spline Sans Mono,monospace;font-size:8px;font-weight:700;color:var(--mc);line-height:1}.fl-glyph.r{border-radius:50%}.fl-lab{min-width:0}.fl-name{display:block;font-size:12.5px;color:var(--tx);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.25}.fl-id{display:block;font-family:Spline Sans Mono,monospace;font-size:9.5px;color:var(--mut);letter-spacing:.03em;margin-top:2px}.fl-metric{justify-self:end;font-family:Spline Sans Mono,monospace;font-size:11px;font-weight:700;color:var(--tx);white-space:nowrap}.fl-metric .u{font-size:8.5px;font-weight:600;color:var(--mut);margin-left:2px}.fl-statuschip{justify-self:end;display:inline-flex;align-items:center;gap:5px;white-space:nowrap;font-family:Spline Sans Mono,monospace;font-size:8.5px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;padding:3px 7px;border-radius:3px;color:var(--sc);border:1px solid color-mix(in srgb,var(--sc) 45%,transparent);background:color-mix(in srgb,var(--sc) 12%,transparent)}.fl-row.on .fl-metric{color:var(--acc)}.gis-flist-foot{display:flex;align-items:center;gap:8px;padding:9px 12px;border-top:1px solid var(--bd);background:color-mix(in srgb,var(--p2) 60%,transparent)}.gis-flist-foot-ct{font-family:Spline Sans Mono,monospace;font-size:10px;font-weight:700;color:var(--acc);letter-spacing:.03em}.gis-flist-foot-acts{margin-left:auto;display:flex;gap:6px}.fl-fbtn{display:inline-flex;align-items:center;gap:5px;height:28px;padding:0 10px;cursor:pointer;border:1px solid var(--bd2);border-radius:3px;background:transparent;color:var(--mut2);font-family:inherit;font-size:11px;font-weight:600}.fl-fbtn svg{width:12px;height:12px}.fl-fbtn:hover{color:var(--tx);border-color:var(--mut)}.fl-fbtn.primary{background:var(--acc);border-color:var(--acc);color:var(--ink, #0a0c0e)}.fl-fbtn.primary:hover{background:var(--acc-deep, #ec5e0b);border-color:var(--acc-deep, #ec5e0b)}.app.theme-light .fl-fbtn.primary{color:#fff}.fl-skel-row{display:grid;grid-template-columns:26px 1fr auto;align-items:center;gap:10px;padding:9px 12px;border-bottom:1px solid var(--bd)}.fl-sk{background:linear-gradient(90deg,var(--p2) 25%,var(--p3) 50%,var(--p2) 75%);background-size:200% 100%;border-radius:3px;animation:flsk 1.2s ease-in-out infinite}.fl-sk.g{width:26px;height:26px}.fl-sk.l1{height:10px;width:70%}.fl-sk.l2{height:8px;width:42%;margin-top:5px}.fl-sk.m{height:11px;width:44px}@keyframes flsk{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion: reduce){.fl-sk{animation:none}}.fl-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;padding:38px 22px;text-align:center}.fl-empty-ic{display:grid;place-items:center;width:40px;height:40px;border-radius:4px;background:color-mix(in srgb,var(--acc) 11%,transparent);color:var(--acc)}.fl-empty-ic svg{width:20px;height:20px}.fl-empty-msg{font-size:12.5px;font-weight:600;color:var(--tx)}.fl-empty-sub{font-size:10.5px;color:var(--mut);line-height:1.45;max-width:210px}.fl-empty .fl-fbtn{margin-top:3px}.fl-cap-note{text-align:center;padding:9px 12px;font-family:Spline Sans Mono,monospace;font-size:9.5px;color:var(--mut);border-top:1px solid var(--bd)}@media (prefers-reduced-motion: no-preference){@keyframes flpulse{0%{box-shadow:0 0 color-mix(in srgb,var(--acc, #ff7a1a) 60%,transparent)}70%{box-shadow:0 0 0 8px transparent}to{box-shadow:0 0 0 0 transparent}}.gis-mk.gis-mk-pulse{animation:flpulse 1.7s ease-out}}.gis-cb-by{padding:10px 12px 11px;border-bottom:1px solid var(--bd)}.gis-cb-by-lab{font-family:Spline Sans Mono,monospace;font-size:8.5px;text-transform:uppercase;letter-spacing:.14em;color:var(--mut);margin-bottom:7px}.cb-seg{display:flex;border:1px solid var(--bd2);border-radius:3px;overflow:hidden;background:var(--p2)}.cb-seg button{flex:1;background:transparent;border:none;border-right:1px solid var(--bd2);cursor:pointer;padding:7px 4px;color:var(--mut);font-family:Spline Sans Mono,monospace;font-size:10px;text-transform:uppercase;letter-spacing:.06em;line-height:1}.cb-seg button:last-child{border-right:none}.cb-seg button.on{background:var(--acc);color:var(--ink,#0a0c0e);font-weight:700}.cb-seg button:not(.on):hover{color:var(--tx);background:color-mix(in srgb,var(--acc) 7%,transparent)}.gis-legend{padding:7px 6px 8px;display:flex;flex-direction:column;gap:1px;border-bottom:1px solid var(--bd)}.gis-leg-cap{font-family:Spline Sans Mono,monospace;font-size:8.5px;text-transform:uppercase;letter-spacing:.12em;color:var(--mut);padding:3px 8px 5px}.gis-leg-row{display:flex;align-items:center;gap:10px;padding:6px 8px;border-radius:3px}.gis-leg-row:hover{background:color-mix(in srgb,var(--acc) 6%,transparent)}.gis-leg-sw{flex-shrink:0;width:18px;display:grid;place-items:center}.gis-leg-sw.line{height:0;border-top:3px solid var(--c);border-radius:2px}.gis-leg-sw.dot{width:14px;height:14px;border:2px solid var(--c);background:color-mix(in srgb,var(--c) 18%,var(--p1));border-radius:2px}.gis-leg-sw.dot.r{border-radius:50%}.gis-leg-sw.node{width:13px;height:13px;background:var(--c);border-radius:2px}.gis-leg-lab{flex:1;font-size:12px;color:var(--tx)}.gis-leg-n{font-family:Spline Sans Mono,monospace;font-size:10px;color:var(--mut);white-space:nowrap}.gis-leg-flow{position:relative}.gis-leg-flow:before{content:"";position:absolute;left:17px;top:16px;bottom:16px;width:2px;background:linear-gradient(180deg,#8b96a3,#f5c518 50%,#3ddc84)}.gis-leg-flow .gis-leg-row{position:relative}.gis-leg-sep{display:flex;align-items:center;gap:8px;padding:8px 8px 3px;margin-top:4px;border-top:1px solid var(--bd)}.gis-leg-sep span{font-family:Spline Sans Mono,monospace;font-size:8px;text-transform:uppercase;letter-spacing:.14em;color:var(--mut)}.gis-leg-sep svg{width:13px;height:13px;flex-shrink:0;color:var(--mut)}.gis-projbar-codes{flex-shrink:0;background:none;border:none;color:var(--mut);cursor:pointer;display:grid;place-items:center;padding:3px;border-radius:3px}.gis-projbar-codes:hover{color:var(--acc);background:color-mix(in srgb,var(--acc) 12%,transparent)}.cp-modal{background:var(--card,#0f1216);border:1px solid var(--bd,#232a32);border-radius:var(--r,4px);width:min(1100px,96vw);max-height:92vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 60px #00000080}.cp-modal-head{display:flex;align-items:flex-start;gap:16px;padding:18px 22px 14px;border-bottom:1px solid var(--bd,#232a32);background:var(--p2,#14181d);flex-wrap:wrap}.cp-modal-title-wrap{flex:1;min-width:260px;position:relative;padding-left:14px}.cp-modal-title-wrap:before{content:"";position:absolute;left:0;top:4px;width:3px;height:22px;background:var(--acc,#ff7a1a)}.cp-modal-kicker{font-family:Spline Sans Mono,monospace;font-size:9px;text-transform:uppercase;letter-spacing:.14em;color:var(--mut,#8893a0);margin-bottom:4px}.cp-modal-title{font-family:Saira Condensed,sans-serif;font-weight:700;font-size:24px;color:var(--tx,#e9edf1);letter-spacing:.01em;line-height:1.1}.cp-modal-sub{font-size:12px;color:var(--mut,#8893a0);margin-top:5px;line-height:1.5}.cp-modal-sub b{color:var(--mut2,#aab4bf);font-weight:600}.cp-modal-acts{display:flex;gap:9px;align-items:center;flex-shrink:0}.cp-modal-close{background:none;border:none;color:var(--mut,#8893a0);cursor:pointer;display:grid;place-items:center;padding:5px;border-radius:3px}.cp-modal-close:hover{color:var(--tx,#e9edf1);background:var(--p3,#1b2027)}.cp-import-panel{padding:10px 22px;background:color-mix(in srgb,var(--acc,#ff7a1a) 6%,transparent);border-bottom:1px solid var(--bd,#232a32);display:flex;flex-direction:column;gap:8px}.cp-import-row{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap}.cp-import-field{display:flex;flex-direction:column;gap:4px}.cp-import-field label{font-family:Spline Sans Mono,monospace;font-size:8px;text-transform:uppercase;letter-spacing:.08em;color:var(--mut,#8893a0)}.cp-import-msg{font-size:12px;color:var(--mut2,#aab4bf)}.cp-toolbar{display:flex;align-items:center;gap:10px;padding:10px 22px;flex-wrap:wrap;border-bottom:1px solid var(--bd,#232a32);background:var(--p2,#14181d)}.cp-chips{display:flex;gap:5px;flex-wrap:wrap}.cp-chip{padding:5px 11px;cursor:pointer;border:1px solid var(--bd2,#333c46);border-radius:3px;background:var(--p2,#14181d);color:var(--mut2,#aab4bf);font-family:Spline Sans Mono,monospace;font-size:10px;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}.cp-chip:hover{color:var(--tx,#e9edf1);border-color:var(--mut,#8893a0)}.cp-chip.on{color:var(--ink,#0a0c0e);background:var(--acc,#ff7a1a);border-color:var(--acc,#ff7a1a);font-weight:700}.cp-tool-spacer{flex:1}.cp-search{display:flex;align-items:center;gap:8px;height:34px;padding:0 10px;min-width:180px;background:var(--p1,#0f1216);border:1px solid var(--bd2,#333c46);border-radius:3px;color:var(--mut,#8893a0)}.cp-search svg{width:14px;height:14px;flex-shrink:0}.cp-search input{border:none;background:transparent;outline:none;font-family:inherit;font-size:12.5px;color:var(--tx,#e9edf1);width:100%}.cp-btn{display:inline-flex;align-items:center;gap:7px;height:34px;padding:0 13px;border-radius:3px;cursor:pointer;font-family:inherit;font-size:12.5px;font-weight:600;border:1px solid var(--bd2,#333c46);background:var(--p2,#14181d);color:var(--tx,#e9edf1);white-space:nowrap}.cp-btn svg{width:14px;height:14px}.cp-btn:hover{border-color:var(--mut,#8893a0)}.cp-btn:disabled{opacity:.38;cursor:not-allowed;pointer-events:none}.cp-btn.primary{background:var(--acc,#ff7a1a);border-color:var(--acc,#ff7a1a);color:var(--ink,#0a0c0e);font-weight:700}.cp-btn.primary:hover{background:var(--acc-deep,#ec5e0b);border-color:var(--acc-deep,#ec5e0b)}.cp-btn.ghost{background:transparent}.cp-gate{display:flex;align-items:flex-start;gap:9px;margin:10px 22px 0;padding:10px 13px;border:1px solid var(--bd,#232a32);border-left:2px solid var(--gas,#f5c518);border-radius:3px;background:color-mix(in srgb,var(--gas,#f5c518) 7%,transparent)}.cp-gate svg{width:15px;height:15px;flex-shrink:0;color:var(--gas,#f5c518);margin-top:1px}.cp-gate-t{font-size:11.5px;color:var(--tx,#e9edf1);line-height:1.45}.cp-gate-t b{font-weight:700}.cp-gate-t .s{color:var(--mut,#8893a0)}.cp-tablewrap{flex:1;overflow-y:auto;min-height:0;background:var(--card,#0f1216)}.cp-thead{display:grid;grid-template-columns:116px 1fr 130px 70px 138px 70px;align-items:center;gap:12px;padding:10px 16px;background:var(--p2,#14181d);border-bottom:1px solid var(--bd2,#333c46);font-family:Spline Sans Mono,monospace;font-size:9.5px;text-transform:uppercase;letter-spacing:.1em;color:var(--mut,#8893a0);position:sticky;top:0;z-index:2}.cp-thead .num,.cp-row .num{text-align:right}.cp-thead .ctr,.cp-row .ctr{text-align:center;justify-self:center}.cp-thead .lock{display:inline-flex;align-items:center;gap:4px}.cp-thead .lock svg{width:10px;height:10px}.cp-grouphead{display:flex;align-items:center;gap:10px;padding:9px 16px;background:color-mix(in srgb,var(--p2,#14181d) 55%,transparent);border-bottom:1px solid var(--bd,#232a32);border-top:1px solid var(--bd,#232a32)}.cp-grouphead .gdot{width:9px;height:9px;border-radius:2px;flex-shrink:0}.cp-grouphead .gn{font-family:Spline Sans Mono,monospace;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--tx,#e9edf1)}.cp-grouphead .gc{font-family:Spline Sans Mono,monospace;font-size:9.5px;color:var(--mut,#8893a0);white-space:nowrap}.cp-grouphead .addcat{margin-left:auto;display:inline-flex;align-items:center;gap:5px;background:transparent;border:none;cursor:pointer;color:var(--mut2,#aab4bf);font-family:Spline Sans Mono,monospace;font-size:9px;text-transform:uppercase;letter-spacing:.05em}.cp-grouphead .addcat svg{width:12px;height:12px}.cp-grouphead .addcat:hover{color:var(--acc,#ff7a1a)}.cp-row{display:grid;grid-template-columns:116px 1fr 130px 70px 138px 70px;align-items:center;gap:12px;padding:11px 16px;border-bottom:1px solid var(--bd,#232a32);font-size:13px;color:var(--tx,#e9edf1)}.cp-row:last-child{border-bottom:none}.cp-row:hover{background:var(--row-hover,rgba(255,255,255,.028))}.cp-row .code{font-family:Spline Sans Mono,monospace;font-weight:700;font-size:12px;color:var(--acc,#ff7a1a)}.cp-row .desc{color:var(--tx,#e9edf1);min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cp-row .price{font-family:Spline Sans Mono,monospace;font-weight:700;color:var(--tx,#e9edf1);text-align:right}.cp-row .price .cur{color:var(--mut,#8893a0);font-weight:500;margin-right:1px}.cp-row .unit{font-family:Spline Sans Mono,monospace;font-size:11px;color:var(--mut,#8893a0)}.cp-gatecell{display:inline-flex;align-items:center;gap:5px;justify-content:flex-end;color:var(--mut,#8893a0);font-family:Spline Sans Mono,monospace;font-size:11px}.cp-gatecell svg{width:11px;height:11px;color:var(--gas,#f5c518)}.cp-enable{display:inline-flex;align-items:center;gap:8px;cursor:pointer;background:none;border:none;padding:0}.cp-box{width:19px;height:19px;flex-shrink:0;display:grid;place-items:center;border:1.5px solid var(--bd2,#333c46);border-radius:3px;color:#fff;background:transparent}.cp-box svg{width:12px;height:12px;opacity:0}.cp-enable.on .cp-box{background:var(--acc,#ff7a1a);border-color:var(--acc,#ff7a1a)}.cp-enable.on .cp-box svg{opacity:1}.cp-enable .lab{font-family:Spline Sans Mono,monospace;font-size:9.5px;letter-spacing:.04em;color:var(--mut,#8893a0);white-space:nowrap}.cp-enable.on .lab{color:var(--acc,#ff7a1a)}.cp-rowacts{display:flex;gap:6px;justify-content:flex-end;opacity:0;transition:opacity .12s}.cp-row:hover .cp-rowacts{opacity:1}.cp-ico{width:28px;height:28px;display:grid;place-items:center;border:1px solid var(--bd2,#333c46);border-radius:3px;background:var(--p2,#14181d);color:var(--mut,#8893a0);cursor:pointer}.cp-ico svg{width:13px;height:13px}.cp-ico:hover{color:var(--tx,#e9edf1);border-color:var(--mut,#8893a0)}.cp-ico.danger:hover{color:var(--elec,#e23b2e);border-color:color-mix(in srgb,var(--elec,#e23b2e) 50%,transparent)}.cp-addrow{display:grid;grid-template-columns:116px 1fr 110px 64px 128px 86px auto;align-items:start;gap:12px;padding:12px 16px;background:color-mix(in srgb,var(--acc,#ff7a1a) 7%,transparent);border-bottom:1px solid var(--bd,#232a32);border-top:2px solid var(--acc,#ff7a1a)}.cp-addrow .ff{display:flex;flex-direction:column;gap:4px;min-width:0}.cp-addrow .ff>label{font-family:Spline Sans Mono,monospace;font-size:8px;text-transform:uppercase;letter-spacing:.08em;color:var(--mut,#8893a0)}.cp-in,.cp-selin{height:32px;padding:0 8px;background:var(--p1,#0f1216);border:1px solid var(--bd2,#333c46);border-radius:3px;color:var(--tx,#e9edf1);font-family:inherit;font-size:12.5px;outline:none;width:100%;min-width:0}.cp-in.code{font-family:Spline Sans Mono,monospace;font-weight:700;color:var(--acc,#ff7a1a)}.cp-in:focus,.cp-selin:focus{border-color:var(--acc,#ff7a1a)}.cp-selin{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238893a0' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;padding-right:24px;cursor:pointer}.cp-addrow-acts{display:flex;gap:6px;justify-content:flex-end;align-self:center}.cp-addrow .save{display:grid;place-items:center;width:28px;height:28px;border-radius:3px;border:1px solid var(--acc,#ff7a1a);background:var(--acc,#ff7a1a);color:var(--ink,#0a0c0e);cursor:pointer}.cp-addrow .cancel{display:grid;place-items:center;width:28px;height:28px;border-radius:3px;border:1px solid var(--bd2,#333c46);background:transparent;color:var(--mut,#8893a0);cursor:pointer}.cp-empty{display:flex;flex-direction:column;align-items:center;gap:9px;padding:48px 22px;text-align:center}.cp-empty-ic{display:grid;place-items:center;width:46px;height:46px;border-radius:4px;background:color-mix(in srgb,var(--acc,#ff7a1a) 11%,transparent);color:var(--acc,#ff7a1a)}.cp-empty-ic svg{width:22px;height:22px}.cp-empty-msg{font-family:Saira Condensed,sans-serif;font-weight:600;font-size:18px;color:var(--tx,#e9edf1)}.cp-empty-sub{font-size:12.5px;color:var(--mut,#8893a0);max-width:360px;line-height:1.5}.cp-empty-acts{display:flex;gap:9px;margin-top:6px}.app.theme-light .cp-modal{background:var(--card,#faf8f3);border-color:var(--bd,#ddd6c8)}.app.theme-light .cp-modal-head,.app.theme-light .cp-toolbar,.app.theme-light .cp-thead{background:var(--p2,#f2eee5);border-color:var(--bd,#ddd6c8)}.app.theme-light .cp-chip.on,.app.theme-light .cp-btn.primary,.app.theme-light .cp-addrow .save{color:#fff}.app.theme-light .cp-in,.app.theme-light .cp-selin{background:var(--p1,#ffffff);border-color:var(--bd2,#c6bfae)}.app.theme-light .cp-tablewrap{background:var(--card,#faf8f3)}.app.theme-light .cp-row:hover{background:var(--row-hover,rgba(40,34,20,.04))}.qled{width:min(600px,100%);display:flex;flex-direction:column;max-height:90vh;background:var(--p1,#0f1216);border:1px solid var(--bd2,#333c46);border-top:3px solid var(--acc,#ff7a1a);border-radius:var(--r,4px);box-shadow:0 24px 60px #00000080;overflow:hidden}.qled-head{display:flex;align-items:flex-start;gap:12px;padding:14px 15px 13px;border-bottom:1px solid var(--bd,#232a32)}.qled-head-l{flex:1;min-width:0}.qled-kind{display:inline-flex;align-items:center;gap:7px;font-family:Spline Sans Mono,monospace;font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:var(--mut2,#aab4bf)}.qled-kind .dot{width:9px;height:9px;border-radius:2px;flex-shrink:0}.qled-title{font-family:Saira Condensed,sans-serif;font-weight:700;font-size:20px;color:var(--tx,#e9edf1);margin-top:5px;letter-spacing:.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.qled-id{font-family:Spline Sans Mono,monospace;font-size:10.5px;color:var(--mut,#8893a0);letter-spacing:.03em;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.qled-x{flex-shrink:0;display:grid;place-items:center;width:28px;height:28px;background:transparent;border:1px solid var(--bd2,#333c46);border-radius:3px;color:var(--mut,#8893a0);cursor:pointer}.qled-x:hover{color:var(--tx,#e9edf1);border-color:var(--mut,#8893a0)}.qled-body{padding:15px;overflow-y:auto;display:flex;flex-direction:column;gap:15px}.qled-body::-webkit-scrollbar{width:9px}.qled-body::-webkit-scrollbar-thumb{background:var(--bd2,#333c46);border-radius:4px;border:2px solid var(--p1,#0f1216)}.qled-sec{font-family:Spline Sans Mono,monospace;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--mut2,#aab4bf);display:flex;align-items:center;gap:8px}.qled-sec svg{width:13px;height:13px;color:var(--acc,#ff7a1a)}.qled-sec .ct{margin-left:auto;color:var(--mut,#8893a0);font-weight:500;letter-spacing:.04em}.qled-form{border:1px solid var(--bd,#232a32);border-radius:var(--r,4px);background:var(--p2,#14181d);overflow:hidden}.qled-form-head{padding:10px 13px;border-bottom:1px solid var(--bd,#232a32);background:color-mix(in srgb,var(--p3,#1b2027) 55%,transparent)}.qled-form-body{padding:13px;display:flex;flex-direction:column;gap:11px}.qled-grid{display:grid;gap:11px}.qled-grid.r1{grid-template-columns:130px 1fr 1.25fr}.qled-grid.r2{grid-template-columns:1.2fr 1fr}.qled-field{display:flex;flex-direction:column;gap:5px;min-width:0}.qled-field>label{font-family:Spline Sans Mono,monospace;font-size:8.5px;text-transform:uppercase;letter-spacing:.1em;color:var(--mut,#8893a0)}.qled-ctl,.qled-sel{height:34px;padding:0 10px;background:var(--p1,#0f1216);border:1px solid var(--bd2,#333c46);border-radius:3px;color:var(--tx,#e9edf1);font-family:inherit;font-size:13px;outline:none;width:100%;min-width:0}.qled-sel{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238893a0' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 9px center;padding-right:28px;cursor:pointer}.qled-ctl:focus,.qled-sel:focus{border-color:var(--acc,#ff7a1a)}.qled-ctl::placeholder{color:var(--mut,#8893a0)}.qled-sel.cascade{color:var(--tx,#e9edf1)}.qled-qtywrap{display:flex}.qled-qty{flex:1;height:34px;padding:0 10px;background:var(--p1,#0f1216);border:1px solid var(--bd2,#333c46);border-right:none;border-radius:3px 0 0 3px;color:var(--tx,#e9edf1);font-family:Spline Sans Mono,monospace;font-weight:600;font-size:13px;outline:none;min-width:0}.qled-qty:focus{border-color:var(--acc,#ff7a1a)}.qled-unit{display:grid;place-items:center;padding:0 11px;font-family:Spline Sans Mono,monospace;font-size:10px;font-weight:700;letter-spacing:.06em;color:var(--mut2,#aab4bf);background:var(--p3,#1b2027);border:1px solid var(--bd2,#333c46);border-left:none;border-radius:0 3px 3px 0;white-space:nowrap}.qled-plotted{display:inline-flex;align-items:center;gap:6px;font-family:Spline Sans Mono,monospace;font-size:10px;color:var(--acc,#ff7a1a);letter-spacing:.02em;white-space:nowrap}.qled-plotted svg{width:12px;height:12px}.qled-switch{background:none;border:none;padding:0;color:var(--mut2,#aab4bf);font-family:Spline Sans Mono,monospace;font-size:9.5px;letter-spacing:.03em;cursor:pointer;text-decoration:underline;text-underline-offset:2px;display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.qled-switch svg{width:11px;height:11px}.qled-switch:hover{color:var(--acc,#ff7a1a)}.qled-qtyfoot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:1px}.qled-form-foot{display:flex;align-items:center;justify-content:flex-end;gap:9px;padding-top:2px}.qled-addbtn{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 15px;background:var(--acc,#ff7a1a);border:1px solid var(--acc,#ff7a1a);border-radius:3px;color:var(--ink,#0a0c0e);font-family:inherit;font-size:13px;font-weight:700;cursor:pointer;white-space:nowrap}.qled-addbtn:disabled{opacity:.45;cursor:not-allowed}.qled-addbtn:not(:disabled):hover{background:var(--acc-deep,#ec5e0b);border-color:var(--acc-deep,#ec5e0b)}.qled-tablewrap{border:1px solid var(--bd,#232a32);border-radius:var(--r,4px);overflow:hidden}.qled-thead,.qled-row{display:grid;grid-template-columns:70px 1fr 1.5fr 60px 42px 96px 26px;align-items:center;gap:10px;padding:9px 12px}.qled-thead{background:var(--p2,#14181d);border-bottom:1px solid var(--bd2,#333c46);font-family:Spline Sans Mono,monospace;font-size:9px;text-transform:uppercase;letter-spacing:.1em;color:var(--mut,#8893a0)}.qled-thead .num,.qled-row .num{text-align:right}.qled-thead .lock{display:inline-flex;align-items:center;gap:4px;justify-content:flex-end}.qled-thead .lock svg{width:10px;height:10px}.qled-row{border-bottom:1px solid var(--bd,#232a32);font-size:12.5px;color:var(--tx,#e9edf1)}.qled-row:last-of-type{border-bottom:none}.qled-row:hover{background:color-mix(in srgb,var(--acc,#ff7a1a) 5%,transparent)}.qled-row .date{font-family:Spline Sans Mono,monospace;font-size:11px;color:var(--mut2,#aab4bf)}.qled-row .team{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.qled-row .code b{font-family:Spline Sans Mono,monospace;font-weight:700;color:var(--acc,#ff7a1a);margin-right:4px;font-size:11px}.qled-row .qty,.qled-row .unit,.qled-row .total{font-family:Spline Sans Mono,monospace}.qled-row .qty{font-weight:600}.qled-row .unit{color:var(--mut,#8893a0);font-size:11px}.qled-row .total{font-weight:700;color:var(--sewer,#3ddc84)}.qled-row .meta-m{display:none}.qled-rm{display:grid;place-items:center;width:22px;height:22px;background:transparent;border:none;color:var(--mut,#8893a0);cursor:pointer;border-radius:3px;opacity:0}.qled-row:hover .qled-rm{opacity:1}.qled-rm:hover{color:var(--elec,#e23b2e);background:color-mix(in srgb,var(--elec,#e23b2e) 12%,transparent)}.qled-rm svg{width:14px;height:14px}.qled-gatecell{display:inline-flex;align-items:center;gap:5px;justify-content:flex-end;color:var(--mut,#8893a0);font-family:Spline Sans Mono,monospace;font-size:11px}.qled-gatecell svg{width:11px;height:11px;color:var(--gas,#f5c518)}.qled-total{display:grid;grid-template-columns:70px 1fr 1.5fr 60px 42px 96px 26px;align-items:center;gap:10px;padding:11px 12px;background:var(--p2,#14181d);border-top:1px solid var(--bd2,#333c46)}.qled-total .lab{grid-column:1/6;font-family:Spline Sans Mono,monospace;font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--mut2,#aab4bf)}.qled-total .sum{text-align:right;font-family:Spline Sans Mono,monospace;font-size:15px;font-weight:700;color:var(--sewer,#3ddc84)}.qled-total .sum.gated{color:var(--mut,#8893a0);font-size:11px;display:inline-flex;align-items:center;gap:5px;justify-content:flex-end}.qled-total .sum.gated svg{width:12px;height:12px;color:var(--gas,#f5c518)}.qled-empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:30px 18px;text-align:center}.qled-empty-ic{display:grid;place-items:center;width:38px;height:38px;border-radius:4px;background:color-mix(in srgb,var(--acc,#ff7a1a) 11%,transparent);color:var(--acc,#ff7a1a)}.qled-empty-ic svg{width:19px;height:19px}.qled-empty-msg{font-size:12.5px;font-weight:600;color:var(--tx,#e9edf1)}.qled-empty-sub{font-size:10.5px;color:var(--mut,#8893a0);max-width:280px;line-height:1.45}.qled-gate{display:flex;align-items:flex-start;gap:9px;padding:10px 12px;border:1px solid var(--bd,#232a32);border-left:2px solid var(--gas,#f5c518);border-radius:3px;background:color-mix(in srgb,var(--gas,#f5c518) 7%,transparent)}.qled-gate svg{width:15px;height:15px;flex-shrink:0;color:var(--gas,#f5c518);margin-top:1px}.qled-gate-t{font-size:11.5px;color:var(--tx,#e9edf1);line-height:1.45}.qled-gate-t b{font-weight:700}.qled-gate-t .s{color:var(--mut,#8893a0)}.qled-foot{display:flex;align-items:center;gap:12px;padding:12px 15px;border-top:1px solid var(--bd,#232a32);background:color-mix(in srgb,var(--p2,#14181d) 55%,transparent)}.qled-foot-tot{font-family:Spline Sans Mono,monospace;font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--mut,#8893a0);display:flex;align-items:center;gap:4px}.qled-foot-tot b{font-size:15px;color:var(--sewer,#3ddc84);font-weight:700;letter-spacing:0;margin-left:7px}.qled-foot-tot b.gated{color:var(--mut,#8893a0);font-size:11px;display:inline-flex;align-items:center;gap:4px}.qled-foot-acts{margin-left:auto;display:flex;gap:9px}.qled-btn{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 15px;border-radius:3px;cursor:pointer;font-family:inherit;font-size:13px;font-weight:600;border:1px solid var(--bd2,#333c46);background:transparent;color:var(--mut2,#aab4bf);white-space:nowrap}.qled-btn:hover{color:var(--tx,#e9edf1);border-color:var(--mut,#8893a0)}.gis-bill-report-qty{display:inline-flex;align-items:center;gap:6px;margin-top:8px;padding:5px 10px;height:28px;background:color-mix(in srgb,var(--acc,#ff7a1a) 12%,transparent);border:1px solid color-mix(in srgb,var(--acc,#ff7a1a) 40%,var(--bd,#232a32));border-radius:var(--r,4px);color:var(--acc,#ff7a1a);font-family:Spline Sans Mono,monospace;font-size:9.5px;font-weight:600;text-transform:uppercase;letter-spacing:.09em;cursor:pointer}.gis-bill-report-qty svg{width:12px;height:12px}.gis-bill-report-qty:hover{background:color-mix(in srgb,var(--acc,#ff7a1a) 20%,transparent);border-color:var(--acc,#ff7a1a)}.app.theme-light .qled{background:#fff;border-color:#cabfa9}.app.theme-light .qled-head{border-color:#ddd6c8}.app.theme-light .qled-title{color:#2b2620}.app.theme-light .qled-id{color:#8a7d68}.app.theme-light .qled-x{border-color:#cabfa9;color:#8a7d68}.app.theme-light .qled-body::-webkit-scrollbar-thumb{background:#cabfa9;border-color:#fff}.app.theme-light .qled-form{background:#f4f0e7;border-color:#ddd6c8}.app.theme-light .qled-form-head{background:#ece8de;border-color:#ddd6c8}.app.theme-light .qled-sec{color:#5f5645}.app.theme-light .qled-ctl,.app.theme-light .qled-sel,.app.theme-light .qled-qty{background:#fff;border-color:#cabfa9;color:#2b2620}.app.theme-light .qled-unit{background:#ece8de;border-color:#cabfa9;color:#5f5645}.app.theme-light .qled-addbtn{color:#fff}.app.theme-light .qled-thead{background:#f4f0e7;border-color:#cabfa9}.app.theme-light .qled-row{border-color:#ddd6c8;color:#2b2620}.app.theme-light .qled-row .total{color:#1f8a4d}.app.theme-light .qled-total{background:#f4f0e7;border-color:#cabfa9}.app.theme-light .qled-total .sum,.app.theme-light .qled-foot-tot b{color:#1f8a4d}.app.theme-light .qled-gate{border-color:#ddd6c8}.app.theme-light .qled-gate-t{color:#2b2620}.app.theme-light .qled-foot,.app.theme-light .qled-tablewrap{border-color:#ddd6c8}:root{--r: 4px;--r-card: 4px;--acc: #ff7a1a;--row-hover: rgba(255,255,255,.028);--card: var(--p1)}.app.theme-light{--bg:#eeeae1;--p1:#faf8f3;--p2:#f2eee5;--p3:#e8e2d5;--bd:#ddd6c8;--bd2:#c6bfae;--tx:#191c1f;--mut:#6c6557;--mut2:#423e36;--card:#ffffff;--row-hover:rgba(30,26,16,.045);background:#eeeae1}.panel,.stat,.herocard,.vpcard,.banner,.kpi-card,.rlcard,.crewcard,.bill-card,.modal,.login-card,.reqlist,.reqdetail,.rec,.rep-table,.btn,.pill,.qitem,.reqrow,.mini,.field input,.field select,.field textarea,.search,.ji,.admin-select,input,select,textarea,.role-tag,.role-badge,.own-pill,.sub-job-card,.sub-kpi,.sub-row,.sub-tab,.vp-stat,.nav-scrim,.hamburger,.nav-close{border-radius:var(--r)!important}.cbar-track,.cbar-fill,.bar,.bar span{border-radius:var(--r)}.vbar-fill,.pv-bar{border-radius:var(--r) var(--r) 0 0}.panel,.stat,.cx-tablewrap,.cx-empty,.rec,.kpi-card,.rlcard,.crewcard,.bill-card{background:var(--card)}.cx-sectionhead,.panel-head,.app.theme-light .panel-head,.app.theme-light .cx-sectionhead{background:var(--p2)}.stat,.app.theme-light .panel,.app.theme-light .stat,.app.theme-light .kpi-card{box-shadow:none}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(168px,1fr))}.stat-label{font-family:Spline Sans Mono,monospace;font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.12em;color:var(--mut)}.stat-val{font-size:31px}.kpi-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(168px,1fr));gap:13px}.kpi-card{padding:16px 18px;text-align:left;display:flex;flex-direction:column-reverse;align-items:flex-start;gap:0}.kpi-card .kpi-n{font-family:Saira Condensed,sans-serif;font-weight:700;font-size:31px;line-height:1;margin-top:11px}.kpi-card .kpi-l{font-family:Spline Sans Mono,monospace;font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.12em;color:var(--mut)}.pill{font-family:Spline Sans Mono,monospace;gap:5px}.app.theme-light .pill{filter:none}.segb.on,.pl-mode.on{background:var(--acc)!important;color:var(--ink,#0a0c0e)!important}.gis-basemap-toggle button{border-radius:var(--r)}table.data{font-size:13.5px}table.data th{font-family:Spline Sans Mono,monospace;text-align:left;font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.12em;color:var(--mut);padding:11px 16px;border-bottom:1px solid var(--bd2);background:transparent}table.data td{padding:12px 16px;border-bottom:1px solid var(--bd);color:var(--tx)}table.data tbody tr{transition:background .12s}table.data tbody tr:hover{background:var(--row-hover)}table.data.fleet-maint th,table.data.fleet-trips th{color:var(--mut2)}.app.theme-light table.data th,.app.theme-light .data thead th{color:var(--mut);border-bottom-color:var(--bd2);background:transparent}.app.theme-light table.data td,.app.theme-light .data tbody tr{border-bottom-color:var(--bd)}.app.theme-light table.data tbody tr:hover,.app.theme-light .data tbody tr:hover{background:var(--row-hover)}.search{background:var(--p2);border:1px solid var(--bd2);color:var(--tx)}.search:focus{border-color:var(--acc);box-shadow:0 0 0 3px #ff7a1a2e;outline:none}.app.theme-light .search{background:var(--p2);border:1px solid var(--bd2);color:var(--tx)}.app.theme-light .search:focus{border-color:var(--acc);box-shadow:0 0 0 3px #ff7a1a2e}.grid-sub.head,.grid-dr.head,.grid-rc.head,.grid-eq.head{font-family:Spline Sans Mono,monospace;font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.12em;color:var(--mut);border-bottom:1px solid var(--bd2)}.grid-sub.row:hover,.grid-dr.row:hover,.grid-rc.row:hover,.grid-eq.row:hover,.app.theme-light .grid-sub.row:hover,.app.theme-light .grid-dr.row:hover,.app.theme-light .grid-eq.row:hover,.app.theme-light .grid-rc.row:hover{background:var(--row-hover)}.rep-tr.rep-th{background:var(--p2)!important}.rep-tr.rep-th>*{font-family:Spline Sans Mono,monospace!important;font-size:10px!important;font-weight:500!important;text-transform:uppercase;letter-spacing:.12em;color:var(--mut)!important}.rep-daytoggle{border-radius:var(--r)!important}.rep-stats .stat-val{font-size:26px}.rec{background:var(--card)}.rec-tr{transition:background .12s}.rec-tr:not(.th):hover{background:var(--row-hover)}.rec-tr.th{background:var(--p2);font-family:Spline Sans Mono,monospace;font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.12em;color:var(--mut);border-bottom:1px solid var(--bd2)}.mini{font-family:Spline Sans Mono,monospace}.rowacts{opacity:0;transition:opacity .12s}.rec-tr:hover .rowacts,tr:hover .rowacts{opacity:1}@media (hover:none){.rowacts{opacity:1}}.modal{background:var(--card)}.modal-head,.modal-foot{border-color:var(--bd)}.app.theme-light .modal-head,.app.theme-light .modal-foot{background:var(--p2)}.modal input,.modal select,.modal textarea{background:var(--p2);border:1px solid var(--bd2);color:var(--tx)}.modal input:focus,.modal select:focus,.modal textarea:focus{border-color:var(--acc);outline:none}.cx-tablewrap{background:var(--card);border:1px solid var(--bd);border-radius:var(--r-card);overflow:hidden}.cx-sectionhead{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--bd);background:var(--p2)}.cx-sectionhead .ic{color:var(--acc);display:grid;place-items:center}.cx-sectionhead .ttl{font-family:Spline Sans Mono,monospace;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--mut2)}.cx-sectionhead .ct{font-family:Spline Sans Mono,monospace;font-size:11px;color:var(--mut)}.cx-sectionhead .right{margin-left:auto;display:flex;gap:8px;align-items:center}.cx-table{width:100%;border-collapse:collapse;font-size:13.5px}.cx-table thead th{font-family:Spline Sans Mono,monospace;text-align:left;font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.12em;color:var(--mut);padding:11px 16px;border-bottom:1px solid var(--bd2);white-space:nowrap}.cx-table th.num,.cx-table td.num{text-align:right}.cx-table tbody td{padding:12px 16px;border-bottom:1px solid var(--bd);vertical-align:middle;color:var(--tx)}.cx-table tbody tr:last-child td{border-bottom:0}.cx-table tbody tr{transition:background .12s}.cx-table tbody tr.clickable{cursor:pointer}.cx-table tbody tr:hover{background:var(--row-hover)}.cx-table .id,.cx-table .figure{font-family:Spline Sans Mono,monospace;font-weight:500}.cx-table .muted{color:var(--mut)}.cx-rowacts{display:flex;gap:6px;justify-content:flex-end;opacity:0;transition:opacity .12s}.cx-table tbody tr:hover .cx-rowacts{opacity:1}@media (hover:none){.cx-rowacts{opacity:1}}.cx-ico{width:30px;height:30px;flex-shrink:0;display:grid;place-items:center;border-radius:var(--r);border:1px solid var(--bd2);background:var(--p2);color:var(--mut);cursor:pointer;transition:all .14s;padding:0}.cx-ico:hover{color:var(--tx);border-color:var(--mut)}.cx-ico.danger:hover{color:var(--elec);border-color:color-mix(in oklab,var(--elec) 50%,transparent)}.cx-seg{display:inline-flex;border:1px solid var(--bd2);border-radius:var(--r);overflow:hidden;background:var(--p2)}.cx-seg button{font-family:Spline Sans Mono,monospace;font-size:11px;text-transform:uppercase;letter-spacing:.07em;padding:7px 13px;background:transparent;border:0;border-right:1px solid var(--bd2);color:var(--mut);cursor:pointer;transition:all .12s;line-height:1}.cx-seg button:last-child{border-right:0}.cx-seg button.on{background:var(--acc);color:var(--ink,#0a0c0e);font-weight:600}.cx-seg button:not(.on):hover{color:var(--tx);background:var(--row-hover)}.cx-pill{display:inline-flex;align-items:center;gap:5px;white-space:nowrap;font-family:Spline Sans Mono,monospace;font-size:10.5px;font-weight:600;padding:3px 9px;border-radius:var(--r);border:1px solid var(--bd2);color:var(--mut2)}.cx-pill.ok{color:var(--sewer);border-color:color-mix(in oklab,var(--sewer) 40%,transparent);background:color-mix(in oklab,var(--sewer) 13%,transparent)}.cx-pill.warn{color:var(--gas);border-color:color-mix(in oklab,var(--gas) 40%,transparent);background:color-mix(in oklab,var(--gas) 13%,transparent)}.cx-pill.danger{color:var(--elec);border-color:color-mix(in oklab,var(--elec) 44%,transparent);background:color-mix(in oklab,var(--elec) 13%,transparent)}.cx-pill.info{color:var(--water);border-color:color-mix(in oklab,var(--water) 40%,transparent);background:color-mix(in oklab,var(--water) 13%,transparent)}.cx-pill.acc{color:var(--acc);border-color:color-mix(in oklab,var(--acc) 42%,transparent);background:color-mix(in oklab,var(--acc) 13%,transparent)}.cx-empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;padding:40px 20px}.cx-empty .glyph{width:42px;height:42px;border-radius:var(--r);background:color-mix(in oklab,var(--acc) 12%,transparent);color:var(--acc);display:grid;place-items:center}.cx-empty h5{font-family:Saira Condensed,sans-serif;font-weight:600;font-size:17px;color:var(--tx)}.cx-empty p{font-size:13px;color:var(--mut)}.app.theme-light .side{background:linear-gradient(180deg,#faf8f3,#f2eee5);border-right:1px solid var(--bd)}.app.theme-light .navb{color:var(--mut2)}.app.theme-light .navb:hover{background:#efeae0;color:var(--tx)}.app.theme-light .navb.on{background:#e8e2d5;color:var(--tx)}.app.theme-light .topbar{background:#faf8f3d9;border-bottom:1px solid var(--bd);color:var(--tx)}.app.theme-light .who-name{color:var(--tx)}.app.theme-light .panel-head{color:var(--mut)}.app.theme-light .qitem{background:var(--p2);border:1px solid var(--bd);color:var(--tx)}.app.theme-light .qitem:hover{border-color:var(--bd2);background:#efeae0}.app.theme-light .btn{background:#fff;color:var(--tx);border-color:var(--bd2)}.app.theme-light .btn:hover{border-color:var(--mut)}.app.theme-light .btn.ghost{background:transparent;color:var(--mut2);border-color:var(--bd2)}.app.theme-light .btn.ghost:hover{background:#efeae0;border-color:var(--mut)}.app.theme-light .modal-body label{color:var(--mut)}.app.theme-light .copyable{background:var(--p2);color:#b25410;border:1px solid var(--bd)}.app.theme-light .empty,.app.theme-light .sub,.app.theme-light .sub2{color:var(--mut)}.app.theme-light .wiki-list-item{background:var(--p2);border:1px solid var(--bd)}.app.theme-light .wiki-list-item:hover,.app.theme-light .wiki-list-item.active{background:#efeae0;border-color:var(--bd2)}.app.theme-light .wiki-content{background:var(--p1);color:var(--tx)}.app.theme-light h1{color:var(--tx)}.app.theme-light .scroll::-webkit-scrollbar-thumb{background:var(--bd2);border-color:var(--bg)}.app.theme-light .ji{background:var(--p2);border-color:var(--bd2)}.app.theme-light .nav-group-label{color:var(--mut)}.app.theme-light .crewcard,.app.theme-light .herocard{background:#fff;border-color:var(--bd)}.app.theme-light .fleet-veh,.app.theme-light .fleet-chip,.app.theme-light .fleet-docgroup-h,.app.theme-light .fleet-docrow,.app.theme-light .fleet-usage-preview{background:var(--p2);border-color:var(--bd);color:var(--tx)}.app.theme-light .fleet-drop{background:var(--p2);border-color:var(--bd2)}.app.theme-light .fleet-sep,.app.theme-light .fleet-sep svg{color:var(--mut)}.sub-portal{background:#eeeae1;color:#191c1f}.sub-head{background:linear-gradient(180deg,#fff 62%,#eeeae1e6);border-bottom:1px solid #ddd6c8;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.sub-sub{color:#6c6557}.sub-tabs{background:#eeeae1;border-bottom:1px solid #ddd6c8}.sub-tab{background:#f7f4ee;color:#9a9384;border-color:#ddd6c8}.sub-tab:not(.on):hover{background:#efeae0;color:#191c1f}.sub-kpi{background:#fff;border-color:#ddd6c8}.sub-kpi-n{color:#ef6a10}.sub-kpi-l{color:#6c6557}.sub-job-card{background:linear-gradient(180deg,#fff,#f7f4ee);border-color:#ddd6c8;border-left:3px solid #ff7a1a}.sub-job-meta{color:#6c6557}.sub-job-rate{color:#423e36}.sub-form label{color:#6c6557}.sub-form input,.sub-form select,.sub-form textarea{background:#fff;border-color:#c6bfae;color:#191c1f}.sub-msg{color:#b9560a}.sub-row{background:#fff;border-color:#ddd6c8}.sub-row-meta{color:#6c6557}.sub-row-notes{color:#423e36;border-top-color:#efeae0}.sub-pay-note{color:#6c6557}.sub-portal .empty{color:#9a9384}.sub-portal .panel{background:#fff;border-color:#ddd6c8}.sub-portal .panel-head{background:#f7f4ee;border-bottom-color:#ddd6c8;color:#191c1f}.sub-portal .btn.ghost{color:#423e36;background:transparent;border-color:#c6bfae}.sub-portal .btn.ghost:hover{background:#f7f4ee}.seg,.segb,.sub-msg{border-radius:var(--r)!important}.pill,.app.theme-light .pill{font-weight:600}.app.theme-light .panel{border-color:var(--bd)}.app.theme-light .stat-click:hover{box-shadow:none}.app.theme-light table.data td .muted-dash{color:var(--bd2)}.app.theme-light .hamburger{border-color:var(--bd2)}.app.theme-light .fleet-alert{background:var(--p2);border-color:var(--bd)}.app.theme-light .fleet-docrow-ic{background:var(--p3)}.app.theme-light .fleet-notif.idle{color:var(--mut)}.app.theme-light .fleet-sep{border-bottom-color:var(--bd)}.sub-portal .btn.ghost:hover{border-color:#c6bfae}.eq-tabs{display:flex;gap:2px;border-bottom:1px solid var(--bd);margin:2px 0 6px}.eq-tab{display:inline-flex;align-items:center;gap:8px;padding:11px 17px;background:transparent;border:0;border-bottom:2px solid transparent;margin-bottom:-1px;color:var(--mut);cursor:pointer;font-family:Spline Sans Mono,monospace;font-size:12px;text-transform:uppercase;letter-spacing:.07em;transition:color .12s}.eq-tab:hover{color:var(--tx)}.eq-tab.on{color:var(--tx);border-bottom-color:var(--acc)}.eq-tab>svg{opacity:.75}.eq-tab.on>svg{color:var(--acc);opacity:1}.eq-tab-n{font-size:10px;padding:1px 6px;border:1px solid var(--bd2);border-radius:var(--r);color:var(--mut2)}.eq-tab.on .eq-tab-n{color:var(--acc);border-color:color-mix(in oklab,var(--acc) 40%,var(--bd2))}.eq-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin:2px 0 12px}.eq-seg .seg-n{margin-left:7px;opacity:.55;font-size:10px}.cx-seg .seg-n{margin-left:6px;opacity:.6;font-size:10px}.cx-seg button{white-space:nowrap}.cx-seg button.on .seg-n{opacity:.85}.eq-tools{display:flex;align-items:center;gap:10px}.eq-search{display:flex;align-items:center;gap:7px;padding:0 11px;border:1px solid var(--bd2);border-radius:var(--r);background:var(--card);height:34px}.eq-search>svg{color:var(--mut);flex:none}.eq-search input{border:0;background:transparent;outline:none;font-family:inherit;font-size:13px;color:var(--tx);width:232px}.eq-search input::placeholder{color:var(--mut2)}.eq-catsel{-moz-appearance:none;appearance:none;-webkit-appearance:none;height:34px;border:1px solid var(--bd2);border-radius:var(--r);background-color:var(--card);color:var(--tx);font-family:inherit;font-size:13px;padding:0 32px 0 12px;cursor:pointer;transition:border-color .13s,box-shadow .13s;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238b96a3' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 11px center}.eq-catsel:hover{border-color:var(--mut2)}.eq-catsel:focus{outline:none;border-color:var(--acc);box-shadow:var(--ring, 0 0 0 3px rgba(255,122,26,.18))}.eq-allbtn{height:34px;padding:0 13px;border:1px solid var(--bd2);border-radius:var(--r);background:var(--card);color:var(--mut2);font-family:Spline Sans Mono,monospace;font-size:11px;text-transform:uppercase;letter-spacing:.06em;cursor:pointer;white-space:nowrap}.eq-allbtn:hover:not(:disabled){color:var(--tx);background:var(--row-hover, rgba(255,255,255,.028))}.eq-allbtn:disabled{opacity:.4;cursor:default}.lien-chip{display:inline-flex;align-items:center;gap:5px;white-space:nowrap;font-family:Spline Sans Mono,monospace;font-size:10.5px;font-weight:600;padding:3px 8px;border-radius:var(--r);background:color-mix(in oklab,var(--tx) 86%,transparent);color:var(--card);letter-spacing:.02em}.lien-chip>svg{opacity:.8;flex:none}.muted-dash{color:var(--mut2)}.eq-dochint{font-size:11px;color:var(--mut);letter-spacing:.04em}.eq-register .eq-sectable{display:flex;flex-direction:column}.eq-secgroup{border-bottom:1px solid var(--bd)}.eq-secgroup:last-child{border-bottom:0}.eq-secrow{display:grid;grid-template-columns:18px 22px minmax(150px,1fr) auto 160px 116px;align-items:center;gap:14px;width:100%;padding:13px 16px;background:transparent;border:0;cursor:pointer;text-align:left;font-family:inherit;color:var(--tx)}.eq-secrow:hover{background:var(--row-hover, rgba(255,255,255,.028))}.eq-secgroup.open .eq-secrow{background:var(--p2)}.eq-secrow .eq-caret{display:grid;place-items:center;color:var(--mut);transition:transform .14s}.eq-secrow .eq-caret.open{transform:rotate(90deg)}.eq-secrow .ic{color:var(--acc);display:grid;place-items:center}.eq-secrow-name{font-size:14px;font-weight:500}.eq-secrow-ct{font-family:Spline Sans Mono,monospace;font-size:11px;color:var(--mut);white-space:nowrap}.eq-secrow-bar{height:6px;background:var(--p3);border-radius:var(--r);overflow:hidden}.eq-secrow-bar>span{display:block;height:100%;background:var(--acc)}.eq-secrow-val{font-family:Spline Sans Mono,monospace;font-size:14px;font-weight:600;text-align:right}.eq-secbody{border-top:1px solid var(--bd);background:var(--card)}.eq-secsearch{display:flex;align-items:center;gap:8px;padding:9px 16px;border-bottom:1px solid var(--bd)}.eq-secsearch>svg{color:var(--mut);flex:none}.eq-secsearch input{flex:1;border:0;background:transparent;outline:none;font-family:inherit;font-size:13px;color:var(--tx)}.eq-secsearch input::placeholder{color:var(--mut2)}.eq-secsearch-n{font-family:Spline Sans Mono,monospace;font-size:11px;color:var(--mut);white-space:nowrap}.eq-secempty{padding:18px 16px;font-size:12px;color:var(--mut)}.eq-sectotal{display:flex;align-items:baseline;gap:14px;padding:14px 16px;border-top:2px solid var(--bd2);background:var(--p2)}.eq-sectotal-name{font-family:Spline Sans Mono,monospace;font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--mut2)}.eq-sectotal-val{margin-left:auto;font-family:Spline Sans Mono,monospace;font-size:16px;font-weight:700;color:var(--water,#2e9be2);min-width:116px;text-align:right}.eq-pager{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 16px;border-top:1px solid var(--bd);background:var(--p2)}.eq-pager-info{font-size:11px;color:var(--mut)}.eq-pager-btns{display:flex;align-items:center;gap:8px}.eq-pager-page{font-size:11px;color:var(--mut2);min-width:42px;text-align:center}.eq-pgbtn{display:inline-flex;align-items:center;gap:4px;height:28px;padding:0 10px;border:1px solid var(--bd2);border-radius:var(--r);background:var(--card);color:var(--tx);font-family:Spline Sans Mono,monospace;font-size:11px;cursor:pointer}.eq-pgbtn:hover:not(:disabled){background:var(--row-hover, rgba(255,255,255,.028))}.eq-pgbtn:disabled{opacity:.4;cursor:default}.eq-maint-desc{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:240px}table.data th.num,table.data td.num{text-align:right}.cx-table.eq-table .muted-dash{color:var(--mut2)}.cx-table.eq-table th,.cx-table.eq-table td{padding:14px 16px;vertical-align:middle}.cx-table.eq-table th:first-child,.cx-table.eq-table td:first-child{min-width:210px;max-width:340px}.cx-table.eq-table .sub{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:320px;margin-top:4px;line-height:1.4;color:var(--mut)}.cx-table.eq-table td:nth-child(2),.cx-table.eq-table td:nth-child(3){white-space:nowrap;color:var(--mut)}.cx-table.eq-table th:last-child,.cx-table.eq-table td:last-child{padding-right:14px}.docs-cell{display:inline-flex;gap:5px;align-items:center;background:transparent;border:0;padding:0;cursor:pointer;color:inherit}.docs-cell.docs-open{color:var(--mut)}.docs-open-div{width:1px;height:13px;background:var(--bd2);margin:0 2px}.fleet-filterbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 12px}.fleet-filterbar .eq-search{flex:1;min-width:220px}.fleet-filterbar .eq-search input{width:100%}.fleet-maint th,.fleet-trips th,.fleet-util th{padding-top:12px;padding-bottom:12px}.fleet-maint td,.fleet-trips td,.fleet-util td{padding-top:14px;padding-bottom:14px}.fleet-maint td .sub2,.fleet-util td .sub2{margin-top:4px;line-height:1.4}.fleet-sumhint{display:flex;align-items:center;gap:7px;font-size:11.5px;color:var(--mut);padding:2px 2px 4px}.fleet-sumhint>svg{color:var(--acc);flex:none}.app.theme-light .eq-tab.on{border-bottom-color:var(--acc)}.app.theme-light .eq-search,.app.theme-light .eq-catsel,.app.theme-light .eq-allbtn,.app.theme-light .eq-pgbtn{background:#fff;border-color:var(--bd2)}.app.theme-light .eq-allbtn:hover:not(:disabled),.app.theme-light .eq-pgbtn:hover:not(:disabled){background:var(--row-hover)}.app.theme-light .eq-secrow:hover{background:var(--row-hover)}.app.theme-light .lien-chip{background:color-mix(in oklab,var(--tx) 88%,transparent);color:#fff}.app.theme-light .docs-open-div{background:var(--bd2)}.imp-modal{width:min(580px,100%)}.imp-fmts{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.imp-fmt-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border-radius:3px;background:var(--p2);border:1px solid var(--bd);font-size:11px;color:var(--mut2)}.imp-fmt-chip b{display:inline-grid;place-items:center;min-width:30px;padding:1px 4px;font-size:9px;font-weight:700;letter-spacing:.06em;color:var(--acc);background:color-mix(in srgb,var(--acc) 14%,transparent);border-radius:2px}.imp-fmt-needs{color:var(--mut);font-size:9px;letter-spacing:.02em}.imp-or{display:flex;align-items:center;gap:10px;margin:16px 0 11px}.imp-or:before,.imp-or:after{content:"";height:1px;flex:1;background:var(--bd)}.imp-or span{font-family:Spline Sans Mono,monospace;font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:var(--mut)}.imp-samples{display:grid;grid-template-columns:1fr 1fr;gap:8px}.imp-sample-tile{display:flex;align-items:center;gap:10px;padding:10px 11px;text-align:left;cursor:pointer;background:var(--p2);border:1px solid var(--bd);border-radius:3px;color:var(--tx);transition:border-color .12s,background .12s}.imp-sample-tile:hover{border-color:color-mix(in srgb,var(--acc) 50%,var(--bd2));background:var(--p3)}.imp-sample-glyph{flex-shrink:0;display:grid;place-items:center;width:34px;height:34px;border-radius:3px;background:color-mix(in srgb,var(--acc) 12%,transparent);border:1px solid color-mix(in srgb,var(--acc) 30%,transparent);color:var(--acc);font-size:10px;font-weight:700;letter-spacing:.04em}.imp-sample-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.imp-sample-name{font-size:12.5px;font-weight:600;line-height:1.2}.imp-sample-sub{font-size:9px;color:var(--mut);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.imp-sample-tile>svg{color:var(--mut2);flex-shrink:0}.imp-drawer{width:452px;animation:impslide .2s cubic-bezier(.2,.7,.3,1) both}@keyframes impslide{0%{transform:translate(24px)}to{transform:none}}.imp-fmt-ic b{font-size:11px;font-weight:700;letter-spacing:.04em;color:var(--acc)}.imp-banner{display:flex;align-items:center;gap:10px;padding:11px 12px;border-radius:3px;margin-bottom:14px;border:1px solid var(--bd);border-left-width:3px}.imp-banner.ok{background:color-mix(in srgb,var(--sewer, #3ddc84) 9%,transparent);border-color:color-mix(in srgb,var(--sewer, #3ddc84) 40%,var(--bd))}.imp-banner.ok svg{color:var(--sewer, #3ddc84)}.imp-banner.warn{background:color-mix(in srgb,var(--gas, #f5a524) 9%,transparent);border-color:color-mix(in srgb,var(--gas, #f5a524) 42%,var(--bd))}.imp-banner.warn svg{color:var(--gas, #f5a524)}.imp-banner svg{flex-shrink:0}.imp-banner-txt{flex:1;font-size:11.5px;line-height:1.4;color:var(--tx)}.imp-banner-txt b{font-weight:700}.imp-banner-toggle{flex-shrink:0;background:transparent;border:1px solid var(--bd2);border-radius:3px;color:var(--mut2);font-family:Spline Sans Mono,monospace;font-size:9px;text-transform:uppercase;letter-spacing:.06em;padding:5px 8px;cursor:pointer}.imp-banner-toggle:hover{color:var(--acc);border-color:var(--acc)}.imp-layers{display:flex;flex-direction:column;gap:9px;margin-bottom:6px}.imp-layer{border:1px solid var(--bd);border-radius:3px;background:var(--p2);overflow:hidden}.imp-layer.skip{opacity:.55}.imp-layer-head{display:flex;align-items:center;gap:8px;padding:9px 10px}.imp-layer-name{flex:1;font-size:12.5px;font-weight:600;color:var(--tx);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.imp-layer-n{font-size:9.5px;color:var(--mut);background:var(--p3);border:1px solid var(--bd);border-radius:10px;padding:1px 8px;flex-shrink:0}.imp-skip{flex-shrink:0;display:grid;place-items:center;width:26px;height:26px;border:1px solid var(--bd);border-radius:3px;background:transparent;color:var(--mut);cursor:pointer}.imp-skip:hover{color:var(--tx);border-color:var(--mut2)}.imp-skip.on{color:var(--gas, #f5a524);border-color:color-mix(in srgb,var(--gas, #f5a524) 50%,var(--bd))}.imp-layer-body{padding:0 10px 11px;display:flex;flex-direction:column;gap:9px}.imp-geom{flex-shrink:0;display:grid;place-items:center;width:18px;height:18px}.imp-geom-sw{width:12px;height:12px}.imp-geom.geom-line .imp-geom-sw{height:0;border-top:3px solid var(--mut2);border-radius:2px}.imp-geom.geom-point .imp-geom-sw{background:var(--p1);border:2px solid var(--mut2);border-radius:2px}.imp-geom.geom-polygon .imp-geom-sw{background:color-mix(in srgb,var(--mut2) 22%,transparent);border:1.5px dashed var(--mut2);border-radius:2px}.imp-ctrl{display:flex;flex-direction:column;gap:4px;min-width:0}.imp-ctrl-lab{display:flex;align-items:center;gap:6px;font-family:Spline Sans Mono,monospace;font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:var(--mut)}.imp-flag{font-size:8px;letter-spacing:.04em;color:var(--gas, #f5a524);background:color-mix(in srgb,var(--gas, #f5a524) 14%,transparent);border:1px solid color-mix(in srgb,var(--gas, #f5a524) 36%,transparent);border-radius:8px;padding:1px 6px;text-transform:none}.imp-ctrl-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.imp-picker{position:relative;width:100%}.imp-picker-btn{display:flex;align-items:center;gap:8px;width:100%;padding:7px 9px;cursor:pointer;text-align:left;background:var(--p1);border:1px solid var(--bd2);border-radius:3px;color:var(--tx)}.imp-picker.open .imp-picker-btn,.imp-picker-btn:hover{border-color:var(--acc)}.imp-picker-val{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px;font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.imp-picker-grp{font-family:Spline Sans Mono,monospace;font-size:8.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--mut)}.imp-picker-ph{color:var(--mut)}.imp-picker-caret{color:var(--mut2);flex-shrink:0;transition:transform .14s}.imp-picker.open .imp-picker-caret{transform:rotate(180deg)}.imp-sw{flex-shrink:0;width:14px;height:14px}.imp-sw.geom-line{height:0;border-top:3px solid var(--mc);border-radius:2px}.imp-sw.geom-point{background:var(--p1);border:2px solid var(--mc);border-radius:2px}.imp-sw.geom-point.shp-circle,.imp-sw.geom-point.shp-pole{border-radius:50%}.imp-sw.geom-point.shp-ped{border-radius:3px 3px 1px 1px}.imp-sw.geom-polygon{background:color-mix(in srgb,var(--mc) 22%,transparent);border:1.5px dashed var(--mc);border-radius:2px}.imp-sw-empty{border:1.5px dashed var(--mut2);border-radius:2px}.imp-picker-pop{margin-top:6px;border:1px solid var(--bd2);border-radius:3px;background:var(--p1);overflow:hidden;box-shadow:0 8px 24px #0003}.imp-picker-search{display:flex;align-items:center;gap:7px;padding:8px 9px;border-bottom:1px solid var(--bd)}.imp-picker-search svg{color:var(--mut);flex-shrink:0}.imp-picker-search input{flex:1;background:transparent;border:none;outline:none;color:var(--tx);font-family:inherit;font-size:12px}.imp-picker-search input::placeholder{color:var(--mut)}.imp-picker-list{max-height:264px;overflow-y:auto;padding:4px}.imp-picker-empty{padding:16px;text-align:center;font-size:10px;color:var(--mut)}.imp-picker-grpsect{margin-bottom:2px}.imp-picker-grphd{display:flex;align-items:center;gap:7px;padding:7px 7px 4px;font-family:Spline Sans Mono,monospace;font-size:8.5px;text-transform:uppercase;letter-spacing:.1em;color:var(--mut2)}.imp-grp-dot{width:7px;height:7px;border-radius:2px;flex-shrink:0}.imp-grp-n{margin-left:auto;color:var(--mut)}.imp-picker-opt{display:flex;align-items:center;gap:9px;width:100%;padding:6px 8px;cursor:pointer;text-align:left;background:transparent;border:none;border-radius:3px;color:var(--tx)}.imp-picker-opt:hover{background:var(--p2)}.imp-picker-opt.on{background:color-mix(in srgb,var(--acc) 12%,transparent)}.imp-picker-optlab{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px;font-size:12px}.imp-picker-optsub{font-family:Spline Sans Mono,monospace;font-size:9px;color:var(--mut)}.imp-picker-optunit{font-size:9px;font-weight:700;letter-spacing:.04em;color:var(--mut2);background:var(--p3);border:1px solid var(--bd);border-radius:3px;padding:1px 6px;flex-shrink:0}.imp-picker-ck{color:var(--acc);flex-shrink:0}.imp-mini{width:100%;height:auto;display:block;border:1px solid var(--bd);border-radius:3px;background:var(--p3);margin-bottom:12px}.imp-mini-bg{fill:color-mix(in srgb,var(--p3) 72%,#1a2a22)}.imp-mini-empty{display:grid;place-items:center;height:120px;font-size:10px;color:var(--mut);border:1px solid var(--bd);border-radius:3px;background:var(--p3);margin-bottom:12px}.imp-match-note{margin:7px 0 4px;font-size:10px;line-height:1.5;color:var(--mut)}.imp-match-note b{color:var(--tx)}.imp-diff{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-bottom:9px}.imp-diff-cell{display:flex;flex-direction:column;gap:2px;padding:10px 11px;border-radius:3px;border:1px solid var(--bd);border-left-width:3px;background:var(--p2)}.imp-diff-cell.add{border-left-color:var(--sewer, #3ddc84)}.imp-diff-cell.upd{border-left-color:var(--elec, #2e9be2)}.imp-diff-cell.skip{border-left-color:var(--mut2)}.imp-diff-n{font-family:Archivo,Saira Condensed,sans-serif;font-weight:700;font-size:22px;line-height:1;color:var(--tx)}.imp-diff-cell.add .imp-diff-n{color:var(--sewer, #3ddc84)}.imp-diff-cell.upd .imp-diff-n{color:var(--elec, #2e9be2)}.imp-diff-l{font-family:Spline Sans Mono,monospace;font-size:8.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--mut)}.imp-warns{display:flex;flex-direction:column;gap:5px;margin-bottom:9px}.imp-warn{display:flex;align-items:flex-start;gap:7px;padding:8px 10px;font-size:10.5px;line-height:1.4;color:var(--tx);background:color-mix(in srgb,var(--gas, #f5a524) 8%,transparent);border:1px solid color-mix(in srgb,var(--gas, #f5a524) 34%,var(--bd));border-radius:3px}.imp-warn svg{color:var(--gas, #f5a524);flex-shrink:0;margin-top:1px}.imp-sample-ops{display:flex;flex-direction:column;gap:3px;margin-bottom:4px}.imp-op{display:flex;align-items:center;gap:8px;padding:6px 9px;border:1px solid var(--bd);border-radius:3px;background:var(--p2)}.imp-op-badge{flex-shrink:0;font-family:Spline Sans Mono,monospace;font-size:8.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:2px 7px;border-radius:3px}.imp-op-badge.add{color:var(--sewer, #3ddc84);background:color-mix(in srgb,var(--sewer, #3ddc84) 14%,transparent)}.imp-op-badge.update{color:var(--elec, #2e9be2);background:color-mix(in srgb,var(--elec, #2e9be2) 14%,transparent)}.imp-op-badge.skip{color:var(--mut2);background:var(--p3)}.imp-op-lab{flex:1;min-width:0;font-size:11.5px;color:var(--tx);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.imp-op-type{font-size:9px;color:var(--mut);flex-shrink:0}.imp-op-more{font-size:9.5px;color:var(--mut);text-align:center;padding:4px}.imp-drawer .kmz-foot-acts .kmz-btn.primary{flex:2}.imp-minimap{margin-bottom:12px}.imp-minimap-frame{position:relative;width:100%;height:134px;border:1px solid var(--bd);border-radius:3px;overflow:hidden;background:var(--mm-bg);--mm-bg: #141a13;--mm-grid: rgba(176,196,150,.07);--mm-env: rgba(176,196,150,.34)}.app.theme-light .imp-minimap-frame{--mm-bg: #efe9dc;--mm-grid: rgba(120,100,60,.11);--mm-env: rgba(120,100,60,.42)}.imp-minimap-canvas{display:block;width:100%;height:100%}.imp-minimap-canvas .mm-line{fill:none;stroke-linejoin:round;stroke-linecap:round}.imp-minimap-canvas .mm-pt{stroke:var(--mm-bg);stroke-width:1}.imp-minimap-canvas .mm-env{fill:none;stroke:var(--mm-env);stroke-width:1;stroke-dasharray:4 4;opacity:.9}.imp-minimap-vp{position:absolute;box-sizing:border-box;z-index:4;cursor:grab;touch-action:none;border:1.5px solid var(--acc);background:color-mix(in srgb,var(--acc) 9%,transparent);box-shadow:0 0 0 1px color-mix(in srgb,var(--acc) 26%,transparent),0 0 0 9999px #00000029;transition:background .12s,box-shadow .12s}.imp-minimap-vp:hover,.imp-minimap-vp.grabbing{background:color-mix(in srgb,var(--acc) 16%,transparent);box-shadow:0 0 0 1.5px var(--acc),0 0 0 9999px #00000038}.imp-minimap-vp.grabbing{cursor:grabbing}.imp-minimap-vp .tick{position:absolute;width:8px;height:8px;border:1.5px solid var(--acc)}.imp-minimap-vp .tick.tl{top:-1.5px;left:-1.5px;border-right:none;border-bottom:none}.imp-minimap-vp .tick.tr{top:-1.5px;right:-1.5px;border-left:none;border-bottom:none}.imp-minimap-vp .tick.bl{bottom:-1.5px;left:-1.5px;border-right:none;border-top:none}.imp-minimap-vp .tick.br{bottom:-1.5px;right:-1.5px;border-left:none;border-top:none}.imp-minimap-vp .grip{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:19px;height:19px;border-radius:3px;color:var(--acc);opacity:.55;transition:opacity .12s;background:color-mix(in srgb,var(--mm-bg) 55%,transparent)}.imp-minimap-vp:hover .grip,.imp-minimap-vp.grabbing .grip{opacity:1}.imp-minimap-vp .grip svg{width:12px;height:12px}.imp-minimap-fit{position:absolute;top:7px;right:7px;z-index:5;display:grid;place-items:center;width:24px;height:24px;cursor:pointer;border:1px solid var(--bd2);border-radius:3px;color:var(--mut2);background:color-mix(in srgb,var(--p1) 80%,transparent);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.imp-minimap-fit:hover{color:var(--acc);border-color:var(--acc)}.imp-minimap-fit svg{width:13px;height:13px}.imp-minimap-badge{position:absolute;top:7px;left:7px;z-index:3;font-family:Spline Sans Mono,monospace;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--tx);background:color-mix(in srgb,var(--p1) 80%,transparent);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);border:1px solid var(--bd);border-radius:2px;padding:3px 7px}.imp-minimap-badge b{color:var(--acc);font-weight:700}.imp-minimap-cap{display:flex;align-items:center;gap:9px;margin-top:7px;flex-wrap:nowrap;font-family:Spline Sans Mono,monospace;font-size:9.5px;letter-spacing:.03em;color:var(--mut)}.imp-minimap-cap>span{white-space:nowrap}.imp-minimap-cap .c-n{color:var(--mut2);font-weight:600}.imp-minimap-cap .c-n b{color:var(--tx);font-weight:700}.imp-minimap-cap .sep{width:1px;height:10px;background:var(--bd2);flex-shrink:0}.imp-minimap-cap .c-hint{margin-left:auto;display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.imp-minimap-cap .c-hint svg{width:11px;height:11px}.imp-minimap-frame.is-msg{display:grid;place-items:center}.imp-minimap-msg{display:flex;flex-direction:column;align-items:center;gap:9px;text-align:center;padding:0 18px}.imp-minimap-msg .ic{display:grid;place-items:center;width:34px;height:34px;border-radius:4px;background:var(--p3);border:1px solid var(--bd);color:var(--mut2)}.imp-minimap-msg .ic svg{width:17px;height:17px}.imp-minimap-msg .t{font-family:Spline Sans Mono,monospace;font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--mut)}.imp-minimap-msg .s{font-size:11px;color:var(--mut);line-height:1.4;max-width:230px}.app.theme-light .imp-minimap-vp{box-shadow:0 0 0 1px color-mix(in srgb,var(--acc) 30%,transparent),0 0 0 9999px #281e0f1f}.app.theme-light .imp-minimap-vp:hover,.app.theme-light .imp-minimap-vp.grabbing{box-shadow:0 0 0 1.5px var(--acc),0 0 0 9999px #281e0f2b}.loc-wrap{overflow-x:auto;overflow-y:visible}.loc-table{min-width:760px}.loc-table td.loc-site{min-width:200px;max-width:280px}.loc-table .loc-street{color:var(--tx);font-weight:500}.loc-table td.loc-site .sub{margin-top:2px;line-height:1.45}.loc-map{display:inline-flex;align-items:center;gap:4px;margin-top:5px;font-family:Spline Sans Mono,monospace;font-size:11px;color:var(--acc,#ff7a1a);text-decoration:none;opacity:.9}.loc-map:hover{opacity:1;text-decoration:underline}.loc-map>svg{flex:none}.loc-table td.loc-when{white-space:nowrap;font-size:12.5px;line-height:1.55}.loc-table td.loc-when .ld{display:flex;gap:8px}.loc-table td.loc-when .lk{display:inline-block;min-width:62px;color:var(--mut);font-family:Spline Sans Mono,monospace;font-size:10px;text-transform:uppercase;letter-spacing:.08em}.loc-table td.loc-when .lv{font-family:Spline Sans Mono,monospace;color:var(--tx)}.loc-table td.loc-when b{font-weight:600}.loc-formnote{margin-top:4px;font-size:11.5px;color:var(--mut);line-height:1.5}.mkmap{background:var(--card);border:1px solid var(--bd);border-radius:var(--r-card);overflow:visible;max-width:100%}.mkmap-head{display:flex;align-items:center;gap:11px;padding:13px 16px;border-bottom:1px solid var(--bd);background:var(--p2);border-radius:var(--r-card) var(--r-card) 0 0}.mkmap-head .ic{color:var(--acc);display:grid;place-items:center;width:15px;height:15px}.mkmap-head .ic svg{width:15px;height:15px}.mkmap-head .ttl{font-family:Spline Sans Mono,monospace;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--mut2)}.mkmap-head .ct{font-family:Spline Sans Mono,monospace;font-size:11px;color:var(--mut)}.mkmap-head .right{margin-left:auto;display:flex;gap:8px;align-items:center}.mkmap-scope{display:inline-flex;align-items:center;gap:6px;font-family:Spline Sans Mono,monospace;font-size:10px;color:var(--mut)}.mkmap-scope b{color:var(--tx);font-weight:600}.mkmap-scope svg{width:12px;height:12px;color:var(--acc)}.mkmap-table{width:100%;border-collapse:collapse;font-size:13.5px}.mkmap-table thead th{font-family:Spline Sans Mono,monospace;text-align:left;font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.12em;color:var(--mut);padding:11px 16px;border-bottom:1px solid var(--bd2);white-space:nowrap}.mkmap-table tbody td{padding:10px 16px;border-bottom:1px solid var(--bd);vertical-align:middle;color:var(--tx)}.mkmap-table tbody tr:last-child td{border-bottom:0}.mkmap-table tbody tr{transition:background .12s}.mkmap-table tbody tr:hover{background:var(--row-hover)}.mkmap-table tbody tr.is-override td:first-child{box-shadow:inset 2px 0 0 var(--acc)}.mkmap-type{display:flex;align-items:center;gap:11px}.mkmap-sw{width:24px;height:24px;flex-shrink:0;border-radius:3px;display:grid;place-items:center;font-family:Spline Sans Mono,monospace;font-size:9px;font-weight:700;color:#fff;letter-spacing:.02em}.mkmap-sw.round{border-radius:50%}.mkmap-type-lab{min-width:0}.mkmap-type-lab .n{font-weight:600;color:var(--tx);white-space:nowrap}.mkmap-type-lab .s{font-family:Spline Sans Mono,monospace;font-size:10px;color:var(--mut);margin-top:1px}.mkmap-color{position:relative}.mkmap-color-btn{display:inline-flex;align-items:center;gap:7px;padding:4px 8px 4px 5px;border:1px solid var(--bd2);border-radius:var(--r);background:var(--p1);cursor:pointer;transition:border-color .12s}.mkmap-color-btn:hover{border-color:var(--mut)}.mkmap-color-btn .dot{width:16px;height:16px;border-radius:3px;border:1px solid rgba(0,0,0,.25)}.mkmap-color-btn .hex{font-family:Spline Sans Mono,monospace;font-size:10.5px;color:var(--mut2);text-transform:uppercase}.mkmap-pop{position:absolute;z-index:30;top:calc(100% + 6px);left:0;padding:10px;background:var(--p1);border:1px solid var(--bd2);border-radius:var(--r);box-shadow:0 14px 38px #0006}.mkmap-pop-grid{display:grid;grid-template-columns:repeat(6,22px);gap:7px}.mkmap-pop-grid button{width:22px;height:22px;border-radius:3px;border:1px solid rgba(0,0,0,.25);cursor:pointer;position:relative}.mkmap-pop-grid button.on:after{content:"";position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;border:1.5px solid var(--tx);border-radius:5px}.mkmap-field{position:relative}.mkmap-select{display:flex;align-items:center;gap:8px;width:100%;padding:7px 9px;border:1px solid var(--bd2);border-radius:var(--r);background:var(--p1);cursor:pointer;text-align:left;transition:border-color .12s;font-size:inherit}.mkmap-select:hover{border-color:var(--mut)}.mkmap-select.is-inherited{border-style:dashed;border-color:var(--bd2);background:transparent}.mkmap-select .body{min-width:0;flex:1}.mkmap-select .code{font-family:Spline Sans Mono,monospace;font-size:12px;font-weight:600;color:var(--tx)}.mkmap-select.is-inherited .code{color:var(--mut2);font-weight:500}.mkmap-select .desc{font-size:11px;color:var(--mut);margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mkmap-select .chev{width:14px;height:14px;color:var(--mut);flex-shrink:0;display:grid;place-items:center}.mkmap-tag{font-family:Spline Sans Mono,monospace;font-size:8px;text-transform:uppercase;letter-spacing:.08em;color:var(--mut);border:1px solid var(--bd2);border-radius:2px;padding:2px 4px;flex-shrink:0}.mkmap-menu{position:absolute;z-index:40;top:calc(100% + 6px);left:0;width:320px;max-width:86vw;background:var(--p1);border:1px solid var(--bd2);border-radius:var(--r);box-shadow:0 18px 46px #00000073;overflow:hidden}.mkmap-search{display:flex;align-items:center;gap:8px;padding:9px 11px;border-bottom:1px solid var(--bd)}.mkmap-opts{max-height:226px;overflow-y:auto;padding:5px}.mkmap-optgrp{font-family:Spline Sans Mono,monospace;font-size:8.5px;text-transform:uppercase;letter-spacing:.1em;color:var(--mut);padding:8px 9px 4px}.mkmap-opt{display:flex;align-items:center;gap:9px;padding:8px 9px;border-radius:3px;cursor:pointer}.mkmap-opt:hover,.mkmap-opt.active{background:var(--row-hover)}.mkmap-opt.active{box-shadow:inset 2px 0 0 var(--acc)}.mkmap-opt .code{font-family:Spline Sans Mono,monospace;font-size:12px;font-weight:600;color:var(--tx)}.mkmap-opt .desc{font-size:11.5px;color:var(--mut);margin-top:1px}.mkmap-opt .meta{margin-left:auto;text-align:right;flex-shrink:0}.mkmap-opt .rate{font-family:Spline Sans Mono,monospace;font-size:11.5px;font-weight:600;color:var(--tx)}.mkmap-opt .unit{font-family:Spline Sans Mono,monospace;font-size:9px;text-transform:uppercase;letter-spacing:.06em;color:var(--mut)}.mkmap-noopt{padding:18px 12px;text-align:center;font-size:12px;color:var(--mut)}.mkmap-reset{width:28px;height:28px;display:grid;place-items:center;border-radius:var(--r);border:1px solid transparent;background:transparent;color:var(--mut);cursor:pointer;transition:all .12s;opacity:0}.mkmap-reset svg{width:13px;height:13px}.mkmap-reset:disabled{opacity:.2!important;cursor:not-allowed}.mkmap-bar{display:flex;align-items:center;gap:12px;padding:12px 16px;border-top:1px solid var(--bd);background:var(--p2);border-radius:0 0 var(--r-card) var(--r-card)}.mkmap-bar .status{font-family:Spline Sans Mono,monospace;font-size:11px;color:var(--mut);display:inline-flex;align-items:center;gap:7px}.mkmap-bar .status .dot{width:7px;height:7px;border-radius:50%;background:var(--acc);flex-shrink:0}.mkmap-bar .right{margin-left:auto;display:flex;gap:9px}.mkmap-btn{font-family:Archivo,sans-serif;font-size:13px;font-weight:600;padding:8px 15px;border-radius:var(--r);border:1px solid var(--bd2);background:var(--p1);color:var(--tx);cursor:pointer;transition:all .12s}.mkmap-btn:hover{border-color:var(--mut)}.mkmap-btn.primary{background:var(--acc);border-color:var(--acc);color:var(--ink,#0a0c0e)}.mkmap-btn.primary:hover{background:var(--acc-deep);border-color:var(--acc-deep)}.mkmap-btn.primary:disabled{opacity:.4;cursor:not-allowed}.mkmap-btn.quiet{background:transparent;border-color:transparent;color:var(--mut)}.mkmap-btn.quiet:hover{color:var(--tx)}@media (max-width:600px){.mkmap-table,.mkmap-table thead,.mkmap-table tbody,.mkmap-table tr,.mkmap-table td{display:block;width:100%}.mkmap-table thead{display:none}.mkmap-table tbody tr{padding:13px 14px;border-bottom:1px solid var(--bd);position:relative}.mkmap-table tbody tr.is-override{box-shadow:inset 2px 0 0 var(--acc)}.mkmap-table tbody td{padding:0;border:0}.mkmap-type{margin-bottom:11px}.mkmap-mfield{display:grid;grid-template-columns:64px 1fr;align-items:center;gap:10px;margin-top:9px}.mkmap-mlab{font-family:Spline Sans Mono,monospace;font-size:8.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--mut)}.mkmap-reset{opacity:1!important;position:absolute;top:12px;right:12px}}.crew-cost-section{margin-top:18px}.crew{background:var(--card);border:1px solid var(--bd);border-radius:var(--r-card);overflow:hidden}.crew-head{display:flex;align-items:center;gap:14px;padding:15px 18px;border-bottom:1px solid var(--bd);background:var(--p2)}.crew-badge{width:42px;height:42px;border-radius:var(--r);display:grid;place-items:center;background:color-mix(in oklab,var(--acc) 16%,var(--p1));border:1px solid color-mix(in oklab,var(--acc) 36%,var(--bd));color:var(--acc);flex-shrink:0}.crew-id .n{font-size:16px;font-weight:700;color:var(--tx);letter-spacing:-.01em}.crew-id .s{font-family:Spline Sans Mono,monospace;font-size:10.5px;color:var(--mut);margin-top:2px}.crew-head .total{margin-left:auto;text-align:right}.crew-head .total .lab{font-family:Spline Sans Mono,monospace;font-size:8.5px;text-transform:uppercase;letter-spacing:.1em;color:var(--mut)}.crew-head .total .amt{font-family:Spline Sans Mono,monospace;font-size:26px;font-weight:700;color:var(--acc);line-height:1.05;margin-top:3px}.crew-head .total .amt.zero{color:var(--mut2)}.crew-head .total .amt .u{font-size:12px;color:var(--mut);font-weight:400}.crew-banner{display:flex;align-items:center;gap:11px;padding:10px 18px;border-bottom:1px solid var(--bd);font-size:12px;line-height:1.4;color:var(--tx);background:color-mix(in oklab,var(--acc) 7%,transparent)}.crew-banner svg{width:16px;height:16px;color:var(--acc);flex-shrink:0}.crew-banner b{font-weight:700}.crew-banner.inherit{background:color-mix(in oklab,var(--gas) 8%,transparent)}.crew-banner.inherit svg{color:var(--gas)}.crew-banner .link{margin-left:auto;font-weight:600;color:var(--acc);cursor:pointer;white-space:nowrap}.crew-banner .link:hover{text-decoration:underline}.crew-table{width:100%;border-collapse:collapse;font-size:13px}.crew-table thead th{font-family:Spline Sans Mono,monospace;text-align:left;font-size:9px;font-weight:500;text-transform:uppercase;letter-spacing:.1em;color:var(--mut);padding:10px 14px;border-bottom:1px solid var(--bd2);white-space:nowrap}.crew-table th.num,.crew-table td.num{text-align:right}.crew-table tbody td{padding:9px 14px;border-bottom:1px solid var(--bd);vertical-align:middle;color:var(--tx)}.crew-table tbody tr:hover{background:var(--row-hover)}.crew-table tbody tr.editing{background:color-mix(in oklab,var(--acc) 6%,transparent);box-shadow:inset 2px 0 0 var(--acc)}.crew-mem{display:flex;align-items:center;gap:10px}.crew-av{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;flex-shrink:0;font-family:Spline Sans Mono,monospace;font-size:10px;font-weight:700;color:var(--ink,#0a0c0e)}.crew-mem .nm-inp{all:unset;font-weight:600;color:var(--tx);white-space:nowrap;border-bottom:1px dashed var(--bd2);min-width:80px;max-width:120px;font-size:13px}.crew-mem .nm-inp:focus{border-bottom-color:var(--acc)}.crew-mem .role{font-family:Spline Sans Mono,monospace;font-size:9.5px;color:var(--mut);margin-top:2px}.crew-mem .role-inp{all:unset;font-family:Spline Sans Mono,monospace;font-size:9.5px;color:var(--mut);border-bottom:1px dashed var(--bd2);min-width:60px;max-width:110px;margin-top:2px}.crew-mem .role-inp:focus{border-bottom-color:var(--acc);color:var(--tx)}.crew-seg{display:inline-flex;border:1px solid var(--bd2);border-radius:var(--r);overflow:hidden;background:var(--p2)}.crew-seg button{font-family:Spline Sans Mono,monospace;font-size:9.5px;text-transform:uppercase;letter-spacing:.06em;padding:5px 9px;background:transparent;border:0;border-right:1px solid var(--bd2);color:var(--mut);cursor:pointer;line-height:1;transition:all .12s}.crew-seg button:last-child{border-right:0}.crew-seg button.on{background:var(--acc);color:var(--ink,#0a0c0e);font-weight:600}.crew-seg button:not(.on):hover{color:var(--tx);background:var(--row-hover)}.crew-inp{display:inline-flex;align-items:center;gap:2px;border:1px solid var(--bd2);border-radius:var(--r);background:var(--p1);padding:5px 8px;transition:border-color .12s}.crew-inp:focus-within{border-color:var(--acc)}.crew-inp .cur{font-family:Spline Sans Mono,monospace;font-size:11px;color:var(--mut)}.crew-inp input{all:unset;width:52px;text-align:right;font-family:Spline Sans Mono,monospace;font-size:12.5px;font-weight:600;color:var(--tx)}.crew-inp .u{font-family:Spline Sans Mono,monospace;font-size:9px;color:var(--mut)}.crew-hrs{font-family:Spline Sans Mono,monospace;font-size:12px;color:var(--mut2);white-space:nowrap}.crew-hrs.dim{color:var(--mut);opacity:.5}.crew-hrs input{all:unset;width:22px;text-align:right;font-family:Spline Sans Mono,monospace;font-size:12px;font-weight:600;color:var(--tx);border-bottom:1px dashed var(--bd2)}.crew-cost{font-family:Spline Sans Mono,monospace;font-size:14px;font-weight:700;color:var(--tx);white-space:nowrap}.crew-cost .pd{display:block;font-size:9px;font-weight:400;color:var(--mut);margin-top:1px}.crew-rm{width:26px;height:26px;display:grid;place-items:center;border-radius:var(--r);border:1px solid transparent;background:transparent;color:var(--mut);cursor:pointer;opacity:0;transition:opacity .12s}.crew-rm svg{width:13px;height:13px}.crew-table tbody tr:hover .crew-rm{opacity:.5}.crew-rm:hover{opacity:1!important;color:var(--elec);border-color:color-mix(in oklab,var(--elec) 45%,transparent)}.crew-add{display:flex;align-items:center;gap:8px;padding:10px 14px;font-family:Archivo,sans-serif;font-size:12.5px;font-weight:600;color:var(--mut);cursor:pointer;border-bottom:1px solid var(--bd);background:transparent;width:100%;border-left:0;border-right:0;border-top:0;text-align:left;transition:color .12s}.crew-add svg{width:14px;height:14px}.crew-add:hover{color:var(--acc)}.crew-foot{display:grid;grid-template-columns:1fr auto;gap:18px;padding:14px 18px;background:var(--p2);border-top:1px solid var(--bd);align-items:center}.crew-flow{display:flex;align-items:center;gap:11px}.crew-flow .ic{width:32px;height:32px;border-radius:var(--r);display:grid;place-items:center;background:var(--p1);border:1px solid var(--bd);color:var(--mut2);flex-shrink:0}.crew-flow .ic svg{width:15px;height:15px}.crew-flow .txt{font-size:12px;color:var(--mut);line-height:1.4}.crew-flow .txt b{color:var(--tx);font-weight:600}.crew-sums{display:flex;gap:22px;align-items:flex-end}.crew-sum{text-align:right}.crew-sum .k{font-family:Spline Sans Mono,monospace;font-size:8.5px;text-transform:uppercase;letter-spacing:.09em;color:var(--mut)}.crew-sum .v{font-family:Spline Sans Mono,monospace;font-size:14px;font-weight:600;color:var(--tx);margin-top:3px}.crew-sum.grand .v{font-size:19px;color:var(--acc)}.crew-sum .v .u{font-size:9px;color:var(--mut);font-weight:400}.crew.is-mobile .crew-head{flex-wrap:wrap;gap:11px}.crew.is-mobile .crew-head .total{margin-left:0;flex:1;text-align:left}@media (max-width:600px){.crew-cost-section .crew-table,.crew-cost-section thead,.crew-cost-section tbody,.crew-cost-section tr,.crew-cost-section td{display:block;width:100%}.crew-cost-section thead{display:none}.crew-cost-section .crew-table tbody tr{padding:12px 14px;border-bottom:1px solid var(--bd);position:relative}.crew-cost-section .crew-table tbody td{padding:0;border:0}.crew-mem{margin-bottom:11px}.crew-mrow{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:8px}.crew-mk{font-family:Spline Sans Mono,monospace;font-size:8.5px;text-transform:uppercase;letter-spacing:.07em;color:var(--mut)}.crew-foot{grid-template-columns:1fr;gap:14px}}.app.theme-light .crew{background:var(--card);border-color:var(--bd)}.app.theme-light .crew-head,.app.theme-light .crew-foot{background:var(--p2);border-color:var(--bd)}.app.theme-light .crew-banner.inherit{background:color-mix(in oklab,var(--gas) 8%,transparent)}.app.theme-light .crew-av{color:var(--ink,#ffffff)}.tix{background:var(--card);border:1px solid var(--bd);border-radius:var(--r-card);overflow:hidden;width:780px;max-width:100%;box-shadow:0 18px 50px #0000004d}.tix-rail{display:flex;align-items:center;gap:0;padding:13px 18px;border-bottom:1px solid var(--bd);background:var(--p2)}.tix-step{display:flex;align-items:center;gap:9px}.tix-step .num{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-family:Spline Sans Mono,monospace;font-size:11px;font-weight:700;border:1px solid var(--bd2);color:var(--mut);background:var(--p1)}.tix-step .lab{font-family:Spline Sans Mono,monospace;font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--mut);white-space:nowrap}.tix-step.done .num{background:color-mix(in oklab,var(--sewer) 18%,var(--p1));border-color:color-mix(in oklab,var(--sewer) 45%,var(--bd2));color:var(--sewer)}.tix-step.done .num svg{width:11px;height:11px}.tix-step.active .num{background:var(--acc);border-color:var(--acc);color:var(--ink,#0a0c0e)}.tix-step.active .lab{color:var(--tx);font-weight:600}.tix-railsep{flex:1;height:1px;background:var(--bd2);margin:0 13px;min-width:18px}.tix-railsep.done{background:color-mix(in oklab,var(--sewer) 45%,var(--bd2))}.tix-body{padding:18px}.tix-foot{display:flex;align-items:center;gap:10px;padding:13px 18px;border-top:1px solid var(--bd);background:var(--p2)}.tix-foot .grow{flex:1}.tix-foot .meta{font-family:Spline Sans Mono,monospace;font-size:10.5px;color:var(--mut)}.tix-foot .meta b{color:var(--tx);font-weight:600}.tix-btn{font-family:Archivo,sans-serif;font-size:13px;font-weight:600;padding:8px 16px;border-radius:var(--r);border:1px solid var(--bd2);background:var(--p1);color:var(--tx);cursor:pointer;transition:all .12s;display:inline-flex;align-items:center;gap:7px}.tix-btn svg{width:14px;height:14px}.tix-btn:hover{border-color:var(--mut)}.tix-btn.primary{background:var(--acc);border-color:var(--acc);color:var(--ink,#0a0c0e)}.tix-btn.primary:hover{background:var(--acc-deep);border-color:var(--acc-deep)}.tix-btn.quiet{background:transparent;border-color:transparent;color:var(--mut)}.tix-btn.quiet:hover{color:var(--tx)}.tix-seclab{display:flex;align-items:center;gap:8px;font-family:Spline Sans Mono,monospace;font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--mut);margin-bottom:12px}.tix-seclab svg{width:13px;height:13px;color:var(--acc)}.tix-seclab .ct{color:var(--mut2)}.tix-seclab .hint{margin-left:auto;text-transform:none;letter-spacing:.02em;font-size:9.5px;color:var(--mut);display:inline-flex;align-items:center;gap:5px}.tix-seclab .hint svg{width:11px;height:11px;color:var(--mut)}.tix-up{display:grid;grid-template-columns:1fr 1fr;gap:14px}.tix-drop{border:1.5px dashed var(--bd2);border-radius:var(--r);padding:30px 18px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:11px;transition:border-color .12s,background .12s;cursor:pointer}.tix-drop:hover{border-color:var(--acc);background:color-mix(in oklab,var(--acc) 5%,transparent)}.tix-drop .glyph{width:44px;height:44px;border-radius:var(--r);display:grid;place-items:center;background:color-mix(in oklab,var(--acc) 13%,transparent);color:var(--acc)}.tix-drop .glyph svg{width:21px;height:21px}.tix-drop .t{font-weight:600;color:var(--tx);font-size:14px}.tix-drop .s{font-size:12px;color:var(--mut);line-height:1.45}.tix-drop .pick{font-family:Spline Sans Mono,monospace;font-size:10px;color:var(--acc);border:1px solid color-mix(in oklab,var(--acc) 42%,transparent);border-radius:var(--r);padding:5px 11px}.tix-or{display:grid;grid-template-columns:1fr 1fr;gap:14px}.tix-email{border:1px solid var(--bd2);border-radius:var(--r);padding:18px;display:flex;flex-direction:column;gap:10px}.tix-email .glyph{width:40px;height:40px;border-radius:var(--r);display:grid;place-items:center;background:var(--p2);color:var(--mut2);border:1px solid var(--bd)}.tix-email .glyph svg{width:19px;height:19px}.tix-email .t{font-weight:600;color:var(--tx);font-size:13.5px}.tix-email .s{font-size:12px;color:var(--mut);line-height:1.45}.tix-mailto{display:flex;align-items:center;gap:8px;background:var(--p2);border:1px solid var(--bd);border-radius:var(--r);padding:8px 10px;font-family:Spline Sans Mono,monospace;font-size:11.5px;color:var(--acc)}.tix-mailto .copy{margin-left:auto;color:var(--mut);cursor:pointer;display:grid;place-items:center}.tix-mailto .copy svg{width:13px;height:13px}.tix-recent{margin-top:14px}.tix-recent-row{display:flex;align-items:center;gap:10px;padding:9px 11px;border:1px solid var(--bd);border-radius:var(--r)}.tix-recent-row+.tix-recent-row{margin-top:8px}.tix-recent-row svg{width:15px;height:15px;color:var(--elec);flex-shrink:0}.tix-recent-row .nm{font-family:Spline Sans Mono,monospace;font-size:12px;color:var(--tx)}.tix-recent-row .sz{font-family:Spline Sans Mono,monospace;font-size:10px;color:var(--mut);margin-left:auto}.tix-fields{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:20px}.tix-f{display:flex;flex-direction:column;gap:5px}.tix-f.span2{grid-column:span 2}.tix-f-lab{font-family:Spline Sans Mono,monospace;font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:var(--mut);display:flex;align-items:center;gap:6px}.tix-f-in{display:flex;align-items:center;gap:7px;background:var(--p1);border:1px solid var(--bd2);border-radius:var(--r);padding:8px 10px;font-size:13px;color:var(--tx);font-family:Archivo,sans-serif}.tix-f-in input{all:unset;flex:1;min-width:0;color:var(--tx);font-size:13px}.tix-f-in.mono input,.tix-f-in.mono{font-family:Spline Sans Mono,monospace;font-size:12.5px}.tix-f-in:focus-within{border-color:var(--acc)}.tix-f.flag .tix-f-in{border-color:color-mix(in oklab,var(--gas) 55%,var(--bd2));background:color-mix(in oklab,var(--gas) 7%,transparent)}.tix-f-tag{font-family:Spline Sans Mono,monospace;font-size:7.5px;text-transform:uppercase;letter-spacing:.07em;padding:2px 5px;border-radius:2px;border:1px solid var(--bd2);color:var(--mut)}.tix-f-tag.auto{color:var(--water);border-color:color-mix(in oklab,var(--water) 40%,transparent)}.tix-f-tag.verify{color:var(--gas);border-color:color-mix(in oklab,var(--gas) 50%,transparent)}.tix-pr-wrap{border:1px solid var(--bd);border-radius:var(--r);overflow:visible}.tix-pr{width:100%;border-collapse:collapse;font-size:12.5px}.tix-pr thead th{font-family:Spline Sans Mono,monospace;text-align:left;font-size:8.5px;font-weight:500;text-transform:uppercase;letter-spacing:.1em;color:var(--mut);padding:9px 12px;border-bottom:1px solid var(--bd2);background:var(--p2);white-space:nowrap}.tix-pr tbody td{padding:9px 12px;border-bottom:1px solid var(--bd);vertical-align:middle;color:var(--tx)}.tix-pr tbody tr:last-child td{border-bottom:0}.tix-pr tbody tr:hover{background:var(--row-hover)}.tix-pr .mem{font-weight:600;color:var(--tx);white-space:nowrap}.tix-pr .sa{font-family:Spline Sans Mono,monospace;font-size:9.5px;color:var(--mut);margin-top:2px}.tix-util{display:flex;gap:4px;flex-wrap:wrap}.tix-util span{font-family:Spline Sans Mono,monospace;font-size:8.5px;text-transform:uppercase;letter-spacing:.04em;padding:2px 6px;border-radius:2px;border:1px solid var(--bd2);color:var(--mut2);white-space:nowrap}.tix-contact{font-size:11.5px;color:var(--mut2);white-space:nowrap}.tix-contact .ph{font-family:Spline Sans Mono,monospace;font-size:10px;color:var(--mut);margin-top:1px}.tix-date{font-family:Spline Sans Mono,monospace;font-size:10.5px;color:var(--mut2);white-space:nowrap}.tix-date.none{color:var(--mut);opacity:.6}.tix-note-in{all:unset;font-size:11.5px;color:var(--tx);width:100%;min-width:90px}.tix-note-in::placeholder{color:var(--mut);opacity:.7}.tix-status{position:relative}.tix-status-btn{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;font-family:Spline Sans Mono,monospace;font-size:9.5px;font-weight:600;padding:4px 8px;border-radius:var(--r);border:1px solid var(--bd2);color:var(--mut2);cursor:pointer;background:transparent}.tix-status-btn .dot{width:7px;height:7px;border-radius:50%;background:currentColor}.tix-status-btn svg{width:11px;height:11px;opacity:.7}.tix-status-btn.marked{color:var(--sewer);border-color:color-mix(in oklab,var(--sewer) 42%,transparent);background:color-mix(in oklab,var(--sewer) 12%,transparent)}.tix-status-btn.clear{color:var(--water);border-color:color-mix(in oklab,var(--water) 42%,transparent);background:color-mix(in oklab,var(--water) 12%,transparent)}.tix-status-btn.pending{color:var(--gas);border-color:color-mix(in oklab,var(--gas) 46%,transparent);background:color-mix(in oklab,var(--gas) 12%,transparent)}.tix-status-menu{position:absolute;z-index:30;top:calc(100% + 5px);left:0;width:188px;background:var(--p1);border:1px solid var(--bd2);border-radius:var(--r);box-shadow:0 14px 36px #0006;padding:5px}.tix-status-opt{display:flex;align-items:center;gap:8px;padding:7px 8px;border-radius:3px;cursor:pointer;font-family:Spline Sans Mono,monospace;font-size:10.5px;font-weight:600}.tix-status-opt:hover{background:var(--row-hover)}.tix-status-opt .dot{width:8px;height:8px;border-radius:50%}.tix-status-opt.marked{color:var(--sewer)}.tix-status-opt.marked .dot{background:var(--sewer)}.tix-status-opt.clear{color:var(--water)}.tix-status-opt.clear .dot{background:var(--water)}.tix-status-opt.pending{color:var(--gas)}.tix-status-opt.pending .dot{background:var(--gas)}.tix-pr-head{display:flex;align-items:center;gap:10px;padding:11px 13px;border-bottom:1px solid var(--bd);background:var(--p2)}.tix-pr-head .ttl{font-family:Spline Sans Mono,monospace;font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--mut2)}.tix-pr-head .roll{margin-left:auto;display:flex;gap:7px}.tix-roll{display:inline-flex;align-items:center;gap:5px;font-family:Spline Sans Mono,monospace;font-size:10px;font-weight:600}.tix-roll .dot{width:8px;height:8px;border-radius:50%}.tix-roll.marked{color:var(--sewer)}.tix-roll.marked .dot{background:var(--sewer)}.tix-roll.clear{color:var(--water)}.tix-roll.clear .dot{background:var(--water)}.tix-roll.pending{color:var(--gas)}.tix-roll.pending .dot{background:var(--gas)}.tix-confirm{display:flex;flex-direction:column;gap:16px}.tix-confirm-card{border:1px solid var(--bd);border-radius:var(--r);padding:16px}.tix-confirm-mode{display:flex;align-items:center;gap:12px;padding:13px 15px;border-radius:var(--r);border:1px solid color-mix(in oklab,var(--acc) 40%,var(--bd));background:color-mix(in oklab,var(--acc) 8%,transparent)}.tix-confirm-mode .glyph{width:38px;height:38px;border-radius:var(--r);display:grid;place-items:center;background:color-mix(in oklab,var(--acc) 16%,var(--p1));color:var(--acc);border:1px solid color-mix(in oklab,var(--acc) 36%,var(--bd))}.tix-confirm-mode .glyph svg{width:18px;height:18px}.tix-confirm-mode .t{font-weight:700;color:var(--tx);font-size:14px}.tix-confirm-mode .s{font-size:12px;color:var(--mut);margin-top:2px;line-height:1.4}.tix-sum{display:grid;grid-template-columns:repeat(2,1fr);gap:0 22px}.tix-sum-row{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--bd);font-size:12.5px}.tix-sum-row .k{color:var(--mut)}.tix-sum-row .v{color:var(--tx);font-weight:500;text-align:right;font-family:Spline Sans Mono,monospace;font-size:11.5px}.tix-toggle{display:flex;align-items:center;gap:10px;font-size:12.5px;color:var(--tx)}.tix-sw{width:34px;height:19px;border-radius:10px;background:var(--acc);position:relative;flex-shrink:0;cursor:pointer}.tix-sw:after{content:"";position:absolute;top:2px;left:17px;width:15px;height:15px;border-radius:50%;background:#fff;transition:left .14s}.tix-detail{width:420px;border:1px solid var(--bd);border-radius:var(--r-card);background:var(--card);overflow:visible}.tix.is-mobile{width:348px;box-shadow:none}.tix.is-mobile .tix-rail{padding:11px 13px}.tix.is-mobile .tix-step .lab{display:none}.tix.is-mobile .tix-railsep{margin:0 8px}.tix.is-mobile .tix-fields{grid-template-columns:1fr 1fr}.tix.is-mobile .tix-pr thead{display:none}.tix.is-mobile .tix-pr,.tix.is-mobile .tix-pr tbody,.tix.is-mobile .tix-pr tr,.tix.is-mobile .tix-pr td{display:block;width:100%}.tix.is-mobile .tix-pr tbody tr{padding:12px;border-bottom:1px solid var(--bd)}.tix.is-mobile .tix-pr td{padding:3px 0;border:0}.tix.is-mobile .tix-pr .tix-mrow{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:6px}.tix.is-mobile .tix-mk{font-family:Spline Sans Mono,monospace;font-size:8.5px;text-transform:uppercase;letter-spacing:.07em;color:var(--mut)}@media (max-width: 640px){.tix{width:100%;box-shadow:none}.tix-rail{padding:11px 13px}.tix-step .lab{display:none}.tix-railsep{margin:0 8px}.tix-fields{grid-template-columns:1fr 1fr}.tix-up,.tix-or,.tix-sum{grid-template-columns:1fr}.tix-pr thead{display:none}.tix-pr,.tix-pr tbody,.tix-pr tr,.tix-pr td{display:block;width:100%}.tix-pr tbody tr{padding:12px;border-bottom:1px solid var(--bd)}.tix-pr td{padding:3px 0;border:0}}.dig-trigger{border:1px solid var(--bd2);border-radius:var(--r,4px);background:var(--p2);padding:10px 12px;margin-top:12px;display:flex;flex-direction:column;gap:8px}.dig-trigger-head{display:flex;align-items:center;gap:6px;font-family:Spline Sans Mono,monospace;font-size:10px;text-transform:uppercase;letter-spacing:.07em;color:var(--mut)}.dig-trigger-head svg{color:var(--acc,#ff7a1a);flex-shrink:0}.dig-trigger-actions{display:flex;flex-wrap:wrap;gap:6px}.dig-action{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;border-radius:var(--r,4px);border:1px solid var(--bd2);background:var(--card);color:var(--tx);font-size:12px;cursor:pointer;transition:border-color .15s,color .15s}.dig-action:hover:not(:disabled){border-color:var(--acc,#ff7a1a);color:var(--acc,#ff7a1a)}.dig-action:disabled{opacity:.45;cursor:not-allowed}.dig-action.detach{border-color:transparent;color:var(--mut);font-size:11.5px;padding:4px 8px}.dig-action.detach:hover:not(:disabled){color:var(--elec,#e23b2e);border-color:transparent}.dig-trigger.dig-attached{border-color:var(--acc,#ff7a1a);border-opacity:.5}.dig-meta-row{display:flex;align-items:baseline;gap:10px}.dig-ac{font-size:13px;color:var(--tx)}.dig-ac strong{color:var(--acc,#ff7a1a);font-weight:600}.dig-chip{font-family:Spline Sans Mono,monospace;font-size:9px;text-transform:uppercase;letter-spacing:.07em;padding:2px 6px;border-radius:2px;background:var(--acc,#ff7a1a);color:#fff;opacity:.85}.dig-label{position:absolute;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:1px;pointer-events:none;z-index:12}.dig-label .id{font-family:Spline Sans Mono,monospace;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--acc,#ff7a1a);background:var(--card);border:1px solid var(--acc,#ff7a1a);border-radius:2px;padding:1px 5px;white-space:nowrap}.dig-label .ar{font-family:Spline Sans Mono,monospace;font-size:9px;color:var(--acc,#ff7a1a);opacity:.8;white-space:nowrap}.app.theme-light .dig-trigger{background:#f5f2ea;border-color:#ddd6c8}.app.theme-light .dig-action{background:#fff;border-color:#ddd6c8;color:#3a3028}.app.theme-light .dig-action:hover:not(:disabled){border-color:#ff7a1a;color:#ff7a1a}.app.theme-light .dig-label .id{background:#fff}.dig-toolbar{position:absolute;top:12px;left:50%;transform:translate(-50%);z-index:30;display:flex;align-items:center;gap:2px;padding:6px;border-radius:var(--r,4px);background:color-mix(in srgb,var(--p1,#0f1216) 92%,transparent);-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);border:1px solid var(--bd2,#333c46);box-shadow:0 10px 30px #0006;white-space:nowrap;pointer-events:all}.dig-tb-stat{display:flex;flex-direction:column;padding:2px 11px 2px 8px}.dig-tb-stat .t{font-family:Spline Sans Mono,monospace;font-size:8px;text-transform:uppercase;letter-spacing:.08em;color:var(--mut,#8893a0)}.dig-tb-stat .v{font-family:Spline Sans Mono,monospace;font-size:12px;font-weight:700;color:var(--tx,#e9edf1);margin-top:1px}.dig-tb-stat .v .u{color:var(--mut,#8893a0);font-weight:400;font-size:9px}.dig-tb-sep{width:1px;align-self:stretch;background:var(--bd2,#333c46);margin:2px 4px}.dig-tb-btn{font-family:Archivo,sans-serif;font-size:12px;font-weight:600;padding:7px 12px;border-radius:3px;border:1px solid transparent;background:transparent;color:var(--mut2,#aab4bf);cursor:pointer;display:inline-flex;align-items:center;gap:6px;white-space:nowrap;transition:background .12s,color .12s}.dig-tb-btn svg{width:13px;height:13px}.dig-tb-btn:hover{color:var(--tx,#e9edf1);background:#ffffff0f}.dig-tb-btn.primary{background:var(--acc,#ff7a1a);color:var(--ink,#0a0c0e);border-color:var(--acc,#ff7a1a)}.dig-tb-btn.primary:hover{background:var(--acc-deep,#ec5e0b);border-color:var(--acc-deep,#ec5e0b)}.dig-tb-btn:disabled{opacity:.38;cursor:not-allowed;pointer-events:none}.dig-mode-badge{position:absolute;top:12px;left:12px;z-index:30;display:inline-flex;align-items:center;gap:6px;font-family:Spline Sans Mono,monospace;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--acc,#ff7a1a);padding:4px 8px;border-radius:var(--r,4px);background:color-mix(in srgb,var(--p1,#0f1216) 86%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid color-mix(in srgb,var(--acc,#ff7a1a) 40%,var(--bd,#232a32));pointer-events:none}.dig-mode-badge .pulse{width:7px;height:7px;border-radius:50%;background:var(--acc,#ff7a1a);flex-shrink:0;animation:digpulse 1.4s ease-in-out infinite}@keyframes digpulse{0%,to{opacity:1}50%{opacity:.25}}.app.theme-light .dig-toolbar{background:color-mix(in srgb,#fff 94%,transparent);border-color:#cabfa9;box-shadow:0 8px 24px #0000002e}.app.theme-light .dig-tb-stat .t{color:#8a7d68}.app.theme-light .dig-tb-stat .v{color:#2b2620}.app.theme-light .dig-tb-stat .v .u{color:#8a7d68}.app.theme-light .dig-tb-sep{background:#cabfa9}.app.theme-light .dig-tb-btn{color:#5f5645}.app.theme-light .dig-tb-btn:hover{color:#2b2620;background:#0000000d}.app.theme-light .dig-mode-badge{background:#ffffffe0}.st-view{display:flex;flex-direction:column;min-height:0}.st-head{padding:20px 24px 14px}.st-head-l{position:relative;padding-left:15px}.st-head-l:before{content:"";position:absolute;left:0;top:4px;width:3px;height:26px;background:var(--acc);border-radius:2px}.st-title{font-family:Saira Condensed,sans-serif;font-weight:700;font-size:34px;line-height:1.05;letter-spacing:.015em;color:var(--tx)}.st-sub{font-size:13px;color:var(--mut);margin-top:5px}.st-tabs{display:flex;gap:6px;padding:4px 24px 0;border-bottom:1px solid var(--bd);flex-wrap:wrap}.st-tab{display:inline-flex;align-items:center;gap:8px;padding:9px 15px;margin-bottom:-1px;background:var(--p2);border:1px solid var(--bd);border-bottom-color:transparent;border-radius:var(--r) var(--r) 0 0;color:var(--mut);cursor:pointer;font-family:inherit;font-size:13px;font-weight:600;transition:color .12s,background .12s}.st-tab svg{width:14px;height:14px;opacity:.8}.st-tab:hover{color:var(--tx)}.st-tab.on{background:var(--acc);border-color:var(--acc);color:var(--ink,#0a0c0e)}.st-tab.on svg{opacity:1}.st-tab .roles{font-family:Spline Sans Mono,monospace;font-size:8.5px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;padding:2px 6px;border-radius:2px;border:1px solid var(--bd2);color:var(--mut)}.st-tab.on .roles{border-color:color-mix(in srgb,var(--ink,#0a0c0e) 35%,transparent);color:color-mix(in srgb,var(--ink,#0a0c0e) 78%,transparent)}.st-rolebar{display:flex;align-items:center;gap:8px;padding:10px 24px;border-bottom:1px solid var(--bd);background:color-mix(in srgb,var(--p2) 45%,transparent);font-family:Spline Sans Mono,monospace;font-size:9.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--mut)}.st-rolebar svg{width:13px;height:13px;color:var(--acc);flex-shrink:0}.st-rolebar b{color:var(--mut2);font-weight:600}.st-panel-body{padding:26px 24px 32px}.cx-scope{display:inline-flex;align-items:center;gap:6px;font-family:Spline Sans Mono,monospace;font-size:10px;color:var(--mut)}.cx-scope b{color:var(--tx);font-weight:600}.cx-scope svg{width:12px;height:12px;color:var(--acc)}.gn-card{width:640px;max-width:100%;border:1px solid var(--bd);border-radius:var(--r);background:var(--card);overflow:hidden}.gn-body{padding:24px 26px 26px}.gn-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px 26px}.gn-field{display:flex;flex-direction:column;gap:7px;min-width:0}.gn-field.wide{grid-column:1 / -1;max-width:290px}.gn-label{font-family:Spline Sans Mono,monospace;font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.1em;color:var(--mut)}.gn-inwrap{position:relative;display:flex;align-items:center}.gn-cur{position:absolute;left:12px;font-family:Spline Sans Mono,monospace;font-size:13px;color:var(--mut);pointer-events:none}.gn-suf{position:absolute;right:13px;font-family:Spline Sans Mono,monospace;font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--mut);pointer-events:none}.gn-in,.gn-sel{height:42px;width:100%;padding:0 13px;background:var(--p1);border:1px solid var(--bd2);border-radius:var(--r);color:var(--tx);font-family:Spline Sans Mono,monospace;font-size:14px;font-weight:500;outline:none;transition:border-color .12s}.gn-in.has-cur{padding-left:26px}.gn-in:focus,.gn-sel:focus{border-color:var(--acc)}.gn-sel{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;font-family:Archivo,sans-serif;font-size:14px;padding-right:36px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%238893a0' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}.gn-hint{font-size:11px;color:var(--mut);line-height:1.45}.gn-foot{display:flex;align-items:center;gap:14px;padding:14px 26px;border-top:1px solid var(--bd);background:var(--p2)}.gn-foot .note{font-family:Spline Sans Mono,monospace;font-size:10px;letter-spacing:.04em;color:var(--mut)}.gn-foot .right{margin-left:auto}.ct-wrap{display:flex;flex-direction:column;gap:22px}.ct-card{border:1px solid var(--bd);border-radius:var(--r);background:var(--card);overflow:hidden}.ct-head{display:flex;align-items:flex-start;gap:14px;padding:15px 18px;border-bottom:1px solid var(--bd);background:var(--p2);flex-wrap:wrap}.ct-head-l{min-width:0;flex:1}.ct-head-name{display:flex;align-items:center;gap:10px}.ct-head-code{font-family:Spline Sans Mono,monospace;font-size:11px;font-weight:700;letter-spacing:.04em;color:var(--acc);border:1px solid color-mix(in srgb,var(--acc) 40%,transparent);background:color-mix(in srgb,var(--acc) 11%,transparent);border-radius:3px;padding:3px 8px}.ct-head-title{font-weight:600;font-size:15px;color:var(--tx)}.ct-head-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:7px;font-family:Spline Sans Mono,monospace;font-size:10.5px;color:var(--mut)}.ct-head-meta .sep{width:3px;height:3px;border-radius:50%;background:var(--bd2);flex-shrink:0}.ct-head-meta b{color:var(--mut2);font-weight:600}.ct-head-acts{display:flex;gap:8px;align-items:center}.ct-ico{width:30px;height:30px;display:grid;place-items:center;border:1px solid var(--bd2);border-radius:var(--r);background:var(--p1);color:var(--mut);cursor:pointer;transition:all .12s}.ct-ico svg{width:14px;height:14px}.ct-ico:hover{color:var(--tx);border-color:var(--mut)}.ct-ico.danger:hover{color:var(--elec);border-color:color-mix(in srgb,var(--elec) 50%,transparent)}.ct-thead,.ct-row{display:grid;grid-template-columns:120px 1fr 78px 116px;align-items:center;gap:14px;padding:10px 18px}.ct-thead{background:color-mix(in srgb,var(--p2) 50%,transparent);border-bottom:1px solid var(--bd2);font-family:Spline Sans Mono,monospace;font-size:9.5px;text-transform:uppercase;letter-spacing:.1em;color:var(--mut)}.ct-thead .num,.ct-row .num{text-align:right}.ct-thead .ctr,.ct-row .ctr{text-align:center}.ct-grouphead{display:flex;align-items:center;gap:10px;padding:9px 18px;background:color-mix(in srgb,var(--p2) 55%,transparent);border-bottom:1px solid var(--bd);border-top:1px solid var(--bd)}.ct-grouphead .gdot{width:9px;height:9px;border-radius:2px;background:var(--gc);flex-shrink:0}.ct-grouphead .gn{font-family:Spline Sans Mono,monospace;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--tx)}.ct-grouphead .gc{font-family:Spline Sans Mono,monospace;font-size:9.5px;color:var(--mut)}.ct-row{border-bottom:1px solid var(--bd);font-size:13px;color:var(--tx)}.ct-row:last-child{border-bottom:0}.ct-row:hover{background:var(--row-hover)}.ct-row .code{font-family:Spline Sans Mono,monospace;font-weight:700;font-size:12px;color:var(--acc)}.ct-row .desc{color:var(--tx);min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ct-row .unit{font-family:Spline Sans Mono,monospace;font-size:11px;letter-spacing:.04em;color:var(--mut)}.ct-row .rate{font-family:Spline Sans Mono,monospace;font-weight:700;color:var(--sewer)}.ct-row .rate .cur{opacity:.7;font-weight:500;margin-right:1px}.ct-foot{display:flex;align-items:center;padding:11px 18px;border-top:1px solid var(--bd);background:var(--p2);font-family:Spline Sans Mono,monospace;font-size:10px;letter-spacing:.04em;color:var(--mut)}.ct-foot b{color:var(--mut2);font-weight:600}.mkmap-table tbody tr.is-override td:first-child{box-shadow:inset 3px 0 0 var(--acc)}.mkmap-select.is-inherited{border-style:dashed;background:transparent}.mkmap-tag{font-family:Spline Sans Mono,monospace;font-size:8px;text-transform:uppercase;letter-spacing:.08em;color:var(--mut);border:1px solid var(--bd2);border-radius:2px;padding:2px 5px;flex-shrink:0}.mkmap-menu{position:absolute;z-index:40;top:calc(100% + 6px);left:0;width:340px;max-width:86vw;background:var(--p1);border:1px solid var(--bd2);border-radius:var(--r);box-shadow:0 18px 46px #00000073;overflow:hidden}.mkmap-search{display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid var(--bd)}.mkmap-search svg{width:14px;height:14px;color:var(--mut);flex-shrink:0}.mkmap-search input{flex:1;background:transparent;border:none;outline:none;color:var(--tx);font-family:Archivo,sans-serif;font-size:13px}.mkmap-search input::placeholder{color:var(--mut)}.mkmap-search .kbd{font-family:Spline Sans Mono,monospace;font-size:9px;color:var(--mut);border:1px solid var(--bd2);border-radius:3px;padding:2px 5px}.mkmap-reset{width:30px;height:30px;display:grid;place-items:center;border-radius:var(--r);border:1px solid transparent;background:transparent;color:var(--mut);cursor:pointer;transition:all .12s;opacity:0}.mkmap-reset svg{width:14px;height:14px}.mkmap-table tbody tr:hover .mkmap-reset{opacity:.55}.mkmap-table tbody tr.is-override .mkmap-reset{opacity:1;color:var(--acc)}.mkmap-reset:hover{border-color:var(--bd2);color:var(--acc);background:var(--p2)}.mkmap-opt mark{background:color-mix(in oklab,var(--acc) 28%,transparent);color:var(--tx);border-radius:2px}.mkmap-bar{display:flex;align-items:center;gap:12px;padding:13px 18px;border-top:1px solid var(--bd);background:var(--p2)}.mkmap-bar .status{font-family:Spline Sans Mono,monospace;font-size:11px;color:var(--mut);display:inline-flex;align-items:center;gap:8px;white-space:nowrap}.mkmap-bar .status .dot{width:7px;height:7px;border-radius:50%;background:var(--acc)}.mkmap-bar.is-clean .status .dot{background:var(--sewer)}.mkmap-bar .status b{color:var(--tx);font-weight:600}.mkmap-bar .right{margin-left:auto}.app.theme-light .st-tab.on,.app.theme-light .ct-head-code{color:#fff}.app.theme-light .ct-row .rate,.app.theme-light .mkmap-opt .rate,.app.theme-light .mkmap-select .desc .rate{color:#1f8a4c}.app.theme-light .gn-in,.app.theme-light .gn-sel{background-color:var(--p1);color:var(--tx);border-color:var(--bd2)}.app.theme-light .gn-sel{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%238a7d68' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}.fp-console{--bg-host:#0c0f13;--track:#1b2027;--track-sw:#2a313a;--chart-tgt:#aab4bf}.app.theme-light .fp-console{--bg-host:#eeeae1;--track:#e8e2d5;--track-sw:#ddd6c8;--chart-tgt:#8a7d68}.fp{background:var(--bg-host);color:var(--tx);position:relative}.fp *,.fp *:before,.fp *:after{box-sizing:border-box}.fp-projbar{display:flex;align-items:center;gap:13px;padding:13px 24px;border-bottom:1px solid var(--bd);background:var(--p2)}.fp-proj-fold{width:30px;height:30px;flex-shrink:0;display:grid;place-items:center;border:1px solid var(--bd2);border-radius:var(--r);background:var(--p1);color:var(--acc)}.fp-proj-fold svg{width:15px;height:15px}.fp-proj-meta{min-width:0;display:flex;flex-direction:column;gap:2px}.fp-proj-kick{font-family:Spline Sans Mono,monospace;font-size:9px;text-transform:uppercase;letter-spacing:.15em;color:var(--mut)}.fp-proj-name{display:flex;align-items:baseline;gap:9px}.fp-proj-name .nm{font-family:Saira Condensed,sans-serif;font-weight:700;font-size:20px;color:var(--tx);letter-spacing:.01em;line-height:1}.fp-proj-name .cust{font-family:Spline Sans Mono,monospace;font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--mut)}.fp-proj-switch{display:inline-flex;align-items:center;max-width:440px}.fp-proj-switch select{-moz-appearance:none;appearance:none;-webkit-appearance:none;max-width:440px;cursor:pointer;font-family:Saira Condensed,sans-serif;font-weight:700;font-size:20px;line-height:1;color:var(--tx);letter-spacing:.01em;background-color:var(--p1);border:1px solid var(--bd2);border-radius:var(--r);padding:4px 32px 4px 11px;text-overflow:ellipsis;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%238893a0' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 11px center;transition:border-color .12s}.fp-proj-switch select:hover{border-color:var(--mut)}.fp-proj-switch select:focus{outline:none;border-color:var(--acc)}.fp-proj-switch select option{font-family:Archivo,sans-serif;font-size:13px;font-weight:500}.fp-proj-count{display:inline-flex;align-items:center;gap:6px;font-family:Spline Sans Mono,monospace;font-size:10px;letter-spacing:.04em;color:var(--mut2)}.fp-proj-count .dot{width:8px;height:8px;border-radius:2px;background:var(--acc)}.fp-proj-spacer{flex:1}.fp-tabs{display:flex;gap:2px;padding:6px 16px 0;border-bottom:1px solid var(--bd);overflow-x:auto;background:var(--p2);scrollbar-width:none;-ms-overflow-style:none}.fp-tabs::-webkit-scrollbar{height:0;display:none}.fp-tab{position:relative;white-space:nowrap;padding:11px;background:transparent;border:none;cursor:pointer;color:var(--mut);font-family:inherit;font-size:13px;font-weight:500;display:inline-flex;align-items:center;gap:7px}.fp-tab svg{width:15px;height:15px;opacity:.85}.fp-tab:hover{color:var(--tx)}.fp-tab.on{color:var(--tx);font-weight:600}.fp-tab.on svg{opacity:1;color:var(--acc)}.fp-tab.on:after{content:"";position:absolute;left:9px;right:9px;bottom:-1px;height:2px;background:var(--acc)}.fp-tab .nu{font-family:Spline Sans Mono,monospace;font-size:8.5px;font-weight:600;letter-spacing:.06em;padding:2px 6px;border-radius:2px;border:1px solid var(--bd2);color:var(--mut)}.fp-tab.on .nu{border-color:color-mix(in srgb,var(--acc) 42%,transparent);color:var(--acc);background:color-mix(in srgb,var(--acc) 10%,transparent)}.fp-head{display:flex;align-items:flex-start;gap:18px;padding:22px 24px 6px;flex-wrap:wrap}.fp-head-l{flex:1;min-width:280px;position:relative;padding-left:15px}.fp-head-l:before{content:"";position:absolute;left:0;top:4px;width:3px;height:26px;background:var(--acc)}.fp-head-title{font-family:Saira Condensed,sans-serif;font-weight:700;font-size:30px;color:var(--tx);letter-spacing:.015em;line-height:1.05}.fp-head-sub{font-size:13px;color:var(--mut);margin-top:7px;line-height:1.5;max-width:640px}.fp-head-sub b{color:var(--mut2);font-weight:600}.fp-head-acts{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.fp-btn{display:inline-flex;align-items:center;gap:7px;height:34px;padding:0 14px;border-radius:var(--r);cursor:pointer;font-family:inherit;font-size:13px;font-weight:600;border:1px solid var(--bd2);background:var(--p1);color:var(--tx);white-space:nowrap;transition:border-color .12s,background .12s,color .12s}.fp-btn svg{width:14px;height:14px}.fp-btn:hover{border-color:var(--mut)}.fp-btn.primary{background:var(--acc);border-color:var(--acc);color:var(--ink, #0a0c0e);font-weight:700}.fp-btn.primary:hover{background:var(--acc-deep);border-color:var(--acc-deep)}.fp-btn.ghost{background:transparent}.fp-btn.sm{height:30px;padding:0 11px;font-size:12px}.fp-body{padding:18px 24px 36px;display:flex;flex-direction:column;gap:20px}.fp-card{border:1px solid var(--bd);border-radius:var(--r);background:var(--card);overflow:hidden}.fp-cardhead{display:flex;align-items:center;gap:11px;padding:13px 16px;border-bottom:1px solid var(--bd);background:var(--p2);flex-wrap:wrap}.fp-cardhead .ic{color:var(--acc);display:grid;place-items:center;width:16px;height:16px;flex-shrink:0}.fp-cardhead .ic svg{width:16px;height:16px}.fp-cardhead .ttl{font-family:Spline Sans Mono,monospace;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--mut2);white-space:nowrap}.fp-cardhead .sub{font-family:Spline Sans Mono,monospace;font-size:10px;letter-spacing:.04em;color:var(--mut)}.fp-cardhead .right{margin-left:auto;display:flex;gap:9px;align-items:center;flex-wrap:wrap}.fp-pill{display:inline-flex;align-items:center;gap:5px;white-space:nowrap;font-family:Spline Sans Mono,monospace;font-size:10px;font-weight:600;padding:3px 9px;border-radius:var(--r);letter-spacing:.04em}.fp-pill.outline{border:1px solid var(--bd2);color:var(--mut2);background:transparent}.fp-pill.acc{color:var(--acc);border:1px solid color-mix(in srgb,var(--acc) 42%,transparent);background:color-mix(in srgb,var(--acc) 11%,transparent)}.fp-pill.solid{color:var(--ink, #0a0c0e);background:var(--acc);border:1px solid var(--acc)}.fp-pill .dot{width:7px;height:7px;border-radius:50%}.fp-vc{display:inline-flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none}.fp-vc .track{position:relative;width:34px;height:18px;flex-shrink:0;border-radius:9px;border:1px solid var(--bd2);background:var(--p1);transition:background .14s,border-color .14s}.fp-vc .track:after{content:"";position:absolute;top:2px;left:2px;width:12px;height:12px;border-radius:50%;background:var(--mut);transition:transform .14s,background .14s}.fp-vc.on .track{background:color-mix(in srgb,var(--sewer) 24%,transparent);border-color:color-mix(in srgb,var(--sewer) 55%,transparent)}.fp-vc.on .track:after{transform:translate(16px);background:var(--sewer)}.fp-vc .vlab{font-family:Spline Sans Mono,monospace;font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:var(--mut)}.fp-vc.on .vlab{color:color-mix(in srgb,var(--sewer) 80%,var(--tx))}.fp-vc-head{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;font-family:Spline Sans Mono,monospace;font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:var(--mut)}.fp-vc-head svg{flex-shrink:0}.fp-vc-head svg{width:12px;height:12px;color:var(--sewer)}.fp-seg{display:inline-flex;border:1px solid var(--bd2);border-radius:var(--r);overflow:hidden}.fp-seg button{padding:5px 11px;background:transparent;border:none;cursor:pointer;font-family:Spline Sans Mono,monospace;font-size:9.5px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--mut)}.fp-seg button+button{border-left:1px solid var(--bd2)}.fp-seg button.on{background:var(--acc);color:var(--ink, #0a0c0e)}.fp-rev{display:flex;align-items:center;gap:18px;padding:14px 18px;border:1px solid var(--bd);border-left:3px solid var(--acc);border-radius:var(--r);background:linear-gradient(100deg,var(--p2),var(--p1));flex-wrap:wrap}.fp-rev-badge{font-family:Spline Sans Mono,monospace;font-size:13px;font-weight:700;letter-spacing:.03em;color:var(--acc);border:1px solid color-mix(in srgb,var(--acc) 42%,transparent);background:color-mix(in srgb,var(--acc) 11%,transparent);border-radius:var(--r);padding:7px 11px}.fp-rev-l{min-width:0}.fp-rev-name{font-weight:600;font-size:15px;color:var(--tx);display:flex;align-items:center;gap:9px}.fp-rev-name .fp-pill{font-size:9px;padding:2px 7px}.fp-rev-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:6px;font-family:Spline Sans Mono,monospace;font-size:10.5px;color:var(--mut)}.fp-rev-meta b{color:var(--mut2);font-weight:600}.fp-rev-meta .sep{width:3px;height:3px;border-radius:50%;background:var(--bd2)}.fp-rev-acts{margin-left:auto;display:flex;align-items:center;gap:9px}.fp-rev-sel{position:relative}.fp-rev-sel select{-moz-appearance:none;appearance:none;-webkit-appearance:none;height:34px;padding:0 32px 0 12px;background-color:var(--p1);border:1px solid var(--bd2);border-radius:var(--r);color:var(--tx);font-family:Spline Sans Mono,monospace;font-size:12px;cursor:pointer;outline:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%238893a0' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center}.fp-rev-sel select:hover{border-color:var(--mut)}.fp-rev-sel select:focus{border-color:var(--acc)}.fp-table{width:100%}.fp-thead,.fp-row{display:grid;align-items:center;gap:14px;padding:10px 16px}.fp-thead{background:color-mix(in srgb,var(--p2) 60%,transparent);border-bottom:1px solid var(--bd2);font-family:Spline Sans Mono,monospace;font-size:9.5px;text-transform:uppercase;letter-spacing:.1em;color:var(--mut)}.fp-thead .num,.fp-row .num{text-align:right;justify-self:end}.fp-thead .ctr,.fp-row .ctr{text-align:center;justify-self:center}.fp-row{border-bottom:1px solid var(--bd);font-size:13px;color:var(--tx)}.fp-row:last-child{border-bottom:none}.fp-row:hover{background:var(--row-hover)}.fp-code{font-family:Spline Sans Mono,monospace;font-weight:700;font-size:12px;color:var(--acc)}.fp-desc{color:var(--tx);min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fp-unit{font-family:Spline Sans Mono,monospace;font-size:11px;letter-spacing:.04em;color:var(--mut)}.fp-grp{display:flex;align-items:center;gap:10px;padding:9px 16px;background:color-mix(in srgb,var(--p2) 55%,transparent);border-bottom:1px solid var(--bd);border-top:1px solid var(--bd)}.fp-grp:first-child{border-top:none}.fp-grp .gdot{width:9px;height:9px;border-radius:2px;background:var(--gc);flex-shrink:0}.fp-grp .gn{font-family:Spline Sans Mono,monospace;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--tx)}.fp-grp .gc{font-family:Spline Sans Mono,monospace;font-size:9.5px;color:var(--mut)}.fp-grp .gright{margin-left:auto;font-family:Spline Sans Mono,monospace;font-size:9.5px;color:var(--mut)}.fp-grp .gright b{color:var(--mut2);font-weight:600}.fp-numwrap{display:inline-flex;align-items:stretch;max-width:150px}.fp-num{width:100%;min-width:0;height:32px;padding:0 10px;text-align:right;background:var(--p1);border:1px solid var(--bd2);border-radius:var(--r) 0 0 var(--r);color:var(--tx);font-family:Spline Sans Mono,monospace;font-weight:600;font-size:13px;outline:none}.fp-num:focus{border-color:var(--acc);z-index:1}.fp-num.solo{border-radius:var(--r)}.fp-numunit{display:grid;place-items:center;padding:0 9px;min-width:38px;font-family:Spline Sans Mono,monospace;font-size:9.5px;font-weight:700;letter-spacing:.05em;color:var(--mut2);background:var(--p3);border:1px solid var(--bd2);border-left:none;border-radius:0 var(--r) var(--r) 0}.fp-ro{font-family:Spline Sans Mono,monospace;font-weight:600;font-size:13px;color:var(--mut2)}.fp-ctl{height:32px;width:100%;padding:0 10px;background:var(--p1);border:1px solid var(--bd2);border-radius:var(--r);color:var(--tx);font-family:inherit;font-size:12.5px;outline:none}.fp-ctl::placeholder{color:var(--mut)}.fp-ctl:focus{border-color:var(--acc)}.fp-date{font-family:Spline Sans Mono,monospace;font-size:11.5px}.fp-tfoot{display:flex;align-items:center;gap:12px;padding:12px 16px;border-top:1px solid var(--bd2);background:var(--p2);font-family:Spline Sans Mono,monospace;font-size:10px;letter-spacing:.05em;text-transform:uppercase;color:var(--mut)}.fp-tfoot b{color:var(--mut2);font-weight:600}.fp-tfoot .right{margin-left:auto;display:flex;gap:16px;align-items:center}.fp-est .fp-thead,.fp-est .fp-row{grid-template-columns:96px 1fr 158px 64px 132px}.fp-fc .fp-thead,.fp-fc .fp-row{grid-template-columns:88px 1.3fr 92px 96px 84px 1.1fr 96px}.fp-ac .fp-thead,.fp-ac .fp-row{grid-template-columns:1.5fr 132px 100px 100px 132px 96px}.fp-left-pos{color:var(--gas)}.fp-left-zero{color:var(--sewer)}.fp-jobtype{display:inline-flex;align-items:center;gap:6px;font-family:Spline Sans Mono,monospace;font-size:10.5px;letter-spacing:.03em;color:var(--mut2)}.fp-jobtype .gdot{width:8px;height:8px;border-radius:2px}.fp-viz-banner{display:flex;align-items:center;gap:16px;padding:16px 20px;border:1px solid var(--bd);border-radius:var(--r);background:var(--p1);flex-wrap:wrap;position:relative;overflow:hidden}.fp-viz-banner:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--acc)}.fp-viz-cust{display:flex;align-items:center;gap:12px;min-width:0}.fp-viz-logo{width:40px;height:40px;flex-shrink:0;display:grid;place-items:center;border:1px solid var(--bd2);border-radius:var(--r);background:var(--p2);font-family:Spline Sans Mono,monospace;font-weight:700;font-size:12px;letter-spacing:.04em;color:var(--mut2)}.fp-viz-cust .nm{font-weight:700;font-size:16px;color:var(--tx)}.fp-viz-cust .sb{font-family:Spline Sans Mono,monospace;font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--mut);margin-top:2px}.fp-viz-banner .right{margin-left:auto;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.fp-ro-tag{display:inline-flex;align-items:center;gap:6px;font-family:Spline Sans Mono,monospace;font-size:9.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--mut2);border:1px solid var(--bd2);border-radius:var(--r);padding:6px 10px}.fp-ro-tag svg{width:12px;height:12px;color:var(--sewer)}.fp-daterange{display:inline-flex;align-items:center;gap:9px}.fp-daterange .dr{display:inline-flex;align-items:center;gap:7px;height:34px;padding:0 11px;background:var(--p2);border:1px solid var(--bd2);border-radius:var(--r)}.fp-daterange .dr svg{width:13px;height:13px;color:var(--mut)}.fp-daterange .dr input{background:transparent;border:none;outline:none;color:var(--tx);font-family:Spline Sans Mono,monospace;font-size:12px;width:96px}.fp-daterange .arr{font-family:Spline Sans Mono,monospace;color:var(--mut)}.fp-presets{display:inline-flex;gap:4px}.fp-preset{padding:6px 10px;background:transparent;border:1px solid var(--bd2);border-radius:var(--r);cursor:pointer;font-family:Spline Sans Mono,monospace;font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--mut)}.fp-preset:hover{color:var(--tx);border-color:var(--mut)}.fp-preset.on{background:var(--acc);color:var(--ink, #0a0c0e);border-color:var(--acc);font-weight:700}.fp-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.fp-kpi{position:relative;border:1px solid var(--bd);border-radius:var(--r);background:var(--card);padding:15px 16px 14px;overflow:hidden}.fp-kpi:before{content:"";position:absolute;top:7px;left:7px;width:9px;height:9px;border-top:1.5px solid var(--kc, var(--acc));border-left:1.5px solid var(--kc, var(--acc));opacity:.6}.fp-kpi-l{font-family:Spline Sans Mono,monospace;font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--mut)}.fp-kpi-v{font-family:Saira Condensed,sans-serif;font-weight:700;font-size:32px;color:var(--tx);line-height:1.08;margin-top:8px;display:flex;align-items:baseline;gap:6px}.fp-kpi-v .u{font-family:Spline Sans Mono,monospace;font-size:11px;font-weight:600;letter-spacing:.04em;color:var(--mut)}.fp-kpi-v.accent{color:var(--kc, var(--acc))}.fp-kpi-sub{font-family:Spline Sans Mono,monospace;font-size:10px;letter-spacing:.03em;color:var(--mut);margin-top:5px}.fp-prog-row{display:grid;grid-template-columns:240px 1fr 150px;align-items:center;gap:16px;padding:13px 16px;border-bottom:1px solid var(--bd)}.fp-prog-row:last-child{border-bottom:none}.fp-prog-row:hover{background:var(--row-hover)}.fp-prog-id{min-width:0}.fp-prog-id .top{display:flex;align-items:center;gap:8px}.fp-prog-id .code{font-family:Spline Sans Mono,monospace;font-weight:700;font-size:11.5px;color:var(--acc)}.fp-prog-id .cdot{width:8px;height:8px;border-radius:2px;flex-shrink:0}.fp-prog-id .desc{font-size:13px;color:var(--tx);margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fp-bar{position:relative;height:22px;border-radius:var(--r);background:var(--track);border:1px solid var(--bd);overflow:hidden}.fp-bar .fill{position:absolute;left:0;top:0;bottom:0;background:var(--sewer);border-right:1px solid color-mix(in srgb,var(--sewer) 60%,#000)}.fp-bar.done .fill{background:var(--sewer)}.fp-bar .target{position:absolute;top:-2px;bottom:-2px;width:2px;background:var(--mut2);opacity:.65}.fp-bar .target:after{content:"TARGET";position:absolute;top:-13px;left:50%;transform:translate(-50%);font-family:Spline Sans Mono,monospace;font-size:7px;letter-spacing:.08em;color:var(--mut);white-space:nowrap}.fp-bar-cap{display:flex;align-items:center;gap:6px;font-family:Spline Sans Mono,monospace;font-size:10px;letter-spacing:.02em;color:var(--mut);margin-top:6px}.fp-bar-cap b{color:var(--tx);font-weight:600}.fp-prog-pct{text-align:right}.fp-prog-pct .p{font-family:Saira Condensed,sans-serif;font-weight:700;font-size:26px;color:var(--tx);line-height:1}.fp-prog-pct .p.full{color:var(--sewer)}.fp-prog-pct .left{font-family:Spline Sans Mono,monospace;font-size:10px;letter-spacing:.03em;color:var(--mut);margin-top:4px}.fp-legend{display:flex;align-items:center;gap:16px}.fp-legend .lg{display:inline-flex;align-items:center;gap:7px;font-family:Spline Sans Mono,monospace;font-size:9.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--mut)}.fp-legend .sw{width:11px;height:11px;border-radius:2px}.fp-charts{display:grid;grid-template-columns:1fr 1fr;gap:20px}.fp-chart-body{padding:18px 18px 14px}.fp-chart{width:100%;display:block}.fp-chart text{font-family:Spline Sans Mono,monospace}.fp-chart-foot{display:flex;align-items:center;gap:18px;padding:0 18px 16px;flex-wrap:wrap}.fp-chart-foot .lg{display:inline-flex;align-items:center;gap:7px;font-family:Spline Sans Mono,monospace;font-size:10px;letter-spacing:.03em;color:var(--mut2)}.fp-chart-foot .ln{width:18px;height:0;border-top:2px solid currentColor}.fp-chart-foot .ln.dash{border-top-style:dashed}.fp-gantt{padding:4px 0 0}.fp-gantt-scale{display:grid;padding:0 16px 8px;border-bottom:1px solid var(--bd)}.fp-gantt-scale .mo{font-family:Spline Sans Mono,monospace;font-size:9.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--mut);text-align:left;padding-left:2px;border-left:1px solid var(--bd)}.fp-gantt-scale .mo:first-child{border-left:none}.fp-gantt-row{display:grid;grid-template-columns:230px 1fr;align-items:center;gap:14px;padding:9px 16px;border-bottom:1px solid var(--bd)}.fp-gantt-row:last-child{border-bottom:none}.fp-gantt-row:hover{background:var(--row-hover)}.fp-gantt-lab{min-width:0}.fp-gantt-lab .nm{font-size:12.5px;color:var(--tx);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fp-gantt-lab .mt{display:flex;align-items:center;gap:7px;margin-top:3px;font-family:Spline Sans Mono,monospace;font-size:9px;text-transform:uppercase;letter-spacing:.05em;color:var(--mut)}.fp-gantt-lab .mt .gdot{width:7px;height:7px;border-radius:2px}.fp-gantt-track{position:relative;height:26px}.fp-gantt-track .grid-line{position:absolute;top:-9px;bottom:-9px;width:1px;background:var(--bd)}.fp-gantt-bar{position:absolute;top:3px;height:20px;border-radius:3px;background:color-mix(in srgb,var(--bc) 22%,transparent);border:1px solid color-mix(in srgb,var(--bc) 55%,transparent);overflow:hidden}.fp-gantt-bar .fill{position:absolute;left:0;top:0;bottom:0;background:var(--bc);opacity:.9}.fp-gantt-bar .pct{position:absolute;right:6px;top:50%;transform:translateY(-50%);font-family:Spline Sans Mono,monospace;font-size:9px;font-weight:700;color:var(--tx);z-index:2}.fp-gantt-today{position:absolute;top:0;bottom:0;width:2px;background:var(--acc);z-index:3}.fp-gantt-today:after{display:none}.fp-gantt-today.labelled:after{display:block;content:"TODAY";position:absolute;top:-2px;left:4px;font-family:Spline Sans Mono,monospace;font-size:7.5px;font-weight:700;letter-spacing:.08em;color:var(--acc);white-space:nowrap}.fp-gantt-legend{display:flex;flex-wrap:wrap;gap:14px;padding:12px 16px;border-top:1px solid var(--bd);background:var(--p2)}.fp-gantt-legend .lg{display:inline-flex;align-items:center;gap:7px;font-family:Spline Sans Mono,monospace;font-size:9.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--mut)}.fp-gantt-legend .sw{width:10px;height:10px;border-radius:2px}.fp-hint{display:flex;align-items:center;gap:0;border:1px solid var(--bd2);border-left:2px solid var(--acc);border-radius:var(--r);background:color-mix(in srgb,var(--acc) 5%,var(--p2));overflow:hidden}.fp-hint-seg{display:flex;flex-direction:column;gap:2px;padding:8px 14px;flex:1;min-width:0}.fp-hint-seg+.fp-hint-seg{border-left:1px solid var(--bd)}.fp-hint-l{font-family:Spline Sans Mono,monospace;font-size:8.5px;text-transform:uppercase;letter-spacing:.1em;color:var(--mut)}.fp-hint-v{font-family:Spline Sans Mono,monospace;font-size:14px;font-weight:700;color:var(--tx);display:flex;align-items:baseline;gap:3px}.fp-hint-v .u{font-size:9px;font-weight:600;color:var(--mut)}.fp-hint-v.left{color:var(--gas)}.fp-hint-v.over{color:var(--elec)}.fp-hint-v.done{color:var(--sewer)}.fp-hint-bar{position:relative;height:5px;border-radius:3px;background:var(--track);overflow:hidden;margin-top:5px}.fp-hint-bar .fill{position:absolute;left:0;top:0;bottom:0;background:var(--sewer)}.fp-hint-dev{display:inline-flex;align-items:center;gap:5px;padding:8px 14px;font-family:Spline Sans Mono,monospace;font-size:10px;letter-spacing:.03em;white-space:nowrap}.fp-hint-dev svg{width:12px;height:12px}.fp-hint-dev.on-track{color:var(--sewer)}.fp-hint-dev.over{color:var(--elec)}.fp-note-lock svg{width:15px;height:15px;flex-shrink:0;color:var(--mut2)}.fp-note-lock b{color:var(--mut2)}.fp-statuspill{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;font-family:Spline Sans Mono,monospace;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:3px 10px;border-radius:var(--r);color:var(--sc);border:1px solid color-mix(in srgb,var(--sc) 45%,transparent);background:color-mix(in srgb,var(--sc) 12%,transparent)}.fp-statuspill .dot{width:7px;height:7px;border-radius:50%;background:var(--sc)}.fp-pill.outline svg,.fp-pill.acc svg{width:12px;height:12px}.fp-job-thead,.fp-jobrow{display:grid;grid-template-columns:124px 1fr 112px 132px 92px 116px;align-items:center;gap:14px;padding:12px 16px}.fp-job-thead{background:color-mix(in srgb,var(--p2) 60%,transparent);border-bottom:1px solid var(--bd2);font-family:Spline Sans Mono,monospace;font-size:9.5px;text-transform:uppercase;letter-spacing:.1em;color:var(--mut)}.fp-jobrow{border-bottom:1px solid var(--bd);font-size:13px;color:var(--tx)}.fp-jobrow:last-of-type{border-bottom:none}.fp-jobrow:hover{background:var(--row-hover)}.fp-job-id{font-family:Spline Sans Mono,monospace;font-weight:700;font-size:12px;color:var(--acc)}.fp-job-main{min-width:0}.fp-job-main .d{color:var(--tx);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.fp-job-main .ty{display:inline-flex;align-items:center;gap:6px;margin-top:4px;font-family:Spline Sans Mono,monospace;font-size:9.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--mut)}.fp-job-main .ty .gdot{width:8px;height:8px;border-radius:2px}.fp-job-crew,.fp-job-win{font-family:Spline Sans Mono,monospace;font-size:11px;color:var(--mut2)}.fp-job-prog{display:flex;flex-direction:column;gap:5px}.fp-job-prog .p{font-family:Spline Sans Mono,monospace;font-size:12px;font-weight:700;color:var(--tx)}.fp-job-prog .bar{position:relative;height:5px;border-radius:3px;background:var(--track);overflow:hidden}.fp-job-prog .fill{position:absolute;left:0;top:0;bottom:0;background:var(--sewer)}.fp-joblinks{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--bd)}.fp-joblink{display:flex;align-items:center;gap:11px;padding:14px 16px;background:var(--card);border:none;cursor:pointer;text-align:left;color:var(--tx);font-family:inherit;transition:background .12s}.fp-joblink:hover{background:var(--row-hover)}.fp-joblink svg{width:18px;height:18px;color:var(--acc);flex-shrink:0}.fp-joblink span{display:flex;flex-direction:column;gap:3px;min-width:0;font-family:Spline Sans Mono,monospace;font-size:10px;letter-spacing:.03em;color:var(--mut)}.fp-joblink span b{font-family:Archivo,sans-serif;font-size:13px;font-weight:600;letter-spacing:0;color:var(--tx)}.fp-toast{position:fixed;right:22px;bottom:22px;z-index:9000;max-width:320px;padding:11px 15px;border:1px solid var(--bd2);border-left:3px solid var(--acc);border-radius:var(--r);background:var(--p1);color:var(--tx);font-size:12.5px;font-weight:500;box-shadow:0 8px 28px #00000052;opacity:0;transform:translateY(8px);transition:opacity .22s,transform .22s}.fp-toast.in{opacity:1;transform:translateY(0)}.fp-modal-ov{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9500;display:grid;place-items:center;padding:28px;background:color-mix(in srgb,#05070a 62%,transparent);opacity:0;transition:opacity .18s}.fp-modal-ov.in{opacity:1}.fp-modal{width:min(540px,100%);max-height:86vh;overflow:auto;background:var(--card);border:1px solid var(--bd2);border-radius:var(--r);box-shadow:0 24px 70px #00000080;transform:translateY(12px) scale(.99);transition:transform .2s}.fp-modal-ov.in .fp-modal{transform:none}.fp-modal-head{display:flex;align-items:flex-start;gap:12px;padding:16px 18px;border-bottom:1px solid var(--bd)}.fp-modal-head .ic{color:var(--acc);width:18px;height:18px;flex-shrink:0;margin-top:2px}.fp-modal-head .ic svg{width:18px;height:18px}.fp-modal-head .ttl{font-family:Saira Condensed,sans-serif;font-weight:700;font-size:21px;color:var(--tx);letter-spacing:.01em;line-height:1.1}.fp-modal-head .sub{font-family:Spline Sans Mono,monospace;font-size:9.5px;text-transform:uppercase;letter-spacing:.07em;color:var(--mut);margin-top:4px}.fp-modal-x{margin-left:auto;width:28px;height:28px;flex-shrink:0;display:grid;place-items:center;background:transparent;border:1px solid var(--bd2);border-radius:var(--r);color:var(--mut);cursor:pointer}.fp-modal-x:hover{color:var(--tx);border-color:var(--mut)}.fp-modal-x svg{width:14px;height:14px}.fp-modal-body{padding:16px 18px;display:grid;grid-template-columns:1fr 1fr;gap:13px}.fp-mf{display:flex;flex-direction:column;gap:6px;min-width:0}.fp-mf.full{grid-column:1 / -1}.fp-mf.row{grid-column:1 / -1;flex-direction:row;align-items:center;justify-content:space-between;padding:4px 0}.fp-mf-l{font-family:Spline Sans Mono,monospace;font-size:9px;text-transform:uppercase;letter-spacing:.1em;color:var(--mut)}.fp-mf .fp-ctl{width:100%}.fp-mf .fp-numwrap{max-width:none}.fp-mf .fp-num.solo2{border-radius:var(--r) 0 0 var(--r);text-align:left}.fp-mf .fp-date-in,.fp-mf .fp-file-in{height:34px;font-family:Spline Sans Mono,monospace;font-size:12px}.fp-mf .fp-file-in{padding:6px 10px;color:var(--mut2)}.fp-mf-sel{position:relative;display:block}.fp-mf-sel select{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:100%;height:34px;padding:0 32px 0 11px;background-color:var(--p1);border:1px solid var(--bd2);border-radius:var(--r);color:var(--tx);font-family:inherit;font-size:12.5px;cursor:pointer;outline:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%238893a0' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center}.fp-mf-sel select:hover{border-color:var(--mut)}.fp-mf-sel select:focus{border-color:var(--acc)}.fp-mf-info{grid-column:1 / -1;font-size:12.5px;line-height:1.5;color:var(--mut2);padding:11px 13px;border:1px solid var(--bd);border-left:2px solid var(--acc);border-radius:var(--r);background:color-mix(in srgb,var(--acc) 5%,transparent)}.fp-mf-info b{color:var(--tx);font-weight:600}.fp-modal-foot{display:flex;justify-content:flex-end;gap:9px;padding:14px 18px;border-top:1px solid var(--bd)}.fp-projfilter{position:relative;display:inline-flex;align-items:center;gap:7px;height:34px;padding:0 11px;background:var(--p2);border:1px solid var(--bd2);border-radius:var(--r);color:var(--mut)}.fp-projfilter svg{width:13px;height:13px;color:var(--acc);flex-shrink:0}.fp-projfilter select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:none;outline:none;color:var(--tx);font-family:inherit;font-size:12.5px;cursor:pointer;max-width:260px;padding-right:4px}.fp-mapwrap{position:relative;height:320px;background:var(--bg-host);overflow:hidden}.fp-mapsvg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.fp-maptag{position:absolute;left:14px;bottom:14px;display:inline-flex;align-items:center;gap:7px;padding:6px 11px;font-family:Spline Sans Mono,monospace;font-size:10px;font-weight:700;letter-spacing:.06em;color:var(--tx);background:color-mix(in srgb,var(--card) 88%,transparent);border:1px solid var(--bd2);border-radius:var(--r)}.fp-maptag svg{width:13px;height:13px;color:var(--acc)}.fp-maptag{color:#2a2a2a;background:#ffffffe6;border-color:#0000001f}.fp-mapscale{position:absolute;right:14px;bottom:14px;display:inline-flex;align-items:center;gap:6px;font-family:Spline Sans Mono,monospace;font-size:9px;font-weight:600;letter-spacing:.04em;color:#2a2a2a;background:#ffffffe6;border:1px solid rgba(0,0,0,.12);border-radius:3px;padding:3px 7px}.fp-mapscale .bar{width:38px;height:3px;background:#2a2a2a;border-radius:1px}.fp-mapbase{display:inline-flex;border:1px solid var(--bd2);border-radius:var(--r);overflow:hidden}.fp-mapbase-b{padding:5px 11px;background:transparent;border:none;cursor:pointer;font-family:Spline Sans Mono,monospace;font-size:9.5px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--mut)}.fp-mapbase-b+.fp-mapbase-b{border-left:1px solid var(--bd2)}.fp-mapbase-b.on{background:var(--acc);color:var(--ink, #0a0c0e)}.fp-daterange .dr{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 9px;background:var(--p2);border:1px solid var(--bd2);border-radius:var(--r);cursor:pointer}.fp-daterange .dr:hover{border-color:var(--mut)}.fp-daterange .dr svg{width:13px;height:13px;color:var(--mut);flex-shrink:0}.fp-daterange .dr input[type=date]{background:transparent;border:none;outline:none;color:var(--tx);font-family:Spline Sans Mono,monospace;font-size:11.5px;cursor:pointer;padding:0}.fp-daterange .dr input[type=date]::-webkit-calendar-picker-indicator{opacity:0;position:absolute;width:0;height:0}.fp-maplegend{display:flex;flex-wrap:wrap;gap:16px;padding:13px 16px;border-top:1px solid var(--bd);background:var(--p2)}.fp-maplegend .lg{display:inline-flex;align-items:center;gap:7px;font-family:Spline Sans Mono,monospace;font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--mut)}.fp-maplegend .lg b{color:var(--tx);font-weight:600}.fp-maplegend .sw{width:11px;height:11px;border-radius:2px}.fp-codes-grid{grid-template-columns:96px 1fr 90px 130px;display:grid;align-items:center;gap:14px;padding:10px 16px}.fp-codes .fp-row{grid-template-columns:96px 1fr 90px 130px}.fp-price{font-family:Spline Sans Mono,monospace;font-weight:700;font-size:13px;color:var(--tx)}.fp-rep-grid{grid-template-columns:88px 1fr 70px 92px 92px 96px 150px;display:grid;align-items:center;gap:12px;padding:10px 16px}.fp-rep .fp-row{grid-template-columns:88px 1fr 70px 92px 92px 96px 150px}.fp-rep-pct{display:flex;align-items:center;gap:9px}.fp-rep-pct .bar{position:relative;flex:1;height:6px;border-radius:3px;background:var(--track);overflow:hidden}.fp-rep-pct .fill{position:absolute;left:0;top:0;bottom:0;background:var(--sewer)}.fp-rep-pct .p{font-family:Spline Sans Mono,monospace;font-size:11px;font-weight:700;color:var(--mut2);min-width:34px;text-align:right}.fp-rep-pct .p.full{color:var(--sewer)}.fp-progbar{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:4px}.fp-progtoggle{display:inline-flex;border:1px solid var(--bd2);border-radius:var(--r);overflow:hidden}.fp-progtog{display:inline-flex;align-items:center;gap:7px;padding:8px 14px;background:transparent;border:none;cursor:pointer;font-family:inherit;font-size:12.5px;font-weight:600;color:var(--mut)}.fp-progtog+.fp-progtog{border-left:1px solid var(--bd2)}.fp-progtog svg{width:14px;height:14px}.fp-progtog:hover{color:var(--tx)}.fp-progtog.on{background:var(--acc);color:var(--ink, #0a0c0e)}.fp-progbar-note{display:inline-flex;align-items:center;gap:7px;font-family:Spline Sans Mono,monospace;font-size:10px;letter-spacing:.03em;color:var(--mut)}.fp-progbar-note svg{width:13px;height:13px;color:var(--mut2);flex-shrink:0}.fp-progbar-note b{color:var(--mut2);font-weight:600}.fp-console{min-height:100%;background:var(--bg-host)}.fp-console .fp{min-height:100%}.forecast-view{height:100%}@media (max-width: 1100px){.fp-kpis{grid-template-columns:repeat(2,1fr)}.fp-charts{grid-template-columns:1fr}}:root{--unv: #8b96a3}.screen{background:var(--bg-host)}.st-topbar{display:flex;align-items:center;gap:13px;padding:13px 26px;border-bottom:1px solid var(--bd);background:var(--p2)}.st-ten-av{width:34px;height:34px;flex-shrink:0;border-radius:var(--r);display:grid;place-items:center;background:var(--p3);border:1px solid var(--bd2);font-family:Spline Sans Mono,monospace;font-size:11px;font-weight:700;letter-spacing:.04em;color:var(--mut2)}.st-ten-meta{min-width:0}.st-ten-name{font-weight:600;font-size:14px;color:var(--tx);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.st-ten-sub{font-family:Spline Sans Mono,monospace;font-size:10.5px;color:var(--mut);letter-spacing:.02em;margin-top:1px}.st-top-spacer{flex:1}.st-vp{display:inline-flex;align-items:center;gap:7px;font-family:Spline Sans Mono,monospace;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;padding:6px 11px;border-radius:var(--r);color:var(--mut2);border:1px solid var(--bd2)}.st-vp svg{width:12px;height:12px}.st-stub{padding:50px 26px;text-align:center;font-family:Spline Sans Mono,monospace;font-size:11px;letter-spacing:.05em;color:var(--mut)}.px-head{padding:22px 26px 0}.px-head-row{display:flex;align-items:flex-start;gap:16px;flex-wrap:wrap}.px-head-l{position:relative;padding-left:15px}.px-head-l:before{content:"";position:absolute;left:0;top:5px;width:3px;height:30px;background:var(--acc)}.px-title{font-family:Saira Condensed,sans-serif;font-weight:700;font-size:34px;line-height:1.02;letter-spacing:.015em;color:var(--tx);display:flex;align-items:baseline;gap:12px}.px-title .ct{font-family:Spline Sans Mono,monospace;font-size:13px;font-weight:500;letter-spacing:.04em;color:var(--mut)}.px-sub{font-size:13px;color:var(--mut);margin-top:5px}.px-head-actions{margin-left:auto;display:flex;align-items:center;gap:10px}.px-search{display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 12px;border:1px solid var(--bd2);border-radius:var(--r);background:var(--p1);min-width:220px}.px-search svg{width:14px;height:14px;color:var(--mut);flex-shrink:0}.px-search input{flex:1;background:transparent;border:none;outline:none;color:var(--tx);font-family:Archivo,sans-serif;font-size:13px;min-width:0}.px-search input::placeholder{color:var(--mut)}.px-scope{display:flex;align-items:center;gap:11px;margin:16px 26px 0;padding:11px 15px;border:1px solid var(--bd);border-radius:var(--r);background:var(--p2)}.px-scope.scoped{border-left:3px solid var(--acc)}.px-scope.allaccess{border-left:3px solid var(--sewer)}.px-scope .ic{width:30px;height:30px;flex-shrink:0;display:grid;place-items:center;border-radius:var(--r);border:1px solid var(--bd2);background:var(--p1)}.px-scope.scoped .ic{color:var(--acc)}.px-scope.allaccess .ic{color:var(--sewer)}.px-scope .ic svg{width:15px;height:15px}.px-scope .tx{font-size:12.5px;color:var(--mut2);line-height:1.45;min-width:0}.px-scope .tx b{color:var(--tx);font-weight:600}.px-scope .tag{margin-left:auto;flex-shrink:0;font-family:Spline Sans Mono,monospace;font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.09em;padding:4px 9px;border-radius:var(--r)}.px-scope.scoped .tag{color:var(--acc);border:1px solid color-mix(in oklab,var(--acc) 42%,transparent);background:color-mix(in oklab,var(--acc) 12%,transparent)}.px-scope.allaccess .tag{color:var(--sewer);border:1px solid color-mix(in oklab,var(--sewer) 42%,transparent);background:color-mix(in oklab,var(--sewer) 12%,transparent)}.px-filter{display:flex;align-items:center;gap:12px;padding:16px 26px 4px;flex-wrap:wrap}.px-filter .lab{font-family:Spline Sans Mono,monospace;font-size:9.5px;text-transform:uppercase;letter-spacing:.1em;color:var(--mut)}.px-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(312px,1fr));gap:13px;padding:18px 26px 30px}.px-card{position:relative;text-align:left;display:block;width:100%;cursor:pointer;border:1px solid var(--bd);border-left:3px solid var(--rail, var(--acc));border-radius:var(--r);background:var(--card);padding:15px 16px 14px;font-family:inherit;transition:border-color .14s,transform .14s,box-shadow .14s}.px-card:hover{transform:translateY(-2px);box-shadow:0 10px 26px #00000038;border-color:var(--bd2);border-left-color:var(--rail, var(--acc))}.px-card.is-hidden{display:none}.px-card-top{display:flex;align-items:center;gap:10px}.px-lcp{font-family:Spline Sans Mono,monospace;font-size:11px;font-weight:700;letter-spacing:.06em;color:var(--acc)}.px-pill{margin-left:auto;display:inline-flex;align-items:center;gap:5px;white-space:nowrap;font-family:Spline Sans Mono,monospace;font-size:8.5px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;padding:3px 8px;border-radius:var(--r)}.px-pill .dot{width:6px;height:6px;border-radius:50%}.px-name{font-family:Saira Condensed,sans-serif;font-weight:700;font-size:20px;line-height:1.1;letter-spacing:.01em;color:var(--tx);margin-top:9px}.px-cust{font-family:Spline Sans Mono,monospace;font-size:11px;color:var(--mut2);margin-top:7px;display:flex;align-items:center;gap:6px;white-space:nowrap;overflow:hidden}.px-cust .end{overflow:hidden;text-overflow:ellipsis}.px-cust .arr,.px-cust .end{color:var(--mut)}.px-market{font-family:Spline Sans Mono,monospace;font-size:10px;letter-spacing:.03em;color:var(--mut);margin-top:4px;text-transform:uppercase}.px-metrics{display:flex;align-items:flex-end;gap:16px;margin-top:14px;padding-top:13px;border-top:1px solid var(--bd)}.px-metric{display:flex;flex-direction:column;gap:3px}.px-metric .v{font-family:Spline Sans Mono,monospace;font-size:17px;font-weight:700;color:var(--tx);line-height:1}.px-metric .k{font-family:Spline Sans Mono,monospace;font-size:8.5px;text-transform:uppercase;letter-spacing:.1em;color:var(--mut)}.px-metric.grow{flex:1;min-width:0}.px-prog-top{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.px-bar{margin-top:6px;height:5px;border-radius:3px;background:var(--p3);overflow:hidden}.px-bar span{display:block;height:100%;border-radius:3px;background:var(--rail, var(--acc))}.px-empty{margin:18px 26px 34px;padding:40px 26px;border:1px dashed var(--bd2);border-radius:var(--r);background:var(--p2);display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px}.px-empty .ic{width:46px;height:46px;display:grid;place-items:center;border-radius:var(--r);border:1px solid var(--bd2);background:var(--p1);color:var(--mut)}.px-empty .ic svg{width:22px;height:22px}.px-empty .t{font-family:Saira Condensed,sans-serif;font-weight:700;font-size:21px;letter-spacing:.01em;color:var(--tx)}.px-empty .d{font-size:12.5px;color:var(--mut);max-width:420px;line-height:1.5}.px-empty .d b{color:var(--mut2);font-weight:600}.pa-wrap{display:flex;flex-direction:column;gap:16px}.pa-explain{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;border:1px solid var(--bd);border-left:3px solid var(--acc);border-radius:var(--r);background:var(--p2)}.pa-explain .ic{width:18px;height:18px;color:var(--acc);flex-shrink:0;margin-top:1px}.pa-explain .tx{font-size:12.5px;color:var(--mut2);line-height:1.5}.pa-explain .tx b{color:var(--tx);font-weight:600}.pa-all{border:1px solid var(--bd);border-radius:var(--r);background:var(--card);overflow:hidden}.pa-all-head{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--bd);background:var(--p2)}.pa-all-head .ic{width:16px;height:16px;color:var(--sewer)}.pa-all-head .ttl{font-family:Spline Sans Mono,monospace;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--mut2)}.pa-all-head .ct{margin-left:auto;font-family:Spline Sans Mono,monospace;font-size:10px;color:var(--mut)}.pa-all-body{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:14px 16px}.pa-sec{display:flex;align-items:center;gap:10px;margin-top:4px}.pa-sec .ttl{font-family:Spline Sans Mono,monospace;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--mut2)}.pa-sec .ct{font-family:Spline Sans Mono,monospace;font-size:10px;color:var(--mut)}.pa-sec .line{flex:1;height:1px;background:var(--bd)}.pa-list{display:flex;flex-direction:column;gap:9px}.pa-proj{border:1px solid var(--bd);border-left:3px solid var(--rail, var(--acc));border-radius:var(--r);background:var(--card);overflow:hidden}.pa-proj-head{display:flex;align-items:center;gap:12px;width:100%;padding:13px 16px;background:transparent;border:none;cursor:pointer;font-family:inherit;text-align:left;transition:background .12s}.pa-proj-head:hover{background:var(--row-hover)}.pa-proj-lcp{font-family:Spline Sans Mono,monospace;font-size:11px;font-weight:700;letter-spacing:.05em;color:var(--acc);flex-shrink:0;width:74px}.pa-proj-name{font-weight:600;font-size:14px;color:var(--tx);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pa-proj-cust{font-family:Spline Sans Mono,monospace;font-size:10.5px;color:var(--mut);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pa-proj-mid{min-width:0;flex:1}.pa-proj-count{flex-shrink:0;display:inline-flex;align-items:center;gap:6px;font-family:Spline Sans Mono,monospace;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;padding:4px 9px;border-radius:var(--r);border:1px solid var(--bd2);color:var(--mut2)}.pa-proj-count.zero{color:var(--unv);border-style:dashed}.pa-chev{width:16px;height:16px;color:var(--mut);flex-shrink:0;transition:transform .16s}.pa-proj.open .pa-chev{transform:rotate(90deg)}.pa-proj-body{display:none;padding:4px 16px 16px;border-top:1px solid var(--bd)}.pa-proj.open .pa-proj-body{display:block}.pa-chips{display:flex;align-items:center;gap:9px;flex-wrap:wrap;padding-top:14px}.chip{display:inline-flex;align-items:center;gap:9px;padding:5px 8px 5px 5px;border:1px solid var(--bd2);border-radius:var(--r);background:var(--p1)}.chip.removable{padding-right:4px}.chip .av{width:26px;height:26px;flex-shrink:0;border-radius:50%;display:grid;place-items:center;font-family:Spline Sans Mono,monospace;font-size:9.5px;font-weight:700;color:#fff;letter-spacing:.01em}.chip .meta{min-width:0;line-height:1.2}.chip .nm{font-size:12.5px;font-weight:600;color:var(--tx);white-space:nowrap}.chip .rl{font-family:Spline Sans Mono,monospace;font-size:8.5px;text-transform:uppercase;letter-spacing:.07em;color:var(--mut);margin-top:2px;display:flex;align-items:center;gap:5px}.chip .rl .ext{color:var(--acc)}.chip .scopetag{font-family:Spline Sans Mono,monospace;font-size:8px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;padding:2px 6px;border-radius:2px}.chip .scopetag.all{color:var(--sewer);border:1px solid color-mix(in oklab,var(--sewer) 40%,transparent);background:color-mix(in oklab,var(--sewer) 11%,transparent)}.chip .x{width:22px;height:22px;flex-shrink:0;display:grid;place-items:center;border:none;background:transparent;border-radius:3px;color:var(--mut);cursor:pointer;transition:color .12s,background .12s}.chip .x:hover{color:var(--elec);background:color-mix(in oklab,var(--elec) 12%,transparent)}.chip .x svg{width:13px;height:13px}.pa-add{position:relative}.pa-add-btn{display:inline-flex;align-items:center;gap:7px;height:36px;padding:0 11px;border:1px dashed var(--bd2);border-radius:var(--r);background:transparent;color:var(--mut);cursor:pointer;font-family:inherit;font-size:12.5px;font-weight:600;transition:color .12s,border-color .12s}.pa-add-btn:hover{color:var(--acc);border-color:color-mix(in oklab,var(--acc) 50%,transparent)}.pa-add-btn svg{width:14px;height:14px}.pa-empty-assignees{font-family:Spline Sans Mono,monospace;font-size:10.5px;color:var(--mut);padding:2px 0}.pa-menu{position:absolute;z-index:40;top:calc(100% + 6px);left:0;width:290px;max-width:86vw;background:var(--p1);border:1px solid var(--bd2);border-radius:var(--r);box-shadow:0 18px 46px #0006;overflow:hidden}.pa-menu-head{font-family:Spline Sans Mono,monospace;font-size:8.5px;text-transform:uppercase;letter-spacing:.1em;color:var(--mut);padding:11px 12px 6px}.pa-menu-list{max-height:230px;overflow-y:auto;padding:0 5px 6px}.pa-opt{display:flex;align-items:center;gap:9px;width:100%;padding:8px;border:none;background:transparent;border-radius:3px;cursor:pointer;text-align:left;font-family:inherit}.pa-opt:hover{background:var(--row-hover)}.pa-opt .av{width:24px;height:24px;flex-shrink:0;border-radius:50%;display:grid;place-items:center;font-family:Spline Sans Mono,monospace;font-size:9px;font-weight:700;color:#fff}.pa-opt .nm{font-size:12.5px;font-weight:600;color:var(--tx)}.pa-opt .rl{font-family:Spline Sans Mono,monospace;font-size:8.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--mut);margin-top:1px}.pa-opt-none{padding:16px 12px;text-align:center;font-size:11.5px;color:var(--mut)}.app.theme-light .px-card:hover{box-shadow:0 10px 24px #3c321e1f}.app.theme-light .segb.on{color:var(--ink, #0a0c0e)}.app.theme-light .st-tab.on .roles{border-color:#fff6;color:#ffffffd9}.app.theme-light .pa-menu{box-shadow:0 18px 46px #3c321e38}@keyframes gisEmPulse{0%{box-shadow:0 0 color-mix(in srgb,var(--acc, #ff7a1a) 65%,transparent)}70%{box-shadow:0 0 0 7px transparent}to{box-shadow:0 0 0 0 transparent}}.gis-acts{display:flex;align-items:center;gap:7px;padding:10px 13px;border-top:1px solid var(--bd)}.gis-edit-geom{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:8px 10px;cursor:pointer;border:1px solid color-mix(in srgb,var(--acc, #ff7a1a) 45%,var(--bd));background:color-mix(in srgb,var(--acc, #ff7a1a) 9%,transparent);border-radius:3px;color:var(--acc, #ff7a1a);font-family:Spline Sans Mono,monospace;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.gis-edit-geom:hover{background:color-mix(in srgb,var(--acc, #ff7a1a) 16%,transparent);border-color:var(--acc, #ff7a1a)}.gis-edit-geom.on{background:var(--acc, #ff7a1a);border-color:var(--acc, #ff7a1a);color:#0a0c0e}.gis-edit-geom.on:hover{background:var(--acc-deep, #ec5e0b);border-color:var(--acc-deep, #ec5e0b)}.gis-inspect.editing{border-left-color:var(--acc, #ff7a1a);box-shadow:0 0 0 1px color-mix(in srgb,var(--acc, #ff7a1a) 32%,transparent),0 14px 36px #0006}.gis-edit-banner{display:flex;align-items:center;gap:8px;padding:7px 13px;background:repeating-linear-gradient(135deg,color-mix(in srgb,var(--acc, #ff7a1a) 13%,transparent) 0 9px,transparent 9px 18px),color-mix(in srgb,var(--acc, #ff7a1a) 8%,transparent);border-bottom:1px solid color-mix(in srgb,var(--acc, #ff7a1a) 38%,var(--bd));font-family:Spline Sans Mono,monospace;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--acc, #ff7a1a)}.gis-edit-banner .dot{width:6px;height:6px;border-radius:50%;background:var(--acc, #ff7a1a);margin-left:auto;animation:gisEmPulse 1.8s infinite}.gis-geom-edit{padding:4px 13px 2px;display:flex;flex-direction:column;gap:9px}.gis-geom-hints{display:flex;flex-direction:column;gap:7px}.gis-geom-hint{display:flex;align-items:center;gap:9px;font-size:11.5px;color:var(--mut2)}.gis-geom-hint svg{color:var(--acc, #ff7a1a);flex-shrink:0}.gis-geom-hint kbd{font-family:Spline Sans Mono,monospace;font-size:9px;color:var(--mut2);background:var(--p2);border:1px solid var(--bd2);border-bottom-width:2px;border-radius:3px;padding:1px 5px;margin-left:auto}.gis-geom-stat{display:flex;align-items:center;justify-content:space-between;padding:7px 10px;background:var(--p2);border:1px solid var(--bd);border-radius:3px}.gis-geom-stat .k{font-family:Spline Sans Mono,monospace;font-size:9px;text-transform:uppercase;letter-spacing:.07em;color:var(--mut)}.gis-geom-stat .v{font-family:Spline Sans Mono,monospace;font-size:12px;font-weight:700;color:var(--tx)}.gis-geom-stat .v .delta{color:var(--sewer);margin-left:5px}.gis-geom-stat .v .delta.neg{color:var(--gas)}.gis-geom-type{display:flex;flex-direction:column;gap:5px}.gis-geom-type>span{font-family:Spline Sans Mono,monospace;font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:var(--mut)}.em-badge{position:absolute;top:60px;left:50%;transform:translate(-50%);z-index:24;display:inline-flex;align-items:center;gap:9px;padding:6px 7px 6px 11px;background:color-mix(in srgb,var(--p1) 92%,transparent);border:1px solid color-mix(in srgb,var(--acc, #ff7a1a) 50%,var(--bd));border-radius:var(--r);box-shadow:0 6px 22px #0000004d;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.em-badge-dot{width:8px;height:8px;border-radius:50%;background:var(--acc, #ff7a1a);animation:gisEmPulse 1.8s infinite;flex-shrink:0}.em-badge-lab{font-family:Spline Sans Mono,monospace;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--tx);white-space:nowrap}.em-badge-lab b{color:var(--acc, #ff7a1a)}.em-badge-esc{font-family:Spline Sans Mono,monospace;font-size:9px;color:var(--mut2);background:var(--p2);border:1px solid var(--bd2);border-bottom-width:2px;border-radius:3px;padding:3px 7px}.em-badge-done{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;background:var(--acc, #ff7a1a);color:#0a0c0e;border:none;border-radius:3px;font-family:Spline Sans Mono,monospace;font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;cursor:pointer}.em-badge-done:hover{background:var(--acc-deep, #ec5e0b)}.em-vertex{position:absolute;width:13px;height:13px;transform:translate(-50%,-50%);z-index:7;pointer-events:auto;background:var(--p1);border:2px solid var(--acc, #ff7a1a);border-radius:2px;cursor:grab;box-shadow:0 1px 4px #00000073}.em-vertex:hover{background:color-mix(in srgb,var(--acc, #ff7a1a) 28%,var(--p1))}.em-vertex.dragging{cursor:grabbing;background:var(--acc, #ff7a1a);box-shadow:0 0 0 4px color-mix(in srgb,var(--acc, #ff7a1a) 28%,transparent),0 2px 6px #00000080;z-index:9}.em-mid{position:absolute;width:13px;height:13px;transform:translate(-50%,-50%);z-index:6;pointer-events:auto;border:1.5px dashed color-mix(in srgb,var(--acc, #ff7a1a) 70%,transparent);border-radius:50%;background:color-mix(in srgb,var(--acc, #ff7a1a) 10%,transparent);cursor:copy;display:grid;place-items:center;color:var(--acc, #ff7a1a)}.em-mid svg{opacity:0}.em-mid:hover{border-style:solid;background:color-mix(in srgb,var(--acc, #ff7a1a) 22%,transparent)}.em-mid:hover svg{opacity:1}.em-readout{position:absolute;transform:translate(14px,-50%);display:inline-flex;align-items:center;gap:7px;z-index:10;pointer-events:none;padding:4px 9px;background:var(--ink, #0a0c0e);border:1px solid var(--acc, #ff7a1a);border-radius:3px;font-family:Spline Sans Mono,monospace;font-size:10px;font-weight:600;color:#fff;white-space:nowrap;box-shadow:0 4px 14px #0006}.em-readout .sep{width:1px;height:11px;background:#ffffff3d}.em-readout .delta{color:var(--sewer);font-weight:700}.em-readout .delta.neg{color:var(--gas)}.em-readout svg{color:var(--acc, #ff7a1a);flex-shrink:0}.em-ctx{position:absolute;z-index:12;display:flex;flex-direction:column;min-width:138px;pointer-events:auto;background:color-mix(in srgb,var(--p1) 96%,transparent);border:1px solid var(--bd2);border-radius:4px;box-shadow:0 10px 26px #0006;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);overflow:hidden}.em-ctx-row{display:flex;align-items:center;gap:8px;padding:8px 10px;border:none;background:transparent;cursor:pointer;text-align:left;color:var(--tx);font-family:inherit;font-size:11.5px}.em-ctx-row.danger{color:var(--elec)}.em-ctx-row.danger svg{color:var(--elec)}.em-ctx-row:hover{background:var(--p2)}.em-ctx-row .key{margin-left:auto;font-family:Spline Sans Mono,monospace;font-size:8.5px;color:var(--mut)}.em-pt-halo{position:absolute;width:46px;height:46px;transform:translate(-50%,-50%);z-index:5;pointer-events:none;border-radius:50%;border:1.5px dashed color-mix(in srgb,var(--acc, #ff7a1a) 60%,transparent);background:radial-gradient(circle,color-mix(in srgb,var(--acc, #ff7a1a) 16%,transparent),transparent 68%)}.em-pt-ghost{position:absolute;display:grid;place-items:center;width:24px;height:24px;transform:translate(-50%,-50%);z-index:5;pointer-events:none;background:transparent;border:2px dashed var(--mut);border-radius:3px;font-family:Spline Sans Mono,monospace;font-size:8.5px;font-weight:700;color:var(--mut);opacity:.85}.em-pt-grab{position:absolute;width:30px;height:30px;transform:translate(-50%,-50%);z-index:8;pointer-events:auto;cursor:grab}.em-pt-grab:active{cursor:grabbing}.ld-modal{max-width:780px;width:100%}.ld-body{padding:0 0 4px;max-height:72vh;overflow-y:auto;overflow-x:hidden}.ld-section{border-bottom:1px solid var(--bd);padding:14px 18px}.ld-section:last-child{border-bottom:0}.ld-section-pr{padding:0}.ld-sh{display:flex;align-items:center;gap:7px;margin-bottom:10px;font-family:Spline Sans Mono,monospace;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--mut)}.ld-sh svg{color:var(--acc, #ff7a1a);flex-shrink:0;width:12px;height:12px}.ld-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0 22px}.ld-row{display:flex;justify-content:space-between;gap:10px;padding:6px 0;border-bottom:1px solid var(--bd);font-size:12.5px}.ld-row:last-child{border-bottom:0}.ld-row-full{grid-column:1 / -1}.ld-k{color:var(--mut);flex-shrink:0;max-width:46%}.ld-val,.ld-v{color:var(--tx);font-weight:500;text-align:right;font-family:Spline Sans Mono,monospace;font-size:11.5px}.ld-v.ld-wrap{text-align:left;white-space:normal;word-break:break-word;font-size:12px;font-family:Archivo,sans-serif;font-weight:400}.ld-missing{color:var(--mut);opacity:.55;font-style:italic;font-size:11px;font-family:Archivo,sans-serif}.ld-maplink{display:inline-flex;align-items:center;gap:4px;color:var(--acc, #ff7a1a);text-decoration:none}.ld-maplink:hover{text-decoration:underline}.ld-maplink svg{width:11px;height:11px;flex-shrink:0}.ld-flags{display:flex;flex-wrap:wrap;gap:6px}.ld-flag-chip{font-family:Spline Sans Mono,monospace;font-size:9.5px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:3px 8px;border-radius:3px;border:1px solid color-mix(in oklab,var(--elec) 42%,var(--bd));color:var(--elec);background:color-mix(in oklab,var(--elec) 9%,transparent)}.ld-remarks{font-size:12.5px;color:var(--tx);line-height:1.55;white-space:pre-wrap;word-break:break-word}.tix-pr-member-first td{border-top:2px solid var(--bd2)!important}.tix-pr tbody tr:first-child.tix-pr-member-first td{border-top:0!important}.tix-pr-sub-row td{border-top:1px dashed color-mix(in oklab,var(--bd2) 60%,transparent)!important;background:color-mix(in oklab,var(--p2) 50%,transparent);padding-top:6px!important;padding-bottom:6px!important}.tix-pr-sub-indent{padding-left:18px!important}.tix-sub-cont{font-family:Spline Sans Mono,monospace;font-size:10px;color:var(--mut);opacity:.7}.tix-resp-utype{font-family:Spline Sans Mono,monospace;font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:2px 7px;border-radius:2px;border:1px solid var(--bd2);color:var(--mut2);background:var(--p2);white-space:nowrap;display:inline-block}.app.theme-light .ld-section,.app.theme-light .ld-row{border-bottom-color:var(--bd)}.app.theme-light .ld-k{color:var(--mut)}.app.theme-light .ld-v,.app.theme-light .ld-val{color:var(--tx)}.app.theme-light .ld-flag-chip{background:color-mix(in oklab,var(--elec) 7%,#f5f0e8);border-color:color-mix(in oklab,var(--elec) 32%,#ddd6c8)}.app.theme-light .tix-pr-sub-row td{background:color-mix(in oklab,#eeeae1 70%,transparent)}.app.theme-light .tix-resp-utype{background:#f5f0e8;border-color:#ddd6c8;color:#6b7280}.app.theme-light .ld-missing{color:#9ca3af}.nloc-sec{border:1px solid var(--bd2);border-radius:4px;margin-top:10px;overflow:hidden}.nloc-sec-head{display:flex;align-items:center;gap:7px;width:100%;padding:9px 12px;background:var(--p2);border:0;cursor:pointer;font-size:12.5px;font-weight:600;color:var(--tx);text-align:left;-webkit-user-select:none;user-select:none}.nloc-sec-head:hover{background:color-mix(in oklab,var(--p2) 80%,var(--bd))}.nloc-sec-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:3px;font-family:Spline Sans Mono,monospace;font-size:10px;font-weight:700;background:color-mix(in oklab,var(--acc,#ff7a1a) 15%,transparent);color:var(--acc,#ff7a1a);border:1px solid color-mix(in oklab,var(--acc,#ff7a1a) 30%,transparent)}.nloc-sec-body{padding:10px 12px 12px;display:flex;flex-direction:column;gap:2px}.nloc-member{border:1px solid var(--bd2);border-radius:3px;padding:10px 10px 8px;margin-bottom:8px;background:var(--p1)}.nloc-member-head{display:flex;align-items:center;gap:7px;margin-bottom:8px}.nloc-member-num{font-family:Spline Sans Mono,monospace;font-size:10px;font-weight:700;background:var(--p2);border:1px solid var(--bd2);border-radius:2px;padding:1px 5px;color:var(--mut2)}.nloc-member-code{font-size:12.5px;font-weight:600;color:var(--tx)}.nloc-resp-list{display:flex;flex-direction:column;gap:4px;margin-top:6px;margin-bottom:4px}.nloc-resp-row{display:flex;align-items:flex-end;gap:6px;flex-wrap:wrap;background:color-mix(in oklab,var(--p2) 60%,transparent);border:1px solid var(--bd2);border-radius:3px;padding:6px 8px}.nloc-resp-row .field{margin-bottom:0}.nloc-resp-del{margin-bottom:2px;align-self:flex-end;color:var(--mut2);flex-shrink:0}.nloc-resp-del:hover{color:var(--elec,#e23b2e)}.nloc-add-resp{margin-top:4px;font-size:11px}.nloc-add-member{margin-top:4px;font-size:12px}.app.theme-light .nloc-sec{border-color:#ddd6c8}.app.theme-light .nloc-sec-head{background:#f5f0e8;color:#1a1714}.app.theme-light .nloc-sec-head:hover{background:#ece8df}.app.theme-light .nloc-member{background:#fff;border-color:#ddd6c8}.app.theme-light .nloc-member-num{background:#f5f0e8;border-color:#ddd6c8;color:#6b7280}.app.theme-light .nloc-resp-row{background:#f5f0e8;border-color:#ddd6c8}.em-pt-handle{position:absolute;right:-4px;bottom:-4px;width:17px;height:17px;display:grid;place-items:center;background:var(--acc, #ff7a1a);border:1.5px solid var(--ink, #0a0c0e);border-radius:3px;color:#0a0c0e}.gis-mk-sym{display:block}.sym-track{stroke:#8b96a3;stroke-opacity:.4}.sym-arc{transition:stroke-dasharray .35s ease}.sym-core{fill:var(--p1)}.sym-badge-edge{stroke:var(--p1)}.sym-code{font-family:Spline Sans Mono,monospace;font-weight:700;font-size:8px}.sym-dot-edge{stroke:#00000073}.sel-halo{stroke:#fff;stroke-width:2.8;fill:none}.sel-ring{stroke:var(--acc,#ff7a1a);stroke-width:2;fill:none}@media (prefers-reduced-motion: no-preference){@keyframes arclive{0%,to{stroke-opacity:.55}50%{stroke-opacity:1}}@keyframes selpulse{0%,to{stroke-opacity:.7}50%{stroke-opacity:1}}.sym-arc-live{animation:arclive 1.6s ease-in-out infinite}.sel-ring{animation:selpulse .9s ease-in-out infinite}}.app.theme-light .sym-track{stroke:#9a8c74;stroke-opacity:.58}.app.theme-light .sym-core{fill:#fff}.app.theme-light .sym-badge-edge{stroke:#fff}.app.theme-light .sym-dot-edge{stroke:#ffffffb3}.loc-upill{display:inline-flex;align-items:center;font-family:Spline Sans Mono,monospace;font-size:8.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:2px 6px;border-radius:3px;white-space:nowrap;line-height:1.5}.ld-rollpill{display:inline-flex;align-items:center;gap:5px;font-family:Spline Sans Mono,monospace;font-size:10px;font-weight:600;padding:3px 8px;border-radius:var(--r, 4px);border:1px solid}.ld-rollpill .dot{width:6px;height:6px;border-radius:50%;background:currentColor;flex-shrink:0}.ld-rollpill.marked{color:var(--sewer,#3ddc84);border-color:color-mix(in oklab,var(--sewer,#3ddc84) 42%,transparent);background:color-mix(in oklab,var(--sewer,#3ddc84) 12%,transparent)}.ld-rollpill.clear{color:var(--water,#2e9be2);border-color:color-mix(in oklab,var(--water,#2e9be2) 42%,transparent);background:color-mix(in oklab,var(--water,#2e9be2) 12%,transparent)}.ld-rollpill.pending{color:var(--gas,#f5c518);border-color:color-mix(in oklab,var(--gas,#f5c518) 46%,transparent);background:color-mix(in oklab,var(--gas,#f5c518) 12%,transparent)}.ld-sub{display:block;font-size:12px;color:var(--mut2, #aab4bf);margin-top:3px}.ld-sub.mono{font-family:Spline Sans Mono,monospace;font-size:11px;color:var(--mut, #8b96a3)}.loc-editform .field span,.loc-editform .field>span:first-child{font-family:Spline Sans Mono,monospace!important;font-size:9px!important;text-transform:uppercase!important;letter-spacing:.08em!important;color:var(--mut)!important}.nloc-resp-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238b96a3' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>");background-repeat:no-repeat;background-position:right 8px center;padding-right:26px!important}.nloc-resp-card{position:relative;display:grid!important;grid-template-columns:1.05fr 1fr!important;gap:8px!important;flex-wrap:unset!important;align-items:unset!important;padding:9px!important;border:1px solid var(--bd)!important;background:var(--card, #13171d)!important;border-radius:var(--r, 4px)!important}.nloc-resp-date-f{grid-column:1 / 2}.nloc-resp-note-f{grid-column:1 / -1}.nloc-resp-utype-f{grid-column:1 / 2}.nloc-resp-status-f{grid-column:2 / 3}.nloc-rx{position:absolute;top:6px;right:6px;width:18px;height:18px;border:none;background:transparent;color:var(--mut, #8b96a3);cursor:pointer;display:grid;place-items:center;border-radius:3px;padding:0}.nloc-rx:hover{color:var(--elec, #e23b2e);background:color-mix(in oklab,var(--elec,#e23b2e) 10%,transparent)}.nloc-rx svg{width:11px;height:11px}.nloc-mini-dashed{align-self:flex-start;display:inline-flex;align-items:center;gap:6px;font-family:Spline Sans Mono,monospace;font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--acc, #ff7a1a);background:transparent;border:1px dashed color-mix(in oklab,var(--acc,#ff7a1a) 42%,var(--bd2,#323b46));border-radius:var(--r, 4px);padding:7px 11px;cursor:pointer;margin-top:4px}.nloc-mini-dashed:hover{background:color-mix(in oklab,var(--acc,#ff7a1a) 8%,transparent)}.nloc-mini-dashed svg{width:12px;height:12px}.gis-run{padding:2px 13px 8px;display:flex;flex-direction:column;gap:6px}.gis-run-list{display:flex;flex-direction:column;gap:2px}.gis-run-hdr{font-family:Spline Sans Mono,monospace;font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:var(--mut);margin-bottom:2px}.gis-run-row{display:flex;align-items:center;gap:7px;padding:4px 6px;border-radius:3px;border:1px solid transparent;background:transparent;cursor:pointer;text-align:left;width:100%;font-size:11.5px;color:var(--tx)}.gis-run-row:hover:not(:disabled){background:color-mix(in oklab,var(--acc, #ff7a1a) 8%,transparent)}.gis-run-row.on{cursor:default;background:color-mix(in oklab,var(--acc, #ff7a1a) 13%,transparent);border-color:color-mix(in oklab,var(--acc, #ff7a1a) 38%,transparent)}.gis-run-row:disabled{opacity:.92}.gis-run-sw{width:9px;height:9px;border-radius:2px;flex-shrink:0}.gis-run-lab{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gis-run-status{font-family:Spline Sans Mono,monospace;font-size:9.5px;letter-spacing:.04em;color:var(--mut2);flex-shrink:0}.gis-run-add{display:flex;align-items:center;gap:6px}.gis-run-add .gis-combo{flex:1;min-width:0}.gis-run-add button{font-family:Spline Sans Mono,monospace;font-size:10px;letter-spacing:.04em;padding:4px 9px;border-radius:3px;border:1px solid var(--bd2);background:transparent;color:var(--mut2);cursor:pointer;flex-shrink:0}.gis-run-add button:hover:not(:disabled){color:var(--acc);border-color:var(--acc)}.gis-run-add button:disabled{opacity:.5;cursor:default}.fl-run{display:inline-block;margin-left:5px;font-size:10px;color:var(--acc, #ff7a1a);vertical-align:middle}.app.theme-light .ld-rollpill.marked{color:var(--sewer);border-color:color-mix(in oklab,var(--sewer) 42%,transparent);background:color-mix(in oklab,var(--sewer) 12%,transparent)}.app.theme-light .ld-rollpill.clear{color:var(--water);border-color:color-mix(in oklab,var(--water) 42%,transparent);background:color-mix(in oklab,var(--water) 12%,transparent)}.app.theme-light .ld-rollpill.pending{color:var(--gas);border-color:color-mix(in oklab,var(--gas) 46%,transparent);background:color-mix(in oklab,var(--gas) 12%,transparent)}.app.theme-light .ld-sub{color:var(--mut2, #423e36)}.app.theme-light .ld-sub.mono{color:var(--mut, #6c6557)}.app.theme-light .nloc-resp-card{background:var(--card, #fff)!important;border-color:var(--bd, #ddd6c8)!important}.app.theme-light .nloc-mini-dashed{border-color:color-mix(in oklab,var(--acc,#ff7a1a) 42%,#c6bfae)}.app.theme-light .loc-editform .field span,.app.theme-light .loc-editform .field>span:first-child{color:var(--mut, #6c6557)!important}.ld-modal .tix-pr{table-layout:fixed}.ld-modal .tix-pr th:nth-child(1),.ld-modal .tix-pr td:nth-child(1){width:23%}.ld-modal .tix-pr th:nth-child(2),.ld-modal .tix-pr td:nth-child(2){width:11%}.ld-modal .tix-pr th:nth-child(3),.ld-modal .tix-pr td:nth-child(3){width:21%}.ld-modal .tix-pr th:nth-child(4),.ld-modal .tix-pr td:nth-child(4){width:15%}.ld-modal .tix-pr th:nth-child(5),.ld-modal .tix-pr td:nth-child(5){width:11%}.ld-modal .tix-pr th:nth-child(6),.ld-modal .tix-pr td:nth-child(6){width:19%}.ld-modal .tix-pr tbody td{vertical-align:top}.ld-modal .tix-pr .mem{white-space:normal;word-break:break-word}.ld-modal .tix-contact{white-space:normal;word-break:break-word;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.tix-note{font-size:11.5px;line-height:1.4;white-space:pre-line;word-break:break-word;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.loc-editform>*{flex-shrink:0}.modal-body.loc-editform{flex:1;min-height:0}.modal.loc-editmodal{max-width:760px}.gis-bulk{border-top:1px solid var(--bd);margin-top:2px;padding-top:9px;display:flex;flex-direction:column;gap:7px}.gis-bulk-head{display:inline-flex;align-items:center;gap:6px;font-family:Spline Sans Mono,monospace;font-size:9.5px;text-transform:uppercase;letter-spacing:.1em;color:var(--mut)}.gis-bulk-head svg{color:var(--acc);flex-shrink:0}.gis-bulk-sel{width:100%}.gis-bulk-btns{display:grid;grid-template-columns:1fr 1fr;gap:6px}.gis-bulk-btn{display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:6px;font-size:11px;font-weight:600;cursor:pointer;border-radius:var(--r);background:transparent;color:var(--mut2);border:1px solid var(--bd2);white-space:nowrap}.gis-bulk-btn:hover:not(:disabled){color:var(--tx);background:var(--p2)}.gis-bulk-btn:disabled{opacity:.45;cursor:default}.gis-bulk-btn.armed{grid-column:1 / -1;color:var(--ink, #0a0c0e);border-color:var(--acc);background:var(--acc)}.gis-bulk-btn.armed:hover:not(:disabled){background:var(--acc-deep, #ec5e0b);color:var(--ink, #0a0c0e)}.gis-bulk-busy{display:inline-flex;align-items:center;gap:7px;font-size:10.5px;color:var(--mut)}.gis-bulk-busy .tk-spinner{flex-shrink:0}.gis-bulk-res{display:flex;flex-direction:column;gap:5px}.gis-bulk-res-line{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:var(--tx)}.gis-bulk-res-line svg{color:var(--sewer, #3ddc84);flex-shrink:0}.gis-bulk-res.err{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:var(--elec, #e23b2e)}.gis-bulk-res.err svg{color:var(--elec, #e23b2e);flex-shrink:0}.gis-bulk-res-x{margin-left:auto;background:none;border:none;padding:0;cursor:pointer;font-size:10px;color:var(--acc);text-decoration:underline}.gis-bulk-skips{display:flex;flex-direction:column;gap:2px;padding-left:2px}.gis-bulk-skip{display:flex;align-items:baseline;gap:7px;font-family:Spline Sans Mono,monospace;font-size:10px;color:var(--mut)}.gis-bulk-skip .c{min-width:20px;text-align:right;font-weight:700;color:var(--mut2)}.app.theme-light .gis-bulk-btn{background:transparent}.app.theme-light .gis-bulk-btn:hover:not(:disabled){background:var(--p2)}.app.theme-light .gis-bulk-btn.armed{background:var(--acc);color:#fff}.app.theme-light .gis-bulk-btn.armed:hover:not(:disabled){background:var(--acc-deep, #ec5e0b);color:#fff}.report-hint{font-size:11.5px;color:var(--mut);margin-top:2px}.report-sent{display:flex;align-items:center;gap:8px;font-size:13.5px;color:var(--tx)}.report-sent svg{color:var(--sewer, #3ddc84);flex-shrink:0}.app.theme-light .report-hint{color:var(--mut)}.gis-projbar:has(.gis-projbar-prog){width:auto;max-width:min(520px,calc(100vw - 28px))}.gis-projbar:has(.gis-projbar-prog) .gis-combo{flex:0 1 150px}.gis-projbar-prog{flex-shrink:0;display:inline-flex;align-items:center;gap:2px;white-space:nowrap;font-size:10px;font-weight:600;letter-spacing:.02em;color:var(--mut2);background:var(--p2);border:1px solid var(--bd);border-radius:3px;padding:2px 8px;cursor:pointer}.gis-projbar-prog:hover{color:var(--tx);border-color:var(--acc, #ff7a1a)}.gis-projbar-prog-dev{color:var(--elec);font-weight:700}.app.theme-light .gis-projbar-prog{background:var(--p2);border-color:var(--bd);color:var(--mut2)}.app.theme-light .gis-projbar-prog:hover{color:var(--tx);border-color:var(--acc, #ff7a1a)}.app.theme-light .gis-projbar-prog-dev{color:var(--elec)}.crew-day{max-width:980px}.crew-hero{padding:4px 2px 14px}.crew-hero-date{font-family:Spline Sans Mono,monospace;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--mut);margin-bottom:6px}.crew-hero-hi{display:flex;align-items:center;gap:10px;font-size:24px;font-weight:700;color:var(--tx);margin:0 0 8px;line-height:1.1}.crew-hero-hi svg{color:var(--acc, #ff7a1a);flex-shrink:0}.crew-hero-sum{font-size:12px;color:var(--mut2);letter-spacing:.01em}.crew-grid{display:grid;grid-template-columns:1fr;gap:14px}@media (min-width: 900px){.crew-grid{grid-template-columns:1fr 1fr}.crew-card-wide{grid-column:1 / -1}}.crew-card{background:var(--card);border:1px solid var(--bd);border-radius:var(--r-card, 4px);padding:14px 14px 16px;display:flex;flex-direction:column;gap:12px}.crew-card-head{display:flex;align-items:center;gap:9px}.crew-card-head .ic{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:4px;background:var(--p2);color:var(--acc, #ff7a1a);flex-shrink:0}.crew-card-head .ttl{font-size:13px;font-weight:700;color:var(--tx);letter-spacing:.01em}.crew-card-head .ct{margin-left:auto;font-family:Spline Sans Mono,monospace;font-size:12px;font-weight:600;color:var(--mut2);background:var(--p2);border-radius:20px;padding:1px 9px;min-width:22px;text-align:center}.crew-bigbtn{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;min-height:50px;border:none;border-radius:var(--r, 4px);background:var(--acc, #ff7a1a);color:#fff;font-size:15px;font-weight:700;cursor:pointer;transition:filter .12s ease}.crew-bigbtn:hover{filter:brightness(1.06)}.crew-bigbtn:active{filter:brightness(.94)}.crew-empty{display:flex;align-items:center;gap:10px;padding:14px 12px;color:var(--mut);font-size:13px;background:var(--p2);border-radius:var(--r, 4px)}.crew-empty svg{color:var(--mut);flex-shrink:0}.crew-ci-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.crew-ci{padding:11px 12px;background:var(--p2);border-radius:var(--r, 4px);border:1px solid var(--bd)}.crew-ci-top{font-size:14px;font-weight:600;color:var(--tx);margin-bottom:3px}.crew-ci-sub{display:flex;align-items:center;gap:5px;font-size:12px;color:var(--mut2);margin-top:2px}.crew-ci-sub svg{flex-shrink:0;color:var(--mut)}.crew-tasks,.crew-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.crew-task{display:flex;flex-direction:column;gap:10px;padding:13px;min-height:48px;background:var(--p2);border:1px solid var(--bd);border-radius:var(--r, 4px)}.crew-task-ttl{font-size:15px;font-weight:600;color:var(--tx);line-height:1.25}.crew-task-meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:7px}.crew-task-by{font-size:11px;color:var(--mut);margin-top:5px}.crew-task-acts{display:flex;gap:8px}.crew-act{display:inline-flex;align-items:center;justify-content:center;gap:6px;flex:1;min-height:44px;border:1px solid var(--bd2);border-radius:var(--r, 4px);background:var(--card);color:var(--tx);font-size:13px;font-weight:600;cursor:pointer;transition:border-color .12s ease,background .12s ease}.crew-act:hover{border-color:var(--acc, #ff7a1a)}.crew-act.done{border-color:transparent;background:var(--sewer, #3ddc84);color:#08301c}.crew-act.done:hover{filter:brightness(1.05)}.crew-chip{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;color:var(--mut2);background:var(--card);border:1px solid var(--bd);border-radius:20px;padding:2px 9px}.crew-chip svg{flex-shrink:0}.crew-chip.over{color:var(--elec, #e23b2e);border-color:color-mix(in srgb,var(--elec, #e23b2e) 45%,transparent)}.crew-chip.photo{color:var(--gas, #f5c518);border-color:color-mix(in srgb,var(--gas, #f5c518) 45%,transparent)}.crew-step{display:flex;align-items:center;gap:12px;padding:12px 13px;min-height:52px;background:var(--p2);border:1px solid var(--bd);border-radius:var(--r, 4px);cursor:pointer;transition:border-color .12s ease,background .12s ease;text-align:left}.crew-step:hover,.crew-step:focus-visible{border-color:var(--acc, #ff7a1a);outline:none}.crew-step-kind{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:6px;background:color-mix(in srgb,var(--acc, #ff7a1a) 14%,transparent);color:var(--acc, #ff7a1a);flex-shrink:0}.crew-step-kind.insp{background:color-mix(in srgb,var(--water, #2e9be2) 16%,transparent);color:var(--water, #2e9be2)}.crew-step-body{flex:1;min-width:0}.crew-step-ttl{font-size:14px;font-weight:600;color:var(--tx);line-height:1.2}.crew-step-meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px;align-items:center}.crew-step-kindlab{font-family:Spline Sans Mono,monospace;font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--mut)}.crew-step-go{color:var(--mut);flex-shrink:0}.app.theme-light .crew-card{background:var(--card);border-color:var(--bd)}.app.theme-light .crew-card-head .ic,.app.theme-light .crew-card-head .ct,.app.theme-light .crew-empty,.app.theme-light .crew-ci,.app.theme-light .crew-task,.app.theme-light .crew-step{background:var(--p2)}.app.theme-light .crew-chip{background:var(--card);border-color:var(--bd)}.app.theme-light .crew-act{background:var(--card);border-color:var(--bd2)}.app.theme-light .crew-bigbtn{background:var(--acc, #ff7a1a);color:#fff}.app.theme-light .crew-act.done{background:var(--sewer, #3ddc84);color:#08301c}.landing-page .btn.demo-cta{border-color:#ff924366}.demo-explore-link{display:block;width:100%;text-align:center;margin-top:14px;color:var(--mut)}.demo-explore-link:hover{color:var(--acc);text-decoration:underline}.demo-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-shrink:0;padding:8px 22px;background:linear-gradient(135deg,#ff7a1a33,#ff7a1a17);border-bottom:1px solid rgba(255,122,26,.4);color:var(--tx);font-size:12.5px;font-weight:600}.demo-banner-msg{display:flex;align-items:center;gap:8px}.demo-banner-cta{flex-shrink:0;border:1px solid var(--acc, #ff7a1a);background:transparent;color:var(--acc, #ff7a1a);font-family:inherit;font-size:11.5px;font-weight:700;letter-spacing:.02em;padding:6px 14px;border-radius:var(--r, 4px);cursor:pointer;transition:background .14s,color .14s}.demo-banner-cta:hover{background:var(--acc, #ff7a1a);color:#fff}
