/* livewells theme. Dark is the default identity. Link this file first, then the page css.
   Light: <html data-theme="light">. Explicit choice: data-theme="dark" | "light".
   With no data-theme, prefers-color-scheme: light selects the light tokens.
   Any element with data-theme re-scopes the tokens for its subtree. Mobile first. */

/*@pair --lw-text on --lw-bg 4.5*/
/*@pair --lw-text on --lw-surface 4.5*/
/*@pair --lw-text on --lw-raised 4.5*/
/*@pair --lw-text-2 on --lw-bg 4.5*/
/*@pair --lw-text-2 on --lw-surface 4.5*/
/*@pair --lw-text-2 on --lw-raised 4.5*/
/*@pair --lw-text-3 on --lw-bg 4.5*/
/*@pair --lw-text-3 on --lw-bg-deep 5*/
/*@pair --lw-text-3 on --lw-bg-water 5*/
/*@pair --lw-text-2 on --lw-bg-deep 5*/
/*@pair --lw-text-2 on --lw-bg-water 5*/
/*@pair --lw-text-3 on --lw-surface 4.5*/
/*@pair --lw-text-3 on --lw-raised 4.5*/
/*@pair --lw-accent on --lw-bg 4.5*/
/*@pair --lw-accent on --lw-surface 4.5*/
/*@pair --lw-accent on --lw-raised 4.5*/
/*@pair --lw-highlight on --lw-bg 4.5*/
/*@pair --lw-highlight on --lw-surface 4.5*/
/*@pair --lw-danger on --lw-bg 4.5*/
/*@pair --lw-danger on --lw-surface 4.5*/
/*@pair --lw-success on --lw-surface 4.5*/
/*@pair --lw-warning on --lw-surface 4.5*/
/*@pair --lw-info on --lw-surface 4.5*/
/*@pair --lw-accent-ink on --lw-accent 4.5*/
/*@pair --lw-accent-ink on --lw-accent-hover 4.5*/
/*@pair --lw-danger-ink on --lw-danger-solid 4.5*/
/*@pair --lw-text on --lw-btn2-bg 4.5*/
/*@pair --lw-text on --lw-input-bg 4.5*/
/*@pair --lw-text-3 on --lw-input-bg 4.5*/
/*@pair --lw-border-strong on --lw-bg 3*/
/*@pair --lw-border-strong on --lw-surface 3*/
/*@pair --lw-border-strong on --lw-input-bg 3*/
/*@pair --lw-focus on --lw-bg 3*/
/*@pair --lw-focus on --lw-surface 3*/
/*@pair --lw-focus on --lw-raised 3*/
/*@pair --lw-v-mal-fg on --lw-v-mal-bg 4.5*/
/*@pair --lw-v-sus-fg on --lw-v-sus-bg 4.5*/
/*@pair --lw-v-ben-fg on --lw-v-ben-bg 4.5*/
/*@pair --lw-v-cloak-fg on --lw-v-cloak-bg 4.5*/
/*@pair --lw-v-pend-fg on --lw-v-pend-bg 4.5*/
/*@pair --lw-text on --lw-zebra 4.5*/
/*@pair --lw-text on --lw-th-bg 4.5*/
/*@pair --lw-text-2 on --lw-th-bg 4.5*/
/*@pair --lw-ioc-fg on --lw-ioc-bg 4.5*/
/*@pair --lw-text on --lw-warn-bg 4.5*/
/*@pair --lw-text-2 on --lw-warn-bg 4.5*/
/*@pair --lw-highlight on --lw-warn-bg 4.5*/
/*@pair --lw-danger on --lw-warn-bg 4.5*/
/*@pair --lw-chip-fg on --lw-chip-bg 4.5*/
/*@pair --lw-toast-fg on --lw-toast-bg 4.5*/
/*@pair --lw-toast-accent on --lw-toast-bg 4.5*/
/*@pair --lw-nav-link on --lw-nav-bg 4.5*/
/*@pair --lw-text on --lw-nav-bg 4.5*/

