.admin-shell{width:min(96vw,1380px);margin:0 auto;padding:28px 34px;background:rgba(255,250,244,.96);border:1px solid var(--border);border-radius:28px;box-shadow:var(--shadow)}
.admin-header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:24px}.admin-actions,.row-actions{display:flex;gap:10px}.compact-button{width:auto;padding:11px 15px}
.new-access-summary{margin-bottom:26px;padding:22px;border:1px solid var(--border);border-radius:22px;background:var(--primary-soft)}.new-access-grid{display:grid;grid-template-columns:minmax(0,1fr) 280px auto;gap:16px;align-items:end}
.copy-row{display:flex;gap:10px;align-items:center}.copy-row input{margin:0;min-width:0}.short-copy-row{max-width:280px}
.access-table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:22px;background:#fff}.access-table{width:100%;border-collapse:collapse;min-width:1080px}.access-table th,.access-table td{padding:15px 16px;text-align:left;vertical-align:middle;border-bottom:1px solid var(--border)}.access-table th{font-size:13px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;background:#fcfaf7}.access-main-row:hover{background:#fdfbf8}.table-actions{text-align:right!important}
.admin-status{display:inline-block;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:800}
.access-detail-row td{padding:0;background:#fbf8f3}.access-detail-panel{display:grid;gap:18px;padding:22px 26px}.detail-link-field{max-width:820px}.detail-label{display:block;margin-bottom:7px;color:var(--muted);font-size:12px;font-weight:750;text-transform:uppercase;letter-spacing:.06em}
.detail-info-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.detail-line{display:flex;gap:8px;align-items:baseline;min-width:0;padding:12px 14px;border:1px solid var(--border);border-radius:14px;background:#fff}.detail-name{flex:0 0 auto;color:var(--muted);font-weight:750}.detail-value{min-width:0;color:var(--text);overflow-wrap:anywhere}
.detail-bottom-row{display:flex;align-items:flex-start;gap:18px;justify-content:space-between}.access-detail-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.access-detail-actions form{margin:0}.revoke-button{color:var(--danger);border-color:#efcaca;background:var(--danger-bg)}
.qr-drawer{width:150px;min-width:150px;padding:10px;border:1px solid var(--border);border-radius:16px;background:#fff}.qr-drawer img,.qr-drawer canvas{display:block;max-width:100%}
.admin-form select,.admin-form textarea{width:100%;padding:14px;border:1px solid var(--border);border-radius:16px;background:#fff;font:inherit}.admin-form select{height:52px}.admin-form textarea{margin-bottom:18px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.pin-field{display:flex;gap:10px;align-items:center}.pin-field input{margin:0}.narrow-admin{max-width:900px}.admin-login-card{max-width:420px;margin:7vh auto}
@media(max-width:1000px){.new-access-grid{grid-template-columns:1fr}.detail-info-row{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.admin-shell{width:100%;min-height:100vh;padding:18px;border:0;border-radius:0}.admin-header{flex-direction:column}.admin-actions{width:100%}.admin-actions a{flex:1}.form-grid,.detail-info-row{grid-template-columns:1fr}.copy-row,.pin-field,.row-actions,.access-detail-actions,.detail-bottom-row{flex-direction:column;align-items:stretch}.compact-button{width:100%}.qr-drawer{width:150px;min-width:150px}}
.admin-status.upcoming {
    color: #0d47a1 !important;
    background-color: #eaf4ff !important;
    border: 1px solid #a9d0ff !important;
}

.admin-status.current {
    color: #1b5e20 !important;
    background-color: #eaf8ee !important;
    border: 1px solid #9bd3a8 !important;
}

.admin-status.expired {
    color: #8e0000 !important;
    background-color: #fdecec !important;
    border: 1px solid #f2a5a5 !important;
}

.admin-status.revoked {
    color: #8e0000 !important;
    background-color: #f8dada !important;
    border: 1px solid #e98f8f !important;
}

/* Vista móvil específica del panel de accesos */
.mobile-access-tools,.mobile-access-list{display:none}
@media(max-width:760px){
.admin-shell{width:100%;min-height:100vh;margin:0;padding:18px 14px 34px;border:0;border-radius:0;box-shadow:none}
.admin-header{flex-direction:column;gap:18px;margin-bottom:20px}.admin-header h1{margin-bottom:6px}
.admin-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:100%}.admin-actions .primary{grid-column:1/-1}.admin-actions .compact-button{width:100%;justify-content:center}
.desktop-access-view{display:none!important}.mobile-access-tools{display:grid;gap:14px;margin-bottom:16px}
.mobile-access-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.mobile-access-stats>div{display:grid;gap:2px;padding:12px 8px;border:1px solid var(--border);border-radius:15px;background:#fff;text-align:center}.mobile-access-stats strong{font-size:20px}.mobile-access-stats span{color:var(--muted);font-size:11px;font-weight:700}
.mobile-access-search{display:flex;align-items:center;gap:10px;padding:0 14px;border:1px solid var(--border);border-radius:16px;background:#fff}.mobile-access-search>span{color:var(--muted);font-size:22px}.mobile-access-search input{width:100%;margin:0;padding:14px 0;border:0;outline:0;background:transparent;font:inherit}
.mobile-access-filters{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}.mobile-access-filters::-webkit-scrollbar{display:none}.mobile-access-filters button{flex:0 0 auto;padding:9px 12px;border:1px solid var(--border);border-radius:999px;color:var(--primary);background:#fff;font:inherit;font-size:13px;font-weight:800}.mobile-access-filters button.active{color:#fff;border-color:var(--primary);background:var(--primary)}
.mobile-access-list{display:grid;gap:12px}.mobile-access-card{overflow:hidden;border:1px solid var(--border);border-radius:19px;background:#fff}.mobile-access-card[hidden]{display:none!important}
.mobile-access-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:17px 17px 10px}.mobile-access-card-header h2{margin:0 0 4px;font-size:20px}.mobile-access-card-header p{margin:0;color:var(--muted);line-height:1.35}.mobile-access-card-header .admin-status{flex:0 0 auto}
.mobile-access-card-data{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0;padding:8px 17px 16px}.mobile-access-card-data>div:last-child{grid-column:1/-1}.mobile-access-card-data dt,.mobile-access-extra dt{margin-bottom:3px;color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.mobile-access-card-data dd,.mobile-access-extra dd{margin:0;overflow-wrap:anywhere}.mobile-access-card-data>div:last-child dd{font-size:20px;font-weight:800;letter-spacing:.04em}
.mobile-access-card-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:0 17px 17px}.mobile-access-card-actions .compact-button{width:100%;justify-content:center}
.mobile-access-detail{display:grid;gap:15px;padding:17px;border-top:1px solid var(--border);background:#fbf8f3}.mobile-access-detail[hidden]{display:none!important}
.mobile-access-link .copy-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.mobile-access-link input{width:100%;min-width:0;margin:0;padding:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}.mobile-access-link .copy-button{width:auto;min-width:78px;padding-inline:13px}
.mobile-access-extra{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0}.mobile-access-extra>div{min-width:0;padding:12px;border:1px solid var(--border);border-radius:14px;background:#fff}
.mobile-access-detail-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.mobile-access-detail-actions form{margin:0}.mobile-access-detail-actions .compact-button,.mobile-access-detail-actions form,.mobile-access-detail-actions form button{width:100%;justify-content:center}.mobile-access-detail-actions form:last-child{grid-column:1/-1}
.mobile-qr-drawer{width:150px;min-width:150px;margin:0 auto}.new-access-summary{padding:18px}.new-access-grid{grid-template-columns:1fr}.new-access-summary .copy-row{display:grid;grid-template-columns:minmax(0,1fr) auto}.new-access-summary .copy-row input{min-width:0}.new-access-summary .copy-button{width:auto}
}
@media(max-width:390px){.mobile-access-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.mobile-access-extra,.mobile-access-detail-actions{grid-template-columns:1fr}.mobile-access-detail-actions form:last-child{grid-column:auto}}
.delete-button {
    color: #8e0000;
    border-color: #e8a3a3;
    background: #fdecec;
}

.delete-button:hover {
    background: #f8dada;
}

@media (max-width: 760px) {
    .mobile-access-detail-actions
    form:has(.delete-button) {
        grid-column: 1 / -1;
    }
}

@media (max-width: 390px) {
    .mobile-access-detail-actions
    form:has(.delete-button) {
        grid-column: auto;
    }
}
