/* EduSmart360 — canonical application domain structure.
   No theme lives here. Shared paint is EDL; this module only describes feature
   geometry, visibility and semantic state hooks needed by the academic workspace. */

*{margin:0;padding:0;box-sizing:border-box}
:root{
  /* Compatibility aliases resolve exclusively to EDL semantic tokens. */
  --az:var(--edl-ocean);--az2:var(--edl-ocean-2);--az3:var(--edl-ink);--azl:var(--ux-brand-soft);
  --vd:var(--edl-jade);--vdl:var(--ux-accent-soft);--vdm:var(--edl-success);
  --nr:var(--edl-amber);--mo:var(--edl-ocean);--ro:var(--edl-danger);--am:var(--edl-warning);
  --gr:var(--edl-canvas);--gr2:var(--edl-surface-2);--tx:var(--edl-ink);--tx2:var(--edl-muted);
  --wh:var(--edl-surface);--sh:var(--edl-shadow-1);--rd:var(--edl-r-1);--rd2:var(--edl-r-2);
}
html,body{height:100%;overflow-x:hidden}

/* Session semantics. */
.login-wrap{min-height:100vh}.login-wrap[hidden],.app[hidden],.session-unavailable[hidden]{display:none}.login-err{display:none}.app{display:none;min-width:0;min-height:100dvh}.app:not([hidden]){display:block}