:root,[data-theme="dark"]{
  color-scheme:dark;
  --lw-bg-deep:#09111a;
  --lw-bg:#0e1822;
  --lw-bg-water:#123246;
  --lw-surface:#12222f;
  --lw-raised:#16303f;
  --lw-border:#24424f;
  --lw-border-strong:#4a7a90;
  --lw-text:#e4f2f8;
  --lw-text-2:#b9d6e6;
  --lw-text-3:#93b3c4;
  --lw-accent:#6fd0e6;
  --lw-accent-hover:#93dcee;
  --lw-accent-ink:#06141c;
  --lw-highlight:#e9c46a;
  --lw-danger:#ff8a8d;
  --lw-danger-solid:#e5484d;
  --lw-danger-ink:#0b0f14;
  --lw-success:#6fdba0;
  --lw-warning:#f0b955;
  --lw-info:#8fc4f2;
  --lw-focus:#ffd776;
  --lw-btn2-bg:#1d3f52;
  --lw-input-bg:#0b151e;
  --lw-nav-bg:#0c1721;
  --lw-nav-link:#b9d6e6;
  --lw-zebra:#102029;
  --lw-th-bg:#183548;
  --lw-ioc-bg:#0a141c;
  --lw-ioc-fg:#9fe3f2;
  --lw-warn-bg:#2a2412;
  --lw-chip-bg:#16303f;
  --lw-chip-fg:#cfeaf5;
  --lw-toast-bg:#1b3a4c;
  --lw-toast-fg:#e4f2f8;
  --lw-toast-accent:#6fd0e6;
  --lw-v-mal-bg:#4a1a1f;  --lw-v-mal-fg:#ffb3b5;
  --lw-v-sus-bg:#4a3a12;  --lw-v-sus-fg:#f5d27a;
  --lw-v-ben-bg:#12402c;  --lw-v-ben-fg:#8be8b4;
  --lw-v-cloak-bg:#3a2a5a; --lw-v-cloak-fg:#d9c6ff;
  --lw-v-pend-bg:#24384a; --lw-v-pend-fg:#b9d6e6;
  --lw-glow:rgba(111,208,230,.35);
  --lw-shadow-1:0 1px 2px rgba(0,0,0,.5);
  --lw-shadow-2:0 6px 20px rgba(0,0,0,.5),0 0 0 1px rgba(111,208,230,.06);
  --lw-shadow-3:0 14px 40px rgba(0,0,0,.6),0 0 0 1px rgba(111,208,230,.1);
  --lw-selection:#2a7894;
  --lw-scroll-thumb:#2f5568;
}
[data-theme="light"]{
  color-scheme:light;
  --lw-bg-deep:#e6f0f5;
  --lw-bg:#f3f7fa;
  --lw-bg-water:#d3e8f1;
  --lw-surface:#ffffff;
  --lw-raised:#eaf3f8;
  --lw-border:#c5d9e3;
  --lw-border-strong:#5d8196;
  --lw-text:#142c3b;
  --lw-text-2:#2f4c5f;
  --lw-text-3:#3f5a6b;
  --lw-accent:#14627f;
  --lw-accent-hover:#0f4f67;
  --lw-accent-ink:#ffffff;
  --lw-highlight:#845500;
  --lw-danger:#b3202a;
  --lw-danger-solid:#b3202a;
  --lw-danger-ink:#ffffff;
  --lw-success:#17693f;
  --lw-warning:#7d5200;
  --lw-info:#1b5a98;
  --lw-focus:#0b5fd0;
  --lw-btn2-bg:#dcebf3;
  --lw-input-bg:#ffffff;
  --lw-nav-bg:#ffffff;
  --lw-nav-link:#2f4c5f;
  --lw-zebra:#f3f8fb;
  --lw-th-bg:#dcebf3;
  --lw-ioc-bg:#e8f1f6;
  --lw-ioc-fg:#0f4f67;
  --lw-warn-bg:#fff4d6;
  --lw-chip-bg:#e1eff6;
  --lw-chip-fg:#1f3a4d;
  --lw-toast-bg:#142c3b;
  --lw-toast-fg:#e4f2f8;
  --lw-toast-accent:#6fd0e6;
  --lw-v-mal-bg:#fde0e1;  --lw-v-mal-fg:#8f1a22;
  --lw-v-sus-bg:#fdecc0;  --lw-v-sus-fg:#6b4500;
  --lw-v-ben-bg:#d5f2e2;  --lw-v-ben-fg:#0f5a34;
  --lw-v-cloak-bg:#e9defc; --lw-v-cloak-fg:#4a2a92;
  --lw-v-pend-bg:#dfe9ef; --lw-v-pend-fg:#2f4c5f;
  --lw-glow:rgba(20,98,127,.28);
  --lw-shadow-1:0 1px 2px rgba(20,44,59,.12);
  --lw-shadow-2:0 6px 18px rgba(20,44,59,.12);
  --lw-shadow-3:0 14px 36px rgba(20,44,59,.18);
  --lw-selection:#a9d8e8;
  --lw-scroll-thumb:#9bbccb;
}
@media (prefers-color-scheme:light){
:root:not([data-theme]){
  color-scheme:light;
  --lw-bg-deep:#e6f0f5;
  --lw-bg:#f3f7fa;
  --lw-bg-water:#d3e8f1;
  --lw-surface:#ffffff;
  --lw-raised:#eaf3f8;
  --lw-border:#c5d9e3;
  --lw-border-strong:#5d8196;
  --lw-text:#142c3b;
  --lw-text-2:#2f4c5f;
  --lw-text-3:#3f5a6b;
  --lw-accent:#14627f;
  --lw-accent-hover:#0f4f67;
  --lw-accent-ink:#ffffff;
  --lw-highlight:#845500;
  --lw-danger:#b3202a;
  --lw-danger-solid:#b3202a;
  --lw-danger-ink:#ffffff;
  --lw-success:#17693f;
  --lw-warning:#7d5200;
  --lw-info:#1b5a98;
  --lw-focus:#0b5fd0;
  --lw-btn2-bg:#dcebf3;
  --lw-input-bg:#ffffff;
  --lw-nav-bg:#ffffff;
  --lw-nav-link:#2f4c5f;
  --lw-zebra:#f3f8fb;
  --lw-th-bg:#dcebf3;
  --lw-ioc-bg:#e8f1f6;
  --lw-ioc-fg:#0f4f67;
  --lw-warn-bg:#fff4d6;
  --lw-chip-bg:#e1eff6;
  --lw-chip-fg:#1f3a4d;
  --lw-toast-bg:#142c3b;
  --lw-toast-fg:#e4f2f8;
  --lw-toast-accent:#6fd0e6;
  --lw-v-mal-bg:#fde0e1;  --lw-v-mal-fg:#8f1a22;
  --lw-v-sus-bg:#fdecc0;  --lw-v-sus-fg:#6b4500;
  --lw-v-ben-bg:#d5f2e2;  --lw-v-ben-fg:#0f5a34;
  --lw-v-cloak-bg:#e9defc; --lw-v-cloak-fg:#4a2a92;
  --lw-v-pend-bg:#dfe9ef; --lw-v-pend-fg:#2f4c5f;
  --lw-glow:rgba(20,98,127,.28);
  --lw-shadow-1:0 1px 2px rgba(20,44,59,.12);
  --lw-shadow-2:0 6px 18px rgba(20,44,59,.12);
  --lw-shadow-3:0 14px 36px rgba(20,44,59,.18);
  --lw-selection:#a9d8e8;
  --lw-scroll-thumb:#9bbccb;
}}

