:root{color-scheme:dark;--bg:#071525;--panel:#102c49;--line:#246a9a;--yellow:#e8c96c;--text:#f2f6fa;--muted:#aabbc9}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 90% 0,#163b58 0,transparent 50%),var(--bg);color:var(--text);font:16px/1.6 system-ui,sans-serif}button,input,select,textarea{font:inherit}button,a,label.upload{touch-action:manipulation}button,label.upload{cursor:pointer}a{color:var(--yellow)}header{padding:24px 4vw;border-bottom:1px solid #246a9a66;display:flex;justify-content:space-between;align-items:center;gap:20px;background:#071525c9}.brand{text-decoration:none;color:var(--text);font-weight:800;font-size:28px;line-height:1.1;letter-spacing:2px}.brand span{color:var(--yellow)}.brand small{display:block;color:var(--muted);font:10px/1.8 monospace;letter-spacing:2px;margin-top:7px}.session{display:flex;align-items:center;gap:18px;font:11px monospace;color:#ddf8f3}main{padding:38px 4vw;min-height:78vh}h1,h2{line-height:1.15;letter-spacing:-1px;margin:14px 0 22px}h1{font-size:clamp(32px,4vw,52px)}h2{font-size:27px}em{color:var(--yellow);font-style:normal}.eyebrow{color:#ddf8f3;letter-spacing:2px;font:11px monospace}.login{max-width:470px;margin:40px auto}.login h1{font-size:clamp(38px,5vw,58px)}p{color:var(--muted)}label{display:block;color:var(--muted);font-size:14px;margin:15px 0}input,select,textarea{display:block;width:100%;background:#06111f;color:var(--text);border:1px solid #246a9a99;border-radius:3px;padding:11px;margin-top:7px;min-width:0}textarea{resize:vertical;font-family:ui-monospace,monospace;font-size:14px;line-height:1.65}button,.upload{border:1px solid #42627b;background:#0d263d;color:var(--text);padding:11px 18px;border-radius:3px;min-height:46px}button:hover,.upload:hover{border-color:var(--yellow);background:#19344b}.primary{background:var(--yellow);color:var(--bg);border-color:var(--yellow);font-weight:750}.primary:hover{background:#f2dc98;color:var(--bg)}button:disabled{opacity:.5;cursor:wait}.danger{color:#ffc4b0;border-color:#805858}.fine{font-size:12px;overflow-wrap:anywhere}.notice{padding:14px 18px;border-left:2px solid var(--yellow);background:#102c4977}.actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.upload{margin:0;font-size:16px}.upload input{position:absolute;width:1px;height:1px;padding:0;opacity:0}.upload:focus-within{outline:2px solid var(--yellow)}.workspace-heading{display:flex;justify-content:space-between;align-items:center;gap:24px}.layout{display:grid;grid-template-columns:290px minmax(0,1fr);border:1px solid #246a9a66;margin-top:25px}.layout aside{padding:18px;border-right:1px solid #246a9a66;background:#07152599}.editor{padding:28px;min-width:0;background:#102c4933}#files{max-height:75vh;overflow:auto;display:grid;gap:4px}#files button{text-align:left;width:100%;background:transparent;overflow-wrap:anywhere;font-size:13px;padding:12px}#files button.active{border-color:var(--yellow);color:var(--yellow);background:#17344d}#files small{display:block;color:var(--muted);font-size:10px}.editor-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:0 22px}.fields label:nth-child(3){grid-column:1/-1}.sticky{position:sticky;bottom:0;padding:16px;background:#071525f5;border-top:1px solid #246a9a66;margin:25px -10px -10px}#image-preview{max-width:100%;max-height:500px;object-fit:contain}#message{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);width:max-content;max-width:90vw;margin:0;background:#ddf8f3;color:#071525;box-shadow:0 10px 40px #0008;padding:14px 24px;border-radius:3px;z-index:5;overflow-wrap:anywhere}#message:empty{display:none}details{border-top:1px solid #246a9a66;padding:16px 0}summary{cursor:pointer;color:var(--yellow)}footer{display:flex;justify-content:space-between;gap:20px;padding:24px 4vw;border-top:1px solid #246a9a66;color:var(--muted);font:11px/1.8 monospace}dialog{background:var(--bg);color:var(--text);border:1px solid var(--line);padding:28px;width:min(520px,95vw)}dialog::backdrop{background:#000b}:focus-visible{outline:2px solid var(--yellow);outline-offset:4px}[hidden]{display:none!important}.skip{position:absolute;left:15px;top:-80px;background:var(--yellow);color:var(--bg);padding:10px;z-index:9}.skip:focus{top:10px}@media(max-width:850px){.layout{grid-template-columns:1fr}.layout aside{border-right:0;border-bottom:1px solid #246a9a66}#files{max-height:230px}.workspace-heading{display:block}.editor{padding:18px}.fields{grid-template-columns:1fr}.fields label:nth-child(3){grid-column:auto}.session>span,footer span{display:none}header{padding:20px}.brand{font-size:23px}.editor-heading h2{font-size:22px}.login{margin:20px auto}}@media(prefers-reduced-motion:no-preference){button,a{transition:background .15s,border-color .15s}}
#message{pointer-events:none}
.password-toggle{display:block;margin:-4px 0 15px;font-size:13px;padding:7px 12px;min-height:40px}.login-hint{color:var(--yellow);font-size:13px}#login-error{border-left:2px solid #ffa38a;background:#49232966;color:#ffd5c9;padding:12px 15px;font-size:14px}.login form>.primary{width:100%}

/* Estudio editorial */
main{max-width:1800px;margin:auto}.workspace-heading h1{font-size:clamp(30px,3vw,45px);margin-bottom:10px}.workspace-heading>div>p{margin:0}.button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:10px 18px;border:1px solid #42627b;color:var(--text);text-decoration:none;background:#0d263d;border-radius:3px}.small{font-size:12px;min-height:36px;padding:7px 12px}.overview{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:30px 0 22px}.overview>button{position:relative;text-align:left;min-height:120px;background:linear-gradient(135deg,#15395488,#0b2136);border:1px solid #246a9a88;padding:22px}.overview strong{display:block;font:600 35px/1.1 system-ui;color:var(--yellow);margin-bottom:10px}.overview span{color:var(--muted);font-size:12px}.publication-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;background:#0a2034;border:1px solid #246a9a77;padding:14px 18px;font-size:12px;color:var(--muted)}.publication-bar .actions{font-size:11px}.layout{grid-template-columns:305px minmax(0,1fr);border-color:#246a9a66;border-radius:5px;overflow:clip}.file-sidebar{align-self:start;position:sticky;top:10px}.file-sidebar h2{font-size:18px;margin-top:0;color:var(--text)}.sidebar-filters{display:grid;grid-template-columns:1fr 1fr;gap:10px}.sidebar-filters label{font-size:11px}.sidebar-filters select{font-size:12px;padding:9px 6px}.file-sidebar .upload{display:block;text-align:center;margin-top:20px;font-size:12px}#files{max-height:62vh;gap:7px}#files button{border:1px solid transparent;border-bottom-color:#246a9a33;padding:14px 12px}#files button strong{font-weight:550;line-height:1.5;display:block}#files button small{margin-top:7px;line-height:1.5}.editor{padding:32px;min-height:650px}.editor-heading{padding-bottom:12px;border-bottom:1px solid #246a9a55;margin-bottom:15px}.editor-heading h2{font-size:28px;margin:14px 0 6px}.editor-heading p{margin-bottom:4px}.editor-tabs{display:flex;gap:6px;padding:12px 0 20px}.editor-tabs button{min-width:115px;background:transparent}.editor-tabs button[aria-pressed=true]{color:var(--yellow);border-color:var(--yellow);background:#102c49}.fields label{font-size:12px}.fields .full{grid-column:1/-1}.body-heading{display:flex;justify-content:space-between;align-items:center;margin-top:14px}.body-heading>label{margin-bottom:7px}.markdown-tools{display:flex;gap:5px;flex-wrap:wrap;padding:8px;border:1px solid #246a9a66;border-bottom:0;background:#102c4966}.markdown-tools button{padding:5px 10px;min-height:33px;font-size:11px}#body{margin-top:0;border-radius:0 0 3px 3px;min-height:320px}.check{display:flex;align-items:center;gap:12px;line-height:1.5}.check input{width:18px;height:18px;margin:0;flex-shrink:0;accent-color:var(--yellow)}.source-row{display:grid;grid-template-columns:1fr 1.4fr auto;gap:12px;align-items:end;border-bottom:1px solid #246a9a55;padding-bottom:12px;margin-bottom:15px}.source-row>label{margin-bottom:0;font-size:11px}.related-chip{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px;padding:10px 14px;border:1px solid #246a9a55;font-size:12px}.editor-options h3{font-size:16px;color:var(--text)}.editor-options>summary,details>summary{min-height:34px}.error{border-left:2px solid #ffa38a;padding:14px 17px;color:#ffd5c9;background:#49232966;font-size:13px}.sticky{z-index:2;margin-top:24px;gap:9px}.sticky button{font-size:12px}.sticky .fine{flex-basis:100%;margin:0}.welcome-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:34px 0}.welcome-steps>div{padding:22px 18px;border:1px solid #246a9a55;background:#102c4955}.welcome-steps b{font:11px monospace;color:var(--yellow)}.welcome-steps p{font-size:13px;line-height:1.8;margin-bottom:0}#welcome{padding:15px 0}#welcome h2{font-size:clamp(30px,3vw,44px);line-height:1.15;margin-top:30px}#welcome>.notice{font-size:12px;line-height:1.8}.settings-group{padding:18px 0}.settings-group>summary{font-size:15px}.settings-group .settings-group{margin:15px 0 15px 12px;padding:15px;border:1px solid #246a9a55;background:#07152555}.settings-group>label{font-size:12px}.settings-array-row{padding:12px;margin:14px 0;border:1px solid #246a9a44;background:#102c4922}.nullable{font-size:11px;color:var(--yellow);margin-top:-5px}.markdown-preview{border:1px solid #246a9a66;background:#07152599;padding:26px}.markdown-preview h1{font-size:38px;overflow-wrap:anywhere}.markdown-preview h2{font-size:26px;margin-top:35px}.markdown-preview p,.markdown-preview li{color:var(--muted);line-height:1.85;font-size:14px}.markdown-preview strong{color:var(--text)}.markdown-preview blockquote{border-left:2px solid var(--yellow);margin:20px 0;padding:12px 20px;color:var(--muted);background:#102c4966}.markdown-preview code{color:#ddf8f3;background:#102c49;padding:2px 5px}.preview-lead{color:#ddf8f3!important}dialog{max-height:90svh;overflow:auto;width:min(600px,95vw)}#publish-summary{border-block:1px solid #246a9a55;padding:14px 0;margin:20px 0}#publish-summary p{font-size:13px;overflow-wrap:anywhere}#catalog-status{font-size:11px}#draft-note{font-size:12px}#settings-form label{font-size:12px}#related-choice{flex:1;min-width:140px}.editor[aria-busy=true]{opacity:.8}@media(max-width:1100px){.layout{grid-template-columns:260px minmax(0,1fr)}.editor{padding:23px}.welcome-steps{grid-template-columns:1fr}.sidebar-filters{grid-template-columns:1fr}.workspace-heading{align-items:start}.workspace-heading>.actions{max-width:290px}.source-row{grid-template-columns:1fr}.source-row>button{justify-self:start}}@media(max-width:850px){main{padding:25px 5%}.overview{grid-template-columns:1fr 1fr;gap:10px}.overview>button{min-height:105px;padding:18px}.publication-bar{display:block}.publication-bar>.actions{margin-top:12px}.layout{grid-template-columns:1fr}.file-sidebar{position:static}.sidebar-filters{grid-template-columns:1fr 1fr}#files{max-height:240px}.editor{padding:20px}.workspace-heading>.actions{max-width:none;margin-top:20px}.editor-heading{flex-wrap:wrap}.editor-heading h2{font-size:24px}.markdown-preview{padding:19px}.markdown-preview h1{font-size:30px}.settings-group .settings-group{margin-left:0}.sticky{bottom:0;flex-wrap:wrap}.sticky .primary{flex-basis:100%}#message{bottom:12px;font-size:12px;padding:12px 16px}}

/* Identidad visual del portal y una mesa editorial más compacta. */
header{position:sticky;top:0;z-index:10;background:#071525ed;backdrop-filter:blur(12px)}
.brand{position:relative;min-height:46px;padding-left:58px}
.brand:before{content:'';position:absolute;left:0;top:0;width:46px;height:46px;background:url('/admin/brand.webp') center/contain no-repeat}
.login{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,430px);grid-template-rows:1fr auto auto auto 1fr;column-gap:clamp(30px,6vw,110px);max-width:1500px;min-height:680px;margin:0 auto;padding:clamp(32px,5vw,80px);overflow:hidden;border:1px solid #246a9a55;background:#081a2a}
.login:before{content:'';position:absolute;inset:0;z-index:-1;background:url('/admin/city.webp') center/cover no-repeat}
.login:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#071525e8 0%,#071525b0 44%,#0715259c 100%),linear-gradient(0deg,#071525bd,transparent 60%)}
.login>.eyebrow,.login>h1,.login>p,.login>form{position:relative;z-index:1}
.login>.eyebrow{grid-column:1;grid-row:2}
.login h1{grid-column:1;grid-row:3;max-width:650px;font-size:clamp(3.2rem,5.4vw,6.1rem);line-height:.95;margin:20px 0 24px}
.login>p:not(.fine){grid-column:1;grid-row:4;max-width:460px;font-size:1.1rem;color:var(--text)}
.login form{grid-column:2;grid-row:2/5;align-self:center;padding:30px;border:1px solid #4a789c99;background:#071525ed;box-shadow:0 24px 70px #0008}
.login>.fine{grid-column:2;grid-row:5;align-self:start;margin:14px 0 0;color:#d2dfeb}
.workspace-heading{align-items:end;padding-bottom:24px;border-bottom:1px solid #246a9a66}
.workspace-heading h1{margin:8px 0 6px}
.requests{overflow-x:auto;margin-top:24px;border:1px solid #246a9a66;background:#102c4933}.requests table{width:100%;border-collapse:collapse;min-width:690px}.requests th,.requests td{text-align:left;padding:14px 16px;border-bottom:1px solid #246a9a44;overflow-wrap:anywhere}.requests th{color:var(--yellow);font-size:12px}.requests tr:last-child td{border-bottom:0}
.overview{gap:10px;margin:22px 0 16px}
.overview>button{min-height:94px;padding:14px 18px}
.overview strong{font-size:29px;margin-bottom:4px}
.layout{margin-top:18px}
.file-sidebar{top:92px;background:#081a2a}
#files button.active{border-left:2px solid var(--yellow);background:#17344d}
.editor{background:#0b20347a}
#editor-form{scroll-margin-top:90px}
@media(max-width:850px){.login{display:block;min-height:0;padding:45px 24px 26px}.login:before{background-position:65% center}.login:after{background:linear-gradient(180deg,#07152577,#071525ed 43%,#071525f5)}.login h1{font-size:clamp(2.8rem,10vw,4.4rem);margin:17px 0}.login>p:not(.fine){font-size:1rem}.login form{margin-top:32px;padding:22px}.login>.fine{margin:14px 0 0}.overview>button{min-height:84px;padding:13px}.overview strong{font-size:26px}.file-sidebar{position:static}#editor-form{scroll-margin-top:82px}}
@media(max-width:480px){.brand{padding-left:47px}.brand:before{width:38px;height:38px}.brand small{letter-spacing:1px}.login{padding:38px 18px 22px}.login form{padding:18px}}
