:root{--ink:#17211e;--ink2:#24302c;--green:#137a57;--lime:#b7df55;--paper:#f3f5f2;--surface:#fff;--line:#dce8e5;--muted:#66736e;--blue:#e4551d;--amber:#d99217;--red:#c43d3d;--shadow:0 8px 30px #17211e0d}html[data-theme=dark]{--ink:#edf5f1;--ink2:#dce8e2;--paper:#0e1714;--surface:#17231f;--line:#2b3c36;--muted:#9bada6;--shadow:0 8px 30px #0004}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Segoe UI",system-ui,-apple-system,Roboto,"Helvetica Neue",Arial,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}.hidden{display:none!important}.wrap{width:min(1440px,calc(100% - 48px));margin:auto}.muted{color:var(--muted)}.overline,.breadcrumbs{margin:0;color:var(--green);font-size:10px;font-weight:800;letter-spacing:.16em}.light{color:var(--lime)}.primary,.secondary{min-height:40px;border-radius:8px;padding:0 16px;border:1px solid transparent;font-weight:750}.primary{background:var(--green);color:#fff}.primary:hover{background:#0f684a}.secondary{background:var(--surface);border-color:var(--line);color:var(--ink)}.small{min-height:34px;font-size:12px}.wide{width:100%}.login-shell{min-height:100vh;display:grid;grid-template-columns:1.2fr .8fr;background:#082e24}.login-brand{display:flex;flex-direction:column;justify-content:center;padding:9vw;color:#fff;background:radial-gradient(circle at 80% 20%,#187054,transparent 38%)}.brand-symbol{display:grid;place-items:center;width:46px;height:46px;border:1px solid #4b8a73;border-radius:12px;color:var(--lime);font-weight:900}.login-brand h1{margin:55px 0 22px;font-size:clamp(44px,6vw,76px);line-height:.98;letter-spacing:-.05em}.login-brand h1 em{color:var(--lime);font-style:normal}.login-brand>p:last-child{max-width:580px;color:#b8d0c7;font-size:18px;line-height:1.5}.login-card{width:min(420px,86%);margin:auto;padding:42px;background:#fff;border-radius:18px;box-shadow:0 30px 100px #00181155;color:#17211e}.login-card h2{font-size:30px;margin:8px 0}.login-card label,dialog label{display:grid;gap:7px;margin-top:18px;font-size:12px;font-weight:700}.login-card input,dialog input,dialog select,dialog textarea{border:1px solid #dce8e5;border-radius:8px;padding:12px;background:#fff}.login-card .primary{margin-top:24px}.error{color:var(--red);font-size:12px}.topbar{position:sticky;top:0;z-index:20;color:#eef8f3;background:#16211e;border-bottom:1px solid #263b34}.top-main{height:64px;display:flex;align-items:center;gap:24px}.product{display:flex;align-items:center;gap:9px;border:0;background:none;color:#fff;text-align:left}.product>b{display:grid;place-items:center;width:36px;height:36px;border-radius:9px;border:1px solid #476258;color:var(--lime)}.product>span{font-weight:900;line-height:.8}.product small{display:block;margin-top:6px;color:#7f9a90;font-size:8px;letter-spacing:.2em}.context{display:flex;gap:8px}.context label{display:grid;gap:2px;color:#81978f;font-size:9px;text-transform:uppercase;letter-spacing:.1em}.context select{min-width:170px;border:0;color:#e7f2ed;background:transparent;font-size:12px;font-weight:700;outline:none}.context option{color:#17211e}.top-actions{display:flex;align-items:center;gap:4px;margin-left:auto}.top-actions>button{position:relative;display:grid;place-items:center;width:38px;height:38px;border:0;border-radius:8px;background:transparent;color:#b8c8c2;font-size:19px}.top-actions>button:hover{background:#263832;color:#fff}.top-actions button i{position:absolute;right:2px;top:1px;display:grid;place-items:center;width:15px;height:15px;border-radius:50%;background:var(--red);color:#fff;font-size:8px;font-style:normal}.health{padding:7px 10px;border-radius:18px;background:#203b31;color:#9dd6bf;font-size:11px}.profile{width:auto!important;display:flex!important;gap:7px!important;text-align:left}.profile>b{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:var(--lime);color:#173126;font-size:12px}.profile span{font-size:11px}.profile small{display:block;color:#7f9a90}.navline{border-top:1px solid #263832}.navwrap{height:45px;display:flex;align-items:end;justify-content:space-between}.navwrap nav{display:flex;height:100%;gap:2px;overflow-x:auto}.navwrap nav button{height:100%;padding:0 12px;border:0;border-radius:7px 7px 0 0;background:transparent;color:#94a8a0;font-size:12px;font-weight:700;white-space:nowrap}.navwrap nav button:hover{color:#fff}.navwrap nav button.active{background:var(--paper);color:var(--ink)}.navwrap>.primary{margin-bottom:6px}.content{padding:28px 0 80px}.page-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:22px}.page-head h1{margin:5px 0;font-size:28px;letter-spacing:-.02em}.page-head>div>p:last-child{margin:0;color:var(--muted);font-size:13px}#mobileContextAction{display:none}.view{display:none}.active-view{display:block}.hero{min-height:235px;padding:42px;display:flex;align-items:center;justify-content:space-between;border-radius:16px;color:#fff;background:linear-gradient(120deg,#0d4937,#12392e);overflow:hidden}.hero h2{max-width:700px;margin:9px 0;font-size:43px;letter-spacing:-.04em}.hero h2 em{color:var(--lime);font-style:normal}.hero>div>p:last-child{color:#aecbc0}.hero aside{display:grid;gap:5px;min-width:180px;padding:22px;border:1px solid #ffffff22;border-radius:12px;background:#ffffff0b}.hero aside span,.hero aside small{font-size:9px;letter-spacing:.13em;color:#99b8ac}.hero aside b{font-size:34px;color:var(--lime)}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:14px 0}.metrics article,.panel,.table-panel,.upload-card,.analysis{background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow)}.metrics article{display:flex;align-items:center;gap:15px;padding:20px}.metrics article>i{display:grid;place-items:center;width:42px;height:42px;border-radius:10px;background:#e8f3ed;color:var(--green);font-style:normal}.metrics small{color:var(--muted);font-size:9px;font-weight:800;letter-spacing:.11em}.metrics strong{display:block;margin-top:3px;font-size:28px}.metrics p{margin:0;color:var(--muted);font-size:11px}.dashgrid{display:grid;grid-template-columns:2fr 1fr;gap:12px}.panel{padding:22px}.panel h3{margin:4px 0}.panel-head{display:flex;justify-content:space-between;align-items:center}.chip{padding:5px 8px;border-radius:12px;background:var(--paper);color:var(--muted);font-size:10px;font-weight:600;letter-spacing:.02em}.chip.good{background:#e3f3e9;color:var(--green)}.pipeline{display:flex;align-items:center;gap:9px;margin-top:25px}.pipeline button{display:flex;align-items:center;gap:9px;flex:1;padding:12px;border:1px solid var(--line);border-radius:9px;background:var(--paper);color:var(--ink);text-align:left}.pipeline button i{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:var(--green);color:#fff;font-style:normal;font-size:11px}.pipeline button b{font-size:11px}.pipeline button small,.palette small{display:block;color:var(--muted);font-size:9px;font-weight:400}.pipeline>span{color:var(--muted)}.tasks{list-style:none;margin:13px 0 0;padding:0}.tasks li{display:flex;align-items:center;gap:9px;padding:12px 0;border-bottom:1px solid var(--line)}.tasks li>i{width:8px;height:8px;border-radius:50%;background:var(--amber)}.tasks .blue{background:var(--blue)}.tasks span{flex:1;font-size:11px}.tasks small{display:block;color:var(--muted)}.tasks button{border:0;background:none;color:var(--green);font-size:10px}.toolbar{display:flex;gap:8px;margin-bottom:12px}.toolbar select,.searchfield{min-height:40px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink)}.toolbar select{padding:0 10px}.searchfield{display:flex;align-items:center;gap:7px;flex:1;padding:0 11px;color:var(--muted)}.searchfield input{width:100%;border:0;outline:0;background:transparent;color:var(--ink)}.table-panel{overflow:auto}.table-panel table{width:100%;border-collapse:collapse}.table-panel th,.table-panel td{padding:13px;text-align:left;border-bottom:1px solid var(--line);font-size:12px;white-space:nowrap}.table-panel th{position:sticky;top:0;background:var(--surface);color:var(--muted);font-size:9px;letter-spacing:.08em}.project-grid,.admin-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.project-card{padding:20px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.project-card p,.admin-grid p{color:var(--muted)}.tabs{display:flex;gap:3px;margin-bottom:12px;border-bottom:1px solid var(--line)}.tabs button{padding:10px 13px;border:0;border-bottom:2px solid transparent;background:none;color:var(--muted);font-size:11px}.tabs button.active{border-color:var(--green);color:var(--green);font-weight:800}.workspace{display:grid;grid-template-columns:1fr 300px;gap:12px}.tree>div:last-child{margin-top:20px}.tree b{display:block;padding:10px 0}.tree small{color:var(--muted)}.tree section{margin-left:20px;padding-left:20px;border-left:1px solid var(--line)}.inspector dl>div{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--line);font-size:11px}.inspector dt{color:var(--muted)}.hint{margin-top:22px;padding:12px;border-radius:8px;background:var(--paper);color:var(--muted);font-size:11px}.route-layout{display:grid;grid-template-columns:230px 1fr 260px;gap:12px;min-height:500px}.palette p{padding:10px;border:1px solid var(--line);border-radius:8px}.palette .searchfield{margin:12px 0}.canvas{display:grid;place-items:center;border:1px dashed #abc5bb;border-radius:12px;background:radial-gradient(#a9bcb5 1px,transparent 1px);background-size:20px 20px;text-align:center}.canvas>div{padding:25px;background:var(--surface);border-radius:12px;box-shadow:var(--shadow)}.route-demo{font-family:ui-monospace,Consolas,monospace;color:var(--green)}.legend{display:grid;gap:10px;margin-top:24px;font-size:10px}.legend span{display:flex;align-items:center;gap:8px}.legend i{width:28px;border-top:2px solid var(--green)}.legend span:nth-child(2) i{border-top-style:dashed;border-color:var(--blue)}.legend span:nth-child(3) i{border-color:var(--red)}.import-grid{display:grid;grid-template-columns:1fr 300px;gap:12px;max-width:900px;margin:auto}.upload-card{padding:32px;text-align:center}.upload-icon{font-size:38px;color:var(--green)}.upload-card select,.filezone{display:block;width:min(430px,100%);margin:12px auto}.upload-card select{padding:11px;border:1px solid var(--line);border-radius:8px}.filezone{padding:24px;border:1px dashed #9cbbb0;border-radius:10px;background:var(--paper)}.filezone input{display:none}.filezone small{display:block;color:var(--muted)}.steps{display:flex;align-items:center;justify-content:center;margin-bottom:22px}.steps span,.steps b{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--paper);font-size:10px}.steps b{background:var(--green);color:#fff}.steps i{width:45px;border-top:1px solid var(--line)}.checklist p{padding:9px;border-bottom:1px solid var(--line);color:var(--muted);font-size:11px}.checklist p::first-letter{color:var(--green)}.analysis{margin-top:14px;padding:22px}.analysis-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.analysis-grid div{padding:13px;border-radius:8px;background:var(--paper)}.analysis-grid strong{display:block;font-size:24px}.diag{margin-top:7px;padding:10px;border-left:3px solid var(--amber);background:#fff8e5;color:#59400f}.empty{padding:15vh 20px;text-align:center}.empty>b{font-size:48px;color:var(--green)}.timeline{padding-left:20px;border-left:1px solid var(--line)}.timeline article{position:relative;padding:12px 18px;background:var(--surface);border-bottom:1px solid var(--line);font-size:11px}.timeline article::before{content:"";position:absolute;left:-25px;top:18px;width:9px;height:9px;border-radius:50%;background:var(--green)}.timeline time{color:var(--muted);margin-left:8px}.popover{position:fixed;right:28px;top:60px;z-index:50;width:230px;padding:15px;border:1px solid var(--line);border-radius:10px;background:var(--surface);box-shadow:0 15px 50px #0003}.popover small{display:block;color:var(--muted)}.popover button{border:0;background:none;color:var(--red)}.notifications{right:80px}.notifications p{padding:9px 0;border-bottom:1px solid var(--line);font-size:11px}dialog{border:0;border-radius:14px;background:var(--surface);color:var(--ink);box-shadow:0 25px 90px #0005}dialog::backdrop{background:#071510aa}dialog form{width:min(520px,82vw);padding:22px}dialog textarea{min-height:80px}.dialog-head{display:flex;justify-content:space-between}.dialog-head h3{margin:4px 0}.dialog-head button{border:0;background:none;font-size:22px;color:var(--muted)}dialog .two{display:grid;grid-template-columns:1fr 1fr;gap:10px}dialog footer{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}#searchDialog{padding:0;vertical-align:top;margin-top:15vh}.command{display:flex;align-items:center;gap:9px;border-bottom:1px solid var(--line)}.command input{flex:1;padding:13px;border:0;outline:0;background:transparent;color:var(--ink)}kbd{padding:4px;border:1px solid var(--line);border-radius:4px;color:var(--muted);font-size:9px}.results{min-height:120px;padding:10px}.results button{display:block;width:100%;padding:10px;border:0;border-radius:7px;background:none;color:var(--ink);text-align:left}.results button:hover{background:var(--paper)}.toasts{position:fixed;right:20px;bottom:25px;z-index:80;display:grid;gap:8px}.toast{padding:12px 16px;border-radius:9px;background:#17211e;color:#fff;box-shadow:0 8px 25px #0004;font-size:12px}.toast.success{background:#137a57}.toast.error{background:#b63737}.mobile-nav,.sheet{display:none}@media(max-width:900px){.wrap{width:min(100% - 24px,1440px)}.context{display:none}.health span{display:none}.profile span,.profile>span{display:none}.navline{display:none}.content{padding-top:18px}.page-head{align-items:center}.page-head>div>p:last-child{display:none}#mobileContextAction{display:block}.hero{padding:26px}.hero h2{font-size:32px}.hero aside{display:none}.metrics{grid-template-columns:1fr 1fr}.dashgrid,.workspace,.import-grid{grid-template-columns:1fr}.route-layout{grid-template-columns:1fr}.route-layout>.inspector,.palette{display:none}.mobile-nav{position:fixed;inset:auto 0 0;z-index:40;display:flex;height:66px;border-top:1px solid var(--line);background:color-mix(in srgb,var(--surface) 94%,transparent);backdrop-filter:blur(12px)}.mobile-nav button{flex:1;border:0;background:none;color:var(--muted);font-size:20px}.mobile-nav button small{display:block;font-size:9px}.mobile-nav button.active{color:var(--green)}.sheet{position:fixed;inset:auto 8px 72px;z-index:45;display:grid;padding:10px;border:1px solid var(--line);border-radius:12px;background:var(--surface);box-shadow:0 15px 50px #0003}.sheet button{padding:13px;border:0;background:none;color:var(--ink);text-align:left}.toolbar{flex-wrap:wrap}.toolbar .searchfield{flex-basis:100%}.pipeline{overflow-x:auto}.pipeline button{min-width:145px}.route-layout{min-height:420px}}@media(max-width:560px){.login-shell{grid-template-columns:1fr}.login-brand{display:none}.top-main{height:56px}.product span{display:none}.top-actions{gap:0}.health{padding:6px}.top-actions>button{width:34px}.page-head h1{font-size:22px}.metrics{grid-template-columns:1fr}.hero h2{font-size:28px}.analysis-grid{grid-template-columns:1fr 1fr}.tabs{overflow-x:auto}.tabs button{white-space:nowrap}dialog .two{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