/* Fixed scales (same in both themes). */
:root{
  --lw-font:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --lw-mono:ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;
  --lw-r-1:4px;--lw-r-2:8px;--lw-r-3:14px;--lw-r-pill:999px;
  --lw-s-1:4px;--lw-s-2:8px;--lw-s-3:12px;--lw-s-4:16px;--lw-s-5:24px;--lw-s-6:32px;--lw-s-7:48px;--lw-s-8:64px;
  --lw-tap:44px;
  --lw-gutter:max(16px,env(safe-area-inset-left),env(safe-area-inset-right));
  --lw-t-0:.875rem;--lw-t-1:1rem;--lw-t-2:1.125rem;--lw-t-3:1.375rem;--lw-t-4:1.75rem;--lw-t-5:clamp(1.75rem,6vw,2.75rem);
  --lw-max:72rem;
}

/* Base */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scrollbar-color:var(--lw-scroll-thumb) transparent}
body{
  margin:0;min-height:100vh;min-height:100dvh;
  font:var(--lw-t-1)/1.55 var(--lw-font);
  color:var(--lw-text);background-color:var(--lw-bg);
  background-image:
    radial-gradient(120% 60% at 50% -10%,var(--lw-glow),transparent 60%),
    linear-gradient(180deg,var(--lw-bg-deep) 0,var(--lw-bg) 45%,var(--lw-bg-water) 100%);
  background-repeat:no-repeat;
  overflow-x:hidden;overflow-wrap:break-word;
  padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);
  padding-bottom:env(safe-area-inset-bottom);
}
.lw-scope{color:var(--lw-text);background-color:var(--lw-bg);
  background-image:radial-gradient(120% 50% at 50% -10%,var(--lw-glow),transparent 60%),linear-gradient(180deg,var(--lw-bg-deep) 0,var(--lw-bg) 45%,var(--lw-bg-water) 100%);
  background-repeat:no-repeat}
