:root{--bg:#07090C;--panel:#0F151B;--panel2:#141C23;--line:rgba(255,255,255,.08);--line2:rgba(255,255,255,.14);--fg:#EAF1F4;--muted:#8FA3AE;--dim:#5F7480;--lima:#85D305;--azul:#2182AF;--vd2:#009244;--turq:#009E92;--morado:#4F2270;--ambar:#E0A526;--rojo:#E5574B;--f-d:"Sora",ui-sans-serif,system-ui,sans-serif;--f-b:"Figtree",ui-sans-serif,system-ui,sans-serif;--f-m:"JetBrains Mono",ui-monospace,Menlo,monospace;color-scheme:dark}
*{box-sizing:border-box}
html{scrollbar-width:thin;scrollbar-color:rgba(133,211,5,.55) transparent}
::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-thumb{background:rgba(133,211,5,.5);border-radius:99px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-button{display:none}
body{margin:0;min-height:100vh;color:var(--fg);font-family:var(--f-b);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;background-color:#07090C;background-image:radial-gradient(900px 600px at 100% 0%,rgba(79,34,112,.7),transparent 70%),radial-gradient(800px 600px at 0% 100%,rgba(1,84,134,.45),transparent 70%),radial-gradient(700px 420px at 55% 100%,rgba(133,211,5,.07),transparent 70%),linear-gradient(rgba(255,255,255,.028) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.028) 1px,transparent 1px);background-size:auto,auto,auto,48px 48px,48px 48px;background-attachment:fixed}
a{color:var(--lima)}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--lima);outline-offset:2px}
.logo{font-family:var(--f-d);font-weight:700;font-size:24px;letter-spacing:-.02em}.logo i{font-style:normal;color:var(--lima)}
.pill{display:inline-block;padding:4px 12px;border:1px solid rgba(133,211,5,.45);border-radius:99px;background:rgba(133,211,5,.06);font-family:var(--f-m);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--lima)}
.btn{background:#141C23;border:1px solid var(--line2);border-radius:10px;padding:9px 14px;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap;color:var(--fg);text-decoration:none;display:inline-flex;align-items:center;gap:6px}
.btn:hover{border-color:var(--muted)}
.btn.g{background:var(--lima);border-color:var(--lima);color:#07090C;box-shadow:0 0 18px rgba(133,211,5,.32)}
.btn.g:hover{box-shadow:0 0 26px rgba(133,211,5,.5)}
.btn.sm{padding:5px 10px;font-size:12px;border-radius:8px}
.btn.rj{border-color:rgba(229,87,75,.6);color:#F08A80}
.btn[disabled]{opacity:.5;cursor:not-allowed}
input[type=text],input[type=email],input[type=password],select,textarea{width:100%;background:rgba(255,255,255,.04);border:1px solid var(--line2);border-radius:10px;padding:10px 12px;font-size:14px}
input:focus,select:focus,textarea:focus{border-color:var(--lima);outline:none}
label{display:block;font-size:12px;color:var(--muted);margin:10px 0 5px}
.card{background:rgba(15,21,27,.82);border:1px solid var(--line);border-radius:14px;padding:18px 20px;box-shadow:0 10px 30px rgba(0,0,0,.25)}
.bar4{height:3px;border-radius:3px 3px 0 0;background:linear-gradient(90deg,#85D305 0 25%,#2182AF 25% 50%,#009244 50% 75%,#85D305 75% 100%)}
.msg{font-size:13px;margin-top:10px;min-height:18px}.msg.err{color:#F08A80}.msg.ok{color:var(--lima)}
.dim{color:var(--muted)}
/* login */
.lg{min-height:100vh;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:40px;max-width:1080px;margin:0 auto;padding:40px 24px}
.lg h1{font-family:var(--f-b);font-weight:300;font-size:clamp(40px,6vw,64px);line-height:1.05;letter-spacing:-.03em;margin:18px 0 0}
.lgbox{max-width:360px;width:100%;justify-self:center;padding:0;overflow:hidden}
.lgbox .in{padding:28px 26px 22px}
.lgbox .logo{text-align:center;font-size:22px}.lgbox .logo span{font-family:var(--f-b);font-weight:400;font-size:15px;color:var(--muted);margin-left:6px}
.lgbox .pie{border-top:1px solid var(--line);margin-top:18px;padding-top:12px;text-align:center;font-family:var(--f-m);font-size:10px;letter-spacing:.12em;color:var(--dim);text-transform:uppercase}
@media(max-width:760px){.lg{grid-template-columns:1fr}.lg h1{font-size:40px}}
/* hub */
.top{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:18px;padding:12px 26px;background:rgba(7,9,12,.78);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.top::after{content:'';position:absolute;left:0;right:0;bottom:0;height:2px;background:linear-gradient(90deg,#85D305 0 25%,#2182AF 25% 50%,#009244 50% 75%,#85D305 75% 100%)}
.top .sp{margin-left:auto;display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.wrap{max-width:1180px;margin:0 auto;padding:26px 24px 80px}
h1.t{font-weight:300;font-size:32px;letter-spacing:-.025em;margin:10px 0 4px}
h2{font-family:var(--f-d);font-size:17px;font-weight:600;margin:30px 0 12px}
.mods{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}
.mod{position:relative;overflow:hidden;padding:0}
.mod .in{padding:18px 20px}
.mod h3{font-family:var(--f-d);font-size:17px;margin:0 0 6px}
.mod p{color:var(--muted);margin:0 0 14px;font-size:13px}
.mod .acc{height:3px}
table{width:100%;border-collapse:collapse;font-size:13px}
th{text-align:left;font-weight:600;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.06em;padding:8px 10px;border-bottom:1px solid var(--line2)}
td{padding:9px 10px;border-bottom:1px solid var(--line);vertical-align:middle}
.tag{display:inline-block;padding:2px 9px;border-radius:99px;font-size:11.5px;font-weight:600;border:1px solid var(--line2)}
.t-borrador{color:var(--muted)}.t-enviado{color:#7FC8EC;border-color:rgba(33,130,175,.6)}.t-aprobado{color:var(--lima);border-color:rgba(133,211,5,.6)}.t-regresado{color:#F0B04A;border-color:rgba(224,165,38,.6)}.t-sin{color:var(--dim)}
.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:0 14px}
.mdl{position:fixed;inset:0;background:rgba(0,0,0,.6);display:none;align-items:center;justify-content:center;padding:20px;z-index:50}
.mdl.on{display:flex}.mdl .card{width:min(560px,100%);max-height:90vh;overflow:auto}
.sel{max-width:340px}
@media(max-width:600px){.top{padding:10px 16px}.wrap{padding:20px 16px 60px}td,th{padding:7px 6px}}
select option,select optgroup{background:#0F151B;color:#EAF1F4}
select{color-scheme:dark}
.sel{max-width:420px}
