/* LEGASIST | Sistema global de modo claro / oscuro */
html[data-theme="light"]{
  color-scheme:light;
}
html[data-theme="royal-dark"]{
  color-scheme:dark;
  --bg:#061020;
  --bg-2:#0a1730;
  --surface:#0c1b31;
  --surface-soft:#102642;
  --surface-blue:rgba(78,134,255,.16);
  --primary:#4e86ff;
  --primary-2:#7aa7ff;
  --primary-3:#60A5FA;
  --navy:#f6fbff;
  --text:#e8f1ff;
  --muted:#adc0da;
  --muted-2:#92a8c5;
  --border:rgba(165,195,235,.22);
  --border-strong:rgba(165,195,235,.32);
  --success:#34D399;
  --success-soft:rgba(52,211,153,.13);
  --warning:#FBBF24;
  --danger:#EF4444;
  --white:#fff;
  --shadow-lg:0 30px 80px rgba(0,0,0,.36);
  --shadow-md:0 18px 45px rgba(0,0,0,.28);
  --shadow-sm:0 8px 24px rgba(0,0,0,.22);
}
html[data-theme="royal-dark"] body{
  background:
    radial-gradient(circle at 10% 0%,rgba(37,99,235,.22),transparent 28%),
    radial-gradient(circle at 90% 8%,rgba(52,211,153,.12),transparent 26%),
    linear-gradient(180deg,#061020 0%,#0b1930 58%,#061020 100%) !important;
  color:var(--text) !important;
}
html[data-theme="royal-dark"] .topbar,
html[data-theme="royal-dark"] .nav,
html[data-theme="royal-dark"] header,
html[data-theme="royal-dark"] .footer,
html[data-theme="royal-dark"] .card,
html[data-theme="royal-dark"] .panel,
html[data-theme="royal-dark"] .section,
html[data-theme="royal-dark"] .hero-card,
html[data-theme="royal-dark"] .hero__panel,
html[data-theme="royal-dark"] .login-card,
html[data-theme="royal-dark"] .support-card,
html[data-theme="royal-dark"] .form-card,
html[data-theme="royal-dark"] .profile-card,
html[data-theme="royal-dark"] .result-card,
html[data-theme="royal-dark"] .plan-card,
html[data-theme="royal-dark"] .onboarding-card,
html[data-theme="royal-dark"] .scanner-card,
html[data-theme="royal-dark"] .file-card,
html[data-theme="royal-dark"] .modal,
html[data-theme="royal-dark"] .box,
html[data-theme="royal-dark"] .dashboard-card{
  background:linear-gradient(180deg,rgba(12,27,49,.96),rgba(8,19,36,.96)) !important;
  border-color:var(--border) !important;
  color:var(--text) !important;
  box-shadow:var(--shadow-md) !important;
}
html[data-theme="royal-dark"] h1,
html[data-theme="royal-dark"] h2,
html[data-theme="royal-dark"] h3,
html[data-theme="royal-dark"] h4,
html[data-theme="royal-dark"] h5,
html[data-theme="royal-dark"] strong,
html[data-theme="royal-dark"] b,
html[data-theme="royal-dark"] label{
  color:#f6fbff !important;
}
html[data-theme="royal-dark"] p,
html[data-theme="royal-dark"] small,
html[data-theme="royal-dark"] span,
html[data-theme="royal-dark"] li,
html[data-theme="royal-dark"] td,
html[data-theme="royal-dark"] th{
  border-color:var(--border);
}
html[data-theme="royal-dark"] p,
html[data-theme="royal-dark"] small,
html[data-theme="royal-dark"] .muted,
html[data-theme="royal-dark"] .subtitle,
html[data-theme="royal-dark"] .lead{
  color:var(--muted) !important;
}
html[data-theme="royal-dark"] input,
html[data-theme="royal-dark"] select,
html[data-theme="royal-dark"] textarea{
  background:#08192f !important;
  color:#f6fbff !important;
  border-color:var(--border) !important;
}
html[data-theme="royal-dark"] input::placeholder,
html[data-theme="royal-dark"] textarea::placeholder{color:#8198b8 !important;}
html[data-theme="royal-dark"] table{background:#0c1b31;color:#e8f1ff;border-color:var(--border)}
html[data-theme="royal-dark"] tr,
html[data-theme="royal-dark"] td,
html[data-theme="royal-dark"] th{border-color:var(--border) !important;}
html[data-theme="royal-dark"] a:not(.button):not(.btn):not(.dash-btn):not(.tool-btn){color:#93C5FD;}
.theme-toggle{
  position:fixed;
  right:18px;
  bottom:18px;
  z-index:9999;
  width:50px;
  height:50px;
  border-radius:999px;
  border:1px solid rgba(125,160,220,.45);
  background:linear-gradient(135deg,#ffffff,#eaf2ff);
  color:#0f4ea8;
  display:grid;
  place-items:center;
  cursor:pointer;
  box-shadow:0 18px 45px rgba(8,33,70,.22);
}
html[data-theme="royal-dark"] .theme-toggle{
  background:linear-gradient(135deg,#0d1d35,#102642);
  color:#FBBF24;
  border-color:rgba(160,190,240,.28);
}
.theme-toggle__icon,.theme-only-icon{font-size:22px;line-height:1;display:inline-grid;place-items:center;}
.sidebar-action--theme,.tool-theme-inline{cursor:pointer;}
@media(max-width:640px){.theme-toggle{right:14px;bottom:14px;width:46px;height:46px}}


/* Ajustes LEGASIST 2026: HERO con imagen legal, accesibilidad visual y tonos azul/claro */
.directory-hero{
  min-height:100vh;
  display:flex;
  align-items:center;
  position:relative;
  overflow:hidden;
  background:
    linear-gradient(90deg, rgba(4,22,48,.88) 0%, rgba(13,54,112,.76) 48%, rgba(7,22,43,.50) 100%),
    url('../img/abogada_cliente.png') center/cover no-repeat !important;
}
.directory-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 20% 20%,rgba(96,165,250,.32),transparent 32%),linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,0));
  pointer-events:none;
}
.directory-hero__grid{position:relative;z-index:1;}
.directory-hero .kicker,
.directory-hero h1,
.directory-hero .lead{color:#fff !important;text-shadow:0 10px 30px rgba(0,0,0,.35)}
.directory-hero .search-panel,
.directory-hero .trust-card,
.directory-hero .hero-metrics{
  background:rgba(255,255,255,.94) !important;
  backdrop-filter:blur(16px);
  border:1px solid rgba(214,229,249,.92) !important;
}
html[data-theme="royal-dark"] .directory-hero{
  background:
    linear-gradient(90deg, rgba(2,10,22,.94) 0%, rgba(4,27,62,.88) 52%, rgba(7,22,43,.64) 100%),
    url('../img/abogada_cliente.png') center/cover no-repeat !important;
}
html[data-theme="royal-dark"] .directory-hero .search-panel,
html[data-theme="royal-dark"] .directory-hero .trust-card,
html[data-theme="royal-dark"] .directory-hero .hero-metrics{
  background:rgba(8,23,44,.88) !important;
  border-color:rgba(134,174,235,.26) !important;
}

/* Navegación pública: botón persistente de registro usuario/abogado */
.register-visible-link{font-weight:900 !important;white-space:nowrap;}
.register-visible-link::before{content:"✦ ";}

/* Google / Meet / Calendar UI */
.google-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  min-height:44px;padding:10px 16px;border-radius:14px;
  border:1px solid #d8e4f2;background:#fff;color:#183b65;
  font-weight:900;text-decoration:none;box-shadow:0 12px 28px rgba(13,55,100,.08);
}
.google-btn .gmark{font-weight:1000;color:#2563EB;background:#eef5ff;border-radius:999px;width:26px;height:26px;display:grid;place-items:center;}
.google-btn:hover{transform:translateY(-1px);border-color:#9ec5fe;box-shadow:0 16px 35px rgba(37,99,235,.16)}
html[data-theme="royal-dark"] .google-btn{background:#0d1d35;color:#f6fbff;border-color:rgba(160,190,230,.24)}

.calendar-shell{display:grid;grid-template-columns:280px minmax(0,1fr) 330px;gap:18px;align-items:start;}
.calendar-card,.calendar-week,.calendar-side-panel,.meet-panel{
  background:#ffffff;border:1px solid #d8e4f2;border-radius:24px;box-shadow:0 18px 48px rgba(13,55,100,.09);color:#102033;
}
.calendar-card{padding:18px}.calendar-side-panel{padding:18px}.meet-panel{padding:18px;margin-top:18px}
.calendar-toolbar{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:16px}
.calendar-toolbar h1{margin:0;color:#0d2b4d}.calendar-toolbar p{margin:4px 0 0;color:#5e7188}
.calendar-actions{display:flex;gap:10px;flex-wrap:wrap}.calendar-btn{border:0;border-radius:14px;padding:11px 15px;background:#0f4ea8;color:#fff;font-weight:900;text-decoration:none;cursor:pointer}.calendar-btn.secondary{background:#eaf2ff;color:#0f4ea8;border:1px solid #cfe0f7}.calendar-btn.green{background:#087c5c}.calendar-btn.warn{background:#b7791f}
.mini-calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.mini-calendar span{display:grid;place-items:center;height:34px;border-radius:11px;font-size:12px;font-weight:900;background:#f3f7fc;color:#406080}.mini-calendar .has-event{background:#dbeafe;color:#0f4ea8}.mini-calendar .urgent{background:#fef3c7;color:#92400e}.mini-calendar .today{outline:2px solid #2563EB;background:#fff;color:#0f4ea8}
.calendar-week{overflow:auto;padding:0}.week-grid{display:grid;grid-template-columns:70px repeat(7,minmax(130px,1fr));min-width:980px}.week-head,.hour-cell,.day-cell{border-bottom:1px solid #d8e4f2;border-right:1px solid #d8e4f2}.week-head{padding:12px;background:#f7fbff;font-weight:900;color:#0d2b4d;text-align:center;position:sticky;top:0;z-index:2}.hour-cell{padding:8px;font-size:12px;color:#5e7188;background:#fbfdff}.day-cell{min-height:78px;padding:6px;background:#fff}.day-cell.today{background:#f4f9ff}.event-chip{display:block;margin:3px 0;padding:8px;border-radius:13px;text-decoration:none;color:#fff !important;font-size:12px;line-height:1.25;border-left:5px solid #2563EB;background:#1E3A5F;box-shadow:0 8px 18px rgba(13,55,100,.18)}.event-chip.general{background:#1a2e42;border-left-color:#A0AEC0}.event-chip.urgent{background:#451a03;border-left-color:#FBBF24}.event-chip b{display:block;color:#fff !important}.event-chip span{color:#eaf2ff !important}
.calendar-form{display:grid;gap:10px}.calendar-form label{display:grid;gap:6px;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.04em;color:#48617f}.calendar-form input,.calendar-form select,.calendar-form textarea{width:100%;border:1px solid #d8e4f2;border-radius:14px;padding:11px 12px;background:#fff;color:#102033}.calendar-form textarea{min-height:96px;resize:vertical}.calendar-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.check-row{display:flex !important;flex-direction:row;align-items:center;gap:10px;text-transform:none !important;font-size:13px !important;letter-spacing:0 !important}.check-row input{width:auto}.calendar-detail h2,.calendar-card h2,.meet-panel h2{margin:0 0 10px;color:#0d2b4d}.calendar-detail p{color:#5e7188}.meet-link{word-break:break-all;color:#0f4ea8;font-weight:900}.transcript-box{background:#f6f9ff;border:1px solid #d8e4f2;border-radius:18px;padding:14px;white-space:pre-wrap}.calendar-notice{padding:12px 14px;border-radius:16px;background:#eaf2ff;border:1px solid #cfe0f7;color:#0d4f91;font-weight:800;margin-bottom:14px}.calendar-notice.error{background:#fff1f2;border-color:#fecdd3;color:#9f1239}.calendar-notice.ok{background:#ecfdf5;border-color:#bbf7d0;color:#065f46}
html[data-theme="royal-dark"] .calendar-card,html[data-theme="royal-dark"] .calendar-week,html[data-theme="royal-dark"] .calendar-side-panel,html[data-theme="royal-dark"] .meet-panel{background:#0d1d35;border-color:rgba(160,190,230,.24);color:#f6fbff;box-shadow:0 24px 80px rgba(0,0,0,.30)}
html[data-theme="royal-dark"] .calendar-toolbar h1,html[data-theme="royal-dark"] .calendar-detail h2,html[data-theme="royal-dark"] .calendar-card h2,html[data-theme="royal-dark"] .meet-panel h2{color:#f6fbff !important}html[data-theme="royal-dark"] .calendar-toolbar p,html[data-theme="royal-dark"] .calendar-detail p{color:#b8c7dc !important}html[data-theme="royal-dark"] .mini-calendar span{background:#102642;color:#adc0da}html[data-theme="royal-dark"] .mini-calendar .has-event{background:#123b73;color:#bfdbfe}html[data-theme="royal-dark"] .mini-calendar .urgent{background:#451a03;color:#fde68a}html[data-theme="royal-dark"] .mini-calendar .today{outline-color:#60A5FA;background:#08192f;color:#fff}html[data-theme="royal-dark"] .week-head,html[data-theme="royal-dark"] .hour-cell{background:#102642;color:#e8f1ff;border-color:rgba(160,190,230,.20)}html[data-theme="royal-dark"] .day-cell{background:#0b1930;border-color:rgba(160,190,230,.20)}html[data-theme="royal-dark"] .day-cell.today{background:#102642}html[data-theme="royal-dark"] .calendar-form input,html[data-theme="royal-dark"] .calendar-form select,html[data-theme="royal-dark"] .calendar-form textarea{background:#08192f;color:#f6fbff;border-color:rgba(160,190,230,.24)}html[data-theme="royal-dark"] .calendar-form label{color:#adc0da}html[data-theme="royal-dark"] .transcript-box{background:#08192f;border-color:rgba(160,190,230,.24);color:#e8f1ff}html[data-theme="royal-dark"] .calendar-notice{background:rgba(37,99,235,.14);border-color:rgba(96,165,250,.25);color:#bfdbfe}
@media(max-width:1180px){.calendar-shell{grid-template-columns:1fr}.calendar-card,.calendar-side-panel{order:initial}.calendar-week{min-height:420px}}
@media(max-width:720px){.calendar-form .form-row{grid-template-columns:1fr}.calendar-toolbar{align-items:flex-start}.calendar-actions{width:100%}.calendar-btn{width:100%;text-align:center}.directory-hero{min-height:92vh}}
.login-social a.google-btn,.social-auth a.google-btn{width:100%;box-sizing:border-box}.social-auth a{text-decoration:none}.hero-actions .google-btn{margin-top:8px}.law-nav .register-visible-link{box-shadow:0 14px 32px rgba(37,99,235,.22)}

/* Contraste alto para textos azules sobre fondos oscuros */
html[data-theme="royal-dark"] .calendar-btn.secondary,
html[data-theme="royal-dark"] .meet-link,
html[data-theme="royal-dark"] .mini-calendar .has-event,
html[data-theme="royal-dark"] .mini-calendar .today{color:#fff !important;}
html[data-theme="royal-dark"] .image-caption h1,
html[data-theme="royal-dark"] .image-caption p{color:#fff !important;}


/* ==========================================================
   LEGASIST 2026-07 | Registro/Login profesional y contraste
   ========================================================== */
body.login-role-page.login-role-abogado,
body.lawyer-register-premium{
  position:relative;
  isolation:isolate;
  background:#080b10 !important;
}
body.login-role-page.login-role-abogado::before,
body.lawyer-register-premium::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-2;
  background:url('../img/vs.png') center/cover no-repeat;
  filter:grayscale(.08) contrast(1.04) brightness(.72);
}
body.login-role-page.login-role-abogado::after,
body.lawyer-register-premium::after{
  content:"";
  position:fixed;
  inset:0;
  z-index:-1;
  background:
    linear-gradient(90deg,rgba(5,7,10,.88),rgba(17,24,39,.72) 46%,rgba(17,24,39,.42)),
    radial-gradient(circle at 74% 16%,rgba(255,255,255,.10),transparent 28%);
  pointer-events:none;
}
body.login-role-page.login-role-abogado .topbar,
body.login-role-page.login-role-abogado .footer,
body.lawyer-register-premium .law-topbar,
body.lawyer-register-premium .stepper,
body.lawyer-register-premium .law-footer,
body.lawyer-register-premium .flow-footer{
  position:relative;
  z-index:1;
  background:rgba(255,255,255,.88) !important;
  border-color:rgba(255,255,255,.35) !important;
  backdrop-filter:blur(18px);
}
body.login-role-page.login-role-abogado .login-hero,
body.login-role-page.login-role-abogado .login-shell,
body.lawyer-register-premium .funnel-head,
body.lawyer-register-premium .funnel-main{
  position:relative;
  z-index:1;
}
body.login-role-page.login-role-abogado .login-shell{
  grid-template-columns:minmax(410px,.72fr) minmax(0,1.28fr) !important;
}
body.login-role-page.login-role-abogado .login-card,
body.lawyer-register-premium .form-panel{
  background:rgba(255,255,255,.94) !important;
  border:1px solid rgba(229,231,235,.82) !important;
  box-shadow:0 28px 80px rgba(0,0,0,.22) !important;
  backdrop-filter:blur(18px);
}
body.login-role-page.login-role-abogado .login-image-panel,
body.lawyer-register-premium .funnel-side--formal{
  background:#0b1118 !important;
  border:1px solid rgba(255,255,255,.18) !important;
  box-shadow:0 28px 80px rgba(0,0,0,.28) !important;
}
body.login-role-page.login-role-abogado .login-image-panel img,
body.lawyer-register-premium .funnel-side__image img{
  filter:grayscale(.04) contrast(1.05) brightness(.92);
  object-position:center;
}
body.login-role-page.login-role-abogado .login-image-panel::after,
body.lawyer-register-premium .funnel-side--formal::after{
  background:
    linear-gradient(90deg,rgba(5,7,10,.88),rgba(17,24,39,.36) 58%,rgba(17,24,39,.12)),
    linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.52)) !important;
}
body.login-role-page.login-role-abogado .image-caption,
body.lawyer-register-premium .funnel-side--formal .law-kicker,
body.lawyer-register-premium .side-point{
  background:rgba(17,24,39,.58) !important;
  border-color:rgba(255,255,255,.22) !important;
  backdrop-filter:blur(16px);
}
body.login-role-page.login-role-abogado .login-kicker,
body.lawyer-register-premium .law-kicker{
  background:#f3f4f6 !important;
  color:#111827 !important;
  border-color:#d1d5db !important;
}
body.login-role-page.login-role-abogado .login-button,
body.login-role-page.login-role-abogado .nav-links .button.primary,
body.lawyer-register-premium .law-btn--primary{
  background:linear-gradient(135deg,#111827,#374151) !important;
  color:#ffffff !important;
  border-color:#111827 !important;
  box-shadow:0 18px 38px rgba(17,24,39,.22) !important;
}
body.login-role-page.login-role-abogado .google-btn,
body.lawyer-register-premium .google-btn{
  background:#ffffff !important;
  color:#111827 !important;
  border-color:#d1d5db !important;
}
body.lawyer-register-premium .funnel-head{
  background:rgba(255,255,255,.88) !important;
  border-bottom:1px solid rgba(255,255,255,.36) !important;
  backdrop-filter:blur(18px);
}
body.lawyer-register-premium .funnel-head h1,
body.lawyer-register-premium .funnel-head p{
  color:#111827 !important;
}
body.lawyer-register-premium .form-section,
body.lawyer-register-premium .profile-choice,
body.lawyer-register-premium .declaration,
body.lawyer-register-premium .lawyer-register-note{
  background:rgba(255,255,255,.94) !important;
  color:#374151 !important;
  border-color:#d8dde6 !important;
}
body.lawyer-register-premium .legal-terms-link,
body.lawyer-register-premium .form-actions a{
  color:#111827 !important;
  font-weight:900;
}
body.lawyer-register-premium .declaration strong[style],
body.lawyer-register-premium .declaration strong{
  color:#0f5132 !important;
}
html[data-theme="royal-dark"] body.login-role-page.login-role-abogado::before,
html[data-theme="royal-dark"] body.lawyer-register-premium::before{
  filter:grayscale(.16) contrast(1.06) brightness(.50);
}
html[data-theme="royal-dark"] body.login-role-page.login-role-abogado::after,
html[data-theme="royal-dark"] body.lawyer-register-premium::after{
  background:
    linear-gradient(90deg,rgba(2,6,12,.94),rgba(8,13,22,.82) 52%,rgba(17,24,39,.58)),
    radial-gradient(circle at 74% 16%,rgba(255,255,255,.06),transparent 30%);
}
html[data-theme="royal-dark"] body.login-role-page.login-role-abogado .topbar,
html[data-theme="royal-dark"] body.login-role-page.login-role-abogado .footer,
html[data-theme="royal-dark"] body.lawyer-register-premium .law-topbar,
html[data-theme="royal-dark"] body.lawyer-register-premium .stepper,
html[data-theme="royal-dark"] body.lawyer-register-premium .law-footer,
html[data-theme="royal-dark"] body.lawyer-register-premium .flow-footer,
html[data-theme="royal-dark"] body.lawyer-register-premium .funnel-head{
  background:rgba(11,17,24,.88) !important;
  border-color:rgba(255,255,255,.10) !important;
}
html[data-theme="royal-dark"] body.login-role-page.login-role-abogado .login-card,
html[data-theme="royal-dark"] body.lawyer-register-premium .form-panel,
html[data-theme="royal-dark"] body.lawyer-register-premium .form-section,
html[data-theme="royal-dark"] body.lawyer-register-premium .profile-choice,
html[data-theme="royal-dark"] body.lawyer-register-premium .declaration,
html[data-theme="royal-dark"] body.lawyer-register-premium .lawyer-register-note{
  background:rgba(15,22,32,.94) !important;
  border-color:rgba(255,255,255,.11) !important;
  color:#e5e7eb !important;
}
html[data-theme="royal-dark"] body.login-role-page.login-role-abogado .login-kicker,
html[data-theme="royal-dark"] body.lawyer-register-premium .law-kicker{
  background:#111821 !important;
  color:#f8fafc !important;
  border-color:rgba(255,255,255,.12) !important;
}
html[data-theme="royal-dark"] body.lawyer-register-premium .funnel-head h1,
html[data-theme="royal-dark"] body.lawyer-register-premium .funnel-head p,
html[data-theme="royal-dark"] body.lawyer-register-premium .legal-terms-link,
html[data-theme="royal-dark"] body.lawyer-register-premium .form-actions a{
  color:#f8fafc !important;
}
html[data-theme="royal-dark"] body.login-role-page.login-role-abogado .google-btn,
html[data-theme="royal-dark"] body.lawyer-register-premium .google-btn{
  background:#0b1118 !important;
  color:#f8fafc !important;
  border-color:rgba(255,255,255,.14) !important;
}
html[data-theme="royal-dark"] .notice.ok{color:#b7f7d9 !important;}
html[data-theme="royal-dark"] .notice.error{color:#fecdd3 !important;}
/* Contraste amplio en modo oscuro: evita textos perdidos por herencias azules o grises. */
html[data-theme="royal-dark"] .dash-main,
html[data-theme="royal-dark"] .dash-topbar,
html[data-theme="royal-dark"] .dash-card,
html[data-theme="royal-dark"] .content-card,
html[data-theme="royal-dark"] .item,
html[data-theme="royal-dark"] .doc,
html[data-theme="royal-dark"] .case-mini,
html[data-theme="royal-dark"] .scan-card,
html[data-theme="royal-dark"] .recover-card,
html[data-theme="royal-dark"] .search-panel,
html[data-theme="royal-dark"] .trust-card,
html[data-theme="royal-dark"] .hero-metrics,
html[data-theme="royal-dark"] .profile-choice,
html[data-theme="royal-dark"] .declaration{
  color:#e8f1ff !important;
}
html[data-theme="royal-dark"] .dash-main a:not(.dash-btn):not(.button):not(.btn),
html[data-theme="royal-dark"] .form-actions a,
html[data-theme="royal-dark"] .declaration a,
html[data-theme="royal-dark"] .footer a,
html[data-theme="royal-dark"] .law-footer a{
  color:#bfdbfe !important;
}
html[data-theme="royal-dark"] [style*="color:#1259bd"],
html[data-theme="royal-dark"] [style*="color: #1259bd"],
html[data-theme="royal-dark"] [style*="color:#0f4ea8"],
html[data-theme="royal-dark"] [style*="color: #0f4ea8"]{
  color:#bfdbfe !important;
}
html[data-theme="royal-dark"] [style*="color:#0f766e"],
html[data-theme="royal-dark"] [style*="color: #0f766e"]{
  color:#b7f7d9 !important;
}
@media(max-width:980px){
  body.login-role-page.login-role-abogado .login-shell{grid-template-columns:1fr !important;}
  body.login-role-page.login-role-abogado .login-image-panel{min-height:430px !important;}
}
@media(max-width:720px){
  body.lawyer-register-premium .funnel-head{padding:30px 0 !important;}
  body.lawyer-register-premium .funnel-side--formal{min-height:390px !important;}
}
/* Corrección final: las etiquetas sobre imagen del registro profesional conservan texto blanco. */
body.lawyer-register-premium .funnel-side--formal .law-kicker,
html[data-theme="royal-dark"] body.lawyer-register-premium .funnel-side--formal .law-kicker{
  color:#ffffff !important;
}

/* 2026-07 | Refuerzo global de contraste en modo oscuro */
html[data-theme="royal-dark"] .dash-btn,
html[data-theme="royal-dark"] .button,
html[data-theme="royal-dark"] .btn,
html[data-theme="royal-dark"] .law-btn,
html[data-theme="royal-dark"] button:not(.theme-toggle):not(.password-toggle){
  color:#f8fafc;
}
html[data-theme="royal-dark"] .dash-btn.secondary,
html[data-theme="royal-dark"] .button.secondary,
html[data-theme="royal-dark"] .btn-secondary,
html[data-theme="royal-dark"] .badge-soft,
html[data-theme="royal-dark"] .selected-date span,
html[data-theme="royal-dark"] .helper-card,
html[data-theme="royal-dark"] .event-chip,
html[data-theme="royal-dark"] .quick-chip{
  color:#f8fafc !important;
}
html[data-theme="royal-dark"] .dash-topbar,
html[data-theme="royal-dark"] .dash-sidebar,
html[data-theme="royal-dark"] .day-panel,
html[data-theme="royal-dark"] .calendar-board,
html[data-theme="royal-dark"] .content-card,
html[data-theme="royal-dark"] .empty,
html[data-theme="royal-dark"] .helper-card,
html[data-theme="royal-dark"] .form-section,
html[data-theme="royal-dark"] .lawyer-register-note,
html[data-theme="royal-dark"] .register-redirect{
  color:var(--text) !important;
}
html[data-theme="royal-dark"] .topbar a,
html[data-theme="royal-dark"] .nav-links a,
html[data-theme="royal-dark"] .law-nav a,
html[data-theme="royal-dark"] .footer-links a,
html[data-theme="royal-dark"] .law-footer-links a,
html[data-theme="royal-dark"] .dash-menu a,
html[data-theme="royal-dark"] .sidebar-action{
  color:#e8f1ff !important;
}
html[data-theme="royal-dark"] .topbar a:hover,
html[data-theme="royal-dark"] .nav-links a:hover,
html[data-theme="royal-dark"] .law-nav a:hover,
html[data-theme="royal-dark"] .footer-links a:hover,
html[data-theme="royal-dark"] .law-footer-links a:hover,
html[data-theme="royal-dark"] .dash-menu a:hover,
html[data-theme="royal-dark"] .sidebar-action:hover{
  color:#ffffff !important;
}
html[data-theme="royal-dark"] .hero-stat span,
html[data-theme="royal-dark"] .calendar-title p,
html[data-theme="royal-dark"] .helper-card p,
html[data-theme="royal-dark"] .helper-card li,
html[data-theme="royal-dark"] .content-card p,
html[data-theme="royal-dark"] .selected-date p,
html[data-theme="royal-dark"] .field-help{
  color:#c5d3e6 !important;
}
html[data-theme="royal-dark"] .notice.ok{color:#9ff3d0 !important;border-color:rgba(52,211,153,.35) !important;background:rgba(5,150,105,.14) !important}
html[data-theme="royal-dark"] .notice.error{color:#fecaca !important;border-color:rgba(248,113,113,.34) !important;background:rgba(127,29,29,.18) !important}
html[data-theme="royal-dark"] .hero-stat,
html[data-theme="royal-dark"] .register-banner,
html[data-theme="royal-dark"] .agenda-hero{
  border-color:rgba(255,255,255,.14) !important;
}