/* Generic application structure. */
.sidebar{display:flex;flex-direction:column;z-index:100}.menu{flex:1;min-height:0}.logo-row,.uc,.topbar,.tb-left,.tb-right{display:flex;align-items:center}.logo-row{gap:10px}.uc{gap:9px}.tb-left{gap:10px}.tb-right{gap:8px}.mi{display:flex;align-items:center;gap:9px;cursor:pointer}.mi-badge{margin-left:auto}.topbar{justify-content:space-between;z-index:50}.main{min-width:0}.page{display:none;min-width:0}.page.on{display:grid;gap:14px;align-content:start}
#audit-anchor{scroll-margin-top:70px}.audit-grid{display:grid;grid-template-columns:minmax(180px,260px) minmax(0,1fr) minmax(0,1fr);gap:14px;margin-bottom:12px;align-items:start}.audit-summary-card{min-height:110px}.audit-table-wrap{overflow:auto;max-height:360px}
.card{min-width:0}.ct{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}.g2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:14px}.g3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:14px}.g4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px}.g24{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:14px;margin-bottom:14px}
.sc{position:relative;overflow:hidden}.sc-ac{position:absolute;top:0;left:0;right:0;height:3px}.sc-n{margin-top:4px;margin-bottom:2px}.sc-tr{margin-top:5px}.pbw,.pbar{overflow:hidden}.pbw{height:4px;margin-top:7px}.pbf,.pbar-f{height:100%}
.btn{display:inline-flex;align-items:center;gap:5px;cursor:pointer}.bx{display:inline-flex;align-items:center}.tbl{width:100%}.tbl th{text-align:left;white-space:nowrap}.tbl td{vertical-align:middle}.fg{margin-bottom:11px}.fl{display:block;margin-bottom:4px}.fi{width:100%}textarea.fi{resize:vertical;min-height:80px}.frow{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.frow3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.sb{display:flex;gap:8px;margin-bottom:14px;flex-wrap:wrap}.si{flex:1;min-width:200px}.tabs{display:flex;gap:3px;margin-bottom:14px}.tab{flex:1;cursor:pointer;text-align:center}
.modal{display:none;position:fixed;inset:0;z-index:500;align-items:center;justify-content:center}.modal.on{display:flex}.mtitle{display:flex;justify-content:space-between;align-items:center}.cbtn{display:flex;align-items:center;justify-content:center;cursor:pointer}.toast{position:fixed;z-index:600;transform:translateY(100px);opacity:0}.toast.on{transform:translateY(0);opacity:1}

/* Attendance domain geometry and semantic states.
   Desktop is a roster, not a tiled toy-card wall. Only the selected state owns semantic color. */
.ag{display:grid;grid-template-columns:1fr;gap:10px;align-items:stretch}
.as-card{position:relative;display:grid;grid-template-columns:minmax(210px,1.25fr) minmax(190px,.8fr) minmax(330px,1.45fr);gap:16px;align-items:center;min-height:0;padding:16px 18px;overflow:hidden;border:1px solid var(--edl-line);border-radius:var(--edl-r-2);background:var(--edl-surface);box-shadow:var(--edl-shadow-1)}
.as-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--edl-line-strong)}
.as-card-head{display:flex;gap:11px;align-items:center;min-width:0;margin:0}.as-card-av{width:40px;height:40px;display:flex;align-items:center;justify-content:center;flex:0 0 40px;border-radius:12px;background:var(--edl-surface-2);color:var(--edl-muted);font-size:12px;font-weight:700}.as-card-info{min-width:0;flex:1}.as-card-n{font-size:13px;font-weight:650;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.as-card-mat{margin-top:3px;color:var(--edl-muted);font-size:10.5px}
.as-card-status-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0}.as-card-pill{min-height:50px;padding:8px 10px;border:1px solid var(--edl-line);border-radius:10px;background:var(--edl-surface-2)}.as-card-pill .k{display:block;margin-bottom:3px;color:var(--edl-muted);font-size:9px;font-weight:650;letter-spacing:.35px;text-transform:uppercase}.as-card-pill .v{display:block;font-size:12px;font-weight:650}
.as-card-actions{display:grid;grid-template-columns:repeat(4,minmax(74px,1fr));gap:7px;margin:0}.as-btn{min-height:40px;padding:7px 8px;border:1px solid var(--edl-line);border-radius:9px;background:var(--edl-surface);color:var(--edl-muted);font-size:10.8px;font-weight:650;cursor:pointer;transition:background var(--edl-fast) var(--edl-ease),border-color var(--edl-fast) var(--edl-ease),color var(--edl-fast) var(--edl-ease)}.as-btn:hover{border-color:var(--edl-line-strong);background:var(--edl-surface-2);color:var(--edl-ink-2)}
.as-card.P::before{background:var(--edl-jade)}.as-card.F::before{background:var(--edl-coral)}.as-card.T::before{background:var(--edl-amber)}.as-card.J::before{background:var(--edl-ocean)}
.as-card.P .as-card-av{color:var(--edl-success);background:color-mix(in srgb,var(--edl-jade) 8%,var(--edl-surface))}.as-card.F .as-card-av{color:var(--edl-danger);background:color-mix(in srgb,var(--edl-coral) 8%,var(--edl-surface))}.as-card.T .as-card-av{color:var(--edl-warning);background:color-mix(in srgb,var(--edl-amber) 8%,var(--edl-surface))}.as-card.J .as-card-av{color:var(--edl-ocean-2);background:color-mix(in srgb,var(--edl-ocean) 7%,var(--edl-surface))}
.as-card.P .as-btn.P{color:var(--edl-success);background:color-mix(in srgb,var(--edl-jade) 10%,var(--edl-surface));border-color:color-mix(in srgb,var(--edl-jade) 34%,var(--edl-line))}.as-card.F .as-btn.F{color:var(--edl-danger);background:color-mix(in srgb,var(--edl-coral) 10%,var(--edl-surface));border-color:color-mix(in srgb,var(--edl-coral) 34%,var(--edl-line))}.as-card.T .as-btn.T{color:var(--edl-warning);background:color-mix(in srgb,var(--edl-amber) 10%,var(--edl-surface));border-color:color-mix(in srgb,var(--edl-amber) 36%,var(--edl-line))}.as-card.J .as-btn.J{color:var(--edl-ocean-2);background:color-mix(in srgb,var(--edl-ocean) 8%,var(--edl-surface));border-color:color-mix(in srgb,var(--edl-ocean) 28%,var(--edl-line))}
.as-card-obs{grid-column:1/3;width:100%;min-height:44px;max-height:86px;resize:vertical;padding:9px 11px;border:1px solid var(--edl-line);border-radius:10px;background:var(--edl-surface);color:var(--edl-ink);font-size:11.5px}.as-card-saving{grid-column:3;align-self:end;min-height:18px;color:var(--edl-success);font-size:10.5px;font-weight:650;text-align:right}
.as-topbar{display:flex;gap:10px;margin-bottom:14px;flex-wrap:wrap;align-items:center}.as-legend{margin-left:auto;display:flex;gap:10px;align-items:center;flex-wrap:wrap}.as-summary-inline{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:12px}.as-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border:1px solid var(--edl-line);border-radius:999px;background:var(--edl-surface);font-size:11px;font-weight:650}.as-chip.P{color:var(--edl-success);border-color:color-mix(in srgb,var(--edl-jade) 30%,var(--edl-line))}.as-chip.F{color:var(--edl-danger);border-color:color-mix(in srgb,var(--edl-coral) 30%,var(--edl-line))}.as-chip.T{color:var(--edl-warning);border-color:color-mix(in srgb,var(--edl-amber) 32%,var(--edl-line))}.as-chip.J{color:var(--edl-ocean-2);border-color:color-mix(in srgb,var(--edl-ocean) 26%,var(--edl-line))}

