/* LopZo V288 design layer — loaded last on web and office.
   Same tokens as the mobile app (mobile/src/theme.ts). Only normalises shared primitives;
   module-specific layouts are untouched. */
:root{
  --lz-brand-50:#F4EEFC;--lz-brand-100:#EADDFB;--lz-brand-600:#7E22CE;--lz-brand-700:#6B21A8;--lz-brand-900:#3B0764;
  --lz-n0:#FFFFFF;--lz-n25:#FAF9FC;--lz-n50:#F6F5F9;--lz-n100:#EEEBF3;--lz-n200:#E7E3EF;--lz-n500:#635C76;--lz-n700:#3F3852;--lz-n900:#1C1530;
  --lz-success:#15803D;--lz-success-soft:#E7F5EC;--lz-warning:#92400E;--lz-warning-soft:#FEF3C7;--lz-danger:#B42318;--lz-danger-soft:#FEF2F2;--lz-info:#1D4ED8;--lz-info-soft:#EFF6FF;
  --lz-radius-sm:12px;--lz-radius-md:16px;--lz-radius-lg:20px;
  --lz-shadow:0 4px 12px rgba(28,21,48,.06);--lz-shadow-lg:0 10px 24px rgba(28,21,48,.12);
}
/* Readability: no body text under 13px, comfortable line height. */
.lz260-public small,.lz260-public .muted,.lz260-discovery-step span,.lz260-public p{font-size:max(13px,1em);line-height:1.55}
.lz260-public .lz260-section-head p,.lz260-public .card p{color:var(--lz-n500)}
.lz260-kicker,.eyebrow{letter-spacing:.08em}
/* Icon wells: stronger brand tint so pictograms read at a glance. */
.lz260-symbol,.lz-ico{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:var(--lz-radius-sm);background:var(--lz-brand-50);color:var(--lz-brand-600)}
.lz-ico svg{width:22px;height:22px}
.gc-v177-info-grid article>.lz-ico{margin-bottom:12px}
/* Buttons: one radius, visible focus, 44px targets. */
.btn{border-radius:var(--lz-radius-sm);min-height:44px;transition:transform .08s ease,background-color .15s ease,box-shadow .15s ease}
.btn:active{transform:scale(.98)}
.btn.primary{background:var(--lz-brand-600);border-color:var(--lz-brand-600);color:#fff}
.btn.primary:hover{background:var(--lz-brand-700);border-color:var(--lz-brand-700)}
.btn:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible{outline:3px solid rgba(126,34,206,.35);outline-offset:2px}
.btn:disabled{opacity:.5;cursor:not-allowed}
/* Cards & inputs */
.card{border-radius:var(--lz-radius-lg)}
input:not([type=checkbox]):not([type=radio]),select,textarea{min-height:44px;border-radius:var(--lz-radius-sm)}
/* Toast: dark, compact, bottom-centre on phones. */
#toast{border-radius:14px;box-shadow:var(--lz-shadow-lg);font-weight:600}
@media(max-width:640px){#toast{left:12px!important;right:12px!important;bottom:16px!important;transform:none!important}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

/* V288 admin tools (reported issues, cashback codes) */
.v288{color:var(--lz-n900);min-width:min(92vw,980px)}
.v288 h2{margin:0 0 4px;font-size:24px}.v288 h3{margin:0 0 12px}
.v288 .muted{color:var(--lz-n500)}
.v288-head{display:flex;gap:16px;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;margin-bottom:16px}
.v288-filters,.v288-actions{display:flex;gap:8px;flex-wrap:wrap}
.v288-card{margin:12px 0;padding:18px;background:#fff;border:1px solid var(--lz-n200)}
.v288-row{display:flex;justify-content:space-between;align-items:center;gap:12px}
.v288-pill{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:700;background:var(--lz-n50);color:var(--lz-n700);text-transform:capitalize}
.v288-pill::before{content:"";width:6px;height:6px;border-radius:3px;background:currentColor}
.v288-pill.success{background:var(--lz-success-soft);color:var(--lz-success)}.v288-pill.warning{background:var(--lz-warning-soft);color:var(--lz-warning)}
.v288-pill.danger{background:var(--lz-danger-soft);color:var(--lz-danger)}.v288-pill.info{background:var(--lz-info-soft);color:var(--lz-info)}
.v288-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin:12px 0}
.v288 label{display:flex;flex-direction:column;gap:6px;font-weight:600;font-size:14px;color:var(--lz-n700)}
.v288 label.v288-check{flex-direction:row;align-items:center;gap:8px}
.v288 input,.v288 select,.v288 textarea{width:100%;padding:10px 12px;border:1px solid var(--lz-n200);background:#fff;color:var(--lz-n900);font:inherit}
.v288 input[type=checkbox]{width:auto;min-height:auto}
.v288-form{padding:20px;margin:16px 0;background:#fff;border:1px solid var(--lz-n200)}
.v288-table{width:100%;border-collapse:collapse;font-size:14px}
.v288-table th{text-align:left;color:var(--lz-n500);font-weight:600;padding:10px 8px;border-bottom:1px solid var(--lz-n200)}
.v288-table td{padding:12px 8px;border-bottom:1px solid var(--lz-n100);vertical-align:top}
.v288 details summary{cursor:pointer;font-weight:700;color:var(--lz-brand-700);margin:8px 0}
@media(max-width:700px){.v288{min-width:0}.v288-table{display:block;overflow-x:auto}}
@media(max-width:640px){.lz260-public-nav{flex-wrap:nowrap!important;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.lz260-public-nav::-webkit-scrollbar{display:none}.lz260-public-nav a{white-space:nowrap}}