img,svg,video{max-width:100%}
h1,h2,h3,h4{line-height:1.2;margin:0 0 var(--lw-s-3);color:var(--lw-text);font-weight:700;letter-spacing:-.01em}
h1{font-size:var(--lw-t-5)}h2{font-size:var(--lw-t-4)}h3{font-size:var(--lw-t-3)}h4{font-size:var(--lw-t-2)}
p{margin:0 0 var(--lw-s-4)}
a{color:var(--lw-accent);text-underline-offset:.18em}
a:hover{color:var(--lw-accent-hover)}
:focus-visible{outline:3px solid var(--lw-focus);outline-offset:2px;border-radius:var(--lw-r-1)}
::selection{background:var(--lw-selection);color:var(--lw-text)}
code,kbd,samp{font-family:var(--lw-mono);font-size:.92em}
hr{border:0;border-top:1px solid var(--lw-border);margin:var(--lw-s-5) 0}
*{scrollbar-width:thin;scrollbar-color:var(--lw-scroll-thumb) transparent}
::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-thumb{background:var(--lw-scroll-thumb);border-radius:var(--lw-r-pill);border:2px solid transparent;background-clip:content-box}
.lw-wrap{width:100%;max-width:var(--lw-max);margin:0 auto;padding:0 var(--lw-gutter)}
.lw-muted{color:var(--lw-text-3)}
.lw-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.lw-stack>*+*{margin-top:var(--lw-s-4)}
.lw-row{display:flex;flex-wrap:wrap;gap:var(--lw-s-3);align-items:center}
.lw-grid{display:grid;gap:var(--lw-s-4);grid-template-columns:minmax(0,1fr)}
@media (min-width:640px){.lw-grid--2,.lw-grid--3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:960px){.lw-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* Nav: compact menu (details) below 768px, inline bar above. */
.lw-nav{background:var(--lw-nav-bg);border-bottom:1px solid var(--lw-border);position:sticky;top:0;z-index:20;
  padding-top:env(safe-area-inset-top)}
.lw-nav__bar{display:flex;align-items:center;justify-content:space-between;gap:var(--lw-s-3);min-height:56px;
  max-width:var(--lw-max);margin:0 auto;padding:0 var(--lw-gutter)}
.lw-nav__brand{display:inline-flex;align-items:center;gap:var(--lw-s-2);min-height:var(--lw-tap);color:var(--lw-text);
  font-weight:800;font-size:var(--lw-t-2);letter-spacing:-.02em;text-decoration:none}
.lw-nav__brand::before{content:"";width:22px;height:22px;border-radius:50% 50% 50% 8px;background:linear-gradient(135deg,var(--lw-accent),var(--lw-highlight));flex:none}
.lw-nav__menu{position:relative}
.lw-nav__menu>summary{list-style:none;display:inline-flex;align-items:center;justify-content:center;min-width:var(--lw-tap);min-height:var(--lw-tap);
  padding:0 var(--lw-s-3);border:1px solid var(--lw-border-strong);border-radius:var(--lw-r-2);color:var(--lw-text);cursor:pointer;font-weight:600}
.lw-nav__menu>summary::-webkit-details-marker{display:none}
.lw-nav__links{display:flex;flex-direction:column;position:absolute;right:0;top:calc(100% + 6px);min-width:14rem;max-width:calc(100vw - 2*var(--lw-gutter));max-height:calc(100vh - 80px);max-height:calc(100dvh - 80px);overflow-y:auto;overscroll-behavior:contain;
  background:var(--lw-surface);border:1px solid var(--lw-border);border-radius:var(--lw-r-3);box-shadow:var(--lw-shadow-3);padding:var(--lw-s-2)}
.lw-nav__link{display:flex;align-items:center;min-height:var(--lw-tap);padding:0 var(--lw-s-3);color:var(--lw-nav-link);text-decoration:none;border-radius:var(--lw-r-2);font-weight:500}
.lw-nav__link:hover{background:var(--lw-raised);color:var(--lw-text)}
.lw-nav__link[aria-current="page"]{color:var(--lw-text);box-shadow:inset 3px 0 0 var(--lw-accent);font-weight:700}
@media (min-width:768px){
  .lw-nav__menu>summary{display:none}
  .lw-nav__links,.lw-nav__menu:not([open]) .lw-nav__links{display:flex;position:static;flex-direction:row;min-width:0;max-width:none;max-height:none;overflow:visible;background:none;border:0;box-shadow:none;padding:0;gap:var(--lw-s-1)}
  .lw-nav__link[aria-current="page"]{box-shadow:inset 0 -3px 0 var(--lw-accent);border-radius:var(--lw-r-2) var(--lw-r-2) 0 0}
  /* A closed <details> hides its content in current browsers, so show the open bar. */
  .lw-nav__menu::details-content{content-visibility:visible;display:contents}
}

/* Card */
.lw-card{background:var(--lw-surface);border:1px solid var(--lw-border);border-radius:var(--lw-r-3);box-shadow:var(--lw-shadow-2);padding:var(--lw-s-4);min-width:0}
.lw-card--raised{background:var(--lw-raised)}
.lw-card__title{margin:0 0 var(--lw-s-2);font-size:var(--lw-t-2)}
@media (min-width:768px){.lw-card{padding:var(--lw-s-5)}}

/* Buttons */
.lw-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--lw-s-2);min-height:var(--lw-tap);min-width:var(--lw-tap);
  padding:0 var(--lw-s-4);border-radius:var(--lw-r-2);border:1px solid transparent;font:600 var(--lw-t-1)/1.2 var(--lw-font);
  text-decoration:none;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;
  transition:background-color .15s,border-color .15s,transform .1s}
