:root{--ink:#071a37;--blue:#0767df;--blue2:#16a5e5;--red:#e32134;--green:#098845;--paper:#f6f7f8;--white:#fff;--muted:#667085;--line:#dce2e9;--serif:'Libre Franklin',sans-serif;--sans:'Manrope',sans-serif;--shadow:0 18px 50px rgba(7,26,55,.11)}
.writer-hero{min-height:260px;padding:35px 20px;color:#fff;background:radial-gradient(circle at 80% 10%,rgba(0,180,255,.3),transparent 30%),linear-gradient(130deg,#041327,#0a4773)}.writer-hero>div{width:min(1100px,100%);margin:auto}.writer-hero img{width:130px;height:70px;object-fit:contain;filter:brightness(0) invert(1)}.writer-hero span{display:block;margin-top:12px;color:#71d9ad;font-size:9px;font-weight:900;letter-spacing:.18em}.writer-hero h1{font:800 clamp(34px,5vw,58px)/1 var(--serif);margin:8px 0}.writer-hero p{color:#c8dced}
[data-theme="dark"]{--ink:#f3f7fd;--paper:#081528;--white:#0d1d32;--muted:#9bacbf;--line:#26384c;--shadow:0 18px 50px rgba(0,0,0,.3)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--white);color:var(--ink);font-family:var(--sans);line-height:1.55}body.modal-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a{ -webkit-tap-highlight-color:transparent}img{display:block;max-width:100%}.shell{width:min(1180px,calc(100% - 40px));margin-inline:auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;left:12px;top:-60px;z-index:9999;background:var(--white);padding:12px 18px}.skip-link:focus{top:12px}.topline{background:var(--ink);color:#d9e4f1;font-size:12px;letter-spacing:.03em}.topline-inner{height:38px;display:flex;align-items:center;justify-content:space-between}.topline-place{opacity:.72}.topline-links{display:flex;align-items:center;gap:20px}.topline-links button{color:inherit;background:none;border:0;cursor:pointer;font-size:18px}.site-header{background:var(--white);position:sticky;top:0;z-index:100;border-bottom:1px solid var(--line)}.masthead{height:112px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center}.brand{width:225px;height:96px;display:block}.logo-stage{position:relative;display:block;width:100%;height:100%;overflow:hidden}.brand-logo{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;transform:scale(.96);transition:opacity .8s ease,transform 1.1s ease}.brand-logo.is-active{opacity:1;transform:scale(1)}.masthead-actions{display:flex;align-items:center;justify-content:flex-end;gap:15px}.icon-button{border:0;background:none;color:var(--ink);cursor:pointer;font-weight:700}.menu-button{width:42px;height:42px;padding:11px;border:1px solid var(--line);border-radius:50%;display:none}.menu-button span{display:block;width:18px;border-top:2px solid;margin:4px 0}.login-link{font-weight:700;font-size:14px}.button{background:var(--blue);color:#fff;border:0;border-radius:3px;padding:13px 20px;font-weight:700;cursor:pointer}.button-small{padding:10px 16px;font-size:13px}.search-panel{background:var(--paper);border-top:1px solid var(--line);padding:18px 0}.search-form{display:flex;gap:8px}.search-form input{flex:1;padding:13px 16px;border:1px solid var(--line);background:var(--white);color:var(--ink);border-radius:3px}.main-nav{display:flex;align-items:center;justify-content:space-between;height:47px;overflow-x:auto;gap:22px;scrollbar-width:none}.main-nav a{height:47px;display:grid;place-items:center;font-size:12px;font-weight:700;white-space:nowrap;position:relative}.main-nav a.is-current:after{content:"";position:absolute;bottom:0;left:0;right:0;height:3px;background:var(--blue)}.breaking{background:var(--paper);border-bottom:1px solid var(--line)}.breaking-inner{height:42px;display:flex;align-items:center;gap:18px;font-size:13px}.breaking strong{color:var(--red);font-size:11px;letter-spacing:.08em}.breaking strong span{display:inline-block;width:7px;height:7px;background:var(--red);border-radius:50%;margin-right:7px;animation:pulse 1.7s infinite}.breaking p{flex:1;margin:0;font-weight:600}.breaking a{color:var(--blue);font-weight:700}.section-space{margin-block:64px}.hero{display:grid;grid-template-columns:minmax(0,1.68fr) minmax(310px,.72fr);gap:20px}.lead-story{height:620px;position:relative;overflow:hidden;border-radius:2px;color:#fff;cursor:pointer}.lead-story>img{width:100%;height:100%;object-fit:cover;transition:transform .8s}.lead-story:hover>img{transform:scale(1.025)}.lead-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(4,12,27,.03) 20%,rgba(4,12,27,.9) 100%)}.lead-copy{position:absolute;inset:auto 54px 48px}.eyebrow{font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--blue);margin-bottom:10px}.eyebrow.light{color:#7fceff}.eyebrow.red{color:var(--red)}.eyebrow.green{color:var(--green)}.eyebrow.gold{color:#b77900}.lead-copy h1{font:800 clamp(36px,4.4vw,62px)/1.01 var(--serif);letter-spacing:-.045em;max-width:820px;margin:8px 0 16px}.lead-copy>p{font-size:18px;max-width:660px;color:#dce6f2;margin-bottom:24px}.author-row{display:flex;align-items:center;gap:11px}.author-row small{display:block;color:#ccd8e5;margin-top:1px}.avatar{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;font-size:12px;font-weight:800;color:#fff}.avatar-blue{background:linear-gradient(135deg,#0875e9,#16a6df)}.avatar-green{background:#168758}.avatar-red{background:#d54a55}.avatar-gold{background:#b47b28}.avatar-photo{background:#334f77}.read-link{margin-top:22px;padding:0;color:#fff;background:none;border:0;font-weight:800;cursor:pointer}.read-link span{display:inline-grid;place-items:center;border:1px solid rgba(255,255,255,.5);border-radius:50%;width:28px;height:28px;margin-left:8px}.hero-side{display:grid;grid-template-rows:1.35fr 1fr .68fr;gap:16px}.compact-story{border-bottom:1px solid var(--line);padding-bottom:16px;cursor:pointer}.compact-story img{width:100%;height:190px;object-fit:cover;margin-bottom:14px}.compact-story h2{font:700 22px/1.15 var(--serif);letter-spacing:-.025em;margin:6px 0 8px}.compact-story p,.story-meta{font-size:12px;color:var(--muted);margin:0}.text-story{display:flex;align-items:center;background:var(--paper);padding:22px;border:0}.text-story p{font-size:14px;margin-bottom:15px}.weather-card{background:var(--ink);color:#fff;padding:18px 20px;display:grid;grid-template-columns:1fr auto;align-items:center}.weather-card>span{font-size:11px;text-transform:uppercase;letter-spacing:.12em}.weather-card strong{font-size:39px;grid-row:1/3;grid-column:2}.weather-card div{font-size:13px}.weather-card b{grid-column:1/3;margin-top:10px;font-size:11px;color:#76caff}.section-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:28px}.kicker{color:var(--blue);font-weight:800;text-transform:uppercase;font-size:10px;letter-spacing:.16em}.section-heading h2{font:800 clamp(28px,3vw,42px)/1 var(--serif);letter-spacing:-.035em;margin:8px 0 0}.section-heading>a{font-size:13px;color:var(--blue);font-weight:700}.journalist-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:3px solid var(--ink)}.journalist-card{padding:25px 22px 22px;border-right:1px solid var(--line);background:var(--white);transition:transform .25s,box-shadow .25s}.journalist-card:first-child{border-left:1px solid var(--line)}.journalist-card:hover{transform:translateY(-5px);box-shadow:var(--shadow);position:relative;z-index:2}.journalist-top{display:flex;align-items:center;gap:12px}.journalist-top small{font-size:8px;letter-spacing:.13em;color:var(--muted)}.journalist-top h3{font-size:14px;margin:1px 0}.journalist-top h3 i{font-style:normal;color:var(--blue)}.journalist-top p{font-size:11px;color:var(--muted);margin:0}.card-line{border-top:1px solid var(--line);margin:20px 0}.journalist-card h4{font:700 18px/1.25 var(--serif);margin:7px 0 15px;min-height:68px}.journalist-card>a{font-size:11px;font-weight:800;color:var(--blue);display:inline-block;margin-top:20px}.latest-wrap{background:var(--paper);padding:64px 0}.filters{display:flex;gap:8px}.filters button{border:1px solid var(--line);background:var(--white);color:var(--muted);padding:7px 14px;border-radius:50px;font-size:12px;cursor:pointer}.filters button.active{background:var(--ink);color:var(--white);border-color:var(--ink)}.news-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,.7fr);gap:55px}.news-row{display:grid;grid-template-columns:255px 1fr;gap:25px;padding:23px 0;border-top:1px solid var(--line)}.news-row[hidden]{display:none}.news-row img{width:255px;height:160px;object-fit:cover}.news-row h3{font:700 23px/1.18 var(--serif);letter-spacing:-.02em;margin:7px 0}.news-row p{font-size:14px;color:var(--muted);margin:0 0 15px}.ad-slot>small{display:block;color:var(--muted);font-size:8px;text-align:center;letter-spacing:.13em;margin-bottom:7px}.ad-slot>div{height:190px;background:linear-gradient(140deg,#071a37,#0b62ba);color:#fff;padding:25px;display:flex;flex-direction:column;justify-content:space-between}.ad-slot span{font:800 27px/1.05 var(--serif)}.ad-slot a{font-size:11px;font-weight:700;color:#8fd6ff}.most-read{margin-top:37px}.most-read h3{font:800 26px var(--serif);margin:5px 0 8px}.most-read ol{list-style:none;padding:0;margin:0}.most-read li{display:grid;grid-template-columns:36px 1fr;gap:10px;padding:16px 0;border-top:1px solid var(--line)}.most-read li b{color:var(--blue);font-size:13px}.most-read li a{font:600 14px/1.35 var(--serif)}.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.trust-grid article{background:var(--white);padding:30px}.trust-grid b{color:var(--blue);font-size:11px}.trust-grid h3{font:700 18px var(--serif);margin:24px 0 7px}.trust-grid p{font-size:13px;color:var(--muted);margin:0}.newsletter{background:linear-gradient(110deg,#071a37,#093c77);color:#fff;padding:68px 0}.newsletter-inner{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.light-kicker{color:#76caff}.newsletter h2{font:800 39px/1.05 var(--serif);letter-spacing:-.04em;margin:10px 0}.newsletter p{color:#b9cce2}.newsletter form>label:first-child{display:block;font-size:12px;margin-bottom:8px}.newsletter form>div{display:flex}.newsletter input[type=email]{flex:1;border:0;padding:14px}.button-white{background:#fff;color:#071a37}.consent{display:block;font-size:10px;margin-top:12px;color:#b9cce2}.site-footer{background:#050e1b;color:#b8c5d5;padding:60px 0 20px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1.3fr;gap:50px}.footer-grid h2{font-size:12px;color:#fff;text-transform:uppercase;letter-spacing:.1em}.footer-grid a,.footer-grid p{display:block;font-size:12px;margin:8px 0}.footer-mark{font:800 38px var(--serif);color:#fff}.footer-bottom{border-top:1px solid #233047;margin-top:45px;padding-top:18px;display:flex;justify-content:space-between;font-size:10px}.toast{position:fixed;right:22px;bottom:22px;background:var(--ink);color:var(--white);padding:13px 18px;box-shadow:var(--shadow);z-index:500;opacity:0;transform:translateY(15px);pointer-events:none;transition:.25s}.toast.show{opacity:1;transform:none}.modal-overlay{position:fixed;inset:0;background:rgba(2,10,22,.82);z-index:300;display:grid;place-items:start center;padding:30px;overflow:auto}.modal-overlay[hidden]{display:none}.story-modal{width:min(850px,100%);background:var(--white);color:var(--ink);position:relative;box-shadow:0 25px 80px rgba(0,0,0,.35)}.modal-close{position:sticky;float:right;top:15px;margin:15px 15px -60px 0;z-index:2;border:0;background:var(--ink);color:var(--white);border-radius:50%;width:42px;height:42px;font-size:26px;cursor:pointer}.modal-hero{padding:50px 55px 32px}.modal-hero h2{font:800 43px/1.04 var(--serif);letter-spacing:-.04em;margin:10px 0}.modal-hero p{color:var(--muted)}.story-modal>img{width:100%;height:390px;object-fit:cover}.modal-article{padding:35px 55px 55px}.author-row.dark small{color:var(--muted)}.modal-article>p{font-size:17px;line-height:1.8}.dropcap:first-letter{font:800 58px/42px var(--serif);float:left;margin:8px 8px 0 0;color:var(--blue)}blockquote{border-left:3px solid var(--blue);margin:28px 0;padding:8px 0 8px 22px;font:700 22px/1.35 var(--serif)}.modal-actions{display:flex;gap:10px;align-items:center;border-top:1px solid var(--line);padding-top:22px}.modal-actions button{border:1px solid var(--line);background:var(--white);color:var(--ink);padding:9px 12px;cursor:pointer}.modal-actions a{margin-left:auto;color:var(--blue);font-weight:700;font-size:12px}@keyframes pulse{0%,100%{box-shadow:0 0 0 0 rgba(227,33,52,.5)}50%{box-shadow:0 0 0 7px rgba(227,33,52,0)}}:focus-visible{outline:3px solid #4db9ff;outline-offset:3px}
@media(max-width:980px){.masthead{height:90px}.brand{width:180px;height:75px}.menu-button{display:block}.main-nav{display:none;height:auto;padding-block:14px;flex-wrap:wrap}.main-nav.open{display:flex}.hero{grid-template-columns:1fr}.hero-side{grid-template-columns:1fr 1fr;grid-template-rows:auto}.weather-card{grid-column:1/3}.journalist-grid{grid-template-columns:1fr 1fr}.journalist-card:nth-child(3){border-left:1px solid var(--line)}.news-layout{gap:30px}.trust-grid{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:2fr 1fr 1fr}.footer-grid>div:last-child{grid-column:1/4}.topline-place{display:none}}
@media(max-width:680px){.shell{width:min(100% - 28px,1180px)}.topline-links a{display:none}.masthead{grid-template-columns:45px 1fr 45px}.brand{width:148px;height:70px;justify-self:center}.masthead-actions .login-link,.masthead-actions .button{display:none}.masthead-actions{justify-content:end}.breaking-inner{gap:9px}.breaking p{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.breaking a{display:none}.section-space{margin-block:42px}.lead-story{height:510px}.lead-copy{inset:auto 24px 28px}.lead-copy h1{font-size:38px}.lead-copy>p{font-size:15px}.hero-side{display:block}.compact-story{margin-bottom:20px}.compact-story img{height:210px}.weather-card{margin-top:16px}.section-heading{align-items:start;gap:20px}.section-heading>a{display:none}.journalist-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;margin-right:-14px}.journalist-card{min-width:83vw;scroll-snap-align:start}.filters{overflow-x:auto;max-width:52vw}.news-layout{display:block}.news-row{grid-template-columns:110px 1fr;gap:15px}.news-row img{width:110px;height:115px}.news-row h3{font-size:17px}.news-row p{display:none}.sidebar{margin-top:35px}.trust-grid{grid-template-columns:1fr}.newsletter-inner{grid-template-columns:1fr;gap:25px}.newsletter form>div{display:block}.newsletter input[type=email],.newsletter .button{width:100%}.newsletter .button{margin-top:8px}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child,.footer-grid>div:last-child{grid-column:1/3}.modal-overlay{padding:0}.modal-hero,.modal-article{padding:35px 22px}.modal-hero h2{font-size:34px}.story-modal>img{height:240px}.modal-actions{flex-wrap:wrap}.modal-actions a{width:100%;margin:8px 0 0}.topline-inner{height:30px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}
.top-whatsapp{color:#72e59a;font-weight:700}.footer-whatsapp{color:#72e59a!important;font-weight:700}.whatsapp-float{position:fixed;right:22px;bottom:22px;z-index:220;display:flex;align-items:center;gap:9px;background:#16a34a;color:#fff;padding:10px 15px 10px 10px;border-radius:999px;box-shadow:0 12px 30px rgba(4,94,43,.28);font-size:12px;transition:transform .2s,box-shadow .2s}.whatsapp-float:hover{transform:translateY(-3px);box-shadow:0 16px 35px rgba(4,94,43,.36)}.whatsapp-float span{width:31px;height:31px;border-radius:50%;display:grid;place-items:center;background:#fff;color:#168544;font-size:9px;font-weight:900}.whatsapp-float b{font-weight:800}
.page-hero{background:var(--paper);padding:72px 0;border-bottom:1px solid var(--line)}.page-hero h1,.article-header h1{font:800 clamp(40px,6vw,72px)/1 var(--serif);letter-spacing:-.05em;margin:10px 0 14px}.page-hero p{color:var(--muted);font-size:18px;max-width:700px}.inline-button{display:inline-block;margin-top:18px}.listing-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:50px}.listing-feature img{width:100%;height:390px;object-fit:cover;margin-bottom:20px}.listing-feature h2{font:800 34px/1.08 var(--serif);letter-spacing:-.035em;margin:8px 0}.listing-feature p,.listing-stack p{color:var(--muted)}.listing-stack>a{display:block;padding:22px 0;border-top:1px solid var(--line)}.listing-stack h3{font:700 22px/1.2 var(--serif);margin:5px 0}.listing-stack.wide{max-width:780px}.page-search{max-width:780px}.page-search>label{display:block;font:700 28px var(--serif);margin-bottom:14px}.page-search>div{display:flex;gap:8px}.page-search input{flex:1;padding:14px;border:1px solid var(--line);background:var(--white);color:var(--ink)}.profile-list{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line)}.profile-list>a{background:var(--white);padding:28px;display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center}.profile-list h2{font:700 20px var(--serif);margin:0}.profile-list p{font-size:13px;color:var(--muted);margin:3px 0}.profile-list b{color:var(--blue);font-size:11px}.profile-hero{background:var(--paper);padding:70px 0}.profile-hero>.shell{display:flex;align-items:center;gap:30px}.profile-avatar{width:110px;height:110px;font-size:28px}.profile-hero h1{font:800 48px/1 var(--serif);margin:7px 0}.profile-hero h2{font-size:16px;color:var(--blue)}.profile-hero p{max-width:650px;color:var(--muted)}.article-header{padding-block:72px;max-width:900px}.article-lead{font-size:21px;color:var(--muted);max-width:760px}.article-image img{width:min(1300px,100%);height:min(60vw,620px);object-fit:cover;margin:auto}.article-body{width:min(720px,calc(100% - 40px));margin:50px auto 80px}.article-body>p{font-size:18px;line-height:1.85}.article-body h2{font:800 28px var(--serif);margin-top:40px}.sources{border-top:1px solid var(--line);margin-top:45px;padding-top:20px}.sources h2{font-size:16px}.sources p{font-size:13px;color:var(--muted)}.simple-page{min-height:220px;max-width:760px}.auth-page{background:var(--paper);padding:70px 20px}.auth-card{width:min(520px,100%);margin:auto;background:var(--white);padding:45px;box-shadow:var(--shadow)}.auth-card h1{font:800 36px/1.05 var(--serif);margin:9px 0}.auth-card>p{color:var(--muted)}.auth-card label{display:block;font-size:12px;font-weight:700;margin:17px 0}.auth-card input:not([type=checkbox]){display:block;width:100%;padding:12px;margin-top:6px;border:1px solid var(--line);background:var(--white);color:var(--ink)}.auth-card .legal-check{font-weight:400;display:flex;gap:8px}.auth-card form>.button{width:100%;margin-top:10px}
@media(max-width:680px){.page-hero{padding:48px 0}.listing-grid,.profile-list{grid-template-columns:1fr}.listing-feature img{height:260px}.profile-list>a{grid-template-columns:auto 1fr}.profile-list b{grid-column:2}.profile-hero>.shell{align-items:flex-start}.profile-avatar{width:70px;height:70px}.profile-hero h1{font-size:34px}.article-header{padding-block:48px}.article-image img{height:290px}.auth-card{padding:30px 22px}}
@media(max-width:680px){.whatsapp-float{right:14px;bottom:14px;padding:9px}.whatsapp-float b{display:none}.whatsapp-float span{width:35px;height:35px}}
.site-header{position:relative;top:auto}.header-panorama{position:relative;width:100%;height:350px;overflow:hidden;background:#071a37;color:#fff}.panorama-slides,.panorama-slide,.panorama-slide img,.panorama-overlay{position:absolute;inset:0;width:100%;height:100%}.panorama-slide{margin:0;opacity:0;z-index:0;transition:opacity 1s ease}.panorama-slide.is-active{opacity:1;z-index:1}.panorama-slide img{object-fit:cover;transform:scale(1);transition:transform 7s ease}.panorama-slide.is-active img{transform:scale(1.045)}.panorama-overlay{z-index:2;background:linear-gradient(90deg,rgba(4,13,30,.56),rgba(4,13,30,.18) 55%,rgba(4,13,30,.38)),linear-gradient(0deg,rgba(4,13,30,.72),transparent 55%)}.panorama-copy{position:absolute;z-index:3;left:50%;top:50%;width:min(620px,calc(100% - 50px));transform:translate(-50%,-50%);text-align:center;text-shadow:0 3px 20px rgba(0,0,0,.5)}.panorama-copy strong{font:800 clamp(25px,3vw,40px)/1 var(--serif);letter-spacing:.13em}.panorama-copy p{font-size:16px;margin:12px 0 6px}.panorama-copy small{font-size:9px;letter-spacing:.13em;text-transform:uppercase;color:#d5e2ef}.panorama-copy i{font-style:normal;color:#73c8ff;margin:0 5px}.panorama-location{position:absolute;z-index:4;right:28px;bottom:24px;padding:7px 11px;border:1px solid rgba(255,255,255,.2);border-radius:50px;background:rgba(4,13,30,.38);backdrop-filter:blur(8px);font-size:10px}.panorama-location:first-letter{color:#72d29a}.panorama-dots{position:absolute;z-index:4;left:50%;bottom:25px;display:flex;gap:7px;transform:translateX(-50%)}.panorama-dots button{width:7px;height:7px;padding:0;border:1px solid #fff;border-radius:50%;background:transparent;cursor:pointer}.panorama-dots button.is-active{width:20px;border-radius:10px;background:#fff}.panorama-arrow{position:absolute;z-index:4;top:50%;width:36px;height:48px;transform:translateY(-50%);border:0;background:rgba(4,13,30,.18);color:#fff;font-size:25px;opacity:0;cursor:pointer;transition:opacity .2s,background .2s}.header-panorama:hover .panorama-arrow{opacity:.75}.panorama-arrow:hover{background:rgba(4,13,30,.46)}.panorama-prev{left:16px}.panorama-next{right:16px}.nav-bar{position:sticky;top:0;z-index:110;background:var(--white);border-bottom:1px solid var(--line);box-shadow:0 5px 18px rgba(7,26,55,.05)}
@media(max-width:980px){.header-panorama{height:290px}}
@media(max-width:680px){.header-panorama{height:240px}.panorama-copy{width:calc(100% - 35px)}.panorama-copy strong{font-size:24px}.panorama-copy p{font-size:14px;line-height:1.35;max-width:290px;margin:9px auto 5px}.panorama-copy small{font-size:7px}.panorama-location{right:12px;bottom:12px;font-size:8px}.panorama-dots{bottom:14px}.panorama-arrow{display:none}.panorama-slide img{transform:scale(1.02)}.panorama-slide.is-active img{transform:scale(1.055)}}
@media(prefers-reduced-motion:reduce){.panorama-slide,.panorama-slide img{transition:none}.panorama-slide.is-active img{transform:none}}
.header-panorama{height:430px}.hero-brand-lockup{position:absolute;z-index:4;left:38%;top:47%;width:285px;height:190px;display:grid;place-items:center;transform:translate(-50%,-50%)}.hero-brand-lockup img{position:relative;z-index:2;width:270px;height:auto;object-fit:contain;animation:hero-logo-color 12s ease-in-out infinite}.hero-brand-ring{position:absolute;z-index:1;inset:-7px -14px;border-radius:50%;background:conic-gradient(from 0deg,transparent 0 18%,rgba(102,198,255,.75) 28%,rgba(255,255,255,.17) 43%,transparent 56% 73%,rgba(68,151,232,.65) 84%,transparent 96%);opacity:.85;animation:hero-ring-spin 12s linear infinite;mask:radial-gradient(ellipse,transparent 0 68%,#000 69% 72%,transparent 73%);-webkit-mask:radial-gradient(ellipse,transparent 0 68%,#000 69% 72%,transparent 73%)}.hero-actions{position:absolute;z-index:6;left:50%;bottom:48px;display:flex;align-items:center;justify-content:center;gap:9px;width:min(850px,calc(100% - 40px));transform:translateX(-50%)}.hero-action,.hero-menu-button{min-height:39px;border:1px solid rgba(255,255,255,.26);border-radius:999px;background:rgba(5,15,30,.42);backdrop-filter:blur(11px);-webkit-backdrop-filter:blur(11px);color:#fff;padding:9px 16px;font-size:11px;font-weight:700;cursor:pointer;box-shadow:0 8px 22px rgba(0,0,0,.12);transition:background .2s,border-color .2s,transform .2s}.hero-action:hover,.hero-menu-button:hover{background:rgba(7,32,62,.72);border-color:rgba(255,255,255,.52);transform:translateY(-2px)}.hero-action-primary{background:rgba(7,103,223,.82)}.hero-action-ad{background:rgba(7,118,70,.8)}.hero-menu-button{display:none;width:39px;padding:9px}.hero-menu-button span{display:block;width:17px;border-top:2px solid;margin:3px auto}.hero-search-panel{position:absolute;z-index:7;left:50%;bottom:97px;width:min(620px,calc(100% - 40px));padding:10px;border:1px solid rgba(255,255,255,.24);border-radius:8px;background:rgba(5,15,30,.7);backdrop-filter:blur(14px);transform:translateX(-50%);box-shadow:0 15px 40px rgba(0,0,0,.24)}.hero-search-panel[hidden]{display:none}.hero-search-panel .search-form{width:100%;margin:0}.hero-search-panel .search-form input{background:rgba(255,255,255,.94);color:#071a37}.panorama-dots{bottom:18px}.panorama-location{bottom:15px}@keyframes hero-ring-spin{to{transform:rotate(360deg)}}@keyframes hero-logo-color{0%,20%,100%{filter:drop-shadow(0 8px 18px rgba(0,0,0,.38)) hue-rotate(0deg)}30%,48%{filter:drop-shadow(0 8px 18px rgba(0,0,0,.38)) hue-rotate(140deg)}58%,78%{filter:drop-shadow(0 8px 18px rgba(0,0,0,.38)) hue-rotate(260deg)}88%{filter:drop-shadow(0 8px 18px rgba(0,0,0,.38)) hue-rotate(360deg)}}
@media(max-width:980px){.header-panorama{height:390px}.hero-brand-lockup{left:41%;top:44%;width:235px;height:156px}.hero-brand-lockup img{width:225px}.hero-actions{bottom:43px}.hero-menu-button{display:block}}
@media(max-width:680px){.header-panorama{height:365px}.hero-brand-lockup{left:50%;top:38%;width:200px;height:134px}.hero-brand-lockup img{width:190px}.hero-brand-ring{inset:-5px -10px}.hero-actions{bottom:38px;gap:6px;flex-wrap:wrap;width:calc(100% - 24px)}.hero-action,.hero-menu-button{min-height:34px;padding:7px 11px;font-size:9px}.hero-menu-button{width:34px;padding:7px}.hero-search-panel{bottom:112px;width:calc(100% - 24px)}.panorama-location{display:none}.panorama-dots{bottom:12px}.topline-inner{gap:8px}.topline-links{gap:8px}.topline-links .top-whatsapp{display:inline!important;font-size:9px;white-space:nowrap}}
@media(prefers-reduced-motion:reduce){.hero-brand-ring,.hero-brand-lockup img{animation:none}.hero-brand-lockup img{filter:drop-shadow(0 8px 18px rgba(0,0,0,.38))}}

/* Logo destacado: desplazado hacia la izquierda y ampliado un 25%. */
.hero-brand-lockup{left:29%;width:356px;height:238px}
.hero-brand-lockup img{width:338px}
.hero-brand-lockup::before{content:"";position:absolute;z-index:0;inset:4% -7%;border:1px solid rgba(255,255,255,.3);border-radius:50%;background:radial-gradient(ellipse at center,rgba(255,255,255,.2) 0,rgba(7,26,55,.5) 58%,rgba(7,26,55,.16) 72%,transparent 74%);box-shadow:0 18px 45px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.22);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);animation:hero-brand-breathe 4.8s ease-in-out infinite}
.hero-brand-lockup::after{content:"";position:absolute;z-index:3;left:12%;right:12%;bottom:5%;height:12px;border-radius:50%;background:rgba(0,0,0,.34);filter:blur(10px);animation:hero-brand-shadow 4.8s ease-in-out infinite}
.hero-brand-lockup img{filter:drop-shadow(0 10px 18px rgba(0,0,0,.48));transition:transform .35s ease}
.hero-brand-lockup:hover img{transform:scale(1.035)}
@keyframes hero-brand-breathe{0%,100%{transform:scale(.985);opacity:.86}50%{transform:scale(1.025);opacity:1}}
@keyframes hero-brand-shadow{0%,100%{transform:scaleX(.88);opacity:.48}50%{transform:scaleX(1.04);opacity:.7}}
@media(max-width:980px){.hero-brand-lockup{left:32%;width:294px;height:195px}.hero-brand-lockup img{width:281px}}
@media(max-width:680px){.hero-brand-lockup{left:42%;width:250px;height:168px}.hero-brand-lockup img{width:238px}}
@media(prefers-reduced-motion:reduce){.hero-brand-lockup::before,.hero-brand-lockup::after{animation:none}.hero-brand-lockup:hover img{transform:none}}

/* Registro contractual de periodistas */
.contract-card{width:min(920px,100%);margin:auto;background:var(--white);padding:clamp(24px,5vw,52px);box-shadow:var(--shadow)}.contract-card h1{font:800 clamp(32px,5vw,48px)/1.05 var(--serif);margin:9px 0}.contract-card>p{color:var(--muted)}.contract-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin:28px 0;background:var(--line);border:1px solid var(--line)}.contract-summary span{display:flex;flex-direction:column;gap:4px;padding:13px;background:var(--paper);font-size:13px}.contract-summary b{font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.contract-document{max-height:520px;overflow:auto;padding:30px;border:1px solid var(--line);background:var(--paper);font:400 14px/1.75 "DM Sans",sans-serif;white-space:normal}.contract-document:focus{outline:2px solid var(--blue);outline-offset:2px}.contract-acceptance{display:grid;gap:10px;margin-top:24px}.contract-acceptance .legal-check{display:grid;grid-template-columns:20px minmax(0,1fr);align-items:start;gap:12px;margin:0;padding:14px 16px;border:1px solid var(--line);border-radius:8px;background:var(--white);font-size:13px;font-weight:600;line-height:1.45;cursor:pointer}.contract-acceptance .legal-check:hover{border-color:#9ab8d5;background:#f8fbfe}.contract-acceptance .legal-check input[type=checkbox]{appearance:auto;width:18px;height:18px;margin:1px 0 0;padding:0;accent-color:var(--blue);justify-self:center}.contract-acceptance>label:not(.legal-check){display:block;font-size:12px;font-weight:700;margin:10px 0 8px}.contract-acceptance input:not([type=checkbox]){display:block;width:100%;padding:12px;margin-top:6px;border:1px solid var(--line);background:var(--white);color:var(--ink)}.contract-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:12px}.button-muted{background:var(--paper)!important;color:var(--ink)!important;border:1px solid var(--line)}

/* Panel general: configuración del contrato */
.admin-body{background:#f1f4f8;color:#071a37}.admin-topbar{min-height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100% - 1180px)/2));background:#071a37;color:#fff}.admin-topbar a{color:#fff}.admin-panel{width:min(1100px,calc(100% - 32px));margin:42px auto;background:#fff;padding:clamp(24px,4vw,48px);box-shadow:0 18px 50px rgba(7,26,55,.1)}.admin-panel h1{font:800 clamp(32px,5vw,50px)/1 var(--serif);margin:8px 0}.admin-panel header p{color:#607086;max-width:760px}.admin-success{margin:24px 0;padding:14px 18px;border-left:4px solid #0b9a5a;background:#e8f8f0;color:#08673f}.admin-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:30px}.admin-panel label{display:block;font-size:12px;font-weight:700}.admin-panel input,.admin-panel textarea{display:block;width:100%;margin-top:7px;padding:12px;border:1px solid #cbd5e1;background:#fff;color:#071a37;font:inherit}.admin-contract-label{margin-top:22px}.admin-panel textarea{min-height:560px;resize:vertical;font:13px/1.6 Consolas,monospace}.placeholder-help{margin:14px 0;padding:14px;background:#edf4fb;color:#334155;font-size:12px;line-height:2}.placeholder-help code{display:inline-block;margin-left:5px;padding:1px 5px;background:#fff}.admin-save{border:0;border-radius:4px;background:#0767df;color:#fff;padding:13px 20px;font-weight:800;cursor:pointer}
@media(max-width:680px){.contract-summary,.admin-form-grid{grid-template-columns:1fr 1fr}.contract-document{padding:20px;max-height:430px}.contract-actions{flex-direction:column-reverse}.contract-actions .button{text-align:center}.admin-topbar strong{display:none}}
.admin-topbar nav,.admin-topbar>div{display:flex;align-items:center;gap:20px}.admin-brand{font-size:18px;font-weight:800}.admin-brand small{margin-left:5px;padding:3px 5px;border:1px solid rgba(255,255,255,.4);font-size:8px;letter-spacing:.12em}.admin-topbar nav a{color:#b8c9dd;font-size:12px;font-weight:700}.admin-topbar nav a:hover{color:#fff}.admin-topbar>div>a{font-size:11px;color:#8fc9ff}.admin-dashboard{min-height:620px}.admin-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:34px 0 42px}.admin-metrics article{display:flex;flex-direction:column;padding:22px;border:1px solid #dbe3ec;background:#f8fafc}.admin-metrics strong{font:800 36px/1 var(--serif);color:#0767df}.admin-metrics span{margin-top:8px;font-size:12px;color:#607086}.admin-dashboard>h2{font:800 24px var(--serif);margin-bottom:17px}.admin-module-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.admin-module-grid>a{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;padding:22px;border:1px solid #dbe3ec;background:#fff;color:#071a37;transition:border-color .2s,transform .2s,box-shadow .2s}.admin-module-grid>a:hover{transform:translateY(-2px);border-color:#7eb8f7;box-shadow:0 12px 26px rgba(7,26,55,.08)}.admin-module-grid>a>span{display:grid;place-items:center;width:46px;height:46px;border-radius:12px;background:#e9f3ff;color:#0767df;font-size:11px;font-weight:900}.admin-module-grid h3{margin:0 0 4px;font-size:16px}.admin-module-grid p{margin:0;color:#607086;font-size:12px}.admin-module-grid b{font-size:10px;color:#0767df}.admin-back{display:inline-block;margin-bottom:24px;color:#0767df;font-size:12px;font-weight:800}
@media(max-width:760px){.admin-topbar{padding:0 16px}.admin-topbar nav{display:none}.admin-topbar>div strong{display:none}.admin-metrics{grid-template-columns:1fr 1fr}.admin-module-grid{grid-template-columns:1fr}.admin-module-grid>a{grid-template-columns:auto 1fr}.admin-module-grid>a>b{grid-column:2}.admin-panel{margin:20px auto}}
.auth-card select{display:block;width:100%;padding:12px;margin-top:6px;border:1px solid var(--line);background:var(--white);color:var(--ink)}.journalist-fields{margin-top:4px;padding:14px 16px;border-left:3px solid var(--blue);background:var(--paper)}.journalist-fields[hidden]{display:none}.journalist-fields label:first-child{margin-top:0}.journalist-fields label:last-child{margin-bottom:0}

/* Cambio obligatorio de contraseña en el primer ingreso */
.first-access-screen{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:28px;overflow:auto}
.first-access-backdrop{position:absolute;inset:0;background:linear-gradient(135deg,rgba(3,15,34,.96),rgba(5,46,89,.91));backdrop-filter:blur(8px)}
.first-access-modal{position:relative;width:min(720px,100%);max-height:calc(100vh - 56px);overflow:auto;background:#fff;border-radius:16px;box-shadow:0 32px 90px rgba(0,0,0,.42);color:#071a37}
.first-access-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 28px;border-bottom:1px solid #e4eaf1}
.first-access-brand{display:flex;align-items:center;gap:13px;font-size:11px;font-weight:800;letter-spacing:.11em;text-transform:uppercase;color:#53677e}
.first-access-brand img{width:112px;height:42px;object-fit:contain}
.first-access-step{padding:6px 11px;border-radius:999px;background:#eaf4ff;color:#0767c8;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.first-access-content{display:grid;grid-template-columns:58px 1fr;gap:20px;padding:28px 34px 10px;align-items:start}
.first-access-icon{display:grid;place-items:center;width:58px;height:58px;border-radius:16px;background:linear-gradient(145deg,#0875e9,#0754a5);box-shadow:0 10px 25px rgba(8,117,233,.25);font-size:25px}
.first-access-content h1{margin:7px 0 8px;font:800 clamp(28px,4vw,39px)/1.06 var(--serif);letter-spacing:-.035em}
.first-access-content p{max-width:560px;margin:0;color:#607287;font-size:14px}
.first-access-form{padding:12px 34px 28px}
.first-access-form label{display:block;margin:13px 0;color:#20364f;font-size:12px;font-weight:800}
.first-access-form input:not([type=hidden]){display:block;width:100%;margin-top:7px;padding:13px 14px;border:1px solid #cbd7e3;border-radius:7px;background:#fbfdff;color:#071a37;transition:border-color .2s,box-shadow .2s}
.first-access-form input:focus{border-color:#0875e9;outline:0;box-shadow:0 0 0 3px rgba(8,117,233,.14)}
.first-access-password-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.first-access-rules{display:grid;grid-template-columns:1fr 1fr;gap:5px 22px;margin:16px 0 20px;padding:14px 16px;border-radius:8px;background:#f1f6fb;color:#53677e;font-size:11px}
.first-access-rules strong{grid-column:1/-1;color:#20364f}
.first-access-rules span:before{content:'✓';margin-right:7px;color:#168758;font-weight:900}
.first-access-submit{width:100%;min-height:49px;border-radius:7px}
.first-access-footer{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 28px;background:#f7f9fc;border-radius:0 0 16px 16px;color:#697b8f;font-size:10px}
.first-access-footer form{margin:0}
.first-access-footer button{padding:4px;border:0;background:none;color:#315473;font-size:11px;font-weight:800;text-decoration:underline;cursor:pointer}
@media(max-width:620px){.first-access-screen{padding:0;place-items:stretch}.first-access-modal{width:100%;min-height:100vh;max-height:none;border-radius:0}.first-access-header{padding:15px 18px}.first-access-brand span{display:none}.first-access-content{grid-template-columns:46px 1fr;gap:13px;padding:24px 20px 8px}.first-access-icon{width:46px;height:46px;border-radius:12px;font-size:20px}.first-access-content h1{font-size:28px}.first-access-form{padding:10px 20px 24px}.first-access-password-grid,.first-access-rules{grid-template-columns:1fr}.first-access-rules strong{grid-column:auto}.first-access-footer{padding:14px 20px;border-radius:0}}

/* Experiencia moderna del administrador general */
.admin-hero{position:relative;overflow:hidden;min-height:275px;color:#fff;background:radial-gradient(circle at 78% 20%,rgba(0,174,255,.28),transparent 30%),radial-gradient(circle at 18% 110%,rgba(25,179,111,.25),transparent 38%),linear-gradient(125deg,#041327,#092f5d 58%,#074b78)}.admin-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 0 48%,rgba(255,255,255,.035) 48% 49%,transparent 49% 64%,rgba(255,255,255,.025) 64% 65%,transparent 65%)}.admin-hero-inner{position:relative;z-index:1;width:min(1180px,calc(100% - 38px));margin:auto;padding:24px 0 40px}.admin-hero-top{display:flex;align-items:center;justify-content:space-between}.admin-hero-top>div{display:flex;align-items:center;gap:20px;font-size:11px}.admin-hero-top>div a{color:#84ceff}.admin-brand{display:flex;align-items:center;gap:10px;color:#fff}.admin-brand img{width:112px;height:64px;object-fit:contain;filter:brightness(0) invert(1) drop-shadow(0 6px 15px rgba(0,0,0,.25))}.admin-brand small{font-size:8px;letter-spacing:.18em;color:#b9d7ef}.admin-hero-copy{margin-top:28px}.admin-hero-copy>span{font-size:9px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:#70d7ad}.admin-hero-copy h1{font:800 clamp(34px,5vw,58px)/1 var(--serif);letter-spacing:-.045em;margin:8px 0}.admin-hero-copy p{margin:0;color:#c4d9ea}.admin-nav{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.94);border-bottom:1px solid #dce5ee;backdrop-filter:blur(14px);box-shadow:0 8px 24px rgba(4,19,39,.06)}.admin-nav>div{width:min(1180px,calc(100% - 38px));height:58px;margin:auto;display:flex;align-items:center;gap:7px;overflow-x:auto}.admin-nav a{white-space:nowrap;padding:10px 15px;border-radius:999px;color:#38506a;font-size:11px;font-weight:800}.admin-nav a:hover{background:#e8f3ff;color:#0767df}.admin-wide{width:min(1280px,calc(100% - 32px))}.admin-card{padding:26px;border:1px solid #dbe4ee;border-radius:14px;background:#fff;box-shadow:0 10px 30px rgba(7,26,55,.05)}.admin-card h2{font:800 22px var(--serif);margin:0 0 6px}.admin-card>p{margin-top:0;color:#66778b;font-size:13px}.admin-card label{margin:14px 0}.admin-card select{padding:10px;border:1px solid #cbd5e1}.ad-admin-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:18px;margin:30px 0 18px}.admin-form-grid.compact{margin:0}.letter-template{min-height:300px!important}.form-hint{color:#64748b;font-size:11px;line-height:2}.admin-save.secondary{background:#163b63}.tariff-card{margin-bottom:18px}.admin-table-wrap{overflow:auto;margin:18px 0}.admin-data-table{width:100%;border-collapse:collapse;font-size:12px}.admin-data-table th{position:sticky;top:0;z-index:2;background:#eef4fa;text-align:left;color:#496077}.admin-data-table th button{width:100%;padding:13px 11px;border:0;background:none;text-align:left;color:inherit;font:800 10px inherit;letter-spacing:.05em;text-transform:uppercase;cursor:pointer}.admin-data-table th button[aria-sort=ascending]:after{content:" ↑"}.admin-data-table th button[aria-sort=descending]:after{content:" ↓"}.admin-data-table td{padding:12px 11px;border-bottom:1px solid #e5ebf1;vertical-align:top}.admin-data-table tbody tr:hover{background:#f8fbff}.admin-table-tools{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-top:24px}.admin-table-tools label{width:min(420px,100%)}.admin-table-tools span{font-size:11px;color:#64748b}.tariff-table input:not([type=checkbox]),.tariff-table select{min-width:82px;margin:0;padding:8px}.tariff-table td:nth-child(4) input{min-width:240px}.letter-history{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.letter-history a{display:grid;gap:3px;padding:14px;border:1px solid #dbe4ee;color:#071a37}.letter-history span,.letter-history time{font-size:10px;color:#64748b}.letter-preview-actions{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.letter-preview>article{width:min(820px,100%);margin:auto;padding:55px 65px;border:1px solid #dde5ed;background:#fff;box-shadow:0 24px 70px rgba(7,26,55,.1)}.letter-preview article>header{display:flex;align-items:center;justify-content:space-between;border-bottom:2px solid #0767df;padding-bottom:20px}.letter-preview article>header img{width:170px;height:90px;object-fit:contain}.letter-preview article>header span{font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:#64748b}.letter-preview article h1{font-size:32px;line-height:1.15;margin:30px 0}.letter-date{text-align:right;color:#64748b;font-size:11px}.letter-body{font-size:15px;line-height:1.8}.admin-success{border-radius:8px}.admin-panel{border-radius:16px}
@media(max-width:850px){.ad-admin-grid{grid-template-columns:1fr}.letter-history{grid-template-columns:1fr 1fr}.admin-hero-top>div strong{display:none}.letter-preview>article{padding:35px 28px}}
@media(max-width:600px){.admin-hero{min-height:240px}.admin-hero-top>div{display:none}.admin-hero-copy h1{font-size:37px}.admin-nav>div{width:calc(100% - 20px)}.admin-panel{width:calc(100% - 20px);padding:22px 16px}.letter-history{grid-template-columns:1fr}.admin-table-tools{align-items:stretch;flex-direction:column}.letter-preview article>header img{width:130px}.letter-preview article>header span{display:none}}
.admin-person{display:flex;align-items:center;gap:10px;min-width:190px}.admin-person>span,.admin-person>img{width:38px;height:38px;border-radius:50%;object-fit:cover;display:grid;place-items:center;background:#e6f1ff;color:#0767df;font-size:10px;font-weight:900}.admin-person div{display:grid;gap:2px}.admin-person small,.cell-note{display:block;margin-top:3px;color:#718096;font-size:9px}.status-pill{display:inline-block;padding:5px 8px;border-radius:999px;background:#eaf2fb;color:#21486f;font-size:9px;font-weight:900;letter-spacing:.04em}.status-activo{background:#dcf7e9;color:#087343}.status-pendiente{background:#fff3d7;color:#966200}.status-suspendido,.status-rechazado{background:#ffe3e3;color:#9c2525}.inline-status-form{display:flex;gap:5px;min-width:190px}.inline-status-form select{max-width:120px;padding:7px;border:1px solid #cbd5e1}.inline-status-form button{padding:7px 9px;border:0;border-radius:4px;background:#0767df;color:#fff;font-size:9px;font-weight:800}.admin-thumb{width:70px;height:48px;object-fit:cover;border-radius:6px}.admin-thumb.empty{display:grid;place-items:center;background:#e8f1fb;color:#56708b;font-size:9px;font-weight:900}.muted{color:#8a98a8}.admin-ad-thumb{width:110px;height:72px;object-fit:cover;border-radius:7px;border:1px solid #dce5ed}.admin-ad-thumb.empty{display:grid;place-items:center;background:#eef3f7;color:#7b8998;font-size:9px}.advertising-table{min-width:1450px}.advertising-table td{max-width:230px}.ad-inventory{margin-bottom:18px}.admin-empty{padding:38px;text-align:center;color:#718096;background:#f8fafc}
.public-empty{padding:55px;border:1px solid var(--line);background:var(--paper);text-align:center}.public-empty h1,.public-empty h2{font:800 clamp(28px,4vw,46px)/1.05 var(--serif);margin:8px 0}.dynamic-news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.dynamic-news-card{display:block;border-bottom:1px solid var(--line);padding-bottom:22px;color:var(--ink)}.dynamic-news-card img{width:100%;height:210px;object-fit:cover;margin-bottom:15px}.dynamic-news-card h2{font:800 23px/1.12 var(--serif);margin:7px 0}.dynamic-news-card p{color:var(--muted)}.dynamic-news-card small{color:var(--muted)}.article-content{font-size:18px;line-height:1.85}.admin-create-panel{margin:28px 0;border:1px solid #dbe4ee;border-radius:12px;background:#f8fbff}.admin-create-panel summary{padding:17px 20px;cursor:pointer;color:#0767df;font-weight:900}.admin-create-panel form{padding:0 20px 22px}.admin-create-panel textarea{min-height:110px}.admin-create-panel select,.sections-table input{padding:9px;border:1px solid #cbd5e1}.sections-table{min-width:1050px}.sections-table td:nth-child(4) input{min-width:280px}.new-section-card{margin:20px 0}@media(max-width:850px){.dynamic-news-grid{grid-template-columns:1fr 1fr}}@media(max-width:600px){.dynamic-news-grid{grid-template-columns:1fr}.public-empty{padding:38px 20px}}

.news-admin-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px}.news-admin-heading>div{max-width:780px}.news-composer[open]{background:#fff;box-shadow:0 20px 50px rgba(7,26,55,.08)}.news-composer summary{list-style:none;border-bottom:1px solid transparent}.news-composer[open] summary{border-bottom-color:#e4eaf1}.news-composer summary::-webkit-details-marker{display:none}.news-composer form{padding:22px}.news-form-section{padding:24px;border:1px solid #dce5ee;border-radius:12px;background:#fbfdff}.news-form-section+.news-form-section{margin-top:18px}.news-form-section h2{margin:0 0 4px;font:800 20px var(--serif)}.news-form-section>div>p{margin:0 0 18px;color:#64748b;font-size:12px}.news-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.news-form-grid .field-wide{grid-column:1/-1}.news-form-grid label{margin:0}.news-form-grid input,.news-form-grid select,.news-form-grid textarea,.media-section textarea{width:100%;margin-top:7px;padding:12px;border:1px solid #cbd5e1;border-radius:6px;background:#fff;color:#071a37}.news-form-grid textarea{min-height:105px;font:inherit}.news-form-grid label:last-child textarea{min-height:270px}.media-dropzone{display:grid!important;place-items:center;min-height:160px;padding:24px;border:2px dashed #a9bdd2;border-radius:10px;background:#f3f8fd;text-align:center;cursor:pointer}.media-dropzone:hover,.media-dropzone:focus-within{border-color:#0767df;background:#edf6ff}.media-dropzone input{position:absolute;width:1px!important;height:1px;opacity:0}.media-dropzone span{padding:10px 17px;border-radius:6px;background:#0767df;color:#fff;font-weight:800}.media-dropzone small{margin-top:10px;color:#64748b;font-weight:500}.media-preview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0}.media-preview:empty{display:none}.media-preview article{min-width:0;padding:12px;border:1px solid #dce5ee;border-radius:8px;background:#fff}.media-preview strong,.media-preview small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.media-preview strong{font-size:11px}.media-preview small{color:#64748b;font-size:9px}.media-urls{min-height:100px!important;resize:vertical;font:inherit!important}.field-help{display:block;margin-top:6px;color:#64748b;font-size:10px;font-weight:500}.news-form-actions{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:18px}.news-form-actions .legal-check{display:flex;align-items:center;gap:8px}.news-form-actions .legal-check input{width:auto;margin:0}.news-table{min-width:1080px}.article-media{display:grid;gap:24px;margin-top:42px}.article-media figure{margin:0}.article-media img,.article-media video{width:100%;max-height:680px;object-fit:contain;background:#071a37}.article-media figcaption{padding-top:8px;color:var(--muted);font-size:12px}.article-audio,.article-media-link{display:grid;gap:12px;padding:20px;border:1px solid var(--line);background:var(--paper)}.article-audio audio{width:100%}.article-media-link{color:var(--blue);font-weight:800}
@media(max-width:850px){.news-form-grid{grid-template-columns:1fr 1fr}.news-form-grid .field-wide{grid-column:1/-1}.media-preview{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.news-admin-heading{align-items:stretch;flex-direction:column}.news-admin-heading .admin-save{width:100%}.news-composer form{padding:12px}.news-form-section{padding:16px}.news-form-grid{grid-template-columns:1fr}.news-form-grid .field-wide{grid-column:auto}.media-preview{grid-template-columns:1fr}.news-form-actions{align-items:stretch;flex-direction:column}.news-form-actions .admin-save{width:100%}.news-table{min-width:0}.news-table thead{display:none}.news-table,.news-table tbody,.news-table tr,.news-table td{display:block;width:100%}.news-table tr{margin-bottom:14px;padding:12px;border:1px solid #dce5ee;border-radius:10px;background:#fff}.news-table td{display:grid;grid-template-columns:88px 1fr;gap:10px;padding:8px 4px;border:0}.news-table td:before{content:attr(data-label);color:#64748b;font-size:9px;font-weight:900;letter-spacing:.05em;text-transform:uppercase}.news-table .inline-status-form{min-width:0;flex-wrap:wrap}.news-table .admin-thumb{width:58px;height:42px}}

/* Premium Layout & Ads */
.premium-layout {
    display: grid;
    grid-template-columns: 280px 1fr 280px;
    gap: 30px;
    align-items: start;
    margin-top: 40px;
}
.premium-sidebar {
    display: block;
}
.premium-ads-sticky {
    position: sticky;
    top: 90px;
    height: calc(100vh - 110px);
    overflow: hidden;
}
.premium-ads-scrollable {
    display: flex;
    flex-direction: column;
    gap: 20px;
    height: 100%;
}
.premium-ad-card {
    background: var(--white);
    border: 1px solid var(--line);
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.03);
    display: flex;
    flex-direction: column;
    transition: box-shadow 0.3s ease;
}
.premium-ad-card:hover {
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.08);
}
.premium-ad-img {
    width: 100%;
    height: auto;
    object-fit: cover;
}
.premium-ad-content {
    padding: 20px;
}
.premium-ad-title {
    font: 800 17px var(--serif);
    margin: 0 0 8px;
    color: var(--ink);
}
.premium-ad-desc {
    font-size: 13px;
    color: var(--muted);
    margin: 0 0 16px;
    line-height: 1.5;
}
.premium-ad-contact a {
    display: block;
    font-size: 13px;
    color: var(--ink);
    margin-bottom: 6px;
    font-weight: 700;
}
.premium-ad-link {
    display: inline-block;
    margin-top: 14px;
    font-size: 13px;
    font-weight: 800;
    color: var(--blue);
}

/* Enhancing existing cards for premium feel */
.sorteo-portada-card, .journalist-publication-card, .actualidad-card, .club-update-card {
    border-radius: 12px !important;
    border: 1px solid transparent !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.04) !important;
    transition: transform 0.3s ease, box-shadow 0.3s ease !important;
    background: var(--white) !important;
    padding: 24px !important;
}
.sorteo-portada-card:hover, .journalist-publication-card:hover, .actualidad-card:hover, .club-update-card:hover {
    transform: translateY(-4px) !important;
    box-shadow: 0 12px 35px rgba(0, 0, 0, 0.08) !important;
}

/* Adjustments for the new main column */
.premium-main-content .section-space {
    margin-block: 40px;
}
.premium-main-content .shell {
    width: 100%;
    padding: 0;
}

@media (max-width: 980px) {
    .premium-layout {
        grid-template-columns: 220px 1fr 220px;
        gap: 20px;
    }
}
@media (max-width: 768px) {
    .premium-layout {
        display: flex;
        flex-direction: column;
    }
    .premium-sidebar.left-sidebar {
        order: -1;
    }
    .premium-sidebar.right-sidebar {
        order: 1;
    }
    .premium-ads-sticky {
        position: static;
        height: auto;
    }
    .premium-ads-scrollable {
        flex-direction: row;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        padding-bottom: 10px;
    }
    .premium-ad-card {
        min-width: 80vw;
        scroll-snap-align: start;
    }
}

/* Navegación y encabezados editoriales - Contraste invertido y optimizado */
.portal-nav-link, .portal-journalists, .portal-more > button {
    color: #f8fafc !important;
    font-weight: 800 !important;
    text-shadow: 0 1px 3px rgba(0,0,0,0.5);
}
.portal-nav-link:hover, .portal-journalists:hover, .portal-more > button:hover,
.portal-nav-link.is-current, .portal-journalists.is-current {
    color: #ffffff !important;
}
.portal-nav-link > span {
    color: #7dd3fc !important;
    font-weight: 900 !important;
    border-color: rgba(125,211,252,0.4) !important;
    background: rgba(56,189,248,0.18) !important;
}

/* Encabezados de secciones en tono oscuro profundo */
.editorial-section-title h2,
.section-heading h2,
.section-header h2,
.timeline-header h3,
.destacados-title,
.home-section-title {
    color: #071a37 !important;
    font-family: var(--serif, 'Libre Franklin', serif);
    font-weight: 800;
}


/* Selector editorial de periodistas */
.journalists-menu{position:relative;height:100%}.journalists-menu.is-current>.portal-journalists{color:#fff}.journalists-menu.is-current>.portal-journalists:after{transform:scaleX(1)}.portal-journalists{border:0;background:transparent;cursor:pointer}.portal-journalists>span{font-size:14px;transition:transform .2s}.journalists-menu.is-open .portal-journalists>span{transform:rotate(180deg)}.journalists-dropdown{position:absolute;top:calc(100% - 4px);right:-52px;z-index:40;display:none;width:min(410px,calc(100vw - 30px));overflow:hidden;border:1px solid #29425e;border-radius:16px;background:#091e37;box-shadow:0 24px 65px rgba(0,0,0,.35)}.journalists-menu.is-open .journalists-dropdown,.journalists-menu:focus-within .journalists-dropdown{display:block;animation:journalists-in .18s ease-out}.journalists-dropdown header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;border-bottom:1px solid #29425e;background:linear-gradient(135deg,#0d2947,#0a2039)}.journalists-dropdown header small,.journalists-dropdown header strong{display:block}.journalists-dropdown header small{margin-bottom:3px;color:#72c8ff;font-size:8px;font-weight:900;letter-spacing:.14em}.journalists-dropdown header strong{color:#fff;font-size:15px}.journalists-dropdown header a{color:#8bd4ff;font-size:10px;font-weight:900;white-space:nowrap}.journalists-dropdown-list{display:grid;max-height:390px;padding:8px;overflow-y:auto}.journalists-dropdown-list>a{display:grid;grid-template-columns:44px minmax(0,1fr) 24px;align-items:center;gap:11px;padding:10px 11px;border-radius:10px;color:#e9f2fa;transition:background .18s,transform .18s}.journalists-dropdown-list>a:hover,.journalists-dropdown-list>a:focus-visible{background:#123a60;transform:translateX(2px);outline:none}.journalists-dropdown-list img,.journalists-dropdown-list>a>span{width:44px;height:44px;border-radius:50%;object-fit:cover}.journalists-dropdown-list>a>span{display:grid;place-items:center;background:linear-gradient(135deg,#0878e8,#16a6df);color:#fff;font-size:10px;font-weight:900}.journalists-dropdown-list b,.journalists-dropdown-list small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.journalists-dropdown-list b{font-size:12px}.journalists-dropdown-list small{margin-top:2px;color:#9fb5c9;font-size:9px}.journalists-dropdown-list i{color:#72c8ff;font-style:normal}.journalists-dropdown-list>p{margin:0;padding:18px;color:#b8c9d8;font-size:11px}.mobile-journalists summary{display:flex;align-items:center;justify-content:space-between;padding:11px 12px;border-radius:8px;color:#e3edf7;font-size:21px;font-weight:700;cursor:pointer;list-style:none}.mobile-journalists summary::-webkit-details-marker{display:none}.mobile-journalists[open] summary{background:#10395f;color:#fff}.mobile-journalists summary span{transition:transform .2s}.mobile-journalists[open] summary span{transform:rotate(180deg)}.mobile-nav-drawer nav .mobile-journalist{padding-left:24px;font-size:16px}.mobile-journalist small{display:block;margin-top:2px;color:#8ba8c3;font-size:11px;font-weight:500}@keyframes journalists-in{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@media(max-width:1024px){.journalists-menu{display:none}}@media(prefers-reduced-motion:reduce){.journalists-dropdown{animation:none}.journalists-dropdown-list>a,.portal-journalists>span{transition:none}}

/* Logo del pie: EXACTAMENTE 1/4 del logo principal con la misma animación */
.footer-brand-lockup{position:relative;display:grid;place-items:center;width:89px;height:60px;margin:-10px 0 14px;isolation:isolate;text-decoration:none}
.footer-brand-lockup::before{content:"";position:absolute;z-index:0;inset:4% -7%;border:1px solid rgba(255,255,255,.3);border-radius:50%;background:radial-gradient(ellipse at center,rgba(255,255,255,.2) 0,rgba(7,26,55,.5) 58%,rgba(7,26,55,.16) 72%,transparent 74%);box-shadow:0 5px 12px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.22);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);animation:hero-brand-breathe 4.8s ease-in-out infinite}
.footer-brand-lockup::after{content:"";position:absolute;z-index:3;left:12%;right:12%;bottom:5%;height:4px;border-radius:50%;background:rgba(0,0,0,.34);filter:blur(3px);animation:hero-brand-shadow 4.8s ease-in-out infinite}
.footer-brand-ring{position:absolute;z-index:1;inset:-2px -4px;border-radius:50%;background:conic-gradient(from 0deg,transparent 0 18%,rgba(102,198,255,.75) 28%,rgba(255,255,255,.17) 43%,transparent 56% 73%,rgba(68,151,232,.65) 84%,transparent 96%);opacity:.85;animation:hero-ring-spin 12s linear infinite;mask:radial-gradient(ellipse,transparent 0 68%,#000 69% 72%,transparent 73%);-webkit-mask:radial-gradient(ellipse,transparent 0 68%,#000 69% 72%,transparent 73%)}
.footer-brand-lockup img{position:relative;z-index:2;width:85px;height:auto;object-fit:contain;filter:drop-shadow(0 3px 6px rgba(0,0,0,.48));animation:hero-logo-color 12s ease-in-out infinite;transition:transform .35s ease}
.footer-brand-lockup:hover img{transform:scale(1.04)}
@media(max-width:680px){.footer-brand-lockup{margin:-6px auto 12px}}
@media(prefers-reduced-motion:reduce){.footer-brand-lockup::before,.footer-brand-lockup::after,.footer-brand-ring,.footer-brand-lockup img{animation:none}.footer-brand-lockup:hover img{transform:none}}
.membership-note{padding:12px;border-left:3px solid #0b8b56;background:#edf9f3;color:#315c49;font-size:12px}.access-gate{max-width:760px;padding:55px;border:1px solid var(--line);background:var(--paper);text-align:center}.access-gate h1{font:800 clamp(32px,5vw,52px)/1.05 var(--serif)}.access-gate>div{display:flex;justify-content:center;gap:10px;margin-top:25px}.article-comments{margin-top:55px;padding-top:35px;border-top:1px solid var(--line)}.comments-notice{padding:22px;border:1px solid var(--line);background:var(--paper)}.comment-form{display:grid;gap:10px}.comment-form label{font-weight:800}.comment-form textarea{min-height:125px;padding:14px;border:1px solid var(--line);font:inherit;resize:vertical}.comment-form .button{justify-self:start}.comment-list{display:grid;gap:12px;margin-top:28px}.comment-list article{padding:18px;border:1px solid var(--line);background:var(--white)}.comment-list header{display:flex;justify-content:space-between;gap:12px}.comment-list time{color:var(--muted);font-size:10px}.comment-list p{margin-bottom:0;white-space:normal}.navigation-sections-table{min-width:1700px}@media(max-width:600px){.access-gate{padding:36px 18px}.access-gate>div{flex-direction:column}.comment-list header{flex-direction:column}}
.journalist-publications .section-heading>div>p{margin:7px 0 0;color:var(--muted);font-size:14px}.journalist-publication-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.journalist-publication-card{overflow:hidden;border:1px solid #dfe7ef;border-radius:16px;background:var(--white);box-shadow:0 10px 32px rgba(7,26,55,.07);transition:transform .22s,box-shadow .22s}.journalist-publication-card:hover{transform:translateY(-4px);box-shadow:0 18px 42px rgba(7,26,55,.13)}.publication-cover{position:relative;display:block;height:220px;overflow:hidden;background:#dbe8f3}.publication-cover img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.journalist-publication-card:hover .publication-cover img{transform:scale(1.035)}.publication-placeholder{display:grid;place-items:center;width:100%;height:100%;background:linear-gradient(135deg,#071a37,#0878e8);color:rgba(255,255,255,.9);font:900 58px var(--serif)}.publication-category,.publication-access{position:absolute;top:14px;padding:6px 10px;border-radius:999px;font-size:9px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.publication-category{left:14px;background:rgba(255,255,255,.94);color:#071a37}.publication-access{right:14px;background:rgba(7,26,55,.9);color:#fff;backdrop-filter:blur(8px)}.publication-content{padding:20px}.publication-author{display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:10px;align-items:center}.publication-author>img,.publication-author>span{width:36px;height:36px;border-radius:50%;object-fit:cover}.publication-author>span{display:grid;place-items:center;background:#e5f2ff;color:#0767c8;font-size:10px;font-weight:900}.publication-author small,.publication-author b{display:block}.publication-author small{color:var(--muted);font-size:7px;letter-spacing:.08em}.publication-author b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.publication-author time{color:var(--muted);font-size:9px}.publication-content h3{margin:16px 0 8px;font:800 23px/1.16 var(--serif);letter-spacing:-.025em}.publication-content>p{display:-webkit-box;min-height:66px;margin:0;color:var(--muted);font-size:13px;line-height:1.65;overflow:hidden;-webkit-line-clamp:3;-webkit-box-orient:vertical}.publication-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}.publication-open{color:#0878e8;font-size:11px;font-weight:900}.publication-open.is-locked{color:#7a5a12}.publication-comments{display:flex;align-items:center;gap:5px;color:#526577;font-size:9px;font-weight:800}.publication-comments>b{display:grid;place-items:center;min-width:21px;height:21px;padding:0 5px;border-radius:11px;background:#e8f2fb;color:#075fae;font-size:9px}@media(max-width:950px){.journalist-publication-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.journalist-publication-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;margin-right:-14px;padding:2px 14px 18px 0}.journalist-publication-card{flex:0 0 86%;scroll-snap-align:start}.publication-cover{height:205px}.publication-content h3{font-size:21px}.publication-actions{align-items:flex-start;flex-direction:column}.publication-comments{min-height:34px}}

/* Tabla compacta y responsive de secciones */
.navigation-sections-table{width:100%;min-width:0;table-layout:auto;font-size:11px}.navigation-sections-table th,.navigation-sections-table td{padding:8px 6px;white-space:nowrap}.navigation-sections-table input:not([type=checkbox]):not([type=color]),.navigation-sections-table select{box-sizing:content-box;width:auto;min-width:0;max-width:100%;margin:0;padding:7px 6px;field-sizing:content}.navigation-sections-table td:nth-child(1) input{width:4ch}.navigation-sections-table td:nth-child(2) input{width:3ch;min-width:3ch;font-size:15px}.navigation-sections-table td:nth-child(3) input{min-width:8ch;max-width:16ch}.navigation-sections-table td:nth-child(4) input{width:auto;min-width:8ch;max-width:16ch}.navigation-sections-table td:nth-child(5) select{min-width:9ch;max-width:15ch}.navigation-sections-table td:nth-child(6) select{min-width:12ch;max-width:19ch}.navigation-sections-table td:nth-child(7) input{min-width:10ch;max-width:25ch}.navigation-sections-table td:nth-child(8) input{width:38px;height:32px;margin:0;padding:2px}.navigation-sections-table td:nth-child(n+9){text-align:center}.navigation-sections-table input[type=checkbox]{width:18px;height:18px;margin:2px auto}
@media(max-width:900px){.navigation-sections-table{display:block}.navigation-sections-table thead{display:none}.navigation-sections-table tbody{display:grid;gap:14px}.navigation-sections-table tr{display:grid;grid-template-columns:1fr 1fr;gap:10px 14px;padding:16px;border:1px solid #dbe4ee;border-radius:12px;background:#fff;box-shadow:0 8px 22px rgba(7,26,55,.05)}.navigation-sections-table td{display:grid;grid-template-columns:105px minmax(0,1fr);align-items:center;gap:8px;padding:0;border:0;white-space:normal;text-align:left!important}.navigation-sections-table td:before{color:#64748b;font-size:9px;font-weight:900;letter-spacing:.05em;text-transform:uppercase}.navigation-sections-table td:nth-child(1):before{content:"Orden"}.navigation-sections-table td:nth-child(2):before{content:"Icono"}.navigation-sections-table td:nth-child(3):before{content:"Nombre"}.navigation-sections-table td:nth-child(4):before{content:"Ruta"}.navigation-sections-table td:nth-child(5):before{content:"Superior"}.navigation-sections-table td:nth-child(6):before{content:"Acceso"}.navigation-sections-table td:nth-child(7):before{content:"Descripción"}.navigation-sections-table td:nth-child(8):before{content:"Color"}.navigation-sections-table td:nth-child(9):before{content:"Noticias"}.navigation-sections-table td:nth-child(10):before{content:"Activa"}.navigation-sections-table td:nth-child(11):before{content:"Menú"}.navigation-sections-table input:not([type=checkbox]):not([type=color]),.navigation-sections-table select{box-sizing:border-box;width:100%;min-width:0;max-width:none}.navigation-sections-table input[type=checkbox]{margin:0}}
@media(max-width:620px){.navigation-sections-table tr{grid-template-columns:1fr}.navigation-sections-table td{grid-template-columns:95px minmax(0,1fr)}.new-section-card .admin-form-grid{grid-template-columns:1fr}}
.membership-settings-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:18px;margin:28px 0}.memberships-admin .admin-card select{display:block;width:100%;margin-top:7px;border-radius:6px;background:#fff}.price-currency-grid{display:grid;grid-template-columns:1fr 1.35fr;gap:14px}.country-access-card select[multiple]{min-height:210px;padding:6px}.country-access-card select[multiple] option{padding:6px 8px}.country-access-card select:disabled{opacity:.5;background:#edf1f5}@media(max-width:820px){.membership-settings-grid{grid-template-columns:1fr}}@media(max-width:520px){.price-currency-grid{grid-template-columns:1fr}}
.commercial-logo-strip{position:relative;overflow:hidden;border-bottom:1px solid rgba(255,255,255,.1);background:linear-gradient(120deg,#0b1511,#14271e 55%,#0d1914);color:#fff}.commercial-logo-strip:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 18% 0,rgba(31,176,115,.13),transparent 28%);pointer-events:none}.commercial-logo-strip>.shell{position:relative;display:grid;grid-template-columns:190px minmax(0,1fr);align-items:center;gap:24px;min-height:126px;padding-top:18px;padding-bottom:18px}.commercial-logo-heading{display:grid;gap:7px}.commercial-logo-title{font-size:9px;font-weight:900;letter-spacing:.17em;line-height:1.55;color:#d4e2da}.commercial-logo-heading small{max-width:170px;color:#7f968a;font-size:9px;line-height:1.45}.commercial-carousel{display:grid;grid-template-columns:minmax(0,1fr);align-items:center;gap:9px;min-width:0}.commercial-carousel.is-overflowing{grid-template-columns:36px minmax(0,1fr) 36px}.commercial-carousel-viewport{min-width:0;overflow:hidden;scroll-snap-type:x mandatory}.commercial-logo-list{display:flex;align-items:center;justify-content:center;gap:14px;width:100%}.commercial-carousel.is-overflowing .commercial-logo-list{justify-content:flex-start;width:max-content}.commercial-logo-list a{position:relative;isolation:isolate;display:grid;grid-template-rows:1fr auto;place-items:center;flex:0 0 150px;width:150px;height:88px;overflow:hidden;border:1px solid rgba(255,255,255,.13);border-radius:13px;background:linear-gradient(145deg,#f8faf9,#e5ebe7);box-shadow:0 10px 25px rgba(0,0,0,.2);scroll-snap-align:start;transition:transform .25s,border-color .25s,box-shadow .25s}.commercial-logo-list img{z-index:0;display:block;width:100%;height:58px;padding:8px 12px 2px;object-fit:contain;filter:grayscale(.7) contrast(.92);transition:filter .25s,transform .25s}.commercial-logo-list a>b{z-index:2;align-self:stretch;width:100%;overflow:hidden;padding:6px 8px;background:rgba(8,28,18,.9);color:#e7f3ed;font-size:8px;text-align:center;text-overflow:ellipsis;white-space:nowrap}.commercial-logo-list a>span{position:absolute;z-index:1;inset:0 0 24px;background:linear-gradient(180deg,rgba(7,19,13,.04),rgba(7,19,13,.15));pointer-events:none;transition:background .25s}.commercial-logo-list a:hover,.commercial-logo-list a:focus-visible{border-color:#35bf82;box-shadow:0 14px 32px rgba(0,0,0,.3);transform:translateY(-3px)}.commercial-logo-list a:hover img,.commercial-logo-list a:focus-visible img{filter:none;transform:scale(1.04)}.commercial-carousel-control{display:none;place-items:center;width:34px;height:34px;border:1px solid rgba(255,255,255,.16);border-radius:50%;background:rgba(255,255,255,.07);color:#dff6e9;font-size:23px;cursor:pointer;transition:background .2s,border-color .2s,transform .2s}.commercial-carousel.is-overflowing .commercial-carousel-control{display:grid}.commercial-carousel-control:hover{border-color:#36bd82;background:#138152;transform:scale(1.05)}.commercial-carousel-progress{display:none;position:absolute;right:0;bottom:0;left:0;height:2px;background:rgba(255,255,255,.05)}.commercial-logo-strip.is-playing .commercial-carousel-progress{display:block}.commercial-carousel-progress i{display:block;width:0;height:100%;background:linear-gradient(90deg,#18a96d,#55d49a)}.commercial-logo-strip.is-playing .commercial-carousel-progress i{animation:commercial-progress 2.8s linear infinite}@keyframes commercial-progress{to{width:100%}}
.geo-rule-editor{margin:20px 0}.geo-rule-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.geo-rule-grid label{margin:0}.geo-active{display:flex!important;align-items:center;gap:8px;align-self:end;min-height:43px}.geo-active input,.table-check input{width:auto!important;margin:0!important}.geo-rules-table{min-width:1080px}.geo-rules-table select,.geo-rules-table input[type=date]{width:100%;min-width:125px;padding:8px;border:1px solid #cbd5e1}.table-check{display:flex!important;align-items:center;gap:6px;white-space:nowrap}.rule-actions{display:flex;gap:6px}.rule-actions button{padding:8px 10px;border:0;border-radius:5px;background:#0767df;color:#fff;font-size:9px;font-weight:800;cursor:pointer}.rule-actions .danger{background:#9b3030}.membership-list-title{margin:38px 0 8px;font:800 25px var(--serif)}
@media(max-width:760px){.commercial-logo-strip>.shell{grid-template-columns:1fr;gap:11px;min-height:0;padding-block:14px}.commercial-logo-heading{display:flex;align-items:center;justify-content:space-between;gap:14px}.commercial-logo-title{text-align:left}.commercial-logo-heading small{max-width:140px;text-align:right}.commercial-carousel{gap:6px}.commercial-carousel.is-overflowing{grid-template-columns:30px minmax(0,1fr) 30px}.commercial-carousel-control{width:29px;height:29px}.commercial-logo-list{gap:10px}.commercial-logo-list a{flex-basis:125px;width:125px;height:76px}.commercial-logo-list img{height:49px}.geo-rule-grid{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.commercial-logo-strip.is-playing .commercial-carousel-progress i{animation:none}.commercial-logo-list a,.commercial-logo-list img,.commercial-carousel-control{transition:none}}
.panel-portal-nav{position:sticky;top:0;z-index:220;height:66px;border-bottom:1px solid rgba(142,181,219,.2);background:rgba(4,17,37,.98);box-shadow:0 8px 25px rgba(2,10,23,.24);backdrop-filter:blur(16px)}.panel-portal-inner{width:min(1280px,calc(100% - 30px));height:66px;margin:auto;display:grid;grid-template-columns:86px minmax(0,1fr) auto;align-items:center;gap:10px}.panel-nav-logo{display:grid;place-items:center;width:82px;height:58px}.panel-nav-logo img{width:78px;height:48px;object-fit:contain;filter:brightness(0) invert(1) drop-shadow(0 4px 9px rgba(0,0,0,.3))}.panel-nav-links{min-width:0;height:100%;display:flex;align-items:center;overflow-x:auto;scrollbar-width:thin}.panel-nav-links a{position:relative;display:flex;align-items:center;gap:6px;height:100%;padding:0 10px;color:#dbe8f5;font-size:14px;font-weight:800;white-space:nowrap}.panel-nav-links a:after{content:"";position:absolute;left:10px;right:10px;bottom:0;height:3px;border-radius:3px 3px 0 0;background:#28a7ff;transform:scaleX(0);transition:transform .2s}.panel-nav-links a:hover,.panel-nav-links a.is-current{color:#fff}.panel-nav-links a:hover:after,.panel-nav-links a.is-current:after{transform:scaleX(1)}.panel-nav-links a>span{display:grid;place-items:center;width:24px;height:24px;border-radius:6px;background:rgba(255,255,255,.1);color:#8dd4ff;font-size:8px}.panel-nav-portal{display:flex;align-items:center;height:38px;padding:0 15px;border-radius:20px;background:#0878e8;color:#fff;font-size:13px;font-weight:800;white-space:nowrap}.journalist-panel-nav .panel-nav-links a:after{background:#21bd73}.journalist-panel-nav .panel-nav-links a>span{color:#72e1ac}
@media(max-width:780px){.panel-portal-inner{width:calc(100% - 18px);grid-template-columns:68px minmax(0,1fr) auto}.panel-nav-logo{width:64px}.panel-nav-logo img{width:62px}.panel-nav-links a{padding-inline:8px;font-size:13px}.panel-nav-links a>span{display:none}.panel-nav-portal{padding:0 11px;font-size:0}.panel-nav-portal:before{content:"↗";font-size:18px}}
.forgot-password-link{display:block;margin:-4px 0 18px;text-align:right;color:#0767df;font-size:12px;font-weight:800}.auth-register-callout{display:grid;gap:10px;margin-top:24px;padding-top:22px;border-top:1px solid var(--line);text-align:center}.auth-register-callout span{color:var(--muted);font-size:12px}.auth-register-callout .button{justify-content:center}.auth-secondary{margin-top:22px;text-align:center}.auth-secondary a{color:#0767df;font-size:12px;font-weight:800}
.journalist-panel-heading{display:flex;align-items:end;justify-content:space-between;gap:20px}.journalist-panel-heading>div{max-width:760px}.coverage-status{display:flex;align-items:center;gap:7px;width:max-content;margin:18px 0 10px;padding:6px 10px;border-radius:999px;background:#e6f7ee;color:#087143;font-size:10px;font-weight:800}.coverage-status span{width:7px;height:7px;border-radius:50%;background:#16a663}.coverage-status.is-offline{background:#fff2d8;color:#8b5a00}.coverage-status.is-offline span{background:#e09300}.coverage-quick-actions{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin:18px 0}.coverage-quick-actions button{display:grid;place-items:center;gap:7px;min-height:94px;border:1px solid #d9e3ec;border-radius:12px;background:#fff;color:#18344e;font:800 12px inherit;cursor:pointer;box-shadow:0 6px 18px rgba(7,26,55,.04)}.coverage-quick-actions button:hover{border-color:#21a86b;background:#f1fbf6}.coverage-quick-actions b{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:#e7f8f0;color:#07824b;font-size:17px}.mobile-coverage-composer{scroll-margin-top:80px}.mobile-coverage-composer form{padding:18px!important}.coverage-form-section{padding:22px;border:1px solid #dce5ee;border-radius:14px;background:#fbfdff}.coverage-form-section+.coverage-form-section{margin-top:16px}.coverage-step{display:flex;align-items:center;gap:12px;margin-bottom:18px}.coverage-step>span{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border-radius:50%;background:#07824b;color:#fff;font-weight:900}.coverage-step h2{margin:0;font:800 20px var(--serif)}.coverage-step p{margin:3px 0 0;color:#68798a;font-size:11px}.mobile-capture-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.capture-button{display:flex!important;align-items:center;justify-content:center;gap:8px;min-height:58px;margin:0!important;padding:10px;border:1px solid #b9d5c7;border-radius:10px;background:#eef9f3;color:#08663d;text-align:center;cursor:pointer}.capture-button input{position:absolute!important;width:1px!important;height:1px!important;opacity:0}.capture-button b{font-size:17px}.field-capture{grid-column:1/-1}.coverage-file-preview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-top:12px}.coverage-file-preview:empty{display:none}.coverage-file-preview article{overflow:hidden;padding:9px;border:1px solid #dce5ee;border-radius:9px;background:#fff}.coverage-file-preview img,.coverage-file-preview video{width:100%;height:90px;object-fit:cover;border-radius:6px;background:#0b1722}.coverage-file-preview strong,.coverage-file-preview small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.coverage-file-preview strong{margin-top:6px;font-size:10px}.coverage-file-preview small{color:#718096;font-size:8px}.coverage-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.coverage-form-grid .field-wide{grid-column:1/-1}.coverage-form-grid label{margin:0}.coverage-form-grid input,.coverage-form-grid select,.coverage-form-grid textarea{display:block;width:100%;margin-top:6px;padding:12px;border:1px solid #cbd5e1;border-radius:7px;background:#fff;color:#071a37;font:inherit}.coverage-form-grid textarea{min-height:100px;resize:vertical}.coverage-form-grid label:nth-last-child(2) textarea{min-height:260px}.human-review-note{display:grid;gap:4px;margin-top:16px;padding:15px;border-left:4px solid #07824b;background:#eaf8f1;color:#31594a;font-size:11px}.coverage-actions{position:sticky;bottom:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:15px;margin:16px -18px -18px;padding:13px 18px;border-top:1px solid #dce5ee;background:rgba(255,255,255,.96);backdrop-filter:blur(12px)}.coverage-actions>span{color:#6d7d8d;font-size:9px}.coverage-list-title{margin:35px 0 10px;font:800 25px var(--serif)}.coverage-fab{position:fixed;right:20px;bottom:20px;z-index:180;display:none;width:58px;height:58px;border:0;border-radius:50%;background:#07824b;color:#fff;font-size:30px;box-shadow:0 12px 30px rgba(0,70,39,.35)}
@media(max-width:900px){.journalist-mobile-panel{width:calc(100% - 24px);margin:24px auto;padding:24px}.mobile-capture-grid{grid-template-columns:repeat(2,1fr)}.coverage-file-preview{grid-template-columns:repeat(3,1fr)}}
@media(max-width:640px){.writer-hero{min-height:190px;padding:22px 16px}.writer-hero img{width:105px;height:55px}.writer-hero h1{font-size:31px}.writer-hero p{font-size:13px}.journalist-mobile-panel{width:100%;margin:0;padding:20px 14px;border-radius:0}.journalist-panel-heading{align-items:stretch;flex-direction:column}.coverage-primary{width:100%;min-height:50px}.coverage-quick-actions{grid-template-columns:repeat(4,1fr);gap:7px}.coverage-quick-actions button{min-height:76px;font-size:10px}.coverage-quick-actions button:last-child{grid-column:1/-1;min-height:48px}.coverage-quick-actions b{width:30px;height:30px}.mobile-coverage-composer form{padding:8px!important}.coverage-form-section{padding:15px}.mobile-capture-grid{grid-template-columns:1fr 1fr}.capture-button{min-height:62px;font-size:11px}.coverage-file-preview{display:flex;overflow-x:auto;scroll-snap-type:x mandatory}.coverage-file-preview article{flex:0 0 72%;scroll-snap-align:start}.coverage-form-grid{grid-template-columns:1fr}.coverage-form-grid .field-wide{grid-column:auto}.coverage-form-grid input,.coverage-form-grid select,.coverage-form-grid textarea{font-size:16px}.coverage-actions{margin:12px -8px -8px;padding:11px 8px}.coverage-actions .admin-save{min-height:48px}.coverage-fab{display:block}.journalist-news-table{min-width:0}.journalist-news-table thead{display:none}.journalist-news-table,.journalist-news-table tbody,.journalist-news-table tr,.journalist-news-table td{display:block;width:100%}.journalist-news-table tr{margin-bottom:12px;padding:12px;border:1px solid #dce5ee;border-radius:10px;background:#fff}.journalist-news-table td{display:grid;grid-template-columns:90px 1fr;gap:8px;padding:6px 0;border:0}.journalist-news-table td:before{content:attr(data-label);color:#718096;font-size:8px;font-weight:900;text-transform:uppercase}.journalist-news-table .admin-empty{display:block;text-align:center}}
.passport-photo-field{display:grid!important;grid-template-columns:104px 1fr;align-items:center;gap:8px 14px}.passport-photo-field>span:first-child{grid-column:1/-1}.passport-photo-preview{grid-row:2/4;display:grid;place-items:center;width:92px;height:118px;overflow:hidden;border:2px dashed #9fb7aa;border-radius:10px;background:#fff;color:#789086;font-size:10px}.passport-photo-preview img{width:100%;height:100%;object-fit:cover}.passport-photo-field input{align-self:end}.passport-photo-field small{color:#61766c;font-size:10px;font-weight:500}@media(max-width:480px){.passport-photo-field{grid-template-columns:88px 1fr}.passport-photo-preview{width:78px;height:102px}}
.contract-row-actions{display:flex;gap:6px;margin-top:7px}.contract-row-actions button,.contract-row-actions a{padding:6px 8px;border:1px solid #9cb9d5;border-radius:5px;background:#fff;color:#0767df;font-size:9px;font-weight:800;cursor:pointer}.contract-dialog{width:min(1000px,calc(100% - 30px));height:min(850px,calc(100vh - 30px));padding:0;border:0;border-radius:14px;background:#fff;box-shadow:0 30px 90px rgba(0,0,0,.4)}.contract-dialog::backdrop{background:rgba(2,12,24,.72);backdrop-filter:blur(4px)}.contract-dialog>header,.contract-dialog>footer{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:15px 20px;background:#071a37;color:#fff}.contract-dialog header span{font-size:8px;letter-spacing:.14em;color:#72d9a4}.contract-dialog h2{margin:2px 0 0;font-size:18px}.contract-dialog header button{width:38px;height:38px;border:0;border-radius:50%;background:rgba(255,255,255,.12);color:#fff;font-size:24px}.contract-dialog iframe{display:block;width:100%;height:calc(100% - 137px);border:0;background:#eef2f0}.contract-dialog footer{background:#f2f5f3;color:#17211d}.contract-dialog footer button{padding:10px 15px;border:1px solid #c7d2cc;border-radius:5px;background:#fff}.contract-frame-body{margin:0;padding:25px;background:#eef2f0;color:#17211d;font-family:Arial,sans-serif}.audited-contract{width:min(820px,100%);margin:auto;padding:38px;background:#fff;box-shadow:0 12px 35px rgba(0,0,0,.08)}.audited-contract>header{display:flex;justify-content:space-between;gap:20px;border-bottom:3px solid #07843d;padding-bottom:18px}.audited-contract header span{color:#07843d;font-size:9px;font-weight:800;letter-spacing:.14em}.audited-contract h1{margin:5px 0;font-size:25px}.audited-contract header a{align-self:start;padding:9px 12px;border-radius:5px;background:#07843d;color:#fff;font-size:10px;font-weight:800}.audited-contract dl{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:22px 0}.audited-contract dl div{padding:10px;background:#f1f6f3}.audited-contract dt{color:#718078;font-size:8px;font-weight:800;text-transform:uppercase}.audited-contract dd{margin:3px 0 0;font-size:11px;overflow-wrap:anywhere}.audited-contract pre{white-space:pre-wrap;font:13px/1.65 Arial,sans-serif}@media(max-width:650px){.contract-dialog{width:100%;height:100%;max-width:none;max-height:none;border-radius:0}.contract-frame-body{padding:8px}.audited-contract{padding:20px}.audited-contract>header{flex-direction:column}.audited-contract dl{grid-template-columns:1fr}.journalist-admin-table{min-width:0}.journalist-admin-table thead{display:none}.journalist-admin-table,.journalist-admin-table tbody,.journalist-admin-table tr,.journalist-admin-table td{display:block;width:100%}.journalist-admin-table tr{margin-bottom:12px;padding:12px;border:1px solid #dce5ee;border-radius:10px}.journalist-admin-table td{display:grid;grid-template-columns:88px 1fr;gap:8px;border:0}.journalist-admin-table td:before{content:attr(data-label);font-size:8px;font-weight:900;color:#718096;text-transform:uppercase}}
.commercial-pipeline{display:grid;gap:18px;margin:28px 0}.pipeline-cards{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.pipeline-cards article{display:flex;flex-direction:column-reverse;gap:8px;padding:15px;border:1px solid #dbe5ee;border-radius:10px;background:#fff}.pipeline-cards span{color:#64748b;font-size:8px;font-weight:900;text-transform:uppercase}.pipeline-cards b{font:900 28px var(--serif)}.commercial-leads-table{min-width:1250px}.lead-open{color:#0767df;font-weight:900}.lead-new{background:#e5f1ff;color:#075fae}.lead-contacted,.lead-proposal_sent{background:#fff2d8;color:#8b5a00}.lead-negotiation{background:#efe5ff;color:#6031a5}.lead-won{background:#ddf7e9;color:#087143}.lead-lost,.lead-cancelled{background:#f3e5e5;color:#8b3434}.commercial-lead-detail>header>a{display:inline-block;margin-bottom:14px;color:#0767df;font-size:10px;font-weight:900}.lead-detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:18px;margin-top:25px}.lead-detail-grid>div,.lead-detail-grid>aside{display:grid;align-content:start;gap:18px}.lead-data{display:grid;grid-template-columns:1fr 1fr;gap:10px}.lead-data>div{padding:12px;border-radius:8px;background:#f3f7fa}.lead-data dt{color:#6b7c8c;font-size:8px;font-weight:900;text-transform:uppercase}.lead-data dd{margin:4px 0 0;font-size:11px;overflow-wrap:anywhere}.lead-message{padding:15px;border-left:3px solid #0878e8;background:#f3f7fa}.lead-files{display:grid;gap:7px}.lead-files a{display:flex;justify-content:space-between;padding:10px;border:1px solid #dbe5ee;color:#0767df}.lead-management{position:sticky;top:85px}.lead-management select{display:block;width:100%;margin-top:6px;padding:10px;border:1px solid #cbd5e1}.lead-management textarea{min-height:120px!important}.lead-history{display:grid;gap:10px}.lead-history article{padding-left:13px;border-left:3px solid #9fb7ce}.lead-history b,.lead-history span,.lead-history small{display:block}.lead-history b{font-size:10px}.lead-history span,.lead-history small{color:#6b7c8c;font-size:8px}.lead-history p{font-size:11px}@media(max-width:1000px){.pipeline-cards{grid-template-columns:repeat(4,1fr)}.lead-detail-grid{grid-template-columns:1fr}.lead-management{position:static}}@media(max-width:600px){.pipeline-cards{grid-template-columns:1fr 1fr}.lead-data{grid-template-columns:1fr}}
.news-pdf-button{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border:1px solid #b9d3c6;border-radius:7px;background:#eff8f3;color:#087143;font-size:9px;font-weight:900;white-space:nowrap}.news-pdf-button>span{display:grid;place-items:center;width:28px;height:25px;border-radius:5px;background:#087143;color:#fff;font-size:7px;letter-spacing:.04em}.news-pdf-button:hover{border-color:#087143;background:#e1f4e9}.news-pdf-button>b{font-size:9px}@media(max-width:700px){.news-pdf-button{width:100%;justify-content:center;min-height:42px}}
.news-management-actions{display:grid;gap:7px}.news-delete-button{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:8px 10px;border:1px solid #d36a6a;border-radius:6px;background:#fff2f2;color:#9b2020;font-size:9px;font-weight:900;cursor:pointer}.news-delete-button>span{font-size:15px;line-height:1}.news-delete-button:hover:not(:disabled){background:#a62121;color:#fff}.news-delete-button:disabled{border-color:#d8dee5;background:#f1f3f5;color:#929da8;cursor:not-allowed;opacity:.72}.news-delete-button:disabled:after{content:' · requiere PDF';font-size:7px}.is-backup-ready .news-delete-button{animation:backup-ready .55s ease}@keyframes backup-ready{50%{box-shadow:0 0 0 5px rgba(8,113,67,.15)}}
/* Commercial proposals: one A4 visual source for preview and print. */
.proposal-workspace,.proposal-preview-shell{max-width:1180px;margin:30px auto;padding:0 20px}.proposal-builder{display:grid;gap:22px}.proposal-builder fieldset{border:1px solid #d8e2dc;border-radius:14px;padding:22px;background:#fff}.proposal-builder legend{font-weight:800;color:#07843d;padding:0 8px}.proposal-price-picker{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px;margin-bottom:18px}.proposal-price-picker label{display:flex;gap:10px;padding:12px;border:1px solid #d8e2dc;border-radius:10px}.proposal-price-picker small{display:block;color:#66716c;margin-top:4px}.proposal-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:18px}.proposal-toolbar form{display:inline}.commercial-proposal{width:210mm;min-height:297mm;margin:0 auto;background:#fff;color:#17211d;box-shadow:0 18px 60px #17211d20;padding:18mm 18mm 22mm;box-sizing:border-box;position:relative;font-family:Arial,sans-serif}.commercial-proposal>header{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:2px solid #07843d;padding-bottom:12mm}.commercial-proposal>header img{width:62mm;height:24mm;object-fit:contain;object-position:left center}.commercial-proposal>header div{text-align:right;display:grid;gap:4px}.commercial-proposal>header span{font-size:9pt;letter-spacing:2px;color:#07843d;font-weight:800}.commercial-proposal>header strong{font-size:11pt}.commercial-proposal>header small{color:#66716c}.proposal-recipient{padding:15mm 0 8mm}.proposal-recipient small{color:#07843d;font-weight:800;letter-spacing:1.5px}.proposal-recipient h1{font-size:27pt;margin:3mm 0 1mm}.proposal-recipient p{color:#66716c}.proposal-recipient h2{font-size:16pt;margin-top:10mm;padding-left:5mm;border-left:3px solid #07843d}.proposal-copy{font-size:10.5pt;line-height:1.65}.proposal-copy h2,.proposal-copy h3{color:#07843d;break-after:avoid}.proposal-copy blockquote{background:#f2f6f3;border-left:3px solid #07843d;margin:7mm 0;padding:5mm}.proposal-rates{margin:10mm 0;break-inside:avoid}.proposal-rates h2{color:#07843d}.proposal-rates table{width:100%;border-collapse:collapse}.proposal-rates th,.proposal-rates td{text-align:left;padding:3.5mm;border-bottom:1px solid #d8e2dc}.proposal-rates th{font-size:8pt;letter-spacing:1px;color:#66716c}.proposal-signature{margin-top:15mm;display:grid;max-width:80mm;gap:2px;break-inside:avoid}.proposal-signature img{max-width:45mm;max-height:22mm;object-fit:contain}.commercial-proposal>footer{position:absolute;left:18mm;right:18mm;bottom:9mm;border-top:1px solid #d8e2dc;padding-top:3mm;display:flex;align-items:center;gap:5mm;font-size:7.5pt;color:#66716c}.commercial-proposal>footer img{width:24mm;height:9mm;object-fit:contain}.commercial-proposal>footer p{flex:1;margin:0}.proposal-email{max-width:210mm;margin:24px auto}.proposal-email textarea{font-family:inherit}
@page{size:A4 portrait;margin:0}@media print{body{background:#fff}.admin-hero,.panel-portal-nav,.no-print,.proposal-email{display:none!important}.proposal-preview-shell{margin:0;padding:0;max-width:none}.commercial-proposal{box-shadow:none;margin:0;width:210mm;min-height:297mm;page-break-after:always;-webkit-print-color-adjust:exact;print-color-adjust:exact}.proposal-copy h2,.proposal-copy h3,.proposal-signature,.proposal-rates tr{break-inside:avoid}}
@media(max-width:850px){.commercial-proposal{width:100%;min-height:auto;padding:28px}.commercial-proposal>header img{width:45%}.commercial-proposal>footer{position:static;margin-top:40px}.proposal-recipient h1{font-size:2rem}}

.proposal-selection-status{display:grid;gap:4px;margin:-5px 0 20px;padding:14px 16px;border:1px solid #a9d1b9;border-radius:9px;background:#eaf5ef;color:#315b43;font-size:11px}.proposal-selection-status strong{color:#075e35}.proposal-selection-status.is-general{border-color:#d5dfda;background:#f6f8f7;color:#66716c}.proposal-selection-status.is-general strong{color:#151a17}.proposal-general-invitation{margin:10mm 0;padding:9mm;border-left:5px solid #0b7a45;background:#eaf5ef;break-inside:avoid}.proposal-general-invitation>span{color:#0b7a45;font-size:8pt;font-weight:800;letter-spacing:1.5px}.proposal-general-invitation h2{margin:3mm 0;color:#075e35;font-size:19pt}.proposal-general-invitation p{font-size:10.5pt;line-height:1.65}.proposal-general-invitation a{display:inline-block;margin-top:4mm;padding:4mm 6mm;border-radius:4px;background:#0b7a45;color:#fff;font-size:9pt;font-weight:800;text-decoration:none}.proposal-rates tfoot th{background:#eaf5ef;color:#075e35;font-size:10pt}.commercial-email-preview{margin:18px 0;border:1px solid #d8e2dc;border-radius:10px;background:#f6f8f7;overflow:hidden}.commercial-email-preview iframe{display:block;width:100%;height:680px;border:0;background:#fff}@media(max-width:700px){.commercial-email-preview iframe{height:560px}.proposal-general-invitation{padding:22px}.proposal-price-picker{grid-template-columns:1fr}}

/* Gestión de Publicidad: interfaz específica basada en la referencia */
.advertising-admin-page{background:#f6f8f7;color:#151a17}.advertising-admin-page .admin-hero{display:none}.advertising-admin-page .panel-portal-nav{position:sticky;top:0;z-index:100}.advertising-admin-page>.panel-portal-nav .panel-portal-inner{min-height:58px}.advertising-admin-page .admin-panel{box-shadow:none}.advertising-admin-page .admin-panel.admin-wide{width:min(1460px,calc(100% - 40px));margin:22px auto;padding:0;border:0;border-radius:0;background:transparent}.advertising-admin-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:23px 26px;border:1px solid #dce4df;border-radius:10px;background:#fff}.advertising-admin-heading h1{margin:3px 0 5px!important;font:800 30px/1.1 Arial,sans-serif!important;letter-spacing:-.03em}.advertising-admin-heading p{margin:0;font-size:12px}.advertising-admin-heading .kicker{color:#075e35}.advertising-admin-heading .admin-save,.advertising-admin-page .admin-save{border-radius:5px;background:#075e35}.advertising-tabs{display:flex;gap:5px;margin:16px 0 20px;padding:5px;border:1px solid #dce4df;border-radius:8px;background:#fff;overflow-x:auto}.advertising-tabs button{min-height:38px;padding:8px 18px;border:0;border-radius:5px;background:transparent;color:#4c5d54;font-size:10px;font-weight:800;white-space:nowrap;cursor:pointer}.advertising-tabs button:hover{background:#eaf5ef;color:#075e35}.advertising-tabs button.is-active{background:#075e35;color:#fff}.advertising-tabs button:disabled{opacity:.45;cursor:not-allowed}.advertising-admin-page [data-ad-tab-panel]{animation:advertising-panel-in .2s ease}.advertising-admin-page [data-ad-tab-panel][hidden]{display:none!important}@keyframes advertising-panel-in{from{opacity:.3;transform:translateY(5px)}}.advertising-secondary-panels{display:contents}.advertising-admin-page .admin-card{border-color:#dce4df;border-radius:9px;box-shadow:0 3px 14px rgba(21,48,34,.035)}.advertising-admin-page .admin-card h2{font:800 18px Arial,sans-serif}.advertising-admin-page .tariff-card{padding:0;overflow:hidden}.advertising-admin-page .tariff-card>h2{margin:0;padding:22px 24px 2px}.advertising-admin-page .tariff-card>p{padding:0 24px}.advertising-admin-page .tariff-card form>.admin-table-wrap{margin:18px 0 0}.advertising-admin-page .tariff-card form>.admin-save{margin:16px 24px 24px}.advertising-admin-page .tariff-table{min-width:1050px}.advertising-admin-page .tariff-table th{padding:13px 10px;background:#075e35;color:#fff;font-size:8px;text-transform:uppercase;letter-spacing:.06em}.advertising-admin-page .tariff-table td{padding:9px 10px;background:#fff}.advertising-admin-page .tariff-table tbody tr:nth-child(even) td{background:#f8faf9}.advertising-admin-page .tariff-table input:not([type=checkbox]),.advertising-admin-page .tariff-table select{min-height:38px;border:1px solid #d5dfda;border-radius:5px;background:#fff}.advertising-admin-page .tariff-table input:focus,.advertising-admin-page .tariff-table select:focus{border-color:#0b7a45;outline:3px solid #e0f1e7}.advertising-admin-page .tariff-table input[type=checkbox]{width:38px;height:20px;accent-color:#0b7a45}.advertising-admin-page .pipeline-cards article{border-color:#dce4df;border-radius:8px}.advertising-admin-page .pipeline-cards b{color:#075e35;font-family:Arial,sans-serif}.advertising-admin-page .admin-data-table th{background:#edf5f0;color:#315b43}.advertising-admin-page .admin-data-table tbody tr:hover{background:#f1f8f4}.advertising-admin-page .lead-open{color:#075e35}.advertising-admin-page .ad-admin-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:0}.advertising-admin-page .letter-history a{border-color:#dce4df;border-radius:7px}.advertising-admin-page .letter-history a:hover{border-color:#0b7a45;background:#f3faf6}@media(max-width:1000px){.advertising-admin-page .ad-admin-grid{grid-template-columns:1fr 1fr}.advertising-admin-heading{align-items:flex-start}.advertising-admin-heading .admin-save{flex:none}}@media(max-width:680px){.advertising-admin-page .admin-panel.admin-wide{width:calc(100% - 20px);margin:10px auto}.advertising-admin-heading{display:grid;padding:18px}.advertising-admin-heading .admin-save{width:max-content}.advertising-tabs{margin:10px 0 14px}.advertising-tabs button{padding-inline:13px}.advertising-admin-page .ad-admin-grid{grid-template-columns:1fr}.advertising-admin-page .tariff-card>h2{padding:18px 16px 2px}.advertising-admin-page .tariff-card>p{padding:0 16px}.advertising-admin-page .tariff-card form>.admin-save{margin:14px 16px 18px}}
.advertising-admin-page .tariff-matrix{min-width:980px}.advertising-admin-page .tariff-matrix th{padding:13px 10px;background:#075e35;color:#fff;font-size:8px;text-align:center;text-transform:uppercase;letter-spacing:.05em}.advertising-admin-page .tariff-matrix th:first-child{text-align:left}.advertising-admin-page .tariff-matrix td{padding:10px;border-right:1px solid #e2e8e4;vertical-align:middle}.advertising-admin-page .tariff-matrix td:first-child{min-width:170px}.tariff-matrix-price{display:grid;grid-template-columns:60px minmax(82px,1fr);gap:5px}.advertising-admin-page .tariff-matrix-price select,.advertising-admin-page .tariff-matrix-price input{min-width:0!important;width:100%;margin:0;padding:8px 6px;border:1px solid #d5dfda;border-radius:5px}.tariff-section-toggle{width:38px;height:21px;accent-color:#075e35;cursor:pointer}.tariff-unavailable{display:block;text-align:center;color:#98a49e}

/* Precios: texto 50% más grande; los controles de acción conservan su tamaño. */
.advertising-admin-page .tariff-card>h2{font-size:27px}
.advertising-admin-page .tariff-card>p{font-size:19.5px}
.advertising-admin-page .tariff-card .admin-data-table{font-size:18px}
.advertising-admin-page .tariff-card .tariff-table th,
.advertising-admin-page .tariff-card .tariff-matrix th{font-size:12px}

/* Tarifario compacto: conserva la lógica y mejora solamente su presentación. */
.advertising-admin-page .tariff-card{border:1px solid #d4dfd9;box-shadow:0 8px 24px rgba(21,48,34,.06)}
.advertising-admin-page .tariff-card form>.admin-table-wrap{margin-top:12px;border-top:1px solid #dce5e0;border-bottom:1px solid #dce5e0}
.advertising-admin-page .tariff-matrix{min-width:900px;table-layout:fixed}
.advertising-admin-page .tariff-matrix th{position:static;padding:9px 8px;border-right:1px solid rgba(255,255,255,.14)}
.advertising-admin-page .tariff-matrix th:first-child{width:190px}
.advertising-admin-page .tariff-matrix th:last-child{width:82px}
.advertising-admin-page .tariff-matrix td{padding:6px 8px;border-right:1px solid #e4ebe7;border-bottom:1px solid #e4ebe7}
.advertising-admin-page .tariff-matrix tbody tr:last-child td{border-bottom:0}
.advertising-admin-page .tariff-matrix tbody tr:nth-child(even) td{background:#f7faf8}
.advertising-admin-page .tariff-matrix tbody tr:hover td{background:#edf6f1}
.advertising-admin-page .tariff-matrix td:first-child{position:sticky;left:0;z-index:1;min-width:0;background:#f4f8f6;font-weight:700;box-shadow:1px 0 #dce5e0}
.advertising-admin-page .tariff-matrix tbody tr:nth-child(even) td:first-child{background:#f0f5f2}
.advertising-admin-page .tariff-matrix tbody tr:hover td:first-child{background:#e7f2eb}
.advertising-admin-page .tariff-matrix-price{grid-template-columns:58px minmax(74px,1fr);gap:4px}
.advertising-admin-page .tariff-matrix-price select,
.advertising-admin-page .tariff-matrix-price input,
.advertising-admin-page .tariff-matrix td:first-child>input{min-height:34px!important;padding:5px 6px!important;border-color:#cbd8d1!important;box-shadow:inset 0 1px 2px rgba(21,48,34,.035)}
.advertising-admin-page .tariff-matrix td:last-child{text-align:center}
.advertising-admin-page .tariff-section-toggle{vertical-align:middle}
.advertising-payments-admin{scroll-margin-top:75px}.payments-admin-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:18px;margin:18px 0}.payment-admin-method{margin:10px 0;border:1px solid #dce4df;border-radius:8px}.payment-admin-method>summary{display:flex;justify-content:space-between;padding:14px;cursor:pointer}.payment-admin-method>form{padding:0 14px 14px}.payment-delete{margin:0 14px 14px;padding:8px 12px;border:1px solid #d9aeb4;border-radius:5px;background:#fff;color:#9b2839;cursor:pointer}.advertising-payments-admin textarea{min-height:90px}.advertising-payments-admin .admin-data-table form{display:flex;gap:5px}.advertising-payments-admin .admin-data-table form input{min-width:180px;margin:0;padding:7px}.advertising-payments-admin .admin-data-table form button{padding:7px;border:1px solid #cddbd4;background:#fff;cursor:pointer}@media(max-width:850px){.payments-admin-grid{grid-template-columns:1fr}}

/* Tarifario publicitario: una fila compacta por ubicación real del menú. */
.advertising-admin-page #precios{scroll-margin-top:84px;overflow:visible}.tariff-card-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 22px 17px;border-bottom:1px solid #dce6e0;background:linear-gradient(135deg,#fff,#f4f9f6)}.tariff-card-heading h2{margin:3px 0 5px!important;color:#123326;font-size:23px!important;letter-spacing:-.025em}.tariff-card-heading p{max-width:760px;margin:0;color:#5e7067;font-size:11px!important;line-height:1.55}.tariff-count{flex:none;padding:7px 11px;border:1px solid #b9d8c8;border-radius:999px;background:#eaf6f0;color:#07633d;font-size:9px;font-weight:900}.tariff-compact-form{padding:15px 18px 18px}.tariff-section-list{display:grid;gap:7px}.tariff-section-row{display:grid;grid-template-columns:minmax(145px,.9fr) minmax(155px,1fr) minmax(200px,1.35fr) minmax(170px,.9fr) 118px;align-items:end;gap:10px;padding:10px 11px;border:1px solid #dce5e0;border-radius:8px;background:#fff;transition:border-color .2s,box-shadow .2s}.tariff-section-row:hover{border-color:#a8cab8;box-shadow:0 5px 15px rgba(13,78,48,.055)}.tariff-section-row.is-active{border-left:4px solid #168358;padding-left:8px}.tariff-section-name{display:flex;align-items:center;align-self:center;gap:10px;min-width:0}.tariff-section-name>span{display:grid;place-items:center;width:32px;height:32px;flex:0 0 32px;border-radius:8px;background:#e7f4ed;color:#087248;font-size:13px;font-weight:900}.tariff-section-name b,.tariff-section-name small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tariff-section-name b{color:#183b2d;font-size:12px}.tariff-section-name small{margin-top:2px;color:#73837b;font-size:8px}.tariff-section-row label,.tariff-special-list label{display:block;margin:0!important;min-width:0;color:#66776f;font-size:8px!important;font-weight:800;letter-spacing:.025em}.tariff-section-row label>span:first-child,.tariff-special-list label>span:first-child{display:block;margin:0 0 4px}.tariff-section-row input:not([type=checkbox]),.tariff-section-row select,.tariff-special-list input:not([type=checkbox]),.tariff-special-list select{width:100%;min-width:0;min-height:33px!important;margin:0!important;padding:6px 8px!important;border:1px solid #cad8d0!important;border-radius:6px!important;background:#fbfdfc!important;color:#20392e;font-size:10px!important}.tariff-section-row input:focus,.tariff-special-list input:focus,.tariff-section-row select:focus,.tariff-special-list select:focus{border-color:#168358!important;outline:3px solid rgba(22,131,88,.1)!important}.tariff-money>div{display:grid;grid-template-columns:60px minmax(80px,1fr);gap:5px}.tariff-active{display:flex!important;align-items:center;align-self:center;gap:8px;padding-top:10px}.tariff-active input{width:34px!important;height:19px!important;flex:0 0 auto;margin:0!important;accent-color:#138158}.tariff-active span b,.tariff-active span small{display:block}.tariff-active span b{color:#25483a;font-size:9px}.tariff-active span small{margin-top:2px;color:#7a8a82;font-size:7px;font-weight:600;line-height:1.2}.tariff-specials{margin-top:12px;border:1px solid #dfe6e2;border-radius:8px;background:#f8faf9}.tariff-specials>summary{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:12px 14px;cursor:pointer;list-style:none}.tariff-specials>summary::-webkit-details-marker{display:none}.tariff-specials>summary span b,.tariff-specials>summary span small{display:block}.tariff-specials>summary b{color:#304d40;font-size:11px}.tariff-specials>summary small{margin-top:3px;color:#7b8982;font-size:8px}.tariff-specials>summary>strong{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:#e8eeeb;color:#53665d;font-size:9px}.tariff-special-list{display:grid;gap:6px;padding:0 10px 10px}.tariff-special-list>article{display:grid;grid-template-columns:.8fr 1fr 1.3fr .8fr 65px 105px;align-items:end;gap:8px;padding:9px;border:1px solid #dfe6e2;border-radius:7px;background:#fff}.tariff-savebar{position:sticky;bottom:10px;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:14px;padding:10px 12px;border:1px solid #bfd6ca;border-radius:8px;background:rgba(247,252,249,.96);box-shadow:0 8px 24px rgba(18,57,40,.1);backdrop-filter:blur(8px)}.tariff-savebar p{margin:0;color:#64756d;font-size:9px}.tariff-savebar p b{color:#26533f}.tariff-savebar .admin-save{min-height:36px;margin:0!important;padding:8px 15px;font-size:9px}

/* Comprobantes: vigencia y rendimiento por cada logo/campaña. */
.receipts-card{margin-top:18px;padding:0!important;overflow:hidden}.receipts-card>header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 20px;border-bottom:1px solid #dce5e0;background:linear-gradient(135deg,#fff,#f4f9f6)}.receipts-card>header h2{margin:3px 0 4px}.receipts-card>header p{margin:0;color:#687970;font-size:10px}.receipts-card>header>strong{padding:7px 10px;border-radius:999px;background:#e9f5ef;color:#086b43;font-size:9px}.receipts-table{min-width:1380px}.receipts-table th{padding:10px 9px!important;font-size:8px!important;text-transform:uppercase;letter-spacing:.04em}.receipts-table td{padding:10px 9px!important;vertical-align:top;font-size:10px}.receipts-table td:nth-child(1){width:145px}.receipts-table td:nth-child(2){width:195px}.receipts-table td:nth-child(3){width:100px}.receipts-table td:nth-child(4){width:135px}.receipts-table td:nth-child(5){min-width:330px}.receipts-table td:nth-child(6){width:105px}.receipts-table td:nth-child(7){width:235px}.campaign-state,.receipt-payment-state{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:8px;font-weight:900;letter-spacing:.035em}.campaign-state.is-activo,.receipt-payment-state.is-approved{background:#dcf5e7;color:#087344}.campaign-state.is-vencido,.receipt-payment-state.is-rejected{background:#fbe5e5;color:#9b3030}.campaign-state.is-pendiente,.receipt-payment-state.is-pending{background:#fff0cf;color:#8b5a00}.campaign-hidden-note{display:block;margin-top:5px;color:#a02f38;font-size:8px;font-weight:800}.receipt-logo-list{display:grid;gap:5px}.receipt-logo-list>article{display:grid;grid-template-columns:44px minmax(0,1fr) 50px;align-items:center;gap:8px;padding:5px;border:1px solid #e0e8e3;border-radius:7px;background:#fbfdfc}.receipt-logo-list img{width:44px;height:34px;border-radius:5px;background:#fff;object-fit:contain}.receipt-logo-list article>div{min-width:0}.receipt-logo-list article>div b,.receipt-logo-list article>div small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.receipt-logo-list article>div b{color:#224334;font-size:9px}.receipt-logo-list article>div small{margin-top:2px;color:#74837b;font-size:7px}.receipt-logo-list article>span{text-align:center}.receipt-logo-list article>span b,.receipt-logo-list article>span small{display:block}.receipt-logo-list article>span b{color:#087344;font-size:15px}.receipt-logo-list article>span small{color:#75847d;font-size:7px}.receipt-click-total{display:block;margin-top:5px;color:#315645;font-size:8px;text-align:right}.advertising-payments-admin .receipts-table .receipt-review-form{display:grid;gap:6px}.advertising-payments-admin .receipts-table .receipt-review-form input{width:100%;min-width:0;margin:0;padding:6px 7px;font-size:9px}.receipt-review-form>div{display:flex;gap:5px}.advertising-payments-admin .receipts-table .receipt-review-form button{border-color:#94c8ad;border-radius:5px;background:#e8f6ef;color:#086b43;font-size:8px;font-weight:900}.advertising-payments-admin .receipts-table .receipt-review-form button.is-reject{border-color:#e0b4b8;background:#fff3f3;color:#9c3039}.receipt-reviewed{display:block;color:#4f655a;font-size:9px;font-weight:800}

@media(max-width:1100px){.tariff-special-list>article{grid-template-columns:1fr 1fr 1fr}}@media(max-width:720px){.tariff-card-heading{align-items:flex-start;padding:16px}.tariff-count{display:none}.tariff-compact-form{padding:10px}.tariff-section-row{grid-template-columns:1fr 1fr;padding:10px}.tariff-section-name,.tariff-description{grid-column:1/-1}.tariff-active{grid-column:auto}.tariff-special-list>article{grid-template-columns:1fr}.tariff-savebar{align-items:stretch;flex-direction:column}.tariff-savebar .admin-save{width:100%}.receipts-card>header{align-items:flex-start}.receipts-card>header>strong{display:none}}
.section-advertisers{padding-top:0}.section-advertisers>header{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:18px;border-bottom:1px solid var(--line);padding-bottom:12px}.section-advertisers>header span{color:#087d56;font-size:9px;font-weight:900;letter-spacing:.16em}.section-advertisers>header h2{margin:0;font:800 25px var(--serif)}.section-ad-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.section-ad-grid>a{overflow:hidden;border:1px solid #dce5e0;border-radius:10px;background:#fff;color:#12231b;box-shadow:0 7px 20px rgba(21,48,34,.05)}.section-ad-grid>a>span{display:block;padding:8px 10px;background:#edf7f2;color:#087d56;font-size:7px;font-weight:900}.section-ad-grid img{width:100%;height:105px;object-fit:cover}.section-ad-grid a>div{display:grid;gap:3px;padding:11px}.section-ad-grid b{font-size:12px}.section-ad-grid small{overflow:hidden;color:#718078;font-size:8px;text-overflow:ellipsis;white-space:nowrap}@media(max-width:950px){.section-ad-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:600px){.section-ad-grid{grid-template-columns:1fr 1fr}.section-advertisers>header{display:block}.section-advertisers>header h2{margin-top:5px;font-size:21px}}

.sections-admin-body{background:#f7f9fc}.sections-admin-body .admin-hero{display:none}.sections-admin-page{width:min(1320px,calc(100% - 40px));margin:28px auto 60px;color:#09152d;font-family:Arial,sans-serif}.sections-heading{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;margin-bottom:24px}.sections-title-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:13px;background:#e8f1ff;color:#0867df;font-size:25px}.sections-heading h1{margin:0 0 5px;font-size:29px;letter-spacing:-.04em}.sections-heading p{margin:0;color:#53627a;font-size:13px}.sections-heading-actions{display:flex;align-items:center;gap:22px}.manual-button{height:42px;padding:0 17px;border:1px solid #d8e0ec;border-radius:9px;background:#fff;color:#0c1932;font-weight:700;box-shadow:0 3px 12px rgba(8,31,66,.05);cursor:pointer}.sections-breadcrumb{font-size:12px;color:#53627a}.sections-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:20px}.sections-metrics article{display:grid;grid-template-columns:52px 1fr;grid-template-rows:auto auto;align-items:center;column-gap:14px;min-height:92px;padding:18px;border:1px solid #dfe6ef;border-radius:12px;background:#fff}.sections-metrics i{grid-row:1/3;display:grid;place-items:center;width:50px;height:50px;border-radius:50%;color:#fff;font-style:normal;font-size:22px}.metric-blue{background:#2579e8}.metric-green{background:#25ae60}.metric-amber{background:#f5ad16}.metric-violet{background:#6d3be3}.sections-metrics b{align-self:end;font-size:22px}.sections-metrics span{align-self:start;color:#52617a;font-size:12px}.sections-toolbar{display:flex;align-items:center;gap:12px;margin:18px 0}.sections-new{height:40px;padding:0 17px;border:0;border-radius:7px;background:linear-gradient(135deg,#2781ed,#0862d7);color:#fff;font-weight:800;cursor:pointer}.sections-search{display:flex;align-items:center;gap:8px;width:min(330px,100%);margin-left:auto;padding:0 12px;border:1px solid #dce3ed;border-radius:8px;background:#fff;color:#8a98aa}.sections-search input{height:40px;width:100%;margin:0!important;padding:0!important;border:0!important;outline:0}.sections-toolbar select{height:42px;padding:0 13px;border:1px solid #dce3ed;border-radius:8px;background:#fff}.sections-table-shell{overflow:auto;border:1px solid #dfe6ef;border-radius:12px;background:#fff}.sections-list{width:100%;min-width:1030px;border-collapse:collapse}.sections-list th{padding:15px 16px;background:#fafbfd;color:#66758a;font-size:10px;text-align:left;text-transform:uppercase}.sections-list td{padding:12px 16px;border-top:1px solid #e9edf3;color:#23334d;font-size:12px;vertical-align:middle}.sections-list tbody tr[data-section-row]:hover{background:#f7faff}.sections-list td:nth-child(2){display:flex;align-items:center;gap:10px}.drag-dots{color:#7d8ca1;font-size:17px}.order-input{display:inline-block!important;width:45px!important;margin:0 0 0 8px!important;padding:8px!important;border-radius:6px!important}.section-symbol{display:grid;place-items:center;width:36px;height:36px;flex:0 0 36px;border-radius:50%;background:var(--section-color);color:#fff;font-size:12px}.section-status{display:inline-flex;padding:6px 10px;border-radius:999px;font-size:11px;font-weight:700}.section-status.is-active{background:#e4f8ec;color:#158545}.section-status.is-inactive{background:#fff2dc;color:#aa6b00}.section-action{display:inline-grid;place-items:center;width:34px;height:34px;margin-right:5px;border:1px solid #dce4ee;border-radius:7px;background:#fff;color:#0867df;text-decoration:none;cursor:pointer}.section-editor td{background:#f3f7fd!important}.section-editor-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;padding:8px}.section-editor-grid label{margin:0!important;color:#43536b;font-size:10px!important}.section-editor-grid input,.section-editor-grid select{display:block;width:100%;height:38px;margin-top:6px;padding:8px;border:1px solid #ced8e6;border-radius:6px;background:#fff}.section-editor-grid .check-field{display:flex;align-items:center;gap:8px;padding-top:15px;font-size:12px!important}.section-editor-grid .check-field input{width:18px;height:18px;margin:0}.section-new-card{margin-top:18px;padding:22px;border:1px solid #cfe0f5;border-radius:12px;background:#fff}.section-new-card h2{margin:0;font-size:18px}.section-new-card p{margin:5px 0 18px;color:#68778b;font-size:12px}.sections-savebar{display:flex;justify-content:flex-end;align-items:center;gap:18px;margin-top:16px;color:#66758a;font-size:11px}.manual-dialog{width:min(760px,calc(100% - 24px));padding:0;border:0;border-radius:13px;box-shadow:0 26px 80px rgba(4,20,48,.28)}.manual-dialog::backdrop{background:rgba(4,15,35,.56)}.manual-modal>header{display:flex;justify-content:space-between;align-items:start;padding:20px 22px 13px}.manual-modal header span{color:#0867df;font-size:10px;font-weight:800;text-transform:uppercase}.manual-modal h2{margin:4px 0 0;font-size:22px}.manual-modal header button{border:0;background:none;font-size:25px;cursor:pointer}.manual-modal nav{display:flex;padding:0 18px;border-bottom:1px solid #e0e6ef;overflow-x:auto}.manual-modal nav button{padding:12px 11px;border:0;border-bottom:3px solid transparent;background:none;color:#3f4e65;font-size:11px;white-space:nowrap;cursor:pointer}.manual-modal nav button.is-active{border-color:#0867df;color:#0754be;font-weight:800}.manual-content{padding:22px}.manual-content article{display:grid;grid-template-columns:140px 1fr;gap:22px;align-items:center;min-height:170px}.manual-illustration{display:grid;place-items:center;height:125px;border-radius:12px;background:radial-gradient(circle,#4c98f2,#0758c3);color:#fff;font-size:54px}.manual-content h3{margin:0 0 12px;font-size:17px}.manual-content p{margin:0;color:#43536b;font-size:13px;line-height:1.65}.manual-content aside{margin-top:18px;padding:14px 16px;border-radius:8px;background:#eaf2ff;color:#1552a1;font-size:11px}.manual-modal footer{display:flex;justify-content:space-between;padding:14px 22px;border-top:1px solid #e0e6ef}.manual-modal footer a,.manual-modal footer button{padding:10px 15px;border:1px solid #d4dfed;border-radius:7px;background:#fff;color:#0757c6;font-weight:800;text-decoration:none;cursor:pointer}.manual-modal footer button{border-color:#075dcc;background:#075dcc;color:#fff}@media(max-width:900px){.sections-metrics{grid-template-columns:1fr 1fr}.sections-heading{grid-template-columns:auto 1fr}.sections-heading-actions{grid-column:1/3;justify-content:space-between}.section-editor-grid{grid-template-columns:1fr 1fr}}@media(max-width:600px){.sections-admin-page{width:calc(100% - 20px)}.sections-breadcrumb{display:none}.sections-metrics{gap:10px}.sections-metrics article{grid-template-columns:40px 1fr;padding:12px}.sections-metrics i{width:38px;height:38px}.sections-toolbar{flex-wrap:wrap}.sections-search{order:3;width:100%;margin-left:0}.section-editor-grid{grid-template-columns:1fr}.manual-content article{grid-template-columns:1fr}.manual-illustration{height:90px}}
/* Homepage Hero Redesign */
.hero-grid { display:grid; grid-template-columns: minmax(0, 2fr) 350px; gap:2rem; height:560px; box-sizing:border-box; }
.lead-story-card { border-radius:1rem; overflow:hidden; position:relative; display:block; box-sizing:border-box; margin:0; padding:0; border:none; min-height:0; }
.lead-story-image { width:100%; height:100%; object-fit:cover; position:absolute; inset:0; }
.img-fallback-container { position:absolute; inset:0; background:#f1f5f9; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:0.5rem; }
.img-fallback-container img { width:60%; max-height:60%; object-fit:contain; opacity:0.2; }
.img-fallback-container span { font-size:0.85rem; font-weight:700; color:#64748b; text-transform:uppercase; letter-spacing:0.05em; }
.lead-shade { position:absolute; inset:0; background:linear-gradient(to top, rgba(0,0,0,0.9) 0%, rgba(0,0,0,0.4) 50%, transparent 100%); }
.lead-copy { position:absolute; bottom:0; left:0; right:0; padding:3rem; color:white; }
.lead-copy .eyebrow { color:#60a5fa; font-weight:700; text-transform:uppercase; letter-spacing:0.05em; font-size:0.85rem; margin-bottom:1rem; }
.lead-copy h1 { font-size:2.5rem; line-height:1.1; margin:0 0 1rem 0; font-family:var(--serif); }
.lead-copy p { font-size:1.1rem; color:#cbd5e1; max-width:800px; margin:0 0 1.5rem 0; line-height:1.5; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.author-row { display:flex; align-items:center; gap:1rem; }
.author-row .avatar { width:40px; height:40px; border-radius:50%; background:#2563eb; display:flex; align-items:center; justify-content:center; font-weight:bold; }
.author-row .author-info { display:flex; flex-direction:column; }
.author-row b { font-size:0.95rem; }
.author-row small { color:#94a3b8; font-size:0.8rem; }

.hero-side-card { background:#ffffff; border:1px solid #e2e8f0; border-radius:1rem; padding:1.5rem; display:flex; flex-direction:column; overflow-y:auto; overflow-x:hidden; box-sizing:border-box; margin:0; min-height:0; box-shadow:0 10px 25px -5px rgba(0,0,0,0.05); }
.modern-scroll::-webkit-scrollbar { width: 6px; }
.modern-scroll::-webkit-scrollbar-track { background: transparent; }
.modern-scroll::-webkit-scrollbar-thumb { background: #e2e8f0; border-radius: 10px; }
.modern-scroll::-webkit-scrollbar-thumb:hover { background: #cbd5e1; }

.hero-side-header { position:sticky; top:-1.5rem; background:rgba(255,255,255,0.95); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); padding:1.5rem 0 1rem; border-bottom:1px solid #f1f5f9; z-index:2; margin-top:-1.5rem; margin-bottom:1rem; display:flex; align-items:center; justify-content:space-between; }
.hero-side-title { font-size:1.15rem; margin:0; display:flex; align-items:center; gap:0.5rem; font-weight:800; letter-spacing:-0.02em; }
.hero-side-icon { width:28px; height:28px; border-radius:50%; background:linear-gradient(135deg, #3b82f6, #1d4ed8); display:flex; align-items:center; justify-content:center; color:white; font-size:0.8rem; box-shadow:0 2px 4px rgba(37,99,235,0.3); }
.hero-side-text { background:linear-gradient(135deg, #0f172a, #334155); -webkit-background-clip:text; -webkit-text-fill-color:transparent; }
.hero-side-badge { font-size:0.65rem; font-weight:700; color:#3b82f6; background:#eff6ff; padding:0.25rem 0.6rem; border-radius:2rem; }

.club-news-list { display:flex; flex-direction:column; gap:0.5rem; padding-bottom:0.5rem; }
.club-news-item { display:block; text-decoration:none; color:inherit; padding:1rem; border-radius:0.75rem; border:1px solid transparent; transition:all 0.2s ease; }
.club-news-item:hover { background:#f8fafc; border-color:#e2e8f0; transform:translateX(4px); box-shadow:0 4px 12px rgba(0,0,0,0.02); }
.club-news-meta { display:flex; align-items:center; gap:0.5rem; margin-bottom:0.5rem; }
.club-news-dot { width:6px; height:6px; border-radius:50%; background:#3b82f6; }
.club-news-cat { font-size:0.65rem; font-weight:800; color:#3b82f6; text-transform:uppercase; letter-spacing:0.05em; }
.club-news-date { font-size:0.7rem; color:#94a3b8; margin-left:auto; font-weight:500; }
.club-news-title { margin:0 0 0.5rem 0; font-size:0.95rem; color:#0f172a; line-height:1.4; font-weight:700; }
.club-news-author { display:flex; align-items:center; gap:0.5rem; margin-top:0.75rem; }
.club-news-avatar { width:20px; height:20px; border-radius:50%; background:#e2e8f0; display:flex; align-items:center; justify-content:center; font-size:0.55rem; font-weight:bold; color:#64748b; }
.club-news-name { font-size:0.75rem; color:#64748b; font-weight:500; }
.club-news-empty { color:#94a3b8; font-size:0.85rem; text-align:center; padding:2rem 1rem; background:#f8fafc; border-radius:0.5rem; }

/* Responsive adjustments */
@media(max-width: 980px) { 
  .hero-grid { grid-template-columns: 1fr !important; height: auto !important; } 
  .lead-story-card { height: 450px !important; min-height: 450px !important; } 
  .hero-side-card { height: 500px !important; } 
}

/* Club Updates Block */
.club-updates-wrapper { background:linear-gradient(to right, #f8fafc, #f1f5f9); padding:3rem; border-radius:1.5rem; border:1px solid #e2e8f0; position:relative; overflow:hidden; }
.club-updates-bg-icon { position:absolute; top:-20px; right:-20px; opacity:0.05; font-size:15rem; line-height:1; pointer-events:none; }
.club-updates-header { position:relative; z-index:1; }
.club-updates-kicker { color:#2563eb; font-weight:700; letter-spacing:0.1em; display:inline-block; margin-bottom:0.5rem; }
.club-updates-title { margin:0; font-size:2.5rem; color:#1e293b; }
.club-updates-desc { color:#64748b; font-size:1.1rem; max-width:600px; }
.club-updates-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(320px, 1fr)); gap:1.5rem; margin-top:2.5rem; position:relative; z-index:1; }
.club-update-card { background:white; padding:1.5rem; border-radius:1rem; box-shadow:0 4px 6px -1px rgba(0,0,0,0.05), 0 2px 4px -1px rgba(0,0,0,0.03); border:1px solid #e2e8f0; transition:transform 0.2s, box-shadow 0.2s; }
.club-update-card:hover { transform:translateY(-2px); box-shadow:0 10px 15px -3px rgba(0,0,0,0.1); }
.club-update-meta { display:flex; justify-content:space-between; align-items:center; margin-bottom:1rem; }
.club-update-type { font-size:0.75rem; font-weight:700; text-transform:uppercase; letter-spacing:0.05em; padding:0.25rem 0.75rem; border-radius:2rem; }
.club-update-type.beneficio { background:#ecfdf5; color:#059669; }
.club-update-type.rifa { background:#eff6ff; color:#2563eb; }
.club-update-date { font-size:0.8rem; color:#94a3b8; font-weight:500; }
.club-update-card h3 { margin:0 0 0.75rem 0; font-size:1.15rem; color:#0f172a; line-height:1.4; }
.club-update-card p { margin:0 0 1.25rem 0; font-size:0.95rem; color:#475569; line-height:1.6; }
.club-update-footer { display:flex; align-items:center; gap:0.75rem; border-top:1px solid #f1f5f9; padding-top:1rem; }
.club-update-avatar { width:32px; height:32px; border-radius:50%; background:#e2e8f0; display:flex; align-items:center; justify-content:center; font-size:0.8rem; font-weight:bold; color:#64748b; }
.club-update-club { font-size:0.9rem; color:#334155; font-weight:600; }

/* ===== Actualidad Section ===== */
.actualidad-section { background:var(--paper); padding:64px 0; }
.actualidad-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(220px, 1fr)); gap:1rem; }
.actualidad-card { display:flex; flex-direction:column; background:var(--white); border-radius:0.75rem; border:1px solid var(--line); overflow:hidden; transition:transform 0.2s, box-shadow 0.2s; }
.actualidad-card:hover { transform:translateY(-3px); box-shadow:0 8px 24px rgba(7,26,55,0.1); }
.actualidad-thumb { position:relative; height:140px; overflow:hidden; background:var(--paper); }
.actualidad-thumb img { width:100%; height:100%; object-fit:cover; transition:transform 0.4s; }
.actualidad-card:hover .actualidad-thumb img { transform:scale(1.05); }
.actualidad-thumb-fallback { width:100%; height:100%; display:flex; align-items:center; justify-content:center; background:#f1f5f9; }
.actualidad-thumb-fallback img { width:40%; max-height:50%; object-fit:contain; opacity:0.15; }
.actualidad-cat { position:absolute; top:8px; left:8px; background:var(--blue); color:#fff; font-size:0.65rem; font-weight:700; text-transform:uppercase; letter-spacing:0.06em; padding:3px 8px; border-radius:3px; }
.actualidad-body { padding:0.85rem 1rem 1rem; display:flex; flex-direction:column; flex:1; }
.actualidad-body h3 { font:700 0.95rem/1.3 var(--serif); letter-spacing:-0.01em; margin:0 0 0.4rem; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.actualidad-body p { font-size:0.8rem; color:var(--muted); margin:0 0 0.6rem; line-height:1.45; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.actualidad-meta { margin-top:auto; display:flex; justify-content:space-between; align-items:center; font-size:0.72rem; color:var(--muted); padding-top:0.5rem; border-top:1px solid var(--line); }
.actualidad-meta span { font-weight:600; }

/* ===== Últimas Noticias Dual Layout ===== */
.ultimas-section { margin-bottom:3rem; }
.ultimas-dual-layout { display:grid; grid-template-columns:1.2fr 1fr; gap:1.5rem; align-items:start; }
.ultimas-block { background:var(--white); border:1px solid var(--line); border-radius:0.75rem; overflow:hidden; }
.ultimas-block-header { display:flex; align-items:center; gap:0.6rem; padding:1rem 1.25rem; border-bottom:1px solid var(--line); background:var(--paper); }
.ultimas-block-icon { font-size:1.3rem; line-height:1; }
.ultimas-block-header h3 { font:800 1rem var(--serif); margin:0; letter-spacing:-0.02em; }
.masleidas-header { background:linear-gradient(135deg, #fff7ed, #fef3c7); border-bottom-color:#fde68a; }
.ultimas-list { display:flex; flex-direction:column; }
.ultimas-item { display:grid; grid-template-columns:32px 1fr 72px; gap:0.75rem; align-items:center; padding:0.85rem 1.25rem; border-bottom:1px solid var(--line); transition:background 0.15s; }
.ultimas-item:last-child { border-bottom:none; }
.ultimas-item:hover { background:var(--paper); }
.ultimas-item-number { width:28px; height:28px; display:grid; place-items:center; border-radius:50%; background:var(--paper); font:800 0.75rem var(--serif); color:var(--blue); border:1px solid var(--line); }
.ultimas-item-content { min-width:0; }
.ultimas-item-cat { font-size:0.65rem; font-weight:700; text-transform:uppercase; letter-spacing:0.06em; color:var(--blue); }
.ultimas-item-content h4 { font:600 0.88rem/1.3 var(--serif); margin:0.15rem 0 0.3rem; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.ultimas-item-meta { display:flex; gap:0.75rem; font-size:0.72rem; color:var(--muted); }
.ultimas-item-meta span { font-weight:600; }
.ultimas-item-img { width:72px; height:52px; object-fit:cover; border-radius:0.4rem; }

/* Más leídas block */
.masleidas-block { border-color:#fde68a; }
.masleidas-list { list-style:none; padding:0; margin:0; }
.masleidas-list li { border-bottom:1px solid var(--line); }
.masleidas-list li:last-child { border-bottom:none; }
.masleidas-item { display:grid; grid-template-columns:36px 1fr; gap:0.75rem; align-items:center; padding:0.85rem 1.25rem; transition:background 0.15s; }
.masleidas-item:hover { background:#fffbeb; }
.masleidas-rank { width:32px; height:32px; display:grid; place-items:center; border-radius:50%; font:800 0.85rem var(--serif); color:#92400e; background:linear-gradient(135deg, #fef3c7, #fde68a); }
.masleidas-list li:nth-child(1) .masleidas-rank { background:linear-gradient(135deg,#fbbf24,#f59e0b); color:#fff; font-size:1rem; }
.masleidas-list li:nth-child(2) .masleidas-rank { background:linear-gradient(135deg,#e5e7eb,#d1d5db); color:#374151; }
.masleidas-list li:nth-child(3) .masleidas-rank { background:linear-gradient(135deg,#fde68a,#fbbf24); color:#78350f; }
.masleidas-content { min-width:0; }
.masleidas-cat { font-size:0.65rem; font-weight:700; text-transform:uppercase; letter-spacing:0.06em; color:var(--blue); }
.masleidas-content h4 { font:600 0.88rem/1.3 var(--serif); margin:0.15rem 0 0.3rem; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.masleidas-meta { display:flex; gap:0.75rem; font-size:0.72rem; color:var(--muted); }
.masleidas-meta span { font-weight:600; }
.masleidas-views { color:#d97706; }

/* Responsive adjustments */
@media(max-width:980px) {
    .actualidad-grid { grid-template-columns:repeat(auto-fill, minmax(200px, 1fr)); }
    .ultimas-dual-layout { grid-template-columns:1fr; }
}
@media(max-width:680px) {
    .actualidad-grid { grid-template-columns:repeat(2, 1fr); gap:0.75rem; }
    .actualidad-thumb { height:110px; }
    .actualidad-body h3 { font-size:0.85rem; }
    .actualidad-body p { display:none; }
    .ultimas-item { grid-template-columns:28px 1fr; }
    .ultimas-item-img { display:none; }
}

/* ===== ADVERTISING LOGO HOVER ===== */
.commercial-brand-link {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    text-decoration: none;
}
.ad-phone-display {
    font-size: 11px;
    font-weight: 700;
    color: var(--blue);
    margin-top: 2px;
}
.ad-hover-tooltip {
    position: absolute;
    bottom: 100%;
    left: 50%;
    transform: translateX(-50%) translateY(-10px);
    background: #071a37;
    color: #fff;
    padding: 10px 14px;
    border-radius: 8px;
    font-size: 12px;
    line-height: 1.4;
    white-space: nowrap;
    opacity: 0;
    visibility: hidden;
    transition: all 0.2s ease;
    pointer-events: none;
    z-index: 100;
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
    text-align: center;
}
.ad-hover-tooltip::after {
    content: '';
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -5px;
    border-width: 5px;
    border-style: solid;
    border-color: #071a37 transparent transparent transparent;
}
.commercial-brand-link:hover .ad-hover-tooltip {
    opacity: 1;
    visibility: visible;
    transform: translateX(-50%) translateY(-5px);
}
.ad-hover-tooltip p {
    margin: 0 0 4px 0;
    font-weight: 600;
}
.ad-hover-tooltip span {
    color: #159667;
    font-weight: 800;
}

/* Publicidad admin premium: escala legible, formularios proporcionados y ritmo visual unificado. */
.advertising-admin-page {
    --ad-forest: #0b6946;
    --ad-forest-dark: #103a2b;
    --ad-mint: #eaf5ef;
    --ad-canvas: #f3f6f4;
    --ad-border: #d6e2dc;
    --ad-muted: #66786f;
    --ad-shadow: 0 18px 45px rgba(18, 56, 40, .08);
    background: var(--ad-canvas);
}
.advertising-admin-page .kicker {
    color: var(--ad-forest);
    font-size: 11px;
    line-height: 1.3;
    letter-spacing: .13em;
}
.advertising-admin-page .admin-save {
    min-height: 44px;
    padding: 11px 19px;
    border-radius: 9px;
    background: linear-gradient(135deg, #0c7550, #075d3e);
    box-shadow: 0 8px 18px rgba(8, 104, 69, .17);
    font-size: 13px;
    letter-spacing: -.005em;
    transition: transform .2s, box-shadow .2s, background .2s;
}
.advertising-admin-page .admin-save:hover {
    background: linear-gradient(135deg, #0d8057, #086745);
    box-shadow: 0 10px 24px rgba(8, 104, 69, .23);
    transform: translateY(-1px);
}

/* Tarifario público. */
.advertising-admin-page #precios {
    border: 1px solid rgba(20, 73, 51, .12);
    border-radius: 20px;
    background: #fff;
    box-shadow: var(--ad-shadow);
}
.advertising-admin-page #precios .tariff-card-heading {
    position: relative;
    overflow: hidden;
    padding: 28px 30px 24px;
    border-bottom-color: var(--ad-border);
    border-radius: 20px 20px 0 0;
    background: linear-gradient(120deg, #fff 5%, #f3faf6 70%, #e6f3ec);
}
.advertising-admin-page #precios .tariff-card-heading::after {
    content: "";
    position: absolute;
    top: -80px;
    right: 8%;
    width: 210px;
    height: 210px;
    border-radius: 50%;
    background: rgba(24, 137, 91, .055);
    pointer-events: none;
}
.advertising-admin-page #precios .tariff-card-heading > * {
    position: relative;
    z-index: 1;
}
.advertising-admin-page #precios .tariff-card-heading h2 {
    margin: 5px 0 7px !important;
    color: var(--ad-forest-dark);
    font-size: clamp(26px, 2.3vw, 32px) !important;
    line-height: 1.08;
}
.advertising-admin-page #precios .tariff-card-heading p {
    max-width: 820px;
    color: #5b7066;
    font-size: 15px !important;
    line-height: 1.6;
}
.advertising-admin-page #precios .tariff-count {
    padding: 9px 14px;
    border-color: #afd2bf;
    background: rgba(255, 255, 255, .85);
    color: #075d3e;
    box-shadow: 0 7px 20px rgba(18, 69, 47, .07);
    font-size: 12px;
}
.advertising-admin-page #precios .tariff-compact-form {
    padding: 22px 24px 24px;
}
.advertising-admin-page #precios .tariff-section-list {
    gap: 11px;
}
.advertising-admin-page #precios .tariff-section-row {
    grid-template-columns: minmax(175px, .95fr) minmax(180px, 1fr) minmax(235px, 1.35fr) minmax(190px, .9fr) 140px;
    gap: 14px;
    padding: 15px 16px;
    border-color: #d9e4de;
    border-radius: 14px;
    background: linear-gradient(135deg, #fff, #fbfdfc);
    box-shadow: 0 4px 14px rgba(22, 65, 46, .035);
}
.advertising-admin-page #precios .tariff-section-row:hover {
    border-color: #9fc8b4;
    box-shadow: 0 10px 24px rgba(13, 78, 48, .08);
}
.advertising-admin-page #precios .tariff-section-row.is-active {
    padding-left: 13px;
    border-left: 4px solid #158157;
}
.advertising-admin-page #precios .tariff-section-name {
    gap: 12px;
}
.advertising-admin-page #precios .tariff-section-name > span {
    width: 42px;
    height: 42px;
    flex-basis: 42px;
    border-radius: 11px;
    background: linear-gradient(145deg, #e9f6ef, #dcede4);
    color: #08714b;
    font-size: 16px;
    box-shadow: inset 0 0 0 1px rgba(17, 120, 78, .08);
}
.advertising-admin-page #precios .tariff-section-name b {
    color: #173c2d;
    font-size: 15px;
    line-height: 1.3;
}
.advertising-admin-page #precios .tariff-section-name small {
    margin-top: 3px;
    color: #73867c;
    font-size: 11px;
}
.advertising-admin-page #precios .tariff-section-row label,
.advertising-admin-page #precios .tariff-special-list label {
    color: #526a5f;
    font-size: 11px !important;
    line-height: 1.25;
    letter-spacing: .025em;
}
.advertising-admin-page #precios .tariff-section-row label > span:first-child,
.advertising-admin-page #precios .tariff-special-list label > span:first-child {
    margin-bottom: 6px;
}
.advertising-admin-page #precios .tariff-section-row input:not([type=checkbox]),
.advertising-admin-page #precios .tariff-section-row select,
.advertising-admin-page #precios .tariff-special-list input:not([type=checkbox]),
.advertising-admin-page #precios .tariff-special-list select {
    min-height: 44px !important;
    padding: 9px 11px !important;
    border-color: #c9d8d0 !important;
    border-radius: 9px !important;
    background: #fff !important;
    color: #18382b;
    font-size: 14px !important;
    box-shadow: inset 0 1px 2px rgba(18, 56, 40, .025);
}
.advertising-admin-page #precios .tariff-money > div {
    grid-template-columns: 72px minmax(96px, 1fr);
    gap: 7px;
}
.advertising-admin-page #precios .tariff-active {
    align-self: end;
    min-height: 44px;
    gap: 10px;
    padding: 7px 9px;
    border: 1px solid #d7e4dd;
    border-radius: 10px;
    background: #f5faf7;
}
.advertising-admin-page #precios .tariff-active input {
    width: 40px !important;
    height: 22px !important;
}
.advertising-admin-page #precios .tariff-active span {
    margin: 0;
}
.advertising-admin-page #precios .tariff-active span b {
    color: #244c3a;
    font-size: 12px;
}
.advertising-admin-page #precios .tariff-active span small {
    margin-top: 2px;
    color: #73877c;
    font-size: 9px;
}
.advertising-admin-page #precios .tariff-specials {
    margin-top: 17px;
    border-color: #d8e3dd;
    border-radius: 13px;
    background: #f7faf8;
}
.advertising-admin-page #precios .tariff-specials > summary {
    padding: 16px 18px;
}
.advertising-admin-page #precios .tariff-specials > summary b {
    font-size: 14px;
}
.advertising-admin-page #precios .tariff-specials > summary small {
    font-size: 11px;
}

/* ==========================================================================
   PUBLIC ARTICLE READER SYSTEM 2026 (/noticias/slug)
   ========================================================================== */
.article-reader-container {
    max-width: 900px;
    margin: 36px auto;
    padding: 0 20px;
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    color: #0f172a;
}

.article-header-hero {
    margin-bottom: 28px;
}

.article-meta-kicker {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 14px;
    flex-wrap: wrap;
}

.category-kicker-pill {
    display: inline-block;
    padding: 5px 14px;
    border-radius: 20px;
    background: #0284c7;
    color: #ffffff;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    text-decoration: none;
}

.locality-kicker-badge {
    font-size: 12px;
    font-weight: 700;
    color: #475569;
}

.article-main-title {
    margin: 0 0 16px;
    font-size: 2.5rem;
    line-height: 1.22;
    font-weight: 800;
    color: #071a37;
    font-family: Georgia, "Times New Roman", serif;
    letter-spacing: -0.01em;
}

.article-main-lead {
    font-size: 1.2rem;
    line-height: 1.6;
    color: #334155;
    font-weight: 500;
    margin: 0 0 24px;
    padding-left: 18px;
    border-left: 4px solid #0284c7;
}

.article-author-card {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 16px 20px;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    box-shadow: 0 4px 14px rgba(0,0,0,0.03);
    flex-wrap: wrap;
}

.author-avatar-img {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid #0284c7;
}

.author-avatar-fallback {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: linear-gradient(135deg, #0284c7, #2563eb);
    color: #ffffff;
    display: grid;
    place-items: center;
    font-weight: 800;
    font-size: 16px;
}

.author-info-meta {
    flex: 1;
}

.author-name-row {
    display: flex;
    align-items: center;
    gap: 10px;
}

.author-name {
    font-size: 15px;
    color: #071a37;
}

.journalist-badge {
    font-size: 10px;
    font-weight: 800;
    padding: 2px 8px;
    background: #f0fdf4;
    color: #166534;
    border: 1px solid #bbf7d0;
    border-radius: 12px;
}

.article-pub-details {
    margin-top: 2px;
    font-size: 12px;
    color: #64748b;
}

.meta-dot {
    margin: 0 6px;
}

.article-tts-widget {
    margin-left: auto;
}

.btn-tts-listen {
    padding: 8px 16px;
    background: #0284c7;
    color: #ffffff;
    border: none;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 700;
    cursor: pointer;
    box-shadow: 0 2px 8px rgba(2, 132, 199, 0.3);
    transition: all 0.2s ease;
}

.btn-tts-listen:hover {
    background: #0369a1;
}

/* IMAGEN DESTACADA PRINCIPAL DE PORTADA */
.article-featured-image-box {
    margin: 0 0 32px;
}

.featured-img-frame {
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 16px 40px rgba(7, 26, 55, 0.12);
    background: #071a37;
    max-height: 540px;
}

.featured-img {
    width: 100%;
    height: auto;
    max-height: 540px;
    object-fit: cover;
    display: block;
}

.featured-img-caption {
    margin-top: 10px;
    font-size: 13px;
    color: #64748b;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}

.img-credit-tag {
    font-weight: 700;
    color: #475569;
}

/* CUERPO DEL ARTÍCULO */
.article-content-body {
    background: #ffffff;
    border-radius: 16px;
}

.article-text-render {
    font-size: 1.125rem;
    line-height: 1.75;
    color: #1e293b;
    margin-bottom: 32px;
}

.article-text-render p {
    margin-bottom: 1.25rem;
}

.article-rich-title :is(strong,b) { font-weight: 900; }
.article-rich-title :is(em,i) { font-style: italic; }
.article-rich-title u,
.article-rich-lead u,
.article-text-render u { text-underline-offset: .16em; }
.article-rich-title a,
.article-rich-lead a { color: inherit; text-decoration-thickness: .08em; text-underline-offset: .15em; }
.article-rich-lead > :first-child,
.article-text-render > :first-child { margin-top: 0; }
.article-rich-lead > :last-child,
.article-text-render > :last-child { margin-bottom: 0; }
.article-text-render :is(h2,h3,h4) { margin: 1.7em 0 .65em; color: #071a37; line-height: 1.25; }
.article-text-render :is(ul,ol) { margin: 0 0 1.35rem; padding-left: 1.65rem; }
.article-text-render li + li { margin-top: .45rem; }
.article-text-render blockquote { margin: 1.5rem 0; padding: .2rem 0 .2rem 1.2rem; border-left: 4px solid #087a46; color: #42566c; font-family: Georgia, "Times New Roman", serif; font-size: 1.08em; }
.article-text-render a { color: #075db1; text-decoration-thickness: .08em; text-underline-offset: .14em; }
.article-text-render [data-align="center"] { text-align: center; }
.article-text-render [data-align="right"] { text-align: right; }
.article-text-render [data-align="justify"] { text-align: justify; }
.article-text-render [data-align="left"] { text-align: left; }

/* FUENTE VERIFICADA */
.article-source-box {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 16px 20px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    margin: 28px 0;
}

.source-icon {
    font-size: 24px;
}

.source-label {
    font-size: 12px;
    color: #64748b;
    display: block;
}

.source-name {
    font-size: 14px;
    color: #071a37;
    margin-right: 12px;
}

.source-link {
    color: #0284c7;
    font-weight: 700;
    text-decoration: none;
    font-size: 13px;
}

/* COMPARTIR */
.article-share-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 18px 24px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    margin-bottom: 36px;
    flex-wrap: wrap;
    gap: 12px;
}

.article-share-bar span {
    font-size: 13px;
    font-weight: 700;
    color: #334155;
}

.share-buttons-group {
    display: flex;
    gap: 10px;
}

.btn-share {
    padding: 8px 16px;
    border-radius: 8px;
    font-size: 12px;
    font-weight: 800;
    text-decoration: none;
    color: #ffffff;
}

.share-wa { background: #25d366; }
.share-fb { background: #1877f2; }
.share-tw { background: #000000; }

/* COMENTARIOS */
.article-comments-section {
    margin-top: 40px;
    padding-top: 28px;
    border-top: 1px solid #e2e8f0;
}

.comments-section-header h3 {
    margin: 0 0 18px;
    font-size: 20px;
    color: #071a37;
    font-family: Georgia, serif;
}

.comments-policy-notice {
    padding: 16px 20px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    color: #64748b;
    font-size: 14px;
    margin-bottom: 24px;
}

.btn-login-comment {
    display: inline-block;
    margin-top: 10px;
    padding: 8px 18px;
    background: #0284c7;
    color: #ffffff;
    border-radius: 8px;
    text-decoration: none;
    font-weight: 700;
    font-size: 13px;
}

.comment-input-form textarea {
    width: 100%;
    padding: 12px 16px;
    border: 1px solid #cbd5e1;
    border-radius: 10px;
    font: inherit;
    box-sizing: border-box;
    margin-bottom: 12px;
}

.btn-submit-comment {
    padding: 10px 22px;
    background: #0284c7;
    color: #ffffff;
    border: none;
    border-radius: 8px;
    font-weight: 800;
    font-size: 13px;
    cursor: pointer;
}

.comments-feed-list {
    display: flex;
    flex-direction: column;
    gap: 14px;
    margin-top: 24px;
}

.comment-card {
    padding: 16px 20px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
}

.comment-card-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 8px;
}

.comment-card-header strong {
    font-size: 14px;
    color: #071a37;
}

.comment-card-header time {
    font-size: 11px;
    color: #64748b;
}

@media (max-width: 640px) {
    .article-main-title { font-size: 1.8rem; }
    .article-author-card { flex-direction: column; align-items: flex-start; }
    .article-tts-widget { margin-left: 0; margin-top: 8px; }
}

.advertising-admin-page #precios .tariff-specials > summary > strong {
    width: 34px;
    height: 34px;
    font-size: 12px;
}
.advertising-admin-page #precios .tariff-special-list {
    gap: 9px;
    padding: 0 14px 14px;
}
.advertising-admin-page #precios .tariff-special-list > article {
    gap: 11px;
    padding: 13px;
    border-radius: 11px;
}
.advertising-admin-page #precios .tariff-savebar {
    bottom: 14px;
    margin-top: 18px;
    padding: 13px 15px;
    border-color: #b8d5c6;
    border-radius: 12px;
    background: rgba(249, 253, 251, .96);
    box-shadow: 0 14px 35px rgba(18, 57, 40, .13);
}
.advertising-admin-page #precios .tariff-savebar p {
    color: #5c7166;
    font-size: 12px;
    line-height: 1.45;
}
.advertising-admin-page #precios .tariff-savebar .admin-save {
    min-height: 44px;
    padding: 10px 18px;
    font-size: 13px;
}

/* Pagos y comprobantes. */
.advertising-admin-page .advertising-payments-admin {
    padding-bottom: 30px !important;
}
.advertising-admin-page .payments-premium-heading {
    padding: 30px 32px;
    border-color: rgba(21, 92, 62, .16);
    border-radius: 20px;
    background: linear-gradient(122deg, #fff 0%, #f1f8f4 68%, #e4f1ea 100%);
    box-shadow: var(--ad-shadow);
}
.advertising-admin-page .payments-premium-heading h1 {
    margin: 6px 0 8px !important;
    color: var(--ad-forest-dark);
    font-size: clamp(29px, 2.5vw, 38px) !important;
}
.advertising-admin-page .payments-premium-heading p {
    max-width: 760px;
    color: #5b7066;
    font-size: 15px;
    line-height: 1.55;
}
.payments-security-badge {
    position: relative;
    display: grid;
    flex: none;
    gap: 2px;
    min-width: 190px;
    padding: 12px 15px 12px 42px;
    border: 1px solid #b8d5c6;
    border-radius: 13px;
    background: #fff;
    color: #285441;
    box-shadow: 0 8px 20px rgba(18, 57, 40, .07);
}
.payments-security-badge::before {
    content: "✓";
    position: absolute;
    top: 50%;
    left: 14px;
    margin: 0;
    display: grid;
    place-items: center;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: #dff2e8;
    color: #08734b;
    font-size: 12px;
    font-weight: 900;
    transform: translateY(-50%);
}
.payments-security-badge b {
    font-size: 13px;
}
.payments-security-badge small {
    color: #71847a;
    font-size: 10px;
}
.advertising-admin-page .payments-admin-grid {
    grid-template-columns: minmax(0, 1.1fr) minmax(370px, .9fr);
    gap: 22px;
    margin: 22px 0;
    align-items: start;
}
.advertising-admin-page .payment-settings-card {
    overflow: hidden;
    padding: 0;
    border: 1px solid rgba(20, 73, 51, .12);
    border-radius: 18px;
    box-shadow: var(--ad-shadow);
}
.payment-card-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    padding: 22px 24px 19px;
    border-bottom: 1px solid var(--ad-border);
    background: linear-gradient(135deg, #fff, #f5faf7);
}
.advertising-admin-page .payment-card-heading h2 {
    margin: 4px 0 6px;
    color: var(--ad-forest-dark);
    font-size: 23px;
    line-height: 1.15;
}
.payment-card-heading p {
    max-width: 540px;
    margin: 0;
    color: #64786e;
    font-size: 13px;
    line-height: 1.5;
}
.payment-card-heading > span {
    flex: none;
    padding: 7px 10px;
    border-radius: 999px;
    background: var(--ad-mint);
    color: #116444;
    font-size: 11px;
    font-weight: 800;
}
.advertising-admin-page .payment-methods-card {
    padding-bottom: 14px;
}
.advertising-admin-page .payment-admin-method {
    margin: 12px 16px 0;
    border-color: #d5e1db;
    border-radius: 13px;
    background: #fff;
    box-shadow: 0 4px 14px rgba(18, 56, 40, .035);
}
.advertising-admin-page .payment-admin-method[open] {
    border-color: #a8cdbb;
    box-shadow: 0 9px 24px rgba(18, 72, 48, .07);
}
.advertising-admin-page .payment-admin-method > summary {
    align-items: center;
    gap: 16px;
    padding: 15px 17px;
    border-radius: 13px;
    list-style: none;
}
.advertising-admin-page .payment-admin-method > summary::-webkit-details-marker {
    display: none;
}
.payment-admin-method > summary > span:first-child {
    min-width: 0;
}
.payment-admin-method > summary b,
.payment-admin-method > summary small {
    display: block;
}
.payment-admin-method > summary b {
    color: #244737;
    font-size: 14px;
}
.payment-admin-method > summary small {
    margin-top: 3px;
    color: #75877e;
    font-size: 11px;
}
.payment-method-state {
    flex: none;
    padding: 6px 9px;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 900;
}
.payment-method-state.is-active {
    background: #dff4e8;
    color: #087247;
}
.payment-method-state.is-inactive {
    background: #eef1ef;
    color: #6b7871;
}
.payment-add-symbol {
    display: grid;
    place-items: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #e4f4eb;
    color: #087049;
    font-size: 22px;
    font-weight: 500;
}
.advertising-admin-page .payment-admin-new {
    border-style: dashed;
    background: #f8fbf9;
}
.advertising-admin-page .payment-method-form,
.advertising-admin-page .receipt-settings-form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    margin: 0;
    padding: 19px 18px 18px;
    border-top: 1px solid #e0e8e3;
    background: #fbfdfc;
}
.advertising-admin-page .receipt-settings-form {
    border-top: 0;
    background: #fff;
}
.advertising-admin-page .payment-method-form .wide,
.advertising-admin-page .receipt-settings-form .wide {
    grid-column: 1 / -1;
}
.advertising-admin-page .payment-method-form label,
.advertising-admin-page .receipt-settings-form label {
    min-width: 0;
    margin: 0;
    color: #3e5a4d;
    font-size: 12px;
    line-height: 1.3;
}
.advertising-admin-page .payment-method-form label > small,
.advertising-admin-page .receipt-settings-form label > small {
    display: block;
    min-height: 28px;
    margin: 4px 0 6px;
    color: #7a8c83;
    font-size: 10px;
    font-weight: 500;
    line-height: 1.35;
}
.advertising-admin-page .payment-method-form input:not([type=checkbox]),
.advertising-admin-page .payment-method-form select,
.advertising-admin-page .payment-method-form textarea,
.advertising-admin-page .receipt-settings-form input,
.advertising-admin-page .receipt-settings-form select,
.advertising-admin-page .receipt-settings-form textarea {
    display: block;
    width: 100%;
    min-height: 44px;
    margin: 0;
    padding: 10px 12px;
    border: 1px solid #c8d7cf;
    border-radius: 9px;
    background: #fff;
    color: #19382b;
    font: 13px/1.4 Arial, sans-serif;
    box-shadow: inset 0 1px 2px rgba(19, 57, 41, .03);
}
.advertising-admin-page .payment-method-form textarea,
.advertising-admin-page .receipt-settings-form textarea {
    min-height: 104px;
    resize: vertical;
}
.advertising-admin-page .payment-method-form input:focus,
.advertising-admin-page .payment-method-form select:focus,
.advertising-admin-page .payment-method-form textarea:focus,
.advertising-admin-page .receipt-settings-form input:focus,
.advertising-admin-page .receipt-settings-form textarea:focus {
    border-color: #168158;
    outline: 3px solid rgba(22, 129, 88, .11);
}
.payment-visibility {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
    padding: 11px;
    border: 1px solid #d7e3dc;
    border-radius: 11px;
    background: #f3f8f5;
}
.advertising-admin-page .payment-visibility label {
    display: flex;
    align-items: center;
    gap: 9px;
    min-height: 52px;
    padding: 8px 10px;
    border: 1px solid #dce6e0;
    border-radius: 9px;
    background: #fff;
    cursor: pointer;
}
.advertising-admin-page .payment-visibility input {
    width: 19px;
    height: 19px;
    flex: 0 0 auto;
    margin: 0;
    accent-color: #11794f;
}
.payment-visibility span b,
.payment-visibility span small {
    display: block;
}
.payment-visibility span b {
    color: #315242;
    font-size: 11px;
}
.payment-visibility span small {
    margin-top: 2px;
    color: #7b8c83;
    font-size: 9px;
    font-weight: 500;
}
.advertising-admin-page .payment-method-form .admin-save,
.advertising-admin-page .receipt-settings-form .admin-save {
    width: max-content;
    min-width: 210px;
    margin-top: 2px;
}
.advertising-admin-page .payment-delete-form {
    padding: 0 18px 18px;
    border-top: 0;
    background: #fbfdfc;
}
.advertising-admin-page .payment-delete {
    margin: 0;
    padding: 8px 0;
    border: 0;
    background: transparent;
    color: #a33c46;
    font-size: 11px;
    font-weight: 800;
}

/* Tabla de comprobantes: misma calidad visual y tipografía legible. */
.advertising-admin-page .receipts-card {
    margin-top: 22px;
    border: 1px solid rgba(20, 73, 51, .12);
    border-radius: 18px;
    box-shadow: var(--ad-shadow);
}
.advertising-admin-page .receipts-card > header {
    padding: 22px 24px 19px;
    background: linear-gradient(135deg, #fff, #f5faf7);
}
.advertising-admin-page .receipts-card > header h2 {
    margin: 4px 0 6px;
    color: var(--ad-forest-dark);
    font-size: 23px;
}
.advertising-admin-page .receipts-card > header p {
    color: #64786e;
    font-size: 13px;
    line-height: 1.5;
}
.advertising-admin-page .receipts-card > header > strong {
    padding: 8px 11px;
    font-size: 11px;
}
.advertising-admin-page .receipts-table {
    min-width: 1440px;
}
.advertising-admin-page .receipts-table th {
    padding: 12px 11px !important;
    background: #eaf3ee;
    color: #335848;
    font-size: 10px !important;
    line-height: 1.3;
}
.advertising-admin-page .receipts-table td {
    padding: 14px 11px !important;
    color: #294538;
    font-size: 12px;
    line-height: 1.45;
}
.advertising-admin-page .receipts-table .cell-note {
    margin-top: 5px;
    color: #74867d;
    font-size: 10px;
    line-height: 1.4;
}
.advertising-admin-page .campaign-state,
.advertising-admin-page .receipt-payment-state {
    padding: 6px 9px;
    font-size: 10px;
}
.advertising-admin-page .campaign-hidden-note {
    margin-top: 6px;
    font-size: 10px;
}
.advertising-admin-page .receipt-logo-list {
    gap: 7px;
}
.advertising-admin-page .receipt-logo-list > article {
    grid-template-columns: 54px minmax(0, 1fr) 58px;
    gap: 10px;
    padding: 8px;
    border-radius: 10px;
}
.advertising-admin-page .receipt-logo-list img {
    width: 54px;
    height: 42px;
    border-radius: 7px;
}
.advertising-admin-page .receipt-logo-list article > div b {
    font-size: 11px;
}
.advertising-admin-page .receipt-logo-list article > div small {
    font-size: 9px;
}
.advertising-admin-page .receipt-logo-list article > span b {
    font-size: 18px;
}
.advertising-admin-page .receipt-logo-list article > span small,
.advertising-admin-page .receipt-click-total {
    font-size: 9px;
}
.advertising-admin-page .receipts-table .receipt-review-form input {
    min-height: 40px;
    padding: 8px 10px;
    border-radius: 8px;
    font-size: 11px;
}
.advertising-admin-page .receipts-table .receipt-review-form button {
    min-height: 34px;
    padding: 7px 10px;
    border-radius: 7px;
    font-size: 10px;
}
.advertising-admin-page .receipt-reviewed {
    font-size: 11px;
}

@media (max-width: 1260px) {
    .advertising-admin-page #precios .tariff-section-row {
        grid-template-columns: minmax(180px, .9fr) minmax(220px, 1.35fr) minmax(190px, .9fr) 145px;
        align-items: center;
    }
    .advertising-admin-page #precios .tariff-section-name {
        grid-column: 1;
        grid-row: 1 / 3;
    }
    .advertising-admin-page #precios .tariff-placement {
        grid-column: 2;
        grid-row: 1;
    }
    .advertising-admin-page #precios .tariff-description {
        grid-column: 2;
        grid-row: 2;
    }
    .advertising-admin-page #precios .tariff-money {
        grid-column: 3;
        grid-row: 1 / 3;
    }
    .advertising-admin-page #precios .tariff-active {
        grid-column: 4;
        grid-row: 1 / 3;
    }
}
@media (max-width: 1050px) {
    .advertising-admin-page .payments-admin-grid {
        grid-template-columns: 1fr;
    }
    .advertising-admin-page #precios .tariff-section-row {
        grid-template-columns: minmax(180px, .8fr) minmax(220px, 1.2fr) minmax(180px, .8fr);
    }
    .advertising-admin-page #precios .tariff-section-name {
        grid-row: 1 / 3;
    }
    .advertising-admin-page #precios .tariff-money {
        grid-column: 3;
        grid-row: 1;
    }
    .advertising-admin-page #precios .tariff-active {
        grid-column: 3;
        grid-row: 2;
    }
}
@media (max-width: 720px) {
    .advertising-admin-page #precios,
    .advertising-admin-page .payment-settings-card,
    .advertising-admin-page .receipts-card,
    .advertising-admin-page .payments-premium-heading {
        border-radius: 14px;
    }
    .advertising-admin-page #precios .tariff-card-heading,
    .advertising-admin-page .payments-premium-heading {
        display: grid;
        padding: 22px 18px;
        border-radius: 14px 14px 0 0;
    }
    .advertising-admin-page #precios .tariff-card-heading p,
    .advertising-admin-page .payments-premium-heading p {
        font-size: 14px !important;
    }
    .payments-security-badge {
        min-width: 0;
        margin-top: 15px;
    }
    .advertising-admin-page #precios .tariff-compact-form {
        padding: 14px;
    }
    .advertising-admin-page #precios .tariff-section-row {
        display: grid;
        grid-template-columns: 1fr;
        gap: 13px;
        padding: 15px;
    }
    .advertising-admin-page #precios .tariff-section-name,
    .advertising-admin-page #precios .tariff-placement,
    .advertising-admin-page #precios .tariff-description,
    .advertising-admin-page #precios .tariff-money,
    .advertising-admin-page #precios .tariff-active {
        grid-column: 1;
        grid-row: auto;
    }
    .advertising-admin-page #precios .tariff-active {
        align-self: stretch;
    }
    .advertising-admin-page #precios .tariff-savebar {
        gap: 12px;
    }
    .advertising-admin-page .payment-card-heading,
    .advertising-admin-page .receipts-card > header {
        padding: 19px 18px 16px;
    }
    .advertising-admin-page .payment-method-form,
    .advertising-admin-page .receipt-settings-form {
        grid-template-columns: 1fr;
        padding: 17px 15px;
    }
    .advertising-admin-page .payment-method-form .wide,
    .advertising-admin-page .receipt-settings-form .wide {
        grid-column: 1;
    }
    .payment-visibility {
        grid-template-columns: 1fr;
    }
    .advertising-admin-page .payment-method-form .admin-save,
    .advertising-admin-page .receipt-settings-form .admin-save {
        width: 100%;
        min-width: 0;
    }
    .advertising-admin-page .payment-admin-method {
        margin-inline: 12px;
    }
}

/* Portada: hero 25% más bajo y carrusel de auspiciantes 15% más presente. */
.hero-grid {
    height: 420px;
}
.hero-grid .lead-copy {
    padding: 2.15rem 2.35rem;
}
.hero-grid .lead-copy .eyebrow {
    margin-bottom: .65rem;
    font-size: .76rem;
}
.hero-grid .lead-copy h1 {
    margin-bottom: .7rem;
    font-size: clamp(1.9rem, 3vw, 2.25rem);
}
.hero-grid .lead-copy p {
    margin-bottom: 1rem;
    font-size: 1rem;
    line-height: 1.4;
}
.hero-grid .club-news-item {
    padding: .78rem .9rem;
}
.commercial-logo-strip > .shell {
    grid-template-columns: 205px minmax(0, 1fr);
    gap: 27px;
    min-height: 145px;
    padding-top: 21px;
    padding-bottom: 21px;
}
.commercial-logo-title {
    font-size: 11px;
    line-height: 1.55;
}
.commercial-logo-heading small {
    max-width: 195px;
    color: #a4b7ad;
    font-size: 11px;
    line-height: 1.5;
}
.commercial-logo-list {
    gap: 16px;
}
.commercial-logo-list a,
.commercial-logo-list .commercial-brand-link {
    display: grid;
    grid-template-rows: minmax(0, 1fr) auto auto;
    flex-basis: 173px;
    width: 173px;
    height: 102px;
    border-radius: 15px;
}
.commercial-logo-list img {
    width: 100%;
    height: 62px;
    padding: 7px 13px 2px;
}
.commercial-logo-list a > b {
    padding: 5px 9px;
    font-size: 10px;
    line-height: 1.25;
}
.commercial-logo-list .ad-card-meta {
    z-index: 2;
    display: block;
    align-self: stretch;
    overflow: hidden;
    padding: 3px 8px 5px;
    background: #eef4f0;
    color: #28513f;
    font-size: 9px;
    font-weight: 800;
    line-height: 1.2;
    text-align: center;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.commercial-logo-list a > span[aria-hidden="true"] {
    inset: 0 0 35px;
}
.commercial-carousel.is-overflowing {
    grid-template-columns: 41px minmax(0, 1fr) 41px;
}
.commercial-carousel-control {
    width: 39px;
    height: 39px;
    font-size: 25px;
}

/* Ficha pública del auspiciante. */
body.ad-profile-open {
    overflow: hidden;
}
.ad-profile-modal[hidden] {
    display: none;
}
.ad-profile-modal {
    position: fixed;
    z-index: 1200;
    inset: 0;
    display: grid;
    place-items: center;
    padding: 24px;
}
.ad-profile-backdrop {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
    background: rgba(3, 15, 10, .76);
    backdrop-filter: blur(9px);
    cursor: default;
}
.ad-profile-panel {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(250px, .9fr) minmax(330px, 1.1fr);
    width: min(760px, 100%);
    max-height: min(680px, calc(100vh - 48px));
    overflow: auto;
    border: 1px solid rgba(255, 255, 255, .48);
    border-radius: 26px;
    background: #fff;
    color: #11271e;
    box-shadow: 0 32px 95px rgba(0, 0, 0, .34);
    animation: ad-profile-in .24s ease-out;
}
@keyframes ad-profile-in {
    from { opacity: 0; transform: translateY(18px) scale(.975); }
}
.ad-profile-close {
    position: absolute;
    z-index: 4;
    top: 14px;
    right: 14px;
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    padding: 0;
    border: 1px solid rgba(17, 56, 40, .12);
    border-radius: 50%;
    background: rgba(255, 255, 255, .9);
    color: #1a3b2d;
    box-shadow: 0 6px 18px rgba(11, 45, 30, .12);
    font-size: 25px;
    line-height: 1;
    cursor: pointer;
}
.ad-profile-visual {
    position: relative;
    display: flex;
    min-height: 430px;
    padding: 34px 28px 28px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    background: radial-gradient(circle at 20% 5%, rgba(73, 208, 148, .22), transparent 32%), linear-gradient(145deg, #071b13, #123c2b 62%, #0b2a1d);
    color: #fff;
}
.ad-profile-visual::after {
    content: "";
    position: absolute;
    right: -75px;
    bottom: -75px;
    width: 220px;
    height: 220px;
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: 50%;
    box-shadow: 0 0 0 35px rgba(255, 255, 255, .025), 0 0 0 70px rgba(255, 255, 255, .018);
}
.ad-profile-visual > span,
.ad-profile-visual > small {
    position: relative;
    z-index: 1;
    color: #b9d6c8;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .14em;
    text-align: center;
    text-transform: uppercase;
}
.ad-profile-visual figure {
    position: relative;
    z-index: 1;
    display: grid;
    place-items: center;
    width: min(245px, 100%);
    min-height: 180px;
    margin: 20px 0;
    padding: 22px;
    border: 1px solid rgba(255, 255, 255, .3);
    border-radius: 21px;
    background: #fff;
    box-shadow: 0 20px 48px rgba(0, 0, 0, .28);
}
.ad-profile-visual img {
    width: 100%;
    max-height: 145px;
    object-fit: contain;
}
.ad-profile-content {
    display: flex;
    padding: 46px 42px 36px;
    flex-direction: column;
    justify-content: center;
}
.ad-profile-kicker {
    color: #08734c;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .14em;
    text-transform: uppercase;
}
.ad-profile-content h2 {
    margin: 8px 0 10px;
    color: #102f22;
    font: 800 clamp(27px, 4vw, 36px)/1.08 var(--serif);
    letter-spacing: -.035em;
}
.ad-profile-location {
    align-self: flex-start;
    margin-bottom: 19px;
    padding: 6px 10px;
    border-radius: 999px;
    background: #e8f5ee;
    color: #176344;
    font-size: 10px;
    font-weight: 800;
}
.ad-profile-content > p {
    margin: 0 0 20px;
    color: #50675d;
    font-size: 15px;
    line-height: 1.72;
    white-space: pre-line;
}
.ad-profile-phone {
    display: grid;
    gap: 2px;
    align-self: flex-start;
    margin-bottom: 22px;
    padding: 11px 13px;
    border: 1px solid #d4e5dc;
    border-radius: 11px;
    background: #f7fbf9;
    color: #174a35;
}
.ad-profile-phone small {
    color: #71867b;
    font-size: 9px;
    font-weight: 700;
    text-transform: uppercase;
}
.ad-profile-phone b {
    font-size: 14px;
}
.ad-profile-actions {
    display: grid;
    gap: 9px;
    margin-top: auto;
}
.ad-profile-actions a,
.ad-profile-actions button {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: 11px 16px;
    border-radius: 10px;
    font-size: 12px;
    font-weight: 800;
    cursor: pointer;
}
.ad-profile-actions a {
    gap: 10px;
    border: 0;
    background: linear-gradient(135deg, #10845a, #08603f);
    color: #fff;
    box-shadow: 0 10px 24px rgba(8, 104, 69, .22);
}
.ad-profile-actions button {
    border: 1px solid #d7e2dc;
    background: #fff;
    color: #4c6358;
}

@media (max-width: 980px) {
    .hero-grid {
        height: auto !important;
    }
    .hero-grid .lead-story-card {
        height: 340px !important;
        min-height: 340px !important;
    }
    .hero-grid .hero-side-card {
        height: 375px !important;
    }
}
@media (max-width: 760px) {
    .commercial-logo-strip > .shell {
        grid-template-columns: 1fr;
        gap: 13px;
        min-height: 0;
        padding-top: 17px;
        padding-bottom: 17px;
    }
    .commercial-logo-title,
    .commercial-logo-heading small {
        font-size: 10px;
    }
    .commercial-logo-list a,
    .commercial-logo-list .commercial-brand-link {
        flex-basis: 144px;
        width: 144px;
        height: 88px;
    }
    .commercial-logo-list img {
        height: 52px;
        padding: 6px 10px 1px;
    }
    .commercial-logo-list a > b {
        padding: 4px 7px;
        font-size: 9px;
    }
    .commercial-logo-list .ad-card-meta {
        padding: 2px 6px 4px;
        font-size: 8px;
    }
    .commercial-carousel.is-overflowing {
        grid-template-columns: 32px minmax(0, 1fr) 32px;
    }
    .commercial-carousel-control {
        width: 31px;
        height: 31px;
        font-size: 21px;
    }
    .ad-profile-panel {
        grid-template-columns: 1fr;
        width: min(520px, 100%);
        border-radius: 21px;
    }
    .ad-profile-visual {
        min-height: 225px;
        padding: 28px 60px 24px;
    }
    .ad-profile-visual figure {
        width: min(220px, 100%);
        min-height: 120px;
        margin: 14px 0;
        padding: 16px;
    }
    .ad-profile-visual img {
        max-height: 95px;
    }
    .ad-profile-content {
        padding: 29px 25px 25px;
    }
}
@media (max-width: 520px) {
    .hero-grid .lead-story-card {
        height: 315px !important;
        min-height: 315px !important;
    }
    .hero-grid .lead-copy {
        padding: 1.45rem;
    }
    .hero-grid .lead-copy h1 {
        font-size: 1.72rem;
    }
    .hero-grid .lead-copy p {
        font-size: .9rem;
        -webkit-line-clamp: 1;
    }
    .ad-profile-modal {
        align-items: end;
        padding: 10px;
    }
    .ad-profile-panel {
        width: 100%;
        max-height: calc(100vh - 20px);
        border-radius: 20px;
    }
    .ad-profile-visual {
        min-height: 190px;
        padding: 24px 52px 20px;
    }
    .ad-profile-visual figure {
        min-height: 100px;
        margin: 10px 0;
    }
    .ad-profile-content {
        padding: 24px 20px 20px;
    }
    .ad-profile-content h2 {
        font-size: 27px;
    }
    .ad-profile-content > p {
        font-size: 14px;
        line-height: 1.6;
    }
}
@media (prefers-reduced-motion: reduce) {
    .ad-profile-panel {
        animation: none;
    }
}

/* Publicidad política: inventario lateral fuera del contenido periodístico. */
.political-content-frame {
    position: relative;
    min-width: 0;
}
.political-content-frame > main {
    min-width: 0;
}
.political-ad-rail {
    display: none;
    position: absolute;
    top: 1.25rem;
    z-index: 5;
    width: clamp(7.25rem, calc((100vw - 73.75rem) / 2 - 1.1rem), 10rem);
}
.political-ad-rail.is-left {
    right: calc(50% + 36.875rem + .85rem);
}
.political-ad-rail.is-right {
    left: calc(50% + 36.875rem + .85rem);
}
.political-ad-rail > div {
    position: sticky;
    top: 5.75rem;
    display: grid;
    gap: .8rem;
}
.political-ad-card {
    display: grid;
    overflow: hidden;
    border: 1px solid #cdd9e2;
    border-radius: .8rem;
    background: #fff;
    color: #122d43;
    box-shadow: 0 .65rem 1.6rem rgba(8,35,57,.09);
    transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.political-ad-card:hover,
.political-ad-card:focus-visible {
    border-color: #5591ad;
    box-shadow: 0 .85rem 2rem rgba(8,35,57,.14);
    transform: translateY(-.15rem);
}
.political-ad-disclosure {
    display: block;
    padding: .43rem .45rem;
    border-bottom: 1px solid #d9e2e8;
    background: #eff4f7;
    color: #405969;
    font-size: .48rem;
    font-weight: 900;
    line-height: 1.35;
    letter-spacing: .055em;
    text-align: center;
}
.political-ad-card figure {
    margin: 0;
    background: #eef3f5;
}
.political-ad-card figure img {
    width: 100%;
    aspect-ratio: 4/5;
    object-fit: cover;
}
.political-ad-copy {
    display: grid;
    gap: .28rem;
    padding: .7rem .65rem .62rem;
}
.political-ad-copy small {
    overflow: hidden;
    color: #527081;
    font-size: .54rem;
    font-weight: 800;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.political-ad-copy b {
    font: 800 clamp(.76rem,1vw,.92rem)/1.18 var(--serif);
    letter-spacing: -.015em;
}
.political-ad-copy > span {
    color: #315e73;
    font-size: .58rem;
    font-weight: 800;
}
.political-ad-copy p {
    margin: .1rem 0;
    color: #5f7482;
    font-size: .58rem;
    line-height: 1.45;
}
.political-ad-copy em {
    margin-top: .22rem;
    color: #086b9a;
    font-size: .56rem;
    font-style: normal;
    font-weight: 900;
}
.political-ad-card footer {
    padding: .48rem .65rem;
    border-top: 1px solid #e1e7eb;
    color: #748791;
    font-size: .44rem;
    line-height: 1.35;
}
.political-ad-card.is-event-notice figure {
    padding: .7rem .75rem 0;
    background: #fff;
}
.political-ad-card.is-event-notice figure img {
    height: 3rem;
    aspect-ratio: auto;
    object-fit: contain;
}
.political-ad-card.is-event-notice .political-ad-copy p {
    color: #263f50;
    font-size: .63rem;
}
.political-ad-compact {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: .75rem;
    margin-block: 1rem;
}
.political-ad-card.is-compact {
    grid-template-columns: minmax(5rem,7.5rem) minmax(0,1fr);
    grid-template-rows: auto 1fr auto;
}
.political-ad-card.is-compact .political-ad-disclosure {
    grid-column: 1/-1;
    text-align: left;
}
.political-ad-card.is-compact figure {
    grid-row: 2;
}
.political-ad-card.is-compact figure img {
    height: 100%;
    min-height: 6.4rem;
    aspect-ratio: auto;
}
.political-ad-card.is-compact .political-ad-copy {
    grid-column: 2;
    grid-row: 2;
    align-content: center;
}
.political-ad-card.is-compact footer {
    grid-column: 1/-1;
}
@media (min-width: 93.75rem) {
    .political-ad-rail { display: block; }
    .political-ad-compact { display: none; }
}
@media (max-width: 43rem) {
    .political-ad-compact {
        display: flex;
        overflow-x: auto;
        padding-bottom: .3rem;
        scroll-snap-type: x mandatory;
    }
    .political-ad-card.is-compact {
        flex: 0 0 min(88vw,25rem);
        scroll-snap-align: center;
    }
}
@media (prefers-reduced-motion: reduce) {
    .political-ad-card { transition: none; }
}

/* Administración y auditoría de publicidad política. */
.political-administration {
    overflow: hidden;
    margin-bottom: 1.25rem;
    padding: 0 !important;
    border-color: #cbdbe5 !important;
}
.political-administration > header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.25rem;
    padding: 1.25rem 1.4rem;
    border-bottom: 1px solid #d8e3ea;
    background: radial-gradient(circle at 90% 0,rgba(24,126,167,.12),transparent 32%),linear-gradient(135deg,#fbfdfe,#eff6fa);
}
.political-administration h2 { margin: .2rem 0; }
.political-administration header p {
    max-width: 48rem;
    margin: 0;
    color: #637b8a;
    font-size: .74rem;
}
.political-administration > header > strong {
    flex: 0 0 auto;
    padding: .5rem .7rem;
    border: 1px solid #b9d8ca;
    border-radius: 999px;
    background: #edf9f3;
    color: #15724c;
    font-size: .62rem;
}
.political-admin-grid {
    display: grid;
    grid-template-columns: minmax(0,1.6fr) minmax(15rem,.7fr);
    gap: 1.2rem;
    padding: 1.3rem 1.4rem;
}
.political-settings-form { display: grid; gap: .8rem; }
.political-settings-form h3,
.political-settings-form p { margin: 0; }
.political-settings-form > p {
    color: #647a89;
    font-size: .7rem;
}
.political-settings-form > div {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: .7rem;
}
.political-settings-form label {
    display: grid;
    gap: .3rem;
    color: #3a5364;
    font-size: .66rem;
    font-weight: 800;
}
.political-settings-form input {
    min-width: 0;
    min-height: 2.55rem;
    padding: .55rem .65rem;
    border: 1px solid #c9d8e2;
    border-radius: .55rem;
    background: #fff;
}
.political-settings-form small {
    color: #718694;
    font-size: .55rem;
}
.political-settings-form .admin-save { justify-self: start; }
.political-admin-grid > aside {
    padding: 1rem;
    border: 1px solid #d4e1e8;
    border-radius: .75rem;
    background: #f6f9fb;
}
.political-admin-grid > aside > span {
    color: #0b709c;
    font-size: .58rem;
    font-weight: 900;
    letter-spacing: .1em;
}
.political-admin-grid > aside ul {
    display: grid;
    gap: .5rem;
    margin: .75rem 0;
    padding-left: 1rem;
    color: #395466;
    font-size: .68rem;
}
.political-admin-grid > aside p {
    margin: 0;
    color: #788b97;
    font-size: .6rem;
}
.is-political-campaign { background: #f9fcfd; }
.political-campaign-badge,
.political-review-state {
    display: block;
    width: max-content;
    margin-bottom: .35rem;
    padding: .25rem .4rem;
    border-radius: 999px;
    background: #e8f3f8;
    color: #0b6d95;
    font-size: .5rem;
    font-weight: 900;
    letter-spacing: .06em;
}
.political-review-state { margin-top: .4rem; }
.political-review-state.is-approved { background: #e9f7f0; color: #14764e; }
.political-review-state.is-rejected { background: #fdecee; color: #a3293b; }
.political-review-state.is-pending { background: #fff4df; color: #9a6210; }
.political-review-form { min-width: 12rem; margin-top: .4rem; }
.political-review-form summary {
    color: #086f9d;
    font-size: .6rem;
    font-weight: 900;
    cursor: pointer;
}
.political-review-form form {
    display: grid;
    gap: .45rem;
    margin-top: .5rem;
    padding: .65rem;
    border: 1px solid #cfdee7;
    border-radius: .6rem;
    background: #fff;
}
.political-review-form label {
    display: grid;
    gap: .15rem;
    color: #516978;
    font-size: .54rem;
    font-weight: 800;
}
.political-review-form :is(input,select,textarea) {
    width: 100%;
    min-width: 0;
    padding: .42rem;
    border: 1px solid #c9d7e0;
    border-radius: .38rem;
    font-size: .62rem;
}
.political-review-form textarea { min-height: 3.3rem; resize: vertical; }
.political-review-form form > div { display: flex; gap: .35rem; }
.political-review-form button {
    padding: .42rem .55rem;
    border: 0;
    border-radius: .38rem;
    background: #147a53;
    color: #fff;
    font-size: .56rem;
    font-weight: 900;
    cursor: pointer;
}
.political-review-form button.is-reject { background: #a73546; }
@media (max-width: 56rem) {
    .political-admin-grid { grid-template-columns: 1fr; }
}
@media (max-width: 40rem) {
    .political-administration > header { align-items: flex-start; flex-direction: column; }
    .political-settings-form > div { grid-template-columns: 1fr; }
}

/* Portada: hero 20% mas bajo y auspiciantes 15% mas grandes. */
.header-panorama:not(.is-advertising-hero) {
    height: 275px;
    min-height: 0;
}
.header-panorama:not(.is-advertising-hero) .hero-brand-lockup {
    left: 29%;
    top: 48%;
    width: 235px;
    height: 156px;
    max-width: calc(100% - 30px);
    max-height: calc(100% - 40px);
}
.header-panorama:not(.is-advertising-hero) .hero-brand-lockup img {
    width: 220px;
    max-width: 95%;
    max-height: 88%;
    object-fit: contain;
}
.header-panorama:not(.is-advertising-hero) .hero-brand-ring {
    inset: -5px -9px;
}

.commercial-logo-strip > .shell {
    grid-template-columns: 212px minmax(0, 1fr);
    gap: 28px;
    min-height: 167px;
    padding-top: 24px;
    padding-bottom: 24px;
}
.commercial-logo-list {
    gap: 18px;
}
.commercial-carousel:not(.is-overflowing) .commercial-logo-list {
    justify-content: center;
    width: 100%;
}
.commercial-logo-list a,
.commercial-logo-list .commercial-brand-link {
    flex: 0 0 199px;
    width: 199px;
    height: 117px;
    border-radius: 17px;
}
.commercial-logo-list img {
    height: 71px;
    padding: 8px 15px 2px;
}
.commercial-logo-list a > b {
    padding: 6px 10px;
    font-size: 11px;
}
.commercial-logo-list .ad-card-meta {
    padding: 3px 9px 6px;
    font-size: 10px;
}
.commercial-logo-list a > span[aria-hidden="true"] {
    inset: 0 0 40px;
}
.commercial-carousel.is-overflowing {
    grid-template-columns: 47px minmax(0, 1fr) 47px;
}
.commercial-carousel-control {
    width: 45px;
    height: 45px;
    font-size: 29px;
}

@media (max-width: 980px) {
    .header-panorama:not(.is-advertising-hero) {
        height: 250px;
    }
    .header-panorama:not(.is-advertising-hero) .hero-brand-lockup {
        left: 32%;
        top: 46%;
        width: 195px;
        height: 130px;
    }
    .header-panorama:not(.is-advertising-hero) .hero-brand-lockup img {
        width: 185px;
    }
}

@media (max-width: 760px) {
    .commercial-logo-strip > .shell {
        grid-template-columns: 1fr;
        gap: 15px;
        min-height: 0;
        padding-top: 20px;
        padding-bottom: 20px;
    }
    .commercial-logo-list {
        gap: 18px;
    }
    .commercial-logo-list a,
    .commercial-logo-list .commercial-brand-link {
        flex-basis: 166px;
        width: 166px;
        height: 101px;
        border-radius: 17px;
    }
    .commercial-logo-list img {
        height: 60px;
        padding: 7px 12px 1px;
    }
    .commercial-logo-list a > b {
        padding: 5px 8px;
        font-size: 10px;
    }
    .commercial-logo-list .ad-card-meta {
        padding: 2px 7px 5px;
        font-size: 9px;
    }
    .commercial-carousel.is-overflowing {
        grid-template-columns: 37px minmax(0, 1fr) 37px;
    }
    .commercial-carousel-control {
        width: 36px;
        height: 36px;
        font-size: 24px;
    }
}

@media (max-width: 680px) {
    .header-panorama:not(.is-advertising-hero) {
        height: 234px;
    }
    .header-panorama:not(.is-advertising-hero) .hero-brand-lockup {
        left: 50%;
        top: 43%;
        width: 170px;
        height: 114px;
        max-width: calc(100% - 28px);
        max-height: calc(100% - 40px);
    }
    .header-panorama:not(.is-advertising-hero) .hero-brand-lockup img {
        width: 160px;
    }
    .header-panorama:not(.is-advertising-hero) .hero-brand-ring {
        inset: -3px -6px;
    }
}

.newsletter-form-status{min-height:20px;margin:9px 0 0;font-size:12px;font-weight:700}.newsletter-form-status.is-success{color:#8ff0bd}.newsletter-form-status.is-error{color:#ffb1b1}

/* Jerarquia editorial: secciones principales y subsecciones del menu. */
.sections-hierarchy-note{display:flex;align-items:center;gap:14px;margin:-8px 0 20px;padding:15px 18px;border:1px solid #cfe2f7;border-radius:12px;background:linear-gradient(135deg,#f4f9ff,#fff);color:#183758}.sections-hierarchy-note>span{display:grid;place-items:center;width:38px;height:38px;flex:0 0 38px;border-radius:10px;background:#0b6bdc;color:#fff;font-size:22px}.sections-hierarchy-note strong{display:block;margin-bottom:3px;font-size:13px}.sections-hierarchy-note p{margin:0;color:#58708b;font-size:11px;line-height:1.5}.sections-admin-page .sections-metrics{grid-template-columns:repeat(5,1fr)}.metric-cyan{background:#168eb1}
.section-new-card{position:relative;border-color:#a9ccef;box-shadow:0 18px 45px rgba(19,79,139,.08)}.section-new-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:19px;padding-bottom:16px;border-bottom:1px solid #e4edf7}.new-section-kicker,.subsection-builder>header span{display:block;margin-bottom:5px;color:#0867df;font-size:9px;font-weight:900;letter-spacing:.14em}.section-new-close{width:34px;height:34px;border:1px solid #d6e2ef;border-radius:8px;background:#fff;color:#4e6178;font-size:22px;cursor:pointer}.section-new-close:hover{border-color:#8fb9e4;color:#075fc8}.section-editor-grid label small{display:block;margin-top:5px;color:#718198;font-size:9px;line-height:1.35}.section-new-fields{padding:0}
.subsection-builder{margin-top:22px;padding:18px;border:1px solid #d7e7f7;border-radius:12px;background:#f7fbff}.subsection-builder[hidden]{display:none}.subsection-builder>header{display:flex;align-items:center;justify-content:space-between;gap:18px}.subsection-builder h3{margin:0 0 4px;font-size:16px}.subsection-builder p{margin:0;color:#63748a;font-size:11px}.subsection-builder>header button{height:36px;padding:0 13px;border:1px solid #9fc5eb;border-radius:8px;background:#fff;color:#0863cb;font-size:11px;font-weight:800;cursor:pointer}.subsection-builder>header button:hover{background:#eaf4ff}.subsection-example{margin:15px 0 12px;padding:10px 12px;border-radius:8px;background:#e8f3ff;color:#46627e;font-size:11px}.subsection-row{display:grid;grid-template-columns:36px minmax(160px,1.3fr) minmax(150px,1fr) 95px 90px 34px;align-items:end;gap:10px;margin-top:9px;padding:11px;border:1px solid #dce8f4;border-radius:10px;background:#fff}.subsection-row label{margin:0!important;color:#43536b;font-size:9px!important}.subsection-row input{display:block;width:100%;height:36px;margin-top:5px;padding:8px;border:1px solid #ced8e6;border-radius:6px;background:#fff}.subsection-number{display:grid;place-items:center;width:32px;height:32px;margin-bottom:2px;border-radius:8px;background:#e8f2fe;color:#0863cb;font-size:10px;font-weight:900}.subsection-row>button{width:32px;height:32px;margin-bottom:2px;border:1px solid #efc9cf;border-radius:7px;background:#fff5f6;color:#bd3042;font-size:19px;cursor:pointer}
.sections-list{min-width:1230px}.sections-list td:nth-child(2){display:table-cell}.section-name-cell{display:flex;align-items:center;gap:9px;min-width:180px}.section-name-cell>div{display:grid;gap:3px}.section-name-cell small{color:#708197;font-size:9px}.section-branch{margin-left:8px;color:#2683dc;font-size:18px;font-weight:900}.sections-list tr.is-subsection>td{background:#fbfdff}.sections-list tr.is-subsection:hover>td{background:#f3f8fe}.sections-list tr.is-subsection .section-symbol{width:31px;height:31px;flex-basis:31px;border-radius:9px}.hierarchy-pill{display:inline-flex;padding:5px 8px;border-radius:999px;background:#e9f1fb;color:#2f5d8b;font-size:9px;font-weight:900;text-transform:uppercase}.hierarchy-pill.is-child{background:#e8f7fb;color:#08738d}.hierarchy-parent{display:block;margin-top:4px;color:#718198;font-size:9px}.section-editor-heading{display:flex;align-items:center;justify-content:space-between;margin:0 8px 7px;padding-bottom:8px;border-bottom:1px solid #dce6f2}.section-editor-heading strong{color:#173957;font-size:12px}.section-editor-heading span{color:#64809a;font-size:10px}
@media(max-width:1050px){.sections-admin-page .sections-metrics{grid-template-columns:repeat(3,1fr)}.subsection-row{grid-template-columns:36px 1fr 1fr 34px}.subsection-row label:nth-of-type(1){grid-column:2;grid-row:1}.subsection-row label:nth-of-type(2){grid-column:3;grid-row:1}.subsection-row label:nth-of-type(3){grid-column:2;grid-row:2}.subsection-row label:nth-of-type(4){grid-column:3;grid-row:2}.subsection-row>button{grid-column:4;grid-row:1}}
@media(max-width:650px){.sections-admin-page .sections-metrics{grid-template-columns:1fr 1fr}.sections-hierarchy-note{align-items:flex-start}.section-new-card>header,.subsection-builder>header{align-items:flex-start;flex-direction:column}.section-new-close{position:absolute;top:18px;right:18px}.subsection-builder>header button{width:100%}.subsection-row{grid-template-columns:1fr 32px}.subsection-row .subsection-number{display:none}.subsection-row label:nth-of-type(n){grid-column:1;grid-row:auto}.subsection-row>button{grid-column:2;grid-row:1}.section-editor-heading{align-items:flex-start;flex-direction:column;gap:4px}}

/* Quick Actions Premium en Barra Superior (topline) - Preserva exactamente 34px de altura */
.topline-quick-actions {
    display: inline-flex;
    align-items: center;
    gap: 4px;
}
.topline-action-btn {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 2px 8px;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 6px;
    background: rgba(255, 255, 255, 0.05);
    color: #e2eefb;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.3;
    white-space: nowrap;
    transition: background 0.18s ease, border-color 0.18s ease, color 0.18s ease, transform 0.18s ease;
}
.topline-action-btn:hover {
    background: rgba(255, 255, 255, 0.14);
    border-color: rgba(120, 195, 255, 0.45);
    color: #ffffff;
    transform: translateY(-1px);
}
.topline-action-btn span {
    font-size: 11px;
    opacity: 0.85;
}
.topline-sep {
    color: rgba(255, 255, 255, 0.3);
    font-size: 10px;
    user-select: none;
}
@media (max-width: 768px) {
    .topline-place { display: none; }
    .topline-action-btn { padding: 1px 5px; font-size: 10px; }
}

/* Módulo de Municipios público */
.municipality-page-hero {
    background: linear-gradient(135deg, #071a37, #0d386c 60%, #08284e);
    color: #ffffff;
    padding: 40px 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}
.municipality-hero-card {
    display: flex;
    flex-direction: column;
    gap: 20px;
}
.municipality-brand-badge {
    display: flex;
    align-items: center;
    gap: 20px;
}
.municipality-coat {
    width: 68px;
    height: 68px;
    object-fit: contain;
    filter: drop-shadow(0 4px 12px rgba(0, 0, 0, 0.3));
}
.municipality-coat-icon {
    font-size: 48px;
    line-height: 1;
}
.municipality-kicker {
    display: block;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.15em;
    color: #7dd3fc;
    margin-bottom: 4px;
}
.municipality-hero-card h1 {
    font: 800 clamp(28px, 4vw, 44px)/1.08 var(--serif);
    letter-spacing: -0.03em;
    margin: 0;
}
.municipality-mayor-tag {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-top: 10px;
    padding: 6px 14px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.18);
    backdrop-filter: blur(8px);
}
.mayor-avatar-badge {
    font-size: 14px;
}
.municipality-mayor-tag small {
    display: block;
    font-size: 8px;
    letter-spacing: 0.12em;
    color: #93c5fd;
}
.municipality-mayor-tag strong {
    font-size: 13px;
    color: #ffffff;
}
.municipality-councilors-strip {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 16px;
    border-radius: 8px;
    background: rgba(0, 0, 0, 0.2);
    border: 1px solid rgba(255, 255, 255, 0.08);
    font-size: 12px;
    color: #cbd5e1;
}
.municipality-quick-meta {
    display: flex;
    align-items: center;
    gap: 12px;
}
.history-trigger-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 18px;
    border-radius: 8px;
    background: linear-gradient(135deg, #0284c7, #0369a1);
    color: #ffffff;
    border: 1px solid rgba(255, 255, 255, 0.25);
    font-size: 13px;
    font-weight: 800;
    cursor: pointer;
    box-shadow: 0 6px 20px rgba(2, 132, 199, 0.3);
    transition: transform 0.18s ease, filter 0.18s ease, box-shadow 0.18s ease;
}
.history-trigger-btn:hover {
    transform: translateY(-2px);
    filter: brightness(1.1);
    box-shadow: 0 10px 25px rgba(2, 132, 199, 0.4);
}
.contact-jump-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 10px 16px;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.15);
    color: #f1f5f9;
    font-size: 12px;
    font-weight: 700;
    transition: background 0.18s ease;
}
}
.contact-jump-btn:hover {
    background: rgba(255, 255, 255, 0.16);
}

.municipality-layout {
    display: grid;
    grid-template-columns: 1fr 320px;
    gap: 40px;
}
.municipality-intro-card {
    background: var(--paper);
    padding: 28px;
    border: 1px solid var(--line);
    border-radius: 12px;
    margin-bottom: 40px;
}
.municipality-intro-card h2 {
    font: 800 24px var(--serif);
    margin: 0 0 12px;
    color: var(--ink);
}
.municipality-intro-card p {
    font-size: 15px;
    line-height: 1.7;
    color: var(--muted);
    margin: 0;
}

.municipality-sidebar {
    position: sticky;
    top: 90px;
}
.municipality-contact-card {
    background: var(--white);
    padding: 24px;
    border: 1px solid var(--line);
    border-radius: 12px;
    box-shadow: var(--shadow);
}
.municipality-contact-card h3 {
    font: 800 18px var(--serif);
    margin: 0 0 18px;
    border-bottom: 2px solid var(--blue);
    padding-bottom: 8px;
}
.municipality-contact-card ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.municipality-contact-card li {
    display: flex;
    align-items: flex-start;
    gap: 12px;
}
.contact-icon {
    font-size: 18px;
    line-height: 1;
}
.municipality-contact-card strong {
    display: block;
    font-size: 10px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--muted);
}
.municipality-contact-card span, .municipality-contact-card a {
    font-size: 13px;
    font-weight: 600;
    color: var(--ink);
}
.municipality-contact-card a {
    color: var(--blue);
}
.municipality-social-strip {
    margin-top: 24px;
    padding-top: 16px;
    border-top: 1px solid var(--line);
}
.municipality-social-strip small {
    display: block;
    font-size: 9px;
    letter-spacing: 0.12em;
    color: var(--muted);
    margin-bottom: 8px;
}
.social-links-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.social-links-list a {
    font-size: 11px;
    font-weight: 700;
    color: var(--blue);
    background: rgba(7, 103, 223, 0.08);
    padding: 4px 10px;
    border-radius: 6px;
}

/* Modal Elegante de Historia */
.history-modal-overlay {
    position: fixed;
    inset: 0;
    z-index: 1000;
    display: grid;
    place-items: center;
    padding: 20px;
}
.history-modal-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(3, 12, 26, 0.85);
    backdrop-filter: blur(8px);
    border: 0;
}
.history-modal-card {
    position: relative;
    z-index: 1;
    width: min(850px, 100%);
    max-height: calc(100vh - 40px);
    display: flex;
    flex-direction: column;
    background: #ffffff;
    border-radius: 16px;
    box-shadow: 0 30px 90px rgba(0, 0, 0, 0.4);
    overflow: hidden;
    color: #071a37;
}
.history-modal-close {
    position: absolute;
    top: 16px;
    right: 20px;
    z-index: 2;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    border: 0;
    background: rgba(7, 26, 55, 0.1);
    color: #071a37;
    font-size: 24px;
    line-height: 1;
    cursor: pointer;
    transition: background 0.18s ease;
/* Botón en el Hero para abrir Modal de Historia */
.history-trigger-hero-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 13px 24px;
    border: 1px solid rgba(52, 211, 153, 0.55);
    border-radius: 12px;
    background: linear-gradient(135deg, #055d2f 0%, #098845 60%, #10b981 100%);
    color: #ffffff;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0.02em;
    cursor: pointer;
    box-shadow: 0 8px 24px rgba(5, 93, 47, 0.35);
    transition: all 0.22s ease;
}
.history-trigger-hero-btn:hover {
    background: linear-gradient(135deg, #098845 0%, #10b981 100%);
    border-color: rgba(167, 243, 208, 0.8);
    transform: translateY(-2px);
    box-shadow: 0 12px 32px rgba(5, 93, 47, 0.48);
}
.history-trigger-hero-btn span {
    font-size: 16px;
}
.history-trigger-hero-btn i {
    font-style: normal;
    transition: transform 0.2s ease;
}
.history-trigger-hero-btn:hover i {
    transform: translateX(3px);
}

/* Modal Elegante Verde Tono Patrimonio */
.green-theme-modal .history-modal-card {
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 25px 80px rgba(4, 47, 23, 0.5);
    border: 1px solid rgba(16, 185, 129, 0.3);
}
.green-theme-modal .history-modal-header {
    padding: 30px 36px 24px;
    background: linear-gradient(135deg, #043d1f 0%, #065e31 55%, #098845 100%);
    border-bottom: 1px solid rgba(16, 185, 129, 0.3);
    color: #ffffff;
}
.green-theme-modal .history-badge {
    display: inline-block;
    padding: 4px 12px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.15);
    border: 1px solid rgba(167, 243, 208, 0.35);
    color: #a7f3d0;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}
.green-theme-modal .history-modal-header h2 {
    font: 800 clamp(26px, 3.8vw, 40px)/1.08 var(--serif);
    margin: 8px 0 4px;
    color: #ffffff;
    text-shadow: 0 2px 10px rgba(0, 0, 0, 0.25);
}
.green-theme-modal .history-modal-header small {
    color: #d1fae5;
    font-size: 13px;
    font-weight: 600;
}
.green-theme-modal .history-modal-close {
    background: rgba(0, 0, 0, 0.25);
    color: #ffffff;
    border-radius: 50%;
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, 0.3);
    font-size: 20px;
    line-height: 1;
    cursor: pointer;
    transition: background 0.2s ease, transform 0.2s ease;
}
.green-theme-modal .history-modal-close:hover {
    background: rgba(239, 68, 68, 0.85);
    border-color: transparent;
    transform: scale(1.08);
}
.green-theme-modal .history-modal-body {
    padding: 36px;
    background: #ffffff;
    color: #1e293b;
    font-size: 15px;
    line-height: 1.85;
}
.green-theme-modal .history-prose {
    color: #334155;
    font-size: 16px;
}
.green-theme-modal .history-gallery-grid h3 {
    font: 800 22px var(--serif);
    color: #065e31;
    margin: 0 0 18px;
}
.green-theme-modal .history-photo-card {
    border: 1px solid #a7f3d0;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 4px 14px rgba(6, 94, 49, 0.08);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.green-theme-modal .history-photo-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 25px rgba(6, 94, 49, 0.18);
}
.green-theme-modal .history-photo-card figcaption {
    background: #f0fdf4;
    color: #065e31;
    font-weight: 700;
    font-size: 12px;
    padding: 10px 14px;
}
.green-theme-modal .history-modal-footer {
    padding: 18px 36px;
    background: #f0fdf4;
    border-top: 1px solid #bbf7d0;
    display: flex;
    justify-content: flex-end;
}
.history-modal-close-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 26px;
    border-radius: 10px;
    background: linear-gradient(135deg, #055d2f, #098845);
    border: 1px solid #10b981;
    color: #ffffff;
    font-weight: 800;
    font-size: 13px;
    cursor: pointer;
    box-shadow: 0 4px 14px rgba(5, 93, 47, 0.3);
    transition: all 0.2s ease;
}
.history-modal-close-btn:hover {
    background: linear-gradient(135deg, #098845, #10b981);
    transform: translateY(-1px);
    box-shadow: 0 6px 20px rgba(5, 93, 47, 0.45);
}

/* Catálogo de Municipios */
.municipalities-catalog-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    gap: 25px;
}
.municipality-card {
    border: 1px solid var(--line);
    border-radius: 12px;
    overflow: hidden;
    background: var(--white);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.municipality-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow);
}
.municipality-card-link {
    display: flex;
    flex-direction: column;
    height: 100%;
}
.municipality-card-image {
    position: relative;
    height: 180px;
    background: #071a37;
}
.municipality-card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.municipality-card-placeholder {
    display: grid;
    place-items: center;
    height: 100%;
    font-size: 48px;
}
.municipality-card-badge {
    position: absolute;
    top: 12px;
    left: 12px;
    padding: 4px 10px;
    border-radius: 999px;
    background: rgba(7, 26, 55, 0.75);
    backdrop-filter: blur(6px);
    color: #7dd3fc;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 0.1em;
}
.municipality-card-body {
    padding: 20px;
    display: flex;
    flex-direction: column;
    flex: 1;
}
.municipality-card-body h2 {
    font: 800 22px/1.12 var(--serif);
    margin: 0 0 8px;
    color: var(--ink);
}
.municipality-card-mayor {
    margin-bottom: 12px;
    padding: 6px 10px;
    border-radius: 6px;
    background: var(--paper);
}
.municipality-card-mayor small {
    display: block;
    font-size: 8px;
    letter-spacing: 0.1em;
    color: var(--muted);
}
.municipality-card-mayor strong {
    font-size: 12px;
    color: var(--ink);
}
.municipality-card-body p {
    font-size: 13px;
    color: var(--muted);
    margin: 0 0 16px;
    line-height: 1.5;
}
.municipality-card-action {
    margin-top: auto;
    font-size: 12px;
    font-weight: 800;
    color: var(--blue);
}

@media (max-width: 980px) {
    .municipality-layout {
        grid-template-columns: 1fr;
    }
    .municipality-sidebar {
        position: static;
    }
}

/* Etiqueta de Usuario y Rol en la vista de Administración */
.admin-user-badge-header {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 2px;
}
.admin-user-name {
    font-size: 14px;
    font-weight: 800;
    color: #ffffff;
}
.admin-user-role-pill {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 999px;
    background: rgba(56, 189, 248, 0.15);
    border: 1px solid rgba(56, 189, 248, 0.35);
    color: #38bdf8;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}


/* ──────────────────────────────────────────────
   SORTEOS — Portada pública
   ────────────────────────────────────────────── */
.sorteos-portada{padding:0 0 40px}
.sorteos-portada .section-heading{margin-bottom:24px}
.sorteos-portada-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:20px}
.sorteo-portada-card{position:relative;background:var(--white);border:1px solid var(--line);border-radius:12px;padding:28px 24px 24px;transition:box-shadow .25s,border-color .25s,transform .25s}
.sorteo-portada-card:hover{transform:translateY(-3px);box-shadow:0 12px 32px rgba(7,26,55,.1);border-color:#a7c4e2}
.sorteo-portada-card.is-destacado{border-color:#fbbf24;box-shadow:0 4px 16px rgba(251,191,36,.15)}
.sorteo-portada-card.is-destacado::before{content:"⭐ DESTACADO";position:absolute;top:12px;right:14px;font-size:8px;font-weight:900;letter-spacing:.12em;color:#d97706;background:#fef3c7;padding:3px 8px;border-radius:999px}
.sorteo-portada-estado{display:inline-flex;align-items:center;gap:5px;font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;margin-bottom:10px}
.sorteo-portada-estado.is-visible{color:#16a34a}
.sorteo-portada-estado.is-en_sorteo{color:#2563eb;animation:sorteo-pulse 2s ease-in-out infinite}
.sorteo-portada-estado.is-resultado_publicado{color:#059669}
.sorteo-portada-card h3{font:800 clamp(20px,2.5vw,26px)/1.1 var(--serif);letter-spacing:-.02em;margin:0 0 8px;color:var(--ink)}
.sorteo-portada-card>p{color:var(--muted);font-size:14px;margin:0 0 16px;line-height:1.5}
.sorteo-portada-premio{display:flex;align-items:center;gap:8px;margin:0 0 18px;padding:10px 14px;background:var(--paper);border:1px solid var(--line);border-radius:8px;font-size:13px;font-weight:600;color:var(--ink)}
.sorteo-portada-premio::before{content:"🏆";font-size:16px}
.sorteo-portada-countdown{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:18px;text-align:center}
.sorteo-portada-countdown>div{padding:10px 6px;background:var(--ink);color:#fff;border-radius:8px}
.sorteo-portada-countdown strong{display:block;font:800 clamp(22px,3vw,30px)/1 var(--serif);letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.sorteo-portada-countdown small{display:block;margin-top:3px;font-size:8px;letter-spacing:.1em;text-transform:uppercase;color:#94a8c2}
.sorteo-portada-countdown.is-finished{grid-template-columns:1fr}
.sorteo-portada-countdown.is-finished>div{background:linear-gradient(135deg,#0767df,#16a6df);padding:16px;font:700 16px/1.3 var(--sans)}
.sorteo-portada-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px;color:var(--muted);margin-bottom:14px}
.sorteo-portada-participantes{font-weight:700}
.sorteo-portada-cierre{font-size:11px}
.sorteo-portada-action{display:block;width:100%;padding:12px;border:0;border-radius:8px;background:var(--blue);color:#fff;font:700 14px var(--sans);text-align:center;cursor:pointer;transition:background .2s,transform .15s}
.sorteo-portada-action:hover{background:#0654b3;transform:translateY(-1px)}
.sorteo-portada-action.is-closed{background:var(--paper);color:var(--muted);cursor:default;pointer-events:none}
.sorteo-portada-empty{text-align:center;padding:32px;color:var(--muted);font-size:14px}
@keyframes sorteo-pulse{0%,100%{opacity:1}50%{opacity:.55}}
@media(max-width:680px){.sorteos-portada-grid{grid-template-columns:1fr}.sorteo-portada-card{padding:20px 18px}.sorteo-portada-countdown strong{font-size:22px}}

/* Premium Light Styles compartidos con Dashboard y Municipios */
.glass-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
}
@media (max-width: 980px) {
    .glass-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media (max-width: 680px) {
    .glass-grid {
        grid-template-columns: 1fr;
    }
}
.glass-group {
    margin-bottom: 3rem;
}
.glass-group-title {
    font-size: 1.25rem;
    color: #071a37;
    margin-bottom: 1.25rem;
    padding-bottom: 0.5rem;
    border-bottom: 2px solid #e2e8f0;
    font-weight: 700;
}
.glass-tag {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 1.5rem;
    border-radius: 12px;
    background: #ffffff;
    border: 1px solid #dce4ed;
    box-shadow: 0 8px 24px -6px rgba(7, 26, 55, 0.06), 0 2px 6px -2px rgba(7, 26, 55, 0.04);
    text-decoration: none;
    color: #334155;
    transition: all 0.25s ease;
    position: relative;
    overflow: hidden;
    min-height: 180px;
}
.glass-tag:hover, .glass-tag:focus {
    transform: translateY(-4px);
    box-shadow: 0 16px 32px -8px rgba(7, 26, 55, 0.12), 0 4px 10px -3px rgba(7, 26, 55, 0.06);
    border-color: #bad3f3;
    outline: none;
}
.glass-tag:active {
    transform: translateY(0);
    box-shadow: 0 4px 12px -4px rgba(7, 26, 55, 0.08);
}
.glass-tag-icon {
    font-size: 1.75rem;
    margin-bottom: 1rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #f1f6fb;
    width: 48px; height: 48px;
    border-radius: 10px;
    border: 1px solid #e5edf5;
    color: #0767df;
}
.glass-tag-content {
    flex-grow: 1;
}
.glass-tag-title {
    font-weight: 800;
    font-size: 1.15rem;
    margin-bottom: 0.4rem;
    color: #071a37;
}
.glass-tag-desc {
    font-size: 0.85rem;
    color: #64748b;
    line-height: 1.5;
    margin-bottom: 1.25rem;
}
.glass-tag-action {
    font-size: 0.85rem;
    font-weight: 700;
    color: #0767df;
    display: flex;
    align-items: center;
    gap: 6px;
    margin-top: auto;
}
.glass-tag-action::after {
    content: '→';
    transition: transform 0.2s;
}
.glass-tag:hover .glass-tag-action::after {
    transform: translateX(4px);
}

.nc-sorteo-assigned-number{display:block;margin-top:6px}

/* Newsletter: consentimiento explícito y confirmación premium */
.newsletter-consent-check{display:flex!important;grid-column:1/-1;align-items:flex-start;gap:10px;margin:13px 0 0!important;color:#d8e7f6;font-size:11px!important;font-weight:500;line-height:1.45;cursor:pointer}
.newsletter-consent-check input{flex:0 0 auto;width:18px;height:18px;margin:1px 0 0;accent-color:#28a8ff;cursor:pointer}
.newsletter-consent-check span{display:block}
.access-gate-newsletter .newsletter-consent-check{color:#40546a!important;font-size:11px!important}
.access-gate-newsletter .newsletter-form-status{grid-column:1/-1}
.newsletter-form-status.is-success{color:#8ff0bd}.newsletter-form-status.is-error{color:#ffb1b1}
body.newsletter-modal-open{overflow:hidden}
.newsletter-feedback-modal{position:fixed;inset:0;z-index:99999;display:grid;place-items:center;padding:20px;overflow:auto;overscroll-behavior:contain;background:radial-gradient(circle at 50% 18%,rgba(26,113,190,.25),transparent 34rem),rgba(2,11,25,.86);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.newsletter-feedback-modal[hidden]{display:none}
.newsletter-modal-open{overflow:hidden}
.newsletter-feedback-backdrop{position:absolute;inset:0;width:100%;height:100%;border:0;background:transparent;cursor:pointer}
.newsletter-feedback-card{position:relative;z-index:1;width:min(510px,100%);max-height:calc(100dvh - 40px);overflow:auto;border:1px solid rgba(255,255,255,.45);border-radius:28px;background:linear-gradient(155deg,#ffffff 0%,#f2f7fb 100%);box-shadow:0 38px 100px rgba(1,12,29,.52),inset 0 1px 0 #fff;color:#071a37;padding:0 38px 34px;text-align:center;animation:newsletter-modal-in .25s ease-out}
.newsletter-feedback-card::before{content:"";position:absolute;inset:0 0 auto;height:5px;background:linear-gradient(90deg,#0874d1,#26a9ed,#e5b957)}
.newsletter-feedback-brand{display:flex;align-items:center;justify-content:center;gap:10px;margin:0 -36px 24px;padding:14px 36px 12px;border-bottom:1px solid #dce8f2;background:#fff}
.newsletter-feedback-brand img{width:58px;height:38px;object-fit:contain}
.newsletter-feedback-brand span{color:#567086;font-size:9px;font-weight:800;letter-spacing:.16em}
.newsletter-feedback-close{position:absolute;z-index:2;top:12px;right:14px;display:grid;place-items:center;width:34px;height:34px;border:0;border-radius:50%;background:#edf4fa;color:#17334f;font-size:22px;line-height:1;cursor:pointer;transition:all 150ms ease}
.newsletter-feedback-close:hover{background:#dfeaf4;color:#031326;transform:scale(1.06)}
.newsletter-feedback-icon{display:grid;place-items:center;width:68px;height:68px;margin:0 auto 16px;border-radius:50%;background:linear-gradient(145deg,#0874d1,#28b1ee);box-shadow:0 12px 28px rgba(8,116,209,.3);color:#fff;font-size:32px;font-weight:800}
.newsletter-feedback-kicker{display:block;color:#0874d1;font-size:10.5px;font-weight:900;letter-spacing:.15em;text-transform:uppercase}
.newsletter-feedback-card h2{margin:8px 0 10px;font:800 clamp(24px,4.5vw,32px)/1.1 var(--serif);letter-spacing:-.03em;color:#061833}
.newsletter-feedback-card p{max-width:400px;margin:0 auto 22px;color:#495f74;font-size:14.5px;line-height:1.6}
.newsletter-feedback-action{min-width:190px;height:48px;padding:0 26px;border-radius:999px;border:0;background:linear-gradient(135deg,#075fc7,#0b75dd);color:#fff;font-size:14px;font-weight:800;cursor:pointer;box-shadow:0 10px 24px rgba(7,95,199,.25);transition:all 180ms ease}
.newsletter-feedback-action:hover{transform:translateY(-1px);box-shadow:0 14px 28px rgba(7,95,199,.35);background:linear-gradient(135deg,#0652ad,#0867df)}
.newsletter-feedback-card>small{display:block;margin-top:16px;color:#71869a;font-size:10.5px}
.newsletter-feedback-modal[data-state="warning"] .newsletter-feedback-card::before{background:linear-gradient(90deg,#e29b1d,#ffc85a)}
.newsletter-feedback-modal[data-state="warning"] .newsletter-feedback-icon{background:linear-gradient(145deg,#db8d12,#ffc34e);box-shadow:0 12px 30px rgba(219,141,18,.25)}
.newsletter-feedback-modal[data-state="warning"] .newsletter-feedback-kicker{color:#a66500}
.newsletter-feedback-modal[data-state="warning"] .newsletter-feedback-action{background:linear-gradient(135deg,#9c6507,#ca8b18);box-shadow:0 10px 24px rgba(156,101,7,.24)}
.newsletter-feedback-modal[data-state="error"] .newsletter-feedback-card::before{background:linear-gradient(90deg,#b52734,#f36870)}
.newsletter-feedback-modal[data-state="error"] .newsletter-feedback-icon{background:linear-gradient(145deg,#b52734,#ef6670);box-shadow:0 12px 30px rgba(181,39,52,.24)}
.newsletter-feedback-modal[data-state="error"] .newsletter-feedback-kicker{color:#a51e2d}
.newsletter-feedback-modal[data-state="error"] .newsletter-feedback-action{background:linear-gradient(135deg,#a81f2d,#d84550);box-shadow:0 10px 24px rgba(168,31,45,.24)}
@keyframes newsletter-modal-in{from{opacity:0;transform:translateY(14px) scale(.96)}to{opacity:1;transform:none}}
@media(max-width:600px){.newsletter-feedback-modal{padding:12px}.newsletter-feedback-card{max-height:calc(100dvh - 24px);padding:0 20px 24px;border-radius:21px}.newsletter-feedback-brand{margin:0 -20px 18px;padding:12px 42px 10px 20px}.newsletter-feedback-icon{width:56px;height:56px;font-size:26px}.newsletter-feedback-card h2{font-size:clamp(23px,7vw,29px)}.newsletter-feedback-card p{font-size:13.5px}.newsletter-feedback-action{width:100%;min-height:48px}}
@media(prefers-reduced-motion:reduce){.newsletter-feedback-card{animation:none}}
