/* New connection controls only. Approved V17.10.4 visuals remain unchanged. */
@layer backend {
 .o18-context{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:24px;padding:12px 0;border-bottom:1px solid var(--o9-border);font-size:12px;color:var(--o9-muted)}
 .o18-context>div{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.o18-context>p,.o18-context>small{width:100%;margin:0}.o18-context select{max-width:220px;min-width:120px}
 .o18-dialog{height:auto;max-height:calc(100dvh - 24px)}.o18-dialog-body{overflow:auto;min-height:0;overscroll-behavior:contain}.o18-dialog details{padding:12px 0;border-bottom:1px solid var(--o9-border)}.o18-dialog summary{cursor:pointer;min-height:36px;color:var(--o9-text)}.o18-dialog form{display:grid;gap:16px;padding-block:12px}.o18-dialog label{display:grid;gap:8px}.o18-dialog label.gp-check{display:flex}.o18-dialog input,.o18-dialog select{width:100%;min-height:44px}.o18-dialog input[type=checkbox]{width:18px;min-height:18px}.o18-dialog p{font-size:13px;line-height:1.6}#o18-error{color:var(--o9-action-ink)}
 @media(max-width:600px){.o18-context>div{width:100%}.o18-context select{flex:1;max-width:100%}.o18-context .btn{min-height:44px}.o18-dialog input,.o18-dialog select{font-size:16px}}
}

/* V18.0.1: accessible account controls and remembered session. */
@layer backend {
 .o18-remember{display:flex!important;align-items:flex-start!important;gap:10px;margin:0 0 14px;color:inherit;font-size:13px;cursor:pointer}
 .o18-remember input{width:18px;height:18px;flex:0 0 18px;margin:3px 0 0;accent-color:#ffac78}
 .o18-remember span{display:grid;gap:2px}.o18-remember small{font-weight:400;font-size:11px;opacity:.75;line-height:1.35}
 .o18-remember:focus-within{outline:2px solid var(--o9-accent,#ffad77);outline-offset:4px;border-radius:4px}
 #o18-context [data-o18=quick-user]{min-height:42px;font-weight:700}
 #o18-context [data-o18=profile]{min-height:42px}
 .o18-dialog details{padding:12px;border:1px solid var(--o9-border);border-radius:12px;margin-block:12px}
 .o18-dialog details summary{font-weight:650}.o18-dialog form label{font-weight:600}
 @media(max-width:600px){#o18-context [data-o18=quick-user]{width:100%}.o18-remember small{font-size:11px}}
}


/* V18.0.2: account & access controls live exclusively in Mi configuración. */
@layer backend {
 .o18-account-settings {margin:24px 0 32px; display:grid; gap:18px; width:100%;}
 .o18-account-title{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:16px;padding:0 2px 3px;color:var(--o9-text,#eef7f5)}
 .o18-account-eyebrow,.o18-card-kicker{display:block;font-size:10px;font-weight:750;letter-spacing:.15em;text-transform:uppercase;color:var(--o9-accent,#83dacc)}
 .o18-account-title h2{font-size:clamp(25px,2.7vw,34px);line-height:1.14;letter-spacing:-.035em;margin:9px 0}
 .o18-account-title p{font-size:14px;color:var(--o9-muted,#a1bdbb);margin:0;max-width:65ch;line-height:1.55}
 .o18-account-identity{font-size:12px;border:1px solid var(--o9-border,rgba(210,245,243,.16));padding:8px 12px;border-radius:999px;color:var(--o9-muted,#a5c5c2)}
 .o18-account-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:stretch}
 .o18-account-card{min-width:0;padding:clamp(18px,2vw,28px);border:1px solid var(--o9-border,rgba(206,238,235,.17));background:var(--o9-card,rgba(22,51,56,.80));box-shadow:inset 0 1px 0 rgba(255,255,255,.035);border-radius:18px;color:var(--o9-text,#f2faf8)}
 .o18-account-card h3{font-size:clamp(20px,2vw,25px);line-height:1.2;margin:9px 0 5px;letter-spacing:-.035em}
 .o18-card-intro{font-size:13px;line-height:1.55;color:var(--o9-muted,#a4c4c0);margin:0 0 22px;max-width:65ch}
 .o18-account-form{display:grid;gap:15px}
 .o18-account-form label,.o18-org-controls label{display:grid;align-content:start;gap:6px;font-size:12px;font-weight:700;color:var(--o9-text,#eef8f6)}
 .o18-account-form label small{font-size:11px;font-weight:450;color:var(--o9-muted,#a9c3bf)}
 .o18-account-form input,.o18-org-controls select{width:100%;min-width:0;min-height:44px;border:1px solid var(--o9-border,rgba(221,247,240,.23));border-radius:10px;padding:10px 13px;color:var(--o9-text,#f2fbfa);background:var(--o9-input,rgba(6,28,31,.40));outline:none;font:inherit;font-weight:450}
 .o18-account-form input:focus-visible,.o18-org-controls select:focus-visible{border-color:var(--o9-accent,#8ae0d0);box-shadow:0 0 0 3px rgba(113,205,192,.16)}
 .o18-account-form input::placeholder{color:var(--o9-muted,#a1bdb9)}
 .o18-form-footer{display:grid;align-items:center;justify-items:start;gap:9px;margin-top:4px}
 .o18-form-footer button{min-height:44px}.o18-form-feedback{margin:0;min-height:18px;font-size:12px;line-height:1.4;color:var(--o9-muted,#b2ceca)}
 .o18-form-feedback[data-status=error],.o18-org-error{color:#f1a5a0}.o18-form-feedback[data-status=success]{color:#77d8b6}
 .o18-org-card{grid-column:1/-1}.o18-org-controls{display:flex;align-items:end;gap:10px;flex-wrap:wrap}.o18-org-controls label{min-width:min(280px,100%)}
 .o18-org-controls button{min-height:44px}.o18-org-status{font-size:12px;color:var(--o9-muted,#b1c9c6);margin:20px 0 0}
 @media(max-width:880px){.o18-account-grid{grid-template-columns:1fr}.o18-account-settings{gap:14px}.o18-org-controls{align-items:stretch}.o18-org-controls label{flex:1 0 100%}}
 @media(max-width:550px){.o18-account-card{padding:18px}.o18-org-controls button{width:100%}.o18-account-title{padding-top:5px}.o18-account-identity{display:none}.o18-account-form input,.o18-org-controls select{font-size:16px}}
}

/* V18.0.4 — directorio del propietario integrado en Mi configuración */
@layer backend {
 .o18-users-card{grid-column:1/-1}.o18-users-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.o18-users-heading .o18-card-intro{margin-bottom:12px}
 .o18-user-filters{display:flex;gap:10px;align-items:end;flex-wrap:wrap;margin:14px 0 20px}.o18-user-filters label{display:grid;gap:6px;flex:1 1 185px;min-width:170px;font-size:12px;font-weight:700}.o18-user-filters input,.o18-user-filters select{width:100%;min-height:44px;padding:10px 12px;border-radius:10px;border:1px solid var(--o9-border,rgba(220,248,244,.24));background:var(--o9-input,rgba(5,29,33,.55));color:var(--o9-text,#eef9f6)}.o18-user-filters button{min-height:44px}
 .o18-directory-results{min-height:80px}.o18-user-list{display:grid;gap:8px}.o18-user-row{display:grid;grid-template-columns:44px minmax(0,1fr) auto auto;align-items:center;gap:14px;padding:12px;border:1px solid var(--o9-border,rgba(224,250,248,.15));border-radius:12px;background:rgba(255,255,255,.018)}.o18-user-avatar{height:42px;width:42px;border-radius:12px;background:rgba(121,214,198,.11);color:#8de8d5;display:grid;place-items:center;font-weight:800;font-size:12px}.o18-user-info{min-width:0;display:grid;gap:3px}.o18-user-info strong{font-size:14px}.o18-user-info span,.o18-user-info small{overflow-wrap:anywhere;line-height:1.35;font-size:12px;color:var(--o9-muted,#a5bebc)}.o18-user-status{font-size:11px;padding:6px 9px;border-radius:999px;border:1px solid rgba(117,214,186,.25);color:#8fdfc6}.o18-user-status.is-disabled{color:#f1b19e;border-color:rgba(240,150,118,.3)}.o18-user-empty{color:var(--o9-muted,#a5bebc);padding:20px}.o18-more-users{margin-top:14px;min-height:42px}.o18-membership-form{border:1px solid var(--o9-border,rgba(224,250,248,.2));border-radius:12px;padding:14px;margin:10px 0;display:grid;gap:10px}
 @media(max-width:680px){.o18-user-row{grid-template-columns:38px minmax(0,1fr);gap:10px}.o18-user-row .btn,.o18-user-status{grid-column:2;justify-self:start}.o18-users-heading>.btn{width:100%}.o18-user-filters label,.o18-user-filters button{flex:1 1 100%}.o18-user-avatar{width:38px;height:38px}}
}

/* V18.0.5 — controles por usuario, recuperación y reconocimientos sobrios */
@layer backend {
.o18-forgot-link{display:block;background:none;border:0;padding:12px 0;color:var(--o9-accent,#81dccc);font:inherit;font-size:13px;text-decoration:underline;cursor:pointer;text-underline-offset:3px;text-align:left}
.o18-permission-grid{border:1px solid var(--o9-border,rgba(221,248,243,.2));border-radius:12px;padding:13px;display:grid;gap:9px}.o18-permission-grid strong{font-size:12px;color:var(--o9-accent,#85e0d0)}
.o18-permission-grid .gp-check{display:flex!important;align-items:center!important;gap:10px;font-size:12px;font-weight:550}.o18-permission-grid input[type=checkbox]{width:18px;height:18px;min-height:18px}
.o18-user-security{display:grid;gap:12px;border-top:1px solid var(--o9-border,rgba(221,248,243,.2));margin:18px 0;padding:18px 0}.o18-user-security h3{margin:0}.o18-user-security p,.o18-user-security small{font-size:13px;line-height:1.5}.o18-user-security textarea,#o18-reset-output textarea{width:100%;min-height:70px;padding:12px;border-radius:10px;background:var(--o9-input,rgba(6,28,31,.40));border:1px solid var(--o9-border,rgba(221,248,243,.2));color:var(--o9-text,#f4faf8);resize:vertical;font:inherit;font-size:13px}
.o18-user-security label{display:grid;gap:8px}.o18-recovery-pending{color:#f4b58d}
.o18-celebration{text-align:center;display:grid;justify-items:center;gap:10px;padding:12px 5px 16px}.o18-celebration-symbol{font-size:32px;color:#a4e7d6}.o18-celebration.is-milestone .o18-celebration-symbol{color:#faab77}.o18-celebration h3{font-size:clamp(19px,5vw,27px);line-height:1.2;margin:0}.o18-celebration p{font-size:14px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}.o18-celebration .btn{min-height:46px}
.o18-reset-success{color:#84e1b7;font-weight:650}.o18-reset-status{min-height:22px;color:#f2aa9c}
@media(max-width:620px){.o18-user-security .btn{width:100%}.o18-permission-grid{padding:10px}}
}

/* V18.0.6 — Primer ingreso obligatorio. Mantiene login dividido y accesibilidad. */
.o18-first-password{display:grid;gap:11px;width:100%;max-height:min(85vh,760px);overflow-y:auto;padding-right:2px}
.o18-first-password h3{font-size:clamp(21px,3vw,28px);line-height:1.14;margin:4px 0 0;color:var(--ink,#ecf8f5)}
.o18-first-password>p{font-size:13px;line-height:1.55;margin:0 0 7px;color:var(--muted,#a1c6c2)}
.o18-first-password-tag{font-size:10px;letter-spacing:.14em;color:#81ddd0;font-weight:750}
.o18-first-password .form-group{margin:0}
.o18-first-password-error{min-height:20px;color:#ffaaa1!important;font-size:12px!important}
.o18-first-password #o18-first-logout{justify-self:center;cursor:pointer}
.o18-temporary-password-note{padding:9px 12px;border:1px solid rgba(119,225,206,.35);border-radius:10px;color:#a6e5d8;font-size:12px}

/* V18.0.7.1 – Gestión de cuentas (sin afectar el tema original) */
.o18-create-modules {border:1px solid rgba(146,210,205,.25);border-radius:16px;margin:16px 0;padding:16px;display:grid;gap:12px}
.o18-create-modules legend {font-weight:800;padding:0 8px}
.o18-create-modules p {font-size:.9rem;opacity:.82;margin:0 0 4px}
.o18-create-modules [hidden] {display:none!important}
.o18-danger-zone {margin-top:24px;padding:20px;border:1px solid rgba(236,131,113,.35);border-radius:17px;background:rgba(171,76,65,.06)}
.o18-danger-zone form {margin:14px 0;display:grid;gap:8px}
.o18-danger-zone button.btn-danger {border-radius:12px;background:#ab3e36;color:#fff;border:1px solid #dd8379;padding:13px 18px;font-weight:800;cursor:pointer}
.o18-danger-zone button.btn-danger:disabled{opacity:.5;cursor:wait}
.o18-archived-note {padding:12px;border:1px solid #bd9969;border-radius:12px}