.lw-btn:active{transform:translateY(1px)}
.lw-btn--primary{background:var(--lw-accent);color:var(--lw-accent-ink)}
.lw-btn--primary:hover{background:var(--lw-accent-hover);color:var(--lw-accent-ink)}
.lw-btn--secondary{background:var(--lw-btn2-bg);color:var(--lw-text);border-color:var(--lw-border-strong)}
.lw-btn--secondary:hover{border-color:var(--lw-accent);color:var(--lw-text)}
.lw-btn--ghost{background:transparent;color:var(--lw-accent)}
.lw-btn--ghost:hover{background:var(--lw-raised);color:var(--lw-accent-hover)}
.lw-btn--danger{background:var(--lw-danger-solid);color:var(--lw-danger-ink)}
.lw-btn--danger:hover{filter:brightness(1.1);color:var(--lw-danger-ink)}
.lw-btn:disabled,.lw-btn[aria-disabled="true"]{opacity:.5;cursor:not-allowed;pointer-events:none}
.lw-btn--block{display:flex;width:100%}

/* Inputs: 16px minimum so iOS does not zoom. */
.lw-label{display:block;margin-bottom:var(--lw-s-1);font-weight:600;font-size:var(--lw-t-0);color:var(--lw-text-2)}
.lw-input,.lw-select{display:block;width:100%;min-height:var(--lw-tap);padding:0 var(--lw-s-3);font:400 max(16px,1rem)/1.3 var(--lw-font);
  color:var(--lw-text);background:var(--lw-input-bg);border:1px solid var(--lw-border-strong);border-radius:var(--lw-r-2)}
