:root{--navy:#111e2e;--aqua:#05b8e8;--ink:#1c3044;--muted:#7b8a9a;--border:#e6ebf0;--bg:#f5f7fb}*{box-sizing:border-box}html{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}body{margin:0;background:var(--bg);color:var(--ink);font-size:14px}a{color:#077ea9;text-decoration:none}a:hover{text-decoration:underline}button,input,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.45}h1{font-size:clamp(25px,3vw,39px);letter-spacing:-1.2px;margin:6px 0 10px}h1 span,.brand em{color:var(--aqua);font-style:normal}h2{font-size:18px;margin:0 0 18px}.muted{color:var(--muted);font-size:13px;line-height:1.6}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:850;color:#0aa0ca}.sidebar{width:226px;background:var(--navy);color:white;position:fixed;top:0;bottom:0;left:0;padding:28px 15px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:10px;color:white;margin-bottom:44px}.brand:hover{text-decoration:none}.brand strong{font-size:15px}.brand small{display:block;color:#abc0cf;font-size:9px;letter-spacing:1px;margin-top:3px}.logo{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:var(--aqua);color:#063046;font-size:24px}.nav-caption{color:#68869c;font-size:10px;font-weight:800;letter-spacing:1.8px}.sidebar nav{display:grid;gap:4px}.sidebar nav a{padding:12px;color:#b2c3d0;font-weight:650;border-radius:9px}.sidebar nav a:hover{color:white;background:#243a50;text-decoration:none}.logout{margin-top:auto}.logout button{border:0;color:#aec4d3;background:transparent;padding:0}.shell{margin-left:226px;min-height:100vh}.topbar{height:69px;background:#fff;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 36px;font-size:10px;letter-spacing:1.4px;font-weight:750;color:#64758a}.pill{letter-spacing:normal;padding:8px 12px;color:#0d89b2;background:#e8f8fe;border-radius:25px}main{max-width:1430px;margin:auto;padding:34px 36px 60px}.heading{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-bottom:30px}.heading .muted{margin:0}.btn{display:inline-flex;justify-content:center;align-items:center;border-radius:9px;padding:11px 16px;min-height:40px;border:1px solid transparent;font-size:12px;font-weight:800;white-space:nowrap}.btn.primary{background:var(--aqua);color:#062a3a}.btn.secondary{background:#f0f7fb;border-color:#deedf5;color:#2e6c88}.btn:hover{filter:brightness(.95);text-decoration:none}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin:25px 0 36px}.metric{padding:20px;border:1px solid var(--border);background:white;border-radius:14px;min-width:0}.metric small{display:block;color:#64768a;font-weight:700}.metric strong{display:block;font-size:36px;margin:8px 0;color:#15283a}.metric span{font-size:10px;color:#a0adba}.section-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:30px 0 16px}.section-head h2{margin:0}.section-head a{font-weight:750;font-size:12px}.source-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.source{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--border);padding:15px 17px;border-radius:12px;min-width:0}.source strong{font-size:12px;display:block}.source small{display:block;color:#9aa8b5;margin-top:3px}.source-icon{display:grid;place-items:center;background:#eaf8fd;color:#008fbd;width:37px;height:37px;font-size:22px;border-radius:9px;flex:0 0 auto}.source .badge{margin-left:auto}.badge{display:inline-flex;border-radius:20px;background:#edf1f5;color:#617285;font-size:10px;font-weight:850;padding:6px 10px;white-space:nowrap}.badge.ok{background:#e4f8ed;color:#207950}.badge.warn{background:#fff4e2;color:#99670a}.badge.error{background:#ffeceb;color:#ad3b35}.badge.info{background:#e2f7fe;color:#168ab1}.table-card,.card{background:white;border-radius:14px;border:1px solid var(--border);overflow:hidden}.card{padding:23px;margin-bottom:20px}.filters{display:flex;flex-wrap:wrap;gap:5px;border-bottom:1px solid var(--border);padding:13px}.filters a{padding:7px 11px;border-radius:7px;color:#687b8e;font-weight:700;font-size:11px}.filters .current{background:#182d41;color:white}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:770px}th{text-align:left;color:#8997a8;background:#fbfcfd;font-size:10px;letter-spacing:1px;padding:16px}td{padding:16px;border-top:1px solid #edf1f5;color:#677789;font-size:12px}td strong{color:#24394d;display:block;max-width:350px}td small{display:block;color:#9eacb9;margin-top:5px}.circle-link{display:grid;place-items:center;width:30px;height:30px;border-radius:8px;background:#e9f7fd}.empty{text-align:center;color:#91a0b0;padding:30px}.run{padding:13px 16px;display:flex;gap:12px;border-bottom:1px solid var(--border);color:#6e7f90}.run:last-child{border:0}.run span{font-weight:850;color:#14a88a}.run small{margin-left:auto;color:#9faab4}.source-row{padding:16px 0;display:flex;justify-content:space-between;gap:15px;align-items:center;border-bottom:1px solid var(--border)}.source-row:last-of-type{border-bottom:none}.source-row strong{display:block;font-size:13px}.source-row small{display:block;overflow-wrap:anywhere;color:#8290a0;margin-top:3px;font-size:11px}.actions{display:flex;gap:5px;flex-wrap:wrap}.actions form{margin:0}.actions .btn{min-height:34px;font-size:11px;padding:7px 11px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;max-width:900px;margin-top:20px}.form-grid label,.login label{display:grid;gap:7px;font-weight:750;color:#44576c;font-size:12px}.form-grid label.wide{grid-column:1/-1}input,select{min-width:0;width:100%;padding:12px;border:1px solid #dfe7ee;border-radius:8px;background:white;color:#263b50}input:focus-visible,select:focus-visible,button:focus-visible,a:focus-visible{outline:3px solid var(--aqua);outline-offset:2px}.notice{padding:13px 17px;margin-bottom:17px;border-radius:9px;background:#effaff;border:1px solid #bce9f7;color:#215b75}.error-text{color:#b64343;font-size:11px;max-width:650px;overflow-wrap:anywhere}.two-col{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,.8fr);gap:20px}.two-col .card{overflow-wrap:anywhere}.two-col form+.card{margin-top:14px}.two-col .card form:not(.form-grid){margin:12px 0}.login{max-width:420px;margin:13vh auto 0;background:white;padding:36px;border:1px solid var(--border);border-radius:18px;box-shadow:0 20px 70px rgba(0,0,0,.12)}.login h1{font-size:34px}.login .logo{margin-bottom:24px}.login form{display:grid;gap:12px;margin-top:24px}.login .btn{width:100%}.shell:has(.login){margin-left:0;background:linear-gradient(130deg,#112336,#28506b);min-height:100vh;padding:1px}.shell:has(.login) .topbar{display:none}.setting-row{padding:15px 0;border-bottom:1px solid var(--border);display:flex;justify-content:space-between}.setting-row:last-of-type{border:0}
@media(max-width:1100px){.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.two-col{grid-template-columns:1fr}.source-row{align-items:flex-start;flex-direction:column}}
@media(max-width:700px){.sidebar{position:sticky;top:0;width:100%;height:auto;padding:12px;flex-direction:row;z-index:10;align-items:center}.sidebar .brand{margin:0}.sidebar .brand small,.sidebar .nav-caption,.sidebar .logout{display:none}.sidebar nav{display:flex;margin-left:auto}.sidebar nav a{font-size:0;padding:10px}.sidebar nav a::first-letter{font-size:20px}.shell{margin:0}.topbar{padding:0 16px;height:44px}main{padding:22px 14px 50px}.source-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.form-grid label.wide{grid-column:1}.metric{padding:15px}.metric strong{font-size:29px}.metric span{font-size:9px}.heading h1{font-size:28px}.login{margin:8vh 12px 0;padding:25px}}


/* Difusión: calendario editorial y selección de actividades */
.editorial-calendar{display:grid;gap:5px}
.calendar-weekdays,.calendar-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.calendar-weekdays{font-weight:800;font-size:11px;text-align:center;color:var(--muted);padding:8px 0}
.calendar-day{border:1px solid var(--border);border-radius:8px;min-height:74px;padding:7px;min-width:0;background:#fff;display:flex;flex-direction:column;gap:4px}
.calendar-day.outside{opacity:.35;background:#f5f7fb}
.calendar-day.today{outline:2px solid var(--aqua);outline-offset:-2px}
.calendar-day strong{font-size:12px;color:var(--ink)}
.calendar-day small{font-size:10px;color:var(--muted)}
.calendar-draft{font-size:10px;border-radius:5px;background:#e7f7fd;color:#087ca3;padding:3px 4px;overflow-wrap:anywhere}
.editorial-event-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:20px 0}
.editorial-event{display:flex;gap:12px;align-items:start;border:1px solid var(--border);border-radius:10px;padding:14px;cursor:pointer;min-width:0}
.editorial-event:has(input:checked){border-color:var(--aqua);background:#f0faff}
.editorial-event input{width:18px;height:18px;flex:0 0 18px;margin:2px 0 0}
.editorial-event span{min-width:0}
.editorial-event strong{display:block;font-size:13px;overflow-wrap:anywhere}
.editorial-event small{display:block;color:var(--muted);margin-top:5px}
textarea{font:inherit;width:100%;border-radius:8px;border:1px solid #dfe7ee;padding:12px;resize:vertical;min-height:180px;color:var(--ink)}
@media(max-width:800px){.editorial-event-grid{grid-template-columns:1fr}.calendar-day{min-height:60px;padding:4px}.calendar-day small,.calendar-draft{font-size:8px}}


/* Navegación, taller manual y automatización: diseño compacto sin dependencias */
.sidebar{padding-top:26px}
.sidebar-groups{display:grid;align-content:start;gap:23px}
.sidebar-group .nav-caption{margin:0 0 8px 10px}
.sidebar nav a{display:flex;align-items:center;gap:8px;line-height:1.25}
.sidebar nav a.active{color:#fff;background:#294256;border-left:3px solid var(--aqua);padding-left:9px}
.workspace-head{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;margin:0 0 26px}
.workspace-head .eyebrow{margin:0}
.workspace-head h1{margin:7px 0 0}
.workspace-tabs{display:flex;align-items:center;gap:6px;overflow-x:auto;margin:0 0 26px;padding:0 2px 2px;border-bottom:1px solid var(--border);scrollbar-width:thin}
.workspace-tabs a{display:inline-flex;white-space:nowrap;padding:12px 18px;color:#62748a;font-size:13px;font-weight:750;border-bottom:3px solid transparent}
.workspace-tabs a:hover{color:#087fa6;text-decoration:none}
.workspace-tabs a.is-active{color:#0b779d;border-color:var(--aqua)}
.workspace-section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:22px 0 14px}
.workspace-section-title h2{margin:0;font-size:17px}
.workspace-section-title a:not(.btn){font-weight:750;font-size:12px}
.automation-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.automation-tile{display:flex;flex-direction:column;gap:12px;min-width:0;padding:21px;background:white;border:1px solid var(--border);border-radius:14px;color:var(--ink);transition:border-color .15s}
.automation-tile:hover{border-color:#72cce7;text-decoration:none}
.automation-tile strong{font-size:17px;line-height:1.35;overflow-wrap:anywhere}
.tile-eyebrow{font-size:10px;letter-spacing:1.2px;font-weight:850;color:#0b8cb4}
.tile-time{font-size:24px;font-weight:750;letter-spacing:-.7px}
.tile-time small{font-size:12px;font-weight:600;color:var(--muted);letter-spacing:0}
.tile-foot{display:flex;gap:5px;flex-wrap:wrap;margin-top:auto}
.compact-card{padding:9px 21px}
.activity-line{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:15px 0;border-bottom:1px solid var(--border);min-width:0}
.activity-line:last-child{border-bottom:none}
.activity-line>span:first-child{min-width:0;flex:1}
.activity-line strong{display:block;font-size:13px;font-weight:750;overflow-wrap:anywhere;line-height:1.45}
.activity-line small{display:block;color:var(--muted);margin-top:4px;font-size:11px;overflow-wrap:anywhere}
.activity-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}
.activity-actions form{margin:0}
.activity-actions .btn{padding:8px 11px;min-height:34px}
.empty-note{margin:14px 0;color:var(--muted);font-size:13px}
.automation-form{display:grid;gap:17px}
.settings-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}
.check-line{display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-size:13px;font-weight:700;color:#344b60}
.check-line input{width:18px;height:18px;min-width:18px;margin:0;accent-color:#068db9}
.check-line.prominent{font-weight:800;font-size:14px}
.compact-select{display:inline-flex;align-items:center;gap:12px;font-size:12px;font-weight:750}
.compact-select select{width:78px}
.story-time-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}
.story-time-field{display:grid;gap:9px;min-width:0;background:#f8fbfd;border:1px solid var(--border);border-radius:12px;padding:15px}
.story-time-field small{font-size:10px;font-weight:850;letter-spacing:1px;color:#1683a9}
.story-time-field strong{font-size:14px}
.story-time-field input{background:white}
.platform-choices{display:flex;gap:22px;flex-wrap:wrap;align-items:center}
.form-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;border-top:1px solid var(--border);padding-top:16px;margin-top:12px}
.form-footer .actions{margin-left:auto}
.story-preview-grid{display:flex;gap:14px;overflow-x:auto;padding:4px 2px 16px;scrollbar-width:thin}
.story-preview-card{background:#fff;border:1px solid var(--border);border-radius:13px;overflow:hidden;flex:0 0 210px}
.story-preview-card img{display:block;width:100%;aspect-ratio:9/16;object-fit:cover;background:#e8eef3}
.story-preview-card>div{padding:12px}
.story-preview-card strong,.story-preview-card span,.story-preview-card small{display:block;line-height:1.4}
.story-preview-card small{font-size:11px;color:#0780a7;margin-bottom:5px}
.story-preview-card strong{font-size:12px}
.story-preview-card span{font-size:11px;color:var(--muted);margin-top:6px}
.feed-schedule-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
.feed-schedule-card{border:1px solid var(--border);background:#fafeff;border-radius:12px;padding:19px;min-width:0}
.feed-schedule-card>strong{display:block;font-size:16px;margin-bottom:18px}
.feed-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.feed-fields label{display:grid;gap:7px;font-size:12px;color:#526579;font-weight:750;min-width:0}
.feed-schedule-card .platform-choices{margin-top:18px}
.preview-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:22px 0 15px;border-top:1px solid var(--border);padding-top:19px}
.preview-header strong,.preview-header small{display:block}
.preview-header strong{font-size:15px}
.preview-header small{font-size:11px;margin-top:5px;color:var(--muted)}
.carousel-preview-strip{display:flex;gap:10px;overflow-x:auto;padding-bottom:10px}
.carousel-preview-strip img{width:145px;height:auto;align-self:flex-start;aspect-ratio:4/5;object-fit:contain;background:#edf3f6;border-radius:9px}
.disclosure{border-top:1px solid var(--border);padding:13px 0}
.disclosure>summary{font-weight:750;cursor:pointer;list-style-position:inside;color:#33495d}
.disclosure[open]>summary{margin-bottom:13px}
.card.disclosure{padding:19px 22px;border-top:1px solid var(--border)}
.text-preview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.text-preview-grid section{min-width:0;padding:13px;border:1px solid var(--border);border-radius:10px}
.text-preview-grid pre{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;font-size:12px;line-height:1.65;max-height:320px;overflow:auto}
.manual-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.8fr);gap:19px;align-items:start}
.manual-layout .card{min-width:0}
.manual-create .workspace-section-title{margin:0 0 15px}
.field-label{display:grid;gap:8px;font-size:12px;font-weight:750;color:#516477;max-width:230px;margin:12px 0 24px}
.manual-selection-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--border);padding-bottom:12px}
.manual-selection-heading strong{font-size:14px}
.manual-selection-heading span{font-size:12px;color:#1182a8;font-weight:750}
.manual-event-list{max-height:500px;overflow-y:auto;scrollbar-width:thin}
.manual-event-row{display:flex;align-items:start;gap:13px;padding:13px 6px;border-bottom:1px solid var(--border);cursor:pointer;min-width:0}
.manual-event-row:hover{background:#f8fcff}
.manual-event-row:has(input:checked){background:#f0f9fd}
.manual-event-row input{width:18px;height:18px;min-width:18px;margin:2px 0;accent-color:#078fb9}
.manual-event-row span{min-width:0}
.manual-event-row strong{display:block;font-size:13px;line-height:1.4}
.manual-event-row small{display:block;font-size:11px;color:var(--muted);margin-top:4px}
.manual-footer{position:sticky;bottom:0;background:#fff;padding:17px 0 3px;margin-top:0}
.manual-side .workspace-section-title{margin:0 0 8px}
.compact-list{max-height:630px;overflow-y:auto}
.draft-list-row{display:flex;justify-content:space-between;gap:9px;align-items:center;border-bottom:1px solid var(--border);padding:13px 0;min-width:0;color:var(--ink)}
.draft-list-row:last-child{border:0}
.draft-list-row:hover{text-decoration:none}
.draft-list-row>span:first-child{min-width:0}
.draft-list-row strong{display:block;font-size:12px;line-height:1.45}
.draft-list-row small{display:block;color:var(--muted);font-size:11px;margin-top:4px}
.calendar-toolbar{display:flex;align-items:center;justify-content:center;gap:15px;margin:13px 0}
@media(max-width:1100px){
  .automation-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .manual-layout{grid-template-columns:1fr}
  .feed-schedule-grid{grid-template-columns:1fr}
}
@media(max-width:700px){
  .sidebar{position:sticky;top:0;width:100%;height:auto;padding:11px 14px;display:flex;flex-wrap:wrap;gap:8px;align-items:center;z-index:15}
  .sidebar .brand{margin:0}
  .sidebar .brand small{display:none}
  .sidebar-groups{order:3;width:100%;display:flex;gap:4px;overflow-x:auto;scrollbar-width:thin}
  .sidebar-group{flex:0 0 auto}
  .sidebar-group .nav-caption{display:none}
  .sidebar nav{display:flex;gap:2px;margin:0}
  .sidebar nav a,.sidebar nav a.active{font-size:11px;padding:9px;gap:4px;white-space:nowrap;border-left:none;border-radius:8px}
  .sidebar nav a::first-letter{font-size:inherit}
  .sidebar .logout{display:block;position:absolute;right:13px;top:20px;margin:0}
  .sidebar .logout button{font-size:11px}
  .sidebar .brand strong{font-size:13px}
  .sidebar .logo{width:32px;height:32px;font-size:19px}
  .workspace-tabs a{padding:11px 15px;font-size:12px}
  .automation-grid{grid-template-columns:1fr}
  .settings-toolbar{align-items:start}
  .story-time-grid{grid-template-columns:1fr}
  .feed-fields{grid-template-columns:repeat(2,minmax(0,1fr))}
  .text-preview-grid{grid-template-columns:1fr}
  .activity-line{align-items:flex-start;flex-wrap:wrap}
  .activity-actions{width:100%;justify-content:flex-start}
  .preview-header{align-items:flex-start;flex-wrap:wrap}
  .story-preview-card{flex-basis:175px}
  .compact-card{padding:6px 15px}
}

/* Boletines culturales: tres configuraciones sin sobrecargar el panel */
.bulletin-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.bulletin-card{display:flex;flex-direction:column;gap:14px;padding:16px}
.bulletin-card-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.bulletin-name,.bulletin-template{display:grid;gap:7px;font-size:12px;color:#526579;font-weight:750}
.bulletin-name input{font-size:15px;font-weight:750;min-width:0}
.bulletin-card .feed-fields{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.bulletin-card .feed-fields select,.bulletin-card .feed-fields input{width:100%;min-width:0;padding:10px 7px;font-size:12px}
.bulletin-card .platform-choices{margin-top:auto;gap:14px}
.bulletin-categories{border:1px solid var(--border);border-radius:10px;background:#fff;padding:12px}
.bulletin-categories summary{font-size:12px;font-weight:750;cursor:pointer;color:#30495c}
.bulletin-category-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0}
.bulletin-category-list .check-line{font-size:11px;font-weight:650}
.bulletin-categories small{font-size:11px;color:var(--muted)}
@media(max-width:1200px){.bulletin-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:820px){.bulletin-grid{grid-template-columns:1fr}}

/* Miniaturas gráficas de tres boletines, sin afectar las demás pantallas. */
.bulletin-template-visual{border:1px solid var(--border);border-radius:10px;overflow:hidden;background:#fff;display:flex;justify-content:center;padding:8px}
.bulletin-template-visual img{display:block;width:100%;max-width:184px;aspect-ratio:4/5;object-fit:contain}
.bulletin-template select{width:100%;max-width:100%}
