/* NunuMetria Cloud Admin Pro — responsive, sin dependencias externas */
:root{font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;color-scheme:dark;--bg:#171521;--surface:#242132;--surface2:#302a40;--text:#f6f3fb;--muted:#bdb2cb;--border:#40394f;--control:#1b1828;--accent:#895dc3;--danger:#b84962;--good:#3fc69a}
:root[data-theme="light"]{color-scheme:light;--bg:#f6f3fa;--surface:#fff;--surface2:#f0eaf7;--text:#292034;--muted:#62556d;--border:#dcd1e7;--control:#fff;--accent:#7549ae;--danger:#ae3f58;--good:#16865f}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}main{max-width:1540px;margin:auto;padding:20px 24px}button,input,select{font:inherit}button{border:0;border-radius:10px;background:var(--accent);color:white;padding:11px 16px;font-weight:650;cursor:pointer}button:hover{filter:brightness(1.12)}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid #d7adff;outline-offset:2px}.secondary{background:var(--surface2);color:var(--text);border:1px solid var(--border)}.danger{background:var(--danger)}[hidden]{display:none!important}.topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:10px 0 20px;border-bottom:1px solid var(--border)}.brand{display:flex;align-items:center;gap:12px}.brand strong{display:block;font-size:1.04rem}.brand strong span{color:var(--muted)}.brand small{display:block;color:var(--muted);font-size:.74rem;margin-top:3px}.top-actions{display:flex;align-items:center;gap:12px}.top-actions label{font-size:.82rem;color:var(--muted)}.top-actions select{margin-left:7px;width:auto}.login-layout{display:grid;grid-template-columns:1.2fr .8fr;gap:24px;margin:55px auto;max-width:1050px;align-items:stretch}.login-card,.login-illustration{background:var(--surface);border:1px solid var(--border);border-radius:22px;padding:36px}.login-card h1{font-size:clamp(1.7rem,3vw,2.5rem);max-width:520px;margin:10px 0}.login-card p{color:var(--muted);line-height:1.6}.eyebrow{color:var(--accent);font-size:.72rem;letter-spacing:.12em;font-weight:800}.login-card form{margin-top:25px}.login-card label{display:block;margin:15px 0;font-size:.88rem}.login-card input{display:block;width:100%;max-width:430px;margin-top:8px;padding:13px;background:var(--control);border:1px solid var(--border);border-radius:10px;color:var(--text)}.login-card form button{margin-top:12px}.hint{font-size:.81rem;color:var(--muted);line-height:1.55}.login-illustration{background:linear-gradient(135deg,#67429a,#9b6bd0);display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;text-align:center;overflow:hidden}.login-illustration img{height:280px;max-width:100%;object-fit:contain}.login-illustration strong{font-size:1.2rem}.login-illustration span{margin-top:9px;font-size:.85rem}.app-layout{display:grid;grid-template-columns:215px minmax(0,1fr);gap:24px;margin-top:25px}.sidebar{display:flex;flex-direction:column;gap:7px;align-self:start;position:sticky;top:20px}.nav-btn{background:transparent;color:var(--muted);text-align:left;padding:14px;border-radius:12px}.nav-btn.active{background:var(--surface2);color:var(--text);border-left:3px solid var(--accent)}.nav-btn span{margin-left:8px}.sidebar-note{font-size:.75rem;line-height:1.6;color:var(--muted);padding:20px 14px}.workspace{min-width:0}.workspace-header{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:23px}.workspace-header h1{font-size:clamp(1.6rem,2.7vw,2.25rem);margin:6px 0}.workspace-header p{color:var(--muted);margin:0;font-size:.9rem}.status-chip{font-size:.78rem;padding:10px 13px;border:1px solid var(--border);background:var(--surface);border-radius:99px;white-space:nowrap}.metrics-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.metric,.panel{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:20px}.metric span{font-size:.83rem;color:var(--muted)}.metric strong{font-size:clamp(1.35rem,2vw,1.9rem);display:block;margin:12px 0 7px;font-variant-numeric:tabular-nums}.metric small{color:var(--muted);font-size:.75rem;line-height:1.4}.meter{height:7px;background:var(--surface2);border-radius:9px;overflow:hidden;margin-top:15px}.meter i{display:block;height:100%;width:0;background:var(--accent);border-radius:9px}.two-col{display:grid;grid-template-columns:1.15fr .85fr;gap:16px;margin:16px 0}.panel{margin-bottom:16px}.panel-head{display:flex;align-items:start;justify-content:space-between;gap:12px}.panel h2{font-size:1.05rem;margin:0 0 6px}.panel h3{font-size:.95rem}.panel-head p{color:var(--muted);font-size:.82rem;margin:0 0 15px}.service-list{display:flex;flex-direction:column;gap:10px}.service-row,.audit-row{display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--surface2);border-radius:11px;padding:14px}.service-row strong,.audit-row strong{display:block;font-size:.9rem}.service-row small,.audit-row small{display:block;color:var(--muted);font-size:.74rem;margin-top:5px}.service-badge{font-size:.74rem;padding:6px 10px;border-radius:30px;background:#a671231c;color:#e6b265}.service-badge.ok{background:#27b88920;color:var(--good)}.quick-links{display:flex;flex-direction:column;gap:10px}.quick-links a{display:flex;justify-content:space-between;text-decoration:none;color:var(--text);padding:15px;background:var(--surface2);border-radius:11px;font-weight:650;font-size:.9rem}.quick-links a span{color:var(--accent)}.empty-state{text-align:center;padding:30px 16px;background:var(--surface2);border-radius:13px;margin-top:14px}.empty-state strong{display:block}.empty-state p{color:var(--muted);font-size:.85rem;max-width:570px;margin:12px auto 0;line-height:1.6}.placeholder-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.placeholder-grid div{background:var(--surface2);padding:16px;border-radius:12px;font-size:.83rem;color:var(--muted)}.placeholder-grid b{display:block;font-size:1.7rem;color:var(--text);margin-top:10px}.section-actions{display:flex;align-items:center;gap:15px;color:var(--muted)}.panel label{display:block;margin:15px 0}.panel input,.panel select{display:block;margin-top:8px;background:var(--control);color:var(--text);border:1px solid var(--border);padding:10px;border-radius:8px;max-width:450px;width:100%}.button-group{display:flex;gap:8px;flex-wrap:wrap}.scroll{overflow:auto}table{border-collapse:collapse;width:100%;text-align:left}th,td{border-bottom:1px solid var(--border);padding:12px;font-size:.82rem;overflow-wrap:anywhere}pre{white-space:pre-wrap;overflow-wrap:anywhere;background:var(--control);border-radius:10px;padding:16px;max-height:550px;overflow:auto;font-size:.77rem;line-height:1.55}.audit-list{display:flex;flex-direction:column;gap:8px}.muted{color:var(--muted)}#message{position:fixed;right:16px;bottom:16px;max-width:min(440px,calc(100vw - 32px));background:var(--surface2);border:1px solid var(--border);border-radius:12px;padding:12px 16px;z-index:5;box-shadow:0 8px 24px #0002}#message:empty{display:none}
@media(max-width:1100px){.metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.two-col{grid-template-columns:1fr}}@media(max-width:720px){main{padding:12px}.topbar{align-items:start}.brand small{max-width:185px}.top-actions{flex-wrap:wrap;justify-content:flex-end}.login-layout{grid-template-columns:1fr;margin:20px auto}.login-illustration{display:none}.login-card{padding:22px}.app-layout{grid-template-columns:1fr;gap:15px}.sidebar{position:static;flex-direction:row;overflow:auto;padding-bottom:5px}.nav-btn{white-space:nowrap;font-size:.8rem;padding:10px}.nav-btn span{margin-left:3px}.sidebar-note{display:none}.workspace-header{align-items:start;flex-direction:column}.metrics-grid{gap:10px}.metric,.panel{padding:14px}.metric strong{font-size:1.45rem}.panel-head{flex-wrap:wrap}.placeholder-grid{grid-template-columns:1fr}.section-actions{flex-wrap:wrap}}

/* V1.8.1: Nury decorativa en cabecera y login */
.topbar-nury{height:74px;width:94px;object-fit:contain;object-position:center bottom;flex:none;align-self:center}
.login-illustration{padding:18px;background:linear-gradient(135deg,#67429a,#9b6bd0)}
.login-illustration img{display:block;width:100%;height:auto;max-height:480px;object-fit:contain}
@media(max-width:720px){.topbar-nury{height:49px;width:58px}.login-illustration{display:flex;padding:12px;min-height:180px}.login-illustration img{max-height:220px}}

/* V1.8.2: Nury del encabezado visible solo en sesión autenticada */
.topbar-nury{display:none}
body:has(#admin:not([hidden])) .topbar-nury{display:block}
/* Base visual para Nury y banda de plataforma en login */
.login-illustration{justify-content:flex-end;gap:0}
.login-illustration img{flex:1;min-height:0;object-fit:contain;object-position:center bottom}
.login-platform-band{width:100%;padding:14px 10px 12px;border-top:1px solid rgba(255,255,255,.28);background:rgba(35,20,58,.28);border-radius:0 0 12px 12px;color:#fff;font-weight:800;letter-spacing:.15em;font-size:.86rem;text-align:center}
@media(max-width:720px){.login-illustration{display:flex;flex-direction:column}.login-illustration img{flex:initial}.login-platform-band{font-size:.75rem}}



/* Ajuste de centrado de Nury - Login */

.login-illustration {

    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: flex-end;

    overflow: hidden;

    padding: 20px 18px 18px;

}



.login-illustration img {

    display: block;

    width: 100%;

    height: auto;

    max-height: 420px;

    object-fit: contain;

    object-position: center bottom;

    margin: auto auto 0;

}



.login-illustration strong,

.login-illustration span {

    text-align: center;

}




/* Centrado definitivo Nury login */

.login-illustration {

    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;

    gap: 12px;

    padding: 20px 18px 18px;

}

.login-illustration img {

    flex: 0 1 auto;

    display: block;

    width: 100%;

    height: auto;

    max-height: 390px;

    min-height: 0;

    margin: auto 0;

    object-fit: contain;

    object-position: center center;

}

.login-platform-band {

    flex: 0 0 auto;

    margin-top: 0;

}




/* Nury y franja Ubuntu: agrupadas sin espacio intermedio */

.login-illustration {

    justify-content: center;

    gap: 0;

}



.login-illustration img {

    flex: 0 0 auto;

    width: 100%;

    height: auto;

    max-height: 390px;

    margin: 0;

    object-fit: contain;

    object-position: center bottom;

}



.login-platform-band {

    flex: 0 0 auto;

    width: 100%;

    margin: 0;

}


/* Ocultar Nury pequeña del encabezado */
.topbar-nury { display: none !important; }