/* Dashboard actions and empty states use bounded first-party glyphs. */
.dashboard-quick-host{min-width:0}.dashboard-quick-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;min-width:0}.dashboard-quick-action{appearance:none;width:100%;min-width:0;min-height:72px;padding:11px 12px;border:1px solid var(--edl-line);border-radius:12px;background:var(--edl-surface);display:flex;align-items:center;gap:11px;text-align:left;color:var(--edl-ink-2);cursor:pointer}.dashboard-quick-action:hover{border-color:var(--edl-line-strong);background:var(--edl-surface-2)}.dashboard-quick-icon{width:36px;height:36px;display:grid;place-items:center;flex:0 0 36px;border-radius:10px;background:color-mix(in srgb,var(--edl-ocean) 8%,var(--edl-surface));color:var(--edl-ocean)}.dashboard-quick-icon svg{width:20px;height:20px;max-width:20px;max-height:20px}.dashboard-quick-label{min-width:0;font-size:12px;font-weight:650;line-height:1.35;white-space:normal;overflow-wrap:anywhere}.es360-report-card{position:relative;min-width:0;min-height:190px;padding:16px;border:1.5px solid transparent;border-radius:var(--edl-r-2);background:var(--edl-surface);box-shadow:var(--edl-shadow-1);display:flex;flex-direction:column;align-items:center;text-align:center;transition:border-color var(--edl-fast) var(--edl-ease),box-shadow var(--edl-fast) var(--edl-ease),transform var(--edl-fast) var(--edl-ease)}.es360-report-card:hover{border-color:var(--edl-ocean);box-shadow:var(--edl-shadow-2);transform:translateY(-2px)}.es360-report-icon{width:42px;height:42px;display:grid;place-items:center;flex:0 0 42px;margin:2px auto 10px;border-radius:11px;background:color-mix(in srgb,var(--edl-ocean) 8%,var(--edl-surface-2));color:var(--edl-ocean)}.es360-report-card .es360-report-icon svg{width:20px;height:20px;max-width:20px;max-height:20px}.es360-report-title{margin:0 0 4px;color:var(--edl-ink);font-size:12.5px;font-weight:800;line-height:1.35}.es360-report-description{min-height:32px;margin:0 0 10px;color:var(--edl-muted);font-size:10.5px;line-height:1.45}.es360-report-actions{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:auto}.es360-report-actions.single{grid-template-columns:1fr}.es360-report-actions .btn{width:100%;min-width:0}.es360-report-badge{position:absolute;top:10px;right:10px;z-index:1;font-size:9px;font-weight:800}
@media(max-width:560px){.dashboard-quick-grid{grid-template-columns:1fr}}
.dashboard-empty-state{min-height:140px;display:grid;place-items:center;padding:22px;border:1px dashed var(--edl-line-strong);border-radius:12px;background:var(--edl-surface-2);text-align:center;color:var(--edl-muted);font-size:12px;line-height:1.55}.dashboard-empty-state strong{display:block;margin-bottom:4px;color:var(--edl-ink-2);font-size:13px;font-weight:650}.dashboard-performance-list{display:grid;gap:12px;padding:4px 0}.dashboard-performance-row{display:grid;gap:7px}.dashboard-performance-main{display:flex;align-items:center;justify-content:space-between;gap:16px}.dashboard-performance-name{min-width:0;color:var(--edl-ink-2);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-performance-main strong{font-size:12px;font-weight:650;font-variant-numeric:tabular-nums}.dashboard-performance-track{height:7px;overflow:hidden;border-radius:999px;background:var(--edl-surface-3)}.dashboard-performance-track span{display:block;height:100%;border-radius:inherit;background:var(--edl-ocean)}.dashboard-performance-row.is-good .dashboard-performance-track span{background:var(--edl-success)}.dashboard-performance-row.is-mid .dashboard-performance-track span{background:var(--edl-warning)}.dashboard-performance-row.is-risk .dashboard-performance-track span{background:var(--edl-danger)}.dashboard-activity-item{display:grid;grid-template-columns:34px minmax(0,1fr);gap:11px;align-items:start;padding:10px 0;border-bottom:1px solid var(--edl-line-soft)}.dashboard-activity-item:last-child{border-bottom:0}.dashboard-activity-icon{width:32px;height:32px;display:grid;place-items:center;border-radius:9px;background:var(--edl-surface-2);color:var(--edl-ocean)}.dashboard-activity-icon svg{width:18px;height:18px;max-width:18px;max-height:18px}.dashboard-activity-copy{min-width:0}.dashboard-activity-copy strong{display:block;color:var(--edl-ink-2);font-size:11.5px;font-weight:650;line-height:1.3}.dashboard-activity-copy span{display:block;margin-top:3px;color:var(--edl-muted);font-size:10.5px;line-height:1.4}.dashboard-empty-inline{padding:12px 0;color:var(--edl-muted);font-size:11.5px}

/* Grades, calendar and academic visualizations use EDL semantic tokens. */
.ci{width:52px;padding:5px 4px;border:1px solid var(--edl-line-strong);border-radius:7px;background:var(--edl-surface);text-align:center;font-size:12.5px}.ci:focus{outline:0;border-color:var(--edl-ocean);box-shadow:0 0 0 3px rgba(98,201,179,.24)}.pv{font-weight:800;font-size:13.5px}.pv.A{color:var(--edl-success)}.pv.B{color:var(--edl-warning)}.pv.R{color:var(--edl-danger)}.loading{text-align:center;padding:40px;color:var(--edl-muted)}
/* Legacy spinner markup is visually neutralized; skeleton components own loading paint. */
.spin{display:none}.pbar{height:6px}.pbar-f{height:100%}.al-item{display:flex;align-items:center;gap:10px;padding:10px;margin-bottom:6px;border-left:3px solid;font-size:12px}.al-warn{border-color:var(--edl-amber)}.al-danger{border-color:var(--edl-coral)}.al-info{border-color:var(--edl-ocean)}.al-ok{border-color:var(--edl-jade)}.cal-grid,.cal-hdr{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px}.cal-hdr{margin-bottom:4px}.cal-hdr div{padding:3px 0;color:var(--edl-muted);font-size:10px;font-weight:700;text-align:center}.cal-day{padding:7px 4px;text-align:center;font-size:11.5px;cursor:pointer;font-weight:500}.cal-day.today{background:var(--edl-ocean);color:var(--edl-surface);font-weight:800}.cal-day.has-ev{color:var(--edl-ocean);font-weight:700;position:relative}.cal-day.has-ev::after{content:"";position:absolute;bottom:2px;left:50%;transform:translateX(-50%);width:4px;height:4px;background:var(--edl-jade);border-radius:50%}.cal-day.om{color:var(--edl-muted-2)}.chart-wrap{display:flex;align-items:flex-end;gap:6px;height:100px}.bar{flex:1;position:relative;min-width:14px}.bar-v,.bar-l{position:absolute;left:50%;transform:translateX(-50%);white-space:nowrap}.bar-v{top:-16px;font-size:9px;font-weight:700}.bar-l{bottom:-18px;color:var(--edl-muted);font-size:9px}.ch-space{height:22px}

/* Planning/tutorial domain geometry. */
.plan-box{padding:20px;margin-bottom:14px;border:1px solid var(--edl-line);border-radius:var(--edl-r-2);background:var(--edl-surface);color:var(--edl-ink)}.plan-sec{padding:12px;margin-bottom:10px;border-left:3px solid var(--edl-ocean);background:var(--edl-surface-2)}.plan-sec h5{margin-bottom:5px;color:var(--edl-ocean);font-size:12.5px;font-weight:700}.plan-sec p{color:var(--edl-muted);font-size:12px;line-height:1.7}.tr-row{display:flex;align-items:center;gap:10px;padding:10px;margin-bottom:6px;border:1px solid var(--edl-line);border-radius:9px;cursor:pointer}.sem{width:10px;height:10px;border-radius:50%;flex-shrink:0}.av{width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;margin-right:5px;border-radius:50%;vertical-align:middle;flex-shrink:0;font-size:9.5px;font-weight:800}

/* Historical capability widgets: geometry stays, paint consumes EDL only. */
.v210-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin-top:12px}.v210-card{position:relative;overflow:hidden;padding:16px;border:1px solid var(--edl-line);border-radius:12px;background:var(--edl-surface)}.v210-card::before{content:"";position:absolute;left:0;top:0;right:0;height:3px;background:var(--edl-ocean)}.v210-ic{margin-bottom:8px}.v210-kpi{margin-top:3px;color:var(--edl-ocean);font-size:24px;font-weight:850;line-height:1.1}.v210-sub{color:var(--edl-muted);font-size:12px;line-height:1.5}.v210-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px;margin-top:12px}.v210-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.v210-chip{display:inline-flex;align-items:center;gap:6px;margin:3px;padding:5px 9px;border:1px solid var(--edl-line);border-radius:999px;background:var(--edl-surface-2);color:var(--edl-ocean-2);font-size:11px;font-weight:800}.v210-preview{display:flex;gap:8px;align-items:center;margin-top:6px;color:var(--edl-muted);font-size:11px}.v210-preview img{width:48px;height:48px;object-fit:contain;padding:4px;border:1px solid var(--edl-line);border-radius:10px;background:var(--edl-surface)}.v210-section{padding:14px;margin-top:12px;border:1px solid var(--edl-line);border-radius:12px;background:var(--edl-surface)}.v210-mini{height:8px;overflow:hidden;margin-top:6px;border-radius:999px;background:var(--edl-surface-3)}.v210-mini span{display:block;height:100%;border-radius:999px;background:var(--edl-ocean)}

