:root { --admin-navy:#071d3b; --admin-navy-2:#0d3159; --admin-blue:#1765d1; --admin-cyan:#4bd2e5; --admin-ink:#172b43; --admin-muted:#61758b; --admin-line:#dbe5ee; --admin-surface:#f4f8fb; --admin-white:#fff; --admin-radius:1rem; --admin-shadow:0 16px 38px rgba(7,29,59,.1); color-scheme:light; }
* { min-width:0; }
body.admin-app { min-height:100vh; color:var(--admin-ink); background:var(--admin-surface); }
.admin-shell { display:flex; min-height:100vh; } .admin-sidebar { position:sticky; top:0; flex:0 0 272px; height:100vh; flex-direction:column; padding:1.5rem 1rem; overflow:hidden; color:#d6e8f5; background:linear-gradient(165deg,var(--admin-navy),#06172e); }
.admin-brand { display:flex; align-items:center; gap:.75rem; color:var(--admin-white); font-size:1rem; font-weight:800; letter-spacing:.08em; line-height:1.05; text-decoration:none; } .admin-brand strong { color:var(--admin-cyan); } .admin-brand small { display:block; margin-top:.35rem; color:#8fb5cd; font-size:.58rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }
.admin-brand-mark { display:grid; flex:0 0 auto; grid-template-columns:repeat(2,10px); grid-template-rows:repeat(2,10px); gap:3px; } .admin-brand-mark i,.admin-brand-mark span { display:block; background:var(--admin-cyan); } .admin-brand-mark i:nth-child(2),.admin-brand-mark i:nth-child(3),.admin-brand-mark span:nth-child(2),.admin-brand-mark span:nth-child(3) { background:var(--admin-blue); }
.admin-brand-logo { display:block; flex:0 0 auto; width:auto; height:27px; max-width:72px; object-fit:contain; }
.admin-nav { flex:1 1 auto; min-height:0; margin-top:3rem; padding-bottom:.75rem; overflow-x:hidden; overflow-y:auto; } .admin-nav ul { display:grid; gap:.35rem; padding:0; margin:0; list-style:none; } .admin-nav-label { margin:0 0 .7rem .8rem; color:#7ea3be; font-size:.65rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.admin-nav-link { display:flex; align-items:center; gap:.75rem; padding:.78rem .85rem; border:1px solid transparent; border-radius:.65rem; color:#bed3e2; font-size:.92rem; font-weight:700; text-decoration:none; transition:background .18s ease,color .18s ease,border-color .18s ease; } .admin-nav-mark { width:.45rem; height:.45rem; border:1px solid #7597ae; border-radius:50%; } .admin-nav-link:hover,.admin-nav-link:focus-visible { border-color:rgba(75,210,229,.28); color:var(--admin-white); background:rgba(255,255,255,.07); outline:0; } .admin-nav-link.is-active { color:var(--admin-white); background:linear-gradient(90deg,rgba(23,101,209,.55),rgba(75,210,229,.13)); border-color:rgba(75,210,229,.25); } .admin-nav-link.is-active .admin-nav-mark { border-color:var(--admin-cyan); background:var(--admin-cyan); box-shadow:0 0 0 4px rgba(75,210,229,.14); }
.admin-sidebar-footer { display:grid; flex:0 0 auto; gap:.8rem; margin-top:auto; padding-top:1.4rem; border-top:1px solid rgba(255,255,255,.12); } .admin-public-link,.admin-logout { width:100%; padding:.7rem .8rem; border:0; border-radius:.55rem; color:#cfe9f6; background:transparent; font-size:.83rem; font-weight:700; text-align:left; text-decoration:none; } .admin-public-link:hover,.admin-public-link:focus-visible,.admin-logout:hover,.admin-logout:focus-visible { color:var(--admin-white); background:rgba(255,255,255,.08); outline:0; } .admin-logout { cursor:pointer; }
.admin-workspace { flex:1; width:calc(100% - 272px); } .admin-topbar { display:flex; align-items:center; justify-content:space-between; min-height:84px; padding:1rem clamp(1.25rem,3vw,3rem); border-bottom:1px solid var(--admin-line); background:rgba(255,255,255,.9); } .admin-topbar-title { display:grid; gap:.08rem; } .admin-topbar-title span { color:var(--admin-muted); font-size:.72rem; font-weight:750; letter-spacing:.08em; text-transform:uppercase; } .admin-topbar-title strong { font-size:1.2rem; } .admin-user { display:flex; align-items:center; gap:.7rem; color:#3c5065; font-size:.85rem; font-weight:700; } .admin-user-avatar { display:grid; place-items:center; width:2.2rem; height:2.2rem; border-radius:50%; color:var(--admin-white); background:linear-gradient(135deg,var(--admin-blue),var(--admin-cyan)); } .admin-user a { align-items:center; gap:.25rem; margin-left:.7rem; padding-left:1rem; border-left:1px solid var(--admin-line); color:var(--admin-blue); text-decoration:none; }
.admin-menu-toggle { display:grid; gap:4px; padding:.55rem; margin-right:.85rem; border:1px solid var(--admin-line); border-radius:.5rem; background:var(--admin-white); } .admin-menu-toggle span { display:block; width:1.15rem; height:2px; background:var(--admin-navy); } .admin-topbar > .admin-menu-toggle + .admin-topbar-title { margin-right:auto; }
.admin-main { max-width:1480px; padding:clamp(1.25rem,3vw,3rem); margin:0 auto; } .admin-main h1 { margin:0 0 .55rem; color:var(--admin-navy); font-size:clamp(1.75rem,3vw,2.45rem); font-weight:800; letter-spacing:-.035em; } .admin-main h2 { color:var(--admin-navy); font-weight:760; } .admin-main > h1 + p { max-width:62ch; color:var(--admin-muted); }
.admin-main .card,.admin-main form.row,.admin-main form.mb-4,.admin-main form.mb-5 { border:1px solid var(--admin-line); border-radius:var(--admin-radius); background:var(--admin-white); box-shadow:0 8px 24px rgba(7,29,59,.04); } .admin-main form.row { padding:1.2rem; margin-left:0; margin-right:0; } .admin-main .card { overflow:hidden; } .admin-main .card-body { padding:1.4rem; } .admin-main .card-title { color:var(--admin-navy); font-size:1.08rem; font-weight:780; }
.admin-main .btn { border-radius:.58rem; font-weight:700; } .admin-main .btn-primary { border-color:var(--admin-blue); background:var(--admin-blue); } .admin-main .btn-primary:hover { border-color:#1054b4; background:#1054b4; } .admin-main .btn-outline-primary { color:var(--admin-blue); border-color:#9bbce1; } .admin-main .btn-outline-primary:hover { background:var(--admin-blue); border-color:var(--admin-blue); } .admin-main .btn-outline-secondary { color:#42586d; border-color:#b9c8d5; } .admin-main .btn-outline-danger { color:#b53c4b; border-color:#e5a9b1; }
.admin-main .form-label { margin-bottom:.4rem; color:#365067; font-size:.84rem; font-weight:760; } .admin-main .form-control,.admin-main .form-select { min-height:2.7rem; border-color:#c9d7e3; border-radius:.55rem; color:var(--admin-ink); } .admin-main textarea.form-control { min-height:auto; } .admin-main .form-control:focus,.admin-main .form-select:focus { border-color:var(--admin-blue); box-shadow:0 0 0 .2rem rgba(23,101,209,.14); } .admin-main .form-text { color:var(--admin-muted); font-size:.76rem; } .admin-main input[type=file] { padding:.55rem; }
.password-field { position:relative; } .password-field .form-control { padding-right:5.7rem; } .password-toggle { position:absolute; top:50%; right:.4rem; padding:.25rem .45rem; border:0; border-radius:.35rem; color:var(--admin-blue); background:transparent; font-size:.78rem; font-weight:750; transform:translateY(-50%); } .password-toggle:hover,.password-toggle:focus-visible { color:#1054b4; background:#edf4f9; outline:0; } .password-toggle:focus-visible { box-shadow:0 0 0 .2rem rgba(23,101,209,.18); }
.admin-form-section { margin-top:.4rem; padding-top:1rem; border-top:1px solid var(--admin-line); } .admin-form-section:first-of-type { padding-top:0; border-top:0; } .admin-form-section h2 { margin:0 0 .2rem; font-size:1rem; } .admin-form-section p { margin:0; color:var(--admin-muted); font-size:.8rem; }
.admin-main .table-responsive { border:1px solid var(--admin-line); border-radius:var(--admin-radius); background:var(--admin-white); box-shadow:0 8px 24px rgba(7,29,59,.04); } .admin-main .table { min-width:760px; margin:0; } .admin-main .table > :not(caption) > * > * { padding:1rem .85rem; border-color:#e6edf3; } .admin-main .table thead th { color:#557087; background:#edf4f9; font-size:.69rem; font-weight:800; letter-spacing:.07em; text-transform:uppercase; white-space:nowrap; } .admin-main .table tbody tr:hover > * { background:#f7fbfe; } .admin-main .table td { color:#3a5065; font-size:.87rem; vertical-align:middle; } .admin-cover-thumb { width:80px; height:45px; border-radius:.35rem; object-fit:cover; }
.admin-main .pagination { margin-top:1.5rem; gap:.35rem; } .admin-main .page-link { border-radius:.45rem; color:var(--admin-blue); border-color:var(--admin-line); font-weight:700; } .admin-main .alert,.admin-alert { border:0; border-left:4px solid currentColor; border-radius:.65rem; box-shadow:0 5px 16px rgba(7,29,59,.06); } .admin-main dl.row { padding:1.25rem; border:1px solid var(--admin-line); border-radius:var(--admin-radius); background:var(--admin-white); } .admin-main dl dt { color:#60758a; font-size:.78rem; font-weight:800; letter-spacing:.04em; text-transform:uppercase; } .admin-main dl dd { overflow-wrap:anywhere; } .admin-main code { color:#185dba; }
.admin-status { display:inline-flex; align-items:center; padding:.25rem .52rem; border-radius:999px; font-size:.72rem; font-weight:800; line-height:1; text-transform:capitalize; } .admin-status--publicado,.admin-status--visible { color:#137153; background:#d9f4e8; } .admin-status--borrador,.admin-status--programado { color:#9b6500; background:#fff0c8; } .admin-status--inactivo,.admin-status--expirado { color:#9e3e4d; background:#fde2e6; }
.admin-dashboard-intro { padding:clamp(1.4rem,3vw,2.3rem); border:1px solid rgba(23,101,209,.16); border-radius:var(--admin-radius); color:var(--admin-white); background:radial-gradient(circle at 88% 18%,rgba(75,210,229,.28),transparent 27%),linear-gradient(120deg,var(--admin-navy),var(--admin-navy-2)); box-shadow:var(--admin-shadow); } .admin-dashboard-intro h1 { margin:.35rem 0 .45rem; color:var(--admin-white); } .admin-dashboard-intro p { max-width:42rem; margin:0; color:#c8dae8; } .admin-kicker,.admin-module-label { color:var(--admin-cyan); font-size:.7rem; font-weight:850; letter-spacing:.1em; text-transform:uppercase; } .admin-module-card { border-top:3px solid var(--admin-blue)!important; } .admin-module-stats { display:grid; grid-template-columns:repeat(3,1fr); gap:.35rem; margin:1.2rem 0; } .admin-module-stats div { padding-right:.35rem; border-right:1px solid var(--admin-line); } .admin-module-stats div:last-child { border:0; } .admin-module-stats dt { color:var(--admin-muted); font-size:.65rem; font-weight:800; text-transform:uppercase; } .admin-module-stats dd { margin:0; color:var(--admin-navy); font-size:1.3rem; font-weight:800; }
.admin-dashboard-heading { margin-bottom:1rem; font-size:1.2rem; } .admin-dashboard-card { display:grid; min-height:154px; padding:1.15rem; border:1px solid var(--admin-line); border-top:3px solid var(--admin-blue); border-radius:var(--admin-radius); color:var(--admin-ink); background:var(--admin-white); box-shadow:0 8px 24px rgba(7,29,59,.04); text-decoration:none; } .admin-dashboard-card:hover,.admin-dashboard-card:focus-visible { border-color:var(--admin-cyan); color:var(--admin-ink); box-shadow:var(--admin-shadow); outline:0; } .admin-dashboard-card span,.admin-dashboard-card small { color:var(--admin-muted); font-size:.76rem; font-weight:750; } .admin-dashboard-card strong { color:var(--admin-navy); font-size:2rem; line-height:1.1; } .admin-dashboard-card em { align-self:end; color:var(--admin-blue); font-size:.8rem; font-style:normal; font-weight:800; } .admin-dashboard-panel { padding:1.25rem; border:1px solid var(--admin-line); border-radius:var(--admin-radius); background:var(--admin-white); box-shadow:0 8px 24px rgba(7,29,59,.04); } .admin-dashboard-panel h2 { margin:0 0 .25rem; font-size:1.18rem; } .admin-dashboard-panel > p { color:var(--admin-muted); font-size:.84rem; } .admin-empty { margin:1rem 0 0; padding:1rem; border-radius:.6rem; color:#52687b!important; background:#f4f8fb; } .admin-dashboard-table { min-width:650px!important; } .admin-dashboard-table small { display:block; margin-top:.2rem; color:var(--admin-muted); } .dashboard-progress { min-width:120px; height:.55rem; margin-bottom:.25rem; background:#dce8f1; } .dashboard-progress .progress-bar { background:linear-gradient(90deg,var(--admin-blue),var(--admin-cyan)); } .dashboard-registration-stats { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.7rem; margin:1rem 0 0; } .dashboard-registration-stats div { padding:.85rem; border-radius:.65rem; background:#f4f8fb; } .dashboard-registration-stats dt { color:var(--admin-muted); font-size:.7rem; font-weight:800; text-transform:uppercase; } .dashboard-registration-stats dd { margin:0; color:var(--admin-navy); font-size:1.55rem; font-weight:850; } .dashboard-alerts { display:grid; gap:.6rem; padding:0; margin:1rem 0 0; list-style:none; } .dashboard-alerts li { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.8rem; border-left:4px solid var(--admin-cyan); border-radius:.4rem; background:#f4f8fb; overflow-wrap:anywhere; } .dashboard-alerts a { flex:0 0 auto; color:var(--admin-blue); font-size:.8rem; font-weight:800; } .dashboard-actions { display:grid; gap:.6rem; margin-top:1rem; } .dashboard-actions .btn { text-align:left; }
.admin-cover-form,.admin-cover-show,.admin-cover-preview { border:1px solid var(--admin-line); border-radius:.75rem; box-shadow:var(--admin-shadow); } .admin-cover-form { max-height:240px; } .admin-cover-show { max-height:420px; } .admin-cover-preview { max-height:500px; } .admin-gallery-cover { height:200px; object-fit:cover; }
.admin-settings-card { max-width:760px; } .admin-logo-preview,.admin-logo-empty { display:flex; align-items:center; gap:1rem; min-height:100px; padding:1rem; border:1px dashed #b9c8d5; border-radius:.75rem; background:#f8fbfd; } .admin-site-logo-preview { display:block; width:auto; height:auto; max-width:260px; max-height:120px; object-fit:contain; }
.admin-favicon-preview { display:flex; align-items:center; gap:1rem; min-height:100px; padding:1rem; border:1px dashed #b9c8d5; border-radius:.75rem; background:#f8fbfd; } .admin-site-favicon-preview { display:block; width:80px; height:80px; padding:.35rem; border:1px solid var(--admin-line); border-radius:.6rem; background:var(--admin-white); object-fit:contain; }
.admin-about-slot { height:100%; padding:1rem; border:1px solid var(--admin-line); border-radius:.75rem; background:#f8fbfd; } .admin-about-slot h3 { margin:0; } .admin-about-preview { display:block; width:100%; aspect-ratio:4/3; margin-top:.75rem; border-radius:.55rem; object-fit:cover; }
.admin-offcanvas { color:#d6e8f5; background:linear-gradient(165deg,var(--admin-navy),#06172e); } .admin-offcanvas .offcanvas-header { flex:0 0 auto; padding:1.5rem 1rem; } .admin-offcanvas .offcanvas-body { min-height:0; overflow-x:hidden; overflow-y:auto; } .admin-offcanvas .admin-brand { font-size:.9rem; } .admin-offcanvas .admin-nav { flex:0 0 auto; min-height:auto; margin-top:1rem; overflow:visible; }
.admin-login-page { min-height:100vh; color:var(--admin-ink); background:radial-gradient(circle at 12% 15%,rgba(75,210,229,.2),transparent 25%),radial-gradient(circle at 88% 84%,rgba(23,101,209,.28),transparent 30%),linear-gradient(135deg,#06172e,#0d3159); } .admin-login-main { display:grid; min-height:100vh; place-items:center; padding:1.25rem; } .admin-login-card { width:min(100%,460px); padding:clamp(1.5rem,5vw,3rem); border:1px solid rgba(255,255,255,.26); border-radius:1.1rem; background:rgba(255,255,255,.97); box-shadow:0 26px 70px rgba(0,0,0,.26); } .admin-login-card .admin-brand { color:var(--admin-navy); } .admin-login-card .admin-brand strong { color:var(--admin-blue); } .admin-login-card .admin-brand small { color:#6d8498; } .admin-login-card h1 { margin:2rem 0 .45rem; color:var(--admin-navy); font-size:1.75rem; font-weight:800; } .admin-login-card > p { color:var(--admin-muted); } .admin-login-card .form-label { color:#365067; font-size:.86rem; font-weight:760; } .admin-login-card .form-control { min-height:2.9rem; border-color:#c9d7e3; border-radius:.55rem; } .admin-login-card .btn-primary { width:100%; padding:.72rem; border-color:var(--admin-blue); background:var(--admin-blue); font-weight:750; } .admin-login-card .password-field .form-control { padding-right:5.7rem; } .admin-login-back { display:inline-flex; margin-top:1.5rem; color:var(--admin-blue); font-size:.86rem; font-weight:700; text-decoration:none; }
@media (max-width:991.98px) { .admin-workspace { width:100%; } .admin-topbar { min-height:70px; } .admin-main { padding:1.25rem; } }
@media (max-width:575.98px) { .admin-topbar { padding:.8rem 1rem; } .admin-topbar-title strong { font-size:1rem; } .admin-user > span:not(.admin-user-avatar) { display:none; } .admin-main { padding:1rem; } .admin-main form.row { padding:1rem; } .admin-main .d-flex.justify-content-between { gap:1rem; align-items:flex-start!important; flex-direction:column; } .admin-main .d-flex.justify-content-between .btn { width:100%; } .admin-login-main { padding:.8rem; } .admin-login-card { padding:1.5rem; } }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; transition-duration:.01ms!important; animation-duration:.01ms!important; } }

.admin-social-icon { width:28px; height:28px; margin-right:.5rem; vertical-align:middle; } .admin-social-url { max-width:360px; overflow-wrap:anywhere; } .admin-main .table td .d-flex form { margin:0; }


.admin-settings-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; } .admin-settings-grid--identity { grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; } .admin-settings-hub-card { display:grid; min-height:210px; padding:1.35rem; border:1px solid var(--admin-line); border-top:3px solid var(--admin-blue); border-radius:var(--admin-radius); background:var(--admin-white); box-shadow:0 8px 24px rgba(7,29,59,.04); } .admin-settings-hub-card h2 { margin:.35rem 0 .45rem; font-size:1.2rem; } .admin-settings-hub-card p { color:var(--admin-muted); font-size:.86rem; } .admin-settings-hub-card .btn { align-self:end; justify-self:start; } .admin-settings-hub-kicker,.admin-breadcrumb { color:var(--admin-muted); font-size:.72rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; } .admin-breadcrumb { display:flex; gap:.5rem; margin-bottom:1rem; } .admin-breadcrumb a { color:var(--admin-blue); text-decoration:none; } .admin-about-form { max-width:1000px; } @media (max-width:991.98px) { .admin-settings-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } } @media (max-width:575.98px) { .admin-settings-grid,.admin-settings-grid--identity { grid-template-columns:1fr; } .admin-settings-hub-card { min-height:0; } }

