.admin-body{min-height:100vh;background:#f4f2ed}.admin-top{height:82px;padding:0 max(28px,calc((100vw - 1100px)/2));display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e3dfd7;background:#f8f6f1}.back-link{font-size:12px;font-weight:600;color:#6e6a7b}.admin-wrap{width:min(100% - 48px,1040px);margin:0 auto;padding:65px 0 90px}.admin-login{max-width:470px;margin:40px auto;background:#fffdf9;border:1px solid #e5e1da;border-radius:10px;padding:38px;box-shadow:0 20px 55px #19192d0a}.admin-login h1,.dashboard-heading h1{font:600 49px/1 'Space Grotesk',sans-serif;letter-spacing:-.06em;margin:20px 0 15px}.admin-login h1 em,.dashboard-heading h1 em{font-style:normal;color:#8b73db}.admin-login>p,.dashboard-heading p{font-size:13px;color:#777487;line-height:1.7}.admin-login form{margin-top:30px}.admin-login label,.field label{display:block;font:9px 'DM Mono',monospace;letter-spacing:.08em;margin-bottom:9px}.admin-login input,.field input,.field textarea,.field select{display:block;width:100%;border:1px solid #ded9d1;border-radius:5px;padding:13px;background:#fffdf9;outline:0;font:12px 'DM Sans',sans-serif;margin-bottom:14px}.admin-login input:focus,.field input:focus,.field textarea:focus,.field select:focus{border-color:#8b73db;box-shadow:0 0 0 3px #b6a2ff40}.admin-login button{width:100%;justify-content:space-between}.security-hint{font-size:10px!important;margin:22px 0 0!important;text-align:center}.admin-message{font-size:11px;line-height:1.6;color:#a33e31;margin-top:12px}.dashboard-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:38px}.dashboard-heading h1{font-size:57px}.dashboard-heading p{max-width:460px}.outline-button{border:1px solid #d8d3cb;border-radius:6px;background:transparent;color:#39374c;font:600 11px 'DM Sans',sans-serif;padding:11px 14px;cursor:pointer}.outline-button:hover{background:#ebe8e2}.admin-tabs{display:flex;gap:25px;border-bottom:1px solid #dcd7cf;margin-bottom:28px}.tab{border:0;border-bottom:2px solid transparent;background:none;padding:13px 0;color:#777487;font:600 12px 'DM Sans',sans-serif;cursor:pointer}.tab.active{color:#19192d;border-color:#8b73db}.admin-pane{background:#fffdf9;border:1px solid #e5e1da;border-radius:8px;padding:28px;margin-bottom:25px}.pane-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}.pane-head h2{font:600 22px 'Space Grotesk',sans-serif;letter-spacing:-.6px;margin:0 0 5px}.pane-head p{font-size:11px;color:#777487;margin:0}.admin-form{padding:22px;background:#f7f5f0;border:1px solid #e9e5de;border-radius:7px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 15px}.field.full{grid-column:1/-1}.field small{display:block;font-size:10px;color:#888597;margin-top:-7px;margin-bottom:15px}.field textarea{resize:vertical}.admin-form>.button{min-width:180px;justify-content:space-between}.listed-head{margin:34px 0 16px}.admin-list{display:grid;gap:9px}.admin-row{display:flex;justify-content:space-between;align-items:center;gap:20px;border:1px solid #ebe7e0;border-radius:6px;padding:15px 16px}.admin-row-title{font:600 13px 'Space Grotesk',sans-serif;margin-bottom:5px}.admin-row-sub{font:10px 'DM Mono',monospace;color:#898697;line-height:1.6}.admin-row-right{display:flex;align-items:center;gap:9px;flex-shrink:0}.status{display:inline-block;padding:6px 8px;border-radius:4px;background:#e1efd9;color:#3d6d3b;font:9px 'DM Mono',monospace}.status.used{background:#ebe8e2;color:#797586}.status.revoked{background:#f9dcd4;color:#8c4237}.generated-codes{margin-top:18px;background:#eeebff;border:1px solid #d7cdfc;border-radius:6px;padding:17px}.generated-title{display:flex;justify-content:space-between;gap:20px;font-size:12px;margin-bottom:10px}.generated-title span{font-size:10px;color:#777487}.generated-codes textarea{display:block;width:100%;padding:12px;border:1px solid #d7cdfc;background:#fffdf9;border-radius:5px;font:12px/1.8 'DM Mono',monospace;resize:vertical;margin-bottom:10px}.muted{font-size:12px;color:#888597}.admin-footnote{font-size:11px;color:#777487;line-height:1.7;padding:0 3px}.admin-footnote:before{content:'✳';color:#8b73db;margin-right:8px}.hidden{display:none!important}
@media(max-width:650px){.admin-top{height:70px;padding:0 18px}.admin-wrap{width:calc(100% - 30px);padding:35px 0 55px}.admin-login{padding:25px;margin:10px auto}.dashboard-heading{align-items:flex-start;gap:15px;flex-direction:column}.dashboard-heading h1{font-size:48px}.admin-pane{padding:17px}.admin-form{padding:14px}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.admin-row{align-items:flex-start;flex-direction:column}.admin-row-right{width:100%;justify-content:space-between}.generated-title{flex-direction:column;gap:5px}.back-link{font-size:10px}}


/* ===== PANEL ADMINISTRATIVO / ACABADO INTERACTIVO ===== */
.admin-body { background: radial-gradient(ellipse at 85% 0%, rgba(182,162,255,.12), transparent 35%), #f4f2ed; }
.admin-top { position: sticky; top: 0; z-index: 10; backdrop-filter: blur(16px); background: rgba(248,246,241,.92); }
.admin-login { border-radius: 18px; box-shadow: 0 24px 70px rgba(25,25,45,.09); }
.admin-login:focus-within { border-color: #c7b9ff; box-shadow: 0 24px 70px rgba(25,25,45,.09), 0 0 0 4px rgba(182,162,255,.15); }
.dashboard-heading { padding: 26px 28px; margin: 0 0 28px; border: 1px solid rgba(229,225,218,.85); border-radius: 18px; background: linear-gradient(120deg, rgba(255,253,249,.96), rgba(245,241,255,.85)); }
.dashboard-heading h1 { line-height: 1.02; }
.admin-tabs { gap: 8px; border-bottom: 1px solid #ded9d1; }
.tab { padding: 13px 16px; border-radius: 9px 9px 0 0; transition: color .2s ease, background .2s ease, border-color .2s ease; }
.tab:hover { background: rgba(182,162,255,.12); }
.tab.active { background: rgba(182,162,255,.15); color: #51418e; border-color: #8b73db; }
.admin-pane { border-radius: 15px; box-shadow: 0 10px 30px rgba(25,25,45,.035); }
.admin-pane:hover { box-shadow: 0 15px 38px rgba(25,25,45,.06); }
.admin-form { border-radius: 12px; }
.admin-form input[type="file"] { cursor: pointer; padding: 12px; background: #fffdf9; }
.admin-form input[type="file"]::file-selector-button { border: 0; border-radius: 6px; background: #e8e1ff; padding: 9px 12px; margin-right: 12px; color: #433675; font: 600 11px 'DM Sans',sans-serif; cursor: pointer; }
.admin-row { border-radius: 10px; background: rgba(255,253,249,.72); transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease; }
.admin-row:hover { transform: translateY(-2px); border-color: #d4c8ff; box-shadow: 0 9px 22px rgba(25,25,45,.05); }
.outline-button { transition: background .2s ease, border-color .2s ease, transform .2s ease; }
.outline-button:active { transform: scale(.98); }
.outline-button:focus-visible, .tab:focus-visible { outline: 3px solid rgba(139,115,219,.55); outline-offset: 2px; }
.status { border-radius: 999px; padding: 7px 10px; }
.generated-codes { border-radius: 12px; box-shadow: 0 8px 24px rgba(139,115,219,.09); }
.admin-message { min-height: 0; overflow-wrap: anywhere; }
.admin-row-title { overflow-wrap: anywhere; }
@media (max-width: 650px) {
  .dashboard-heading { padding: 22px 18px; border-radius: 14px; }
  .admin-tabs { gap: 5px; }
  .tab { padding: 12px 10px; }
}

.outline-button.is-refreshing { opacity: .72; pointer-events: none; }
.outline-button.is-refreshing::after { content: ' …'; }
.admin-form input.has-value:not([type="file"]), .admin-form textarea.has-value, .admin-form select.has-value { border-color: #c9bafc; }

/* Corrección de composición de la pantalla de acceso */
.admin-body .admin-top {
  position: relative;
  height: 88px;
  min-height: 88px;
  padding: 12px clamp(20px, 4vw, 64px);
  gap: 24px;
}
.admin-body .admin-top .brand {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
  max-width: min(100%, 390px);
  flex-shrink: 1;
}
.admin-body .admin-top .org-logo {
  width: 76px;
  height: 54px;
  max-width: 76px;
  object-fit: contain;
  background: transparent;
  border-radius: 0;
  flex: 0 0 76px;
}
.admin-body .admin-top .brand-caption {
  font-size: 10px;
  line-height: 1.5;
  white-space: nowrap;
}
.admin-body .admin-top .brand-caption small {
  font-size: 7px;
}
.admin-body .admin-top .back-link {
  flex: 0 0 auto;
  white-space: nowrap;
  margin-left: auto;
}
.admin-body .admin-wrap {
  width: min(calc(100% - 36px), 1040px);
  margin: 0 auto;
  padding: clamp(36px, 6vh, 64px) 0 72px;
}
.admin-body .admin-login {
  width: 100%;
  max-width: 570px;
  margin: 0 auto;
  padding: clamp(28px, 4vw, 44px);
}
.admin-body .admin-login h1 {
  font-size: clamp(38px, 4vw, 54px);
  line-height: 1.06;
  overflow-wrap: anywhere;
}
@media (max-width: 650px) {
  .admin-body .admin-top {
    height: 74px;
    min-height: 74px;
    padding: 10px 15px;
    gap: 12px;
  }
  .admin-body .admin-top .org-logo {
    width: 54px;
    height: 42px;
    max-width: 54px;
    flex-basis: 54px;
  }
  .admin-body .admin-top .brand {
    gap: 7px;
  }
  .admin-body .admin-top .brand-caption {
    font-size: 8px;
    letter-spacing: .06em;
  }
  .admin-body .admin-top .brand-caption small {
    font-size: 6px;
    letter-spacing: .06em;
  }
  .admin-body .admin-top .back-link {
    font-size: 10px;
  }
  .admin-body .admin-wrap {
    width: calc(100% - 30px);
    padding: 28px 0 45px;
  }
  .admin-body .admin-login {
    padding: 25px 22px;
  }
}
@media (max-width: 380px) {
  .admin-body .admin-top .brand-caption { display: none; }
  .admin-body .admin-top .org-logo { width: 50px; max-width: 50px; flex-basis: 50px; }
}
