:root{--nav:#152737;--ink:#10253a;--muted:#718096;--bg:#f3f6f9;--line:#dbe3ea;--green:#0c8f72;--amber:#d99400;--red:#c43d3d;--blue:#1677b8}*{box-sizing:border-box}body{margin:0;font-family:Segoe UI,Arial,sans-serif;background:var(--bg);color:var(--ink)}a{text-decoration:none;color:inherit}.shell{display:grid;grid-template-columns:235px 1fr;min-height:100vh}.side{background:var(--nav);color:#fff;padding:22px 14px;position:sticky;top:0;height:100vh;overflow:auto}.brand{font-size:23px;font-weight:800}.brand small{display:block;color:#6ee7c8;letter-spacing:2px;font-size:11px}.version{font-size:10px;color:#9fb0bf;margin:6px 0 20px}.navgroup{font-size:10px;color:#8fa2b2;text-transform:uppercase;letter-spacing:1.4px;margin:18px 9px 7px}.side a{display:block;padding:9px 10px;border-radius:8px;font-size:13px;margin:2px 0}.side a:hover{background:#223a4e}.main{min-width:0}.top{height:72px;background:white;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 28px;position:sticky;top:0;z-index:5}.top strong{font-size:17px}.top small{display:block;color:var(--muted);margin-top:3px}.content{padding:28px;max-width:1500px;margin:auto}.hero{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:22px}.hero h1{margin:0;font-size:27px}.hero p{margin:6px 0 0;color:var(--muted)}.btn{display:inline-block;border:0;border-radius:8px;padding:10px 15px;background:var(--green);color:#fff;font-weight:650;cursor:pointer}.btn.secondary{background:#fff;color:var(--ink);border:1px solid var(--line)}.btn.danger{background:var(--red)}.btn.warn{background:var(--amber)}.cards{display:grid;grid-template-columns:repeat(5,minmax(140px,1fr));gap:14px;margin:18px 0}.card,.panel{background:#fff;border:1px solid var(--line);border-radius:13px;padding:18px}.card b{font-size:24px;display:block}.card span{font-size:12px;color:var(--muted)}.quick{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.quick a{background:#fff;border:1px solid var(--line);border-radius:13px;padding:18px;min-height:100px}.quick b{display:block;margin:8px 0 4px}.quick small{color:var(--muted)}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.warning{background:#fff6dc;border:1px solid #efd48c;padding:12px 15px;border-radius:9px;margin:12px 0}.ok{background:#eaf8f3;border:1px solid #b8e5d6;padding:12px 15px;border-radius:9px}.flash{padding:12px;border-radius:8px;margin-bottom:12px;background:#fff;border:1px solid var(--line)}table{width:100%;border-collapse:collapse;background:#fff}th,td{padding:11px 10px;border-bottom:1px solid #e8edf2;text-align:left;font-size:13px}th{font-size:11px;text-transform:uppercase;color:#607286;background:#f8fafb}.tablewrap{overflow:auto;border:1px solid var(--line);border-radius:12px}.pill{display:inline-block;padding:4px 8px;border-radius:999px;font-size:11px;background:#eaf1f6}.pill.green{background:#dff5ed;color:#08745c}.pill.red{background:#fde8e8;color:#a62e2e}.pill.amber{background:#fff1ce;color:#916100}form.row{display:flex;gap:10px;flex-wrap:wrap;align-items:end}.field{display:flex;flex-direction:column;gap:5px;min-width:150px;flex:1}.field label{font-size:11px;color:#607286;font-weight:700}.field input,.field select,.field textarea,input,select,textarea{border:1px solid #ccd7e0;border-radius:7px;padding:9px;font:inherit;background:white}.tabs{display:flex;gap:7px;flex-wrap:wrap;margin:14px 0}.tabs a{padding:8px 11px;background:white;border:1px solid var(--line);border-radius:8px;font-size:12px}.owner-shell{min-height:100vh}.owner-head{background:#15374a;color:white;padding:18px 26px;display:flex;justify-content:space-between;align-items:center}.owner-brand b{font-size:20px}.owner-brand small{display:block;color:#74e0c7;letter-spacing:1px}.owner-user{display:flex;align-items:center;gap:12px}.avatar{width:46px;height:46px;border-radius:50%;object-fit:cover;background:#dfe8ef}.owner-content{padding:25px;max-width:1200px;margin:auto}.contract-card{background:white;border:1px solid var(--line);border-radius:14px;padding:18px;margin:12px 0;display:flex;justify-content:space-between;align-items:center}.metricbar{height:9px;background:#e7edf2;border-radius:10px;overflow:hidden;margin-top:9px}.metricbar i{display:block;height:100%;background:var(--green)}@media(max-width:1000px){.shell{grid-template-columns:1fr}.side{position:relative;height:auto}.cards{grid-template-columns:repeat(2,1fr)}.quick,.grid2,.grid3{grid-template-columns:1fr}.top{position:relative}}
.owner-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px;margin:12px 0 20px}.owner-card{display:flex;gap:12px;align-items:center;border:1px solid #e2e8f0;border-radius:14px;padding:14px;background:#fff}.owner-card>div{display:flex;flex-direction:column;gap:3px}.owner-card form{margin-left:auto}.thumb-lg{width:72px;height:72px;object-fit:cover;border-radius:12px}.avatar.small{width:72px;height:72px;font-size:12px}.profile-head{margin-bottom:18px}.section-actions{display:flex;gap:10px;flex-wrap:wrap}.subtle{color:#64748b}.device-brand{font-weight:700}.statusline{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
/* ORDEN ADMIN + PORTAL */
.searchbar{display:flex;gap:10px;margin:0 0 18px}.searchbar input{min-width:320px}.btn.sm{padding:7px 10px;font-size:12px}.profile-summary{display:grid;grid-template-columns:150px 1fr;gap:24px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px;margin-bottom:16px}.profile-photo{width:130px;height:150px;object-fit:cover;border-radius:14px;background:#e7edf2}.profile-photo.placeholder{display:flex;align-items:center;justify-content:center;color:var(--muted)}.profile-data h2{margin-top:0}.info-grid{display:grid;grid-template-columns:repeat(2,minmax(180px,1fr));gap:14px}.info-grid.cols3{grid-template-columns:repeat(3,minmax(160px,1fr))}.info-grid div{display:flex;flex-direction:column;gap:4px}.info-grid small,.section-title p{color:var(--muted)}.info-grid .wide{grid-column:1/-1}.sticky-tabs{position:sticky;top:78px;z-index:4;background:var(--bg);padding:8px 0}.panel{margin:16px 0}.section-title{display:flex;justify-content:space-between;align-items:end;gap:15px;margin-bottom:14px}.section-title h2,.section-title p{margin:0}.section-title p{margin-top:4px}.upload-row,.rowform{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin-top:18px}.upload-row label,.rowform label{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:600}.contract-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}.mini-contract,.owner-contract-card{display:flex;flex-direction:column;gap:5px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px}.mini-contract h3,.owner-contract-card h2{margin:2px 0}.mini-contract strong{margin-top:10px}.owner-body{background:#eef3f6}.owner-head{position:sticky;top:0;z-index:10}.owner-user small{display:block;color:#b8d0dc}.admin-return{background:#e9a52b}.owner-nav{display:flex;gap:8px;padding:10px 26px;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:82px;z-index:9}.owner-nav a{padding:8px 12px;border-radius:8px}.owner-nav a:hover{background:#eef4f7}.owner-welcome{background:linear-gradient(120deg,#15374a,#1d5c6e);color:#fff;border-radius:20px;padding:28px;display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.owner-welcome h1{font-size:32px;margin:3px 0}.owner-welcome p{margin:5px 0;color:#d5e5eb}.welcome-photo{width:110px;height:110px;border-radius:18px;object-fit:cover;border:3px solid rgba(255,255,255,.5)}.owner-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.owner-metric{background:#fff;border:1px solid var(--line);border-radius:15px;padding:18px;display:flex;flex-direction:column;gap:5px}.owner-metric b{font-size:23px}.owner-metric small,.owner-metric span{color:var(--muted)}.owner-actions{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin:18px 0}.owner-actions a{background:#fff;border:1px solid var(--line);border-radius:15px;padding:17px;display:flex;flex-direction:column;gap:5px}.owner-actions a.accent{background:#0c8f72;color:#fff}.owner-actions span{font-size:23px}.owner-actions small{color:var(--muted)}.owner-actions .accent small{color:#d7fff4}.owner-section{margin:24px 0}.owner-contract-card{flex-direction:row;justify-content:space-between;align-items:center}.contract-balance{text-align:right;display:flex;flex-direction:column;gap:4px}.payment-panel{background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px;margin:18px 0}.pay-form{display:flex;gap:12px;align-items:end;margin:15px 0}.pay-form label{display:flex;flex-direction:column;gap:5px}.gridform{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:14px}.gridform label{display:flex;flex-direction:column;gap:5px}.gridform .check{flex-direction:row;align-items:center}.empty{padding:20px;color:var(--muted);background:#fff;border:1px dashed var(--line);border-radius:12px}@media(max-width:900px){.profile-summary{grid-template-columns:1fr}.info-grid,.info-grid.cols3,.owner-metrics,.owner-actions,.gridform{grid-template-columns:1fr}.owner-user{flex-wrap:wrap}.owner-contract-card{align-items:flex-start}.owner-head{position:relative}.owner-nav{top:0}.sticky-tabs{top:0}}
.tabs a.active{background:var(--green);color:#fff;border-color:var(--green);font-weight:700}.country-select{min-width:190px;max-width:260px}.phone{display:flex;gap:7px}.phone input{min-width:130px;flex:1}.compact-actions{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.balance-hero{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px 20px;display:flex;flex-direction:column;text-align:right}.balance-hero b{font-size:24px}.balance-hero small{color:var(--muted)}@media(max-width:700px){.owner-nav{overflow-x:auto;white-space:nowrap;padding:8px 12px}.owner-nav a{flex:0 0 auto}.phone{flex-direction:column}.country-select{max-width:none;width:100%}}

/* Navegacion funcional ficha/portal */
.metric-link{cursor:pointer;transition:transform .12s ease,box-shadow .12s ease}.metric-link:hover,.owner-actions a:hover{transform:translateY(-2px);box-shadow:0 7px 18px rgba(16,37,58,.10)}.tabs a.active{pointer-events:none}.doc-status{display:flex;gap:20px;flex-wrap:wrap;margin:16px 0}.owner-actions a{cursor:pointer}

/* BIOCONTROL CONDOMINIOS · ACCESO 2026 */
.access-body{min-height:100vh;background:#eef3f6}.access-shell{min-height:100vh;display:grid;grid-template-columns:minmax(420px,1.15fr) minmax(420px,.85fr)}.access-hero{position:relative;overflow:hidden;padding:48px 7vw;color:#fff;background:radial-gradient(circle at 15% 20%,rgba(31,191,153,.22),transparent 34%),radial-gradient(circle at 90% 85%,rgba(36,126,160,.30),transparent 35%),linear-gradient(145deg,#10293a,#163f50 58%,#0b665c)}.access-hero:after{content:"";position:absolute;width:430px;height:430px;border:1px solid rgba(255,255,255,.10);border-radius:50%;right:-180px;top:18%;box-shadow:0 0 0 70px rgba(255,255,255,.025),0 0 0 140px rgba(255,255,255,.018)}.access-brand{display:flex;gap:13px;align-items:center;position:relative;z-index:1}.access-mark{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:#16a987;font-weight:900;box-shadow:0 12px 28px rgba(0,0,0,.2)}.access-brand b{display:block;font-size:25px}.access-brand small,.mobile-brand small{display:block;letter-spacing:2.5px;color:#83e8d1;font-size:10px;font-weight:800}.access-copy{position:relative;z-index:1;max-width:650px;margin-top:18vh}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:800;color:#7ce2cb}.eyebrow.dark{color:#0c8f72}.access-copy h1{font-size:clamp(42px,5vw,72px);line-height:1.02;margin:16px 0 20px;letter-spacing:-2px}.access-copy p{font-size:18px;line-height:1.6;color:#cce0e7;max-width:590px}.access-features{display:flex;gap:10px;flex-wrap:wrap;margin-top:30px}.access-features span{padding:9px 12px;border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.07);border-radius:999px;font-size:12px}.access-foot{position:absolute;bottom:35px;left:7vw;color:#9bbbc4;font-size:12px}.access-panel{display:grid;place-items:center;padding:42px;background:linear-gradient(145deg,#f7fafb,#e9f0f3)}.access-card{width:min(430px,100%);background:#fff;border:1px solid #dbe5ea;border-radius:24px;padding:42px;box-shadow:0 24px 65px rgba(15,43,58,.12)}.mobile-brand{display:none;font-weight:800;font-size:22px;margin-bottom:30px}.access-card h2{font-size:34px;margin:9px 0 5px}.access-sub{color:#718096;margin:0 0 28px}.access-card label,.password-form label{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:750;color:#43566a;margin:15px 0}.input-icon{position:relative;display:flex;align-items:center}.input-icon>span{position:absolute;left:14px;color:#93a4b2;font-size:9px}.input-icon input{width:100%;padding:13px 52px 13px 34px;border-radius:11px;border:1px solid #cad7df;background:#f9fbfc;outline:none}.input-icon input:focus,.password-form input:focus{border-color:#0c8f72;box-shadow:0 0 0 3px rgba(12,143,114,.10)}.eye-btn{position:absolute;right:8px;border:0;background:transparent;color:#0c8f72;font-weight:750;cursor:pointer}.access-submit{width:100%;margin-top:13px;padding:14px 17px;border:0;border-radius:11px;background:linear-gradient(135deg,#0c8f72,#08735f);color:#fff;font-size:14px;font-weight:800;display:flex;justify-content:space-between;cursor:pointer;box-shadow:0 10px 24px rgba(12,143,114,.20)}.access-help{font-size:11px;line-height:1.5;text-align:center;color:#82919e;margin-top:22px}.login-alert{padding:11px 13px;border-radius:9px;background:#fff5e8;border:1px solid #f0d2a6;color:#7e581c;margin:12px 0;font-size:12px}.login-alert.success{background:#eaf8f3;border-color:#b8e5d6;color:#08745c}.password-page{max-width:760px;margin:30px auto}.password-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:34px;box-shadow:0 15px 40px rgba(16,37,58,.07)}.password-icon{width:52px;height:52px;border-radius:15px;background:#e7f7f2;color:#0c8f72;display:grid;place-items:center;font-size:27px;margin-bottom:18px}.password-card h1{margin:8px 0}.password-card>p{color:var(--muted)}.password-form{max-width:520px;margin-top:25px}.password-form input{padding:12px;border-radius:10px}.password-form small{color:var(--muted);font-weight:400}.password-actions{display:flex;gap:10px;margin-top:22px}.top>div:last-child{font-weight:650}.mobile-brand{color:#15374a}@media(max-width:900px){.access-shell{grid-template-columns:1fr}.access-hero{display:none}.access-panel{min-height:100vh;padding:22px}.access-card{padding:30px 24px}.mobile-brand{display:block}.password-page{margin:10px auto}.password-card{padding:24px}.password-actions{flex-direction:column}}

/* =========================================================
   BIOCONTROL - TAMANO CONTROLADO DE FOTOS DE PERSONAS
   ========================================================= */

img.thumb,
.thumb {
    width: 80px !important;
    height: 80px !important;
    max-width: 80px !important;
    max-height: 80px !important;
    object-fit: cover !important;
    object-position: center !important;
    border-radius: 8px !important;
    display: block !important;
}

img.thumb-lg,
.thumb-lg {
    width: 120px !important;
    height: 120px !important;
    max-width: 120px !important;
    max-height: 120px !important;
    object-fit: cover !important;
    object-position: center !important;
    border-radius: 10px !important;
    display: block !important;
}

/* Ajustes V3: fichas con separacion visible y diseno adaptable */
#resumen .info-grid > div {display:flex;flex-direction:column;gap:7px;padding:12px;border:1px solid #e4ebf0;border-radius:9px;background:#f9fbfc;min-width:0;}
#resumen .info-grid small{display:block;color:#637587;font-size:12px;font-weight:600;}
#resumen .info-grid span{display:block;font-size:16px;overflow-wrap:anywhere;}
#propietarios .owner-card a{display:inline-block;margin-top:9px;color:#087b70;text-decoration:underline;}
#resumen,#propietarios,#documentos,#expensas,#pagos,#invitados,#historial,#transferencia{margin:18px 0 24px;}
@media(max-width:700px){#resumen .info-grid.cols3{grid-template-columns:1fr !important}.searchbar{flex-wrap:wrap}.searchbar input{min-width:0;width:100%}}

/* Identidad visual configurable por condominio (variables --bc-*) */
:root{--ma-azul:var(--bc-primario,#292e79);--ma-mar:var(--bc-secundario,#007f99)}.side{background:var(--bc-primario,#292e79)!important}.top{border-bottom:3px solid var(--bc-primario,#292e79)}.content{background:linear-gradient(rgba(246,250,253,.94),rgba(246,250,253,.96)),var(--bc-fondo,none) center/cover fixed}.panel,.card,.tablewrap{border-color:var(--bc-primario,#292e79)!important}.ma-progress{height:22px;background:#e5eaf0;border-radius:14px;overflow:hidden}.ma-progress span{height:100%;display:block;background:#1fa955}.ma-form{display:flex;flex-wrap:wrap;gap:12px}.ma-form label{display:flex;flex-direction:column;min-width:170px;flex:1}.ma-form input,.ma-form select,.ma-form textarea{padding:10px;border:1px solid #a7b3c4;border-radius:8px}.ma-form button{align-self:end}

/* Identidad visual: colores tomados de la marca del condominio */
:root{--nav:var(--bc-primario,#292e79);--green:var(--bc-secundario,#087f9b);--blue:var(--bc-primario,#292e79);--ink:#173b60;--ma-azul:var(--bc-primario,#292e79);--ma-mar:var(--bc-secundario,#058da7)}
.side{background:var(--bc-primario,#292e79)!important}.side a:hover{background:var(--bc-secundario,#3b469c)}.brand small{color:#b7e8f4}.top{border-bottom:3px solid var(--bc-primario,#292e79)}.top strong,.hero h1{color:var(--bc-primario,#292e79)}.btn,.access-submit{background:var(--bc-primario,#292e79)!important;color:white}.btn:hover,.access-submit:hover{background:var(--bc-secundario,#177f9d)!important}.pill.green{background:#e1f4f8;color:#165a7b}.card,.panel,.tablewrap{border-color:#cbd7ec!important}.owner-head{background:var(--bc-primario,#292e79)}.owner-content{background:linear-gradient(rgba(248,251,254,.95),rgba(248,251,254,.95)),var(--bc-fondo,none) center/cover fixed}.access-hero{background:linear-gradient(120deg,rgba(9,37,86,.72),transparent),var(--bc-portada) center/cover!important}.access-panel{background:linear-gradient(150deg,#edf6fa,#dce9f5)!important}.access-card{border-color:var(--bc-primario,#292e79)}.access-mark{background:var(--bc-primario,#292e79)}.access-brand small,.eyebrow,.access-copy p{color:#e0f5ff}.eyebrow.dark,.eye-btn{color:var(--bc-primario,#292e79)}.access-hero:after{display:none}.access-submit{box-shadow:0 10px 24px rgba(41,46,121,.2)}
/* Ajuste de columnas: código de propiedad sin ocupar todo el ancho */
.ma-people-table{table-layout:fixed;width:100%}.ma-people-table th:first-child,.ma-people-table td:first-child{width:210px;max-width:210px;overflow-wrap:anywhere}.ma-people-table th:nth-child(2),.ma-people-table td:nth-child(2){width:145px;overflow-wrap:anywhere}.ma-people-table td{vertical-align:middle}.ma-people-table td:first-child{font-size:12px}
/* Gráficos de empadronamiento */
.ma-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:24px}.ma-stat{background:white;border:1px solid #dce4ec;border-top:6px solid var(--stat);border-radius:12px;min-height:150px;position:relative;padding:24px 16px;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 6px 14px #153f5a16}.ma-stat strong{position:absolute;left:14px;top:10px;font-size:32px;color:var(--stat)}.ma-stat b{font-size:38px;color:#15283b}.ma-stat span{text-align:center;font-size:12px;font-weight:750;color:#29455e}.ma-green{--stat:#20a84b}.ma-red{--stat:#dc3345}.ma-cyan{--stat:#0c9eaf}.ma-yellow{--stat:#ffbe0b}.ma-enroll-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:24px}.ma-chart-panel{min-height:430px;text-align:center}.ma-chart-panel h2{font-size:20px;color:#183954}.ma-legend{display:flex;justify-content:center;gap:24px;font-size:12px;margin:25px 0}.ma-legend span:first-child{color:#20a84b}.ma-legend span:last-child{color:#dc3345}.ma-donut{width:min(310px,80%);aspect-ratio:1;border-radius:50%;background:conic-gradient(#20a84b 0 var(--avance),#dc3345 var(--avance) 100%);margin:35px auto;display:grid;place-items:center}.ma-donut div{width:57%;height:57%;border-radius:50%;background:white;display:grid;place-items:center;color:#173b60;font-size:27px;font-weight:800}.ma-right{display:flex;flex-direction:column;gap:16px}.ma-percent-panels{display:grid;grid-template-columns:1fr 1fr;gap:12px}.ma-percent{min-height:220px;border-radius:12px;color:white;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:15px;text-align:center}.ma-percent b{font-size:54px}.ma-percent span{font-size:14px}.ma-percent small{font-size:12px}.ma-percent-green{background:linear-gradient(130deg,#20a84b,#1dbb8d)}.ma-percent-red{background:linear-gradient(130deg,#dc3345,#bd1d34)}.ma-goal{background:linear-gradient(120deg,#1dc0c7,#0e95b7);color:white;border-radius:12px;flex:1;min-height:170px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:22px}.ma-goal b{font-size:52px}.ma-goal span{font-size:15px}.ma-goal .ma-progress{width:90%;background:#ffffff60}.ma-goal .ma-progress i{display:block;height:100%;background:#fff;border-radius:14px}
@media(max-width:1100px){.ma-stats{grid-template-columns:repeat(2,1fr)}.ma-enroll-grid{grid-template-columns:1fr}}@media(max-width:600px){.ma-percent-panels{grid-template-columns:1fr}.ma-stats{grid-template-columns:1fr 1fr}.ma-stat b{font-size:28px}}


/* BioControl Condominios - administracion movil */
#bc-mobile-menu-toggle,
.bc-mobile-close,
.bc-mobile-overlay {
    display: none;
}

@media (max-width: 768px) {
    body .shell {
        display: block !important;
        width: 100% !important;
        min-height: 100vh;
    }

    body .side {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        bottom: 0 !important;
        width: min(82vw, 310px) !important;
        height: 100dvh !important;
        overflow-y: auto !important;
        transform: translateX(-105%) !important;
        transition: transform .25s ease !important;
        z-index: 1002 !important;
    }

    body.bc-menu-open .side {
        transform: translateX(0) !important;
    }

    body .main {
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        padding: 0 !important;
    }

    #bc-mobile-menu-toggle {
        display: block !important;
        position: sticky;
        top: 0;
        z-index: 900;
        width: 100%;
        padding: 14px 18px;
        background: #283475;
        color: white;
        border: 0;
        text-align: left;
        font-size: 17px;
        font-weight: bold;
    }

    .bc-mobile-close {
        display: block !important;
        width: 100%;
        padding: 12px;
        background: rgba(255,255,255,.12);
        color: white;
        border: 0;
        text-align: left;
        font-size: 16px;
    }

    body.bc-menu-open .bc-mobile-overlay {
        display: block;
        position: fixed;
        inset: 0;
        background: rgba(0,0,0,.45);
        z-index: 1001;
    }

    body .top,
    body .content {
        min-width: 0 !important;
        max-width: 100% !important;
        box-sizing: border-box;
    }

    body .top {
        flex-wrap: wrap !important;
        gap: 12px;
    }

    body .cards,
    body .grid2 {
        grid-template-columns: repeat(1,minmax(0,1fr)) !important;
    }

    body .tablewrap {
        overflow-x: auto !important;
        max-width: 100%;
    }
}


/* BIOCONTROL_BOTONES_TEXTO_BLANCO */

/* Botones de acciones */
button,
button[type="submit"],
button[type="button"],
input[type="submit"],
input[type="button"],
.btn,
a.btn {
    color: #ffffff !important;
    font-weight: 600;
}

/* Mantener texto blanco al pasar el mouse */
button:hover,
input[type="submit"]:hover,
input[type="button"]:hover,
.btn:hover,
a.btn:hover {
    color: #ffffff !important;
}

/* Iconos y textos dentro de botones */
button *,
.btn *,
a.btn * {
    color: inherit !important;
}

/* Botones deshabilitados */
button:disabled,
input[type="submit"]:disabled,
.btn:disabled {
    opacity: 0.55;
    cursor: not-allowed;
}