.lw-input::placeholder{color:var(--lw-text-3);opacity:1}
.lw-input:hover,.lw-select:hover{border-color:var(--lw-accent)}
.lw-input:focus-visible,.lw-select:focus-visible{outline:3px solid var(--lw-focus);outline-offset:1px}
.lw-input[aria-invalid="true"]{border-color:var(--lw-danger)}
.lw-input:disabled,.lw-select:disabled{opacity:.55;cursor:not-allowed}
.lw-select{appearance:auto;padding-right:var(--lw-s-2)}
.lw-hint{font-size:var(--lw-t-0);color:var(--lw-text-3);margin-top:var(--lw-s-1)}

/* Table: dense, zebra, sticky header. Scrolls inside .lw-table-wrap with an edge shadow cue;
   .lw-table--stack turns rows into cards on narrow screens (cells carry data-label). */
.lw-table-wrap{overflow:auto;-webkit-overflow-scrolling:touch;max-width:100%;max-height:28rem;border:1px solid var(--lw-border);border-radius:var(--lw-r-2);
  background:
    linear-gradient(to right,var(--lw-surface),var(--lw-surface)) left center/24px 100% local no-repeat,
    linear-gradient(to left,var(--lw-surface),var(--lw-surface)) right center/24px 100% local no-repeat,
    linear-gradient(to right,var(--lw-glow),transparent) left center/14px 100% scroll no-repeat,
    linear-gradient(to left,var(--lw-glow),transparent) right center/14px 100% scroll no-repeat;
  background-color:var(--lw-surface)}
