:root {
  /* El Peor Bareto — Brand tokens */
  --color-background: #000000;
  --color-foreground: #ffffff;
  --color-secondary: #bdbdbd;
  --color-accent: #e00000;
  --color-surface: #111111;
  --color-border: #555555;
  --color-success: #86efac;
  --color-warning: #fcd34d;

  --font-heading: "Oswald", sans-serif;
  --font-body: "IBM Plex Sans", sans-serif;
  --font-mono: "IBM Plex Mono", monospace;

  --spacing-gutter: clamp(20px, 6vw, 32px);
}

/* Oswald — heading */
@font-face {
  font-family: "Oswald";
  src: url("/fonts/Oswald.ttf") format("truetype");
  font-weight: 400 700;
  font-display: swap;
}

/* IBM Plex Sans — body */
@font-face {
  font-family: "IBM Plex Sans";
  src: url("/fonts/IBMPlexSans.ttf") format("truetype");
  font-weight: 400 700;
  font-display: swap;
}

/* IBM Plex Mono — code/labels */
@font-face {
  font-family: "IBM Plex Mono";
  src: url("/fonts/IBMPlexMono.ttf") format("truetype");
  font-weight: 400 700;
  font-display: swap;
}

/* Base styles */
html {
  font-family: var(--font-body);
  background-color: var(--color-background);
  color: var(--color-foreground);
}

body {
  min-height: 100dvh;
  min-height: 100vh; /* fallback */
  margin: 0;
}

/* Safe area padding for mobile */
.safe-padding {
  padding-left: env(safe-area-inset-left, 0px);
  padding-right: env(safe-area-inset-right, 0px);
  padding-bottom: env(safe-area-inset-bottom, 0px);
  padding-top: env(safe-area-inset-top, 0px);
}

* { box-sizing: border-box; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }

.public-shell { min-height:100svh; position:relative; overflow:hidden; background:#000; color:#fff; padding:clamp(22px,5vw,56px); display:flex; flex-direction:column; isolation:isolate; }
.public-shell::before { content:""; position:absolute; z-index:-2; inset:0; background-image:url("/images/cuerpo-de-guardia-desktop-v1.jpg");background-size:cover;background-position:center center; }
.public-shell::after { content:""; position:absolute; z-index:-1; inset:0; background:linear-gradient(90deg,rgba(0,0,0,.92) 0%,rgba(0,0,0,.72) 32%,rgba(0,0,0,.12) 68%,rgba(0,0,0,.38) 100%),linear-gradient(0deg,rgba(0,0,0,.88) 0%,transparent 45%);pointer-events:none; }
.public-header,.hero-copy,.public-footer,.level-rail { position:relative; z-index:2; }
.public-header { display:flex; flex-direction:column; align-items:flex-start; gap:12px; }
.menu-button { width:44px;height:44px;border:0;background:none;padding:10px 7px;display:grid;align-content:center;gap:6px;cursor:pointer; }
.menu-button span { display:block;height:2px;background:#fff; }
.brand-logo { width:76px;height:auto; }
.level-rail { position:absolute;right:clamp(18px,4vw,54px);top:30%;display:grid;gap:16px; }
.level-rail a { display:flex;align-items:center;justify-content:flex-end;gap:10px;color:#666;text-transform:uppercase;font:500 11px var(--font-heading);letter-spacing:.04em; }
.level-rail i { width:10px;height:10px;border:1px solid #666;border-radius:50%; }
.level-rail a.active { color:#ed101b; }.level-rail a.active i { background:#ed101b;border-color:#ed101b; }
.hero-copy { margin-top:auto;width:min(540px,calc(100% - 76px));padding-top:140px; }
.kicker { color:#ed101b;text-transform:uppercase;font:600 14px var(--font-heading);letter-spacing:.04em;margin:0 0 8px; }
.hero-copy h1 { margin:0;max-width:430px;font:700 clamp(58px,8vw,112px)/.86 var(--font-heading);text-transform:uppercase;letter-spacing:-.045em; }
.publication-title-group{display:grid;justify-items:start;gap:clamp(8px,1.2vh,16px);max-width:100%}
.publication-headline{position:relative;z-index:1;max-width:28ch;margin:0;color:var(--brand-accent,#ed101b);font:600 clamp(18px,2vw,30px)/1.08 var(--brand-heading,var(--font-heading));text-transform:uppercase;white-space:pre-line}
.body-copy { max-width:43ch;color:#c0c0c0;font:400 clamp(15px,1.4vw,18px)/1.38 var(--font-mono);white-space:pre-line;margin:24px 0 0; }
.cta-stack { display:grid;width:min(290px,100%);margin-top:30px; }
.cta-stack a { min-height:48px;padding:0 18px;display:flex;align-items:center;justify-content:space-between;text-transform:uppercase;font:500 14px var(--font-heading);letter-spacing:.04em;border:1px solid #fff; }
.cta-stack .primary-cta { background:#ed101b;border-color:#ed101b; }
.public-footer { margin-top:46px;padding-top:18px;border-top:1px solid #777;color:#777;display:flex;justify-content:space-between;gap:20px;text-transform:uppercase;font:500 10px var(--font-heading);letter-spacing:.03em; }
.public-footer nav { display:flex;gap:22px; }

.os-shell { min-height:100svh;background:#080808;color:#f5f5f3;display:grid;grid-template-columns:250px 1fr; }
.os-sidebar { background:#0d0d0d;border-right:1px solid #2c2c2c;padding:28px 22px;display:flex;flex-direction:column;position:sticky;top:0;height:100svh;z-index:40; }
.os-brand { display:flex;align-items:center;gap:15px;padding-bottom:28px;border-bottom:1px solid #2c2c2c; }
.os-brand img { width:54px; }.os-brand span { display:grid;gap:4px;font:600 12px var(--font-mono);text-transform:uppercase;letter-spacing:.12em;color:#aaa; }.os-brand small{color:#ed101b;font-size:8px;letter-spacing:.16em}
.os-sidebar nav { display:grid;gap:20px;margin-top:25px;overflow:auto; }.os-nav-group{display:grid;gap:3px}.os-nav-group h2{margin:0 0 5px 12px;color:#666;font:600 9px var(--font-mono);text-transform:uppercase;letter-spacing:.14em}.os-sidebar nav a { padding:10px 12px;border-left:2px solid transparent;color:#aaa;font-size:13px; }.os-sidebar nav a:hover,.os-sidebar nav a:focus,.os-sidebar nav a.active { color:white;background:#171717;border-color:#ed101b; }
.view-web { margin-top:auto;padding:14px;border:1px solid #444;font:500 12px var(--font-mono);text-align:center; }
.os-main { min-width:0;padding:clamp(24px,5vw,70px); }
.os-mobile-header,.os-nav-scrim{display:none}.demo-environment-banner{display:flex;align-items:center;gap:14px;margin:0 auto 28px;max-width:1160px;padding:10px 13px;border:1px solid #4f401c;background:#1b170d;color:#c7b988;font:500 10px var(--font-mono);text-transform:uppercase}.demo-environment-banner b{color:#fcd34d}.interactive-button{min-height:42px;border:1px solid #444;background:#111;color:#aaa;cursor:pointer;text-transform:uppercase;font:500 9px var(--font-mono);letter-spacing:.05em}.interactive-button i{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:8px;background:#666}.interactive-button.active{color:#fff;border-color:#8b1117}.interactive-button.active i{background:#ed101b}
.os-page { max-width:1160px;margin:auto; }.os-page.narrow { max-width:760px; }
.eyebrow { color:#ed101b;text-transform:uppercase;font:600 11px var(--font-mono);letter-spacing:.12em;margin-bottom:18px; }
.os-page h1 { font:650 clamp(38px,5vw,70px)/.95 var(--font-heading);text-transform:uppercase;margin:0;letter-spacing:-.025em; }
.os-title-row { display:flex;justify-content:space-between;gap:28px;align-items:flex-start;margin-bottom:42px; }.os-title-row p,.lead { color:#999;max-width:620px;line-height:1.55; }
.status-pill { color:#86efac;border:1px solid #32523d;padding:8px 11px;font:500 10px var(--font-mono);text-transform:uppercase;white-space:nowrap; }
.os-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:14px; }
.os-card { min-height:270px;border:1px solid #303030;background:#101010;padding:25px;display:flex;flex-direction:column; }.os-card.feature { border-color:#8b1117;background:linear-gradient(145deg,#24090a,#101010 70%); }
.os-card>span { color:#777;font:500 11px var(--font-mono); }.os-card h2 { font:600 28px var(--font-heading);text-transform:uppercase;margin:50px 0 10px; }.os-card p { color:#999;font-size:14px;line-height:1.5; }.os-card a { margin-top:auto;color:#fff;font:600 12px var(--font-mono);text-transform:uppercase; }
.workflow,.slot-picker { margin-top:18px;border:1px solid #303030;background:#101010;padding:25px; }.workflow>div { margin-top:20px;display:flex;align-items:center;gap:18px;flex-wrap:wrap; }.workflow span { background:#1a1a1a;padding:11px 16px;font:500 12px var(--font-mono);text-transform:uppercase; }.workflow i { color:#ed101b;font-style:normal; }
.portal-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:18px}.portal-summary article{border:1px solid #303030;background:#0d0d0d;padding:18px;display:grid;gap:12px}.portal-summary span{color:#777;font:500 10px var(--font-mono);text-transform:uppercase}.portal-summary b{font:600 27px var(--font-heading);text-transform:uppercase}
.red-button { display:inline-flex!important;align-items:center;justify-content:center;background:#ed101b!important;border:1px solid #ed101b!important;color:white!important;min-height:46px;padding:0 20px;text-transform:uppercase;font:600 12px var(--font-heading);letter-spacing:.05em;cursor:pointer; }
.editor-form { margin-top:38px;display:grid;gap:22px; }.editor-form label,.slot-picker label { display:grid;gap:8px;color:#aaa;font:500 12px var(--font-mono);text-transform:uppercase; }
.editor-form input,.editor-form textarea,.editor-form select,.slot-picker select { width:100%;background:#111;border:1px solid #444;color:#fff;padding:14px;text-transform:none;outline:none; }.editor-form input:focus,.editor-form textarea:focus,.editor-form select:focus,.slot-picker select:focus { border-color:#ed101b;box-shadow:0 0 0 2px #ed101b33; }
.publication-text-field{display:grid;gap:8px;margin-top:18px;padding:14px;border:1px dashed transparent;transition:border-color .16s ease,background .16s ease}.publication-text-field.dragging{border-color:#ed101b;background:#190809}.publication-text-field>label{padding:0}.publication-text-meta{display:flex;align-items:center;justify-content:space-between;gap:12px}.publication-text-meta>small,.text-import-status{color:#888;text-transform:none}.publication-text-import{position:relative;display:inline-flex!important;align-items:center;justify-content:center;min-height:34px;padding:0 12px;border:1px solid #555;color:#fff!important;cursor:pointer;white-space:nowrap}.publication-text-import:hover,.publication-text-import:focus-within{border-color:#ed101b}.publication-text-import input{position:absolute;inset:0;opacity:0;cursor:pointer}.text-import-status{color:#f0b4b4!important}
.two-cols { display:grid;grid-template-columns:1fr 1fr;gap:16px; }.form-actions { display:flex;gap:12px;margin-top:10px; }.form-actions button { min-height:46px;border:1px solid #555;background:transparent;color:white;padding:0 20px;cursor:pointer; }
.form-error,.success-banner { border:1px solid #97333a;background:#270c0e;color:#ffd9dc;padding:15px; }.success-banner { margin-bottom:25px;border-color:#285a38;background:#0c2213;color:#baf3ca; }.success-banner a { text-decoration:underline;margin-left:10px; }
.empty-state { margin-top:30px;border:1px dashed #444;padding:70px 25px;text-align:center;background:#0d0d0d; }.empty-state b { font:600 28px var(--font-heading);text-transform:uppercase; }.empty-state p { color:#888; }.empty-state a { color:#ed101b;font:600 12px var(--font-mono);text-transform:uppercase; }
.publication-table { display:grid;gap:10px;margin-top:25px; }.publication-table article { display:flex;justify-content:space-between;gap:20px;padding:20px;border:1px solid #333;background:#101010; }.publication-table span { color:#ed101b;font:600 10px var(--font-mono);text-transform:uppercase; }.publication-table h2 { font:600 24px var(--font-heading);text-transform:uppercase;margin:7px 0; }.publication-table p { color:#999;margin:0;max-width:65ch; }.publication-table>article>b { color:#86efac;font:500 11px var(--font-mono);text-transform:uppercase; }
.slot-picker { margin:0 0 30px; }.slot-row { margin-bottom:25px; }.slot-row h2 { font:600 20px var(--font-heading);text-transform:uppercase; }.slot-row>div { display:grid;grid-template-columns:repeat(4,1fr);gap:10px; }.slot-row article { min-height:120px;border:1px dashed #444;padding:15px;display:flex;flex-direction:column;justify-content:space-between;color:#666; }.slot-row article.filled { border:1px solid #ed101b;background:#23090b;color:#fff; }.slot-row article span { font:500 11px var(--font-mono); }.slot-row article b { font:600 17px var(--font-heading);text-transform:uppercase; }

@media(max-width:760px){.public-shell{padding:22px 20px}.public-shell::before{background-image:url("/images/cuerpo-de-guardia-mobile-v1.jpg");background-position:center 18%}.public-shell::after{background:linear-gradient(0deg,rgba(0,0,0,.96) 0%,rgba(0,0,0,.72) 49%,rgba(0,0,0,.08) 80%),linear-gradient(90deg,rgba(0,0,0,.32),transparent 55%)}.level-rail{right:12px;top:28%;gap:13px}.level-rail a{font-size:9px;gap:7px}.level-rail i{width:8px;height:8px}.hero-copy{width:calc(100% - 32px);padding-top:45vh}.hero-copy h1{font-size:56px}.public-footer{display:block}.public-footer nav{margin-top:14px;gap:16px}.os-shell{display:block;padding-top:66px}.os-mobile-header{display:flex;position:fixed;z-index:60;left:0;right:0;top:0;height:66px;background:#0d0d0df2;border-bottom:1px solid #303030;align-items:center;justify-content:space-between;padding:10px 16px}.os-mobile-brand{display:flex;align-items:center;gap:10px;font:600 11px var(--font-mono);letter-spacing:.12em}.os-mobile-brand img{width:34px;max-height:43px}.os-menu-button{width:64px;height:44px;border:0;background:transparent;color:#fff;display:grid;grid-template-columns:22px 1fr;grid-template-rows:repeat(3,3px);align-content:center;gap:4px 8px;padding:7px}.os-menu-button span{height:1px;background:#fff}.os-menu-button b{grid-column:2;grid-row:1/4;align-self:center;font:500 8px var(--font-mono);text-transform:uppercase}.os-nav-scrim{display:block;position:fixed;z-index:35;inset:66px 0 0;border:0;background:#000b}.os-sidebar{position:fixed;left:0;top:66px;bottom:0;width:min(86vw,330px);height:auto;padding:20px;transform:translateX(-105%);transition:transform .2s ease}.os-sidebar.is-open{transform:translateX(0)}.os-brand{padding-bottom:16px}.os-brand img{width:44px}.os-sidebar nav{margin-top:18px;gap:15px}.sidebar-bottom{margin-top:18px}.os-main{padding:24px 18px}.demo-environment-banner{align-items:flex-start;display:grid;gap:5px}.os-title-row{display:block}.os-title-row>.red-button,.os-title-row>.ghost-button{margin-top:16px}.status-pill{display:inline-block;margin-top:12px}.os-grid,.portal-summary{grid-template-columns:1fr}.os-card{min-height:220px}.two-cols{grid-template-columns:1fr}.slot-row>div{grid-template-columns:1fr 1fr}.publication-table article{display:block}.publication-table>article>b{display:inline-block;margin-top:15px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}.publication-progress span.active::after{animation:none!important;transform:scaleX(1)}}

/* El CSS del módulo se sirve solo dentro de su ruta interna. */
.web-manager-embedded{display:block!important;min-height:100dvh!important}.web-manager-embedded>.os-main{min-height:100dvh!important;padding:0!important}

/* OSeed module host — local Web Manager preview */
.os-shell{
  --oseed-ink:#1d1d1f;
  --oseed-muted:#6e6e73;
  --oseed-line:#d2d2d7;
  --oseed-soft:#f5f5f7;
  --oseed-paper:#fff;
  --oseed-accent:#0071e3;
  --oseed-accent-soft:#e5f1ff;
  --oseed-sidebar:#f6f6f8;
  --oseed-canvas:#f2f2f7;
  min-height:100vh;
  grid-template-columns:17rem minmax(0,1fr);
  background:var(--oseed-canvas);
  color:var(--oseed-ink);
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",sans-serif;
  font-size:16px;
  line-height:1.45;
}
.os-shell :focus-visible{outline:3px solid color-mix(in srgb,var(--oseed-accent) 72%,white);outline-offset:3px}
.os-shell .os-sidebar{height:100vh;padding:10px;gap:12px;background:var(--oseed-sidebar);border-color:var(--oseed-line)}
.os-shell .os-brand{gap:11px;padding:3px 7px 13px;border-color:var(--oseed-line)}
.os-shell .os-brand img{width:35px;height:35px;border-radius:11px}
.os-shell .os-brand span{display:grid;gap:1px;color:var(--oseed-ink);font:600 14px/1.2 -apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",sans-serif;text-transform:none;letter-spacing:0}
.os-shell .os-brand span b{font-size:15px}
.os-shell .os-brand small{color:var(--oseed-muted);font-size:11px;letter-spacing:0;text-transform:none}
.os-shell .os-sidebar nav{margin-top:0;gap:6px}
.oseed-module-picker{display:grid;gap:5px;padding:3px 0 9px}.oseed-module-picker h2{margin:3px 11px 7px;color:var(--oseed-muted);font:700 11px/1.35 -apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",sans-serif;letter-spacing:.08em;text-transform:uppercase}
.os-shell .os-sidebar nav .oseed-module-option{width:100%;min-height:72px;display:grid;grid-template-columns:36px minmax(0,1fr) 24px;align-items:center;gap:10px;padding:9px 10px;border:1px solid transparent;border-radius:13px;background:var(--oseed-paper);color:var(--oseed-ink);text-align:left;cursor:pointer;box-shadow:0 1px 3px rgb(32 32 30 / 9%)}.os-shell .os-sidebar nav .oseed-module-option.active{border-color:color-mix(in srgb,var(--oseed-accent) 32%,var(--oseed-line))}
.oseed-module-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:10px;background:var(--oseed-accent-soft);color:var(--oseed-accent)}.oseed-module-icon svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.oseed-module-option>span:nth-child(2){display:grid;gap:2px}.oseed-module-option b{font-size:14px}.oseed-module-option small{color:var(--oseed-muted);font-size:11px;font-weight:450}.oseed-module-option em{min-width:22px;height:22px;display:grid;place-items:center;border-radius:999px;background:var(--oseed-soft);color:var(--oseed-muted);font-size:11px;font-style:normal}
.os-shell .os-nav-group{gap:5px;padding-top:8px;border-top:1px solid var(--oseed-line)}
.os-shell .os-nav-group h2{margin:3px 11px 7px;color:var(--oseed-muted);font:700 11px/1.35 -apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",sans-serif;letter-spacing:.08em}
.os-shell .os-sidebar nav a{min-height:48px;padding:10px 12px;border:0;border-radius:11px;color:var(--oseed-ink);font-size:14px;font-weight:560}
.os-shell .os-sidebar nav a:hover,.os-shell .os-sidebar nav a:focus{background:color-mix(in srgb,var(--oseed-paper) 62%,transparent);color:var(--oseed-ink)}
.os-shell .os-sidebar nav a.active{border:0;background:var(--oseed-paper);color:var(--oseed-accent);box-shadow:0 1px 2px rgb(32 32 30 / 8%)}
.os-shell .sidebar-bottom{margin-top:auto;border-top:1px solid var(--oseed-line);padding-top:9px}
.oseed-local-context{min-height:55px;display:grid;grid-template-columns:36px minmax(0,1fr);gap:10px;align-items:center;padding:8px 10px;border-radius:11px;color:var(--oseed-ink)}
.oseed-local-context>span:first-child{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:var(--oseed-soft);font-size:12px;font-weight:700}
.oseed-local-context>span:last-child{display:grid;gap:1px}.oseed-local-context b{font-size:13px}.oseed-local-context small{color:var(--oseed-muted);font-size:11px}
.os-shell .os-main{min-height:100vh;padding:0;background:var(--oseed-canvas)}
.oseed-module-topbar{position:sticky;z-index:30;top:0;height:70px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:9px 22px;border-bottom:1px solid var(--oseed-line);background:color-mix(in srgb,var(--oseed-paper) 86%,transparent);backdrop-filter:blur(14px)}
.oseed-module-back{min-height:40px;display:inline-flex;align-items:center;gap:8px;border:0;border-radius:10px;background:transparent;color:var(--oseed-ink);padding:0 10px;cursor:pointer;font-size:13px;font-weight:650}.oseed-module-back:hover{background:var(--oseed-soft)}.oseed-module-back>span:first-child{color:var(--oseed-accent);font-size:20px;line-height:1;letter-spacing:0;text-transform:none}
.oseed-module-topbar>div{display:grid;gap:1px}.oseed-module-topbar span{color:var(--oseed-muted);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.oseed-module-topbar b{font-size:16px}.oseed-module-topbar small{padding:6px 10px;border-radius:999px;background:var(--oseed-accent-soft);color:var(--oseed-accent);font-size:11px;font-weight:700}
.oseed-module-content{padding:clamp(28px,5vw,68px)}
.oseed-core-launcher{max-width:900px;margin:0 auto;padding:clamp(52px,8vw,110px) clamp(24px,6vw,72px)}.oseed-core-launcher h1{margin:0;color:var(--oseed-ink);font:650 clamp(44px,7vw,72px)/1 -apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",sans-serif;letter-spacing:-.05em}.oseed-core-launcher>p{margin:16px 0 36px;color:var(--oseed-muted);font-size:17px}.oseed-launcher-card{width:min(560px,100%);min-height:104px;display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:16px;border:1px solid var(--oseed-line);border-radius:18px;background:var(--oseed-paper);color:var(--oseed-ink);padding:20px;text-align:left;cursor:pointer;box-shadow:0 8px 28px rgb(32 32 30 / 8%)}.oseed-launcher-card:hover{border-color:color-mix(in srgb,var(--oseed-accent) 42%,var(--oseed-line));transform:translateY(-1px)}.oseed-launcher-card .oseed-module-icon{width:48px;height:48px;border-radius:14px}.oseed-launcher-card>span:nth-child(2){display:grid;gap:4px}.oseed-launcher-card b{font-size:17px}.oseed-launcher-card small{color:var(--oseed-muted);font-size:13px}.oseed-launcher-card em{color:var(--oseed-accent);font-size:12px;font-style:normal;font-weight:700}
.os-shell .os-page{max-width:1180px;color:var(--oseed-ink)}
.os-shell .eyebrow{margin-bottom:13px;color:var(--oseed-accent);font:750 11px/1.2 -apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",sans-serif;letter-spacing:.075em}
.os-shell .os-page h1{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",sans-serif;font-size:clamp(42px,5vw,68px);font-weight:650;line-height:1;letter-spacing:-.05em;text-transform:none}
.os-shell .os-title-row{margin-bottom:34px}.os-shell .os-title-row p,.os-shell .lead{max-width:650px;color:var(--oseed-muted);font-size:17px;line-height:1.55}
.os-shell .status-pill{border:0;border-radius:999px;background:var(--oseed-accent-soft);color:var(--oseed-accent);font:700 11px/1 -apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",sans-serif;text-transform:none}
.os-shell .portal-summary{gap:12px;margin-bottom:16px}
.os-shell .portal-summary article,.os-shell .os-card,.os-shell .workflow{border:1px solid var(--oseed-line);border-radius:18px;background:var(--oseed-paper);box-shadow:0 1px 2px rgb(32 32 30 / 5%)}
.os-shell .portal-summary article{padding:18px 20px}.os-shell .portal-summary span{color:var(--oseed-muted);font:700 11px/1.2 -apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",sans-serif;letter-spacing:.055em}.os-shell .portal-summary b{color:var(--oseed-ink);font:650 28px/1.1 -apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",sans-serif;text-transform:none}
.os-shell .os-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}.os-shell .os-card{grid-column:span 2;min-height:245px;padding:22px}.os-shell .os-card:nth-child(n+4){grid-column:span 3;min-height:220px}.os-shell .os-card.feature{border-color:color-mix(in srgb,var(--oseed-accent) 42%,var(--oseed-line));background:linear-gradient(145deg,var(--oseed-accent-soft),var(--oseed-paper) 68%)}
.os-shell .os-card>span{color:var(--oseed-muted);font:650 11px/1.2 -apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",sans-serif}.os-shell .os-card h2{margin:42px 0 10px;color:var(--oseed-ink);font:650 26px/1.06 -apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",sans-serif;letter-spacing:-.025em;text-transform:none}.os-shell .os-card p{color:var(--oseed-muted);font-size:14px}.os-shell .os-card a{color:var(--oseed-accent);font:700 12px/1.2 -apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",sans-serif;text-transform:none}
.os-shell .workflow{padding:22px}.os-shell .workflow>div{gap:12px}.os-shell .workflow span{border-radius:10px;background:var(--oseed-soft);color:var(--oseed-ink);font:650 12px/1.2 -apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",sans-serif;text-transform:none}.os-shell .workflow i{color:var(--oseed-accent)}

/* OSeed operational language: every Web Manager control uses the Core UI.
   Public-facing pages remain independently themed by each initiative. */
.os-shell button,.os-shell input,.os-shell textarea,.os-shell select{font:inherit}
.os-shell .red-button,.os-shell .ghost-button,.os-shell .form-actions button,.os-shell .publication-actions button,.os-shell .publication-actions a,.os-shell .row-actions button,.os-shell .row-actions a,.os-shell .slot-add,.os-shell .legal-action-editor button{min-height:44px;border:1px solid var(--oseed-line)!important;border-radius:12px;background:var(--oseed-paper)!important;color:var(--oseed-ink)!important;padding:0 16px;font:650 13px/1.2 -apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",sans-serif;text-transform:none;letter-spacing:0;box-shadow:0 1px 2px rgb(32 32 30 / 5%)}
.os-shell .red-button,.os-shell .form-actions .red-button{border-color:var(--oseed-accent)!important;background:var(--oseed-accent)!important;color:#fff!important}.os-shell button:hover,.os-shell a:hover{filter:none}.os-shell .red-button:hover,.os-shell .red-button:focus-visible{background:color-mix(in srgb,var(--oseed-accent) 88%,black)!important}
.os-shell button:disabled,.os-shell .red-button:disabled{opacity:.48;cursor:not-allowed}
.os-shell .editor-form label,.os-shell .slot-picker label,.os-shell .identity-form label,.os-shell .user-dialog label,.os-shell .legal-action-editor label{color:var(--oseed-muted);font:650 12px/1.35 -apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",sans-serif;text-transform:none;letter-spacing:0}
.os-shell .editor-form input,.os-shell .editor-form textarea,.os-shell .editor-form select,.os-shell .slot-picker select,.os-shell .identity-form input,.os-shell .identity-form textarea,.os-shell .identity-form select,.os-shell .user-dialog input,.os-shell .user-dialog select,.os-shell .legal-action-editor input{min-height:46px;border:1px solid var(--oseed-line);border-radius:11px;background:var(--oseed-paper);color:var(--oseed-ink);padding:11px 13px;outline:none}
.os-shell textarea{resize:vertical}.os-shell input:focus,.os-shell textarea:focus,.os-shell select:focus{border-color:var(--oseed-accent)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--oseed-accent) 18%,transparent)!important}
.os-shell .form-section,.os-shell .validation-box,.os-shell .showcase-toolbar,.os-shell .slot-row,.os-shell .publication-table article,.os-shell .publication-cards article,.os-shell .empty-state,.os-shell .settings-card,.os-shell .action-catalog article,.os-shell .legal-action-editor,.os-shell .user-table-wrap,.os-shell .access-role-grid article,.os-shell .brand-preview,.os-shell .payment-connection{border:1px solid var(--oseed-line);border-radius:18px;background:var(--oseed-paper);color:var(--oseed-ink);box-shadow:0 1px 2px rgb(32 32 30 / 5%)}
.os-shell .form-section{padding:clamp(20px,3vw,30px)}.os-shell .form-section h2,.os-shell .slot-row h2,.os-shell .publication-table h2,.os-shell .publication-cards h2,.os-shell .action-catalog h2{color:var(--oseed-ink);font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",sans-serif;text-transform:none;letter-spacing:-.02em}.os-shell .form-section .step,.os-shell .publication-table span,.os-shell .publication-cards article>span,.os-shell .action-catalog span{color:var(--oseed-accent);font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",sans-serif;text-transform:none}
.os-shell .section-help,.os-shell .empty-state p,.os-shell .publication-table p,.os-shell .publication-cards p,.os-shell .action-catalog p,.os-shell .fixed-destination,.os-shell .modal-empty{color:var(--oseed-muted)}
.os-shell .section-buttons button{min-height:44px;border:1px solid var(--oseed-line);border-radius:11px;background:var(--oseed-soft);color:var(--oseed-ink);font:650 12px/1.2 -apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",sans-serif;text-transform:none}.os-shell .section-buttons button.active{border-color:var(--oseed-accent);background:var(--oseed-accent-soft);color:var(--oseed-accent)}
.os-shell .asset-field{border:1px dashed var(--oseed-line);border-radius:14px;background:var(--oseed-soft);color:var(--oseed-ink)}.os-shell .asset-field:hover,.os-shell .asset-field:focus-within,.os-shell .publication-text-field.dragging{border-color:var(--oseed-accent);background:var(--oseed-accent-soft)}.os-shell .asset-field small,.os-shell .publication-text-meta small{color:var(--oseed-muted)}
.os-shell .asset-field>span{color:var(--oseed-ink)}.os-shell .asset-field b{color:var(--oseed-accent)}.os-shell .asset-field.loaded{border-color:#a8d4b5;background:#f3faf5}
.os-shell .cta-editor{border:1px solid var(--oseed-line);border-radius:14px;background:var(--oseed-soft);color:var(--oseed-ink)}
.os-shell .publication-text-import{min-height:40px;border:1px solid var(--oseed-line);border-radius:10px;background:var(--oseed-paper);color:var(--oseed-ink)!important;text-transform:none}.os-shell .publication-text-import:hover{border-color:var(--oseed-accent)}
.os-shell .validation-box{border-left:4px solid var(--oseed-accent);padding:18px 20px}.os-shell .form-error{border:1px solid #e5a69d;border-radius:12px;background:#fff0ee;color:#8a1f1f}.os-shell .success-banner{border:1px solid #a8d4b5;border-radius:12px;background:#e8f5ed;color:#2e7245}.os-shell .success-banner a{color:inherit}
.os-shell .validation-box>b{color:var(--oseed-ink);font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",sans-serif;text-transform:none}.os-shell .validation-box ul{color:#715000}
.os-shell .sticky-actions{bottom:0;margin:0 -1px -1px;padding:14px 0;border-top:1px solid var(--oseed-line);background:color-mix(in srgb,var(--oseed-canvas) 90%,transparent);backdrop-filter:blur(14px)}
.os-shell .draft-save-state,.os-shell .publication-status{border:0;border-radius:999px;background:var(--oseed-soft);color:var(--oseed-muted);font:650 11px/1 -apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",sans-serif;text-transform:none}.os-shell .draft-save-state.saved,.os-shell .publication-status.ready{background:#e8f5ed;color:#2e7245}.os-shell .draft-save-state.saving,.os-shell .publication-status.draft{background:#fff0c7;color:#715000}
.os-shell .publication-filters button{border:1px solid var(--oseed-line);border-radius:999px;background:var(--oseed-paper);color:var(--oseed-muted)}.os-shell .publication-filters button.active{border-color:var(--oseed-accent);background:var(--oseed-accent-soft);color:var(--oseed-accent)}
.os-shell .publication-stats>div{border:1px solid var(--oseed-line);border-radius:12px;background:var(--oseed-soft);color:var(--oseed-ink)}.os-shell .publication-actions>b{color:#2e7245;text-transform:none}
.os-shell .showcase-toolbar{padding:16px 18px}.os-shell .showcase-toolbar span{color:var(--oseed-accent)}.os-shell .showcase-toolbar b{color:var(--oseed-ink)}
.os-shell .slot-row{padding:20px}.os-shell .slot-row>div{gap:12px}.os-shell .slot-card,.os-shell .slot-add{border:1px dashed var(--oseed-line)!important;border-radius:14px;background:var(--oseed-soft)!important;color:var(--oseed-muted)!important}.os-shell .slot-card.filled{border-style:solid!important;border-color:var(--oseed-accent)!important;background:var(--oseed-paper)!important;color:var(--oseed-ink)!important}.os-shell .slot-card:hover,.os-shell .slot-add:hover{border-color:var(--oseed-accent)!important;color:var(--oseed-accent)!important}
.os-shell .modal-backdrop,.os-shell .incomplete-dialog-backdrop{background:rgb(29 29 31 / 42%);backdrop-filter:blur(4px)}.os-shell .library-modal,.os-shell .incomplete-dialog,.os-shell .user-dialog{border:1px solid var(--oseed-line);border-radius:20px;background:var(--oseed-paper);color:var(--oseed-ink);box-shadow:0 24px 90px rgb(29 29 31 / 22%)}.os-shell .modal-close{border:0!important;background:var(--oseed-soft)!important;color:var(--oseed-muted)!important;border-radius:999px}
.os-shell .modal-library button{border:1px solid var(--oseed-line);border-radius:12px;background:var(--oseed-paper);color:var(--oseed-ink)}.os-shell .modal-library button:hover{border-color:var(--oseed-accent);background:var(--oseed-accent-soft)}
.os-shell .danger{border-color:#e5a69d!important;background:#fff0ee!important;color:#8a1f1f!important}
.os-shell .user-table,.os-shell .access-level-list{color:var(--oseed-ink)}.os-shell .user-table>*,.os-shell .access-level-list>*{border-color:var(--oseed-line)}
.os-shell .action-catalog article>button{border:1px solid var(--oseed-line);border-radius:11px;background:var(--oseed-soft);color:var(--oseed-muted)}.os-shell .action-catalog article>button.active{border-color:#a8d4b5;color:#2e7245}.os-shell .action-catalog article>button.active i{background:#34734a}
.os-shell .legal-action-editor article{border-color:var(--oseed-line);background:var(--oseed-soft);border-radius:14px}

html[data-theme="dark"] .os-shell{
  --oseed-ink:#f5f5f7;--oseed-muted:#aeaeb2;--oseed-line:#3a3a3c;--oseed-soft:#2c2c2e;--oseed-paper:#1c1c1e;--oseed-accent:#0a84ff;--oseed-accent-soft:#173250;--oseed-sidebar:#161618;--oseed-canvas:#121214;
  background:#121214;
  color:#f5f5f7;
}
html[data-theme="dark"] .oseed-module-topbar{background:rgb(28 28 30 / 88%)}

@media(max-width:760px){
  .os-shell{padding-top:66px}.os-shell .os-mobile-header{background:color-mix(in srgb,var(--oseed-paper) 92%,transparent);border-color:var(--oseed-line)}.os-shell .os-mobile-brand{color:var(--oseed-ink);font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",sans-serif;letter-spacing:0}.os-shell .os-mobile-brand img{width:36px;height:36px;border-radius:11px}.os-shell .os-nav-scrim{background:rgb(20 20 22 / 36%);backdrop-filter:blur(2px)}.os-shell .os-sidebar{top:66px;bottom:0;width:min(19rem,calc(100vw - 3rem));height:auto;padding:10px;box-shadow:18px 0 55px rgb(32 32 30 / 16%)}.oseed-module-topbar{height:62px;padding:8px 12px}.oseed-module-topbar>div{display:none}.oseed-module-topbar small{font-size:10px}.oseed-module-back{padding:0 7px}.oseed-module-content{padding:28px 16px 44px}.oseed-core-launcher{padding:48px 18px}.oseed-launcher-card{grid-template-columns:44px minmax(0,1fr);padding:16px}.oseed-launcher-card em{grid-column:2}.os-shell .os-title-row{display:grid;gap:10px}.os-shell .status-pill{width:max-content;margin-top:0}.os-shell .os-grid{grid-template-columns:1fr}.os-shell .os-card,.os-shell .os-card:nth-child(n+4){grid-column:auto;min-height:210px}.os-shell .portal-summary{grid-template-columns:1fr}.os-shell .workflow>div{display:grid;grid-template-columns:1fr auto 1fr}.os-shell .workflow span{text-align:center}
}

/* Magazine public experience */
.public-empty{height:100dvh;background:#000;display:grid;place-items:center}.public-empty img{width:clamp(68px,8vw,110px);opacity:.55}.public-empty .floating-brand{opacity:1}.public-empty-message{width:min(520px,calc(100% - 96px));padding:24px}.public-empty-message h1{margin:0;font:650 clamp(34px,5vw,64px)/.98 var(--brand-heading,var(--font-heading));text-transform:uppercase}.public-empty-message p:last-child{max-width:46ch;color:var(--brand-muted,#c3c4bf);font:400 16px/1.5 var(--brand-body,var(--font-body))}
.magazine-shell{height:100dvh;overflow:hidden;background:#000;color:#fff;position:relative}.magazine-levels{height:100%;overflow-y:auto;scroll-snap-type:y mandatory;overscroll-behavior-y:contain;scroll-behavior:smooth}.magazine-level{height:100dvh;scroll-snap-align:start;scroll-snap-stop:always;overflow:hidden}.magazine-row{height:100%;display:flex;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scroll-behavior:smooth;scrollbar-width:none;touch-action:auto;cursor:default}.magazine-row::-webkit-scrollbar{display:none}.magazine-page{--desktop-image:none;--mobile-image:none;position:relative;isolation:isolate;flex:0 0 100vw;height:100dvh;scroll-snap-align:start;scroll-snap-stop:always;padding:clamp(28px,5vw,72px);display:flex;align-items:flex-end;background:#000}.magazine-page::before{content:"";position:absolute;z-index:-2;inset:0;background-image:var(--desktop-image);background-size:cover;background-position:center}.magazine-page::after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.88),rgba(0,0,0,.55) 36%,rgba(0,0,0,.06) 72%),linear-gradient(0deg,rgba(0,0,0,.94),transparent 58%)}.floating-brand{position:fixed;z-index:20;left:clamp(28px,5vw,72px);top:clamp(28px,5vw,62px);width:clamp(64px,7vw,104px);height:auto}.magazine-shell .level-rail{position:fixed;z-index:20;top:50%;transform:translateY(-50%);right:clamp(14px,3vw,42px);display:grid;gap:17px}.level-rail::before{content:"";position:absolute;top:0;bottom:0;left:50%;width:2px;background:#777;transform:translateX(-50%);z-index:-1}.level-rail button{border:0;background:transparent;color:#777;display:flex;align-items:center;justify-content:flex-end;gap:11px;text-transform:uppercase;font:500 13px var(--font-heading);cursor:pointer;padding:8px;position:relative}.level-rail button i{width:12px;height:12px;border:2px solid currentColor;border-radius:50%;background:#000}.level-rail button.active{color:#ed101b}.level-rail button.active i{background:#ed101b}.level-rail button:hover,.level-rail button:focus-visible{color:#ed101b}.level-rail button:disabled{opacity:.35;cursor:default}.scene-content{width:min(520px,calc(100% - 70px));padding-bottom:clamp(22px,3vw,42px)}.publication-title-image{display:block;width:auto;height:auto;max-width:min(390px,100%);max-height:clamp(120px,24vh,260px);object-fit:contain;object-position:left bottom}.scene-count{display:block;margin-top:24px;color:#777;font:500 10px var(--font-mono);letter-spacing:.12em}

/* Editorial editor and library */
.form-section{position:relative;border-top:1px solid #333;padding:30px 0 12px}.form-section .step{position:absolute;right:0;top:30px;color:#666;font:500 11px var(--font-mono)}.form-section h2,.settings-card h2{font:600 27px var(--font-heading);text-transform:uppercase;margin:0 0 20px}.section-help{color:#8e8e8e;max-width:65ch;line-height:1.5}.section-buttons{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.section-buttons button{min-height:52px;border:1px solid #444;background:#111;color:#aaa;text-transform:uppercase;font:600 13px var(--font-heading);cursor:pointer}.section-buttons button.active{background:#e00000;border-color:#e00000;color:#fff}.asset-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.asset-field{min-height:240px;border:1px dashed #555;background:#0d0d0d;padding:18px;display:flex!important;flex-direction:column;align-items:flex-start;justify-content:flex-end;cursor:pointer;overflow:hidden;position:relative}.asset-field>span{position:absolute;top:17px;left:17px;color:#fff}.asset-field small{position:absolute;top:42px;left:17px;color:#777;text-transform:none}.asset-field b{color:#ed101b;margin-top:auto}.asset-field input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer}.asset-field img{position:absolute;inset:70px 12px 12px;width:calc(100% - 24px);height:calc(100% - 82px);object-fit:contain}.asset-field.loaded{border-style:solid;border-color:#356947}.cta-editor{border:1px solid #333;padding:18px;background:#0d0d0d}.cta-editor label small{color:#777;text-transform:none;line-height:1.4}.fixed-destination{color:#888;font-size:13px}.ghost-button{min-height:46px;border:1px solid #555;background:transparent;color:#fff;padding:0 18px;text-transform:uppercase;font:600 11px var(--font-mono);cursor:pointer}.validation-box{border:1px solid #444;background:#101010;padding:20px;color:#aaa}.validation-box>b{color:#fff;text-transform:uppercase;font:600 14px var(--font-heading)}.validation-box ul{color:#fcd34d;margin-bottom:0}.sticky-actions{position:sticky;bottom:0;z-index:5;background:#080808e8;padding:16px 0;border-top:1px solid #333}.publication-cards{display:grid;gap:10px}.publication-cards article{display:grid;grid-template-columns:110px minmax(0,1fr) 150px;gap:20px;align-items:center;border:1px solid #333;background:#101010;padding:12px}.publication-thumb{height:130px;background-size:cover;background-position:center;display:grid;place-items:center}.publication-thumb img{max-width:80%;max-height:65%;object-fit:contain}.publication-cards span{color:#ed101b;font:600 10px var(--font-mono);text-transform:uppercase}.publication-cards h2{font:600 24px var(--font-heading);text-transform:uppercase;margin:6px 0}.publication-cards p{color:#999;margin:0 0 8px;max-width:65ch}.publication-cards small{color:#777}.publication-actions{display:grid;gap:7px;align-self:stretch;align-content:center}.publication-actions>b{color:#86efac;font:500 11px var(--font-mono);text-transform:uppercase;margin-bottom:4px}.publication-actions button{min-height:36px;border:1px solid #444;background:#151515;color:#fff;text-align:left;padding:8px 10px;cursor:pointer;font:500 9px var(--font-mono);text-transform:uppercase}.publication-actions button:hover,.publication-actions button:focus-visible{border-color:#e00000}.publication-stats{display:flex;gap:10px;margin-top:14px}.publication-stats>div{min-width:120px;border:1px solid #333;background:#080808;padding:11px;display:grid;gap:4px}.publication-stats b{font:600 24px var(--font-heading)}.publication-stats span{color:#777;font-size:8px}

/* Showcase modal */
.slot-card{min-height:150px;border:1px dashed #444;background:#0d0d0d;color:#777;padding:13px;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;text-align:left;cursor:pointer;overflow:hidden}.slot-card:hover{border-color:#e00000;color:#fff}.slot-card.filled{border-style:solid;border-color:#7d1519;color:#fff}.slot-thumb{width:100%;height:75px;background-size:cover;background-position:center}.slot-card small{font:500 10px var(--font-mono)}.slot-card b{font:600 15px var(--font-heading);text-transform:uppercase}.modal-backdrop{position:fixed;z-index:100;inset:0;background:#000d;display:grid;place-items:center;padding:20px}.library-modal{width:min(720px,100%);max-height:85dvh;overflow:auto;background:#111;border:1px solid #444;padding:30px;position:relative}.library-modal h2{font:600 38px var(--font-heading);text-transform:uppercase;margin:0 0 20px}.modal-close{position:absolute;right:16px;top:12px;border:0;background:transparent;color:white;font-size:32px;cursor:pointer}.modal-library{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.modal-library button{border:1px solid #333;background:#171717;color:#fff;min-height:100px;padding:12px;text-align:left;display:grid;grid-template-columns:75px 1fr;gap:10px;cursor:pointer}.modal-library button:hover{border-color:#e00000}.modal-library button>span{grid-row:1/3;width:75px;height:75px;background-size:cover;background-position:center}.modal-library button>b{font:600 17px var(--font-heading);text-transform:uppercase}.modal-library button>small{color:#86efac}.modal-empty{color:#999}
.incomplete-dialog-backdrop{position:fixed;z-index:9999;inset:0;width:100vw;height:100dvh;min-height:100vh;display:flex;align-items:center;justify-content:center;overflow:auto;padding:clamp(16px,4vw,40px);background:rgba(0,0,0,.84);isolation:isolate}.incomplete-dialog{position:relative;z-index:1;width:min(560px,100%);max-height:calc(100dvh - 32px);overflow:auto;border:1px solid #f59e0b;background:#111;color:#fff;padding:clamp(24px,4vw,40px);box-shadow:0 24px 90px #000}.incomplete-dialog>span{color:#f59e0b;font:600 10px var(--font-mono);text-transform:uppercase}.incomplete-dialog h2{margin:10px 0;font:600 clamp(34px,5vw,54px)/.95 var(--font-heading);text-transform:uppercase}.incomplete-dialog p{color:#aaa;line-height:1.55}.incomplete-dialog ul{margin:20px 0;padding:16px 16px 16px 34px;border-left:3px solid #f59e0b;background:#19150c;color:#fcd34d}.incomplete-dialog>div{display:flex;gap:10px;flex-wrap:wrap}.incomplete-dialog .red-button{background:#f59e0b;border-color:#f59e0b;color:#111}.publication-filters{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;margin:0 0 18px}.publication-filters button{min-height:46px;border:1px solid #353535;background:transparent;color:#888;padding:8px 12px;display:flex;align-items:center;justify-content:space-between;gap:8px;text-transform:uppercase;font:600 11px var(--font-heading);cursor:pointer}.publication-filters button small{color:#666;font:500 9px var(--font-mono)}.publication-filters button:hover,.publication-filters button:focus-visible{border-color:#777;color:#fff}.publication-filters button.active{border-color:#ed101b;color:#fff}.publication-filters button.active small{color:#ed101b}.publication-cards article.publication-ready{border-left:4px solid #4ade80}.publication-cards article.publication-draft{border-color:#333!important;border-left:4px solid #f59e0b!important}
.oseed-incomplete-dialog-backdrop{background:rgb(29 29 31 / 38%);backdrop-filter:blur(6px)}.oseed-incomplete-dialog-backdrop .incomplete-dialog{width:min(590px,100%);border:1px solid #d2d2d7;border-radius:22px;background:#fff;color:#1d1d1f;padding:clamp(26px,4vw,40px);box-shadow:0 28px 100px rgb(29 29 31 / 28%);font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",sans-serif}.oseed-incomplete-dialog-backdrop .incomplete-dialog>span{display:inline-flex;width:max-content;padding:7px 10px;border-radius:999px;background:#fff0c7;color:#715000;font:700 11px/1 -apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",sans-serif;text-transform:none}.oseed-incomplete-dialog-backdrop .incomplete-dialog h2{margin:18px 0 10px;color:#1d1d1f;font:650 clamp(34px,5vw,48px)/1 -apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",sans-serif;letter-spacing:-.045em;text-transform:none}.oseed-incomplete-dialog-backdrop .incomplete-dialog p{margin:0;color:#6e6e73;font-size:16px;line-height:1.55}.oseed-incomplete-dialog-backdrop .incomplete-dialog ul{margin:22px 0;padding:16px 18px 16px 38px;border:1px solid #f0d995;border-left:4px solid #d49b16;border-radius:13px;background:#fff9e8;color:#715000}.oseed-incomplete-dialog-backdrop .incomplete-dialog>div{margin-top:24px;gap:10px}.oseed-incomplete-dialog-backdrop .incomplete-dialog button{min-height:46px;border:1px solid #d2d2d7;border-radius:12px;background:#fff;color:#1d1d1f;padding:0 18px;font:650 14px/1.2 -apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",sans-serif;text-transform:none;cursor:pointer}.oseed-incomplete-dialog-backdrop .incomplete-dialog .red-button{border-color:#0071e3;background:#0071e3;color:#fff}.oseed-incomplete-dialog-backdrop .incomplete-dialog .red-button:hover,.oseed-incomplete-dialog-backdrop .incomplete-dialog .red-button:focus-visible{background:#0062c4}.oseed-incomplete-dialog-backdrop .incomplete-dialog button:focus-visible{outline:3px solid #82bfff;outline-offset:3px}.oseed-incomplete-dialog-backdrop .incomplete-dialog button:disabled{opacity:.5;cursor:not-allowed}
html[data-theme="dark"] .oseed-incomplete-dialog-backdrop .incomplete-dialog{border-color:#3a3a3c;background:#1c1c1e;color:#f5f5f7}.oseed-incomplete-dialog-backdrop .incomplete-dialog h2{color:inherit}html[data-theme="dark"] .oseed-incomplete-dialog-backdrop .incomplete-dialog p{color:#aeaeb2}html[data-theme="dark"] .oseed-incomplete-dialog-backdrop .incomplete-dialog ul{border-color:#6a5522;background:#2b2618;color:#ffd66b}html[data-theme="dark"] .oseed-incomplete-dialog-backdrop .incomplete-dialog button:not(.red-button){border-color:#3a3a3c;background:#2c2c2e;color:#f5f5f7}
@media(max-width:760px){.publication-filters{grid-template-columns:1fr 1fr}.publication-filters button:first-child{grid-column:1/-1}.incomplete-dialog>div{display:grid}.incomplete-dialog>div>*{width:100%}}

/* Login, access, responsive lab and brand */
.login-shell{min-height:100dvh;background:#050505;display:grid;place-items:center;padding:24px}.login-panel{width:min(880px,100%);min-height:590px;border:1px solid #333;background:#0d0d0d;display:grid;grid-template-columns:.8fr 1.2fr;overflow:hidden}.login-identity{background:#050505 url("/images/cuerpo-de-guardia-mobile-v1.jpg") center/cover;position:relative;isolation:isolate;padding:35px;display:flex;flex-direction:column;justify-content:space-between}.login-identity:after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(#0006,#000e)}.login-shell img{width:78px}.login-identity span{font:600 10px var(--font-mono);text-transform:uppercase;letter-spacing:.16em}.login-content{padding:clamp(30px,6vw,65px);align-self:center}.demo-login-label{display:inline-block;margin-bottom:26px;padding:7px 9px;border:1px solid #6b541e;color:#fcd34d;font:600 9px var(--font-mono);text-transform:uppercase}.login-shell h1{font:650 54px/.95 var(--font-heading);text-transform:uppercase;margin:0}.login-shell p{color:#999;line-height:1.5}.login-shell form{display:grid;gap:16px;margin-top:28px}.login-shell label,.settings-card label,.identity-form label,.user-dialog label{display:grid;gap:8px;color:#aaa;font:500 11px var(--font-mono);text-transform:uppercase}.login-shell input,.settings-card input,.identity-form input,.user-dialog input,.user-dialog select{background:#111;border:1px solid #444;color:#fff;padding:14px}.back-public{display:inline-block;margin-top:24px;color:#777;font:500 10px var(--font-mono);text-transform:uppercase}.sidebar-bottom{margin-top:auto;display:grid;gap:8px}.logout-button{border:0;background:transparent;color:#777;min-height:40px;cursor:pointer;text-transform:uppercase;font:500 10px var(--font-mono)}.settings-card{border:1px solid #333;background:#101010;padding:22px;display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:14px}.settings-card p{color:#888;max-width:650px}.toggle{min-width:135px;border:1px solid #555;background:#181818;color:#aaa;padding:10px;cursor:pointer}.toggle i{display:inline-block;width:10px;height:10px;border-radius:50%;background:#777;margin-right:8px}.toggle.active{border-color:#e00000;color:#fff}.toggle.active i{background:#e00000}.surface-switch{display:flex;gap:8px;margin-bottom:18px}.surface-switch button{min-height:44px;padding:0 18px;border:1px solid #444;background:#111;color:#999;cursor:pointer}.surface-switch button.active{border-color:#e00000;background:#24090b;color:#fff}.device-groups{display:flex;gap:18px;overflow:auto}.device-groups section{min-width:max-content}.device-groups h2{margin:0 0 7px;color:#777;font:500 9px var(--font-mono);text-transform:uppercase}.device-tabs{display:flex;gap:8px;padding-bottom:12px}.device-tabs button{min-width:125px;border:1px solid #3b3b3b;background:#111;color:#aaa;padding:11px;display:grid;gap:3px;cursor:pointer}.device-tabs button.active{border-color:#e00000;color:#fff}.device-tabs small{color:#666}.device-stage{margin-top:18px;background:#141414;border:1px solid #333;min-height:650px;padding:36px;overflow:auto;display:flex;justify-content:center;align-items:flex-start}.device-meta{display:flex;justify-content:space-between;color:#777;font:500 10px var(--font-mono);text-transform:uppercase;margin-bottom:10px}.device-meta b{color:#fff}.device-frame{flex:none;border:8px solid #292929;border-radius:18px;overflow:hidden;box-shadow:0 18px 70px #000;transform-origin:top center;max-width:none}.device-frame iframe{border:0;width:100%;height:100%;background:#000}.lab-note{color:#777;font-size:12px}.brand-grid{display:grid;grid-template-columns:440px 1fr;gap:14px}.identity-form{border:1px solid #333;background:#101010;padding:0 24px}.identity-form .form-section{display:grid;gap:14px}.brand-preview{border:1px solid;background:#050505;min-height:430px;padding:40px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.brand-preview>span{text-transform:uppercase;font:600 11px var(--font-mono)}.brand-preview img{max-width:120px;max-height:120px;margin:35px 0}.brand-preview h2{font-size:55px;text-transform:uppercase;margin:0 0 12px}.brand-preview p{color:#777}.brand-preview button{border:0;color:#fff;padding:14px 22px;text-transform:uppercase}.role-guide{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:18px}.role-guide article{border:1px solid #303030;background:#0e0e0e;padding:14px}.role-guide b{font:600 13px var(--font-heading);text-transform:uppercase}.role-guide p{color:#777;font-size:11px;line-height:1.4}.user-table-wrap{overflow:auto;border:1px solid #333}.user-table{width:100%;border-collapse:collapse;min-width:800px}.user-table th,.user-table td{padding:16px;text-align:left;border-bottom:1px solid #292929}.user-table th{color:#777;font:500 9px var(--font-mono);text-transform:uppercase}.user-table td{color:#aaa;font-size:13px}.user-table td:first-child{display:grid;gap:4px}.user-table td:first-child b{color:#fff}.user-table td:first-child span{color:#777}.user-table td:first-child small{color:#fcd34d;font:500 8px var(--font-mono);text-transform:uppercase}.status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#777;margin-right:7px}.status-dot.active{background:#86efac}.row-actions{display:flex;gap:7px}.row-actions button{border:1px solid #444;background:#111;color:#fff;padding:8px 10px;cursor:pointer;font:500 9px var(--font-mono);text-transform:uppercase}.row-actions button.danger{color:#ff8d95;border-color:#613035}.user-dialog{width:min(600px,100%);background:#111;border:1px solid #444;padding:30px;display:grid;gap:16px;position:relative}.user-dialog h2{font:600 38px var(--font-heading);text-transform:uppercase;margin:0 0 5px}

@media(max-width:760px){
  .magazine-page{padding:20px;align-items:flex-end}.magazine-page::before{background-image:var(--mobile-image);background-position:center 18%}.magazine-page::after{background:linear-gradient(0deg,rgba(0,0,0,.98) 0%,rgba(0,0,0,.78) 43%,rgba(0,0,0,.08) 76%),linear-gradient(90deg,rgba(0,0,0,.25),transparent 60%)}.floating-brand{left:20px;top:24px;width:66px}.magazine-shell .level-rail{right:8px;gap:10px}.level-rail button{font-size:8px;gap:6px;padding:3px}.level-rail button i{width:8px;height:8px}.scene-content{width:calc(100% - 30px);padding-bottom:max(14px,env(safe-area-inset-bottom))}.publication-headline{max-width:22ch;margin-bottom:10px;font-size:18px}.publication-title-image{max-width:75%;max-height:150px}.magazine-page .body-copy{font-size:14px;line-height:1.34;margin-top:18px;max-width:37ch}.magazine-page .cta-stack{margin-top:20px;width:100%}.magazine-page .cta-stack a{min-height:46px}.scene-count{margin-top:14px}.section-buttons{grid-template-columns:1fr 1fr}.asset-grid{grid-template-columns:1fr}.asset-field{min-height:220px}.publication-cards article{grid-template-columns:80px minmax(0,1fr)}.publication-thumb{height:110px}.publication-actions{grid-column:1/-1;grid-template-columns:repeat(3,1fr)}.publication-actions>b{grid-column:1/-1}.publication-stats{flex-wrap:wrap}.publication-stats>div{flex:1}.modal-library{grid-template-columns:1fr}.brand-grid{grid-template-columns:1fr}.device-stage{justify-content:flex-start;padding:18px}.settings-card{align-items:flex-start;display:grid}
  .login-shell{padding:0}.login-panel{min-height:100dvh;border:0;grid-template-columns:1fr}.login-identity{min-height:190px;padding:24px;background-position:center 28%}.login-identity img{width:58px}.login-content{padding:30px 22px 42px}.role-guide{grid-template-columns:1fr 1fr}.brand-preview{min-height:360px;padding:28px}.device-groups{display:block}.device-groups section+section{margin-top:10px}
  .user-table-wrap{border:0;overflow:visible}.user-table,.user-table tbody,.user-table tr,.user-table td{display:block;width:100%;min-width:0}.user-table thead{display:none}.user-table tr{border:1px solid #333;background:#0d0d0d;padding:12px 16px}.user-table td{border:0;padding:9px 0 9px 42%;position:relative;min-height:34px}.user-table td:before{position:absolute;left:0;top:11px;color:#666;font:500 8px var(--font-mono);text-transform:uppercase}.user-table td:nth-child(1):before{content:"Usuario"}.user-table td:nth-child(2):before{content:"Departamento"}.user-table td:nth-child(3):before{content:"Nivel"}.user-table td:nth-child(4):before{content:"Estado"}.user-table td:nth-child(5):before{content:"Acciones"}.user-table td:first-child{display:grid;width:100%;padding-left:42%}.row-actions{flex-wrap:wrap}
}

/* OS readability: navigation and publication controls */
.os-nav-group h2{
  margin:0 0 8px 14px;
  color:#858585;
  font:600 11px/1.35 var(--font-mono);
}
.os-sidebar nav a{
  min-height:48px;
  padding:13px 14px;
  display:flex;
  align-items:center;
  font-size:16px;
  line-height:1.3;
}
.dev-access-button{
  min-height:64px;
}
.dev-access-button b{
  font-size:15px;
}
.dev-access-button small,
.os-user-card small{
  font-size:10px;
  line-height:1.35;
}
.os-user-card{
  min-height:58px;
  padding:10px 8px;
}
.os-user-card b{
  font-size:16px;
}
.publication-cards{
  gap:14px;
}
.publication-cards article{
  grid-template-columns:120px minmax(0,1fr) 190px;
  gap:22px;
  padding:16px;
}
.publication-cards p{
  font-size:15px;
  line-height:1.5;
}
.publication-cards small{
  font-size:12px;
  line-height:1.4;
}
.publication-actions{
  gap:9px;
}
.publication-actions>b{
  font-size:12px;
  line-height:1.35;
}
.publication-actions a,
.publication-actions button{
  min-height:46px;
  padding:11px 13px;
  font:600 12px/1.25 var(--font-mono);
  letter-spacing:.01em;
}

@media (min-width:821px) and (max-width:1050px){
  .os-shell{grid-template-columns:220px 1fr}
  .os-sidebar{padding:24px 16px}
  .os-main{padding:36px 24px}
  .publication-cards article{
    grid-template-columns:100px minmax(0,1fr);
    gap:16px;
  }
  .publication-thumb{height:120px}
  .publication-actions{
    grid-column:1/-1;
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .publication-actions>b{grid-column:1/-1}
}

@media(max-width:820px){
  .os-sidebar{width:min(90vw,360px)}
  .os-nav-group h2{margin-left:12px;font-size:11px}
  .os-sidebar nav a{min-height:52px;padding:14px 12px;font-size:17px}
  .publication-cards article{grid-template-columns:88px minmax(0,1fr);gap:14px;padding:14px}
  .publication-cards h2{font-size:22px;line-height:1.05}
  .publication-cards p{font-size:15px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
  .publication-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .publication-actions a,.publication-actions button{min-height:48px;font-size:12px;padding:11px 12px}
  .publication-actions .danger{grid-column:1/-1}
}

.magazine-shell .level-rail button:hover,.magazine-shell .level-rail button:focus-visible{color:var(--brand-accent,#ed101b)}
.magazine-shell .primary-cta{background:var(--brand-accent,#e00000);border-color:var(--brand-accent,#e00000)}
.interactive-copy{margin-top:14px;border:1px solid #333;background:#101010;padding:22px;display:grid;gap:16px}
.interactive-copy label{display:grid;gap:8px;color:#aaa;font:500 11px var(--font-mono);text-transform:uppercase}
.interactive-copy input,.interactive-copy textarea{background:#111;border:1px solid #444;color:#fff;padding:14px}
.dev-hub-grid .os-card{border-top-color:#ed101b}
.access-level-list{display:grid;gap:9px;margin-top:24px}
.access-level-list article{display:grid;grid-template-columns:58px minmax(180px,.8fr) 1.4fr;gap:22px;align-items:center;border:1px solid #303030;background:#0e0e0e;padding:20px}
.access-level-number{color:#ed101b;font:600 20px var(--font-heading)}
.access-level-list h2{font:600 23px var(--font-heading);text-transform:uppercase;margin:0 0 5px}
.access-level-list p{color:#777;font-size:12px;line-height:1.45;margin:0}
.access-level-list ul{display:flex;gap:7px;flex-wrap:wrap;list-style:none;margin:0;padding:0}
.access-level-list li{border:1px solid #3a3a3a;background:#151515;color:#aaa;padding:7px 9px;font:500 9px var(--font-mono);text-transform:uppercase}
@media(max-width:760px){.access-level-list article{grid-template-columns:42px 1fr}.access-level-list ul{grid-column:1/-1}.dev-hub-grid .os-card{min-height:210px}}

/* OS navigation hierarchy and protected DEV */
.dev-access-button{width:100%;min-height:58px;border:1px solid #3d3d3d;background:#141414;color:#fff;padding:10px 12px;display:grid;grid-template-columns:28px 1fr;grid-template-rows:auto auto;text-align:left;align-items:center;cursor:pointer}.dev-access-button>span{grid-row:1/3;font-size:18px;color:#ed101b}.dev-access-button b{font:600 13px var(--font-heading);text-transform:uppercase}.dev-access-button small{color:#777;font:500 8px var(--font-mono);text-transform:uppercase}.dev-access-button.active{border-color:#356947;background:#101b13}.dev-access-button.active small{color:#86efac}
.os-user-menu{position:relative;border-top:1px solid #292929;padding-top:8px}.os-user-card{width:100%;display:grid;grid-template-columns:38px 1fr auto;gap:10px;align-items:center;padding:8px 4px;border:0;background:transparent;color:#fff;text-align:left;cursor:pointer}.os-user-card:hover,.os-user-card:focus-visible,.os-user-card[aria-expanded="true"]{background:#171717;outline:none}.os-user-avatar{width:38px;height:38px;border:1px solid #555;border-radius:50%;display:grid;place-items:center;font:600 10px var(--font-mono)}.os-user-copy{display:grid;gap:3px;min-width:0}.os-user-card b{font:600 14px var(--font-heading);text-transform:uppercase}.os-user-card small{color:#777;font:500 8px var(--font-mono);text-transform:uppercase}.os-user-more{color:#777;font:700 13px var(--font-mono);letter-spacing:.08em}.os-user-popover{position:absolute;z-index:70;left:0;right:0;bottom:calc(100% + 8px);border:1px solid #404040;background:#141414;box-shadow:0 18px 46px #000c;padding:8px}.os-user-popover>div{display:grid;gap:4px;padding:10px;border-bottom:1px solid #292929}.os-user-popover b{font:600 13px var(--font-heading);text-transform:uppercase}.os-user-popover span{overflow:hidden;text-overflow:ellipsis;color:#777;font:500 9px var(--font-mono)}.os-user-popover .logout-button{width:100%;padding:0 10px;text-align:left;color:#ff9ba1}.os-user-popover .logout-button:hover,.os-user-popover .logout-button:focus-visible{background:#271012;color:#fff;outline:none}.logout-button:disabled{opacity:.55;cursor:wait}
.dev-auth-dialog{width:min(760px,100%);background:#111;border:1px solid #444;padding:clamp(28px,5vw,54px);display:grid;gap:18px;position:relative}.dev-auth-dialog h2{font:650 clamp(38px,5vw,62px)/.96 var(--font-heading);text-transform:uppercase;margin:0}.dev-auth-dialog p{color:#aaa;font-size:17px;line-height:1.5;margin:0 0 4px}.dev-auth-dialog label{display:grid;gap:9px;color:#aaa;font:500 11px var(--font-mono);text-transform:uppercase}.dev-auth-dialog input{min-height:58px;background:#0a0a0a;border:1px solid #555;color:#fff;padding:0 16px;font-size:18px}.dev-auth-dialog input:focus{border-color:#ed101b;outline:3px solid #ed101b33}.interactive-mode-button{min-height:52px;border:1px solid #555;background:#151515;color:#fff;padding:0 20px;text-transform:uppercase;font:600 11px var(--font-mono);cursor:pointer;white-space:nowrap}.interactive-mode-button.active{background:#fff;color:#111;border-color:#fff}

/* Library editing actions */
.publication-actions a,.publication-actions button{min-height:38px;border:1px solid #444;background:#151515;color:#fff;text-align:left;padding:9px 10px;cursor:pointer;font:500 9px var(--font-mono);text-transform:uppercase;display:flex;align-items:center}.publication-actions a:hover,.publication-actions a:focus-visible,.publication-actions button:hover,.publication-actions button:focus-visible{border-color:#e00000}.publication-actions .danger{color:#ff8d95;border-color:#613035}

/* Showcase publishing toolbar */
.showcase-toolbar{position:sticky;top:0;z-index:30;margin:calc(-1 * clamp(24px,5vw,70px)) 0 38px;padding:14px 0;background:#080808f2;border-bottom:1px solid #333;backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:space-between;gap:18px}.showcase-toolbar>div:first-child{display:grid;gap:3px}.showcase-toolbar span{color:#ed101b;font:600 9px var(--font-mono);text-transform:uppercase}.showcase-toolbar b{color:#888;font:500 11px var(--font-mono)}.showcase-toolbar>div:last-child{display:flex;gap:8px}.responsive-actions{display:flex;gap:8px;align-items:center}.responsive-mode{min-height:46px;border:1px solid #555;background:#151515;color:#aaa;padding:0 16px;text-transform:uppercase;font:600 10px var(--font-mono);cursor:pointer}.responsive-mode.active{border-color:#356947;color:#86efac;background:#101b13}
.interactive-mode{min-height:46px;border:1px solid #555;background:#151515;color:#aaa;padding:0 16px;text-transform:uppercase;font:600 10px var(--font-mono);cursor:pointer;margin-left:8px}.interactive-mode.active{border-color:#356947;color:#86efac;background:#101b13}
.dev-toolbar{display:flex;align-items:center;gap:8px}.device-switcher{display:flex;align-items:center;gap:4px;padding:5px;border:1px solid #d9d9d6;border-radius:13px;background:#fff;box-shadow:0 8px 28px #0003}.device-button{width:44px;height:40px;border:0;border-radius:9px;background:transparent;color:#777;display:grid;place-items:center;cursor:pointer}.device-button svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.device-button:hover,.device-button:focus-visible{background:#efefed;color:#111;outline:none}.device-button.active{background:#171716;color:#fff}.device-button.active:hover{background:#171716;color:#fff}

/* Full-screen public web preview from DEV */
.dev-preview-overlay{position:fixed;inset:0;z-index:200;background:#050505;display:flex;flex-direction:column}
.dev-preview-toolbar{position:relative;flex:none;min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 18px;background:#f4f4f1;border-bottom:1px solid #d7d7d2;color:#666;font:600 11px var(--font-mono);text-transform:uppercase;letter-spacing:.05em}
.dev-preview-toolbar>.device-switcher{position:absolute;left:50%;top:10px;transform:translateX(-50%)}
.dev-preview-actions{display:flex;align-items:center;gap:8px;margin-left:auto}.dev-preview-actions .ghost-button{min-height:42px;border-color:#c9c9c4;background:#fff;color:#222}
.dev-preview-close{min-width:40px;min-height:40px;border:1px solid #555;background:#151515;color:#fff;cursor:pointer;font-size:18px}
.dev-preview-close:hover{border-color:#e00000;color:#e00000}
.dev-preview-stage{flex:1;min-height:0;display:flex;justify-content:center;align-items:center;overflow:auto;padding:28px;background:#d9d9d4;background-image:radial-gradient(#bdbdb7 1px,transparent 1px);background-size:18px 18px}
.dev-preview-frame{flex:none;background:#000;box-shadow:0 20px 70px #0004;transition:width .22s ease,height .22s ease,border-radius .22s ease}
.dev-preview-frame.desktop{width:100%;height:100%}
.dev-preview-frame.tablet{width:768px;height:min(1024px,calc(100vh - 108px));border:8px solid #292929;border-radius:18px;overflow:hidden}
.dev-preview-frame.mobile{width:390px;height:min(844px,calc(100vh - 108px));border:8px solid #292929;border-radius:26px;overflow:hidden}
.dev-preview-frame iframe{display:block;width:100%;height:100%;border:0;background:#000}
@media(max-width:760px){.dev-preview-toolbar{min-height:120px;padding:68px 12px 10px}.dev-preview-toolbar>span{font-size:9px}.dev-preview-toolbar>.device-switcher{top:10px}.dev-preview-actions .ghost-button{display:none}.dev-preview-stage{padding:10px}.dev-preview-frame.tablet,.dev-preview-frame.mobile{width:100%;max-width:390px;height:min(760px,calc(100vh - 150px))}}

/* Corporate login: no editorial photography */
.login-panel{width:min(900px,100%);min-height:560px;grid-template-columns:260px minmax(0,1fr)}.login-identity{background:#050505;padding:40px;justify-content:center;align-items:flex-start;gap:24px;border-right:1px solid #292929}.login-identity:after{display:none}.login-shell img{width:96px}.login-identity span{color:#777}.login-content{padding:clamp(40px,5vw,64px)}.login-shell h1{font-size:clamp(54px,5vw,70px)}.login-shell p{font-size:16px;max-width:46ch}.login-shell label{font-size:12px}.login-shell input{min-height:58px;font-size:18px;padding:0 18px}.login-shell .red-button{min-height:56px;font-size:14px}

/* Prevent iOS field zoom and keep focused fields readable */
.editor-form input,.editor-form textarea,.editor-form select,.slot-picker select,.settings-card input,.identity-form input,.user-dialog input,.user-dialog select,.interactive-copy input,.interactive-copy textarea{font-size:16px;scroll-margin-top:110px}

@media(max-width:760px){
  .os-mobile-header{justify-content:flex-start}.os-mobile-brand{width:auto;min-height:48px;border:0;background:transparent;color:#fff;padding:2px 8px 2px 0;cursor:pointer}.os-mobile-brand span{font-size:9px;text-transform:uppercase}.os-mobile-brand:focus-visible{outline:2px solid #ed101b;outline-offset:3px}.os-sidebar{top:66px}.os-sidebar .os-brand{display:none}.os-sidebar nav{margin-top:0}.sidebar-bottom{margin-top:auto}.dev-auth-backdrop{align-items:end;padding:0}.dev-auth-dialog{width:100%;max-height:92dvh;overflow:auto;border-width:1px 0 0;padding:28px 20px max(28px,env(safe-area-inset-bottom))}.dev-auth-dialog h2{font-size:38px}.dev-auth-dialog input{font-size:16px}.interactive-mode-button{width:100%;margin-top:16px;white-space:normal}.showcase-toolbar{top:66px;margin:-24px -18px 30px;padding:12px 18px;align-items:stretch;display:grid}.showcase-toolbar>div:first-child{display:none}.showcase-toolbar>div:last-child{display:grid;grid-template-columns:1fr 1fr}.showcase-toolbar .red-button,.showcase-toolbar .ghost-button{min-height:50px;padding:8px 10px;font-size:10px}.responsive-actions{display:grid}.login-panel{min-height:100dvh;grid-template-columns:1fr}.login-identity{min-height:auto;padding:28px 22px 18px;border-right:0;border-bottom:1px solid #292929;display:flex;flex-direction:row;align-items:center;justify-content:flex-start}.login-identity img{width:62px}.login-content{padding:30px 22px 42px}.login-shell h1{font-size:52px}.login-shell p{font-size:16px}.login-shell input{font-size:16px;min-height:58px}.publication-actions{grid-template-columns:repeat(2,1fr)}.publication-actions>b{grid-column:1/-1}.publication-actions a,.publication-actions button{min-height:44px}.os-main{scroll-padding-top:110px}
}

/* Final OS readability overrides */
.dev-access-button{min-height:64px}
.dev-access-button b{font-size:15px}
.dev-access-button small,.os-user-card small{font-size:10px;line-height:1.35}
.os-user-card{min-height:58px;padding:10px 8px}
.os-user-card b{font-size:16px}
.publication-actions a,.publication-actions button{min-height:46px;padding:11px 13px;font:600 12px/1.25 var(--font-mono);letter-spacing:.01em}

@media(max-width:820px){
  .publication-actions a,.publication-actions button{min-height:48px;font-size:12px;padding:11px 12px}
}

@media (min-width:761px) and (max-width:820px){
  .os-shell{display:block;padding-top:66px}
  .os-mobile-header{display:flex;position:fixed;z-index:60;left:0;right:0;top:0;height:66px;background:#0d0d0df2;border-bottom:1px solid #303030;align-items:center;padding:10px 16px}
  .os-mobile-brand{display:flex;align-items:center;gap:10px;min-height:48px;border:0;background:transparent;color:#fff;padding:2px 8px 2px 0;cursor:pointer;font:600 11px var(--font-mono);letter-spacing:.12em}
  .os-mobile-brand img{width:34px;max-height:43px}
  .os-mobile-brand span{font-size:9px;text-transform:uppercase}
  .os-nav-scrim{display:block;position:fixed;z-index:35;inset:66px 0 0;border:0;background:#000b}
  .os-sidebar{position:fixed;left:0;top:66px;bottom:0;width:min(90vw,360px);height:auto;padding:20px;transform:translateX(-105%);transition:transform .2s ease}
  .os-sidebar.is-open{transform:translateX(0)}
  .os-sidebar .os-brand{display:none}
  .os-sidebar nav{margin-top:0;gap:15px}
  .sidebar-bottom{margin-top:auto}
  .os-main{padding:34px 28px;scroll-padding-top:110px}
}

/* Public level rail: the connector follows the marker axis */
.magazine-shell .level-rail{
  gap:18px;
}
.magazine-shell .level-rail::before{
  top:-64px;
  bottom:-64px;
  left:auto;
  right:15.5px;
  width:1px;
  background:#c3c4bf;
  transform:none;
}
.magazine-shell .level-rail button{
  color:#c3c4bf;
  font-size:12px;
  font-weight:500;
  letter-spacing:.01em;
}
.magazine-shell .level-rail button i{
  width:16px;
  height:16px;
  border:1px solid currentColor;
  background:#111;
}
.magazine-shell .level-rail button:disabled{
  opacity:.88;
}
.magazine-shell .level-rail button.active{
  color:var(--brand-accent,#ed101b);
}
.magazine-shell .level-rail button.active i{
  background:var(--brand-accent,#ed101b);
  border-color:var(--brand-accent,#ed101b);
}
@media(max-width:760px){
  .magazine-shell .level-rail{top:39%;gap:14px}
  .magazine-shell .level-rail::before{top:-88px;bottom:-88px;right:9.5px}
  .magazine-shell .level-rail button{gap:8px;font-size:10px}
  .magazine-shell .level-rail button i{width:14px;height:14px}
}

/* Dedicated responsive viewport laboratory */
.responsive-lab{position:fixed;z-index:190;inset:0;background:#d9d9d4;color:#171716;display:grid;grid-template-rows:auto minmax(0,1fr)}
.responsive-lab-toolbar{position:relative;min-height:72px;padding:10px 14px;display:flex;align-items:center;justify-content:space-between;gap:10px;background:#f5f5f2;border-bottom:1px solid #d0d0cb}
.responsive-lab-title{display:flex;align-items:center;gap:8px}.responsive-lab-title a,.responsive-lab-actions>a{min-height:42px;padding:0 11px;border:1px solid #c9c9c4;border-radius:9px;background:#fff;display:flex;align-items:center;justify-content:center;font:600 10px var(--font-mono);text-transform:uppercase;white-space:nowrap}.responsive-lab-title b{font:600 15px var(--font-heading);text-transform:uppercase}
.apply-review-button{min-height:42px;padding:0 15px;border:1px solid #171716;border-radius:9px;background:#171716;color:#fff;cursor:pointer;font:700 10px var(--font-mono);text-transform:uppercase}.apply-review-button:disabled{border-color:#c9c9c4;background:#e4e4df;color:#888;cursor:default}
.save-graphic-profile-button{min-height:42px;padding:0 15px;border:1px solid #b42328;border-radius:9px;background:#fff;color:#9f1118;cursor:pointer;font:700 10px var(--font-mono);text-transform:uppercase}.save-graphic-profile-button:hover,.save-graphic-profile-button:focus-visible{background:#fff3f3;border-color:#ed101b;color:#ed101b}.save-graphic-profile-button:disabled{opacity:.55;cursor:wait}
.legal-action-editor{margin-top:28px;border-top:1px solid #3a3a3a;padding-top:28px}.legal-action-editor>header span{color:#ed101b;font:600 9px var(--font-mono);text-transform:uppercase}.legal-action-editor>header h2{margin:8px 0;font:600 30px var(--font-heading);text-transform:uppercase}.legal-action-editor>header p{color:#888}.legal-action-editor>div{display:grid;gap:8px;margin-top:18px}.legal-action-editor article{display:grid;grid-template-columns:1fr 1.3fr auto auto;gap:8px;align-items:end;border:1px solid #333;background:#101010;padding:12px}.legal-action-editor label{display:grid;gap:6px;color:#777;font:500 9px var(--font-mono);text-transform:uppercase}.legal-action-editor input{min-height:42px;border:1px solid #444;background:#080808;color:#fff;padding:0 12px}.legal-action-editor button{min-height:42px;border:1px solid #555;background:#151515;color:#fff;padding:0 14px;text-transform:uppercase;font:600 9px var(--font-mono);cursor:pointer}.legal-action-editor button.danger{color:#ff8d95;border-color:#613035}.legal-action-editor form{display:grid;grid-template-columns:1fr 1.3fr auto;gap:8px;margin-top:12px}.legal-action-editor form .red-button{background:#ed101b;border-color:#ed101b}
@media(max-width:760px){.legal-action-editor article,.legal-action-editor form{grid-template-columns:1fr}.legal-action-editor article button{width:100%}}
.responsive-device-switcher{position:absolute;left:50%;top:10px;transform:translateX(-50%);display:flex;gap:4px;padding:5px;border:1px solid #d4d4cf;border-radius:13px;background:#fff;box-shadow:0 8px 28px #0002}.responsive-device-switcher button{width:44px;height:40px;border:0;border-radius:9px;background:transparent;color:#777;display:grid;grid-template-rows:21px 9px;place-items:center;cursor:pointer;padding:4px 2px}.responsive-device-switcher button:hover,.responsive-device-switcher button:focus-visible{background:#ecece9;color:#111;outline:none}.responsive-device-switcher button.active{background:#171716;color:#fff}.responsive-device-switcher svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.responsive-device-switcher small{font:600 7px/1 var(--font-mono)}
.responsive-lab-actions{display:flex;align-items:center;gap:6px}.responsive-surface-switch{display:flex;padding:3px;border:1px solid #c9c9c4;border-radius:9px;background:#fff}.responsive-surface-switch button{min-width:46px;min-height:34px;border:0;border-radius:6px;background:transparent;color:#666;cursor:pointer;font:600 10px var(--font-mono);text-transform:uppercase}.responsive-surface-switch button.active{background:#171716;color:#fff}
.responsive-lab-meta{min-height:42px;padding:8px 18px;background:#ededE9;border-bottom:1px solid #c9c9c4;display:flex;align-items:center;justify-content:center;gap:20px;font:500 10px var(--font-mono);text-transform:uppercase;color:#666}.responsive-lab-meta b{color:#111}.responsive-lab-meta strong{color:#456624;text-transform:none}.responsive-lab-stage{position:relative;min-height:0;padding:24px;display:flex;align-items:center;justify-content:center;overflow:auto;background-image:radial-gradient(#b9b9b3 1px,transparent 1px);background-size:18px 18px}.responsive-frame-holder{position:relative;flex:none}.responsive-real-frame{position:absolute;left:0;top:0;transform-origin:top left;background:#000;box-shadow:0 22px 70px #0004;overflow:hidden}.responsive-real-frame iframe{display:block;width:100%;height:100%;border:0;background:#000}
@media(max-width:820px){.responsive-lab-toolbar{min-height:126px;padding:70px 12px 10px;display:grid;grid-template-columns:1fr;gap:8px}.responsive-lab-title{width:100%;display:grid;grid-template-columns:auto 1fr 1fr;gap:8px}.responsive-lab-title>a,.responsive-lab-title>button{min-width:0;padding:0 8px}.responsive-lab-title b{display:none}.responsive-device-switcher{top:10px}.responsive-lab-actions{width:100%;display:grid;grid-template-columns:1fr 1fr auto;gap:5px}.responsive-lab-actions>a{display:none}.responsive-text-toolbar{padding:7px 10px}.responsive-lab-meta{justify-content:flex-start;overflow:auto;white-space:nowrap}.responsive-lab-stage{padding:12px}}
@media(max-width:760px){.magazine-page .cta-stack{width:min(250px,calc(100vw - 80px))}}

/* Live identity preview */
.identity-panel-trigger{min-height:42px;padding:0 14px;border:1px solid #c9c9c4;border-radius:9px;background:#fff;color:#222;cursor:pointer;font:600 10px var(--font-mono);text-transform:uppercase}
.identity-panel-trigger:disabled{color:#999;background:#ecece8;cursor:wait}
.identity-preview-panel{position:fixed;z-index:220;right:0;top:0;bottom:0;width:min(680px,92vw);background:#fff;color:#151515;border-left:1px solid #d1d1cc;box-shadow:-24px 0 70px #0003;display:grid;grid-template-rows:auto auto auto minmax(0,1fr) auto;overflow:hidden}
.identity-preview-panel>header{display:flex;align-items:flex-start;justify-content:space-between;padding:28px 24px 18px}.identity-preview-panel>header span{color:#456624;font:700 12px var(--font-mono);text-transform:uppercase;letter-spacing:.08em}.identity-preview-panel h2{margin:4px 0 0;font:650 38px/1 var(--font-heading)}.identity-preview-panel>header button{width:52px;height:52px;border:0;border-radius:12px;background:#f0f0ed;color:#222;font-size:30px;cursor:pointer}
.identity-draft-note{margin:0 24px 18px;padding:16px;border:1px solid #aeb99f;border-radius:12px;background:#e5eadf;font-size:15px;line-height:1.5}.identity-preview-panel>nav{display:flex;gap:6px;padding:0 24px 18px;border-bottom:1px solid #deded9;overflow:auto}.identity-preview-panel>nav button{min-height:42px;border:0;border-radius:22px;background:transparent;color:#17122f;padding:0 16px;font-weight:700;cursor:pointer;white-space:nowrap}.identity-preview-panel>nav button.active{background:#1d1d1b;color:#fff}
.identity-preview-content{overflow:auto;padding:24px}.identity-preview-content section>p{margin:0 0 22px;color:#303046;font-size:16px;line-height:1.5}.identity-color-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.identity-color-grid label{border:1px solid #d7d7d1;border-radius:12px;padding:15px;display:grid;gap:12px}.identity-color-grid label>span{font-weight:700}.identity-color-grid label>div{display:flex;align-items:center;justify-content:space-between;gap:12px}.identity-color-grid input{width:56px;height:42px;border:0;background:transparent;padding:0}.identity-color-grid code{color:#555}
.identity-choice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.identity-choice-grid button{min-height:150px;border:1px solid #d7d7d1;border-radius:12px;background:#fff;color:#171717;padding:16px;display:grid;align-content:center;gap:8px;text-align:left;cursor:pointer}.identity-choice-grid button.active,.identity-density-grid button.active{border-color:#456624;background:#e5eadf}.identity-choice-grid b{font-size:40px}.identity-choice-grid span{font-size:13px}
.identity-logo-preview{min-height:230px;border:1px solid #d7d7d1;border-radius:12px;background:#111;display:grid;place-items:center;margin-bottom:14px}.identity-logo-preview img{max-width:180px;max-height:150px}.identity-file-button{min-height:48px;border:1px solid #bbb;border-radius:10px;display:flex;align-items:center;justify-content:center;font-weight:700;cursor:pointer}.identity-file-button input{position:absolute;opacity:0;pointer-events:none}
.identity-density-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.identity-density-grid button{min-height:190px;border:1px solid #d7d7d1;border-radius:12px;background:#fff;color:#171717;padding:16px;display:grid;align-content:center;gap:8px;text-align:left;cursor:pointer}.identity-density-grid i{height:70px;border-radius:8px;background:#f0f0ed;padding:18px 12px;display:grid;align-content:center;gap:5px}.identity-density-grid i span{height:5px;border-radius:3px;background:#17122f}.identity-density-grid i span:nth-child(2){width:70%}.identity-density-grid b{font-size:20px}.identity-density-grid small{color:#29223e}
.identity-preview-panel>footer{border-top:1px solid #deded9;padding:16px 24px 20px;display:grid;gap:10px}.identity-preview-panel>footer span{font-size:12px}.identity-preview-panel>footer button{min-height:50px;border:1px solid #d7d7d1;border-radius:10px;background:#f2f2ef;font-weight:700;cursor:pointer}

.magazine-shell{background:var(--brand-background,#000);color:var(--brand-foreground,#fff);font-family:var(--brand-heading,var(--font-body))}.magazine-shell .body-copy,.magazine-shell .scene-count,.magazine-shell .level-rail button:not(.active){color:var(--brand-muted,#c3c4bf)}.magazine-shell.density-compact .magazine-page{padding:clamp(20px,3vw,44px)}.magazine-shell.density-compact .scene-content{padding-bottom:16px}.magazine-shell.density-spacious .magazine-page{padding:clamp(40px,7vw,96px)}.magazine-shell.density-spacious .scene-content{padding-bottom:56px}
.os-shell{background:var(--os-preview-background,#080808);color:var(--os-preview-foreground,#f5f5f3);font-family:var(--os-preview-font,var(--font-body))}.os-shell .eyebrow,.os-shell .os-brand small,.os-shell .dev-access-button>span{color:var(--os-preview-accent,#ed101b)}.os-shell .os-sidebar nav a.active{border-color:var(--os-preview-accent,#ed101b)}.os-shell .os-title-row p,.os-shell .os-card p{color:var(--os-preview-muted,#999)}.os-shell.density-compact .os-main{padding:clamp(20px,3vw,42px)}.os-shell.density-spacious .os-main{padding:clamp(44px,7vw,92px)}
@media(max-width:760px){.identity-preview-panel{width:100vw}.identity-preview-panel>header{padding:20px 18px 14px}.identity-preview-panel h2{font-size:32px}.identity-draft-note{margin:0 18px 14px}.identity-preview-panel>nav{padding:0 18px 14px}.identity-preview-content{padding:20px 18px}.identity-color-grid,.identity-choice-grid,.identity-density-grid{grid-template-columns:1fr}.identity-choice-grid button,.identity-density-grid button{min-height:120px}.identity-preview-panel>footer{padding:12px 18px max(16px,env(safe-area-inset-bottom))}.responsive-lab-actions{gap:5px}.identity-panel-trigger{padding:0 9px;font-size:9px}}

/* Compact identity workspace beside the responsive canvas */
.identity-preview-panel{width:min(460px,92vw)}
.identity-preview-panel>header{padding:18px 18px 12px}.identity-preview-panel>header span{font-size:10px}.identity-preview-panel h2{font-size:30px}.identity-preview-panel>header button{width:42px;height:42px;font-size:25px}
.identity-draft-note{margin:0 18px 12px;padding:11px 13px;font-size:12px;line-height:1.4}.identity-preview-panel>nav{gap:3px;padding:0 18px 12px}.identity-preview-panel>nav button{min-height:36px;padding:0 11px;font-size:12px}.identity-preview-content{padding:16px 18px}.identity-preview-content section>p{margin-bottom:14px;font-size:13px}.identity-color-grid{gap:8px}.identity-color-grid label{padding:11px;gap:8px}.identity-color-grid label>div{justify-content:flex-start}.identity-color-grid .identity-color-picker{width:38px;height:38px;border-radius:50%;overflow:hidden;flex:none}.identity-color-picker::-webkit-color-swatch-wrapper{padding:0}.identity-color-picker::-webkit-color-swatch{border:1px solid #aaa;border-radius:50%}.identity-color-grid .identity-color-value{width:100%;height:38px;border:1px solid #d1d1cc;border-radius:8px;background:#fff;color:#222;padding:0 9px;font:600 12px var(--font-mono);text-transform:uppercase}
.identity-font-stack{display:grid;gap:9px}.identity-font-control{border:1px solid #d7d7d1;border-radius:10px;padding:11px;display:grid;grid-template-columns:minmax(88px,1fr) 46px;gap:9px;align-items:center}.identity-font-control>div{display:grid;gap:2px}.identity-font-control>div span{font-weight:800}.identity-font-control>div small{color:#666}.identity-font-control>b{font-size:28px;text-align:center}.identity-font-control>label:not(.identity-font-file){grid-column:1/-1;display:grid;gap:4px;color:#666;font-size:9px;text-transform:uppercase}.identity-font-control>label input{height:38px;border:1px solid #d1d1cc;border-radius:7px;padding:0 9px}.identity-font-file{grid-column:1/-1;min-height:38px;border:1px solid #bbb;border-radius:7px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;cursor:pointer}.identity-font-file input{position:absolute;opacity:0;pointer-events:none}
.identity-logo-preview{min-height:160px}.identity-density-grid{gap:8px}.identity-density-grid button{min-height:145px;padding:11px}.identity-density-grid i{height:52px;padding:12px 9px}.identity-density-grid b{font-size:16px}.identity-preview-panel>footer{padding:10px 18px 14px}.identity-preview-panel>footer button{min-height:42px}
.responsive-lab-toolbar,.responsive-lab-meta,.responsive-lab-stage{transition:margin-right .22s ease}
@media(min-width:1100px){.responsive-lab.identity-open .responsive-lab-toolbar,.responsive-lab.identity-open .responsive-lab-meta,.responsive-lab.identity-open .responsive-lab-stage{margin-right:460px}}

/* Direct copy editing inside the real responsive viewport */
.text-editor-trigger{min-height:42px;padding:0 14px;border:1px solid #c9c9c4;border-radius:9px;background:#fff;color:#222;cursor:pointer;font:600 10px var(--font-mono);text-transform:uppercase}.text-editor-trigger.active{border-color:#171716;background:#171716;color:#fff}
.responsive-lab.text-editing{grid-template-rows:auto auto minmax(0,1fr)}
.responsive-text-toolbar{min-height:64px;padding:8px 12px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));align-items:stretch;gap:8px;overflow:auto;background:#f7f7f4;border-bottom:1px solid #c9c9c4;color:#222;font:600 10px var(--font-mono);text-transform:uppercase;transition:margin-right .22s ease}.responsive-control-group{min-width:0;display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;padding:8px 10px;border:1px solid #d7d7d1;border-radius:10px;background:#fff}.responsive-control-group>header{min-width:118px;display:grid;gap:2px;padding-right:10px;border-right:1px solid #d7d7d1}.responsive-control-group>header span{color:#777;font-size:8px;letter-spacing:.1em}.responsive-control-group>header b{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:700 11px var(--font-heading);text-transform:none}.responsive-control-group>header small{color:#456624;font-size:8px}.responsive-control-group>label{display:flex;align-items:center;gap:6px;white-space:nowrap}.responsive-text-toolbar input[type="number"]{width:58px;height:34px;border:1px solid #c9c9c4;border-radius:7px;padding:0 7px;font:600 11px var(--font-mono)}.responsive-text-toolbar input[type="range"]{width:78px;accent-color:#171716}.responsive-text-toolbar output{min-width:34px;color:#666}.responsive-text-hint{align-self:center;color:#666;text-transform:none;font-size:12px}.composition-controls{background:#ecece7;border-color:#d0d0c9}.composition-controls>header{border-color:#c7c7c0}
.responsive-frame-navigation{position:absolute;z-index:5;inset:0;pointer-events:none}.responsive-frame-nav{position:absolute;top:50%;width:50px;height:64px;border:1px solid #bdbdb7;border-radius:12px;background:#f7f7f2e8;color:#171716;box-shadow:0 8px 24px #0002;transform:translateY(-50%);font-size:25px;cursor:pointer;pointer-events:auto}.responsive-frame-nav.previous{left:-66px}.responsive-frame-nav.next{right:-66px}.responsive-frame-nav:hover,.responsive-frame-nav:focus-visible{border-color:#171716;background:#fff;outline:none}.review-status-toast{position:fixed;z-index:230;left:50%;top:82px;max-width:min(620px,90vw);transform:translateX(-50%);padding:10px 16px;border:1px solid #9eaa90;border-radius:9px;background:#e5eadf;color:#294016;font:600 11px var(--font-mono);box-shadow:0 8px 26px #0002}
.preview-text-editing [data-preview-edit-key]{cursor:text;outline:1px dashed #e00000aa;outline-offset:5px}.preview-text-editing [data-preview-element]:hover{outline:1px dashed #fff;outline-offset:4px}.preview-text-editing [data-preview-selected="true"]{outline:2px solid var(--brand-accent,#e00000)!important;outline-offset:6px}.preview-text-editing [data-preview-edit-key]:focus{outline:2px solid var(--brand-accent,#e00000);outline-offset:6px;background:#0007}.preview-text-editing .cta-stack a{cursor:default}.preview-text-editing .magazine-row{scroll-behavior:smooth}
.preview-text-editing .magazine-page[data-preview-selected="true"]{outline:0!important;box-shadow:inset 0 0 0 3px var(--brand-accent,#e00000)}
@media(min-width:1100px){.responsive-lab.identity-open .responsive-text-toolbar{margin-right:460px;grid-template-columns:1fr}.responsive-lab.identity-open .responsive-lab-toolbar{min-height:124px;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;align-content:center}.responsive-lab.identity-open .responsive-lab-title{grid-column:1;grid-row:1}.responsive-lab.identity-open .responsive-lab-actions{grid-column:2;grid-row:1}.responsive-lab.identity-open .responsive-device-switcher{position:static;grid-column:1/-1;grid-row:2;justify-self:center;transform:none}}
@media(max-width:1099px){.responsive-text-toolbar{justify-content:flex-start;overflow-x:auto}.responsive-text-toolbar>label{flex:none}}
@media(max-width:820px){.responsive-lab-toolbar{padding-top:70px;flex-wrap:wrap}.responsive-lab-actions{width:100%;justify-content:center}.responsive-text-toolbar{padding:7px 10px}.responsive-text-toolbar>b{flex:none}.responsive-text-hint{min-width:210px}.text-editor-trigger,.identity-panel-trigger{min-height:38px}}

/* Responsive OS composition controls used by Editorial Review */
@media(min-width:821px){
  .os-shell{grid-template-columns:var(--os-sidebar-width,250px) minmax(0,1fr)}
  .os-shell .os-sidebar{padding-left:var(--os-sidebar-padding,22px);padding-right:var(--os-sidebar-padding,22px);transform:translate(var(--os-sidebar-x,0),var(--os-sidebar-y,0)) scale(var(--os-sidebar-scale,1));transform-origin:left top}
  .os-shell .os-sidebar nav{width:min(100%,var(--os-menu-width,100%));transform:translate(var(--os-menu-x,0),var(--os-menu-y,0)) scale(var(--os-menu-scale,1));transform-origin:left top}
  .os-shell .os-nav-group{gap:var(--os-menu-gap,3px)}
  .os-shell .os-main{width:min(100%,var(--os-content-width,100%));padding:var(--os-content-padding,50px);transform:translate(var(--os-content-x,0),var(--os-content-y,0)) scale(var(--os-content-scale,1));transform-origin:left top}
}

/* Persisted editorial composition, scoped by the active responsive profile */
.magazine-shell .floating-brand{transform:translate(var(--template-brand-x,0),var(--template-brand-y,0)) scale(var(--template-brand-scale,1));transform-origin:top left}
.magazine-shell .level-rail{transform:translate(var(--template-menu-x,0),calc(-50% + var(--template-menu-y,0))) scale(var(--template-menu-scale,1));transform-origin:right center}
.magazine-shell .magazine-page{overflow:hidden}
.magazine-shell .magazine-page::before{background-position:var(--template-background-x,50%) var(--template-background-y,50%);transform:scale(var(--template-background-zoom,1));transform-origin:var(--template-background-x,50%) var(--template-background-y,50%)}
.magazine-shell .scene-content{width:min(520px,var(--template-content-width,100%),calc(100% - 70px));transform:translate(var(--template-content-x,0),var(--template-content-y,0)) scale(var(--template-content-scale,1));transform-origin:left bottom}
.magazine-shell .publication-headline{width:min(100%,var(--template-headline-width,100%));transform:translate(var(--template-headline-x,0),var(--template-headline-y,0)) scale(var(--template-headline-scale,1));transform-origin:left bottom;margin-bottom:clamp(8px,1.2vh,16px)}
.magazine-shell .publication-title-group{width:min(390px,100%,var(--template-title-width,100%));transform:translate(var(--template-title-x,0),var(--template-title-y,0)) scale(var(--template-title-scale,1));transform-origin:left bottom}
.magazine-shell .publication-title-image{max-width:100%}
.magazine-shell .body-copy{width:min(42ch,var(--template-body-width,100%));height:var(--template-body-height,auto);max-width:100%;overflow-wrap:anywhere;word-break:break-word;white-space:pre-wrap;tab-size:4;overflow:visible;transform:translate(var(--template-body-x,0),var(--template-body-y,0)) scale(var(--template-body-scale,1));transform-origin:left top}
.magazine-shell [contenteditable="plaintext-only"],.os-shell [contenteditable="plaintext-only"]{white-space:pre-wrap;tab-size:4;caret-color:var(--brand-accent,#ed101b)}
.magazine-shell .cta-stack{width:min(290px,var(--template-buttons-width,100%));transform:translate(var(--template-buttons-x,0),var(--template-buttons-y,0)) scale(var(--template-buttons-scale,1));transform-origin:left top}
@media(max-width:760px){.magazine-shell .scene-content{width:min(calc(100% - 30px),var(--template-content-width,100%))}.magazine-shell .publication-title-group{width:min(75%,var(--template-title-width,100%))}.magazine-shell .cta-stack{width:min(250px,calc(100vw - 80px),var(--template-buttons-width,100%))}}

/* MacBook 14: 1512px de ancho con la altura útil reducida por el navegador. */
@media(min-width:1200px) and (max-height:900px){
  .magazine-page{padding:clamp(30px,3.6vw,54px)}
  .floating-brand{left:clamp(30px,3.6vw,54px);top:clamp(24px,3.2vw,44px);width:clamp(62px,5.4vw,82px)}
  .scene-content{width:min(460px,var(--template-content-width,100%),calc(100% - 90px));padding-bottom:clamp(8px,1.5vh,18px)}
  .publication-title-group{gap:8px}
  .publication-headline{font-size:clamp(18px,1.55vw,24px)}
  .publication-title-image{max-height:min(22vh,190px)}
  .body-copy{margin-top:14px;font-size:clamp(14px,1.05vw,16px);line-height:1.34}
  .cta-stack{margin-top:18px}
  .cta-stack a{min-height:40px;font-size:12px}
  .scene-count{margin-top:12px}
}

/* Three-level type hierarchy in live previews */
.magazine-shell{font-family:var(--brand-body,var(--font-body))}.magazine-shell .magazine-page{background-color:var(--brand-background,#000)}.magazine-shell h1,.magazine-shell h2,.magazine-shell .publication-title-image,.magazine-shell .cta-stack a,.magazine-shell .level-rail button{font-family:var(--brand-heading,var(--font-heading))}.magazine-shell .kicker,.magazine-shell .scene-count,.magazine-shell .public-footer{font-family:var(--brand-auxiliary,var(--font-mono))}
.os-shell{font-family:var(--os-preview-body,var(--font-body))}.os-shell h1,.os-shell h2,.os-shell h3,.os-shell .red-button,.os-shell .os-user-card b{font-family:var(--os-preview-heading,var(--font-heading))}.os-shell .eyebrow,.os-shell small,.os-shell .os-nav-group h2,.os-shell .publication-actions a,.os-shell .publication-actions button{font-family:var(--os-preview-auxiliary,var(--font-mono))}

/* DEV is a focused, full-screen workspace. */
.os-shell.dev-workspace-shell{display:block;padding:0;background:#080808}.dev-workspace-shell>.os-main{width:100%;min-height:100svh;padding:clamp(24px,4vw,64px);transform:none}.dev-mobile-unavailable{display:none}.dev-desktop-content{display:block}.dev-back-link,.dev-page-header>a{display:inline-flex;min-height:42px;align-items:center;margin-bottom:28px;border:1px solid #414141;padding:0 14px;color:#fff;text-transform:uppercase;font:600 10px var(--font-mono)}.dev-back-link:hover,.dev-back-link:focus-visible,.dev-page-header>a:hover,.dev-page-header>a:focus-visible{border-color:#ed101b}.dev-home-page .dev-hub-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:1180px}.dev-home-page .os-card{min-height:250px}.dev-page-header{display:grid;grid-template-columns:auto 1fr;gap:24px;align-items:start;margin-bottom:36px}.dev-page-header h1{margin:2px 0 8px}.dev-page-header p{color:#999}.dev-settings-form{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:18px;max-width:1180px}.dev-settings-form>section{border:1px solid #333;background:#101010;padding:24px}.dev-settings-form>section>span{color:#ed101b;font:600 10px var(--font-mono)}.dev-settings-form h2{font:600 28px var(--font-heading);text-transform:uppercase}.dev-settings-form label{display:grid;gap:8px;margin-top:16px;color:#aaa;font:500 11px var(--font-mono);text-transform:uppercase}.dev-settings-form input,.dev-settings-form textarea{width:100%;border:1px solid #444;background:#080808;color:#fff;padding:14px;font-size:16px}.payment-connection{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #333;padding-top:18px}.payment-connection p{color:#888;max-width:48ch}.payment-connection strong{height:max-content;border:1px solid #7c5d18;background:#2e240c;color:#fbbf24;padding:8px 10px;font:600 9px var(--font-mono);text-transform:uppercase;white-space:nowrap}.action-catalog{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-width:1180px}.action-catalog article{display:grid;grid-template-columns:86px 1fr;gap:20px;align-items:center;border:1px solid #333;background:#101010;padding:18px}.action-catalog article>button{min-height:58px;border:1px solid #555;background:#171717;color:#aaa;font:600 9px var(--font-mono);text-transform:uppercase}.action-catalog article>button i{display:block;width:9px;height:9px;margin:0 auto 7px;border-radius:50%;background:#777}.action-catalog article>button.active{color:#9aefb5;border-color:#356947}.action-catalog article>button.active i{background:#4ade80}.action-catalog h2{margin:0;font:600 24px var(--font-heading);text-transform:uppercase}.action-catalog span{color:#ed101b;font:600 9px var(--font-mono);text-transform:uppercase}.action-catalog p{margin:8px 0 0;color:#888}.draft-save-state{align-self:center;border:1px solid #444;padding:9px 11px;color:#aaa;font:600 9px var(--font-mono);text-transform:uppercase}.draft-save-state.saving{color:#fbbf24;border-color:#7c5d18}.draft-save-state.saved{color:#86efac;border-color:#356947}.publication-status{display:flex!important;align-items:center;gap:8px}.publication-status i{width:9px;height:9px;border-radius:50%;background:#777;box-shadow:0 0 0 3px #7772}.publication-status.ready{color:#86efac}.publication-status.ready i{background:#4ade80;box-shadow:0 0 0 3px #4ade8022}.publication-status.draft{color:#fbbf24}.publication-status.draft i{background:#f59e0b;box-shadow:0 0 0 3px #f59e0b22}.publication-draft{border-color:#574319!important}.access-role-summary{margin-top:42px;border-top:1px solid #333;padding-top:30px}.access-role-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:18px}.access-role-grid article{border:1px solid #333;background:#101010;padding:16px}.access-role-grid h2{font:600 18px var(--font-heading);text-transform:uppercase}.access-role-grid p,.access-role-grid li{color:#888;font-size:12px;line-height:1.45}.access-role-grid ul{padding-left:16px}
@media(max-width:1050px){.access-role-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dev-settings-form{grid-template-columns:1fr}.dev-home-page .dev-hub-grid{grid-template-columns:1fr 1fr}.dev-workspace-shell>.os-main{padding:28px}}
@media(max-width:760px){.os-shell.dev-workspace-shell{padding:0}.dev-workspace-shell>.os-main{padding:0;display:grid;place-items:center}.dev-desktop-content{display:none}.dev-mobile-unavailable{min-height:100svh;display:grid;align-content:center;justify-items:start;padding:28px;max-width:520px}.dev-mobile-unavailable b{font:600 44px/1 var(--font-heading);text-transform:uppercase}.dev-mobile-unavailable p{color:#aaa;font-size:16px;line-height:1.5}.dev-mobile-unavailable a{margin-top:12px;border:1px solid #555;padding:14px 18px;text-transform:uppercase;font:600 11px var(--font-mono)}.action-catalog{grid-template-columns:1fr}.dev-settings-form{grid-template-columns:1fr}.access-role-grid{grid-template-columns:1fr}}

/* Centro DEV: una sola pantalla, jerarquía ligera y tarjetas sin relleno. */
.dev-workspace-shell>.os-main:has(.dev-home-page){height:100svh;min-height:0;overflow:hidden}
.dev-home-page{height:100%;min-height:0}
.dev-home-page .dev-desktop-content{height:100%;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);gap:clamp(22px,3vh,36px)}
.dev-home-header{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:18px}
.dev-home-header .dev-back-link{width:34px;height:34px;min-height:34px;margin:0;padding:0;border:0;background:transparent;font-size:25px;color:#aaa}
.dev-home-header .dev-back-link:hover,.dev-home-header .dev-back-link:focus-visible{border:0;color:#fff;outline:1px solid #555;outline-offset:5px}
.dev-home-header h1{margin:4px 0 0;font-size:clamp(42px,5vw,72px);line-height:.9}
.dev-home-header .dev-toolbar{align-self:center}
.dev-home-header .dev-toolbar{display:flex;align-items:center;gap:22px;padding:0;border:0;background:transparent}
.dev-home-header .dev-toolbar .interactive-mode-button,.dev-home-header .dev-toolbar .ghost-button{width:auto;min-height:32px;margin:0;padding:0;border:0;background:transparent;white-space:nowrap;font:600 10px var(--font-mono);letter-spacing:.03em;text-transform:uppercase}
.dev-home-header .dev-toolbar .interactive-mode-button{display:flex;align-items:center;gap:9px;color:#777}
.dev-home-header .dev-toolbar .interactive-mode-button i{width:8px;height:8px;border:1px solid #777;border-radius:50%;background:transparent}
.dev-home-header .dev-toolbar .interactive-mode-button:hover,.dev-home-header .dev-toolbar .interactive-mode-button:focus-visible{color:#fff;outline:none}
.dev-home-header .dev-toolbar .interactive-mode-button.active{background:transparent;color:#fff}
.dev-home-header .dev-toolbar .interactive-mode-button.active i{border-color:#5fd47c;background:#5fd47c;box-shadow:0 0 0 3px #5fd47c22}
.dev-home-header .dev-toolbar .ghost-button{display:flex;align-items:center;gap:9px;color:#ed101b}
.dev-home-header .dev-toolbar .ghost-button span{font-size:16px;transition:transform .15s ease}
.dev-home-header .dev-toolbar .ghost-button:hover,.dev-home-header .dev-toolbar .ghost-button:focus-visible{background:transparent;color:#ff3d46;outline:none}
.dev-home-header .dev-toolbar .ghost-button:hover span,.dev-home-header .dev-toolbar .ghost-button:focus-visible span{transform:translateX(3px)}
.dev-home-page .dev-hub-grid{width:100%;max-width:none;height:100%;min-height:0;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:12px}
.dev-home-page .os-card{min-height:0;padding:clamp(18px,2.2vw,30px);background:transparent;border-color:#303030;border-top-color:#ed101b;display:flex;flex-direction:column;justify-content:center}
.dev-home-page .os-card h2{margin:clamp(14px,2vh,24px) 0 8px;font-size:clamp(24px,2.2vw,38px)}
.dev-home-page .os-card p{margin:0 0 14px;max-width:60ch;color:#999}
.dev-home-page .os-card>a{margin-top:auto}
@media(max-height:760px) and (min-width:761px){.dev-workspace-shell>.os-main{padding:20px 28px}.dev-home-page .dev-desktop-content{gap:16px}.dev-home-header h1{font-size:44px}.dev-home-page .os-card{padding:16px 20px}.dev-home-page .os-card h2{margin:8px 0 5px;font-size:25px}.dev-home-page .os-card p{font-size:13px;line-height:1.35}}
@media(max-width:1050px) and (min-width:761px){.dev-home-header{grid-template-columns:44px minmax(0,1fr)}.dev-home-header .dev-toolbar{grid-column:1/-1;justify-self:end;margin-top:-48px}.dev-home-header h1{font-size:48px}.dev-home-page .os-card p{font-size:13px}}

.responsive-text-toolbar select{max-width:210px;height:34px;border:1px solid #c9c9c4;border-radius:7px;padding:0 28px 0 9px;background:#fff;color:#171716;font:600 10px var(--font-mono)}

/* Acceso público: entrada ligera y wizard de marca. */
.public-account-entry{position:fixed;z-index:45;top:clamp(18px,3vw,34px);right:clamp(18px,3vw,42px);display:flex;align-items:center;gap:4px;color:var(--brand-foreground,#fff)}
.public-account-entry>button{min-height:42px;border:0;background:#050505b8;color:inherit;padding:0 13px;text-transform:uppercase;font:600 10px var(--brand-auxiliary,var(--font-mono));letter-spacing:.05em;cursor:pointer;backdrop-filter:blur(8px)}
.public-account-entry>button:hover,.public-account-entry>button:focus-visible{background:#171717;outline:1px solid var(--brand-accent,#ed101b);outline-offset:0}
.public-account-entry .register-trigger,.public-profile-trigger{display:flex;align-items:center;gap:8px}.public-account-entry svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.5}
.public-floating-header{position:fixed;z-index:48;top:0;left:0;right:0;height:clamp(74px,8vw,96px);display:flex;align-items:center;justify-content:space-between;padding:0 clamp(18px,3vw,42px);color:var(--brand-foreground,#fff);pointer-events:none}
.public-floating-header::before{content:"";position:absolute;z-index:-1;inset:0 0 -38px;background:linear-gradient(180deg,rgba(0,0,0,.48),rgba(0,0,0,.16) 54%,transparent);opacity:.72;pointer-events:none}
.public-floating-header button{color:inherit}.public-floating-header>button,.public-header-actions{pointer-events:auto}
.public-menu-trigger,.public-cart-trigger{width:44px;height:44px;border:0;background:rgba(5,5,5,.12);display:grid;place-items:center;cursor:pointer;backdrop-filter:blur(2px);transition:background .18s ease,color .18s ease}
.public-menu-trigger i{width:25px;display:grid;gap:5px}.public-menu-trigger span{display:block;height:1px;background:currentColor;transition:transform .18s ease,width .18s ease}.public-menu-trigger span:nth-child(2){width:19px}.public-menu-trigger[aria-expanded="true"] span:nth-child(1){transform:translateY(6px) rotate(45deg)}.public-menu-trigger[aria-expanded="true"] span:nth-child(2){width:0}.public-menu-trigger[aria-expanded="true"] span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
.public-header-actions{display:flex;align-items:center;gap:2px}.public-floating-header .public-account-entry{position:static}.public-floating-header .public-account-entry>button{background:rgba(5,5,5,.12);backdrop-filter:blur(2px)}
.public-cart-trigger{position:relative}.public-cart-trigger svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.35}.public-cart-trigger b{position:absolute;right:2px;top:3px;min-width:15px;height:15px;display:grid;place-items:center;border-radius:9px;background:#050505;color:#fff;font:600 8px var(--brand-auxiliary,var(--font-mono))}
.public-menu-trigger:hover,.public-menu-trigger:focus-visible,.public-cart-trigger:hover,.public-cart-trigger:focus-visible{background:rgba(20,20,20,.74);color:var(--brand-accent,#ed101b);outline:1px solid currentColor;outline-offset:0}
.public-menu-scrim{position:fixed;z-index:46;inset:0;border:0;background:linear-gradient(90deg,rgba(0,0,0,.46),transparent 52%);backdrop-filter:blur(1px);cursor:default}
.public-floating-menu{position:fixed;z-index:47;left:clamp(18px,3vw,42px);top:clamp(72px,8vw,94px);width:min(310px,calc(100vw - 36px));padding:22px;background:rgba(5,5,5,.86);border-left:1px solid rgba(255,255,255,.22);box-shadow:18px 28px 70px rgba(0,0,0,.3);backdrop-filter:blur(18px);display:grid}.public-floating-menu>span{margin-bottom:14px;color:#8c8c88;text-transform:uppercase;font:600 8px var(--brand-auxiliary,var(--font-mono));letter-spacing:.15em}.public-floating-menu button{min-height:48px;border:0;border-top:1px solid rgba(255,255,255,.1);background:transparent;color:#aaa;padding:0 3px;display:flex;align-items:center;justify-content:space-between;text-transform:uppercase;font:500 15px var(--brand-heading,var(--font-heading));cursor:pointer}.public-floating-menu button:hover,.public-floating-menu button:focus-visible,.public-floating-menu button.active{color:var(--brand-accent,#ed101b);outline:none}.public-floating-menu button:disabled{opacity:.3;cursor:default}.public-floating-menu button i{font-style:normal;font-family:var(--brand-auxiliary,var(--font-mono))}
.magazine-shell .floating-brand{top:clamp(92px,9vw,122px)}
.public-auth-backdrop{position:fixed;z-index:300;inset:0;display:grid;place-items:center;padding:20px;background:#000d;backdrop-filter:blur(12px)}
.public-auth-dialog{width:min(920px,100%);height:min(680px,calc(100dvh - 40px));display:grid;grid-template-columns:minmax(260px,.72fr) minmax(380px,1.28fr);overflow:hidden;border:1px solid #3b3b3b;background:#0b0b0b;color:#f7f7f2;box-shadow:0 40px 140px #000;outline:none}
.public-auth-dialog>aside{position:relative;isolation:isolate;padding:34px;display:flex;flex-direction:column;justify-content:space-between;background:url('/images/cuerpo-de-guardia-mobile-v1.jpg') center/cover}
.public-auth-dialog>aside::after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(#0005,#000 92%)}.public-auth-dialog>aside img{width:82px}.public-auth-dialog>aside span{color:#ed101b;font:600 10px var(--font-mono);text-transform:uppercase;letter-spacing:.16em}.public-auth-dialog>aside p{max-width:25ch;color:#bbb;line-height:1.55}
.public-auth-dialog>section{position:relative;align-self:center;padding:clamp(30px,5vw,66px)}.public-auth-close{position:absolute;right:20px;top:-28px;width:40px;height:40px;border:0;background:transparent;color:#888;font-size:28px;cursor:pointer}.public-auth-close:hover{color:#fff}
.public-auth-dialog header>span,.public-auth-account>span{color:#ed101b;font:600 9px var(--font-mono);text-transform:uppercase;letter-spacing:.12em}.public-auth-dialog h2{margin:10px 0 8px;font:650 clamp(42px,5vw,68px)/.9 var(--font-heading);text-transform:uppercase}.public-auth-dialog header p,.public-auth-account p{margin:0 0 24px;color:#999;line-height:1.5}
.public-auth-modes{display:grid;grid-template-columns:1fr 1fr;margin:26px 0 12px;border-bottom:1px solid #333}.public-auth-modes button{min-height:42px;border:0;border-bottom:2px solid transparent;background:transparent;color:#777;text-transform:uppercase;font:600 10px var(--font-mono);cursor:pointer}.public-auth-modes button.active{border-color:#ed101b;color:#fff}
.public-auth-providers{display:grid;gap:8px}.public-auth-providers button{min-height:52px;border:1px solid #333;background:#111;color:#fff;padding:0 16px;display:grid;grid-template-columns:28px 1fr;align-items:center;text-align:left;cursor:pointer}.public-auth-providers button:hover,.public-auth-providers button:focus-visible{border-color:#777;background:#171717}.public-auth-providers b{font:600 17px var(--font-body);text-align:center}.public-auth-providers span{font:500 13px var(--font-body)}
.public-auth-separator{height:28px;display:flex;align-items:center;gap:12px;color:#666;font:500 10px var(--font-mono)}.public-auth-separator::before,.public-auth-separator::after{content:"";height:1px;flex:1;background:#292929}.public-auth-email{width:100%;min-height:48px;border:1px solid #666;background:transparent;color:#fff;text-transform:uppercase;font:600 10px var(--font-mono);cursor:pointer}.public-auth-email:hover{border-color:#ed101b}
.public-auth-email-form{display:grid;gap:14px;margin-top:28px}.public-auth-email-form label{display:grid;gap:8px;color:#999;text-transform:uppercase;font:600 10px var(--font-mono)}.public-auth-email-form input{min-height:58px;border:1px solid #555;background:#111;color:#fff;padding:0 16px;font-size:17px}.public-auth-email-form input:focus{border-color:#ed101b;outline:none}.public-auth-primary{min-height:52px;border:1px solid #ed101b;background:#ed101b;color:#fff;padding:0 18px;text-transform:uppercase;font:600 11px var(--font-mono);cursor:pointer}.public-auth-back{min-height:40px;border:0;background:transparent;color:#777;text-align:left;font:500 10px var(--font-mono);text-transform:uppercase;cursor:pointer}
.public-auth-sent{display:grid;gap:12px;margin-top:35px}.public-auth-sent i{width:48px;height:48px;border:1px solid #4ade80;border-radius:50%;display:grid;place-items:center;color:#4ade80;font-style:normal}.public-auth-sent b{font:600 28px var(--font-heading);text-transform:uppercase}.public-auth-sent p{color:#999;line-height:1.5}.public-auth-error{margin-top:14px;border-left:3px solid #ed101b;background:#24090b;padding:12px;color:#ff9ca1;font-size:13px}.public-auth-dialog section>small{display:block;margin-top:18px;color:#555;font-size:10px}.public-auth-account{display:grid;gap:12px}
@media(max-width:760px){.public-account-entry{top:14px;right:12px}.public-account-entry>button:first-child{display:none}.public-account-entry>button{min-height:40px;padding:0 10px}.public-floating-header{height:68px;padding:0 12px}.public-menu-trigger,.public-cart-trigger{width:40px;height:40px}.public-header-actions{gap:0}.public-floating-header .public-account-entry{top:auto;right:auto}.public-floating-header .public-account-entry .register-trigger span,.public-floating-header .public-profile-trigger span{display:none}.public-floating-header .public-account-entry>button{width:40px;padding:0;justify-content:center}.public-floating-menu{top:66px;left:12px;width:min(290px,calc(100vw - 24px))}.magazine-shell .floating-brand{left:20px;top:80px;width:66px}.public-auth-backdrop{align-items:end;padding:0}.public-auth-dialog{width:100%;height:min(90dvh,720px);grid-template-columns:1fr;border-width:1px 0 0}.public-auth-dialog>aside{min-height:105px;padding:20px;display:flex;flex-direction:row;align-items:flex-end}.public-auth-dialog>aside img{width:54px}.public-auth-dialog>aside p{display:none}.public-auth-dialog>section{align-self:start;padding:28px 20px max(28px,env(safe-area-inset-bottom));overflow:auto}.public-auth-close{top:8px;right:12px}.public-auth-dialog h2{font-size:46px}.public-auth-dialog section>small{margin-bottom:16px}}

/* Barra de estado por publicación y pie legal público. */
.magazine-level{position:relative}
.publication-progress{position:absolute;z-index:16;left:50%;bottom:52px;width:min(var(--template-progress-width,72%),calc(100% - 40px));display:grid;grid-template-columns:repeat(var(--progress-count,1),minmax(0,1fr));gap:2px;background:#ffffff12;pointer-events:none;transform:translate(calc(-50% + var(--template-progress-x,0)),var(--template-progress-y,0)) scale(var(--template-progress-scale,1));transform-origin:center}
.publication-progress span{position:relative;height:2px;background:#d8d8d866;overflow:visible}.publication-progress span::after{content:"";position:absolute;inset:0;background:var(--progress-color,var(--brand-accent,#ed101b));opacity:var(--progress-opacity,1);transform:scaleX(0);transform-origin:left center}.publication-progress span.active::after{animation:publication-progress-fill var(--progress-duration,5000ms) linear forwards}.publication-progress.fill-total span.filled::after{transform:scaleX(1)}.publication-progress.effect-glow span.active::after{box-shadow:0 0 var(--progress-glow,8px) var(--progress-color,var(--brand-accent,#ed101b))}.publication-progress.effect-reflection span.active::after{background:linear-gradient(100deg,var(--progress-color,var(--brand-accent,#ed101b)) 0 68%,#fff 78%,var(--progress-color,var(--brand-accent,#ed101b)) 88%);background-size:220% 100%;animation:publication-progress-fill var(--progress-duration,5000ms) linear forwards,publication-progress-reflection 1.2s ease-out 1}.publication-progress.effect-pulse span.active::after{box-shadow:0 0 var(--progress-glow,8px) var(--progress-color,var(--brand-accent,#ed101b));animation:publication-progress-fill var(--progress-duration,5000ms) linear forwards,publication-progress-pulse 1.6s ease-in-out infinite}.preview-text-editing .publication-progress span.active::after{animation-play-state:paused;transform:scaleX(1)}
@keyframes publication-progress-fill{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes publication-progress-reflection{from{background-position:180% 0}to{background-position:-20% 0}}
@keyframes publication-progress-pulse{0%,100%{filter:brightness(.9)}50%{filter:brightness(1.55)}}
.preview-text-editing .publication-progress{pointer-events:auto;cursor:pointer;padding:8px 0;margin-bottom:-8px}
.public-legal-footer{position:fixed;z-index:15;left:50%;bottom:12px;width:min(var(--template-legal-width,88%),calc(100% - 40px));display:flex;justify-content:space-between;align-items:center;gap:18px;color:#c4c4c0;text-shadow:0 1px 12px #000;font:500 9px var(--font-mono);text-transform:uppercase;letter-spacing:.04em;transform:translate(calc(-50% + var(--template-legal-x,0)),var(--template-legal-y,0)) scale(var(--template-legal-scale,1));transform-origin:center}.public-legal-footer a{color:inherit;text-decoration:none;white-space:nowrap}.public-legal-footer a:hover,.public-legal-footer a:focus-visible{color:#fff}.public-empty .public-legal-footer{color:#777;text-shadow:none}
.slot-add{min-height:120px;border:1px dashed #555;background:transparent;color:#888;padding:15px;text-transform:uppercase;font:600 11px var(--font-mono);cursor:pointer}.slot-add:hover,.slot-add:focus-visible{border-color:#ed101b;color:#fff;outline:none}.slot-add:disabled{opacity:.5;cursor:wait}
@media(max-width:760px){.publication-progress{left:50%;bottom:54px;width:min(var(--template-progress-width,82%),calc(100% - 40px))}.publication-progress span{height:2px}.public-legal-footer{left:50%;bottom:10px;width:min(var(--template-legal-width,88%),calc(100% - 40px));display:flex;justify-content:space-between;gap:8px;font-size:8px}.public-legal-footer a:first-child{margin-right:auto}.public-legal-footer a:nth-child(2){display:none}}

/* The incomplete-publication dialog is portaled outside .os-shell, so its
   primary action must override the legacy public-site button token. */
.oseed-incomplete-dialog-backdrop .incomplete-dialog .red-button {
  border-color: #0071e3 !important;
  background: #0071e3 !important;
  color: #fff !important;
}
.oseed-incomplete-dialog-backdrop .incomplete-dialog .red-button:hover,
.oseed-incomplete-dialog-backdrop .incomplete-dialog .red-button:focus-visible {
  background: #0062c4 !important;
}

/* Manipulación directa del laboratorio editorial. El marco vive dentro del
   iframe para conservar coordenadas reales aunque el dispositivo esté escalado. */
.preview-transform-overlay {
  position: fixed;
  z-index: 10000;
  border: 2px solid #0071e3;
  border-radius: 4px;
  box-shadow: 0 0 0 1px rgb(255 255 255 / 75%);
  pointer-events: none;
}
.preview-transform-overlay[hidden] { display: none; }
.preview-transform-overlay button {
  position: absolute;
  pointer-events: auto;
  border: 2px solid #fff;
  background: #0071e3;
  color: #fff;
  box-shadow: 0 2px 8px rgb(0 0 0 / 30%);
  touch-action: none;
  user-select: none;
}
.preview-move-handle {
  left: 50%;
  top: -34px;
  min-width: 66px;
  min-height: 28px;
  border-radius: 999px;
  padding: 0 10px;
  transform: translateX(-50%);
  font: 700 10px/1 -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", sans-serif;
  text-transform: uppercase;
  letter-spacing: .04em;
  cursor: grab;
}
.preview-move-handle:active { cursor: grabbing; }
.preview-scale-handle {
  right: -11px;
  bottom: -11px;
  width: 22px;
  height: 22px;
  border-radius: 6px;
  padding: 0;
  font: 700 12px/1 sans-serif;
  cursor: nwse-resize;
}
.preview-transform-label {
  position: absolute;
  left: 0;
  bottom: calc(100% + 7px);
  max-width: min(240px, 70vw);
  overflow: hidden;
  color: #fff;
  text-overflow: ellipsis;
  text-shadow: 0 1px 4px #000;
  white-space: nowrap;
  font: 650 10px/1 -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", sans-serif;
}
.preview-transform-overlay[data-transforming] { border-style: dashed; }
.preview-transform-overlay button:focus-visible {
  outline: 3px solid #82bfff;
  outline-offset: 2px;
}
/* El fondo ocupa toda la pantalla del iframe. Sus mandos no pueden salir
   fuera del lienzo, porque quedarían recortados y no se podrían arrastrar. */
.preview-transform-overlay[data-element="background"] .preview-move-handle {
  top: 12px;
  left: 50%;
}
.preview-transform-overlay[data-element="background"] .preview-scale-handle {
  right: 12px;
  bottom: 12px;
}
.preview-transform-overlay[data-element="background"] .preview-transform-label {
  top: 18px;
  left: 14px;
  transform: none;
  background: rgb(0 0 0 / 56%);
  padding: 4px 6px;
  border-radius: 5px;
}
@media (pointer: coarse) {
  .preview-move-handle { top: -44px; min-height: 38px; min-width: 80px; }
  .preview-scale-handle { right: -15px; bottom: -15px; width: 30px; height: 30px; }
}

/* OSeed · cabecera e inspectores del laboratorio editorial */
.responsive-lab {
  --lab-accent: #0071e3;
  --lab-accent-hover: #0062c4;
  --lab-paper: #fff;
  --lab-canvas: #f5f5f7;
  --lab-soft: #eef5ff;
  --lab-line: #d2d2d7;
  --lab-ink: #1d1d1f;
  --lab-muted: #6e6e73;
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", sans-serif;
}
.responsive-lab-toolbar {
  min-height: 64px;
  padding: 10px 16px;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  background: rgb(245 245 247 / 96%);
  border-color: var(--lab-line);
  backdrop-filter: blur(18px);
}
.responsive-lab-actions > a,
.responsive-lab-actions > button {
  min-height: 42px;
  border: 1px solid var(--lab-line);
  border-radius: 12px;
  background: var(--lab-paper);
  color: var(--lab-ink);
  padding: 0 13px;
  font: 650 11px/1.2 -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", sans-serif;
  letter-spacing: 0;
  text-transform: none;
  white-space: nowrap;
}
.responsive-lab-actions { min-width: 0; justify-content: flex-end; flex-wrap: nowrap; gap: 7px; }
.responsive-lab-actions > a,
.responsive-lab-actions > button { padding-inline: 10px; }
.responsive-lab-actions > button { cursor: pointer; }
.responsive-lab .apply-review-button:not(:disabled),
.responsive-lab .text-editor-trigger.active {
  border-color: var(--lab-accent);
  background: var(--lab-accent);
  color: #fff;
}
.responsive-lab .apply-review-button:not(:disabled):hover,
.responsive-lab .text-editor-trigger.active:hover { background: var(--lab-accent-hover); }
.responsive-lab .apply-review-button:disabled {
  border-color: var(--lab-line);
  background: #e8e8ed;
  color: #8e8e93;
}
.responsive-lab .save-graphic-profile-button {
  border-color: #b8d7f6;
  background: var(--lab-soft);
  color: #0057a8;
}
.responsive-lab .save-graphic-profile-button:hover,
.responsive-lab .save-graphic-profile-button:focus-visible { border-color: var(--lab-accent); background: #e2f0ff; color: #004f99; }
.responsive-lab .identity-panel-trigger { border-color: var(--lab-line); border-radius: 12px; color: var(--lab-ink); font: 650 11px/1.2 -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", sans-serif; text-transform: none; }
.responsive-device-switcher {
  position: static;
  justify-self: center;
  transform: none;
  border-color: var(--lab-line);
  border-radius: 14px;
  box-shadow: 0 6px 22px rgb(29 29 31 / 10%);
}
.responsive-device-switcher button { border-radius: 10px; color: var(--lab-muted); }
.responsive-device-switcher button:hover,
.responsive-device-switcher button:focus-visible { background: var(--lab-soft); color: var(--lab-accent); }
.responsive-device-switcher button.active { background: var(--lab-accent); color: #fff; }
.responsive-surface-switch { border-color: var(--lab-line); border-radius: 12px; }
.responsive-surface-switch button { border-radius: 9px; color: var(--lab-muted); font: 700 10px/1 -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", sans-serif; }
.responsive-surface-switch button.active { background: var(--lab-accent); color: #fff; }
.responsive-text-toolbar {
  max-height: min(42dvh, 390px);
  border-color: var(--lab-line);
  background: var(--lab-canvas);
  color: var(--lab-ink);
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", sans-serif;
  text-transform: none;
}
.responsive-control-group,
.composition-controls { border-color: var(--lab-line); border-radius: 14px; background: var(--lab-paper); }
.responsive-control-group > header { border-color: var(--lab-line); }
.responsive-control-group > header span { color: var(--lab-accent); }
.responsive-control-group > header b { font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", sans-serif; }
.responsive-control-group > header small { color: #237b38; }
.responsive-text-toolbar input[type="number"],
.responsive-text-toolbar select { border-color: var(--lab-line); border-radius: 9px; background: #fff; color: var(--lab-ink); }
.responsive-text-toolbar input[type="range"] { accent-color: var(--lab-accent); }
.responsive-text-toolbar output,
.responsive-text-hint { color: var(--lab-muted); }
.responsive-frame-nav { border-color: var(--lab-line); background: rgb(255 255 255 / 94%); color: var(--lab-accent); }
.responsive-frame-nav:hover,
.responsive-frame-nav:focus-visible { border-color: var(--lab-accent); color: var(--lab-accent-hover); }
.review-status-toast { border-color: #a9cef3; background: #eef6ff; color: #174f84; }
.identity-preview-panel > header span { color: var(--lab-accent); }
.identity-draft-note { border-color: #b8d7f6; background: var(--lab-soft); color: #174f84; }
.identity-preview-panel > nav button.active { background: var(--lab-accent); color: #fff; }
.identity-choice-grid button.active,
.identity-density-grid button.active { border-color: var(--lab-accent); background: var(--lab-soft); }

@media (max-width: 1180px) {
  .responsive-lab-toolbar { grid-template-columns: 1fr; grid-template-rows: auto auto; }
  .responsive-device-switcher { justify-self: center; }
  .responsive-lab-actions { justify-self: center; }
}
@media (max-width: 820px) {
  .responsive-lab-toolbar {
    min-height: 0;
    padding: 10px 12px 12px;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto auto;
    gap: 9px;
  }
  .responsive-device-switcher { grid-column: 1; grid-row: 1; max-width: 100%; overflow-x: auto; }
  .responsive-lab-actions { grid-column: 1; grid-row: 2; width: 100%; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
  .responsive-lab-actions > button,
  .responsive-lab-actions .identity-panel-trigger { min-width: 0; min-height: 44px; padding: 6px 9px; white-space: normal; }
  .responsive-lab-actions .responsive-surface-switch { min-width: 0; grid-column: 1 / -1; }
  .responsive-lab-actions .responsive-surface-switch button { min-width: 0; width: 50%; }
  .responsive-lab-actions > a { display: none; }
  .responsive-text-toolbar { max-height: 43dvh; padding: 9px; grid-template-columns: minmax(0, 1fr); overflow: auto; }
  .responsive-control-group { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: center; gap: 9px; }
  .responsive-control-group > header { grid-column: 1 / -1; padding: 0 0 8px; border-right: 0; border-bottom: 1px solid var(--lab-line); }
  .responsive-control-group > label { min-width: 0; justify-content: space-between; }
  .responsive-control-group > label:has(select),
  .motion-controls > label:first-of-type { grid-column: 1 / -1; }
  .responsive-text-toolbar input[type="range"] { width: min(100%, 110px); }
  .responsive-text-hint { min-width: 0; padding: 8px; text-align: center; }
}
@media (max-width: 430px) {
  .responsive-device-switcher button { width: 42px; }
  .responsive-lab-actions > button { font-size: 11px; }
}

/* The administration UI is always OSeed. Initiative themes only affect the
   public preview rendered inside the review stage. */
.web-manager-embedded {
  --os-preview-accent: #0071e3;
  --os-preview-background: #f2f2f7;
  --os-preview-foreground: #1d1d1f;
  --os-preview-muted: #6e6e73;
}
.web-manager-embedded .eyebrow,
.web-manager-embedded .os-brand small,
.web-manager-embedded .dev-access-button > span { color: #0071e3 !important; }
.web-manager-embedded .os-page h1,
.web-manager-embedded .os-page h2,
.web-manager-embedded .os-page h3 { text-transform: none; }

/* El administrador nunca hereda el tema negro/rojo de una iniciativa. Los
   colores de marca solo se aplican dentro de la previsualización pública. */
.web-manager-embedded .red-button,
.web-manager-embedded .editor-form button[type="submit"],
.web-manager-embedded .publication-filters button.active,
.web-manager-embedded .slot-row article.filled,
.web-manager-embedded .interactive-button.active {
  border-color: #0071e3 !important;
  background: #0071e3 !important;
  color: #fff !important;
}
.web-manager-embedded .eyebrow,
.web-manager-embedded .publication-table span,
.web-manager-embedded .empty-state a,
.web-manager-embedded .workflow i,
.web-manager-embedded .legal-action-editor > header span,
.web-manager-embedded .action-catalog span { color: #0071e3 !important; }
.web-manager-embedded .editor-form input:focus,
.web-manager-embedded .editor-form textarea:focus,
.web-manager-embedded .editor-form select:focus,
.web-manager-embedded .slot-picker select:focus { border-color: #0071e3; box-shadow: 0 0 0 3px rgb(0 113 227 / 16%); }
.preview-text-editing [data-preview-edit-key] { outline-color: rgb(0 113 227 / 60%); }
.preview-text-editing [data-preview-selected="true"],
.preview-text-editing [data-preview-edit-key]:focus,
.preview-text-editing .magazine-page[data-preview-selected="true"] { outline-color: var(--brand-accent, #0071e3) !important; }

/* Superficie real de la imagen: permite seleccionarla y mover su encuadre
   sobre el propio lienzo. Un margen de recorte hace perceptibles Fondo X/Y. */
.publication-background-target { position:absolute; z-index:0; inset:0; border:0; background:transparent; pointer-events:none; }
.preview-text-editing .publication-background-target { pointer-events:auto; cursor:move; }
.magazine-shell .magazine-page::before { background-size:120% auto; }
@media(max-width:760px){.magazine-shell .magazine-page::before{background-size:auto 120%;}}

/* El inspector no roba altura al lienzo: flota junto al formato que se revisa.
   Cada control conserva su agrupación y puede desplazarse dentro del panel. */
.responsive-lab.text-editing { grid-template-rows: auto minmax(0, 1fr); }
.responsive-lab.text-editing .responsive-text-toolbar {
  position: absolute;
  z-index: 24;
  top: 76px;
  right: 16px;
  width: min(440px, calc(100% - 32px));
  max-height: calc(100dvh - 92px);
  grid-template-columns: minmax(0, 1fr);
  overflow: auto;
  padding: 10px;
  border: 1px solid var(--lab-line);
  border-radius: 14px;
  box-shadow: 0 16px 42px rgb(29 29 31 / 16%);
}
.responsive-lab.text-editing .responsive-control-group { min-width: 0; }
.responsive-lab.text-editing .responsive-lab-stage { padding-top: 18px; }
@media (max-width: 820px) {
  .responsive-lab.text-editing .responsive-text-toolbar {
    top: auto;
    right: 8px;
    bottom: 8px;
    left: 8px;
    width: auto;
    max-height: min(46dvh, 420px);
    border-radius: 14px;
  }
}

/* El formato elegido siempre se contempla completo. En pantallas estrechas
   el lienzo puede hacerse más pequeño, pero no se ancla a un borde. */
.responsive-lab-stage { min-width: 0; min-height: 0; }
.responsive-frame-holder { margin: auto; }

/* Ritmo y contención del editor: ninguna pantalla queda pegada al borde ni
   permite que un campo se salga de su tarjeta al reducir el viewport. */
.web-manager-embedded .os-page {
  width: min(1180px, calc(100% - clamp(32px, 6vw, 72px)));
  margin-inline: auto;
  padding-block: clamp(32px, 4vw, 64px) 48px;
}
.web-manager-embedded .showcase-toolbar { margin: 0 0 24px; }
.web-manager-embedded .legal-action-editor article,
.web-manager-embedded .legal-action-editor form {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr) auto auto;
}
.web-manager-embedded .legal-action-editor form { grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr) auto; }
.web-manager-embedded .legal-action-editor label,
.web-manager-embedded .legal-action-editor input { min-width: 0; }
.web-manager-embedded .legal-action-editor input { width: 100%; }
@media (max-width: 980px) {
  .web-manager-embedded .legal-action-editor article,
  .web-manager-embedded .legal-action-editor form { grid-template-columns:repeat(2, minmax(0, 1fr)); }
  .web-manager-embedded .legal-action-editor article button,
  .web-manager-embedded .legal-action-editor form button { width:100%; }
}
@media (max-width: 560px) {
  .web-manager-embedded .os-page { width: min(100% - 28px, 1180px); padding-block:28px 36px; }
  .web-manager-embedded .legal-action-editor article,
  .web-manager-embedded .legal-action-editor form { grid-template-columns:1fr; }
}
