:root{
    color-scheme:dark;
  /* ── Tipografía ──
     serif : carátulas, títulos de caso, texto de norma (Source Serif 4)
     sans  : toda la interfaz (IBM Plex Sans)
     mono  : identificadores legales, fechas, montos (IBM Plex Mono) */
  --serif:'Source Serif 4',Georgia,'Times New Roman',serif;
  --sans:'IBM Plex Sans',system-ui,-apple-system,'Segoe UI',sans-serif;
  --mono:'IBM Plex Mono',ui-monospace,'SFMono-Regular',Menlo,monospace;

    --navy:#111722; --navy-deep:#080b11; --navy-mid:#1d2635;
    /* Superficies */
    --canvas:#0a0d13;      /* fondo de la página */
    --card:#121722;        /* tarjetas y bloques */
    --card-2:#181f2c;      /* realce al pasar el cursor */
    --line:#232a37;        /* bordes */
    --line-2:#1a202b;      /* separadores internos */
    /* Texto — todos medidos sobre la tarjeta */
    --text:#e8ecf3;        /* principal  13.6:1 */
    --title:#f6f8fb;       /* títulos    14.6:1 */
    --muted:#9ba6b6;       /* secundario  7.8:1 */
    --dim:#7b8696;         /* tenue       5.3:1 */
    --soft:#96a2b2;
    --gold:#d9b978;        /* acento      8.4:1 */
    --gold-dk:#d9b978;
    --gold-line:#b8924f;   /* solo filetes, nunca texto */
    --red:#ff9d94; --amber:#f0c069; --blue:#8fbaf5;
    --orange:#f5ab77; --green:#7fd4a6;

  /* ── Tokens añadidos al canalizar colores sueltos (mismo valor que antes) ── */
  --blanco:#fff;
  --enfasis:#fff;
  --canvas-hondo:#080b10;
  --dim-2:#798493;
  --soft-2:#8994a4;
  --red-2:#f0959c;
  --gold-claro:#e8cd94;
  --navy-hondo:#090c12;
  --canvas-2:#0e131c;
  /* Superposiciones: en claro estos dos se invierten */
  --realce-rgb:255,255,255;
  --gold-rgb:217,185,120;
  --sombra-rgb:0,0,0;

  }
  *{margin:0;padding:0;box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  html,body{
    width:100%;overflow-x:hidden;
    color-scheme:dark;
    background-color:var(--canvas);
    -webkit-text-size-adjust:100%;
  }
  body{
    font-family:var(--sans);
    background:var(--canvas);color:var(--text);
    -webkit-font-smoothing:antialiased;
    padding-bottom:env(safe-area-inset-bottom);
    overflow-x:hidden;
    max-width:100vw;
  }
  h1,h2,h3,h4{font-family:var(--serif);}
  button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit;}
  input,select{font-family:inherit;}
  .num{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:.94em;letter-spacing:-.01em;}
  :focus-visible{outline:2px solid var(--gold);outline-offset:2px;border-radius:2px;}

  /* Quien tenga activada la reducción de movimiento no ve animaciones */
  @media (prefers-reduced-motion:reduce){
    *,*::before,*::after{
      animation-duration:.01ms !important;
      animation-iteration-count:1 !important;
      transition-duration:.01ms !important;
      scroll-behavior:auto !important;
    }
  }
  ::selection{background:var(--gold);color:var(--navy);}

  /* ===== LOGIN ===== */
  #login{min-height:100vh;display:flex;position:relative;background:var(--canvas);}
  .login-riel{
    display:none;
  }
  @media(min-width:900px){
    #login{align-items:stretch;justify-content:center;}
    .login-riel{
      display:flex;flex-direction:column;justify-content:center;
      width:42%;max-width:460px;padding:60px 56px;position:relative;overflow:hidden;
      border-right:1px solid rgba(var(--gold-rgb),.16);
    }
    .login-riel .riel-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
      object-position:center 70%;z-index:0;}
    .login-riel .riel-overlay{position:absolute;inset:0;z-index:1;
      background:linear-gradient(155deg,rgba(15,32,56,.88),rgba(10,23,40,.94) 65%);}
    .login-riel::before{
      content:"";position:absolute;inset:26px;border:1px solid rgba(var(--gold-rgb),.14);pointer-events:none;z-index:2;
    }
    .login-riel>*{position:relative;z-index:2;}
    .login-riel .marca-grande{width:64px;height:auto;margin-bottom:34px;opacity:.92;color:var(--gold);}
    .login-riel .lema{
      font-family:var(--serif);font-style:italic;font-size:1.5rem;line-height:1.5;
      color:var(--text);max-width:20ch;margin-bottom:28px;
    }
    .login-riel .renglones{margin-top:auto;}
    .login-riel .renglon{
      display:flex;align-items:baseline;gap:12px;padding:13px 0;border-top:1px solid rgba(var(--realce-rgb),.09);
      font-size:.78rem;color:var(--soft);
    }
    .login-riel .renglon:last-child{border-bottom:1px solid rgba(var(--realce-rgb),.09);}
    .login-riel .renglon b{font-family:var(--serif);font-size:1.5rem;font-weight:600;color:var(--gold);min-width:1.4em;}
    .login-panel{
      flex:1;display:flex;align-items:center;justify-content:center;padding:28px 22px;position:relative;
      background:radial-gradient(ellipse 900px 700px at 50% -8%,rgba(var(--gold-rgb),.07),transparent 60%);
    }
  }
  @media(max-width:899px){
    .login-panel{
      min-height:100vh;width:100%;display:flex;align-items:center;justify-content:center;padding:28px 22px;position:relative;
      background:radial-gradient(ellipse 900px 700px at 50% -8%,rgba(var(--gold-rgb),.09),transparent 60%),var(--canvas);
      background:radial-gradient(ellipse at 25% 15%,var(--navy-mid) 0%,transparent 55%),linear-gradient(160deg,var(--navy),var(--canvas-hondo));
    }
    .login-panel::after{content:"";position:absolute;inset:20px;border:1px solid rgba(var(--gold-rgb),.18);pointer-events:none;}
  }
  .login-card{width:100%;max-width:390px;position:relative;z-index:2;
    background:rgba(15,32,56,.55);border:1px solid rgba(var(--gold-rgb),.18);border-radius:14px;
    padding:38px 34px;box-shadow:0 24px 60px rgba(var(--sombra-rgb),.35);backdrop-filter:blur(6px);}
  .logo{display:flex;align-items:center;gap:11px;justify-content:center;transition:all .4s cubic-bezier(.34,.1,.68,.55);cursor:pointer;padding:4px 8px;border-radius:6px;}
  .logo:hover{transform:scale(1.05);filter:drop-shadow(0 0 8px rgba(var(--gold-rgb),.3));}
  .logo svg{width:26px;height:auto;display:block;color:var(--gold);transition:transform .4s cubic-bezier(.34,.1,.68,.55);}
  .logo img{width:38px;height:auto;display:block;flex-shrink:0;}
  .logo .word{font-family:var(--serif);font-size:2rem;font-weight:600;letter-spacing:.16em;color:var(--enfasis);padding-left:.16em;}
  .login-tag{text-align:center;color:var(--soft);font-size:.75rem;letter-spacing:.18em;text-transform:uppercase;margin-top:11px;}
  .login-rule{width:44px;height:1px;background:var(--gold-line);margin:20px auto 42px;opacity:.6;}

  .modo-acceso{display:flex;gap:22px;border-bottom:1px solid rgba(var(--realce-rgb),.1);margin-top:30px;position:relative;}
  .modo-b{padding:0 0 12px;font-size:.72rem;letter-spacing:.03em;color:var(--soft);background:transparent;position:relative;transition:color .18s;}
  .modo-b:hover{color:var(--enfasis);}
  .modo-b.on{color:var(--gold);font-weight:600;}
  .modo-liquid{position:absolute;left:0;bottom:-1px;height:2px;width:0;background:var(--gold);transition:left .4s cubic-bezier(.34,1.56,.64,1),width .4s cubic-bezier(.34,1.56,.64,1);pointer-events:none;}

  .sub-tabs{display:flex;gap:20px;border-bottom:1px solid rgba(var(--realce-rgb),.08);margin-bottom:26px;}
  .sub-b{padding:0 0 10px;font-size:.74rem;color:var(--soft);border:none;background:transparent;position:relative;transition:color .18s;}
  .sub-b:hover{color:var(--enfasis);}
  .sub-b.on{color:var(--gold);font-weight:600;}
  .sub-b.on::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--gold);}

  .aviso-fase{
    font-size:.76rem;color:var(--soft);line-height:1.65;margin-bottom:22px;
    padding:12px 14px;background:rgba(var(--gold-rgb),.08);border-left:2px solid var(--gold-line);border-radius:0 3px 3px 0;
  }
  .campo-fijo{
    background:rgba(var(--realce-rgb),.03);border:1px solid rgba(var(--realce-rgb),.1);border-radius:3px;
    padding:14px 15px;color:var(--enfasis);font-size:.95rem;
  }
  .fld{margin-bottom:20px;position:relative;}
  .fld label{display:block;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--soft);margin-bottom:9px;}
  .fld .fld-ic{position:absolute;left:14px;bottom:15px;width:16px;height:16px;color:var(--soft);pointer-events:none;z-index:1;}
  .fld.con-icono input{padding-left:42px;}
  .fld input{width:100%;background:rgba(var(--realce-rgb),.06);border:1px solid rgba(var(--realce-rgb),.16);border-radius:3px;color:var(--enfasis);padding:14px 15px;font-size:.95rem;transition:border-color .22s,background .22s;}
  .fld input::placeholder{color:rgba(var(--realce-rgb),.4);}
  .fld input:focus{outline:none;border-color:var(--gold);background:rgba(var(--realce-rgb),.1);}
  #login-err,#rg-err,#bf-err,#bu-err{color:var(--red-2);font-size:.78rem;min-height:1.1em;margin:-8px 0 12px;opacity:0;transition:opacity .2s;}
  #login-err.on,#rg-err.on,#bf-err.on,#bu-err.on{opacity:1;}
  .btn-acceso{
    width:100%;background:var(--gold);color:var(--canvas-hondo);padding:15px;
    font-size:.76rem;letter-spacing:.18em;text-transform:uppercase;font-weight:700;
    border-radius:3px;margin-top:10px;transition:background .22s,transform .12s;
    display:flex;align-items:center;justify-content:center;gap:10px;
  }
  .btn-acceso::before{content:"→";font-size:1rem;font-weight:400;}
  .btn-acceso:hover{background:var(--gold-claro);}
  .btn-acceso:active{transform:translateY(1px);}
  .btn-acceso:disabled{opacity:.55;cursor:default;}
  .opcional{text-transform:none;letter-spacing:.02em;font-size:.66rem;color:var(--dim);font-weight:400;margin-left:6px;}

  #banner-local{
    position:fixed;top:0;left:0;right:0;z-index:600;
    background:#3a2a0f;color:var(--amber);border-bottom:1px solid rgba(240,192,105,.3);
    padding:9px 44px 9px 14px;font-size:.72rem;line-height:1.5;text-align:center;
  }
  #cerrar-banner-local{
    position:absolute;right:10px;top:50%;transform:translateY(-50%);
    color:var(--amber);font-size:1.2rem;line-height:1;padding:2px 8px;
  }
  #cerrar-banner-local:hover{color:var(--enfasis);}
  body.con-banner #login,body.con-banner #app{padding-top:38px;}
  .sec-tit{font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--dim);font-weight:600;margin:18px 0 9px;}
  .sec-tit:first-child{margin-top:0;}
  .beta-p{font-size:.84rem;color:var(--muted);line-height:1.7;margin-bottom:12px;}
  .beta-p b{color:var(--text);}
  .medidor{height:3px;background:rgba(var(--realce-rgb),.12);border-radius:2px;margin-top:9px;overflow:hidden;}
  .medidor i{display:block;height:100%;width:0;border-radius:2px;transition:width .3s,background .3s;}
  .medidor-t{font-size:.68rem;color:var(--soft-2);margin-top:6px;min-height:1em;}
  .ver-clave{
    position:absolute;right:12px;top:50%;transform:translateY(-50%);
    color:var(--soft-2);font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;
    padding:6px;font-weight:600;
  }
  .ver-clave:hover{color:var(--gold);}
  .campo-clave{position:relative;}
  .campo-clave input{padding-right:62px;}
  .login-note{text-align:center;color:var(--soft-2);font-size:.71rem;margin-top:28px;line-height:1.7;}

  /* ── Campos: ayuda persistente bajo el campo (no placeholders) ── */
  .fld-in{position:relative;}
  .fld .fld-in .fld-ic{top:50%;bottom:auto;transform:translateY(-50%);}
  .fld-hint{font-size:.72rem;line-height:1.5;color:#9fb2ca;margin-top:7px;display:flex;align-items:flex-start;gap:6px;transition:color .2s;}
  .fld-hint::before{content:"";flex:0 0 auto;width:5px;height:5px;border-radius:50%;background:currentColor;opacity:.55;margin-top:.5em;transition:all .2s;}
  .fld-hint.ok{color:var(--green);}
  .fld-hint.ok::before{content:"✓";width:auto;height:auto;background:none;opacity:1;margin-top:0;font-size:.72rem;font-weight:700;}
  .fld-hint.bad{color:var(--red-2);}
  .fld input[aria-invalid="true"]{border-color:var(--red-2);}
  .medidor + .fld-hint{margin-top:8px;}
  .medidor-t:empty,.medidor-t{margin-top:2px;}
  /* ── Casilla de aceptación legal ── */
  .consent{display:flex;align-items:flex-start;gap:11px;margin:4px 0 18px;cursor:pointer;font-size:.76rem;line-height:1.6;color:var(--soft);text-align:left;}
  .consent input{position:absolute;opacity:0;width:1px;height:1px;}
  .consent .cbox{flex:0 0 18px;width:18px;height:18px;margin-top:1px;border:1px solid rgba(var(--realce-rgb),.3);border-radius:3px;background:rgba(var(--realce-rgb),.05);position:relative;transition:all .2s;}
  .consent .cbox::after{content:"";position:absolute;left:5px;top:1px;width:5px;height:10px;border:solid var(--canvas-hondo);border-width:0 2px 2px 0;transform:rotate(45deg) scale(0);transition:transform .18s cubic-bezier(.34,1.56,.64,1);}
  .consent input:checked + .cbox{background:var(--gold);border-color:var(--gold);}
  .consent input:checked + .cbox::after{transform:rotate(45deg) scale(1);}
  .consent input:focus-visible + .cbox{outline:2px solid var(--gold);outline-offset:2px;}
  .consent.falta .cbox{border-color:var(--red-2);box-shadow:0 0 0 3px rgba(240,149,156,.15);}
  .consent a{color:var(--gold);text-decoration:underline;text-underline-offset:2px;}
  .legal-links{display:flex;justify-content:center;flex-wrap:wrap;gap:4px 10px;margin-top:12px !important;}
  .legal-links a,.legal-links button{color:var(--soft-2);text-decoration:underline;text-underline-offset:2px;font-size:inherit;padding:0;}
  .legal-links a:hover,.legal-links button:hover{color:var(--gold);}

  /* ===== APP ===== */
  #app{display:none;min-height:100vh;flex-direction:column;}
  .hdr{background:var(--navy);color:var(--enfasis);box-shadow:0 1px 0 rgba(184,146,79,.28);position:relative;}
  .hdr-top{display:flex;align-items:center;justify-content:space-between;padding:15px 22px;gap:14px;position:relative;z-index:1;flex-wrap:wrap;row-gap:10px;}
  .hdr-top .logo .word{font-size:1.4rem;letter-spacing:.14em;}
  .hdr-top .logo svg{width:19px;height:auto;}
  .hdr-top .logo img{width:24px;height:auto;}
  .hdr-right{display:flex;align-items:center;gap:12px;flex-wrap:wrap;row-gap:8px;}
  .who{text-align:right;line-height:1.35;}
  .who b{display:block;font-size:.82rem;font-weight:500;color:var(--enfasis);}
  .who span{font-size:.68rem;color:var(--soft);}
  .av{width:34px;height:34px;border-radius:50%;background:var(--gold);color:var(--navy-deep);display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-weight:700;font-size:.9rem;flex-shrink:0;box-shadow:0 0 0 1px rgba(var(--realce-rgb),.15);}
  #btn-out{color:var(--soft);border:1px solid rgba(var(--realce-rgb),.22);padding:7px 13px;border-radius:3px;font-size:.7rem;transition:all .2s;}
  #btn-out:hover{color:var(--navy);background:var(--gold);border-color:var(--gold);}
  @media(max-width:660px){.who{display:none;}}
  @media(max-width:480px){
    #btn-panel-preguntar{padding:6px 9px !important;font-size:.66rem !important;}
    .hdr-top{gap:8px;}
    .hdr-right{gap:8px;}
  }
  #insignia-bufete{display:inline-flex;align-items:center;}
  #insignia-bufete .chip{white-space:nowrap;}

  .bell{position:relative;padding:6px;display:flex;align-items:center;}
  .bell svg{width:19px;height:19px;stroke:var(--soft);transition:stroke .2s;}
  .bell:hover svg{stroke:var(--gold);}
  .bell .dot{position:absolute;top:2px;right:2px;min-width:16px;height:16px;border-radius:9px;background:#c0392b;color:var(--enfasis);font-size:.6rem;font-weight:600;display:flex;align-items:center;justify-content:center;padding:0 4px;font-variant-numeric:tabular-nums;box-shadow:0 0 0 2px var(--navy);}
  .bell .dot.hide{display:none;}

  .hdr-search{padding:0 22px 14px;}
  .sbox{display:flex;align-items:center;gap:11px;max-width:560px;background:rgba(var(--realce-rgb),.07);border:1px solid rgba(var(--realce-rgb),.15);border-radius:3px;padding:11px 15px;cursor:pointer;transition:border-color .22s,background .22s;}
  .sbox:hover{border-color:var(--gold);background:rgba(var(--realce-rgb),.1);}
  .sbox svg{width:15px;height:15px;stroke:var(--soft);flex-shrink:0;}
  .sbox span{color:var(--soft);font-family:var(--serif);font-style:italic;font-size:1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;}
  .sbox kbd{font-family:var(--sans);font-size:.63rem;color:var(--soft-2);border:1px solid rgba(var(--realce-rgb),.24);border-radius:2px;padding:2px 6px;flex-shrink:0;}
  @media(max-width:620px){.sbox kbd{display:none;}}

  .tabs{display:flex;background:var(--navy-deep);overflow-x:auto;scrollbar-width:none;position:relative;padding-top:26px;}
  .tabs::-webkit-scrollbar{display:none;}
  .tab-bubble{position:absolute;top:2px;left:0;width:52px;height:52px;margin-left:0;background:var(--gold);border-radius:50%;box-shadow:0 6px 16px rgba(var(--sombra-rgb),.28);transition:left .45s cubic-bezier(.34,1.56,.64,1);z-index:0;pointer-events:none;}
  .tab{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:2px;flex-shrink:0;width:88px;height:56px;padding:0 6px 10px;color:var(--soft);font-size:.68rem;letter-spacing:.03em;white-space:nowrap;position:relative;z-index:1;}
  .tab svg{width:16px;height:16px;flex-shrink:0;transition:color .3s ease,transform .4s cubic-bezier(.34,1.56,.64,1);}
  .tab .tab-lbl{opacity:0;height:0;overflow:hidden;transition:opacity .2s ease;font-weight:600;}
  .tab:hover svg{color:var(--navy);transform:translateY(-24px);}
  .tab:hover .tab-lbl{opacity:1;height:auto;color:var(--gold);margin-top:2px;}
  .tab.on svg{color:var(--navy);transform:translateY(-24px);}
  .tab.on .tab-lbl{opacity:1;height:auto;color:var(--gold);margin-top:2px;}

  main{flex:1;padding:32px 22px 60px;max-width:1080px;width:100%;margin:0 auto;}
  .panel{display:none;}
  .panel.on{display:block;animation:fade .28s cubic-bezier(.2,.7,.3,1);}
  @keyframes fade{from{opacity:0;transform:translateY(7px);}to{opacity:1;transform:none;}}

  .p-head{margin-bottom:28px;padding-bottom:18px;border-bottom:1px solid var(--line);}
  .p-head .kick{font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);font-weight:700;}
  .p-head h2{font-size:1.95rem;font-weight:600;margin-top:8px;color:var(--title);letter-spacing:-.01em;}
  .p-head p{color:var(--muted);font-size:.87rem;margin-top:7px;line-height:1.65;max-width:62ch;}

  .kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;margin-bottom:34px;}
  .kpi{background:var(--card);border:1px solid var(--line);border-radius:3px;padding:18px 18px 18px 21px;position:relative;overflow:hidden;
    transition:border-color .22s,transform .2s;}
  .kpi:hover{transform:translateY(-2px);border-color:#33465f;}
  .kpi::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--c);}
  .kpi .n{font-family:var(--serif);font-size:2.4rem;font-weight:700;line-height:1;color:var(--c);font-variant-numeric:tabular-nums;}
  .kpi .l{font-size:.8rem;color:var(--text);margin-top:9px;font-weight:500;line-height:1.4;}
  .kpi .s{font-size:.71rem;color:var(--muted);margin-top:5px;line-height:1.5;}
  .kpis .kpi:first-child{grid-column:span 2;padding:26px 26px 24px;}
  .kpis .kpi:first-child::before{width:100%;height:3px;bottom:auto;}
  .kpis .kpi:first-child .n{font-size:3.4rem;}
  .kpis .kpi:first-child .l{font-size:.88rem;}
  @media(max-width:560px){
    .kpis .kpi:first-child{grid-column:1 / -1;}
    .kpis .kpi:first-child .n{font-size:2.8rem;}
  }

  .two{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:start;}
  @media(max-width:820px){.two{grid-template-columns:1fr;}}

  .block{background:var(--card);border:1px solid var(--line);border-radius:3px;overflow:hidden;margin-bottom:20px;}
  .block-h{padding:15px 18px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:10px;background:rgba(var(--realce-rgb),.02);position:relative;}
  .block-h::before{content:"";position:absolute;left:18px;top:-1px;width:26px;height:3px;background:var(--gold-line);opacity:.75;}
  .block-h h3{font-size:1.18rem;font-weight:600;color:var(--title);}
  .block-h .mini{font-size:.7rem;color:var(--muted);white-space:nowrap;letter-spacing:.02em;}
  .block-b{padding:6px 0;}

  .row{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:14px 18px;border-bottom:1px solid var(--line-2);transition:background .16s,padding-left .16s;}
  .row:last-child{border-bottom:none;}
  .row:hover{background:var(--card-2);}
  .row.click{cursor:pointer;}
  .row.click:hover{background:var(--card-2);box-shadow:inset 3px 0 0 var(--gold);}
  .row-main{min-width:0;flex:1 1 190px;}
  .row .rt{font-size:.885rem;font-weight:500;color:var(--text);}
  .row .rs{font-size:.75rem;color:var(--muted);margin-top:4px;line-height:1.55;}
  .chip{font-size:.68rem;padding:4px 10px 4px 9px;border-radius:0;white-space:nowrap;font-weight:600;flex-shrink:0;font-variant-numeric:tabular-nums;letter-spacing:.03em;display:inline-flex;align-items:center;gap:7px;background:transparent;border-left:2px solid currentColor;}
  .chip:not(.sw)::before{display:none;}
  .c-red{color:var(--red);}
  .c-amber{color:var(--amber);}
  .c-blue{color:var(--blue);}
  .c-green{color:var(--green);}
  .c-gray{color:var(--muted);}
  .c-navy{color:#b9cbe4;}
  .c-orange{color:var(--orange);}

  .bar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;flex-wrap:wrap;}
  .btn{background:var(--gold);color:var(--canvas-hondo);font-weight:600;padding:10px 20px 10px 18px;font-size:.76rem;letter-spacing:.04em;
    clip-path:polygon(0 0,100% 0,100% calc(100% - 9px),calc(100% - 9px) 100%,0 100%);
    transition:background .2s,transform .12s;}
  .btn:hover{background:var(--gold-claro);}
  .btn:active{transform:translateY(1px);}
  .btn-ghost{background:transparent;border:1px solid var(--line);color:var(--text);padding:9px 16px;border-radius:3px;font-size:.76rem;letter-spacing:.04em;font-weight:500;transition:all .22s;}
  .btn-ghost:hover{border-color:var(--gold);background:rgba(var(--gold-rgb),.07);}
  .filters{display:flex;gap:7px;overflow-x:auto;scrollbar-width:none;margin-bottom:16px;padding-bottom:4px;}
  .filters::-webkit-scrollbar{display:none;}
  .f{background:transparent;border:1px solid var(--line);color:var(--muted);padding:7px 14px;border-radius:20px;font-size:.755rem;white-space:nowrap;flex-shrink:0;transition:all .2s;}
  .f:hover{border-color:var(--gold);color:var(--text);}
  .f.on{background:var(--gold);border-color:var(--gold);color:var(--canvas-hondo);font-weight:600;}
  .guia{padding:34px 24px;text-align:center;}
  .guia .gi{width:38px;height:38px;stroke:var(--gold);opacity:.5;margin-bottom:14px;}
  .guia h4{font-family:var(--serif);font-size:1.3rem;color:var(--title);font-weight:600;margin-bottom:8px;}
  .guia p{font-size:.85rem;color:var(--muted);line-height:1.7;max-width:44ch;margin:0 auto 18px;}
  .guia .paso{display:inline-flex;align-items:center;gap:8px;font-size:.78rem;color:var(--muted);
    background:rgba(var(--realce-rgb),.04);border:1px solid var(--line);border-radius:20px;padding:6px 14px;margin:3px;}
  .guia .paso b{color:var(--gold);}
  .empty{padding:28px 18px;text-align:center;color:var(--muted);font-size:.84rem;font-family:var(--serif);font-style:italic;font-size:1rem;}

  /* ===== TAREAS ===== */
  .task{display:flex;align-items:flex-start;gap:12px;padding:13px 18px;border-bottom:1px solid var(--line-2);cursor:pointer;transition:background .16s;}
  .task:last-of-type{border-bottom:none;}
  .task:hover{background:var(--card-2);}
  .cbox{width:17px;height:17px;border:1.5px solid #5d728a;border-radius:3px;flex-shrink:0;margin-top:1px;display:flex;align-items:center;justify-content:center;transition:all .18s;}
  .cbox svg{width:11px;height:11px;stroke:var(--blanco);stroke-width:3;opacity:0;transition:opacity .18s;}
  .task:hover .cbox{border-color:var(--gold);}
  .task.done .cbox{background:var(--green);border-color:var(--green);}
  .task.done .cbox svg{opacity:1;}
  .task-body{flex:1;min-width:0;}
  .task .tt{font-size:.885rem;line-height:1.45;display:block;}
  .task .tm{font-size:.73rem;color:var(--muted);margin-top:4px;display:block;}
  .task.done .tt{text-decoration:line-through;color:var(--dim);}
  .prio{font-size:.61rem;letter-spacing:.09em;text-transform:uppercase;padding:3px 8px;border-radius:2px;flex-shrink:0;margin-top:1px;font-weight:700;}
  .prio.alta{background:rgba(255,157,148,.14);color:var(--red);}
  .prio.media{background:rgba(240,192,105,.14);color:var(--amber);}
  .prio.baja{background:rgba(166,184,206,.11);color:var(--muted);}
  .add-task{display:flex;gap:8px;padding:14px 18px;border-top:1px solid var(--line);background:rgba(var(--realce-rgb),.02);}
  .add-task input{flex:1;min-width:0;border:1px solid var(--line);border-radius:3px;padding:9px 12px;font-size:.85rem;background:var(--canvas-2);color:var(--text);transition:border-color .2s;}
  .add-task input:focus{outline:none;border-color:var(--navy-mid);}

  /* ===== CARÁTULA ===== */
  .back{display:inline-flex;align-items:center;gap:7px;color:var(--gold-dk);font-size:.76rem;letter-spacing:.05em;font-weight:600;text-transform:uppercase;margin-bottom:18px;transition:color .2s;}
  .back svg{width:13px;height:13px;stroke:currentColor;}
  .back:hover{color:var(--navy);}
  .caso-hero{background:var(--navy);color:var(--enfasis);border-radius:5px;padding:28px 26px;margin-bottom:22px;position:relative;overflow:hidden;}
  .caso-hero::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--gold);}
  .caso-hero .materia{font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);font-weight:600;}
  .caso-hero h2{font-size:1.75rem;font-weight:600;margin:10px 0 5px;line-height:1.25;color:var(--enfasis);}
  .caso-hero .expn{font-family:var(--serif);font-style:italic;color:var(--soft);font-size:1rem;margin-bottom:20px;}
  .meta-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:18px;padding-top:20px;border-top:1px solid rgba(var(--realce-rgb),.16);}
  .meta .k{font-size:.63rem;letter-spacing:.15em;text-transform:uppercase;color:var(--soft);margin-bottom:6px;}
  .meta .v{font-size:.88rem;color:var(--enfasis);line-height:1.5;}

  .tipo-tabs{display:flex;gap:6px;overflow-x:auto;padding:12px 18px;border-bottom:1px solid var(--line);scrollbar-width:none;background:rgba(var(--realce-rgb),.02);}
  .tipo-tabs::-webkit-scrollbar{display:none;}
  .tt-btn{background:transparent;border:1px solid var(--line);color:var(--muted);padding:6px 12px;border-radius:16px;font-size:.72rem;white-space:nowrap;flex-shrink:0;transition:all .2s;}
  .tt-btn:hover{border-color:var(--gold);color:var(--text);}
  .tt-btn.on{background:var(--gold);border-color:var(--gold);color:var(--canvas-hondo);font-weight:600;}

  .tog-row{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:16px 18px;border-bottom:1px solid var(--line-2);}
  .tog-row:last-child{border-bottom:none;}
  .tog-row .tt{font-size:.88rem;font-weight:500;}
  .tog-row .ts{font-size:.75rem;color:var(--muted);margin-top:4px;line-height:1.5;}
  .sw{width:40px;height:22px;background:#33455e;border-radius:22px;position:relative;flex-shrink:0;cursor:pointer;transition:background .22s;}
  .sw.on{background:var(--green);}
  .sw::after{content:"";position:absolute;width:18px;height:18px;background:var(--blanco);border-radius:50%;top:2px;left:2px;transition:left .22s;box-shadow:0 1px 3px rgba(var(--sombra-rgb),.25);}
  .sw.on::after{left:20px;}

  /* ===== TOASTS ===== */
  #toasts{position:fixed;top:16px;right:16px;left:16px;z-index:500;display:flex;flex-direction:column;align-items:flex-end;gap:10px;pointer-events:none;}
  .toast{pointer-events:auto;width:100%;max-width:370px;background:var(--card);border-radius:5px;border-left:4px solid var(--c);box-shadow:0 16px 40px -12px rgba(15,32,56,.45);padding:14px 16px;display:flex;gap:12px;align-items:flex-start;animation:slidein .38s cubic-bezier(.2,.8,.3,1);}
  .toast.out{animation:slideout .3s ease forwards;}
  @keyframes slidein{from{opacity:0;transform:translateX(40px);}to{opacity:1;transform:none;}}
  @keyframes slideout{to{opacity:0;transform:translateX(40px);}}
  .toast .ic{width:19px;height:19px;flex-shrink:0;stroke:var(--c);margin-top:1px;}
  .toast .body{flex:1;min-width:0;}
  .toast .tl{font-size:.845rem;font-weight:600;color:var(--title);}
  .toast .td{font-size:.765rem;color:var(--muted);margin-top:4px;line-height:1.55;}
  .toast .x{color:var(--dim);font-size:1.15rem;line-height:1;padding:0 2px;flex-shrink:0;}
  .toast .x:hover{color:var(--navy);}

  /* ===== CAPAS / MODALES ===== */
  .capa{display:none;position:fixed;inset:0;z-index:700;background:rgba(10,23,40,.58);backdrop-filter:blur(2px);}
  .capa.on{display:block;}
  #notif .notif-box{position:absolute;top:64px;right:16px;left:16px;max-width:380px;margin-left:auto;background:var(--card);border-radius:5px;overflow:hidden;box-shadow:0 22px 54px -14px rgba(var(--sombra-rgb),.45);}
  .notif-h{padding:15px 18px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;}
  .notif-h h3{font-size:1.12rem;color:var(--title);}
  .notif-h button{color:var(--gold-dk);font-size:.72rem;font-weight:600;}
  .notif-h button:hover{color:var(--navy);}
  .notif-list{max-height:60vh;overflow-y:auto;}
  .nitem{display:flex;gap:12px;padding:14px 18px;border-bottom:1px solid var(--line-2);align-items:flex-start;}
  .nitem:last-child{border-bottom:none;}
  .nitem .nb{width:8px;height:8px;border-radius:50%;background:var(--c);flex-shrink:0;margin-top:6px;}
  .nitem .nt{font-size:.85rem;font-weight:500;color:var(--text);}
  .nitem .nd{font-size:.755rem;color:var(--muted);margin-top:4px;line-height:1.5;}
  .nitem .nh{font-size:.685rem;color:var(--dim);margin-top:6px;}

  #ov{padding:12vh 18px 18px;}
  .ovbox{max-width:620px;margin:0 auto;background:var(--card);border-radius:5px;overflow:hidden;box-shadow:0 26px 62px -14px rgba(var(--sombra-rgb),.45);}
  .ovtop{display:flex;align-items:center;gap:12px;padding:18px 20px;border-bottom:1px solid var(--line);}
  .ovtop svg{width:17px;height:17px;stroke:var(--gold-dk);flex-shrink:0;}
  .ovtop input{flex:1;min-width:0;border:none;font-size:1.06rem;font-family:var(--serif);font-style:italic;color:var(--text);background:transparent;}
  .ovtop input:focus{outline:none;}
  .ovtop input::placeholder{color:#93a0b0;}
  .ovres{max-height:44vh;overflow-y:auto;}
  .ovr{display:flex;justify-content:space-between;gap:12px;padding:13px 20px;border-bottom:1px solid var(--line-2);cursor:pointer;align-items:center;}
  .ovr:hover,.ovr.sel{background:var(--card-2);}
  .ovr .a{font-size:.865rem;min-width:0;}
  .ovr .b{font-size:.675rem;color:var(--gold-dk);white-space:nowrap;flex-shrink:0;font-weight:600;letter-spacing:.03em;}
  .ovhint{padding:13px 20px;font-size:.72rem;color:var(--muted);background:rgba(var(--realce-rgb),.02);line-height:1.6;}

  /* ===== FORMULARIO MODAL ===== */
  #modal{padding:7vh 18px 18px;overflow-y:auto;}
  #info-beta{padding:7vh 18px 18px;overflow-y:auto;-webkit-overflow-scrolling:touch;}
  .mbox{max-width:520px;margin:0 auto;background:var(--card);border-radius:5px;overflow:hidden;box-shadow:0 26px 62px -14px rgba(var(--sombra-rgb),.45);}
  .mcab{padding:20px 22px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:flex-start;gap:12px;background:rgba(var(--realce-rgb),.03);}
  .mcab h3{font-size:1.3rem;color:var(--enfasis);font-weight:600;}
  .mcab p{font-size:.75rem;color:var(--soft);margin-top:5px;line-height:1.5;}
  .mcab button{color:var(--soft);font-size:1.4rem;line-height:1;padding:0 4px;flex-shrink:0;}
  .mcab button:hover{color:var(--gold);}
  .mcpo{padding:20px 22px;}
  .mfila{margin-bottom:17px;}
  .mfila label{display:block;font-size:.68rem;letter-spacing:.11em;text-transform:uppercase;color:var(--muted);font-weight:600;margin-bottom:7px;}
  .mfila input,.mfila select{width:100%;border:1px solid var(--line);border-radius:3px;padding:11px 12px;font-size:.88rem;color:var(--text);background:var(--canvas-2);transition:border-color .2s;}
  .mfila input:focus,.mfila select:focus{outline:none;border-color:var(--gold);}
  .mfila.err input,.mfila.err select{border-color:var(--red);background:rgba(255,157,148,.07);}
  .mfila .msg{font-size:.72rem;color:var(--red);margin-top:6px;display:none;}
  .mhint{font-size:.72rem;line-height:1.5;color:var(--dim);margin-top:6px;}

  /* ── Enlaces alternativos del acceso ── */
  .alt-link{text-align:center;font-size:.78rem;color:var(--soft-2);margin-top:16px;line-height:1.6;}
  .alt-link button{color:var(--gold);font-size:inherit;padding:0;text-decoration:underline;text-underline-offset:3px;}
  .alt-link button:hover{color:var(--gold-claro);}

  /* ═════ Tarjeta interactiva de honorarios ═════ */
  .hdc{position:relative;overflow:hidden;margin-bottom:20px;padding:26px 28px 22px;border-radius:22px;
    background:linear-gradient(160deg,#172a45 0%,#122238 55%,#0f1e33 100%);
    border:1px solid rgba(var(--gold-rgb),.16);box-shadow:0 24px 60px -28px rgba(var(--sombra-rgb),.7),inset 0 1px 0 rgba(var(--realce-rgb),.04);}
  .hdc-glow{max-width:100%;position:absolute;inset:auto -10% -55% -10%;height:70%;pointer-events:none;
    background:radial-gradient(60% 60% at 50% 50%,rgba(143,186,245,.14),rgba(var(--gold-rgb),.06) 45%,transparent 70%);}
  .hdc-top{display:flex;justify-content:space-between;align-items:flex-start;position:relative;}
  .hdc-brand{display:flex;align-items:center;gap:9px;font-size:.92rem;color:var(--muted);letter-spacing:.01em;}
  .hdc-brand svg{width:20px;height:20px;color:var(--gold);}
  .hdc-fecha{font-family:var(--serif);font-size:1.65rem;font-weight:600;color:var(--title);margin-top:6px;line-height:1.1;}
  .hdc-av{width:50px;height:50px;border-radius:50%;display:grid;place-items:center;font-size:.9rem;font-weight:600;letter-spacing:.04em;
    color:var(--canvas-hondo);background:radial-gradient(circle at 30% 25%,#f1dcaa,#c9a35e);box-shadow:0 0 0 3px rgba(var(--gold-rgb),.18);}
  .hdc-main{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:22px;position:relative;}
  .hdc-left{min-width:0;flex:1;}
  .hdc-lbl{font-size:.8rem;color:var(--muted);letter-spacing:.02em;}
  .hdc-big{font-family:var(--sans);font-weight:600;font-size:clamp(2.1rem,4.6vw,3.3rem);letter-spacing:-.03em;color:var(--title);
    line-height:1.05;margin-top:14px;font-variant-numeric:tabular-nums;white-space:nowrap;}
  .hdc-delta{display:flex;align-items:center;flex-wrap:wrap;gap:10px 14px;margin-top:16px;font-size:.84rem;color:var(--muted);font-variant-numeric:tabular-nums;}
  .hdc-pill{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;font-size:.8rem;font-weight:600;
    background:rgba(var(--realce-rgb),.06);border:1px solid rgba(var(--realce-rgb),.08);color:var(--muted);box-shadow:0 6px 16px -8px rgba(var(--sombra-rgb),.6);}
  .hdc-pill svg{width:15px;height:15px;}
  .hdc-pill.up{color:var(--green);background:rgba(127,212,166,.1);border-color:rgba(127,212,166,.22);}
  .hdc-pill.nuevo{color:var(--gold);background:rgba(var(--gold-rgb),.1);border-color:rgba(var(--gold-rgb),.25);}
  .hdc-pill:empty{display:none;}
  .hdc-sub{font-size:.74rem;color:var(--dim);margin-top:12px;line-height:1.6;}
  .hdc-sub b{color:var(--text);font-weight:500;}
  .hdc-donut{position:relative;flex:0 0 auto;width:210px;height:210px;}
  .hdc-donut svg{width:100%;height:100%;overflow:visible;}
  .hdc-track{fill:none;stroke:rgba(var(--realce-rgb),.06);stroke-width:17;}
  .hdc-seg{fill:none;stroke-width:17;stroke-linecap:round;cursor:pointer;
    transition:stroke-dasharray 1.1s cubic-bezier(.2,.9,.25,1),stroke-dashoffset 1.1s cubic-bezier(.2,.9,.25,1),opacity .25s,stroke-width .25s;}
  .hdc-segs-dim .hdc-seg{opacity:.28;}
  .hdc-segs-dim .hdc-seg.act{opacity:1;stroke-width:21;}
  .hdc-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;pointer-events:none;padding:0 38px;}
  .hdc-center b{font-family:var(--sans);font-size:1.7rem;font-weight:600;letter-spacing:-.02em;color:var(--title);font-variant-numeric:tabular-nums;line-height:1.1;}
  .hdc-center span{font-size:.76rem;color:var(--muted);margin-top:6px;line-height:1.35;}
  .hdc-foot{position:relative;display:flex;align-items:center;gap:10px;margin-top:22px;}
  .hdc-chips{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;flex:1;padding:4px 2px 6px;
    -webkit-mask-image:linear-gradient(90deg,#000 88%,transparent);mask-image:linear-gradient(90deg,#000 88%,transparent);}
  .hdc-chips::-webkit-scrollbar{display:none;}
  .hdc-chip{flex:0 0 auto;scroll-snap-align:start;display:flex;align-items:center;gap:13px;padding:10px 20px 10px 10px;border-radius:999px;
    background:rgba(var(--realce-rgb),.045);border:1px solid rgba(var(--realce-rgb),.08);text-align:left;color:inherit;
    transition:background .25s,border-color .25s,transform .25s cubic-bezier(.34,1.56,.64,1);}
  .hdc-chip:hover,.hdc-chip.act{background:rgba(var(--realce-rgb),.08);border-color:var(--chip-c);transform:translateY(-2px);}
  .hdc-ring{position:relative;width:48px;height:48px;flex:0 0 48px;border-radius:50%;background:rgba(var(--realce-rgb),.05);display:grid;place-items:center;}
  .hdc-ring svg{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg);}
  .hdc-ring circle{fill:none;stroke-width:3;stroke-linecap:round;}
  .hdc-ring i{font-style:normal;font-size:.78rem;font-weight:700;color:var(--chip-c);letter-spacing:.02em;}
  .hdc-chip b{display:block;font-size:.95rem;font-weight:600;color:var(--title);}
  .hdc-chip small{display:block;font-size:.76rem;color:var(--muted);margin-top:2px;white-space:nowrap;font-variant-numeric:tabular-nums;}
  .hdc-next{flex:0 0 auto;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;color:var(--muted);border:1px solid rgba(var(--realce-rgb),.1);transition:all .2s;}
  .hdc-next:hover{color:var(--gold);border-color:var(--gold-line);}
  .hdc-next svg{width:18px;height:18px;}
  .hdc-next[hidden]{display:none;}
  .hdc-vacio{font-size:.8rem;color:var(--muted);padding:12px 4px;line-height:1.6;}
  @media(max-width:700px){
    .hdc{padding:20px 18px 18px;border-radius:18px;}
    .hdc-fecha{font-size:1.35rem;}
    .hdc-av{width:42px;height:42px;font-size:.8rem;}
    .hdc-main{flex-direction:column;align-items:stretch;gap:18px;}
    .hdc-donut{width:190px;height:190px;align-self:center;}
    .hdc-big{font-size:clamp(1.9rem,9vw,2.5rem);}
  }
  @media (prefers-reduced-motion:reduce){ .hdc-seg,.hdc-chip{transition:none;} }
  .mfila.err .mhint{display:none;}
  .mfila.err .msg{display:block;}
  .mpie{padding:16px 22px;border-top:1px solid var(--line);display:flex;justify-content:flex-end;gap:9px;background:rgba(var(--realce-rgb),.02);}

  /* ═════ FINANZAS ═════ */
  .fin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(148px,1fr));gap:1px;background:var(--line);}
  .fin-c{background:var(--card);padding:16px 16px 17px;}
  .fin-c .fk{font-size:.65rem;letter-spacing:.11em;text-transform:uppercase;color:var(--muted);font-weight:600;}
  .fin-c .fv{font-family:var(--serif);font-size:1.5rem;font-weight:700;margin-top:7px;color:var(--title);font-variant-numeric:tabular-nums;line-height:1.1;}
  .fin-c .fn{font-size:.68rem;color:var(--muted);margin-top:4px;}
  .fin-c.deuda .fv{color:var(--red);}
  .fin-c.cobrado .fv{color:var(--green);}
  .fin-c.gasto .fv{color:var(--orange);}
  .fin-c.saldado .fv{color:var(--green);}

  .prog{height:7px;background:rgba(var(--realce-rgb),.09);border-radius:4px;overflow:hidden;margin:14px 18px 4px;}
  .prog i{display:block;height:100%;background:var(--green);border-radius:4px;transition:width .5s cubic-bezier(.2,.8,.3,1);}
  .prog-t{padding:0 18px 14px;font-size:.72rem;color:var(--muted);display:flex;justify-content:space-between;gap:10px;}

  .mini-btn{border:1px solid var(--line);border-radius:3px;padding:4px 10px;font-size:.66rem;color:var(--text);background:transparent;font-weight:500;white-space:nowrap;transition:all .2s;}
  .mini-btn:hover{border-color:var(--gold);background:rgba(var(--gold-rgb),.07);}
  .mini-btn.ok{border-color:rgba(127,212,166,.4);color:var(--green);background:rgba(127,212,166,.09);}
  .mini-btn.ok:hover{border-color:var(--green);}

  /* En pantallas táctiles los controles chicos necesitan más área */
  @media (pointer:coarse){
    .etq-x,.mini-btn,.ver-clave,.cal-b{min-height:32px;min-width:32px;
      display:inline-flex;align-items:center;justify-content:center;}
    .f,.tt-btn{padding:9px 15px;}
  }

  .busca-rep{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:3px;
    padding:11px 14px;background:var(--canvas-2);}
  .busca-rep svg{width:15px;height:15px;stroke:var(--dim);flex-shrink:0;}
  .busca-rep input{flex:1;min-width:0;border:none;background:transparent;color:var(--text);font-size:.9rem;}
  .busca-rep input:focus{outline:none;}
  .busca-rep:focus-within{border-color:var(--gold);}
  .nota-art{font-family:var(--serif);font-size:1.05rem;color:var(--gold);font-weight:600;}
  .nota-txt{font-size:.83rem;color:var(--muted);line-height:1.65;margin-top:7px;
    padding-left:11px;border-left:2px solid var(--line);white-space:pre-wrap;}
  .nota-com{font-size:.79rem;color:var(--text);line-height:1.6;margin-top:9px;font-style:italic;}

  .pie{border-top:1px solid var(--line);padding:20px 22px;max-width:1080px;margin:0 auto;width:100%;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;color:var(--muted);font-size:.72rem;}

  /* ═════ CALENDARIO ═════ */
  .cal-cab{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:14px 18px;border-bottom:1px solid var(--line);background:rgba(var(--realce-rgb),.02);}
  .cal-nav{display:flex;align-items:center;gap:9px;}
  .cal-b{width:30px;height:30px;border:1px solid var(--line);border-radius:3px;color:var(--text);font-size:1.1rem;line-height:1;background:transparent;transition:all .2s;}
  .cal-b:hover{border-color:var(--gold);background:rgba(var(--gold-rgb),.08);}
  .cal-mes{font-family:var(--serif);font-size:1.25rem;font-weight:600;color:var(--title);min-width:132px;text-align:center;}
  .cal-hoy{border:1px solid var(--line);border-radius:3px;padding:6px 12px;font-size:.72rem;color:var(--text);background:transparent;transition:all .2s;}
  .cal-hoy:hover{border-color:var(--gold);background:rgba(var(--gold-rgb),.08);}
  .cal-vistas{display:flex;border:1px solid var(--line);border-radius:3px;overflow:hidden;}
  .cal-v{padding:7px 15px;font-size:.73rem;color:var(--muted);background:transparent;transition:all .2s;}
  .cal-v.on{background:var(--gold);color:var(--canvas-hondo);font-weight:600;}
  .cal-v:not(.on):hover{background:var(--card-2);color:var(--text);}

  .cal-dows{display:grid;grid-template-columns:repeat(7,1fr);background:rgba(var(--realce-rgb),.03);border-bottom:1px solid var(--line);}
  .cal-dows span{padding:9px 6px;text-align:center;font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:600;}
  .cal-grid{display:grid;grid-template-columns:repeat(7,1fr);}
  .cal-day{min-height:92px;border-right:1px solid var(--line-2);border-bottom:1px solid var(--line-2);padding:6px 6px 4px;cursor:pointer;transition:background .16s;position:relative;overflow:hidden;}
  .cal-day:nth-child(7n){border-right:none;}
  .cal-day:hover{background:var(--card-2);}
  .cal-day.fuera{background:rgba(var(--sombra-rgb),.16);}
  .cal-day.fuera .cal-n{color:#4d6079;}
  .cal-day.hoy{background:rgba(var(--gold-rgb),.09);box-shadow:inset 0 0 0 1px var(--gold-line);}
  .cal-day.sel{background:rgba(143,186,245,.12);box-shadow:inset 0 0 0 2px var(--blue);}
  .cal-n{font-size:.76rem;font-weight:600;color:var(--text);display:block;margin-bottom:4px;}
  .cal-day.hoy .cal-n{color:var(--gold);}
  .cal-evs{display:flex;flex-direction:column;gap:2px;}
  .cal-ev{font-size:.62rem;line-height:1.35;padding:2px 5px;border-radius:2px;background:var(--e);color:var(--enfasis);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .cal-mas{font-size:.6rem;color:var(--dim);padding-left:3px;}
  .cal-pts{display:none;gap:3px;flex-wrap:wrap;}
  .cal-pt{width:6px;height:6px;border-radius:50%;background:var(--e);}
  @media(max-width:700px){
    .cal-day{min-height:52px;padding:5px 4px;}
    .cal-evs{display:none;}
    .cal-pts{display:flex;}
    .cal-mes{min-width:112px;font-size:1.1rem;}
  }

  .cal-sem{display:flex;flex-direction:column;}
  .sem-dia{border-bottom:1px solid var(--line-2);}
  .sem-dia:last-child{border-bottom:none;}
  .sem-dia.hoy{background:rgba(var(--gold-rgb),.06);}
  .sem-cab{padding:10px 18px;background:rgba(var(--realce-rgb),.03);border-bottom:1px solid var(--line-2);font-size:.76rem;color:var(--text);display:flex;gap:8px;align-items:baseline;}
  .sem-dia.hoy .sem-cab{background:rgba(var(--gold-rgb),.1);}
  .sem-cab b{text-transform:uppercase;letter-spacing:.08em;font-size:.68rem;}
  .sem-cab span{color:var(--muted);}
  .sem-vacio{padding:13px 18px;font-size:.78rem;color:var(--dim);font-style:italic;}

  .gcal{font-size:.66rem;color:var(--gold);border:1px solid var(--line);border-radius:3px;padding:4px 9px;text-decoration:none;font-weight:600;white-space:nowrap;transition:all .2s;}
  .gcal:hover{border-color:var(--gold);background:rgba(var(--gold-rgb),.09);}

  /* ═════ ETIQUETAS ═════ */
  .etiqs{display:flex;gap:6px;flex-wrap:wrap;align-items:center;}
  .etq{font-size:.67rem;padding:4px 10px;border-radius:20px;background:rgba(143,186,245,.1);color:#b9cbe4;font-weight:500;border:1px solid var(--line);}
  .etq-x{margin-left:5px;color:var(--dim);cursor:pointer;font-weight:700;}
  .etq-x:hover{color:var(--red);}
  .etq-add{font-size:.67rem;padding:4px 11px;border-radius:20px;border:1px dashed var(--line);color:var(--muted);background:transparent;transition:all .2s;}
  .etq-add:hover{border-color:var(--gold);color:var(--gold);}
  .etq-hero{background:rgba(var(--realce-rgb),.13);color:var(--enfasis);border-color:rgba(var(--realce-rgb),.22);}

  /* ═════ CONEXAS ═════ */
  .cnx{display:flex;align-items:center;gap:9px;}
  .cnx svg{width:14px;height:14px;stroke:var(--gold-dk);flex-shrink:0;}

  /* ═════ IMPRESIÓN DE CARÁTULA ═════ */
  #imprimible{display:none;}
  @media print{
    body{background:var(--blanco) !important;color:#000 !important;}
    #login,#app,#toasts,.capa{display:none !important;}
    #imprimible{display:block !important;padding:0;font-family:var(--serif);color:#000;}
    #imprimible .ph{text-align:center;border-bottom:2px solid #000;padding-bottom:12px;margin-bottom:26px;}
    #imprimible .ph .pm{font-size:11pt;letter-spacing:.2em;text-transform:uppercase;font-family:var(--sans);}
    #imprimible .ph h1{font-size:20pt;margin:8px 0 4px;}
    #imprimible .ph .pc{font-size:13pt;font-style:italic;}
    #imprimible table{width:100%;border-collapse:collapse;margin-bottom:24px;}
    #imprimible td{padding:7px 0;border-bottom:1px solid #ccc;font-size:11pt;vertical-align:top;}
    #imprimible td.k{width:35%;font-family:var(--sans);font-size:9pt;text-transform:uppercase;letter-spacing:.08em;color:#444;}
    #imprimible h2{font-size:13pt;border-bottom:1px solid #000;padding-bottom:5px;margin:22px 0 10px;}
    #imprimible ul{list-style:none;}
    #imprimible li{padding:6px 0;border-bottom:1px solid #eee;font-size:10.5pt;}
    #imprimible li b{font-family:var(--sans);font-size:9.5pt;}
    #imprimible .pf{margin-top:34px;padding-top:12px;border-top:1px solid #999;font-size:8.5pt;font-family:var(--sans);color:#555;display:flex;justify-content:space-between;}
    @page{margin:2cm;}
  }

  /* Sidebar: oculto por defecto (móvil), se activa solo desde 768px */
  .sidebar{display:none;}

  /* ===== SIDEBAR SOBRIO (desktop) ===== */
  @media(min-width:768px){
    body.con-banner{padding-top:0;}
    #app{flex-direction:row;min-height:100vh;}
    .main-col>.hdr{background:transparent;box-shadow:none;}
    .main-col>.hdr .hdr-top .logo{display:none;}
    .main-col>.hdr .hdr-top{padding:20px 32px 0;justify-content:flex-end;}
    .main-col>.hdr .hdr-search{padding:14px 32px 0;order:-1;}
    .main-col>.hdr .tabs{display:none;}
    .main-col>.hdr{display:flex;flex-direction:column;}
    .app-shell{display:flex;flex:1;min-width:0;}

    .sidebar{display:flex;width:232px;flex-shrink:0;background:var(--navy-deep,var(--navy-hondo));
      border-right:1px solid rgba(var(--realce-rgb),.06);flex-direction:column;
      position:sticky;top:0;height:100vh;}
    .sb-top{padding:28px 24px 30px;}
    .sb-logo{display:flex;align-items:center;gap:11px;}
    .sb-logo svg{width:20px;height:auto;color:var(--gold,var(--gold));flex-shrink:0;}
    .sb-logo img{width:30px;height:auto;flex-shrink:0;display:block;}
    .sb-logo .txt b{display:block;font-family:var(--serif);font-size:1.15rem;
      letter-spacing:.1em;color:var(--enfasis);font-weight:600;}

    .sb-nav{padding:0 14px;display:flex;flex-direction:column;gap:1px;overflow-y:auto;flex:1;}
    .sb-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:5px;color:var(--dim-2);
      font-size:.82rem;cursor:pointer;transition:color .15s;border:none;background:transparent;
      text-align:left;width:100%;font-family:inherit;position:relative;}
    .sb-item svg{width:16px;height:16px;flex-shrink:0;}
    .sb-item .sb-badge{margin-left:auto;background:var(--gold,var(--gold));color:var(--navy-hondo);font-size:.6rem;
      font-weight:700;border-radius:9px;padding:1px 7px;}
    .sb-item:hover{color:var(--enfasis);}
    .sb-item.on{color:var(--enfasis);}
    .sb-item.on::before{content:'';position:absolute;left:-14px;top:8px;bottom:8px;width:2px;
      background:var(--gold,var(--gold));}

    .sb-foot{padding:18px 24px;border-top:1px solid rgba(var(--realce-rgb),.06);font-size:.65rem;
      color:#8fa0b8;display:flex;justify-content:space-between;flex-shrink:0;}

    .main-col{flex:1;min-width:0;display:flex;flex-direction:column;height:100vh;overflow-y:auto;}

    .main-col .content-wrap{padding:0 32px 32px;max-width:1120px;}
    .main-col .content-wrap .panel{padding-top:8px;}

  }

  /* HERO con foto, fiel a la plantilla */
  .hero-band{position:relative;border-radius:12px;overflow:hidden;margin:20px 0 22px;min-height:270px;
    display:flex;align-items:center;padding:0 36px;}
  .hero-band img{position:absolute;top:0;right:0;bottom:0;width:58%;height:100%;object-fit:cover;
    object-position:center 60%;z-index:0;}
  .hero-band::before{content:'';position:absolute;inset:0;z-index:1;
    background:linear-gradient(90deg,var(--navy-hondo) 0%,var(--navy-hondo) 40%,rgba(10,22,38,.82) 54%,rgba(10,22,38,.2) 74%,transparent 90%);}
  .hero-band-txt{position:relative;z-index:2;max-width:480px;}
  .hero-band-txt .kick{font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold,var(--gold));
    margin:0 0 10px;font-weight:600;}
  .hero-band-txt h1{font-family:var(--serif);font-size:2.3rem;margin:0 0 12px;
    font-weight:600;color:var(--enfasis);line-height:1.15;}
  .hero-band-txt p{margin:0;color:#b9c6da;font-size:.88rem;line-height:1.5;}
  .hero-band-tag{position:absolute;top:28px;right:32px;z-index:2;text-align:right;color:#f1e8d5;
    font-family:var(--serif);font-style:italic;font-size:.95rem;line-height:1.3;}
  .hero-band-tag .rule{width:24px;height:1px;background:var(--gold-line,var(--gold-line));margin:8px 0 0 auto;}

  /* Acciones rápidas: 4 en fila, con flecha */
  .quick-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px;}
  .qa-card{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:14px 16px;
    display:flex;align-items:center;gap:12px;cursor:pointer;transition:border-color .2s;}
  .qa-card:hover{border-color:var(--gold-line);}
  .qa-card .ic{width:36px;height:36px;border-radius:50%;background:rgba(var(--realce-rgb),.05);
    display:flex;align-items:center;justify-content:center;flex-shrink:0;}
  .qa-card .ic svg{width:16px;height:16px;color:var(--gold);}
  .qa-card .tx b{display:block;font-size:.82rem;color:var(--enfasis);}
  .qa-card .tx span{font-size:.7rem;color:var(--dim-2);}
  .qa-card .arrow{margin-left:auto;color:var(--dim-2);flex-shrink:0;}
  .qa-card .arrow svg{width:15px;height:15px;}
  @media(max-width:820px){.quick-actions{grid-template-columns:repeat(2,1fr);}}

  /* Panel de tabla "Mis casos" y agenda lateral */
  .row-panels{display:grid;grid-template-columns:2fr 1fr;gap:14px;align-items:start;}
  @media(max-width:900px){.row-panels{grid-template-columns:1fr;}}
  .panel-card{background:var(--card);border:1px solid var(--line);border-radius:8px;overflow:hidden;}
  .panel-card-hd{display:flex;align-items:center;gap:9px;padding:14px 18px;border-bottom:1px solid var(--line);}
  .panel-card-hd svg{width:15px;height:15px;color:var(--gold);flex-shrink:0;}
  .panel-card-hd b{font-size:.86rem;color:var(--enfasis);flex:1;}
  .panel-card-hd a{font-size:.72rem;color:var(--gold);text-decoration:none;display:flex;align-items:center;gap:4px;}
  .casos-row{display:flex;align-items:center;gap:12px;padding:11px 18px;border-bottom:1px solid rgba(var(--realce-rgb),.04);}
  .casos-row:last-child{border-bottom:none;}
  .casos-row .av{width:32px;height:32px;border-radius:50%;background:#22344e;display:flex;align-items:center;
    justify-content:center;font-size:.66rem;font-weight:700;color:#cdd8e8;flex-shrink:0;}
  .casos-row .nm{flex:0 0 170px;min-width:0;}
  .casos-row .nm b{display:block;font-size:.8rem;color:var(--enfasis);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .casos-row .nm span{font-size:.68rem;color:var(--dim-2);}
  .casos-row .tipo{flex:0 0 90px;}
  .casos-row .act{flex:1;min-width:0;font-size:.74rem;color:var(--dim-2);}
  .casos-row .est{flex:0 0 auto;}
  .chip-materia{font-size:.62rem;padding:3px 9px;border-radius:10px;font-weight:600;white-space:nowrap;}
  .chip-materia.penal{background:rgba(196,120,120,.16);color:#e08f8f;}
  .chip-materia.civil{background:rgba(120,180,196,.16);color:#8fcbe0;}
  .chip-materia.familiar{background:rgba(160,140,210,.16);color:#b8a5e0;}
  .chip-materia.laboral{background:rgba(196,160,110,.16);color:#e0bb8f;}
  .chip-materia.administrativo{background:rgba(150,150,160,.16);color:#c5c5cf;}
  .chip-estado{font-size:.62rem;padding:3px 9px;border-radius:10px;font-weight:600;white-space:nowrap;}
  .chip-estado.curso{background:rgba(110,150,210,.16);color:#8fb0e0;}
  .chip-estado.activo{background:rgba(120,190,150,.16);color:#8fd4ab;}
  .chip-estado.pendiente{background:rgba(var(--gold-rgb),.16);color:var(--gold);}

  .agenda-item{display:flex;gap:11px;padding:11px 18px;border-bottom:1px solid rgba(var(--realce-rgb),.04);align-items:center;}
  .agenda-item:last-child{border-bottom:none;}
  .agenda-date{width:38px;height:38px;border:1px solid var(--line);border-radius:6px;display:flex;
    flex-direction:column;align-items:center;justify-content:center;flex-shrink:0;}
  .agenda-date b{font-size:.8rem;color:var(--enfasis);line-height:1;}
  .agenda-date span{font-size:.5rem;color:var(--dim-2);text-transform:uppercase;}
  .agenda-item .tx b{display:block;font-size:.78rem;color:var(--enfasis);}
  .agenda-item .tx span{font-size:.68rem;color:var(--dim-2);}

  /* Banner final con foto, fiel a la plantilla */
  .promo-band{position:relative;border-radius:10px;overflow:hidden;margin-top:14px;padding:16px 18px;
    display:flex;align-items:center;gap:12px;min-height:60px;cursor:pointer;}
  .promo-band img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;}
  .promo-band::before{content:'';position:absolute;inset:0;z-index:1;
    background:linear-gradient(90deg,rgba(10,22,38,.93),rgba(10,22,38,.55));}
  .promo-band-tx{position:relative;z-index:2;flex:1;}
  .promo-band-tx p{margin:0;font-size:.78rem;color:var(--text);line-height:1.4;}
  .promo-band-logo{position:relative;z-index:2;display:flex;align-items:center;gap:7px;color:var(--gold);
    font-family:var(--serif);font-size:.9rem;letter-spacing:.08em;flex-shrink:0;}
  .promo-band-logo svg{width:14px;height:auto;}
  .promo-band-logo img{width:16px;height:auto;position:static;inset:auto;}
  .promo-band-arrow{position:relative;z-index:2;width:30px;height:30px;border-radius:50%;
    border:1px solid var(--gold-line,var(--gold-line));display:flex;align-items:center;justify-content:center;
    color:var(--gold);flex-shrink:0;}
  .promo-band-arrow svg{width:14px;height:14px;}

  /* ===== Ajustes para pantallas de celular (menos de 768px) ===== */
  @media(max-width:767px){
    .hero-band{min-height:190px;padding:0 18px;margin:14px 0 16px;border-radius:10px;}
    .hero-band img{width:100%;object-position:center 45%;}
    .hero-band::before{background:linear-gradient(180deg,rgba(10,22,38,.90) 0%,rgba(10,22,38,.74) 50%,rgba(10,22,38,.92) 100%);}
    .hero-band-txt{max-width:100%;}
    .hero-band-txt h1{font-size:1.45rem;line-height:1.2;}
    .hero-band-txt p{font-size:.82rem;}
    .hero-band-tag{display:none;}

    .quick-actions{gap:9px;margin-bottom:14px;}
    .qa-card{padding:12px 13px;gap:10px;}
    .qa-card .ic{width:32px;height:32px;}

    /* la fila de casos no entra en una pantalla de celular: se apila */
    .casos-row{flex-wrap:wrap;gap:9px;padding:12px 14px;}
    .casos-row .nm{flex:1 1 auto;}
    .casos-row .nm b{white-space:normal;}
    .casos-row .tipo{flex:0 0 auto;}
    .casos-row .act{flex:1 1 100%;order:3;font-size:.72rem;}
    .casos-row .est{order:2;margin-left:auto;}

    .panel-card-hd{padding:12px 14px;}
    .agenda-item{padding:11px 14px;}

    .promo-band{padding:13px 14px;gap:10px;}
    .promo-band-tx p{font-size:.74rem;}
  }
  @media(max-width:480px){
    .quick-actions{grid-template-columns:1fr;}
  }

/* ── Nota: hubo un tema claro completo (tokens de papel + capa de marca).
   Se retiró porque Fuero se define en oscuro. Si algún día se quiere
   recuperar, basta con volver a declarar los mismos tokens bajo
   [data-tema="claro"]: toda la aplicación ya pasa por variables. ── */

/* ═══════════════ Panel «Pregúntale a Fuero» ═══════════════ */
.ia-cuerpo{max-width:660px;}



/* Estado: en preparación */
.ia-estado{border:1px solid var(--line);border-left:2px solid var(--gold-line);
  border-radius:4px;background:var(--card);padding:19px 21px;}
.ia-estado-cab{display:flex;align-items:center;gap:9px;margin-bottom:9px;flex-wrap:wrap;}
.ia-estado-cab b{font-size:.94rem;color:var(--title);font-weight:600;}
.ia-punto{width:7px;height:7px;border-radius:50%;background:var(--amber);flex-shrink:0;
  box-shadow:0 0 0 3px rgba(var(--gold-rgb),.14);}
.ia-etiqueta{margin-left:auto;font-family:var(--mono);font-size:.6rem;letter-spacing:.11em;
  text-transform:uppercase;color:var(--gold);border:1px solid var(--gold-line);
  border-radius:20px;padding:3px 9px;}
.ia-estado>p{color:var(--muted);font-size:.85rem;line-height:1.65;margin:0;}

.ia-progreso{margin:16px 0 14px;display:flex;flex-direction:column;gap:1px;}
.ia-paso{display:flex;align-items:center;gap:11px;font-size:.82rem;color:var(--dim);
  padding:8px 0;border-bottom:1px solid var(--line-2);}
.ia-paso:last-child{border-bottom:0;}
.ia-paso span{width:21px;height:21px;border-radius:50%;border:1px solid var(--line);
  display:flex;align-items:center;justify-content:center;font-family:var(--mono);
  font-size:.64rem;flex-shrink:0;}
.ia-paso.hecho{color:var(--text);}
.ia-paso.hecho span{border-color:var(--green);color:var(--green);}
.ia-paso.curso{color:var(--text);}
.ia-paso.curso span{border-color:var(--gold-line);color:var(--gold);}

.ia-nota{font-size:.78rem;color:var(--dim);line-height:1.6;margin:0;padding-top:12px;
  border-top:1px solid var(--line-2);}
.ia-nota b{color:var(--muted);font-weight:600;}

/* Campo y botón apagados mientras no esté disponible */
.ia-apagado{opacity:.42;pointer-events:none;}
#pg-preguntar[disabled]{opacity:.42;cursor:not-allowed;pointer-events:none;}

@media(max-width:560px){
  .ia-panel{padding:26px 16px 80px;}
  .ia-etiqueta{margin-left:0;}
}

/* ═══════════════ Bandas sin fotografía ═══════════════
   La foto de archivo es lo que más “plantilla” hacía ver la aplicación.
   En su lugar: profundidad por capas de color y una trama de líneas
   finísimas, como el guilloche de un papel timbrado. */

.hero-trama,
.riel-trama{
  position:absolute;inset:0;z-index:0;
  background:
    /* halo dorado tenue, arriba a la derecha */
    radial-gradient(760px 420px at 88% -12%, rgba(var(--gold-rgb),.13), transparent 62%),
    /* trama diagonal de papel timbrado */
    repeating-linear-gradient(115deg,
      rgba(var(--gold-rgb),.055) 0px,
      rgba(var(--gold-rgb),.055) 1px,
      transparent 1px, transparent 9px),
    /* base con profundidad */
    linear-gradient(118deg, var(--navy-deep) 0%, var(--navy) 58%, var(--navy-mid) 100%);
}

.hero-band{border:1px solid var(--line);}
.hero-band::before{
  background:linear-gradient(90deg,
    rgba(var(--sombra-rgb),.55) 0%,
    rgba(var(--sombra-rgb),.22) 52%,
    transparent 78%);
}
/* filete dorado que recorre el canto superior */
.hero-band::after{
  content:"";position:absolute;left:0;right:0;top:0;height:1px;z-index:3;
  background:linear-gradient(90deg, transparent, var(--gold-line) 22%, var(--gold-line) 72%, transparent);
  opacity:.55;
}

.promo-band{border:1px solid var(--line);}
.promo-band::before{
  background:
    radial-gradient(520px 200px at 92% 50%, rgba(var(--gold-rgb),.10), transparent 70%),
    repeating-linear-gradient(115deg,
      rgba(var(--gold-rgb),.04) 0px, rgba(var(--gold-rgb),.04) 1px,
      transparent 1px, transparent 9px),
    linear-gradient(100deg, var(--navy-deep), var(--navy));
}

/* ═══════════════ La fotografía vuelve, pero como profundidad ═══════════════
   No a pantalla completa y nítida —eso era lo que la hacía ver de archivo—
   sino atenuada y por debajo de la trama, de modo que se intuya el paisaje
   sin que compita con el texto. */

.hero-foto{
  position:absolute;top:0;right:0;bottom:0;
  width:66%;height:100%;object-fit:cover;object-position:center 62%;
  z-index:0;opacity:.5;
  filter:saturate(.55) contrast(1.04) brightness(.78);
  mask-image:linear-gradient(90deg, transparent 0%, rgba(0,0,0,.4) 26%, #000 62%);
  -webkit-mask-image:linear-gradient(90deg, transparent 0%, rgba(0,0,0,.4) 26%, #000 62%);
}
/* la trama se dibuja encima de la foto, sin tapar su base */
.hero-band .hero-trama{
  z-index:1;
  background:
    radial-gradient(760px 420px at 88% -12%, rgba(var(--gold-rgb),.11), transparent 62%),
    repeating-linear-gradient(115deg,
      rgba(var(--gold-rgb),.05) 0px, rgba(var(--gold-rgb),.05) 1px,
      transparent 1px, transparent 9px);
}
.hero-band::before{z-index:2;}
.hero-band-txt,.hero-band-tag{z-index:3;}

.riel-foto{
  opacity:.72;
  filter:saturate(.62) contrast(1.06) brightness(.88);
  z-index:0;
}
.riel-trama{
  z-index:1;
  background:
    radial-gradient(620px 380px at 20% 8%, rgba(var(--gold-rgb),.10), transparent 64%),
    repeating-linear-gradient(115deg,
      rgba(var(--gold-rgb),.045) 0px, rgba(var(--gold-rgb),.045) 1px,
      transparent 1px, transparent 9px),
    linear-gradient(178deg, rgba(var(--sombra-rgb),.05) 0%, rgba(var(--sombra-rgb),.14) 48%, rgba(var(--sombra-rgb),.52) 100%);
}

/* En tema claro la fotografía se atenúa más: el papel manda */

/* ═══════════════ Buscador del despacho ═══════════════
   Deja de ser una caja de texto genérica: cada resultado se anuncia con su
   tipo, los identificadores legales van en monoespaciada, y el estado vacío
   enseña qué se puede buscar en vez de quedarse en blanco. */

.ovtop{gap:11px;align-items:center;}
.ovtop input{font-family:var(--sans);font-style:normal;letter-spacing:-.005em;}
.ovtop input::placeholder{color:var(--dim);font-style:normal;}

kbd,.ovk{
  font-family:var(--mono);font-size:.62rem;line-height:1;
  color:var(--dim);background:rgba(var(--realce-rgb),.045);
  border:1px solid var(--line);border-bottom-width:2px;border-radius:3px;
  padding:3px 5px;min-width:18px;display:inline-flex;
  align-items:center;justify-content:center;white-space:nowrap;
}
.ovk{flex-shrink:0;}

/* ── Resultado ── */
.ovr{display:flex;align-items:center;gap:12px;}
.ovr-tipo{
  flex-shrink:0;width:82px;text-align:center;
  font-family:var(--mono);font-size:.55rem;letter-spacing:.1em;text-transform:uppercase;
  padding:3px 0;border-radius:2px;border:1px solid currentColor;opacity:.92;
}
.t-causa  {color:var(--gold);}
.t-cliente{color:var(--blue);}
.t-codigo {color:var(--soft);}
.t-dilig  {color:var(--amber);}
.t-norma  {color:var(--green);}
.t-doc    {color:var(--dim);}

.ovr-tx{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px;}
.ovr-tx .a{font-size:.9rem;color:var(--text);line-height:1.35;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.ovr-tx .a.num{font-family:var(--mono);font-size:.82rem;letter-spacing:-.01em;color:var(--title);}
.ovr-tx .b{font-size:.72rem;color:var(--dim);line-height:1.35;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.ovr-ir{flex-shrink:0;font-family:var(--mono);font-size:.78rem;color:var(--line);}
.ovr.sel .ovr-ir{color:var(--gold);}

/* ── Estado inicial: enseña qué se puede buscar ── */
.ov-guia{padding:22px 20px 24px;}
.ov-guia-t{font-family:var(--serif);font-size:1.02rem;color:var(--title);
  font-weight:600;margin:0 0 13px;}
.ov-guia-l{display:flex;flex-direction:column;gap:9px;}
.ov-guia-l span{font-size:.81rem;color:var(--dim);padding-left:15px;position:relative;line-height:1.5;}
.ov-guia-l span::before{content:"";position:absolute;left:0;top:.56em;
  width:5px;height:5px;border:1px solid var(--gold-line);transform:rotate(45deg);opacity:.75;}
.ov-guia-l b{color:var(--muted);font-weight:600;}

/* ── Sin coincidencias ── */
.ov-nada{padding:26px 20px 28px;text-align:center;}
.ov-nada-t{font-family:var(--serif);font-size:1.02rem;color:var(--muted);margin:0 0 5px;font-weight:600;}
.ov-nada-s{font-size:.79rem;color:var(--dim);margin:0;}

/* ── Pie con atajos ── */
.ovhint{display:flex;align-items:center;gap:15px;flex-wrap:wrap;}
.ovhint-i{display:inline-flex;align-items:center;gap:5px;
  font-size:.7rem;color:var(--dim);white-space:nowrap;}
.ovhint-m{margin-left:auto;font-family:var(--mono);font-size:.6rem;
  letter-spacing:.06em;color:var(--line);white-space:nowrap;}

@media(max-width:620px){
  .ovr-tipo{width:64px;font-size:.5rem;}
  .ovhint-m{display:none;}
}

/* ═══════════════ «Pregúntale a Fuero» en el menú lateral ═══════════════
   No es una sección más: es una acción. Se separa del resto con un filete
   y lleva el dorado de la marca, más el aviso de que todavía no está lista. */
.sb-item.sb-ia{
  margin-top:10px;padding-top:14px;
  border-top:1px solid rgba(var(--realce-rgb),.07);
  color:var(--gold);
  font-size:.775rem;           /* entra en una sola línea junto al distintivo */
  white-space:nowrap;
  gap:9px;
}
.sb-item.sb-ia svg{color:var(--gold);opacity:.92;}
.sb-item.sb-ia:hover{color:var(--gold-claro);}
.sb-pronto{
  margin-left:auto;font-family:var(--mono);font-size:.48rem;letter-spacing:.09em;
  text-transform:uppercase;color:var(--dim);
  border:1px solid var(--line);border-radius:20px;padding:2px 6px;flex-shrink:0;
}