.lw-table{width:100%;border-collapse:separate;border-spacing:0;font-size:var(--lw-t-0);line-height:1.4}
.lw-table th,.lw-table td{padding:var(--lw-s-2) var(--lw-s-3);text-align:left;vertical-align:top;border-bottom:1px solid var(--lw-border)}
.lw-table th{position:sticky;top:0;z-index:1;background:var(--lw-th-bg);color:var(--lw-text);font-weight:700;white-space:nowrap}
.lw-table tbody tr:nth-child(even) td{background:var(--lw-zebra)}
.lw-table tbody tr:hover td{background:var(--lw-raised)}
.lw-table td{color:var(--lw-text)}
.lw-table td:first-child{white-space:nowrap}
.lw-table caption{text-align:left;padding:var(--lw-s-2) var(--lw-s-3);color:var(--lw-text-2)}
@media (max-width:639px){
  .lw-table--stack{min-width:0}
  .lw-table--stack thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .lw-table--stack caption{display:block;width:100%}
  .lw-table--stack,.lw-table--stack tbody,.lw-table--stack tr,.lw-table--stack td{display:block;width:100%}
  .lw-table--stack tr{padding:var(--lw-s-2) 0;border-bottom:2px solid var(--lw-border-strong)}
  .lw-table--stack tbody tr:nth-child(even) td,.lw-table--stack tbody tr:hover td{background:transparent}
  .lw-table--stack tbody tr:nth-child(even){background:var(--lw-zebra)}
  .lw-table--stack td{border:0;padding:var(--lw-s-1) var(--lw-s-3)}
  .lw-table--stack td::before{content:attr(data-label);display:block;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--lw-text-3)}
}
/* A table with many columns (the case list) stacks into cards on tablets and landscape phones too, so its action is never off screen. */
@media (min-width:640px) and (max-width:1023px){
  .lw-table--cards{min-width:0}
  .lw-table--cards thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .lw-table--cards caption{display:block;width:100%}
  .lw-table--cards,.lw-table--cards tbody,.lw-table--cards tr,.lw-table--cards td{display:block;width:100%}
  .lw-table--cards tr{padding:var(--lw-s-2) 0;border-bottom:2px solid var(--lw-border-strong)}
  .lw-table--cards tbody tr:nth-child(even) td,.lw-table--cards tbody tr:hover td{background:transparent}
  .lw-table--cards tbody tr:nth-child(even){background:var(--lw-zebra)}
  .lw-table--cards td{border:0;padding:var(--lw-s-1) var(--lw-s-3)}
  .lw-table--cards td::before{content:attr(data-label);display:block;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--lw-text-3)}
}

/* Verdict badges */
.lw-badge{display:inline-flex;align-items:center;gap:6px;padding:2px 10px;border-radius:var(--lw-r-pill);font-size:.8125rem;font-weight:700;line-height:1.5;white-space:nowrap;
  background:var(--lw-v-pend-bg);color:var(--lw-v-pend-fg);border:1px solid currentColor}
.lw-badge::before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor}
.lw-badge--malicious{background:var(--lw-v-mal-bg);color:var(--lw-v-mal-fg)}
.lw-badge--suspicious{background:var(--lw-v-sus-bg);color:var(--lw-v-sus-fg)}
.lw-badge--benign{background:var(--lw-v-ben-bg);color:var(--lw-v-ben-fg)}
.lw-badge--possible-cloak{background:var(--lw-v-cloak-bg);color:var(--lw-v-cloak-fg)}
.lw-badge--pending{background:var(--lw-v-pend-bg);color:var(--lw-v-pend-fg)}
.lw-badge--pending::before{border-radius:2px}

/* Warning note: "looks like X, actually goes to Y" */
.lw-warning{background:var(--lw-warn-bg);color:var(--lw-text);border:1px solid var(--lw-highlight);border-left-width:6px;border-radius:var(--lw-r-2);padding:var(--lw-s-3) var(--lw-s-4)}
.lw-warning__title{display:block;font-weight:700;color:var(--lw-highlight);margin-bottom:var(--lw-s-1)}
.lw-warning__from,.lw-warning__to{font-family:var(--lw-mono);font-size:.92em;overflow-wrap:anywhere}
.lw-warning__to{color:var(--lw-danger);font-weight:700}
.lw-warning p{margin:0;color:var(--lw-text-2)}

/* IOC: defanged value with copy affordance */
.lw-ioc{display:inline-flex;align-items:stretch;max-width:100%;min-width:0;background:var(--lw-ioc-bg);border:1px solid var(--lw-border);border-radius:var(--lw-r-2);overflow:hidden}
.lw-ioc code,.lw-ioc__value{font-family:var(--lw-mono);font-size:.875rem;color:var(--lw-ioc-fg);padding:10px var(--lw-s-3);overflow-wrap:anywhere;word-break:break-all;user-select:all;min-width:0}
.lw-ioc__copy{flex:none;min-width:var(--lw-tap);min-height:var(--lw-tap);padding:0 var(--lw-s-3);font:600 .8125rem var(--lw-font);color:var(--lw-accent);background:transparent;border:0;border-left:1px solid var(--lw-border);cursor:pointer;touch-action:manipulation}
.lw-ioc__copy:hover{background:var(--lw-raised);color:var(--lw-accent-hover)}