/* Observer semantics only. */
.observer-banner{display:none}.observer-banner.on{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:12px;width:min(100%,var(--edl-content));margin:18px auto 0;padding:13px 14px;border:1px solid color-mix(in srgb,var(--edl-ocean) 26%,var(--edl-line-strong));border-radius:var(--edl-r-2);background:color-mix(in srgb,var(--edl-ocean) 5%,var(--edl-surface));box-shadow:var(--edl-shadow-1)}.observer-icon{display:grid;place-items:center;width:42px;height:42px;border:1px solid color-mix(in srgb,var(--edl-ocean) 22%,var(--edl-line));border-radius:12px;background:var(--edl-surface);color:var(--edl-ocean)}.observer-icon svg{width:21px;height:21px}.observer-content{min-width:0;display:grid;gap:3px}.observer-title{font-size:10px;font-weight:800;color:var(--edl-ocean);letter-spacing:.075em;text-transform:uppercase}.observer-copy{min-width:0;font-size:12px;line-height:1.45;color:var(--edl-muted);overflow-wrap:anywhere}.observer-school{font-weight:720;color:var(--edl-ink-2)}.observer-exit{appearance:none;display:inline-flex;min-height:40px;padding:0 13px;align-items:center;justify-content:center;gap:6px;border:1px solid var(--edl-line-strong);border-radius:10px;background:var(--edl-surface);color:var(--edl-ink-2);font:700 11.5px var(--edl-body);cursor:pointer;white-space:nowrap}html.observer-boot .login-wrap{display:none}html.observer-boot body::before,html.superadmin-return body::before{content:"";position:fixed;inset:0;z-index:9999;pointer-events:none;background:var(--edl-canvas)}.authz-box,.setup-box,.baja-panel{padding:10px;margin-bottom:12px}.group-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}

