:root { --bg:#f5f7fc; --surface:#ffffff; --surface-2:#eef2ff; --line:#dfe5f2; --text:#142044; --muted:#667092; --green:#ffc400; --orange:#123fc6; --danger:#d9473f; --radius:18px; color-scheme:light; }
* { box-sizing:border-box; }
body { margin:0; min-width:320px; background:radial-gradient(circle at 75% 5%,rgba(18,63,198,.28),transparent 30rem),var(--bg); color:var(--text); font-family:"Segoe UI",system-ui,sans-serif; }
button,input,textarea,select { font:inherit; }
button { color:inherit; }
a { color:inherit; text-decoration:none; }
img { display:block; max-width:100%; }
[v-cloak] { display:none; }
.admin-loader { display:grid; place-content:center; justify-items:center; min-height:100vh; color:var(--muted); }
.admin-loader span { width:56px; height:56px; border:3px solid rgba(114,209,74,.14); border-top-color:var(--green); border-radius:50%; animation:spin .8s linear infinite; }
.auth-layout { display:grid; grid-template-columns:1.2fr minmax(420px,.8fr); min-height:100vh; }
.auth-brand { position:relative; display:grid; align-content:end; overflow:hidden; padding:clamp(40px,6vw,90px); background:#04100c; }
.auth-brand::after { position:absolute; inset:0; content:""; background:linear-gradient(to top,rgba(3,14,9,.98),rgba(3,14,9,.16) 65%),linear-gradient(90deg,rgba(3,14,9,.2),transparent); }
.auth-brand > img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:.7; }
.auth-brand > div { position:relative; z-index:2; max-width:760px; }
.auth-brand span,.auth-card > small,.editor-header small,.list-header small,.dashboard-hero span { color:var(--green); font-size:.72rem; font-weight:800; letter-spacing:.16em; }
.auth-brand h1 { margin:15px 0; font-size:clamp(3rem,6vw,6rem); line-height:.96; letter-spacing:-.05em; }
.auth-brand p { max-width:590px; color:#adbbb3; font-size:1.12rem; }
.auth-card { display:flex; flex-direction:column; justify-content:center; padding:clamp(35px,6vw,86px); background:rgba(9,30,21,.9); }
.auth-card > img { width:180px; max-height:70px; margin-bottom:50px; object-fit:contain; object-position:left; }
.auth-card h2 { margin:7px 0; font-size:2.35rem; }
.auth-card > p { margin:0 0 25px; color:var(--muted); }
.auth-card form { display:grid; gap:18px; }
.auth-card label,.form-field { display:grid; gap:8px; color:#cbd8d0; font-size:.84rem; font-weight:700; }
.auth-card label span,.form-field > small { color:var(--muted); font-size:.74rem; font-weight:400; }
.auth-card input,.form-field input,.form-field textarea,.form-field select { width:100%; min-height:50px; padding:11px 14px; border:1px solid var(--line); border-radius:11px; outline:0; color:var(--text); background:#071911; transition:border-color .2s,box-shadow .2s; }
.form-field textarea { resize:vertical; }
.auth-card input:focus,.form-field input:focus,.form-field textarea:focus,.form-field select:focus { border-color:var(--green); box-shadow:0 0 0 3px rgba(114,209,74,.09); }
.auth-card > a { width:fit-content; margin-top:30px; color:var(--muted); font-size:.85rem; }
.admin-button { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:0 18px; border:1px solid transparent; border-radius:11px; font-weight:800; cursor:pointer; }
.admin-button.primary { color:#071e6c; background:linear-gradient(135deg,#ffda45,#ffc400); }
.admin-button.ghost { border-color:var(--line); background:transparent; }
.admin-button.approve { color:#071e6c; background:var(--green); }
.admin-button:disabled { opacity:.55; cursor:wait; }

.admin-shell { display:grid; grid-template-columns:260px 1fr; min-height:100vh; }
.admin-sidebar { position:sticky; top:0; display:flex; flex-direction:column; height:100vh; padding:20px 14px; border-right:1px solid var(--line); background:#05150f; }
.admin-brand { display:flex; align-items:center; gap:12px; padding:5px 10px 28px; }
.admin-brand img { width:110px; max-height:42px; object-fit:contain; }
.admin-brand span { color:var(--orange); font-size:.68rem; font-weight:900; letter-spacing:.14em; }
.admin-sidebar nav { display:flex; flex-direction:column; gap:3px; overflow-y:auto; }
.admin-sidebar nav p { margin:22px 12px 7px; color:#536d5f; font-size:.62rem; font-weight:900; letter-spacing:.15em; }
.admin-sidebar nav button { display:grid; grid-template-columns:28px 1fr auto; align-items:center; width:100%; min-height:45px; padding:0 12px; border:0; border-radius:10px; color:#93aa9d; text-align:left; background:transparent; cursor:pointer; }
.admin-sidebar nav button i { color:#658071; font-size:1.05rem; font-style:normal; }
.admin-sidebar nav button b { display:grid; place-items:center; min-width:22px; height:22px; border-radius:50%; color:#fff; background:var(--orange); font-size:.68rem; }
.admin-sidebar nav button:hover,.admin-sidebar nav button.active { color:#fff; background:linear-gradient(90deg,rgba(106,204,72,.13),rgba(106,204,72,.035)); }
.admin-sidebar nav button.active i { color:var(--green); }
.sidebar-user { display:grid; grid-template-columns:36px 1fr auto; align-items:center; gap:10px; margin-top:auto; padding:13px 10px 2px; border-top:1px solid var(--line); }
.sidebar-user > span { display:grid; place-items:center; width:36px; height:36px; border-radius:10px; color:#09200f; background:var(--green); font-size:.72rem; font-weight:900; }
.sidebar-user div { display:grid; min-width:0; }
.sidebar-user strong { overflow:hidden; font-size:.78rem; text-overflow:ellipsis; white-space:nowrap; }
.sidebar-user small { color:var(--muted); font-size:.65rem; text-transform:capitalize; }
.sidebar-user button { border:0; color:var(--muted); background:transparent; cursor:pointer; }
.admin-main { min-width:0; }
.admin-topbar { position:sticky; top:0; z-index:30; display:flex; align-items:center; justify-content:space-between; min-height:72px; padding:0 30px; border-bottom:1px solid var(--line); background:rgba(4,17,13,.86); backdrop-filter:blur(18px); }
.admin-topbar > div:first-of-type { display:grid; }
.admin-topbar small { color:#587064; font-size:.6rem; font-weight:900; letter-spacing:.12em; }
.top-actions { display:flex; align-items:center; gap:12px; }
.top-actions a { color:var(--muted); font-size:.8rem; font-weight:700; }
.top-actions button,.sidebar-toggle { width:38px; height:38px; border:1px solid var(--line); border-radius:10px; background:rgba(255,255,255,.025); cursor:pointer; }
.sidebar-toggle { display:none; }
.admin-content { width:min(1320px,calc(100% - 56px)); margin:auto; padding:35px 0 80px; }

.dashboard-hero { position:relative; display:flex; align-items:flex-end; justify-content:space-between; min-height:250px; padding:40px; overflow:hidden; border:1px solid var(--line); border-radius:24px; background:radial-gradient(circle at 80% 40%,rgba(114,209,74,.15),transparent 28%),linear-gradient(135deg,#0b291c,#071c14); }
.dashboard-hero::after { position:absolute; top:-120px; right:-80px; width:390px; height:390px; content:""; border:1px solid rgba(114,209,74,.14); border-radius:50%; box-shadow:0 0 0 55px rgba(114,209,74,.025),0 0 0 110px rgba(255,129,41,.018); }
.dashboard-hero h1 { margin:5px 0 0; font-size:clamp(2.7rem,6vw,5.4rem); letter-spacing:-.05em; }
.dashboard-hero p { margin:5px 0; color:var(--muted); }
.signal-status { position:relative; z-index:2; display:flex; align-items:center; gap:9px; padding:9px 13px; border:1px solid rgba(114,209,74,.22); border-radius:999px; color:#a8e78f; background:rgba(114,209,74,.06); font-size:.66rem; font-weight:900; letter-spacing:.08em; }
.signal-status i { width:8px; height:8px; border-radius:50%; background:var(--green); box-shadow:0 0 12px var(--green); }
.stat-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-top:18px; }
.stat-grid article { display:flex; align-items:center; gap:17px; min-height:116px; padding:22px; border:1px solid var(--line); border-radius:16px; background:rgba(11,34,25,.65); }
.stat-grid article > span { display:grid; place-items:center; width:48px; height:48px; border-radius:13px; color:var(--green); background:rgba(114,209,74,.08); }
.stat-grid article > div { display:grid; }
.stat-grid strong { font-size:2rem; line-height:1; }
.stat-grid small { margin-top:5px; color:var(--muted); }
.stat-grid .pending-stat > span { color:var(--orange); background:rgba(255,129,41,.08); }
.quick-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:30px; }
.quick-grid button { display:grid; grid-template-columns:auto 1fr; gap:2px 15px; min-height:112px; padding:22px; border:1px solid var(--line); border-radius:16px; text-align:left; background:transparent; cursor:pointer; }
.quick-grid button:hover { border-color:rgba(114,209,74,.45); background:rgba(114,209,74,.035); }
.quick-grid button > span { grid-row:1/3; align-self:center; color:var(--green); font-size:2rem; }
.quick-grid small { color:var(--muted); }

.list-header,.editor-header { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:24px; }
.list-header > div { display:flex; align-items:center; gap:16px; }
.list-header > div > span { display:grid; place-items:center; width:54px; height:54px; border:1px solid rgba(114,209,74,.2); border-radius:14px; color:var(--green); background:rgba(114,209,74,.06); font-size:1.4rem; }
.list-header h1,.editor-header h1 { margin:1px 0 0; font-size:2.4rem; letter-spacing:-.035em; }
.data-panel { overflow:hidden; border:1px solid var(--line); border-radius:18px; background:rgba(8,29,20,.65); }
.data-toolbar { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:16px 18px; border-bottom:1px solid var(--line); }
.data-toolbar label { display:flex; align-items:center; gap:8px; width:min(360px,60%); padding:0 12px; border:1px solid var(--line); border-radius:10px; color:var(--muted); }
.data-toolbar input { width:100%; height:38px; border:0; outline:0; color:#fff; background:transparent; }
.data-toolbar > span { color:var(--muted); font-size:.76rem; }
.table-wrap { overflow-x:auto; }
table { width:100%; border-collapse:collapse; }
th { padding:13px 18px; color:#6f897b; font-size:.67rem; letter-spacing:.08em; text-align:left; text-transform:uppercase; background:rgba(255,255,255,.016); }
td { padding:15px 18px; border-top:1px solid var(--line); }
.record-cell { display:flex; align-items:center; gap:12px; min-width:260px; }
.record-cell > img,.record-cell > span { width:50px; height:44px; flex:0 0 auto; border-radius:9px; object-fit:cover; }
.record-cell > span { display:grid; place-items:center; color:var(--green); background:rgba(114,209,74,.07); }
.record-cell > div { display:grid; max-width:420px; }
.record-cell small { overflow:hidden; color:var(--muted); text-overflow:ellipsis; white-space:nowrap; }
.status-pill { display:inline-flex; padding:5px 9px; border-radius:999px; font-size:.67rem; font-weight:800; }
.status-pill.draft { color:#a1b3a8; background:rgba(150,170,158,.1); }.status-pill.pending { color:#ffc187; background:rgba(255,129,41,.1); }.status-pill.published { color:#a8ec8a; background:rgba(114,209,74,.1); }.status-pill.rejected { color:#ff978e; background:rgba(238,98,85,.1); }.status-pill.archived { color:#8ba8b7; background:rgba(99,143,166,.1); }
.row-actions { display:flex; justify-content:flex-end; gap:6px; }
.row-actions button { padding:6px 8px; border:0; color:var(--muted); background:transparent; cursor:pointer; font-size:.74rem; font-weight:700; }
.row-actions button:hover { color:#fff; }.row-actions .approve { color:var(--green); }.row-actions .danger { color:#e9857d; }
.empty-table { padding:60px; color:var(--muted); text-align:center; }
.upload-label { cursor:pointer; }.upload-label input,.upload-inline input { display:none; }

.editor-header { justify-content:flex-start; }
.editor-header > button { width:42px; height:42px; border:1px solid var(--line); border-radius:11px; background:transparent; cursor:pointer; }
.editor-header > span { margin-left:auto; }
.editor-layout { display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:20px; align-items:start; }
.form-panel { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; padding:26px; border:1px solid var(--line); border-radius:18px; background:rgba(8,29,20,.65); }
.form-field.field-wide { grid-column:1/-1; }.form-field b { color:var(--orange); }
.form-field input[type=color] { padding:7px; }
.switch { display:flex; align-items:center; gap:10px; width:fit-content; cursor:pointer; }
.switch input { position:absolute; opacity:0; pointer-events:none; }
.switch span { position:relative; width:44px; height:24px; border-radius:999px; background:#294237; transition:background .2s; }
.switch span::after { position:absolute; top:3px; left:3px; width:18px; height:18px; content:""; border-radius:50%; background:#81978b; transition:left .2s,background .2s; }
.switch input:checked + span { background:rgba(114,209,74,.25); }.switch input:checked + span::after { left:23px; background:var(--green); }
.switch em { color:var(--muted); font-size:.75rem; font-style:normal; }
.image-field { display:grid; grid-template-columns:1fr auto; gap:8px; }
.image-field > img { grid-column:1/-1; width:100%; max-height:300px; margin-top:8px; border-radius:12px; object-fit:contain; background:#05120d; }
.upload-inline { display:grid; place-items:center; min-width:80px; border:1px solid var(--line); border-radius:10px; cursor:pointer; }
.editor-actions { position:sticky; top:92px; display:grid; gap:14px; }
.editor-actions > div { display:grid; gap:10px; padding:20px; border:1px solid var(--line); border-radius:16px; background:rgba(8,29,20,.8); }
.editor-actions small { color:var(--green); font-weight:900; letter-spacing:.1em; }
.editor-actions p { margin:0 0 6px; color:var(--muted); font-size:.83rem; }
.editor-note strong { color:var(--orange); }

@keyframes spin { to { transform:rotate(360deg); } }
@media (max-width:1000px) { .admin-shell { grid-template-columns:1fr; }.admin-sidebar { position:fixed; z-index:60; width:260px; transform:translateX(-102%); transition:transform .25s; }.admin-sidebar.open { transform:translateX(0); box-shadow:20px 0 60px rgba(0,0,0,.45); }.sidebar-toggle { display:block; }.admin-topbar { justify-content:flex-start; gap:15px; }.top-actions { margin-left:auto; }.editor-layout { grid-template-columns:1fr; }.editor-actions { position:static; }.stat-grid { grid-template-columns:repeat(2,1fr); }}
@media (max-width:780px) { .auth-layout { grid-template-columns:1fr; }.auth-brand { display:none; }.auth-card { min-height:100vh; }.admin-content { width:calc(100% - 26px); }.dashboard-hero { align-items:flex-start; flex-direction:column; padding:28px; }.stat-grid,.quick-grid { grid-template-columns:1fr; }.list-header { align-items:flex-start; }.form-panel { grid-template-columns:1fr; padding:18px; }.form-field.field-wide { grid-column:auto; }.top-actions a { display:none; }}
@media (max-width:560px) { .admin-topbar { padding:0 13px; }.admin-topbar > div:first-of-type small { display:none; }.list-header { flex-direction:column; }.table-wrap { font-size:.83rem; }.row-actions { flex-wrap:wrap; min-width:120px; }.data-toolbar label { width:75%; }.editor-header h1,.list-header h1 { font-size:1.8rem; }}
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { animation-duration:.01ms!important; transition-duration:.01ms!important; }}

/* Identidad Premium Go: blanco predominante, azul principal y amarillo. */
body { background:radial-gradient(circle at 78% 0,rgba(18,63,198,.08),transparent 34rem),var(--bg); }
.auth-brand { background:linear-gradient(145deg,#071e6c,#123fc6); }
.auth-brand > img { object-fit:contain; padding:12%; opacity:.2; }
.auth-brand::after { background:linear-gradient(to top,rgba(7,30,108,.95),rgba(18,63,198,.4)); }
.auth-brand p { color:#e4eaff; }
.auth-card { background:#fff; }
.auth-card label,.form-field { color:var(--text); }
.auth-card input,.form-field input,.form-field textarea,.form-field select { color:var(--text); background:#fff; }
.auth-card input:focus,.form-field input:focus,.form-field textarea:focus,.form-field select:focus { border-color:#123fc6; box-shadow:0 0 0 3px rgba(18,63,198,.1); }
.admin-sidebar { border-right-color:#173caa; background:#071e6c; }
.admin-sidebar nav p { color:#91a5e4; }
.admin-sidebar nav button { color:#d8e0ff; }
.admin-sidebar nav button i { color:#9db0eb; }
.admin-sidebar nav button:hover,.admin-sidebar nav button.active { color:#071e6c; background:#ffc400; }
.admin-sidebar nav button.active i { color:#071e6c; }
.sidebar-user { border-top-color:rgba(255,255,255,.16); }
.sidebar-user strong { color:#fff; }
.sidebar-user small,.sidebar-user button { color:#b8c5ef; }
.sidebar-user > span { color:#071e6c; background:#ffc400; }
.admin-main { background:#f5f7fc; }
.admin-topbar { border-bottom-color:var(--line); background:rgba(255,255,255,.96); }
.admin-topbar small { color:#123fc6; }
.top-actions button,.sidebar-toggle { color:#071e6c; background:#fff; }
.dashboard-hero { color:#fff; border:0; background:radial-gradient(circle at 82% 30%,rgba(255,196,0,.2),transparent 30%),linear-gradient(135deg,#071e6c,#123fc6); box-shadow:0 18px 45px rgba(7,30,108,.15); }
.dashboard-hero p { color:#dce5ff; }
.dashboard-hero span { color:#ffc400; }
.signal-status { color:#071e6c; border-color:#ffc400; background:#ffc400; }
.signal-status i { background:#071e6c; box-shadow:none; }
.stat-grid article,.data-panel,.form-panel,.editor-actions > div { background:#fff; box-shadow:0 8px 26px rgba(7,30,108,.05); }
.stat-grid article > span,.record-cell > span,.list-header > div > span { color:#071e6c; background:#fff3bf; border-color:#ffe170; }
.stat-grid .pending-stat > span { color:#071e6c; background:#ffc400; }
.quick-grid button { color:#142044; background:#fff; box-shadow:0 8px 26px rgba(7,30,108,.04); }
.quick-grid button:hover { border-color:#123fc6; background:#f5f7ff; }
.quick-grid button > span,.editor-actions small { color:#123fc6; }
.data-toolbar input { color:var(--text); }
th { color:#667092; background:#f6f8fc; }
.row-actions button:hover { color:#123fc6; }
.row-actions .approve { color:#0d7b45; }
.status-pill.draft { color:#667092; background:#edf0f6; }
.status-pill.pending { color:#765900; background:#fff1ae; }
.status-pill.published { color:#087140; background:#dcf7e9; }
.switch span { background:#dce2ef; }
.switch input:checked + span { background:#ffe27a; }
.switch input:checked + span::after { background:#071e6c; }
.image-field > img { background:#f3f5fa; }
.editor-note strong,.form-field b { color:#123fc6; }