/* Chip */
.lw-chip{display:inline-flex;align-items:center;min-height:30px;padding:0 var(--lw-s-3);border-radius:var(--lw-r-pill);background:var(--lw-chip-bg);color:var(--lw-chip-fg);
  border:1px solid var(--lw-border-strong);font-size:var(--lw-t-0);font-weight:600}
.lw-chips{display:flex;flex-wrap:wrap;gap:var(--lw-s-2)}

/* Empty state */
.lw-empty{text-align:center;padding:var(--lw-s-6) var(--lw-s-4);border:2px dashed var(--lw-border-strong);border-radius:var(--lw-r-3);background:var(--lw-surface)}
.lw-empty__title{font-size:var(--lw-t-2);font-weight:700;margin:0 0 var(--lw-s-2)}
.lw-empty p{color:var(--lw-text-2);max-width:32rem;margin:0 auto var(--lw-s-4)}

/* Toast */
.lw-toast{display:flex;align-items:center;gap:var(--lw-s-3);padding:var(--lw-s-3) var(--lw-s-4);border-radius:var(--lw-r-2);background:var(--lw-toast-bg);color:var(--lw-toast-fg);
  border:1px solid var(--lw-border-strong);border-left:6px solid var(--lw-toast-accent);box-shadow:var(--lw-shadow-3);max-width:28rem}
.lw-toast--fixed{position:fixed;left:max(var(--lw-s-4),env(safe-area-inset-left));right:max(var(--lw-s-4),env(safe-area-inset-right));bottom:max(var(--lw-s-4),env(safe-area-inset-bottom));margin:0 auto}
.lw-toast__action{margin-left:auto;color:var(--lw-toast-accent);font-weight:700;min-height:var(--lw-tap);min-width:var(--lw-tap);justify-content:center;padding:0 var(--lw-s-2);display:inline-flex;align-items:center}

/* Live view frame */
.lw-live{position:relative;border:1px solid var(--lw-accent);border-radius:var(--lw-r-3);background:var(--lw-bg-deep);padding:var(--lw-s-4);padding-top:calc(var(--lw-s-4) + 28px);
  box-shadow:0 0 0 1px var(--lw-glow),0 0 28px var(--lw-glow),var(--lw-shadow-2);min-width:0;overflow:hidden}
.lw-live__tag{position:absolute;top:var(--lw-s-3);left:var(--lw-s-4);display:inline-flex;align-items:center;gap:var(--lw-s-2);font-size:.75rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--lw-text-2)}
.lw-live__tag::before{content:"";width:10px;height:10px;border-radius:50%;background:var(--lw-danger-solid)}
.lw-live__screen{min-height:9rem;border-radius:var(--lw-r-2);background:var(--lw-input-bg);border:1px solid var(--lw-border);display:flex;align-items:center;justify-content:center;color:var(--lw-text-2);padding:var(--lw-s-4);text-align:center}
@media (prefers-reduced-motion:no-preference){
  .lw-live__tag::before{animation:lw-rec 1.6s ease-in-out infinite}
  .lw-btn,.lw-toast{transition-duration:.15s}
}
@keyframes lw-rec{50%{opacity:.25}}

/* Hero (sign-in, pricing) */
.lw-hero{display:grid;gap:var(--lw-s-5);align-items:center;padding:var(--lw-s-5) 0 var(--lw-s-6);grid-template-columns:minmax(0,1fr)}
.lw-hero__art{border-radius:var(--lw-r-3);overflow:hidden;box-shadow:var(--lw-shadow-3);border:1px solid var(--lw-border);min-width:0}
.lw-hero__art .lw{display:block}
.lw-hero__copy{min-width:0}
.lw-hero__lead{font-size:var(--lw-t-2);color:var(--lw-text-2)}
@media (min-width:960px){.lw-hero{grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:var(--lw-s-7);padding:var(--lw-s-7) 0}}

@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
