/* DarkShoppe shell 2026.09.15 · contraste corregido */
:root{
  color-scheme:light;
  --ds-bg:#f4f6f9;--ds-surface:#ffffff;--ds-surface-soft:#f8fafc;--ds-ink:#111827;--ds-soft:#475569;--ds-muted:#68758a;
  --ds-line:#dfe6ee;--ds-line-strong:#cbd5e1;--ds-accent:#14c8a4;--ds-accent-dark:#0c9d80;--ds-navy:#0f1929;--ds-red:#d92d3b;
  --ds-shadow:0 12px 34px rgba(15,23,42,.08)
}
*{box-sizing:border-box}html{background:var(--ds-bg);scroll-behavior:smooth}body{margin:0;min-height:100vh;background:#f4f6f9;color:var(--ds-ink);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;overflow-x:hidden}a{color:inherit}img{max-width:100%;height:auto}.material-icons{font-family:'Material Icons';font-weight:normal;font-style:normal;font-size:20px;line-height:1;letter-spacing:normal;text-transform:none;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:'liga';-webkit-font-smoothing:antialiased}.ds-site{min-height:100vh;display:flex;flex-direction:column}

/* Header. No overlays invisibles ni menús dependientes de hover. */
.ds-header{position:sticky;top:0;z-index:9999;background:rgba(255,255,255,.97);border-top:4px solid #172235;border-bottom:1px solid var(--ds-line);box-shadow:0 3px 16px rgba(15,23,42,.055);padding-top:env(safe-area-inset-top)}
.ds-nav{width:min(1880px,100%);min-height:72px;margin:auto;padding:0 clamp(14px,2.2vw,34px);display:flex;align-items:center;justify-content:space-between;gap:18px;position:relative}.ds-brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:#101827;min-width:0}.ds-logo{width:46px;height:46px;flex:0 0 46px;display:grid;place-items:center;border-radius:15px;background:#e7fbf6;border:1px solid #b9ecdf;box-shadow:0 6px 16px rgba(20,200,164,.09)}.ds-brand-text{display:grid;line-height:1}.ds-brand-text strong{font-size:22px;font-weight:900;letter-spacing:-.045em;color:#111827}.ds-brand-text small{margin-top:5px;color:#66758a;font-size:9px;font-weight:900;letter-spacing:.12em}.ds-links{display:flex;align-items:center;justify-content:flex-end;gap:3px;min-width:0}.ds-link{display:inline-flex;align-items:center;gap:6px;min-height:43px;padding:9px 10px;border-radius:12px;color:#39465a;text-decoration:none;font-size:13px;font-weight:800;white-space:nowrap;border:0;background:transparent;cursor:pointer}.ds-link .material-icons{font-size:18px;color:#657287}.ds-link:hover{background:#edf3f7;color:#101827}.ds-link--primary{background:var(--ds-accent);color:#05221b}.ds-link--primary .material-icons{color:#05221b}.ds-link--logout{color:#bd2431}.ds-link--logout .material-icons{color:#bd2431}.ds-link--registry{background:#122033;color:#fff}.ds-link--registry .material-icons{color:#42dcc1}.ds-link--registry:hover{background:#1b2b40;color:#fff}.ds-link--admin{background:#e8fbf6;color:#087a64}.ds-link--admin .material-icons{color:#087a64}.ds-arrow{font-size:16px!important}.ds-account-pill{display:inline-flex;align-items:center;gap:5px;margin-left:4px;padding:8px 11px;border-radius:999px;border:1px solid #dce4ec;background:#f6f8fa;color:#49566b;font-size:11px;font-weight:900}.ds-account-pill .material-icons{font-size:17px;color:#0e9f82}.ds-mobile-check,.ds-mobile-button{display:none}
.ds-admin-menu{position:relative}.ds-admin-menu summary{list-style:none}.ds-admin-menu summary::-webkit-details-marker{display:none}.ds-admin-dropdown{position:absolute;right:0;top:calc(100% + 9px);width:340px;padding:9px;background:#fff;border:1px solid var(--ds-line);border-radius:18px;box-shadow:0 24px 60px rgba(15,23,42,.18);z-index:10001}.ds-admin-menu:not([open]) .ds-admin-dropdown{display:none}.ds-admin-head{padding:10px 11px 12px;border-bottom:1px solid #edf1f5;margin-bottom:5px}.ds-admin-head strong,.ds-admin-head small{display:block}.ds-admin-head strong{color:#111827;font-size:14px}.ds-admin-head small{margin-top:3px;color:#738095;font-size:10px}.ds-admin-dropdown>a{display:flex;align-items:center;gap:10px;padding:10px;border-radius:11px;text-decoration:none;color:#263247}.ds-admin-dropdown>a:hover{background:#f1f5f8}.ds-admin-dropdown>a>.material-icons{color:#0d9f82;font-size:20px}.ds-admin-dropdown>a span:last-child{display:grid}.ds-admin-dropdown b{font-size:12px}.ds-admin-dropdown small{margin-top:2px;color:#7a8799;font-size:9px}

/* Layout principal */
.ds-page{width:100%;flex:1;min-width:0}.ds-main{min-width:0}.ds-page:not(.ds-page--marketplace) .ds-main{width:min(1450px,calc(100% - 30px));margin:0 auto;padding:22px 0 38px}.ds-page--marketplace{width:min(1880px,100%);margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:18px;padding:20px clamp(12px,2vw,28px) 40px}.ds-page--marketplace.has-left.has-right{grid-template-columns:260px minmax(0,1fr) 300px}.ds-page--marketplace.has-left:not(.has-right){grid-template-columns:260px minmax(0,1fr)}.ds-left-column,.ds-right-column{min-width:0;padding-top:8px}.ds-page--marketplace .ds-main{min-width:0}

/* Anuncios y recientes */
.ds-ads-stack{display:grid;gap:14px}.ds-ad{background:var(--ad-bg);color:var(--ad-text);border-radius:22px;padding:17px;box-shadow:0 14px 34px rgba(15,23,42,.13);overflow:hidden}.ds-ad-top{display:flex;align-items:center;gap:7px;font-size:11px;font-weight:900}.ds-ad-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:12px;background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.2)}.ds-ad-badge{margin-left:auto;padding:5px 8px;border-radius:999px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.2)}.ds-ad h3{margin:15px 0 8px;color:inherit!important;font-size:18px}.ds-ad p{margin:0;color:inherit!important;opacity:.96;font-size:13px;font-weight:650;line-height:1.5}.ds-ad>a{display:flex;align-items:center;justify-content:center;margin-top:15px;min-height:42px;padding:10px 12px;border-radius:999px;background:var(--ad-btn);color:#172033;text-decoration:none;font-weight:900;font-size:13px}.ds-recent-card{position:sticky;top:88px;background:#fff;border:1px solid var(--ds-line);border-radius:20px;box-shadow:var(--ds-shadow);overflow:hidden}.ds-recent-title{display:flex;gap:10px;align-items:center;padding:15px;border-bottom:1px solid #edf1f5}.ds-recent-title>.material-icons{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:#e8fbf6;color:#0d9f82}.ds-recent-title strong{color:#111827;font-size:13px}.ds-recent-title small{display:block;margin-top:2px;color:#8290a3;font-size:9px}.ds-recent-list{display:grid}.ds-recent-item{display:grid;grid-template-columns:46px minmax(0,1fr);gap:9px;align-items:center;padding:10px;border-bottom:1px solid #edf1f5;text-decoration:none}.ds-recent-item:hover{background:#f8fafc}.ds-recent-media{width:46px;height:38px;border-radius:9px;overflow:hidden;background:#eef2f6;display:grid;place-items:center;color:#8b98aa}.ds-recent-media img{width:100%;height:100%;object-fit:cover}.ds-recent-copy{min-width:0;display:grid}.ds-recent-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#263247;font-size:10px}.ds-recent-copy small{margin-top:4px;color:#738096;font-size:8px}.ds-recent-all{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;text-decoration:none;color:#087d67;font-size:10px;font-weight:900}.ds-recent-empty{display:grid;place-items:center;text-align:center;padding:26px 14px;color:#69768a}.ds-recent-empty strong{margin-top:6px;color:#344054;font-size:11px}.ds-recent-empty small{margin-top:3px;font-size:9px}

/* Contraste base. IMPORTANTE: no forzar color sobre el contenedor raíz de
   módulos oscuros (registrosprogramas, perfil, Session Status, etc.). Cada
   módulo conserva su propia paleta y sus variables de texto. */
.ds-main{color:#172033}.ds-main h1,.ds-main h2,.ds-main h3{color:inherit}.ds-main p{max-width:100%}

.ds-footer{width:min(1880px,100%);margin:auto;padding:18px clamp(14px,2.2vw,34px) calc(18px + env(safe-area-inset-bottom));border-top:1px solid var(--ds-line);display:flex;align-items:center;justify-content:space-between;gap:16px;color:#66758a;font-size:11px}.ds-footer>div{display:flex;gap:8px;align-items:center}.ds-footer strong{color:#172033}.ds-footer nav{display:flex;gap:14px}.ds-footer a{text-decoration:none;font-weight:800}.ds-footer a:hover{color:#0d9f82}

@media(max-width:1540px){.ds-link{padding-inline:8px;font-size:12px}.ds-account-pill{padding-inline:8px}.ds-brand-text strong{font-size:20px}}
@media(max-width:1380px){.ds-page--marketplace.has-left.has-right{grid-template-columns:minmax(0,1fr) 280px}.ds-page--marketplace.has-left:not(.has-right){grid-template-columns:1fr}.ds-left-column{grid-column:1/-1;display:block;order:3}.ds-ads-stack{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}}
@media(max-width:1180px){.ds-mobile-button{display:flex;width:42px;height:42px;border-radius:12px;background:#f2f5f8;border:1px solid var(--ds-line);flex-direction:column;justify-content:center;align-items:center;gap:4px;cursor:pointer;order:2}.ds-mobile-button span{width:18px;height:2px;border-radius:2px;background:#344054}.ds-links{display:none;position:absolute;left:10px;right:10px;top:calc(100% + 8px);padding:10px;flex-direction:column;align-items:stretch;background:#fff;border:1px solid var(--ds-line);border-radius:18px;box-shadow:0 24px 60px rgba(15,23,42,.18);max-height:calc(100dvh - 88px);overflow:auto}.ds-mobile-check:checked~.ds-links{display:flex}.ds-link,.ds-account-pill{width:100%;justify-content:flex-start}.ds-admin-menu{width:100%}.ds-admin-dropdown{position:static;width:100%;margin-top:5px;box-shadow:none}.ds-page:not(.ds-page--marketplace) .ds-main{width:min(100% - 20px,100%)}}
@media(max-width:1100px){.ds-page--marketplace,.ds-page--marketplace.has-left.has-right,.ds-page--marketplace.has-left:not(.has-right){grid-template-columns:1fr}.ds-right-column{order:3}.ds-recent-card{position:static}.ds-recent-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){body{font-size:15px}.ds-nav{min-height:64px;padding:0 9px}.ds-logo{width:40px;height:40px;flex-basis:40px}.ds-brand-text strong{font-size:18px}.ds-brand-text small{display:none}.ds-page--marketplace{padding-left:8px;padding-right:8px}.ds-recent-list,.ds-ads-stack{grid-template-columns:1fr}.ds-footer{align-items:flex-start;flex-direction:column}.ds-footer nav{flex-wrap:wrap}input,select,textarea{font-size:16px!important}}
