:root{--bg:#0b0f1a;--bg-soft:#121829;--card:#161d30;--card-hover:#1c2540;--border:#283353;--text:#e8ecf6;--muted:#95a0bd;--accent:#5b8cff;--accent-soft:rgba(91,140,255,0.14);--live:#34d399;--warn:#fbbf24;--danger:#f87171;--radius:14px;--font:"Segoe UI",system-ui,-apple-system,Roboto,Helvetica,Arial,sans-serif}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font);background:radial-gradient(1100px 500px at 80% -10%,#1a2547 0,transparent 55%),radial-gradient(800px 400px at 0 100%,rgba(52,211,153,.06) 0,transparent 50%),var(--bg);color:var(--text);line-height:1.55;min-height:100vh;-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit}.app-shell{display:flex;min-height:100vh}.main-col{flex:1 1;min-width:0;display:flex;flex-direction:column}.demo-banner,.la-banner{flex-shrink:0;background:linear-gradient(90deg,rgba(61,186,122,.12),rgba(91,140,255,.1));border-bottom:1px solid var(--border);padding:8px 32px;font-size:12.5px;color:var(--muted);display:flex;flex-wrap:wrap;align-items:center;gap:6px}.la-banner strong{color:var(--live);font-weight:700}.demo-banner strong{color:var(--warn);font-weight:700}.demo-banner-sep{opacity:.5}.seg-toggle{display:inline-flex;border:1px solid var(--border);border-radius:10px;overflow:hidden}.seg-toggle button{border:none;background:transparent;color:var(--muted);padding:8px 14px;font-weight:600;font-size:13px;cursor:pointer}.seg-toggle button.on{background:var(--accent-soft);color:var(--accent)}.toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:16px}.toolbar .spacer{flex:1 1}.search-input{padding:8px 12px;border-radius:10px;border:1px solid var(--border);background:var(--bg-soft);color:var(--text);min-width:200px}.modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:50;display:grid;place-items:center;padding:16px}.modal{background:var(--card);border:1px solid var(--border);border-radius:16px;width:100%;max-width:560px;max-height:90vh;overflow:auto;padding:20px}.modal h2{font-size:18px;margin-bottom:12px}.modal-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:16px;flex-wrap:wrap}.btn.danger{background:rgba(248,113,113,.15);border-color:rgba(248,113,113,.4);color:var(--danger)}.badge.res{color:#7dd3fc;background:rgba(125,211,252,.12)}.badge.com{color:#c4b5fd;background:rgba(196,181,253,.14)}.empty-state{text-align:center;padding:40px 20px;color:var(--muted)}.empty-state strong{color:var(--text);display:block;margin-bottom:8px}.breadcrumbs{display:flex;flex-wrap:wrap;align-items:center;gap:4px;font-size:13px;margin-bottom:16px;color:var(--muted)}.breadcrumbs a{color:var(--accent);font-weight:500;text-decoration:none}.breadcrumbs a:hover{text-decoration:underline}.crumb-sep{margin:0 6px;opacity:.45;-webkit-user-select:none;-moz-user-select:none;user-select:none}.crumb-current{color:var(--text);font-weight:600}.wiki-page{min-width:0}.wiki-layout{display:grid;grid-gap:24px;gap:24px;align-items:start}.wiki-layout-3{grid-template-columns:200px minmax(0,1fr) 220px}.wiki-layout-2{grid-template-columns:200px minmax(0,1fr)}.wiki-layout-main-side{grid-template-columns:minmax(0,1fr) 220px}.wiki-layout-main-only{grid-template-columns:1fr}@media (max-width:1100px){.wiki-layout-3{grid-template-columns:180px minmax(0,1fr)}.wiki-layout-3 .wiki-side{display:none}}@media (max-width:900px){.wiki-layout-2,.wiki-layout-3,.wiki-layout-main-side{grid-template-columns:1fr}.wiki-nav,.wiki-side{position:static!important}}.wiki-main{min-width:0}.wiki-nav{position:-webkit-sticky;position:sticky;top:12px;padding:14px 14px 16px!important;max-height:calc(100dvh - 24px);overflow-y:auto;-webkit-overflow-scrolling:touch}.wiki-nav-brand{display:block;font-weight:700;font-size:13px;color:var(--text);text-decoration:none;margin-bottom:4px;letter-spacing:-.2px}.wiki-nav-brand:hover{color:var(--accent);text-decoration:none}.wiki-nav .sec{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:14px 0 4px}.wiki-nav-link{display:block;padding:6px 8px;margin:1px 0;border-radius:8px;font-size:13px;color:var(--muted);text-decoration:none;line-height:1.3}.wiki-nav-link:hover{color:var(--text);background:var(--bg-soft);text-decoration:none}.wiki-nav-link.active{color:var(--accent);background:var(--accent-soft);font-weight:600}.wiki-nav-context{margin-top:2px}.wiki-side{position:-webkit-sticky;position:sticky;top:12px}.wiki-side .card{padding:14px}.wiki-side h3{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:0 0 10px}.wiki-side a.side-link,.wiki-side button.side-link,.wiki-side span.side-link{display:block;padding:7px 0;font-size:13px;color:var(--accent);text-decoration:none;background:none;border:none;border-bottom:1px solid var(--border);width:100%;text-align:left;cursor:pointer;font:inherit}.wiki-side a.side-link:last-child,.wiki-side button.side-link:last-child{border-bottom:none}.wiki-side a.side-link:hover{text-decoration:underline}.list-toolbar{flex-wrap:wrap;gap:10px;margin-bottom:12px}.list-meta-bar,.list-toolbar{display:flex;align-items:center}.list-meta-bar{justify-content:space-between;gap:12px;padding:8px 2px 12px;margin-bottom:8px;border-bottom:1px solid var(--border);font-size:13px;color:var(--muted)}.list-meta-accent{color:var(--accent);font-weight:600}.layout-toggle{display:inline-flex;border:1px solid var(--border);border-radius:10px;overflow:hidden}.layout-toggle button{border:none;background:transparent;color:var(--muted);padding:8px 12px;font-size:12px;font-weight:600;cursor:pointer}.layout-toggle button.on{background:var(--accent-soft);color:var(--accent)}.entity-list{display:flex;flex-direction:column;gap:10px}.entity-list.compact{gap:6px}.entity-row{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-start;justify-content:space-between;background:var(--card);border:1px solid var(--border);border-left-width:4px;border-radius:14px;padding:14px 16px;cursor:pointer;transition:border-color .15s,background .15s}.entity-row:hover{border-color:#3a4a78;background:var(--card-hover)}.entity-row.segment-residential{border-left-color:#7dd3fc}.entity-row.segment-commercial{border-left-color:#c4b5fd}.entity-list.compact .entity-row{padding:10px 12px;border-radius:10px;align-items:center}.entity-row-main{flex:1 1;min-width:200px}.entity-row-meta{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-bottom:6px}.entity-id{font-size:11px;font-family:ui-monospace,monospace;color:var(--muted)}.entity-name{margin:0;font-size:17px;font-weight:700;letter-spacing:-.3px;color:var(--text)}.entity-list.compact .entity-name{font-size:15px}.entity-line{margin:4px 0 0;font-size:13.5px;color:var(--text)}.entity-line.muted{color:var(--muted);font-size:12.5px}.entity-row-actions{display:flex;flex-wrap:wrap;gap:6px;flex-shrink:0}.chip-soft{font-size:11px;padding:2px 8px;border-radius:999px;background:rgba(149,160,189,.12);color:var(--muted);font-weight:600}.entity-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));grid-gap:12px;gap:12px}.entity-grid-card{text-align:left;background:var(--card);border-top-width:1px;border:1px solid var(--border);border-top:3px solid var(--border);border-radius:14px;padding:14px;cursor:pointer;color:inherit;display:flex;flex-direction:column;gap:6px;min-height:120px;transition:border-color .15s,background .15s}.entity-grid-card:hover{border-color:#3a4a78;background:var(--card-hover)}.entity-grid-card.segment-residential{border-top-color:#7dd3fc}.entity-grid-card.segment-commercial{border-top-color:#c4b5fd}.entity-grid-top{display:flex;justify-content:flex-end}.entity-grid-card .entity-name{font-size:15px}.entity-sub{font-size:12px;color:var(--muted);line-height:1.35}.wiki-title-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:8px}.wiki-title-row h1{margin:0;font-size:clamp(22px,3vw,30px);letter-spacing:-.5px}.wiki-meta{color:var(--muted);font-size:14px;margin-bottom:18px;line-height:1.5}.wiki-section{margin-bottom:22px}.wiki-section>h2{font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:0 0 10px;padding-bottom:6px;border-bottom:1px solid var(--border)}.prop-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:16px;margin-bottom:10px;transition:border-color .15s,background .15s}.prop-card:hover{border-color:#3a4a78;background:var(--card-hover)}.prop-card a.prop-title{font-size:16px;font-weight:700;color:var(--text);text-decoration:none}.prop-card a.prop-title:hover{color:var(--accent)}.dl-grid{display:grid;grid-template-columns:140px 1fr;grid-gap:8px 12px;gap:8px 12px;font-size:14px}.dl-grid dt{color:var(--muted);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.dl-grid dd{margin:0}.sidebar{width:248px;flex-shrink:0;background:rgba(18,24,41,.95);border-right:1px solid var(--border);padding:20px 14px;display:flex;flex-direction:column;gap:6px;position:-webkit-sticky;position:sticky;top:0;height:100vh}.sidebar .brand{display:flex;align-items:center;gap:10px;padding:8px 10px 18px;border-bottom:1px solid var(--border);margin-bottom:10px;color:var(--text)}.sidebar .brand,.sidebar .brand:hover{text-decoration:none}.sidebar .brand-mark{width:34px;height:34px;border-radius:10px;background:var(--accent-soft);display:grid;place-items:center;font-weight:800;color:var(--accent);font-size:14px}.sidebar .brand strong{display:block;font-size:15px;letter-spacing:-.2px}.sidebar .brand span{font-size:11px;color:var(--muted)}.nav-label{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:12px 10px 4px}.nav-link{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:10px;color:var(--muted);font-size:14px;font-weight:500;text-decoration:none;transition:background .15s,color .15s}.nav-link:hover{background:var(--card);color:var(--text);text-decoration:none}.nav-link.active{background:var(--accent-soft);color:var(--accent)}.sidebar-foot{margin-top:auto;padding:12px 10px;font-size:11px;color:var(--muted);border-top:1px solid var(--border)}.main{flex:1 1;min-width:0;padding:28px 32px 48px}.page-head{margin-bottom:22px}.page-head h1{font-size:clamp(24px,3vw,32px);letter-spacing:-.5px;line-height:1.15;margin-bottom:6px}.page-head p{color:var(--muted);font-size:15px;max-width:640px}.badge{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:4px 10px;border-radius:999px}.badge.live{color:var(--live);background:rgba(52,211,153,.12)}.badge.warn{color:var(--warn);background:rgba(251,191,36,.12)}.badge.muted{color:var(--muted);background:rgba(149,160,189,.12)}.badge.danger{color:var(--danger);background:rgba(248,113,113,.12)}.grid{display:grid;grid-gap:16px;gap:16px}.grid-4{grid-template-columns:repeat(4,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-2{grid-template-columns:repeat(2,1fr)}@media (max-width:1100px){.grid-4{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:1fr 1fr}}.nav-scrim{display:none}.sidebar-top{display:flex;align-items:flex-start;gap:8px}.sidebar-top .brand{flex:1 1;border-bottom:none;margin-bottom:0;padding-bottom:8px}.nav-close{display:none;border:1px solid var(--border);background:var(--bg-soft);color:var(--text);width:40px;height:40px;border-radius:10px;font-size:16px;cursor:pointer;flex-shrink:0}.nav-scroll{flex:1 1;overflow-y:auto;-webkit-overflow-scrolling:touch}.nav-ico{width:1.25em;text-align:center}.mobile-tabbar,.mobile-topbar{display:none}.nav-hamburger{display:flex;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;padding:10px;border:1px solid var(--border);border-radius:10px;background:var(--card);cursor:pointer}.nav-hamburger span{display:block;height:2px;background:var(--text);border-radius:1px}@media (max-width:900px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.field-row{grid-template-columns:1fr!important}.dl-grid{grid-template-columns:1fr;gap:4px 0}.dl-grid dt{margin-top:8px}.dl-grid dt:first-child{margin-top:0}.sidebar{position:fixed;z-index:60;left:0;top:0;bottom:0;width:min(300px,88vw);height:100dvh;transform:translateX(-105%);transition:transform .22s ease;box-shadow:none}.app-shell.menu-open .sidebar{transform:translateX(0);box-shadow:8px 0 32px rgba(0,0,0,.45)}.nav-scrim{display:block;position:fixed;inset:0;z-index:55;border:none;background:rgba(0,0,0,.5);cursor:pointer}.nav-close{display:grid;place-items:center}.mobile-topbar{display:flex;align-items:center;gap:10px;padding:max(10px,env(safe-area-inset-top)) 12px 10px;border-bottom:1px solid var(--border);background:rgba(18,24,41,.96);position:-webkit-sticky;position:sticky;top:0;z-index:40}.mobile-topbar-title{flex:1 1;min-width:0}.mobile-topbar-title strong{display:block;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-topbar-title span{font-size:11px;color:var(--muted)}.mobile-topbar-action{width:44px;height:44px;display:grid;place-items:center;border-radius:10px;border:1px solid var(--border);background:var(--card);color:var(--text);text-decoration:none;font-size:18px}.main{padding:16px 14px calc(88px + env(safe-area-inset-bottom))}.demo-banner,.la-banner{padding:8px 14px;font-size:11.5px}.la-banner-text{display:none}.mobile-tabbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:45;background:rgba(18,24,41,.97);border-top:1px solid var(--border);padding:6px 4px calc(6px + env(safe-area-inset-bottom));justify-content:space-around;gap:2px}.mobile-tab{flex:1 1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 2px;min-height:48px;color:var(--muted);text-decoration:none;font-size:10px;font-weight:600;border-radius:8px}.mobile-tab.active{color:var(--accent);background:var(--accent-soft)}.mobile-tab-ico{font-size:18px;line-height:1}.mobile-tab-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.toolbar{gap:8px}.search-input{min-width:0;width:100%;flex:1 1 100%}.seg-toggle{width:100%}.seg-toggle button{flex:1 1;min-height:44px}.btn{min-height:44px;padding:10px 14px}.modal-backdrop{padding:0;align-items:flex-end}.modal{max-width:100%;max-height:92dvh;border-radius:16px 16px 0 0;padding:18px 16px calc(18px + env(safe-area-inset-bottom))}.modal-actions .btn{flex:1 1;min-width:120px}.page-head h1{font-size:22px}table.data{font-size:12.5px}table.data td,table.data th{padding:10px 8px}.stat-value{font-size:22px}}@media (min-width:901px) and (max-width:1100px){.sidebar{width:220px}.main{padding:22px 20px 40px}}@media (pointer:coarse){.btn,.nav-link,button,input,select,textarea{min-height:44px}.nav-link{padding:12px 14px}}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));grid-gap:10px;gap:10px}@media (min-width:700px){.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}}.gallery-thumb{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:12px;overflow:hidden;background:var(--card);padding:0;cursor:pointer;text-align:left;color:inherit;min-height:0}.gallery-thumb img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;background:var(--bg-soft)}.gallery-thumb-ph{aspect-ratio:4/3;display:grid;place-items:center;color:var(--muted);background:var(--bg-soft)}.gallery-thumb-cap{font-size:11px;color:var(--muted);padding:8px;line-height:1.3}.viewer-img{width:100%;max-height:50vh;object-fit:contain;border-radius:10px;background:#000;margin-bottom:12px}.modal-wide{max-width:720px}.btn-link{display:inline;margin:4px 0 0;padding:0;border:none;background:none;color:var(--live);font:inherit;font-size:11px;font-weight:600;cursor:pointer;text-align:left}.btn-link:hover{text-decoration:underline;color:var(--accent)}.est-lines-toggle{display:block}.est-lines-row>td{background:var(--bg-soft);padding:10px 12px 14px!important;border-bottom:1px solid var(--border)}.est-lines-table{width:100%;margin:0;font-size:13px}.est-lines-table th{font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.field-hint{margin:6px 0 0;font-size:12px;color:var(--muted);line-height:1.35}.note-list{display:flex;flex-direction:column;gap:10px}.note-card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:14px}.note-card-head{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.note-card-head strong{font-size:15px}@supports (padding:max(0px)){.main-col{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}}.mobile-card-list{display:none}.muted-line{font-size:12px;color:var(--muted);margin-top:2px}.warn-line{font-size:11px;color:var(--warn);margin-top:8px}.mobile-data-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:14px;margin-bottom:10px}.mobile-data-card-top{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;margin-bottom:10px}.mobile-data-card-meta{font-size:12px;color:var(--muted);margin-bottom:10px;align-items:center}.mobile-data-card-actions,.mobile-data-card-meta{display:flex;flex-wrap:wrap;gap:8px}@media (max-width:900px){.mobile-card-list{display:block}.desktop-table{display:none}}@media (min-width:901px){.mobile-card-list{display:none}.desktop-table{display:block}}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:18px 18px 16px}.card h2,.card h3{font-size:15px;margin-bottom:8px;letter-spacing:-.2px}.card .kicker{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--accent);margin-bottom:6px}.stat-value{font-size:28px;font-weight:700;letter-spacing:-.6px}.stat-label{font-size:12px;color:var(--muted);margin-top:2px}.table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius)}table.data{width:100%;border-collapse:collapse;font-size:13.5px}table.data th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:700;background:var(--bg-soft)}table.data td,table.data th{padding:12px 14px;border-bottom:1px solid var(--border)}table.data td{vertical-align:top}table.data tr:last-child td{border-bottom:none}table.data tr:hover td{background:rgba(255,255,255,.02)}.pipeline{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.pipeline .stage{flex:1 1;min-width:72px;background:var(--bg-soft);border:1px solid var(--border);border-radius:10px;padding:10px;text-align:center}.pipeline .stage strong{display:block;font-size:18px}.pipeline .stage span{font-size:10px;color:var(--muted);text-transform:uppercase}.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:10px;font-weight:600;font-size:13px;border:1px solid var(--border);background:var(--card);color:var(--text);cursor:pointer}.btn,.btn:hover{text-decoration:none}.btn:hover{background:var(--card-hover)}.btn.primary{background:var(--accent);border-color:transparent;color:#fff}.btn.primary:hover{filter:brightness(1.08)}.prose{max-width:760px}.prose h1{font-size:28px;margin:0 0 12px;letter-spacing:-.4px}.prose h2{font-size:20px;margin:28px 0 10px}.prose h3{font-size:16px;margin:20px 0 8px}.prose li,.prose p{color:var(--text);margin-bottom:10px}.prose ol,.prose ul{padding-left:1.25rem;margin-bottom:12px}.prose table{width:100%;border-collapse:collapse;margin:14px 0 20px;font-size:14px}.prose td,.prose th{border:1px solid var(--border);padding:8px 10px;text-align:left}.prose th{color:var(--muted);font-size:12px}.prose code,.prose th{background:var(--bg-soft)}.prose code{padding:1px 6px;border-radius:4px;font-size:.9em}.prose blockquote{border-left:3px solid var(--accent);padding-left:14px;color:var(--muted);margin:14px 0}.wiki-nav a:not(.wiki-nav-link):not(.wiki-nav-brand){display:block;padding:6px 8px;font-size:13px;color:var(--muted);border-radius:8px;text-decoration:none}.wiki-nav a:not(.wiki-nav-link):not(.wiki-nav-brand):hover{color:var(--accent);background:var(--bg-soft)}.landing-hero{padding:48px 0 28px;max-width:720px}.landing-hero h1{font-size:clamp(32px,5vw,48px);letter-spacing:-1px;line-height:1.08;margin:12px 0 14px}.landing-hero h1 .grad{background:linear-gradient(100deg,#7aa2ff,#34d399);-webkit-background-clip:text;background-clip:text;color:transparent}.landing-hero p{color:var(--muted);font-size:18px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}.note-pair{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px;margin-bottom:14px}@media (max-width:700px){.note-pair{grid-template-columns:1fr}}.note-pair .hand{font-style:italic;color:var(--muted);font-size:13px;border-left:3px solid var(--warn);background:rgba(251,191,36,.06)}.note-pair .hand,.note-pair .typed{padding:10px 12px;border-radius:0 10px 10px 0}.note-pair .typed{font-size:13.5px;border-left:3px solid var(--live);background:rgba(52,211,153,.06)}.chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.chip{font-size:11px;padding:3px 8px;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-weight:600}.process-train{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:16px 16px 14px;margin-bottom:20px}.process-train-meta{justify-content:space-between;margin-bottom:12px;align-items:baseline}.process-train-meta,.train-row{display:flex;flex-wrap:wrap;gap:8px}.train-row{align-items:stretch}.train-cell{border-radius:10px;border:1px solid var(--border);padding:10px 10px 8px;min-width:72px;display:flex;flex-direction:column;gap:4px}.train-cell strong{font-size:12px;letter-spacing:-.2px}.train-cell span{font-size:10.5px;color:var(--muted);line-height:1.35}.train-trap{background:rgba(251,191,36,.1);border-color:rgba(251,191,36,.35)}.train-aer{background:rgba(52,211,153,.1);border-color:rgba(52,211,153,.35)}.train-clar{background:rgba(91,140,255,.12);border-color:rgba(91,140,255,.35)}.train-ccc{background:rgba(167,139,250,.12);border-color:rgba(167,139,250,.4)}.train-pipe{background:var(--bg-soft);justify-content:center;text-align:center}.train-arrow{align-items:center;font-weight:700;padding:0 2px}.train-arrow,.train-equip{display:flex;color:var(--muted)}.train-equip{flex-wrap:wrap;gap:8px 14px;margin-top:12px;padding-top:10px;border-top:1px dashed var(--border);font-size:11px}.train-equip span:before{content:"· ";color:var(--accent)}.field-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px;margin-top:10px}@media (max-width:700px){.field-row{grid-template-columns:1fr}}.field label{display:block;font-size:11px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px}.field input,.field select,.field textarea{width:100%;padding:8px 10px;border-radius:8px;border:1px solid var(--border);background:var(--bg-soft);color:var(--text)}.field textarea{min-height:64px;resize:vertical}.quote-box{background:var(--bg-soft);border:1px dashed var(--border);border-radius:12px;padding:14px 16px;font-size:13px}.quote-box .row{display:flex;justify-content:space-between;gap:12px;padding:4px 0;color:var(--muted)}.quote-box .row.total{border-top:1px solid var(--border);margin-top:8px;padding-top:10px;color:var(--text);font-weight:700;font-size:18px}.pe-note{font-size:11.5px;color:var(--muted);border-left:3px solid var(--warn);padding:8px 12px;background:rgba(251,191,36,.06);border-radius:0 8px 8px 0;margin-top:12px}.dc-toast{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom));transform:translateX(-50%);z-index:100;max-width:min(420px,calc(100vw - 32px));padding:12px 18px;border-radius:12px;background:#1a2338;border:1px solid #3a4a78;color:var(--text);font-size:13.5px;font-weight:600;box-shadow:0 12px 40px rgba(0,0,0,.45);animation:dc-toast-in .22s ease}@media (max-width:900px){.dc-toast{bottom:calc(72px + env(safe-area-inset-bottom))}}@keyframes dc-toast-in{0%{opacity:0;transform:translateX(-50%) translateY(8px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}@media (prefers-reduced-motion:reduce){.dc-toast{animation:none}.entity-row,.nav-link,.permit-card,.prop-card{transition:none!important}}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.empty-state .btn{margin-top:4px}.card.interactive{transition:border-color .15s,background .15s}.card.interactive:hover{border-color:#3a4a78;background:var(--card-hover)}.stat-label{letter-spacing:.02em}.wo-sheet{background:#fff;color:#111;padding:24px 28px;border:1px solid var(--border);border-radius:12px;max-width:800px}.wo-head{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:12px}.wo-brand{font-size:20px;font-weight:800;color:#0f172a;letter-spacing:-.3px}.wo-legal{font-size:12px;color:#475569}.wo-meta{font-size:12px;color:#64748b;line-height:1.45;margin-top:6px}.wo-title{font-size:17px;font-weight:700;color:#0f172a}.wo-head-right,.wo-title{text-align:right}.wo-banner{background:#fef3c7;color:#92400e;font-weight:700;font-size:12px;padding:8px 12px;border-radius:8px;margin-bottom:14px}.wo-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px 20px;gap:14px 20px;margin-bottom:14px}@media (max-width:600px){.wo-grid{grid-template-columns:1fr}}.wo-block h3,.wo-grid h3{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:#64748b;margin:0 0 4px}.wo-block p,.wo-grid p{font-size:13px;margin:0;color:#0f172a;line-height:1.4}.wo-block{margin-bottom:14px}.wo-muted{color:#64748b!important;font-size:12px!important}.wo-check{list-style:none;margin:0;padding:0;font-size:12.5px;color:#0f172a}.wo-check li{display:flex;gap:8px;padding:4px 0;border-bottom:1px solid #f1f5f9;line-height:1.35}.wo-box{font-size:14px;flex-shrink:0;width:1.2em}.wo-sign{display:grid;grid-template-columns:1fr 1fr;grid-gap:28px;gap:28px;margin-top:22px;font-size:13px}.wo-line{border-bottom:1px solid #0f172a;height:28px;margin:8px 0 4px}.wo-foot{margin-top:18px;padding-top:10px;border-top:1px dashed #cbd5e1;font-size:10.5px;color:#64748b}.permit-hint{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:10px 0 14px;padding:10px 12px;border-radius:10px;background:rgba(251,191,36,.1);border:1px solid rgba(251,191,36,.35);font-size:13px;color:var(--muted)}.permit-hint strong{color:var(--warn)}@media print{.wo-sheet{border:none;border-radius:0;padding:0;max-width:none}body.printing-wo .app-shell .sidebar,body.printing-wo .breadcrumbs,body.printing-wo .la-banner,body.printing-wo .mobile-tabbar,body.printing-wo .mobile-topbar,body.printing-wo .no-print,body.printing-wo .wiki-meta,body.printing-wo .wiki-nav,body.printing-wo .wiki-section,body.printing-wo .wiki-side,body.printing-wo .wiki-title-row{display:none!important}body.printing-wo .wo-print-host,body.printing-wo .wo-sheet{display:block!important}}.quote-print{background:#fff;color:#111;border-radius:12px;padding:28px 32px;border:1px solid var(--border);max-width:800px}.quote-print-head{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-bottom:16px}.quote-brand{font-size:22px;font-weight:800;letter-spacing:-.4px;color:#0f172a}.quote-legal{font-size:13px;color:#475569;margin-top:2px}.quote-meta{font-size:12.5px;color:#64748b;line-height:1.45;margin-top:8px}.quote-doc-title{font-size:18px;font-weight:700;color:#0f172a;text-align:right}.quote-head-right{text-align:right}.quote-ldh{font-size:11.5px;font-weight:600;color:#1e3a5f;background:#e8f2ff;border-radius:8px;padding:8px 12px;margin-bottom:18px}.quote-parties{display:grid;grid-template-columns:1fr 1fr;grid-gap:20px;gap:20px;margin-bottom:18px}@media (max-width:600px){.quote-parties{grid-template-columns:1fr}}.quote-notes h3,.quote-package h3,.quote-parties h3{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:#64748b;margin:0 0 6px}.quote-package p,.quote-parties p{font-size:14px;color:#0f172a;margin:0;line-height:1.45}.quote-package{margin-bottom:16px}.quote-table{width:100%;border-collapse:collapse;font-size:13px;margin:12px 0 18px}.quote-table th{text-align:left;font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:#64748b;border-bottom:2px solid #e2e8f0;padding:8px 6px}.quote-table td{border-bottom:1px solid #e2e8f0;padding:8px 6px;vertical-align:top;color:#0f172a}.quote-table .num{text-align:right;white-space:nowrap}.quote-table tfoot td{border-bottom:none;border-top:2px solid #0f172a;padding-top:12px;font-size:15px}.quote-tag{font-size:10px;color:#0284c7;font-weight:600}.quote-total-only{display:flex;justify-content:space-between;align-items:baseline;padding:14px 0;border-top:1px solid #e2e8f0;border-bottom:2px solid #0f172a;margin:12px 0 18px;font-size:18px}.quote-notes p{font-size:13px;color:#334155}.quote-foot{margin-top:24px;padding-top:14px;border-top:1px dashed #cbd5e1;font-size:11px;color:#64748b;line-height:1.45}.quote-print-actions{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.quote-modal-scroll{max-height:85vh;overflow:auto}@media print{.quote-print{border:none;border-radius:0;padding:0;max-width:none}.quote-print-actions{display:none!important}}.site-planner{padding:14px}.site-planner-toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:10px}.site-planner-meta{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;font-size:12px;color:var(--muted);margin-bottom:8px}.site-planner-hint{font-size:12.5px;color:var(--accent);margin-bottom:8px}.site-map{height:min(420px,55vh);background:#0a0e18;z-index:0}.site-3d,.site-map{width:100%;border-radius:12px;border:1px solid var(--border)}.site-3d{max-width:100%;height:auto;background:#0b0f1a;display:block}.site-feature-list{margin-top:14px;border-top:1px solid var(--border);padding-top:12px}.site-feature-list h3{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-bottom:8px}.site-feature-list ul{list-style:none;display:flex;flex-direction:column;gap:6px}.site-feature-list li{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:10px;border:1px solid var(--border);background:var(--bg-soft);cursor:pointer}.site-feature-list li.on{border-color:var(--accent);background:var(--accent-soft)}.site-feature-list .dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.site-feature-list .flex-1{flex:1 1;min-width:0}.leaflet-container{font:inherit;background:#0a0e18}.stage-chip-row{display:flex;flex-wrap:wrap;gap:8px}.stage-chip{border:1px solid var(--border);background:var(--bg-soft);color:var(--muted);border-radius:999px;padding:8px 12px;font-size:12px;font-weight:600;cursor:pointer;min-height:40px}.stage-chip.on{background:var(--accent-soft);color:var(--accent);border-color:transparent}.check-list{list-style:none;display:flex;flex-direction:column;gap:8px}.check-list label{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;color:var(--muted);cursor:pointer;line-height:1.4}.check-list label.done{color:var(--live)}.check-list input{margin-top:3px;width:18px;height:18px;flex-shrink:0}.notes-area{width:100%;min-height:96px;padding:10px 12px;border-radius:10px;border:1px solid var(--border);background:var(--bg-soft);color:var(--text);resize:vertical}.activity-list{list-style:none;display:flex;flex-direction:column;gap:8px}.activity-list li{display:grid;grid-template-columns:120px 1fr;grid-gap:10px;gap:10px;font-size:13px;padding:8px 0;border-bottom:1px solid var(--border)}.activity-list time{color:var(--muted);font-size:11px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}@media (max-width:700px){.activity-list li{grid-template-columns:1fr;gap:2px}}.permit-columns{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));grid-gap:14px;gap:14px;align-items:start}.permit-col{background:var(--bg-soft);border:1px solid var(--border);border-radius:var(--radius);padding:10px;min-height:120px}.permit-col-head{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;padding:4px 4px 8px;border-bottom:1px solid var(--border);font-size:13px}.permit-card{display:block;background:var(--card);border:1px solid var(--border);border-radius:12px;padding:12px;margin-bottom:8px;text-decoration:none;color:inherit;transition:border-color .15s,background .15s}.permit-card:hover{border-color:#3a4a78;background:var(--card-hover);text-decoration:none}.permit-card-top{display:flex;justify-content:space-between;gap:8px;align-items:flex-start;margin-bottom:6px}.print-only{display:none}@media print{.breadcrumbs,.demo-banner,.la-banner,.mobile-tabbar,.mobile-topbar,.nav-scrim,.no-print,.sidebar,.wiki-nav,.wiki-side{display:none!important}.main,.main-col{padding:0!important}body{background:white;color:black}.card,.process-train{page-break-inside:avoid;break-inside:avoid;border-color:#ccc}.print-only{display:block!important;color:black}.work-order-print h1{font-size:20px;margin-bottom:8px}.wiki-layout-2,.wiki-layout-3,.wiki-layout-main-side{display:block}.check-list label{color:#222}}