:root{font-family:Montserrat,Arial,sans-serif;color:#17364e;background:#edf3f7;font-synthesis:none;line-height:1.6;--blue:#007fb6;--navy:#15446d;--line:#cedee8}*{box-sizing:border-box}body{margin:0}button,input,textarea{font:inherit}button,a,input{touch-action:manipulation}button{cursor:pointer;border:1px solid var(--line);border-radius:8px;background:#f8fbfd;color:var(--navy);padding:9px 13px;font-size:14px;font-weight:600}button:hover{background:#e6f2f9}button:disabled{cursor:wait;opacity:.65}.primary{background:var(--navy);color:#fff;border-color:var(--navy)}.primary:hover{background:#0c3556}input{display:block;width:100%;border:1px solid #b8cfdd;border-radius:8px;padding:12px 14px;background:#f8fbfd;color:#123852;min-width:0}input:focus,button:focus-visible,a:focus-visible{outline:3px solid #65c6f0;outline-offset:3px}label{display:block;font-weight:600;font-size:14px;margin:15px 0 7px}a{color:var(--blue)}[hidden]{display:none!important}.brand{display:block;object-fit:contain;object-position:left center}.access-page{min-height:100dvh;display:grid;place-items:center;padding:40px 20px;background:radial-gradient(ellipse at 0 0,#d5eafa 0,transparent 48%),linear-gradient(130deg,#f1f6f9,#e8f1f7)}.access-card{width:min(100%,490px);padding:38px 40px;border:1px solid #d2e1eb;border-radius:18px;background:#f5f9fc;box-shadow:0 20px 80px #133f6412}.eyebrow{font-size:11px;font-weight:700;letter-spacing:.14em;color:var(--blue);margin-top:30px}h1{font-size:29px;line-height:1.25;font-weight:700;letter-spacing:-.025em;margin:12px 0 15px}h2{font-size:21px;line-height:1.3}h3{font-size:17px}.intro{color:#526f84;margin:0 0 25px}.access-card .primary{margin-top:22px;display:flex;justify-content:space-between;width:100%;padding:13px 16px}.access-help{font-size:12px;color:#526a7b;margin:24px 0 0;padding-top:20px;border-top:1px solid var(--line)}.privacy-note{font-size:11px;color:#526a7b;margin-bottom:0}#notice{color:#8c3224;font-size:14px}#notice:empty{display:none}.admin-header{display:flex;align-items:center;justify-content:space-between;padding:18px max(20px,calc((100vw - 1120px)/2));background:#f5f9fc;border-bottom:1px solid var(--line);gap:20px}.admin-header a{font-size:14px;white-space:nowrap}.admin-main{max-width:1120px;margin:auto;padding:0 20px 40px}.admin-main h1{font-size:36px}.admin-box{background:#f8fbfd;border:1px solid var(--line);border-radius:14px;padding:25px;margin:22px 0}.section-title{display:flex;align-items:center;justify-content:space-between;gap:15px}.section-title h2{margin-top:0}.budget-value{font-size:28px;letter-spacing:-.02em;margin:10px 0}progress{width:100%;height:14px;accent-color:var(--blue)}.muted{font-size:13px;color:#526a7b}.inline-form{display:flex;gap:12px;align-items:end}.inline-form label{flex:1;min-width:0}.inline-form button{margin-bottom:7px;height:49px}.table-scroll{overflow-x:auto;margin-top:20px}table{border-collapse:collapse;width:100%;font-size:14px}th{text-align:left;color:#496b81;font-size:12px}td,th{padding:13px 10px;border-bottom:1px solid #dce7ef;vertical-align:top}td small{display:block;color:#526a7b}td button{font-size:12px;padding:6px 9px;margin:0 5px 5px 0}.credential{background:#e5f2fa;border:1px solid #89bada;padding:20px;margin:20px 0;border-radius:10px}.credential input{font-family:monospace;max-width:420px}.credential p{font-size:13px}.source{border-top:1px solid var(--line);margin-top:20px;padding-top:20px}.source summary{font-weight:600;cursor:pointer}.source pre{font:14px/1.7 Arial,sans-serif;white-space:pre-wrap;background:#edf3f7;border:1px solid var(--line);border-radius:8px;padding:18px;max-height:420px;overflow:auto}.source button{margin:10px 10px 0 0}.pill{display:inline-block;padding:2px 9px;border-radius:20px;font-size:11px;background:#e4edf3;color:var(--navy);margin:5px 8px 0 0}.danger{color:#953329}.approved{background:#def0e6;color:#185f43}@media(max-width:600px){.access-page{padding:16px}.access-card{padding:27px 24px}h1{font-size:26px}.admin-box{padding:18px}.inline-form{display:block}.inline-form button{width:100%}.section-title{align-items:start}td,th{padding:10px 5px}.admin-header{padding:14px 20px}.admin-header a{font-size:12px}}

/* Identificación del espacio de validación. */
.development-label{display:inline-block;background:#fff2c9;color:#6d4a00;border:1px solid #e8c562;border-radius:6px;font:700 11px/1.5 Montserrat,Arial,sans-serif;letter-spacing:.08em;padding:6px 10px;margin:18px 0 0}
