:root{
  --verde:#0d6b57;--verde2:#083f35;--verde3:#159374;--verde-claro:#e7f5ef;
  --fondo:#f4f8f6;--texto:#20332d;--muted:#6d7d76;--borde:#dbe8e2;--blanco:#fff;
  --rojo:#b42318;--sombra:0 14px 40px rgba(17,55,45,.09);--radio:18px
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,Segoe UI,Roboto,Arial,sans-serif;color:var(--texto);background:radial-gradient(circle at top left,#e8f5f0 0,transparent 32%),linear-gradient(135deg,#f3f8f6,#fbfcfb 55%,#eef6f2);line-height:1.5}
a{color:var(--verde);text-decoration:none;transition:.18s ease}
a:hover{color:var(--verde3);text-decoration:none}
.admin-shell{width:min(1220px,calc(100% - 34px));margin:34px auto 64px}
.admin-header{position:relative;overflow:hidden;display:flex;justify-content:space-between;gap:28px;align-items:center;padding:32px 34px;margin-bottom:24px;color:#fff;background:linear-gradient(135deg,#073d34 0%,#0d6b57 62%,#159374 100%);border-radius:24px;box-shadow:0 20px 48px rgba(8,63,53,.2)}
.admin-header:after{content:"";position:absolute;width:260px;height:260px;border:45px solid rgba(255,255,255,.06);border-radius:50%;right:-80px;top:-120px}
.admin-header>div,.admin-header>a{position:relative;z-index:1}
.admin-header h1{margin:5px 0 4px;font-size:clamp(26px,3vw,34px);line-height:1.15;letter-spacing:-.5px}
.admin-header p{margin:0;color:rgba(255,255,255,.82);font-size:14px}
.admin-kicker{display:inline-block;font-size:11px;font-weight:900;letter-spacing:2.4px;color:#bfe9db}
.header-actions{display:flex;align-items:center;gap:12px;position:relative;z-index:2}.admin-user{white-space:nowrap;font-size:14px;font-weight:700;color:#eaf8f4}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:0;border-radius:12px;padding:12px 18px;background:linear-gradient(135deg,var(--verde),var(--verde3));color:#fff;font-weight:800;cursor:pointer;text-decoration:none;box-shadow:0 7px 18px rgba(13,107,87,.16);transition:transform .18s,box-shadow .18s,filter .18s}
.btn:hover{color:#fff;text-decoration:none;transform:translateY(-1px);box-shadow:0 10px 24px rgba(13,107,87,.2);filter:brightness(1.03)}
.btn-light{background:#fff;color:var(--verde2);box-shadow:0 6px 18px rgba(0,0,0,.08)}.btn-light:hover{color:var(--verde2)}
.btn-secondary{background:#edf3f0;color:var(--verde2);box-shadow:none}.btn-secondary:hover{color:var(--verde2);background:#e1ece7}
.dashboard-bar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:24px 0 16px;padding:4px 2px}.dashboard-bar h2{margin:0;font-size:22px;letter-spacing:-.2px}.dashboard-bar p{margin:5px 0 0;color:var(--muted);font-size:14px}
.admin-table-wrap,.admin-card{background:rgba(255,255,255,.96);border:1px solid var(--borde);border-radius:var(--radio);box-shadow:var(--sombra)}
.admin-table-wrap{overflow:auto}.admin-table{width:100%;border-collapse:separate;border-spacing:0;min-width:920px}.admin-table th{position:sticky;top:0;background:#edf6f2;text-align:left;font-size:12px;text-transform:uppercase;letter-spacing:.65px;color:#466057;padding:15px 16px;border-bottom:1px solid var(--borde)}
.admin-table th:first-child{border-radius:18px 0 0 0}.admin-table th:last-child{border-radius:0 18px 0 0}.admin-table td{padding:16px;border-top:1px solid #e8efec;vertical-align:middle;font-size:14px}.admin-table tbody tr{transition:background .15s}.admin-table tbody tr:hover{background:#f8fbfa}.admin-table td small{display:block;color:var(--muted);margin-top:5px;line-height:1.45}
.thumb{width:76px;height:60px;object-fit:cover;border-radius:11px;display:block;border:1px solid #dce9e4;box-shadow:0 3px 10px rgba(0,0,0,.06)}.no-photo{display:grid;place-items:center;width:76px;height:60px;color:#88958f;font-size:11px;background:#f4f7f5;border:1px dashed #ccd9d4;border-radius:11px;text-align:center}
.tags{display:flex;flex-wrap:wrap;gap:6px}.tag{display:inline-flex;align-items:center;background:var(--verde-claro);color:var(--verde2);padding:6px 9px;border:1px solid #cde9de;border-radius:999px;font-size:11px;font-weight:800}.actions{display:flex;gap:9px;white-space:nowrap}.actions a{padding:7px 10px;border-radius:9px;background:#eef6f3;font-weight:800;font-size:12px}.actions a:hover{background:#dceee7}.actions .danger-link{color:var(--rojo);background:#fff1ef}.actions .danger-link:hover{background:#ffe2de}
.alert{padding:14px 16px;border-radius:12px;margin-bottom:18px;font-size:14px;font-weight:650}.success{background:#e8f8ee;color:#17633b;border:1px solid #c7ead5}.error{background:#fff0ef;color:var(--rojo);border:1px solid #ffd4cf}
.empty-state{text-align:center;padding:76px 20px;background:#fff;border:1px solid var(--borde);border-radius:18px;box-shadow:var(--sombra)}.empty-state div{font-size:46px;margin-bottom:8px}.empty-state h3{margin:0 0 4px}.empty-state p{margin:0;color:var(--muted)}
.admin-card{padding:30px}.admin-form{max-width:100%}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.field{display:flex;flex-direction:column;gap:7px}.field.full{grid-column:1/-1}.field label,.section-picker h2{font-weight:850;color:#263c35}.field input,.field select,.field textarea{width:100%;font:inherit;padding:13px 14px;border:1px solid #ccdcd5;border-radius:11px;background:#fff;color:var(--texto);outline:none;transition:border-color .18s,box-shadow .18s,background .18s}.field textarea{resize:vertical;min-height:125px}.field input::placeholder,.field textarea::placeholder{color:#9aa9a3}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--verde);box-shadow:0 0 0 4px rgba(13,107,87,.09);background:#fcfffd}.hint{font-size:12px;color:var(--muted)}
.section-picker{margin:28px 0;padding:24px;border-radius:17px;background:linear-gradient(135deg,#f1faf6,#f8fbfa);border:1px solid #d8ebe4}.section-picker h2{margin:0 0 5px;font-size:19px}.section-picker p{margin:0 0 18px;color:var(--muted);font-size:13px}.check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.check-card{display:flex;gap:12px;align-items:flex-start;padding:16px;border:1px solid #d3e4dd;background:#fff;border-radius:13px;cursor:pointer;transition:.18s ease;box-shadow:0 3px 12px rgba(25,70,58,.03)}.check-card:hover{border-color:#93cdb9;transform:translateY(-1px);box-shadow:0 8px 20px rgba(25,70,58,.07)}.check-card:has(input:checked){border-color:var(--verde);background:#f4fbf8;box-shadow:0 0 0 2px rgba(13,107,87,.08)}.check-card input{margin-top:4px;accent-color:var(--verde);width:18px;height:18px}.check-card span{display:flex;flex-direction:column}.check-card small{color:var(--muted);margin-top:3px}
.current-photo{display:flex;align-items:center;gap:18px;padding:14px;margin:8px 0 20px;background:#f7faf8;border:1px solid #e0ebe6;border-radius:12px}.current-photo img{width:130px;height:95px;object-fit:cover;border-radius:10px}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:28px;padding-top:20px;border-top:1px solid #e8efec}
.login{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 15% 10%,#dcefe8 0,transparent 32%),linear-gradient(135deg,#edf6f2,#fafcfb)}.login-box{width:min(410px,100%);padding:38px;background:rgba(255,255,255,.98);border:1px solid var(--borde);border-radius:24px;box-shadow:0 24px 70px rgba(10,79,67,.15)}.login-box:before{content:"VIVE ALTAMIRA";display:block;color:var(--verde);font-size:11px;font-weight:900;letter-spacing:2.5px;margin-bottom:8px}.login-box h1{color:var(--verde2);margin:0;font-size:30px}.login-box h2{margin:4px 0 27px;color:#52655e;font-size:18px}.login-box form{display:flex;flex-direction:column;gap:8px}.login-box label{font-weight:800;font-size:13px}.login-box input{padding:13px;border:1px solid #ccdcd5;border-radius:11px;font:inherit;margin-bottom:9px;outline:none}.login-box input:focus{border-color:var(--verde);box-shadow:0 0 0 4px rgba(13,107,87,.09)}.login-box button{border:0;width:100%;margin-top:5px}
.empresa-vacia{grid-column:1/-1;display:flex;flex-direction:column;align-items:center;gap:6px;padding:45px 20px;background:#fff;border-radius:15px;box-shadow:0 8px 25px rgba(0,0,0,.06);color:var(--muted)}.empresa-vacia strong{color:#263d35;font-size:18px}.empresa-vacia .btn-volver{margin-top:12px}.detalle-empresa{width:min(1000px,calc(100% - 30px));margin:35px auto}.detalle-card{display:grid;grid-template-columns:minmax(280px,42%) 1fr;background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 12px 35px rgba(0,0,0,.08)}.detalle-foto{width:100%;height:100%;min-height:340px;object-fit:cover}.detalle-contenido{padding:34px}.detalle-contenido h2{font-size:32px;margin:0 0 15px}.detalle-datos{padding:18px;background:#f3f8f6;border-radius:12px;margin:20px 0}.detalle-datos p{margin:7px 0}.btn-volver{display:inline-flex;padding:11px 16px;border-radius:10px;background:var(--verde);color:#fff;font-weight:700}.btn-volver:hover{text-decoration:none;color:#fff}
@media(max-width:760px){.admin-shell{width:min(100% - 20px,1220px);margin:12px auto 30px}.admin-header,.dashboard-bar{flex-direction:column;align-items:flex-start}.header-actions{width:100%;justify-content:space-between}.form-grid,.check-grid,.detalle-card{grid-template-columns:1fr}.detalle-foto{min-height:220px}.admin-card{padding:18px}.admin-header{padding:24px}.admin-header h1{font-size:25px}.dashboard-bar{gap:13px}.dashboard-bar .btn{width:100%}.form-actions{flex-direction:column}.form-actions .btn{width:100%}}

/* Correcciones visuales del administrador */
.admin-body{min-height:100vh}
.admin-table .thumb{width:96px;height:72px;object-fit:cover;object-position:center;display:block;max-width:96px;max-height:72px}
.current-photo img{width:160px;height:105px;max-width:160px;max-height:105px;object-fit:cover;object-position:center;display:block}
.actions a{text-decoration:none!important}
@media(max-width:760px){.admin-table .thumb{width:82px;height:62px;max-width:82px;max-height:62px}.current-photo{flex-wrap:wrap}.current-photo img{width:140px;height:95px}}


.header-actions { flex-wrap: wrap; }
.header-actions a { text-decoration: none !important; }
