.admin-body{background:var(--gray-100)}
.auth-screen{min-height:100vh;display:grid;place-items:center;padding:1rem;background:linear-gradient(rgba(7,25,15,.85),rgba(7,25,15,.85)),var(--bg) center/cover}
.auth-card{background:var(--white);border-radius:18px;padding:2.2rem;width:min(420px,100%);box-shadow:var(--shadow-lg)}
.auth-card .logo{margin-bottom:1.5rem;color:var(--green-900)}
.auth-card h2{font-size:1.5rem;margin-bottom:.5rem}
.auth-card .muted{margin-bottom:1rem;font-size:.9rem}
.admin-app{display:grid;grid-template-columns:240px 1fr;min-height:100vh}
.admin-side{background:var(--green-900);color:var(--white);padding:1.5rem 1rem;display:flex;flex-direction:column;gap:2rem;position:sticky;top:0;height:100vh}
.admin-nav{display:flex;flex-direction:column;gap:.3rem;flex:1}
.admin-nav button{background:none;border:0;color:#c4d1c9;text-align:left;padding:.7rem 1rem;border-radius:10px;font:600 .92rem var(--font);cursor:pointer}
.admin-nav button:hover{background:rgba(255,255,255,.06);color:#fff}
.admin-nav button.active{background:var(--green-700);color:#fff}
.admin-main{padding:2rem clamp(1rem,3vw,3rem);overflow-x:hidden}
.admin-main h1{font-size:1.7rem;margin-bottom:1.5rem}
.admin-main h2{font-size:1.2rem;margin:2rem 0 1rem}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem}
.kpi{background:var(--white);border-radius:var(--radius);padding:1.3rem;box-shadow:var(--shadow)}
.kpi span{font-size:.8rem;color:var(--gray-500);text-transform:uppercase;letter-spacing:.06em}
.kpi strong{display:block;font-size:1.9rem;color:var(--green-800)}
.filters{display:flex;flex-wrap:wrap;gap:.8rem;align-items:flex-end;background:var(--white);padding:1rem;border-radius:var(--radius);margin-bottom:1rem;box-shadow:var(--shadow)}
.filters label{display:flex;flex-direction:column;gap:.3rem;font-size:.78rem;min-width:140px;flex:1}
.filters input,.filters select{padding:.55rem .7rem;font-size:.88rem}
.table-wrap{background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow);overflow-x:auto}
table{width:100%;border-collapse:collapse;font-size:.88rem}
th,td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid #edf0ee;white-space:nowrap}
th{background:#f7f9f8;font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--gray-500)}
td .btn{padding:.35rem .8rem;font-size:.78rem}
.st{font-size:.72rem;font-weight:700;padding:.2rem .6rem;border-radius:999px;text-transform:uppercase}
.st-active{background:var(--green-100);color:var(--green-800)} .st-cancelled{background:#fdecea;color:var(--red)} .st-finished{background:#e8edf0;color:#36474f}
.st-warn{background:#fff4e5;color:#7a4d00}
.empty{padding:2rem;text-align:center;color:var(--gray-500)}
.config-form{display:grid;gap:1.2rem;max-width:720px}
.config-form fieldset{border:0;background:var(--white);border-radius:var(--radius);padding:1.4rem;box-shadow:var(--shadow);display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}
.config-form legend{font-weight:800;color:var(--green-800);padding-top:1rem;float:left;width:100%}
.config-form label{display:flex;flex-direction:column;gap:.3rem}
@media (max-width:820px){
  .admin-app{grid-template-columns:1fr}
  .admin-side{position:static;height:auto;flex-direction:row;flex-wrap:wrap;align-items:center;gap:1rem}
  .admin-nav{flex-direction:row;overflow-x:auto;flex-basis:100%;order:3}
  .admin-nav button{white-space:nowrap}
}


/* Mantenimiento */
.maintenance-intro{color:var(--gray-500);margin:-.7rem 0 1.4rem}
.maintenance-card{max-width:900px;background:var(--white);border-radius:var(--radius);padding:clamp(1.2rem,3vw,2rem);box-shadow:var(--shadow);border:1px solid #e3e8e5}
.maintenance-card-head{display:flex;align-items:flex-start;gap:1rem}
.maintenance-icon{display:grid;place-items:center;flex:0 0 48px;height:48px;border-radius:14px;background:var(--green-100);color:var(--green-800);font-size:1.8rem;font-weight:700}
.maintenance-card h2{margin:0 0 .45rem;font-size:1.25rem;color:var(--green-900)}
.maintenance-card-head p{color:var(--gray-500);max-width:65ch}
.maintenance-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1.5rem 0}
.maintenance-details>div{background:var(--gray-100);border-radius:12px;padding:1rem}
.maintenance-details strong{display:block;color:var(--green-800);margin-bottom:.35rem}
.maintenance-details p{font-size:.9rem;color:var(--gray-700)}
.maintenance-warning{border-left:4px solid var(--amber);background:#fff8eb;border-radius:0 10px 10px 0;color:#67420c;padding:.9rem 1rem;font-size:.88rem}
.maintenance-actions{display:flex;justify-content:flex-end;margin-top:1.3rem}
#reset-records:disabled{opacity:.6;cursor:wait}
@media(max-width:620px){.maintenance-details{grid-template-columns:1fr}.maintenance-actions .btn{width:100%}}
