.admin-body{background:#151218}.admin-body .comic-card-panel{box-shadow:none;transform:none;border:1px solid #574362;border-radius:10px}.admin-body .admin-main-heading,.admin-body .admin-page-title{text-shadow:none}.admin-body .btn-comic-primary,.admin-body .btn-comic-outline,.admin-body .btn-comic-danger{box-shadow:none;transform:none;border-radius:6px}.admin-body button:disabled{opacity:.6;cursor:wait}.admin-body .admin-input,.admin-body .admin-textarea{border-radius:6px}.admin-health{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;max-width:1400px;margin:24px auto;padding:0 24px}.admin-health>div{background:#231b2c;border:1px solid #53405d;border-radius:10px;padding:16px}.admin-health span{display:block;color:#c4b3cc;font-size:.8rem;margin-bottom:8px}.admin-health strong{font-size:.95rem}.backup-history{margin-top:28px;border-top:1px solid #634e71;padding-top:20px}.backup-history p{font:14px/1.6 system-ui;color:#cfc1d8;margin:14px 0}.backup-history-row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:12px 0;border-bottom:1px solid #49384f}.admin-body .section-subtabs{flex-wrap:wrap;gap:8px}.admin-body .section-editor-header{position:sticky;top:0;z-index:10;background:#19131f}.admin-body .live-pulse-indicator .pulse-dot{animation:none}@media(max-width:900px){.admin-health{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.admin-health{grid-template-columns:1fr}.backup-history-row{flex-wrap:wrap}}

.admin-body [hidden]{display:none!important}#tab-users>p{margin:16px 0}#user-editor{margin-top:24px;padding:24px;max-width:850px}#user-editor>label{display:block;margin:16px 0}#user-editor button{margin:8px}#user-permissions{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;padding:20px;margin:20px 0}.user-list-row{border:1px solid #654d73;border-radius:8px;padding:16px;margin:16px 0}.user-list-row p{margin-bottom:12px}

.section-last-edit { margin: 1.5rem 0 0; padding: .85rem 0; border-top: 1px solid #bda9ce55; color: #d7c4e5; font-size: .85rem; }

/* Shared editorial identity. Administration remains still and task-oriented. */
.admin-warm {
    color-scheme: light;
    --color-bg:#faf4eb;--color-bg-darker:#eee7e4;
    --color-surface:#fffdf8;--color-surface-card:#fffdf8;
    --color-surface-container:#f3ebe2;--color-surface-container-high:#eee3db;--color-surface-container-highest:#e2d1de;
    --color-primary:#32115a;--color-primary-container:#eee5f2;--color-on-primary:#fff;
    --color-secondary:#32115a;--color-secondary-hover:#291344;--color-secondary-container:#eee5f2;--color-on-secondary:#fff;
    --color-tertiary:#32115a;--color-tertiary-light:#32115a;
    --color-text-main:#291344;--color-text-muted:#62556d;--color-text-dark:#291344;
    --font-headline:'Hanken Grotesk',sans-serif;
    --border-comic-thick:1px solid #d9cec1;--border-comic-gold:1px solid #d9cec1;--border-comic-magenta:1px solid #d9cec1;
}
.admin-body{background:#faf4eb;color:#291344}
.admin-body .auth-overlay{background:radial-gradient(ellipse at top,#eee5f2,#faf4eb 70%)}
.admin-body .auth-overlay{overflow-y:auto}
.admin-body .auth-card{border:1px solid #d9cec1;border-radius:24px;box-shadow:0 20px 65px #62455418;padding:40px 32px}
.admin-body .pin-input-wrap input{font-family:var(--font-body);font-size:1rem;letter-spacing:normal;text-align:left;box-shadow:none}
.admin-body .auth-icon-wrap,.admin-body .admin-logo-badge{background:#eee5f2;color:#32115a;border:0;box-shadow:none}
.admin-body .admin-header{background:#fffdf8;border-bottom:1px solid #e1d2db;box-shadow:none}
.admin-body .admin-tabs-nav{background:#faf4eb;border-bottom:1px solid #d9cec1}
.admin-body .admin-tab-btn{color:#62556d;font-family:var(--font-body);letter-spacing:.03em;text-shadow:none}
.admin-body .admin-tab-btn:hover{background:#eee3db;color:#32115a}
.admin-body .admin-tab-btn.active{background:#eee5f2;color:#32115a;border-color:#32115a}
.admin-body h1,.admin-body h2,.admin-body h3,.admin-body h4,.admin-body .auth-title,
.admin-body .admin-main-heading,.admin-body .admin-section-title,.admin-body .promo-card-title{color:#291344;text-shadow:none;letter-spacing:0}
.admin-body .admin-main-heading{font-size:1.7rem}
.admin-body .comic-card-panel,.admin-body .form-card,.admin-body .admin-promo-card,
.admin-body .admin-health>div,.admin-body .user-list-row{background:#fffdf8;border:1px solid #d9cec1;border-radius:16px;box-shadow:0 4px 18px #62455406}
.admin-body .admin-promo-card.is-active{background:#f3edf6;border-color:#32115a}
.admin-body .promo-live-preview-box{background:#fffdf8;border:1px solid #d9cec1;border-radius:16px;box-shadow:none}
.admin-body .preview-box-header{background:#eee3db;border-bottom:1px solid #d9cec1}
.admin-body .preview-header-left{color:#4d2479}
.admin-body .badge-status-inactive{background:#e6dae3;color:#291344}
.admin-body .preview-frame-container{background:#fffdf8;color:#62556d}
.admin-body .preview-frame-container em{color:#62556d}
.admin-body .top-promo-frame{background:#faf4eb;border:1px solid #b99554;box-shadow:none;transition:none}
.admin-body .top-promo-title{color:#291344;text-shadow:none}
.admin-body .top-promo-subtitle{color:#62556d}
.admin-body .section-editor-header{background:#faf4eb;border-color:#d9cec1}
.admin-body .form-group label,.admin-body label,.admin-body .admin-health span,
.admin-body .backup-history p,.admin-body .section-last-edit{color:#62556d}
.admin-body .admin-input,.admin-body .admin-textarea,.admin-body input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]),.admin-body select,.admin-body textarea{background:#fffdfb;color:#291344;border:1px solid #aa9cab;border-radius:10px;box-shadow:none}
.admin-body input::placeholder,.admin-body textarea::placeholder{color:#756477;opacity:1}
.admin-body input:focus,.admin-body select:focus,.admin-body textarea:focus{outline:2px solid #32115a;outline-offset:2px;border-color:#32115a}
.admin-body input[type=checkbox],.admin-body input[type=radio]{accent-color:#32115a}
.admin-body .btn-comic-primary{background:#32115a;color:#fff;border:1px solid #32115a}
.admin-body .btn-comic-primary:hover{background:#291344}
.admin-body .btn-comic-outline{background:#fffdf8;color:#32115a;border:1px solid #32115a}
.admin-body .btn-comic-outline:hover{background:#eee5f2}
.admin-body .btn-comic-primary,.admin-body .btn-comic-outline,.admin-body .btn-comic-danger{font-family:var(--font-body);font-weight:600;letter-spacing:.02em;border-radius:10px;text-shadow:none}
.admin-body .subtab-btn{color:#62556d;border:1px solid #d9cec1;border-radius:10px;box-shadow:none}
.admin-body .subtab-btn.active{background:#32115a;color:#fff;border-color:#32115a}
.admin-body .btn-comic-danger,.admin-body .btn-icon-delete{background:#a83946;color:#fff;border:1px solid #a83946}
.admin-body .btn-icon-edit{background:#eee5f2;color:#291344;border-color:#d9cec1}
.admin-body .pulse-label{color:#276647}.admin-body .live-pulse-indicator{background:#e4f0e6;border-color:#b8d5be}
.admin-body .auth-error{background:#fae5e7;color:#8d2635;border-color:#db9ca5}
.admin-body .backup-history,.admin-body .backup-history-row,.admin-body .section-last-edit{border-color:#d9cec1}
.admin-body .admin-toast{background:#fffdf8;color:#291344;border-color:#32115a;box-shadow:0 8px 30px #62455420}
.admin-body .auth-footer-hint code{background:#eee5f2;color:#291344}
.admin-body .modal-overlay{background:#29134480;backdrop-filter:blur(4px)}
.admin-body .neon-yellow-text,.admin-body .neon-magenta-text{color:#32115a!important;text-shadow:none}

.admin-brand-image{display:block;width:130px;height:130px;object-fit:contain;margin:-31px 0 -21px;flex-shrink:0}
.auth-brand-image{width:180px;height:180px;margin:-38px auto -18px}
.admin-games-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:24px 0}
.admin-body .admin-game-row{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;text-align:left;min-height:0;flex-wrap:wrap;gap:16px;padding:20px}
.admin-game-row label{display:flex;align-items:center;gap:12px;flex:1;min-width:180px;font-weight:600}
.admin-game-row input[type="checkbox"]{width:24px;height:24px;accent-color:#32115a;flex-shrink:0}
.admin-game-state{color:#62556d;font-size:.875rem}
.admin-games-records,.admin-games-delete{padding:24px;margin-top:24px}
.admin-games-records h3,.admin-games-delete h3{margin-bottom:16px}
.admin-games-records p,.admin-games-delete p,#games-status{margin:16px 0;line-height:1.6;overflow-wrap:anywhere}
.admin-games-records label,.admin-games-delete label{display:block;margin:16px 0 8px}
.admin-games-records select{max-width:480px}
.admin-games-record-list{padding-left:24px}
.admin-games-record-list li{padding:12px 0;border-bottom:1px solid #d9cec1}
.admin-games-record-list li span{display:inline-block;width:calc(100% - 120px);overflow-wrap:anywhere;vertical-align:middle}
.admin-games-record-list li button{margin-left:12px}
.admin-games-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}
#tab-games button:focus-visible,#tab-games input:focus-visible,#tab-games select:focus-visible{outline:3px solid #32115a;outline-offset:3px}
@media(max-width:720px){.admin-games-list{grid-template-columns:1fr}.admin-games-records,.admin-games-delete{padding:16px}}
@media(max-width:540px){
    .admin-body .admin-header-container{padding:10px 16px;gap:10px}
    .admin-body .admin-brand-image:not(.auth-brand-image){width:72px;height:72px;margin:-15px 0 -12px}
    .admin-body .admin-main-heading{font-size:1.15rem}
    .admin-body .admin-subheading{font-size:.68rem}
    .admin-body .admin-header-status{display:none}
    .admin-body .admin-header-actions{width:100%}
    .admin-body .admin-header-actions>*{flex:1}
    .admin-body .admin-tabs-container{padding:0 12px}
    .admin-body .admin-tab-btn{padding:12px;font-size:.75rem}
}

.admin-warm{--color-primary:#32115a;--color-secondary:#32115a;--color-secondary-hover:#291344;--color-text-main:#291344;--color-text-muted:#62556d;--color-surface:#fffdf8;--color-surface-card:#fffdf8;--color-secondary-container:#ece6ee}
.admin-body{background:#faf4eb;color:#291344}.admin-warm .auth-overlay{background:#faf4eb}.admin-warm .auth-card{border-radius:16px;box-shadow:0 14px 40px #29134412}.admin-warm .admin-page-title,.admin-warm .admin-main-heading{font-family:Hanken Grotesk,sans-serif;letter-spacing:-.025em}.admin-warm .admin-tab-btn{transition:none}.admin-warm .admin-input:focus,.admin-warm .admin-textarea:focus{outline:2px solid #32115a;outline-offset:2px}

/* Editorial identity shared with the public pages; no decorative admin motion. */
@font-face{font-family:Hanken;src:url(assets/optimized-font-6.woff2) format("woff2");font-weight:100 900;font-display:swap}
.admin-warm{--font-body:Hanken,sans-serif;--font-headline:Hanken,sans-serif}
.admin-body{font-family:var(--font-body);line-height:1.5}
.admin-body .auth-overlay{background:var(--color-bg)}
.admin-body .auth-title,.admin-body .admin-main-heading,.admin-body .admin-page-title,.admin-body .admin-section-title,.admin-body .promo-card-title{font-family:Hanken,sans-serif;font-weight:500;letter-spacing:-.025em}
.admin-body .auth-title{font-size:clamp(1.65rem,4vw,2rem);line-height:1.15}
.admin-body .admin-tabs-nav{background:var(--color-bg)}
.admin-body .admin-tab-btn{min-height:48px;border-radius:0;letter-spacing:0}
.admin-body .admin-tab-btn.active{background:transparent;color:#32115a;border-bottom:2px solid #32115a}
.admin-body .btn-comic-primary{background:#291344;border-color:#291344}
.admin-body .btn-comic-primary:hover{background:#32115a;border-color:#32115a}
.admin-body .btn-comic-primary,.admin-body .btn-comic-outline{min-height:44px;border-radius:24px;letter-spacing:0}
.admin-body button:focus-visible,.admin-body a:focus-visible{outline:3px solid #32115a;outline-offset:4px}
.admin-body .auth-footer-hint,.admin-body .admin-subheading{color:#62556d}
.admin-body .auth-card{box-shadow:none;border-color:#d9cec1}
.admin-body .admin-game-state,.admin-body .admin-input{font-variant-numeric:tabular-nums}
.admin-body ::selection{background:#eee5f2;color:#291344}

.admin-body .comic-chip{border:0;background:transparent;padding-left:0;box-shadow:none;transform:none;color:#62556d}
.admin-body .badge-status-active{background:#e4f0e6;color:#276647;border:0;box-shadow:none}

/* JP Centro Láser: identity from the public site, scoped to administration. */
@font-face{font-family:'JP Caslon';src:url(assets/libre-caslon-display.ttf) format('truetype');font-weight:400;font-style:normal;font-display:swap}
.admin-warm{
    --admin-paper:#faf4eb;--admin-ink:#291344;--admin-accent:#32115a;
    --admin-hover:#4d2479;--admin-muted:#62556d;--admin-gold:#b99554;
    --color-secondary-hover:var(--admin-hover);
}
.admin-body{background:var(--admin-paper);color:var(--admin-ink)}
.admin-body .auth-overlay{background:var(--admin-paper);padding:24px 16px}
.admin-body .auth-card{display:block;max-width:448px;padding:32px;border-radius:16px;border-color:#d9cec1;background:#fffdf8}
.admin-body .admin-brand-image{width:144px;height:96px;margin:0;object-fit:contain}
.admin-body .auth-brand-image{width:200px;height:auto;aspect-ratio:600/399;margin:0 auto 16px}
.admin-body .auth-title,.admin-body .admin-page-title{font-family:'JP Caslon',Georgia,serif;font-weight:400;letter-spacing:-.025em;line-height:1.15}
.admin-body .auth-title{font-size:2rem;margin:0 0 8px;text-transform:none}
.admin-body .auth-subtitle{color:var(--admin-muted);margin-bottom:28px}
.admin-body .auth-form .form-group{text-align:left}
.admin-body .auth-form label{display:block;margin:16px 0 8px;font-size:.875rem;font-weight:600;letter-spacing:0}
.admin-body .auth-form label:first-child{margin-top:0}
.admin-body .auth-form input{min-height:48px;font-size:1rem;caret-color:var(--admin-accent)}
.admin-body .auth-footer-hint{border-top:1px solid #d9cec1;padding-top:20px;margin-top:24px}
.admin-body .auth-footer-hint p{font-size:.875rem;line-height:1.5}
.admin-body .admin-header-container{gap:24px;padding-block:12px}
.admin-body .admin-brand{gap:20px;min-width:0}
.admin-body .admin-main-heading{font-family:Hanken,sans-serif;font-size:1.5rem;font-weight:500;line-height:1.2;text-transform:none}
.admin-body .admin-subheading{font-size:.75rem;letter-spacing:.025em;line-height:1.5}
.admin-body .admin-header{background:var(--admin-paper);border-bottom:1px solid #b995544d}
.admin-body .admin-tabs-nav{background:var(--admin-paper)}
.admin-body .admin-tab-btn.active{color:var(--admin-accent);border-color:var(--admin-gold)}
.admin-body .btn-comic-primary{background:var(--admin-accent);border-color:var(--admin-accent)}
.admin-body .btn-comic-primary:hover{background:var(--admin-hover);border-color:var(--admin-hover)}
.admin-body .btn-comic-outline:hover{background:#eee5f2;color:var(--admin-accent)}
.admin-body .btn-link-back{color:var(--admin-accent);text-underline-offset:4px}
.admin-body .btn-link-back:hover{color:var(--admin-hover)}
.admin-body .admin-promo-card.is-active{border-color:var(--admin-accent)}
.admin-body .modal-backdrop{background:#29134499;backdrop-filter:none}
.admin-body .modal-heading{font-family:Hanken,sans-serif;color:var(--admin-ink);text-shadow:none}
.admin-body .modal-close-btn{color:var(--admin-muted);min-width:44px;min-height:44px}
.admin-body .modal-close-btn:hover{color:var(--admin-accent)}
.admin-body .pin-vis-btn{color:var(--admin-muted)}
.admin-body .pin-vis-btn:hover{color:var(--admin-accent)}
.admin-body button{white-space:normal}
.admin-body .form-group label{text-transform:none;letter-spacing:0;font-size:.875rem}
.admin-body .admin-subheading{font-family:Hanken,sans-serif}
.admin-body .pulse-dot{box-shadow:none}
.admin-body .active-toggle-wrap{background:#f3edf6;border:1px solid #d9cec1;border-radius:10px}
.admin-body .admin-section-title{font-size:1.75rem;line-height:1.2}
.admin-body .admin-header-actions .btn-sm{min-height:44px}
@media(max-width:720px){
    .admin-body .admin-header-status{display:none}
    .admin-body .admin-brand{gap:12px}
}
@media(max-width:540px){
    .admin-body .auth-card{padding:24px 20px}
    .admin-body .auth-brand-image{width:200px}
    .admin-body .admin-brand-image:not(.auth-brand-image){width:108px;height:72px;margin:0}
    .admin-body .admin-main-heading{font-size:1.25rem}
    .admin-body .admin-subheading{font-size:.6875rem;max-width:23ch}
    .admin-body .admin-tabs-container{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:0 8px}
    .admin-body .admin-tab-btn{min-width:0;flex-direction:column;justify-content:center;gap:6px;padding:12px 2px;font-size:.6875rem;white-space:nowrap}
    .admin-body .admin-tab-btn .material-symbols-outlined{font-size:20px}
    .admin-body .admin-header-actions .btn-sm{font-size:.75rem;padding:10px 8px;gap:6px}
    .admin-body .modal-dialog{padding:24px 20px}
    .admin-body .modal-dialog .form-group-row{flex-direction:column;gap:0}
}
