:root { --primary:#352a74; --primary-dark:#261d5a; --accent:#c8ff63; --accent-ink:#273315; --background:#f6f7fb; --surface:#fff; --surface-soft:#f1f0fb; --text:#212038; --text-muted:#77758e; --border:#e5e5ef; --success:#16875c; --warning:#b17718; --danger:#bb3e4e; --radius-sm:12px; --radius:18px; --radius-lg:24px; --shadow-sm:0 8px 20px rgba(34,32,61,.05); --shadow:0 16px 42px rgba(34,32,61,.09); --transition:190ms cubic-bezier(.2,.8,.2,1); --sidebar-width:270px; }
* { box-sizing:border-box; } body { color:var(--text); font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; } body.admin-body { background:var(--background); }
.admin-sidebar { background:#213f68; color:#fff; display:flex; flex-direction:column; gap:2.2rem; inset:0 auto 0 0; padding:1.45rem 1.05rem; position:fixed; width:var(--sidebar-width); z-index:20; }.brand { align-items:center; color:#fff; display:inline-flex; font-size:1.35rem; font-weight:850; gap:.7rem; letter-spacing:-.05em; text-decoration:none; }.brand-mark { background:var(--accent); border-radius:10px; display:inline-flex; height:32px; overflow:hidden; position:relative; transform:rotate(-6deg); width:32px; }.brand-mark span { background:var(--primary); border-radius:99px; height:18px; left:11px; position:absolute; top:6px; transform:rotate(38deg); width:8px; }.brand-mark span:last-child { height:9px; left:14px; top:14px; transform:rotate(-44deg); width:15px; }.brand-caption { color:rgba(255,255,255,.55); font-size:.72rem; letter-spacing:.04em; margin:.55rem 0 0 2.7rem; text-transform:uppercase; }.sidebar-nav { display:grid; gap:.3rem; }.nav-caption { color:rgba(255,255,255,.4); font-size:.68rem; font-weight:800; letter-spacing:.09em; margin:0 0 .55rem .75rem; text-transform:uppercase; }.sidebar-nav .nav-link { align-items:center; border-radius:12px; color:rgba(255,255,255,.72); display:flex; font-size:.92rem; font-weight:650; gap:.7rem; min-height:44px; padding:.65rem .75rem; text-decoration:none; transition:background var(--transition),color var(--transition),transform var(--transition); }.sidebar-nav .nav-link:hover { background:rgba(255,255,255,.08); color:#fff; transform:translateX(2px); }.sidebar-nav .nav-link.active { background:rgba(200,255,99,.14); color:#fff; }.sidebar-nav .nav-link.active .nav-icon { background:var(--accent); color:var(--accent-ink); }.nav-icon { align-items:center; background:rgba(255,255,255,.1); border-radius:8px; display:inline-flex; font-size:.9rem; height:25px; justify-content:center; width:25px; }.nav-link.is-muted { cursor:default; opacity:.52; }.nav-link.is-muted small { font-size:.62rem; font-weight:700; margin-left:auto; }.sidebar-user { align-items:center; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.08); border-radius:15px; display:flex; gap:.65rem; margin-top:auto; padding:.7rem; }.user-avatar { align-items:center; background:var(--accent); border-radius:10px; color:var(--accent-ink); display:inline-flex; font-size:.82rem; font-weight:900; height:32px; justify-content:center; width:32px; }.sidebar-user strong { display:block; font-size:.78rem; max-width:145px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.sidebar-user a { color:rgba(255,255,255,.56); display:inline-block; font-size:.7rem; margin-top:.1rem; text-decoration:none; }
.admin-content { margin-left:var(--sidebar-width); min-height:calc(100vh - 48px); }.admin-topbar { align-items:center; background:rgba(255,255,255,.78); backdrop-filter:blur(12px); border-bottom:1px solid var(--border); display:flex; min-height:74px; padding:1rem 2.4rem; position:sticky; top:0; z-index:10; }.admin-main { margin:0 auto; max-width:1560px; padding:2.2rem 2.4rem 3rem; }.admin-footer { color:var(--text-muted); font-size:.76rem; margin-left:var(--sidebar-width); padding:1rem 2.4rem 2rem; }
.btn { border-radius:10px; font-weight:700; transition:transform var(--transition),box-shadow var(--transition),background var(--transition); }.btn:hover { transform:translateY(-1px); }.btn-primary { background:var(--primary); border-color:var(--primary); box-shadow:0 6px 16px rgba(53,42,116,.18); }.btn-primary:hover,.btn-primary:focus { background:var(--primary-dark); border-color:var(--primary-dark); }.btn-outline-primary { border-color:#c9c4eb; color:var(--primary); }.btn-outline-primary:hover { background:var(--primary); border-color:var(--primary); }.btn-outline-secondary { border-color:var(--border); color:#626078; }.btn-outline-danger { border-color:#f0c9d0; color:var(--danger); }.card,.admin-card { background:var(--surface); border:1px solid var(--border); border-radius:var(--radius); box-shadow:var(--shadow-sm); }.form-control,.form-select { border-color:#deddea; border-radius:10px; color:var(--text); min-height:44px; }.form-control:focus,.form-select:focus { border-color:#978ee1; box-shadow:0 0 0 .22rem rgba(83,65,192,.12); }.form-label { color:#4e4b67; font-size:.84rem; font-weight:750; }.alert { border:0; border-radius:var(--radius-sm); box-shadow:var(--shadow-sm); }.eyebrow { color:var(--primary); font-size:.7rem; font-weight:850; letter-spacing:.1em; text-transform:uppercase; }.status-badge { border-radius:999px; font-size:.73rem; font-weight:800; padding:.4rem .7rem; }.status-borrador { background:#eceef4; color:#5d6474; }.status-publicado { background:#dff8e9; color:var(--success); }.status-cerrado { background:#fff1d8; color:var(--warning); }.status-archivado { background:#f9e6e9; color:var(--danger); }
.metric-card { border:0; overflow:hidden; position:relative; }.metric-card::after { background:linear-gradient(145deg,rgba(200,255,99,.45),transparent 70%); border-radius:50%; content:""; height:120px; position:absolute; right:-55px; top:-62px; width:120px; }.metric-card .card-body { padding:1.25rem; }.metric-card .display-6 { color:var(--primary); font-size:2rem; font-weight:800; letter-spacing:-.06em; }.metric-card .text-muted { color:var(--text-muted)!important; font-size:.78rem; font-weight:700; letter-spacing:.04em; text-transform:uppercase; }
.process-hero { align-items:flex-start; background:radial-gradient(circle at 85% -45%,rgba(200,255,99,.65),transparent 35%),var(--surface); border:1px solid var(--border); border-radius:var(--radius-lg); box-shadow:var(--shadow-sm); display:flex; gap:1.5rem; justify-content:space-between; padding:1.8rem; }.process-hero-actions { display:flex; flex-wrap:wrap; gap:.55rem; justify-content:flex-end; }.summary-card { background:var(--surface); border:1px solid var(--border); border-radius:var(--radius); display:flex; flex-direction:column; gap:.4rem; height:100%; min-height:118px; padding:1.05rem 1.15rem; }.summary-card span { color:var(--text-muted); font-size:.76rem; font-weight:700; }.summary-card strong { color:var(--primary); font-size:1.45rem; letter-spacing:-.05em; }.summary-card .summary-date { color:var(--text); font-size:.94rem; letter-spacing:0; margin-top:.3rem; }.summary-card a { color:var(--primary); font-size:.8rem; font-weight:750; text-decoration:none; }.section-heading { align-items:center; display:flex; justify-content:space-between; }.public-link-box { background:var(--surface-soft); border:1px dashed #c9c4e8; border-radius:10px; color:var(--text-muted); font-size:.76rem; overflow-wrap:anywhere; padding:.75rem; }.question-list { display:grid; gap:.7rem; padding-left:1.3rem; }.question-list li { color:#4e5570; font-size:.9rem; padding-left:.15rem; }.question-list small { color:var(--text-muted); display:block; margin-top:.1rem; }
.process-grid { display:grid; gap:.85rem; }.process-list-card { background:var(--surface); border:1px solid var(--border); border-radius:var(--radius); box-shadow:var(--shadow-sm); padding:1.25rem; transition:box-shadow var(--transition),transform var(--transition); }.process-list-card:hover { box-shadow:var(--shadow); transform:translateY(-2px); }.candidate-count { align-items:center; background:var(--surface-soft); border-radius:12px; color:var(--primary); display:inline-flex; flex-direction:column; font-size:1.25rem; font-weight:850; height:57px; justify-content:center; min-width:68px; }.candidate-count small { color:var(--text-muted); font-size:.62rem; font-weight:700; }.empty-state { background:var(--surface); border:1px dashed #d3d2e2; border-radius:var(--radius); color:var(--text-muted); padding:3rem 1.5rem; text-align:center; }.empty-state > span { color:var(--primary); display:block; font-size:1.75rem; margin-bottom:.6rem; }.empty-state p { font-size:.9rem; margin:0; }
.candidate-page-heading { align-items:end; display:flex; gap:1rem; justify-content:space-between; }.candidate-table-heading { align-items:center; border-bottom:1px solid var(--border); display:flex; justify-content:space-between; padding:1.25rem 1.35rem; }.candidate-table-count { background:var(--surface-soft); border-radius:999px; color:var(--primary); font-size:.74rem; font-weight:800; padding:.4rem .7rem; }.table { --bs-table-bg:transparent; --bs-table-hover-bg:#fafaff; --bs-table-border-color:var(--border); color:var(--text); }.table thead th { border-bottom-width:1px; color:var(--text-muted); font-size:.7rem; font-weight:800; letter-spacing:.06em; padding:1rem; text-transform:uppercase; }.table td { padding:1rem; vertical-align:middle; }.candidate-name { align-items:center; display:flex; gap:.7rem; }.candidate-name > span { align-items:center; background:#e8e5fb; border-radius:10px; color:var(--primary); display:inline-flex; font-size:.8rem; font-weight:850; height:32px; justify-content:center; width:32px; }.candidate-name strong,.candidate-name small { display:block; }.candidate-name small { color:var(--text-muted); font-size:.75rem; margin-top:.1rem; }.application-status { background:#f0eff8; border-radius:999px; color:#5c5976; font-size:.73rem; font-weight:750; padding:.38rem .6rem; }.recommendation-cell { color:var(--text-muted); font-size:.84rem; line-height:1.45; max-width:250px; }
.evaluation-detail { border-top:1px solid var(--border); color:var(--text-muted); font-size:.79rem; line-height:1.5; max-width:300px; padding-top:.65rem; }.evaluation-detail summary { color:var(--primary); cursor:pointer; font-weight:750; }.evaluation-detail p { margin:.65rem 0 0; white-space:normal; }.evaluation-detail p strong { color:var(--text); display:block; font-size:.73rem; letter-spacing:.04em; margin-bottom:.15rem; text-transform:uppercase; }
.login-page { align-items:center; background:radial-gradient(circle at 15% 15%,rgba(200,255,99,.3),transparent 23%),radial-gradient(circle at 92% 10%,rgba(107,86,226,.23),transparent 28%),var(--background); display:flex; justify-content:center; min-height:100vh; padding:1.25rem; }.login-card { background:rgba(255,255,255,.94); border:1px solid rgba(255,255,255,.75); border-radius:var(--radius-lg); box-shadow:var(--shadow); max-width:455px; padding:2rem; width:100%; }.login-brand { align-items:center; color:var(--primary); display:inline-flex; font-size:1.45rem; font-weight:850; gap:.65rem; letter-spacing:-.05em; margin-bottom:2rem; }.login-kicker { color:var(--primary); font-size:.74rem; font-weight:850; letter-spacing:.1em; text-transform:uppercase; }
[data-reveal] { animation:card-in 440ms both; } [data-reveal]:nth-child(2) { animation-delay:60ms; } [data-reveal]:nth-child(3) { animation-delay:120ms; } @keyframes card-in { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:translateY(0); } }
@media (max-width:991.98px) { .admin-sidebar { box-shadow:var(--shadow); transform:translateX(-105%); transition:transform var(--transition); }.admin-sidebar.is-open { transform:translateX(0); }.admin-content,.admin-footer { margin-left:0; }.admin-topbar { padding:1rem 1.25rem; }.admin-main { padding:1.5rem 1.25rem 2.5rem; }.process-hero { flex-direction:column; }.process-hero-actions { justify-content:flex-start; } } @media (max-width:575.98px) { .admin-main { padding:1.2rem .9rem 2.2rem; }.admin-topbar { min-height:64px; padding:.8rem .9rem; }.process-hero { border-radius:var(--radius); padding:1.2rem; }.process-hero-actions,.process-hero-actions form,.process-hero-actions .btn { width:100%; }.admin-footer { margin:0; padding:1rem; }.login-card { padding:1.5rem; } } @media (prefers-reduced-motion:reduce) { *,*::before,*::after { animation-duration:.01ms!important; animation-iteration-count:1!important; scroll-behavior:auto!important; transition-duration:.01ms!important; } }

/* Adaptado del concepto Animated Login Form - CSS, Vincent Van Goggles, MIT. */
body.talvia-ring-page { align-items:center; background:#11111a; display:flex; justify-content:center; min-height:100vh; overflow:hidden; padding:1rem; }
.talvia-ring { align-items:center; display:flex; height:500px; justify-content:center; position:relative; width:500px; }.talvia-ring > i { border:2px solid #fff; inset:0; opacity:.92; position:absolute; transition:.5s; }.talvia-ring > i:nth-child(1) { animation:talvia-ring-spin 6s linear infinite; border-color:var(--ring-color); border-radius:38% 62% 63% 37% / 41% 44% 56% 59%; }.talvia-ring > i:nth-child(2) { animation:talvia-ring-spin 4s linear infinite reverse; border-color:var(--ring-color); border-radius:41% 44% 56% 59% / 38% 62% 63% 37%; }.talvia-ring > i:nth-child(3) { animation:talvia-ring-spin 10s linear infinite; border-color:var(--ring-color); border-radius:47% 53% 44% 56% / 55% 40% 60% 45%; }.talvia-ring:hover > i { border-width:4px; filter:drop-shadow(0 0 16px var(--ring-color)); }
.talvia-login-form { align-items:center; display:flex; flex-direction:column; gap:13px; position:absolute; width:310px; z-index:1; }.talvia-login-brand { align-items:center; color:#fff; display:flex; font-size:1.4rem; font-weight:850; gap:.5rem; letter-spacing:-.05em; }.talvia-login-brand > span { align-items:center; background:#4b3ee4; border-radius:50%; display:inline-flex; font-size:.78rem; height:31px; justify-content:center; width:31px; }.talvia-login-brand > span span { color:#b7f34a; margin:.45rem 0 0 .03rem; }.talvia-login-caption { color:#b7f34a; font-size:.7rem; font-weight:800; letter-spacing:.1em; margin:0; text-transform:uppercase; }.talvia-login-form h1 { color:#fff; font-size:2rem; font-weight:750; letter-spacing:-.04em; margin:.35rem 0 0; }.talvia-login-subtitle { color:rgba(255,255,255,.72); font-size:.88rem; margin:0 0 .35rem; }.talvia-input { margin-top:12px; position:relative; width:100%; }.talvia-input input,.talvia-input button { background:transparent; border:2px solid rgba(255,255,255,.84); border-radius:40px; color:#fff; font-size:1rem; outline:none; padding:12px 18px; transition:border-color .2s,box-shadow .2s,transform .2s; width:100%; }.talvia-input input::placeholder { color:rgba(255,255,255,.62); }.talvia-input input:focus { border-color:#b7f34a; box-shadow:0 0 0 4px rgba(183,243,74,.12); }.talvia-input button { background:linear-gradient(90deg,#5a4bea,#a698ff); border:0; cursor:pointer; font-weight:800; }.talvia-input button:hover { box-shadow:0 0 20px rgba(109,93,252,.55); transform:translateY(-1px); }.talvia-login-links { color:rgba(255,255,255,.66); font-size:.78rem; margin:7px 0 0; }.talvia-login-links a { color:#b7f34a; font-weight:750; text-decoration:none; }.talvia-login-form .alert-danger { background:rgba(176,44,69,.25); border:1px solid rgba(255,135,154,.35); color:#ffd7de; }
@keyframes talvia-ring-spin { from { transform:rotate(0deg); } to { transform:rotate(360deg); } } @media (max-width:575.98px) { .talvia-ring { height:390px; width:390px; }.talvia-login-form { width:270px; }.talvia-ring > i { inset:8px; }.talvia-login-form h1 { font-size:1.7rem; } } @media (prefers-reduced-motion:reduce) { .talvia-ring > i { animation:none!important; } }

.question-manager { display:grid; gap:.75rem; }.question-manager-item { background:#fafaff; border:1px solid var(--border); border-radius:12px; padding:.85rem; }.question-manager-head { align-items:flex-start; display:flex; gap:.6rem; }.question-manager-number { align-items:center; background:var(--surface-soft); border-radius:8px; color:var(--primary); display:inline-flex; flex:0 0 auto; font-size:.75rem; font-weight:850; height:26px; justify-content:center; width:26px; }.question-manager-head p { color:#45415f; font-size:.86rem; line-height:1.45; }.question-manager-head small { color:var(--text-muted); font-size:.7rem; }.question-manager-actions { display:flex; gap:.45rem; margin-top:.8rem; }.question-manager-actions form { margin:0; }.question-edit-form { border-top:1px solid var(--border); margin-top:.85rem; padding-top:.85rem; }.question-locked { color:var(--text-muted); display:inline-block; font-size:.7rem; font-weight:800; margin-top:.7rem; }.question-manager-item.is-editing { border-color:#bdb6e7; box-shadow:0 6px 17px rgba(53,42,116,.07); }