/* Billing geometry; billing-workbench owns business-specific presentation. */
.billing-self-summary{margin-bottom:12px;overflow-wrap:anywhere}.billing-plan-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;align-items:stretch;min-width:0}.billing-plan-card{min-width:0;display:flex;flex-direction:column;height:100%}.billing-plan-card-body{min-width:0;display:flex;flex-direction:column;flex:1}.billing-plan-description,.billing-plan-meta{overflow-wrap:anywhere;word-break:break-word}.billing-plan-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:auto;padding-top:5px}

@media(max-width:1100px){.as-card{grid-template-columns:minmax(200px,1fr) minmax(180px,.8fr)}.as-card-actions{grid-column:1/-1}.as-card-obs{grid-column:1/-1}.as-card-saving{grid-column:1/-1}}
@media(max-width:900px){.as-legend{margin-left:0;width:100%;justify-content:flex-start}.observer-banner.on{grid-template-columns:42px minmax(0,1fr);margin-top:14px}.observer-exit{grid-column:1/-1;width:100%}.dashboard-quick-grid{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.as-card{grid-template-columns:1fr;padding:14px}.as-card-status-row,.as-card-actions,.as-card-obs,.as-card-saving{grid-column:1}.as-card-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-quick-grid{grid-template-columns:1fr}.dashboard-quick-action{min-height:64px}}
@media print{.sidebar,.topbar,.no-print{display:none}.main{margin:0;padding:0}.boleta-print{display:block}}


/* MFA enrollment — canonical application domain. */
#m-mfa-login .mbox{overflow-x:hidden;width:min(540px,calc(100vw - 32px))}
#mfa-enrollment-data,#mfa-new-recovery-codes{min-width:0;max-width:100%}
#mfa-enrollment-data{display:grid;gap:12px;margin:16px 0}
#mfa-enrollment-data[hidden],#mfa-login-error[hidden]{display:none}
#mfa-enrollment-data>p{margin:0}
.mfa-enrollment-key-card{min-width:0;padding:14px;border:1px solid var(--edl-line);border-radius:var(--edl-r-2);background:var(--edl-surface-2)}
.mfa-enrollment-label-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}
.mfa-enrollment-label-row strong{color:var(--edl-ink-2);font-size:12px}
#mfa-enrollment-secret,#mfa-enrollment-uri,#mfa-new-recovery-list{max-width:100%;margin:0;padding:11px 12px;border:1px solid var(--edl-line);border-radius:10px;background:var(--edl-surface);color:var(--edl-ink);font:650 11px/1.6 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word}
#mfa-enrollment-secret{font-size:13px;letter-spacing:.08em}
#mfa-enrollment-advanced{min-width:0;border:1px solid var(--edl-line);border-radius:var(--edl-r-2);background:var(--edl-surface)}
#mfa-enrollment-advanced summary{cursor:pointer;padding:12px 14px;color:var(--edl-ink-2);font-size:12px;font-weight:750;list-style-position:inside}
#mfa-enrollment-advanced[open] summary{border-bottom:1px solid var(--edl-line);background:var(--edl-surface-2)}
.mfa-enrollment-advanced-body{display:grid;gap:9px;padding:12px 14px 14px}
.mfa-enrollment-advanced-body>strong{color:var(--edl-muted);font-size:11px}
.mfa-copy-button{flex:0 0 auto;min-height:36px;white-space:nowrap}
#mfa-login-description,#mfa-enrollment-data p,#mfa-new-recovery-codes p{color:var(--edl-muted);font-size:12.5px;line-height:1.6}
#mfa-login-error{margin-top:10px;padding:11px 12px;border:1px solid color-mix(in srgb,var(--edl-coral) 30%,var(--edl-line));border-radius:10px;background:color-mix(in srgb,var(--edl-coral) 8%,var(--edl-surface));color:var(--edl-danger);font-size:12px;line-height:1.5}
.mfa-login-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-top:18px;padding-top:16px;border-top:1px solid var(--edl-line)}
.mfa-login-actions .btn{min-height:44px;min-width:130px}
.mfa-copy-fallback{position:fixed;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none}
#m-mfa-login .mtitle::before{content:"";display:inline-block;width:38px;height:38px;flex:0 0 38px;margin-right:10px;vertical-align:middle;border:1px solid #c7ded7;border-radius:13px;background:radial-gradient(circle at center,var(--edl-jade) 0 4px,transparent 4.5px),linear-gradient(145deg,#edf7f3,#f8fbf8)}
#m-mfa-login input.fi[autocomplete="one-time-code"],#m-mfa-login input.fi[inputmode="numeric"]{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:20px;font-weight:750;letter-spacing:.22em;text-align:center;font-variant-numeric:tabular-nums}
@media(max-width:560px){#m-mfa-login .mbox{width:100%;max-width:100%}.mfa-login-actions{display:grid;grid-template-columns:1fr}.mfa-login-actions .btn{width:100%;justify-content:center}.mfa-enrollment-label-row{align-items:flex-start;flex-direction:column}.mfa-copy-button{width:100%}}



/* First-run onboarding and contextual create action — canonical dashboard domain. */
#btn-nuevo{min-height:36px;min-width:78px;justify-content:center}#btn-nuevo[hidden]{display:none}
.first-run-onboarding{margin:16px 0 14px;padding:18px;border:1px solid var(--edl-line);border-radius:var(--edl-r-2);background:var(--edl-surface);box-shadow:var(--edl-shadow-1)}.first-run-onboarding-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}.first-run-onboarding-eyebrow{margin-bottom:4px;color:var(--edl-jade);font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.first-run-onboarding h2{margin:0;color:var(--edl-ink);font-family:var(--edl-title);font-size:18px;line-height:1.25}.first-run-onboarding-head p{margin:5px 0 0;color:var(--edl-muted);font-size:12px;line-height:1.5}.first-run-onboarding-badge{display:inline-flex;align-items:center;white-space:nowrap;padding:6px 10px;border:1px solid color-mix(in srgb,var(--edl-jade) 25%,var(--edl-line));border-radius:999px;background:color-mix(in srgb,var(--edl-jade) 8%,var(--edl-surface));color:var(--edl-success);font-size:10px;font-weight:800}.first-run-onboarding-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.first-run-onboarding-step{display:flex;min-width:0;padding:14px;flex-direction:column;gap:12px;border:1px solid var(--edl-line);border-radius:12px;background:var(--edl-surface-2)}.first-run-onboarding-number{display:grid;place-items:center;width:26px;height:26px;margin-bottom:8px;border-radius:8px;background:var(--edl-surface-3);color:var(--edl-ocean-2);font-size:11px;font-weight:800}.first-run-onboarding-step h3{margin:0 0 4px;color:var(--edl-ink-2);font-size:13px}.first-run-onboarding-step p{margin:0;color:var(--edl-muted);font-size:11px;line-height:1.5}.first-run-onboarding-action{min-height:36px;margin-top:auto;padding:8px 11px;border:1px solid var(--edl-ocean);border-radius:9px;background:var(--edl-ocean);color:var(--edl-surface);font:700 11px/1 var(--edl-body);cursor:pointer;transition:background var(--edl-fast) var(--edl-ease)}.first-run-onboarding-action:hover{background:var(--edl-ocean-2)}.first-run-onboarding-action:focus-visible{outline:2px solid transparent;box-shadow:0 0 0 3px color-mix(in srgb,var(--edl-focus) 28%,transparent)}
@media(max-width:900px){.first-run-onboarding-steps{grid-template-columns:1fr}.first-run-onboarding-head{flex-direction:column}}@media(prefers-reduced-motion:reduce){.first-run-onboarding-action{transition:none}}

