/* Premium Law Firm — Navy + Gold + Cream luxury aesthetic */
:root{
  --navy:#0b1733;
  --navy-2:#0f1e42;
  --navy-3:#162a55;
  --charcoal:#1a1a1a;
  --gold:#c9a55a;
  --gold-2:#e0c281;
  --cream:#f6efe1;
  --paper:#fbf8f1;
  --white:#ffffff;
  --muted:#7d869c;
  --line:rgba(201,165,90,.25);
  --shadow:0 30px 80px -30px rgba(8,15,40,.45);
  --radius:14px;
  --serif:'Cormorant Garamond','Playfair Display',Georgia,serif;
  --sans:'Inter','Helvetica Neue',Arial,sans-serif;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--paper);color:#1c2238;font-family:var(--sans);line-height:1.6;font-size:15px}
a{color:var(--navy);text-decoration:none}
a:hover{color:var(--gold)}
h1,h2,h3,h4{font-family:var(--serif);font-weight:500;letter-spacing:-.01em;color:var(--navy);margin:0 0 .6em}
h1{font-size:clamp(2.4rem,5vw,4rem);line-height:1.05}
h2{font-size:clamp(1.8rem,3.4vw,2.6rem)}
h3{font-size:1.35rem}
.container{max-width:1200px;margin:0 auto;padding:0 24px}
.eyebrow{font-family:var(--sans);text-transform:uppercase;letter-spacing:.28em;font-size:.72rem;color:var(--gold);font-weight:600}
.muted{color:var(--muted)}

/* NAV */
.nav{position:sticky;top:0;z-index:50;background:rgba(11,23,51,.92);backdrop-filter:blur(14px);border-bottom:1px solid rgba(201,165,90,.2)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;padding:18px 0;gap:24px}
.brand{display:inline-flex;align-items:center;gap:12px;color:var(--cream);font-family:var(--serif);font-size:1.4rem;letter-spacing:.04em;white-space:nowrap;flex-shrink:0}
.brand .crest{width:34px;height:34px;border:1.5px solid var(--gold);display:grid;place-items:center;color:var(--gold);font-family:var(--serif);font-weight:600;flex-shrink:0}
.nav-links{display:flex;align-items:center;gap:22px;flex-wrap:nowrap}
.nav-links a{color:var(--cream);font-size:.88rem;letter-spacing:.04em;white-space:nowrap}
.nav-links a:hover{color:var(--gold)}
.nav-cta{border:1px solid var(--gold);padding:9px 18px;color:var(--gold)!important;border-radius:2px;white-space:nowrap}
.nav-cta:hover{background:var(--gold);color:var(--navy)!important}
.menu-toggle{display:none}

@media (max-width:1180px){.nav-links a{font-size:.82rem;letter-spacing:.02em}.nav-links{gap:16px}}

@media (max-width:980px){
  .nav-inner{
    display:grid !important;
    grid-template-columns:auto 1fr auto;
    column-gap:14px;
    row-gap:12px;
    padding:14px 0;
    align-items:center;
    justify-content:initial;
  }
  .nav-inner .brand{grid-row:1;grid-column:1;font-size:1.1rem}
  .brand .crest{width:30px;height:30px;font-size:.95rem}
  .nav-inner .nav-cta{grid-row:1;grid-column:3;padding:8px 16px;font-size:.78rem;margin:0}
  .nav-inner .nav-links{
    grid-row:2;grid-column:1 / -1;
    display:flex !important;
    flex-direction:row !important;
    flex-wrap:nowrap;
    align-items:center;
    gap:8px;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    scroll-snap-type:x mandatory;
    padding:2px 0 6px;
    width:100%;
    scrollbar-width:none;
  }
  .nav-links::-webkit-scrollbar{display:none}
  .nav-links a{
    flex:0 0 auto;
    scroll-snap-align:start;
    padding:9px 16px;
    margin:0 !important;
    border:1px solid rgba(201,165,90,.35);
    border-radius:999px;
    background:rgba(201,165,90,.06);
    font-size:.82rem;
    letter-spacing:.04em;
    color:var(--cream);
    white-space:nowrap;
    transition:all .2s;
  }
  .nav-links a:hover,
  .nav-links a:focus,
  .nav-links a:active{
    background:var(--gold);
    color:var(--navy);
    border-color:var(--gold);
  }
  .nav-links .nav-recovery{
    background:rgba(201,165,90,.2);
    color:var(--gold);
    border-color:var(--gold);
  }
  .nav-links .nav-recovery:hover{background:var(--gold);color:var(--navy)}
}

