/* DNEC: typography and palette from dnec.net / mapas.dnec.net. */
@font-face{font-family:Inter;src:url('/assets/inter-latin-400-normal.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Inter;src:url('/assets/inter-latin-500-normal.woff2') format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:Inter;src:url('/assets/inter-latin-600-normal.woff2') format('woff2');font-weight:600;font-display:swap}
@font-face{font-family:Inter;src:url('/assets/inter-latin-700-normal.woff2') format('woff2');font-weight:700;font-display:swap}
:root{color-scheme:dark;--bg:#0b1a2e;--text:#edf3fc;--muted:#96a8bf;--line:#263c58;--accent:#89bdff;background:var(--bg);color:var(--text)}
body{background:radial-gradient(ellipse at 80% 20%,#2879ed18,transparent 55%),var(--bg);font-family:Inter,Segoe UI,Arial,sans-serif}
aside{background:#081321;border-right:1px solid var(--line)}
.brand{font-size:18px;gap:12px;line-height:1.2;letter-spacing:-.3px}
.brand small{display:block;font-size:8px;letter-spacing:2.7px;color:var(--accent);margin-top:7px}
.mark{width:43px;height:45px;border:1px solid #6b94d3;border-radius:12px;font-family:Inter,Arial,sans-serif;font-size:25px;font-weight:500;letter-spacing:-3px;padding-right:3px;color:#fff;background:linear-gradient(135deg,#2879ed,#7239ea)}
.eyebrow{color:var(--accent);font-weight:600;font-size:10px;letter-spacing:1.7px}
nav button{color:#bfccdc}nav button.selected{color:#bcd9ff;background:#183253;border:1px solid #406393}
button{background:linear-gradient(115deg,#2879ed,#4d8fff 62%,#6f70f4);font-weight:600}
.secondary,header button{background:#183253;color:#bcd9ff;border:1px solid #355781}
.quiet{background:#14283f;color:#bfccdc;border:1px solid #29425e}
.danger{background:#842e45;border:1px solid #b7586e;color:#ffe4eb}
input,select,textarea{background:#0b1a2e;border:1px solid #35506e;color:var(--text)}
input:focus,select:focus,textarea:focus{outline-color:#89bdff}
p,.muted,.metric span{color:var(--muted)}
.card,.metric{background:#101f32;border:1px solid var(--line);box-shadow:0 10px 40px #0001}
.hero{background:radial-gradient(ellipse at 80% 30%,#234d8055,transparent 60%),#0e1e32;border:1px solid #2b4566;padding:38px}
.hero h2{font-size:36px;font-weight:600;letter-spacing:-1.3px;line-height:1.15}
.hero h2 span{background:linear-gradient(100deg,#4d91ff,#75c9ff 52%,#a88cff);background-clip:text;-webkit-background-clip:text;color:transparent}
.hero p{color:#a6bbd3}.hero .eyebrow{color:#89bdff}
.orbit{border:1px dashed #426790;position:relative;transform:none;background:radial-gradient(ellipse,#3367a455,transparent 70%)}
.orbit:before{content:'';position:absolute;inset:20px;border:1px solid #42679066;border-radius:50%}
.orbit span{color:#a4ccff;z-index:1}.orbit b{color:#b0c6e1;z-index:1}
.good{color:#89d8b0}.bad{color:#ffa0ad}.badge{background:#1d3550;color:#afc7df}.badge.accepted{background:#153c34;color:#9adfbc}.badge.failed{background:#492938;color:#ffb4c1}.badge.processing,.badge.retrying{background:#453b24;color:#f1d294}
th{color:#8ba5c1;border-color:var(--line)}td,.audit-entry{border-color:#243a52}
dialog{background:#101f32;color:var(--text);border:1px solid #35506e}dialog::backdrop{background:#020814bb}
pre{background:#081625;color:#b8cde3}.backup{background:#302c21;border-color:#665938}.backup p{color:#e0d1ad}
.login{background:radial-gradient(ellipse at 70% 20%,#23497b88,transparent 55%),#0b1a2e}
.login .card{width:min(460px,92vw);border:1px solid #35506e;background:#101f32}.login-brand{margin-bottom:34px}.login h1{font-weight:600;font-size:32px}
footer{color:#7993b1;border-top:1px solid var(--line);padding-top:22px}#notice{background:#193b66;border:1px solid #5f8cc4}#notice.error{background:#66293e;border-color:#ad6376}
@media(max-width:600px){.hero h2{font-size:28px}.hero{padding:24px}.brand{font-size:18px}}
.filters{grid-template-columns:repeat(4,minmax(0,1fr))}.filters>*{min-width:0}input,select,textarea{min-width:0}.backup p{overflow-wrap:anywhere}
@media(max-width:900px){.filters{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.filters{grid-template-columns:minmax(0,1fr)}.card{padding:20px}.section-heading{align-items:flex-start}.inline form{flex-direction:column;align-items:stretch}.project-grid{grid-template-columns:minmax(0,1fr)}header>div{min-width:0}header button{flex-shrink:0}#notice{right:14px;left:14px;bottom:14px}}
.hero{gap:28px}.channel-map{position:relative;width:330px;height:220px;flex:0 0 330px;background:radial-gradient(ellipse at 50% 35%,#4176c522,transparent 66%)}
.channel-links{position:absolute;inset:0;width:100%;height:100%;overflow:visible;fill:none;stroke:url(#channel-gradient);stroke-width:1.4}.channel-links circle{fill:#89bdff;stroke:#bedaff}
.channel-source{position:absolute;top:17px;left:45px;width:240px;display:flex;align-items:center;gap:12px;padding:17px;background:linear-gradient(125deg,#24466f,#1d2c4b);border:1px solid #5679ac;border-radius:13px;box-shadow:0 8px 30px #06142750}
.source-icon{display:grid;place-items:center;width:39px;height:42px;border-radius:10px;background:#477ace33;color:#a2ccff}.source-icon svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.channel-source strong{display:block;color:#ecf4ff;font-size:19px;letter-spacing:1px}.channel-source div>span{font-size:9px;color:#a8c2e2}
.channel-destinations{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;position:absolute;inset:160px 6px auto}
.channel-destination{position:relative;border:1px solid #344f72;border-radius:10px;background:#12263e;text-align:center;padding:12px 5px 9px;box-shadow:0 6px 20px #030c181f}
.channel-destination svg{display:block;width:21px;height:21px;margin:0 auto 7px;fill:none;stroke:#96beff;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.channel-destination strong{display:block;font-size:11px;color:#dbe9fd}.channel-destination span{font-size:8px;color:#91aac5}
.channel-destination:nth-child(2) svg{stroke:#b6b0ff}.channel-destination:nth-child(3) svg{stroke:#8bd3c5}
@media(min-width:901px) and (max-width:1150px){.channel-map{transform:scale(.85);transform-origin:right center;flex-basis:280px;margin-left:-25px}.hero h2{font-size:30px}}
@media(max-width:900px){.hero{flex-direction:column;align-items:flex-start}.channel-map{flex:auto;align-self:center;margin-bottom:28px}}
@media(max-width:420px){.channel-map{width:290px;transform:scale(.9);transform-origin:top center;margin-left:-14px;margin-bottom:4px}.channel-source{left:25px}.channel-links{width:330px;left:-20px}.channel-destinations{inset:160px -14px auto}}
.session-loading{position:fixed;inset:0;z-index:20;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;background:radial-gradient(ellipse at 70% 20%,#23497b55,transparent 55%),#0b1a2e}.session-loading p{max-width:360px;padding:0 20px;text-align:center;font-size:13px}
.platform-options{border:1px solid #304b6b;border-radius:9px;margin:16px 0;padding:14px}.platform-options summary{cursor:pointer;color:#bcd9ff;font-weight:600;font-size:13px}.platform-options .filters{grid-template-columns:repeat(2,minmax(0,1fr))}.platform-options[open] summary{margin-bottom:16px}#test-dialog{width:min(760px,94vw)}@media(max-width:600px){.platform-options .filters{grid-template-columns:minmax(0,1fr)}}

.back-home{display:block;margin-top:18px;color:#a4c6f5;text-decoration:none;font-size:13px}.back-home:hover{text-decoration:underline}