/* HERO */
.hero{position:relative;background:radial-gradient(1200px 600px at 70% -10%,rgba(201,165,90,.18),transparent 60%),linear-gradient(160deg,var(--navy) 0%,var(--navy-2) 60%,#0a1430 100%);color:var(--cream);overflow:hidden;padding:110px 0 130px}
.hero::after{content:"";position:absolute;inset:auto 0 0 0;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent)}
.hero h1{color:var(--cream);max-width:900px}
.hero h1 em{font-style:italic;color:var(--gold-2)}
.hero p.lead{max-width:680px;font-size:1.15rem;color:#cfd5e6;margin:24px 0 40px}
.btn-row{display:flex;flex-wrap:wrap;gap:14px}
.btn{display:inline-flex;align-items:center;gap:10px;padding:14px 26px;font-weight:500;letter-spacing:.05em;border-radius:2px;transition:all .25s ease;border:1px solid transparent;cursor:pointer;font-size:.95rem}
.btn-gold{background:var(--gold);color:var(--navy)}
.btn-gold:hover{background:var(--gold-2);transform:translateY(-1px)}
.btn-ghost{border-color:var(--gold);color:var(--gold)}
.btn-ghost:hover{background:var(--gold);color:var(--navy)}
.btn-dark{background:var(--navy);color:var(--cream)}
.btn-dark:hover{background:var(--navy-3)}
.btn-outline{border-color:var(--navy);color:var(--navy);background:transparent}
.btn-outline:hover{background:var(--navy);color:var(--cream)}
.btn-danger{background:#8b2231;color:#fff}

/* TRUST */
.trust{background:var(--navy-2);color:#cfd5e6;padding:24px 0;border-top:1px solid var(--line)}
.trust-row{display:flex;flex-wrap:wrap;gap:32px;justify-content:space-between;align-items:center;font-size:.85rem;letter-spacing:.18em;text-transform:uppercase}
.trust-row span{opacity:.85}

/* SECTIONS */
section{padding:90px 0}
.section-head{text-align:center;max-width:780px;margin:0 auto 60px}
.section-head h2{margin-top:.4em}
.divider{width:48px;height:1px;background:var(--gold);margin:0 auto 18px}

/* CARDS */
.grid{display:grid;gap:24px}
.grid-3{grid-template-columns:repeat(3,1fr)}
.grid-4{grid-template-columns:repeat(4,1fr)}
.grid-2{grid-template-columns:repeat(2,1fr)}
@media (max-width:980px){.grid-3,.grid-4{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}

.card{background:var(--white);border:1px solid #ece4d1;border-radius:var(--radius);padding:30px;transition:all .3s ease;position:relative}
.card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:var(--gold)}
.card .icon{width:46px;height:46px;border:1px solid var(--gold);color:var(--gold);display:grid;place-items:center;margin-bottom:18px;font-family:var(--serif);font-size:1.2rem}
.card h3{margin-bottom:10px}
.card ul{margin:14px 0 18px;padding-left:18px;color:var(--muted);font-size:.92rem}
.card .card-cta{color:var(--gold);font-weight:600;font-size:.85rem;letter-spacing:.18em;text-transform:uppercase}

.glass{background:rgba(255,255,255,.7);backdrop-filter:blur(10px);border:1px solid rgba(201,165,90,.3)}

/* ATTORNEY */
.attorney-card{background:var(--white);border:1px solid #ece4d1;border-radius:var(--radius);overflow:hidden;transition:all .3s ease}
.attorney-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.attorney-photo{height:280px;background:linear-gradient(135deg,var(--navy) 0%,var(--navy-3) 100%);display:grid;place-items:center;color:var(--gold);font-family:var(--serif);font-size:3rem;letter-spacing:.1em}
.attorney-body{padding:24px}
.attorney-body .title{color:var(--gold);font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;margin-bottom:6px}
.attorney-body h3{margin-bottom:8px}
.tag{display:inline-block;background:var(--cream);color:var(--navy);padding:4px 10px;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;margin:2px 4px 2px 0;border-radius:2px}

/* PROCESS */
.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;counter-reset:step}
@media (max-width:880px){.process-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.process-grid{grid-template-columns:1fr}}
.process-step{padding:30px;background:var(--white);border:1px solid #ece4d1;border-radius:var(--radius);position:relative}
.process-step::before{counter-increment:step;content:"0" counter(step);font-family:var(--serif);font-size:2.6rem;color:var(--gold);display:block;margin-bottom:8px;line-height:1}

/* TESTIMONIALS */
.testimonial{padding:36px;background:linear-gradient(160deg,var(--navy) 0%,var(--navy-3) 100%);color:var(--cream);border-radius:var(--radius);position:relative}
.testimonial::before{content:"\201C";position:absolute;top:10px;left:18px;font-family:var(--serif);font-size:5rem;color:var(--gold);opacity:.4;line-height:1}
.testimonial p{font-family:var(--serif);font-size:1.15rem;font-style:italic;margin:20px 0}
.testimonial cite{color:var(--gold);font-style:normal;letter-spacing:.15em;text-transform:uppercase;font-size:.78rem}

/* CTA BANNER */
.cta-banner{background:linear-gradient(160deg,var(--navy) 0%,var(--navy-3) 100%);color:var(--cream);padding:80px 0;text-align:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.cta-banner h2{color:var(--cream)}

/* FORM */
form.premium{background:var(--white);border:1px solid #ece4d1;border-radius:var(--radius);padding:40px;box-shadow:var(--shadow)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:18px}
@media (max-width:680px){.form-row{grid-template-columns:1fr}}
.field{display:flex;flex-direction:column;gap:6px}
.field label{font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:var(--navy);font-weight:600}
.field input,.field select,.field textarea{padding:13px 14px;border:1px solid #d8d2c0;border-radius:4px;background:var(--paper);font-family:inherit;font-size:.95rem;color:var(--navy);transition:all .2s}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--gold);background:var(--white)}
.field textarea{resize:vertical;min-height:120px}
.checkbox-row{display:flex;gap:10px;align-items:flex-start;margin:14px 0;font-size:.88rem}
.checkbox-row input{margin-top:4px}

/* BADGES */
.badge{display:inline-block;padding:4px 12px;font-size:.72rem;letter-spacing:.15em;text-transform:uppercase;border-radius:2px;font-weight:600}
.badge-new{background:#e6efff;color:#1e3c8b}
.badge-active{background:#e6f7ec;color:#197147}
.badge-pending{background:#fff7e0;color:#8a6500}
.badge-closed{background:#eee;color:#555}
.badge-rejected{background:#fde7e7;color:#8b1f1f}
.badge-court{background:#f1e7ff;color:#5a2c8b}
.badge-urgent{background:#8b2231;color:#fff}
.badge-paid{background:#e6f7ec;color:#197147}
.badge-unpaid{background:#fff7e0;color:#8a6500}
.badge-overdue{background:#fde7e7;color:#8b1f1f}
.badge-gold{background:var(--gold);color:var(--navy)}

/* FLASH */
.flash{padding:14px 18px;border-radius:6px;margin-bottom:20px;border-left:4px solid var(--gold);background:#fff8e8;color:#5c4310}
.flash.error{background:#fde7e7;border-left-color:#8b1f1f;color:#6e1717}
.flash.success{background:#e6f7ec;border-left-color:#197147;color:#0e5230}

/* DISCLAIMER */
.disclaimer{background:var(--cream);border-left:3px solid var(--gold);padding:16px 20px;font-size:.82rem;color:var(--charcoal);margin:24px 0;border-radius:4px}

/* Auto-dismissing flash: fades out, then JS removes it from the layout */
.flash.is-dismissing{opacity:0;transform:translateY(-6px);transition:opacity .5s ease,transform .5s ease}

/* AUTH PAGES (sign in / forgot / reset) — vertically centred, no dead gap */
.auth-wrap{padding:88px 0;min-height:62vh;display:flex;align-items:center}
.auth-card{width:100%;max-width:480px;margin:0 auto}
/* On phones: tighten the top so the form sits close to the heading/notice */
@media (max-width:640px){.auth-wrap{padding:40px 0 56px;min-height:auto}}

/* FOOTER */
footer{background:#070f24;color:#aab2c8;padding:70px 0 24px;border-top:1px solid var(--line)}
footer h4{color:var(--cream);font-family:var(--serif);font-size:1.1rem;margin-bottom:18px}
footer a{color:#aab2c8;display:block;margin:6px 0;font-size:.9rem}
footer a:hover{color:var(--gold)}
footer .wa-link{display:inline-flex;align-items:center;gap:8px}
footer .wa-link .fa-whatsapp{color:#25d366;font-size:1.05rem}
footer .wa-link:hover .fa-whatsapp{color:#25d366}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:50px;margin-bottom:50px}
@media (max-width:780px){.footer-grid{grid-template-columns:1fr 1fr}}
/* Reserve space on the right so the fixed chat widget never covers the contact column / bottom row */
.footer-bottom{border-top:1px solid rgba(255,255,255,.08);padding-top:24px;padding-right:96px;display:flex;flex-wrap:wrap;justify-content:space-between;font-size:.82rem;color:#7a83a0}
@media (max-width:560px){.footer-bottom{padding-right:0;padding-bottom:84px}}

/* DASHBOARD */
.dash{display:grid;grid-template-columns:260px 1fr;min-height:100vh}
.sidebar{background:linear-gradient(180deg,var(--navy) 0%,#070f24 100%);color:var(--cream);padding:30px 0;position:sticky;top:0;height:100vh;overflow-y:auto;border-right:1px solid var(--line)}
.sidebar .brand{padding:0 24px 30px;border-bottom:1px solid rgba(255,255,255,.08);margin-bottom:20px}
.sidebar a{display:flex;align-items:center;gap:12px;padding:12px 24px;color:#cfd5e6;font-size:.92rem;border-left:2px solid transparent;transition:all .2s}
.sidebar a:hover,.sidebar a.active{background:rgba(201,165,90,.08);border-left-color:var(--gold);color:var(--gold)}
.sidebar .group-label{padding:18px 24px 6px;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:#7a83a0}
.dash-main{padding:36px 40px;background:var(--paper)}
.dash-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;flex-wrap:wrap;gap:16px}
.dash-head h1{font-size:2rem;margin:0}
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:36px}
@media (max-width:1100px){.kpis{grid-template-columns:repeat(2,1fr)}}
.kpi{background:var(--white);padding:22px;border-radius:var(--radius);border:1px solid #ece4d1;border-left:3px solid var(--gold)}
.kpi .label{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.kpi .value{font-family:var(--serif);font-size:2.2rem;color:var(--navy);margin-top:6px}
.panel{background:var(--white);border:1px solid #ece4d1;border-radius:var(--radius);padding:28px;margin-bottom:24px}
.panel h2{font-size:1.3rem;margin-bottom:18px}

table.data{width:100%;border-collapse:collapse}
table.data th,table.data td{text-align:left;padding:12px 14px;border-bottom:1px solid #ece4d1;font-size:.9rem}
table.data th{background:var(--cream);color:var(--navy);font-weight:600;letter-spacing:.05em}
table.data tr:hover{background:#fdf9ee}
table.data a{color:var(--navy);font-weight:600}

/* Mobile top bar + slide-in drawer + bottom nav (hidden on desktop, inline-hidden in markup too) */
.mobile-topbar,.sidebar-overlay,.mobile-bottomnav{display:none}

@media (max-width:880px){
  .dash{grid-template-columns:1fr}
  .mobile-topbar{display:flex !important;align-items:center;gap:14px;position:sticky;top:0;z-index:1100;
    background:linear-gradient(180deg,var(--navy),#070f24);color:var(--cream);padding:11px 16px;
    border-bottom:1px solid rgba(201,165,90,.25);box-shadow:0 4px 18px rgba(8,15,40,.28)}
  .mobile-topbar .menu-toggle{display:grid;place-items:center;width:42px;height:42px;cursor:pointer;line-height:1;
    border:1px solid rgba(201,165,90,.4);background:rgba(201,165,90,.08);color:var(--gold);border-radius:10px;font-size:1.25rem}
  .mobile-topbar .mtb-brand{display:flex;align-items:center;gap:10px;color:var(--cream);font-family:var(--serif);font-size:1.15rem;letter-spacing:.04em}
  .mobile-topbar .crest{width:30px;height:30px;display:grid;place-items:center;background:var(--gold);color:var(--navy);border-radius:7px;font-weight:600;font-family:var(--serif)}

  .sidebar{position:fixed;top:0;left:0;height:100dvh;width:84vw;max-width:300px;z-index:1300;
    transform:translateX(-100%);transition:transform .28s cubic-bezier(.4,0,.2,1);box-shadow:0 0 70px rgba(0,0,0,.45)}
  .sidebar.open{transform:translateX(0)}
  .sidebar-overlay{display:block !important;position:fixed;inset:0;background:rgba(8,15,40,.55);z-index:1200;
    opacity:0;visibility:hidden;transition:opacity .28s ease}
  .sidebar-overlay.show{opacity:1;visibility:visible}

  .dash-main{padding:22px 18px 96px}
  .dash-head{margin-bottom:22px}
  .dash-head h1{font-size:1.55rem}
  .kpis{grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:24px}
  .kpi{padding:16px}
  .kpi .value{font-size:1.7rem}
  .panel{padding:18px}

  /* App-style bottom navigation */
  .mobile-bottomnav{display:flex !important;position:fixed;bottom:0;left:0;right:0;z-index:1100;
    background:linear-gradient(180deg,#0d1936,#070f24);border-top:1px solid rgba(201,165,90,.22);
    padding:6px 4px;padding-bottom:calc(6px + env(safe-area-inset-bottom));box-shadow:0 -6px 24px rgba(8,15,40,.4)}
  .mobile-bottomnav a{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 2px;
    color:#99a3bd;font-size:.62rem;letter-spacing:.03em;text-decoration:none;border:0;transition:color .2s}
  .mobile-bottomnav a svg{width:21px;height:21px}
  .mobile-bottomnav a.active{color:var(--gold)}
  .mobile-bottomnav a:active{color:var(--gold)}

  /* Lift the chat button above the bottom nav */
  #lf-chat{bottom:84px}
}

@media (max-width:560px){
  .kpis{grid-template-columns:1fr}
  .dash-main table.data{display:block;overflow-x:auto;white-space:nowrap;-webkit-overflow-scrolling:touch}
  .msg{max-width:92%}
}

/* TIMELINE */
.timeline{border-left:2px solid var(--gold);padding-left:24px;margin-left:8px}
.timeline-item{position:relative;padding-bottom:22px}
.timeline-item::before{content:"";position:absolute;left:-31px;top:5px;width:12px;height:12px;background:var(--gold);border-radius:50%;border:3px solid var(--paper)}
.timeline-item .when{font-size:.78rem;color:var(--muted);letter-spacing:.1em}

/* MESSAGES */
.msg-thread{display:flex;flex-direction:column;gap:14px}
.msg{padding:16px 20px;background:var(--white);border:1px solid #ece4d1;border-radius:var(--radius);max-width:80%}
.msg.mine{background:var(--navy);color:var(--cream);align-self:flex-end;border-color:var(--navy)}
.msg .meta{font-size:.72rem;color:var(--muted);margin-bottom:6px}
.msg.mine .meta{color:#a5b0cf}

.fade-up{animation:fadeUp .8s ease both}
@keyframes fadeUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}

/* CHAT WIDGET */
#lf-chat{position:fixed;bottom:24px;right:24px;z-index:9999;font-family:var(--sans)}
#lf-chat-fab{width:60px;height:60px;border-radius:50%;background:linear-gradient(160deg,var(--navy) 0%,var(--navy-3) 100%);color:var(--gold);border:1.5px solid var(--gold);cursor:pointer;display:grid;place-items:center;box-shadow:0 12px 30px -8px rgba(8,15,40,.5);transition:all .25s;position:relative}
#lf-chat-fab:hover{transform:scale(1.06);box-shadow:0 18px 40px -8px rgba(201,165,90,.4)}
.lf-fab-pulse{position:absolute;inset:-4px;border-radius:50%;border:1px solid var(--gold);opacity:.5;animation:lfpulse 2s ease-out infinite}
@keyframes lfpulse{0%{transform:scale(1);opacity:.6}100%{transform:scale(1.4);opacity:0}}
#lf-chat-panel{position:absolute;bottom:74px;right:0;width:380px;max-width:calc(100vw - 48px);height:560px;max-height:calc(100vh - 120px);background:var(--paper);border-radius:14px;box-shadow:0 30px 70px -10px rgba(8,15,40,.45);border:1px solid #ece4d1;display:none;flex-direction:column;overflow:hidden}
#lf-chat-panel.lf-open{display:flex;animation:fadeUp .3s ease both}
#lf-chat-head{background:linear-gradient(160deg,var(--navy) 0%,var(--navy-3) 100%);color:var(--cream);padding:18px 22px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}
#lf-chat-head .lf-eyebrow{font-size:.65rem;letter-spacing:.25em;text-transform:uppercase;color:var(--gold);margin-bottom:2px}
#lf-chat-head .lf-title{font-family:var(--serif);font-size:1.15rem}
#lf-chat-close{background:none;border:0;color:var(--cream);font-size:1.6rem;cursor:pointer;line-height:1;padding:0 4px}
#lf-chat-close:hover{color:var(--gold)}
.lf-head-actions{display:flex;align-items:center;gap:6px}
#lf-chat-clear{background:none;border:0;color:var(--cream);cursor:pointer;padding:6px;border-radius:4px;display:grid;place-items:center}
#lf-chat-clear:hover{color:var(--gold);background:rgba(201,165,90,.1)}
#lf-chat-body{flex:1;overflow-y:auto;padding:18px;display:none;flex-direction:column;gap:10px;background:var(--paper)}
#lf-chat-gate{flex:1;display:flex;flex-direction:column;justify-content:center;padding:30px 26px;background:var(--paper);overflow-y:auto}
.lf-gate-eyebrow{font-size:.65rem;letter-spacing:.25em;text-transform:uppercase;color:var(--gold);margin-bottom:6px;font-weight:600}
.lf-gate-title{font-family:var(--serif);color:var(--navy);font-size:1.3rem;margin:0 0 8px;font-weight:500}
.lf-gate-sub{color:var(--muted);font-size:.85rem;margin:0 0 20px;line-height:1.5}
.lf-field{display:flex;flex-direction:column;gap:4px;margin-bottom:14px}
.lf-field label{font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--navy);font-weight:600}
.lf-field input{padding:11px 13px;border:1px solid #d8d2c0;border-radius:6px;background:#fff;font-size:.9rem;font-family:inherit;color:var(--navy)}
.lf-field input:focus{outline:none;border-color:var(--gold)}
.lf-gate-err{color:#8b1f1f;font-size:.82rem;min-height:18px;margin-bottom:6px}
.lf-gate-btn{background:var(--gold);color:var(--navy);border:0;padding:13px;border-radius:6px;font-weight:600;letter-spacing:.05em;cursor:pointer;font-family:inherit;font-size:.9rem;width:100%}
.lf-gate-btn:hover{background:var(--gold-2)}
.lf-gate-fine{font-size:.7rem;color:var(--muted);margin:14px 0 0;text-align:center;line-height:1.5}
.lf-row{display:flex;align-items:flex-end;gap:8px}
.lf-row-mine{justify-content:flex-end}
.lf-avatar{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-size:.72rem;font-weight:700;letter-spacing:.05em;flex-shrink:0;font-family:var(--serif)}
.lf-avatar-ai{background:#fff;color:var(--gold);border:1px solid var(--gold)}
.lf-avatar-admin{background:linear-gradient(160deg,var(--gold) 0%,var(--gold-2) 100%);color:var(--navy);border:1px solid var(--gold);box-shadow:0 4px 10px -2px rgba(201,165,90,.4);animation:lfJoin .4s ease both}
@keyframes lfJoin{from{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}
.lf-msg{padding:10px 14px;border-radius:12px;max-width:75%;font-size:.88rem;line-height:1.5;word-wrap:break-word}
.lf-msg .lf-meta{font-size:.65rem;letter-spacing:.15em;text-transform:uppercase;opacity:.7;margin-bottom:4px}
.lf-ai{background:#fff;border:1px solid #ece4d1;color:var(--navy);border-bottom-left-radius:4px}
.lf-admin{background:linear-gradient(160deg,var(--cream) 0%,#fff 100%);border:1px solid var(--gold);color:var(--navy);border-bottom-left-radius:4px;box-shadow:0 6px 18px -8px rgba(201,165,90,.3)}
.lf-admin .lf-meta{color:var(--gold);font-weight:700}
.lf-mine{background:var(--navy);color:var(--cream);border-bottom-right-radius:4px}
.lf-mine .lf-meta{color:#a5b0cf}
#lf-chat-form{padding:12px 14px;background:#fff;border-top:1px solid #ece4d1;display:none}
.lf-input-row{display:flex;gap:8px;align-items:flex-end}
#lf-chat-input{flex:1;padding:10px 12px;border:1px solid #d8d2c0;border-radius:10px;background:var(--paper);font-size:.9rem;font-family:inherit;color:var(--navy);resize:none;max-height:100px}
#lf-chat-input:focus{outline:none;border-color:var(--gold);background:#fff}
#lf-chat-form button[type="submit"]{width:38px;height:38px;border-radius:50%;background:var(--gold);color:var(--navy);border:0;font-size:1.1rem;cursor:pointer;font-weight:700}
#lf-chat-form button[type="submit"]:hover{background:var(--gold-2)}
.lf-disclaimer{font-size:.7rem;color:var(--muted);margin-top:8px;text-align:center}
@media print{#lf-chat{display:none}}
