/* ═══════════════════════════════════════════════════════════════════════════
   LogiWorx × apple.com — theme layer
   Loaded AFTER portal.css on every page. Apple's design language (SF Pro type,
   #1d1d1f / #f5f5f7 neutrals, frosted-glass bars, pill buttons, generous
   radii, hairline dividers, quiet shadows) carried in LogiWorx colours:
   the ocean-blue action colour and the teal → blue brand gradient.
   To roll back the look, remove the <link> to this file — nothing else depends on it.
   ═══════════════════════════════════════════════════════════════════════════ */
:root{
  --lw-font:-apple-system,BlinkMacSystemFont,"SF Pro Text","SF Pro Display","Inter","Helvetica Neue",Helvetica,Arial,sans-serif;
  --lw-font-display:-apple-system,BlinkMacSystemFont,"SF Pro Display","Inter","Helvetica Neue",Helvetica,Arial,sans-serif;
  --lw-ink:#1d1d1f;          /* Apple primary text */
  --lw-ink-2:#424245;
  --lw-muted:#6e6e73;        /* secondary text, 5.1:1 on white */
  --lw-faint:#86868b;        /* captions only */
  --lw-line:#d2d2d7;         /* input borders */
  --lw-hair:rgba(0,0,0,.08); /* dividers */
  --lw-bg:#f5f5f7;           /* Apple canvas grey */
  --lw-surface:#ffffff;
  --lw-blue:#0274b8;         /* LogiWorx ocean blue, AA on white (5.0:1) */
  --lw-blue-hover:#025f97;
  --lw-blue-soft:rgba(2,116,184,.10);
  --lw-teal:#0f766e;         /* LogiWorx teal for text (5.5:1) */
  --lw-teal-bright:#14b8a6;
  --lw-grad:linear-gradient(90deg,#14b8a6 0%,#0284c7 55%,#2f6bff 100%);
  --lw-ease:cubic-bezier(.28,.11,.32,1);
  --lw-shadow:0 2px 12px rgba(0,0,0,.04),0 1px 2px rgba(0,0,0,.04);
  --lw-shadow-lift:0 12px 36px rgba(0,0,0,.08),0 2px 6px rgba(0,0,0,.04);
  /* legacy tokens used by portal.css / inline styles */
  --brand:#0274b8;--brand-600:#025f97;--brand-light:#e6f2fa;--line:#e8e8ed;
  --shadow-sm:0 1px 2px rgba(0,0,0,.04);--shadow:var(--lw-shadow-lift);
}
*{font-family:var(--lw-font);}
html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;}
body{background:var(--lw-bg);color:var(--lw-ink);letter-spacing:-.01em;}
::selection{background:rgba(2,116,184,.18);}
a{color:var(--lw-blue);}

/* ── Type scale (apple.com: tight display type, 17px body) ── */
h1,.text-2xl{letter-spacing:-.022em;}
.text-slate-900,.text-slate-800{color:var(--lw-ink)!important;}
.text-slate-700{color:var(--lw-ink-2)!important;}
.text-slate-600,.text-slate-500{color:var(--lw-muted)!important;}
.text-slate-400{color:var(--lw-faint)!important;}
.text-blue-600,.text-blue-700{color:var(--lw-blue)!important;}
.lw-gradient-text{background:var(--lw-grad);-webkit-background-clip:text;background-clip:text;color:transparent;}

/* ── Sidebar: macOS-style light translucent source list ── */
#sidebar,body.customer-portal #sidebar{background:rgba(246,246,248,.86);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);border-right:1px solid var(--lw-hair);}
#sidebar #logo-wrap{border-bottom:1px solid var(--lw-hair)!important;padding:18px 18px 14px;}
#sidebar #logo-wrap .text-white{color:var(--lw-ink)!important;font-size:15px;font-weight:600;letter-spacing:-.01em;}
#sidebar #logo-wrap .text-slate-400{color:var(--lw-faint)!important;font-size:11px;}
#sidebar .border-white\/5{border-color:var(--lw-hair)!important;}
.section-label{color:var(--lw-faint);font-size:11px;font-weight:600;letter-spacing:0;text-transform:none;padding:16px 18px 5px;}
.nav-item{color:var(--lw-ink);font-size:13px;font-weight:400;padding:7px 12px;margin:1px 10px;border-radius:8px;transition:background .2s var(--lw-ease),color .2s var(--lw-ease);}
.nav-item svg{color:var(--lw-blue);opacity:.9;width:16px;height:16px;}
.nav-item:hover{background:rgba(0,0,0,.05);color:var(--lw-ink);}
.nav-item.active{background:var(--lw-blue);color:#fff;font-weight:500;box-shadow:none;}
.nav-item.active svg{color:#fff;opacity:1;}
.nav-item.active::before{display:none;}
.nav-badge{font-size:10.5px;font-weight:600;padding:1px 7px;}
.nav-item.nav-drop-target,.section-label.nav-drop-target{background:var(--lw-blue-soft)!important;outline:2px dashed rgba(2,116,184,.4);}
#sidebar .border-t{border-color:var(--lw-hair)!important;}

/* ── Top bar: frosted glass, like apple.com's global nav ── */
#topbar,body.customer-portal #topbar{height:56px;background:rgba(255,255,255,.72);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid var(--lw-hair);box-shadow:none;}
#topbar::before{display:none;}           /* retire the animated scene for a quiet, Apple-clean bar */
#tb-icon-ticker{display:none!important;}  /* and the scrolling icon strip: it pushed the account menu off-screen */
@media (max-width:1760px){               /* keep every control on-screen: secondary actions go icon-only */
  #topbar .tb-collapsible > span{display:none;}
  #topbar .tb-collapsible{padding:6px 10px;}
  #tb-important{font-size:0;gap:0;width:32px;height:32px;justify-content:center;border-radius:50%;}
  #tb-important:hover{background:rgba(255,149,0,.12);}
  #tb-important svg{width:16px;height:16px;}
}
@media (max-width:1360px){
  #topbar .svc-btn{font-size:0;gap:0;padding:8px 10px;}
  #topbar .svc-btn svg{width:15px;height:15px;}
  #tb-customer{max-width:170px!important;}
}
.tb-icon{color:var(--lw-faint);opacity:.55;}
.tb-btn,.tb-select{border:0;background:rgba(0,0,0,.04);color:var(--lw-ink);border-radius:980px;padding:6px 14px;font-weight:500;}
.tb-btn:hover{background:rgba(0,0,0,.08);}
.svc-btn{border:0;background:rgba(0,0,0,.04);color:var(--lw-ink);border-radius:980px;font-weight:500;padding:6px 14px;}
.svc-btn:hover{background:rgba(0,0,0,.08);}
.breadcrumb{background:transparent;border-bottom:0;color:var(--lw-muted);font-size:12px;padding:10px 28px 0;}
.breadcrumb .bc-home{color:var(--lw-blue);font-weight:500;}
.cust-welcome-strip,body.customer-portal .cust-welcome-strip{background:#1d1d1f;border-bottom:0;font-weight:400;}

/* ── Surfaces ── */
.card,.dash-kpi,.svc-card,.tl-card,.team-card{background:var(--lw-surface);border:0;border-radius:18px;box-shadow:var(--lw-shadow);}
.card-header{border-bottom:1px solid var(--lw-hair);padding:18px 22px;}
.card-title{font-size:15px;font-weight:600;color:var(--lw-ink);letter-spacing:-.01em;}
.svc-card{transition:transform .35s var(--lw-ease),box-shadow .35s var(--lw-ease);}
.svc-card:hover{transform:scale(1.015);box-shadow:var(--lw-shadow-lift);border-color:transparent;}
.svc-ico{border-radius:12px;}
.svc-title{font-size:15px;font-weight:600;color:var(--lw-ink);}
.svc-desc{font-size:13px;color:var(--lw-muted);line-height:1.45;}
.svc-stat{color:var(--lw-blue);font-weight:500;font-size:12px;}
.cat-label{color:var(--lw-ink);font-size:21px;font-weight:600;letter-spacing:-.015em;text-transform:none;margin:34px 0 14px;}
.dash-kpi-val{font-weight:600;letter-spacing:-.02em;color:var(--lw-ink);}
.dash-kpi-ico{background:var(--lw-bg);border-radius:10px;color:var(--lw-blue);}

/* Console hero: an apple.com dark product tile, lit with the LogiWorx gradient */
.console-hero,body.customer-portal .console-hero{background:#000;border-radius:22px;padding:44px 44px 36px;}
.console-hero::after{right:auto;left:50%;top:auto;bottom:-260px;width:900px;height:520px;transform:translateX(-50%);background:radial-gradient(closest-side,rgba(20,184,166,.28),rgba(2,132,199,.18) 45%,transparent 75%);}
.console-hero::before{display:none;}
.console-hero .text-2xl{font-size:40px;font-weight:600;letter-spacing:-.025em;line-height:1.1;}
.console-hero .text-xs.uppercase{color:#86868b!important;text-transform:none;letter-spacing:0;font-size:17px;font-weight:600;}
.console-hero .text-sm{font-size:17px;color:#a1a1a6!important;max-width:640px;line-height:1.47;}
#console-kpis > div{background:rgba(255,255,255,.08)!important;border:0!important;border-radius:14px!important;}

/* ── Buttons: pills ── */
.btn{border-radius:980px;font-weight:500;font-size:14px;padding:8px 18px;letter-spacing:-.01em;transition:background .2s var(--lw-ease),transform .15s var(--lw-ease);}
.btn:active{transform:scale(.98);}
.btn-primary{background:var(--lw-blue);box-shadow:none;}
.btn-primary:hover{background:var(--lw-blue-hover);box-shadow:none;}
.btn-ghost{background:rgba(0,0,0,.05);border:0;color:var(--lw-ink);}
.btn-ghost:hover{background:rgba(0,0,0,.09);color:var(--lw-ink);border:0;}
.btn-danger{background:rgba(255,59,48,.1);color:#c9241a;}
.btn-sm{padding:5px 13px;font-size:12.5px;border-radius:980px;}
.btn-icon{border:0;background:rgba(0,0,0,.04);border-radius:980px;color:var(--lw-ink-2);}
.btn-icon:hover{background:rgba(0,0,0,.08);color:var(--lw-ink);}

/* ── Fields: Apple ID style ── */
.inp{border:1px solid var(--lw-line);border-radius:12px;padding:10px 14px;font-size:15px;color:var(--lw-ink);background:#fff;transition:border-color .2s var(--lw-ease),box-shadow .2s var(--lw-ease);}
.inp:focus{border-color:var(--lw-blue);box-shadow:0 0 0 4px rgba(2,116,184,.18);}
td .inp,.tbl .inp{font-size:13px;padding:7px 10px;border-radius:10px;}   /* compact controls inside table rows */
td select.inp{padding-right:28px;min-width:108px;}
.lbl{font-size:12px;font-weight:500;color:var(--lw-muted);}
.toggle{background:rgba(0,0,0,.05);border-radius:980px;}
.toggle-btn{border-radius:980px;font-weight:500;color:var(--lw-muted);}
.toggle-btn.active{color:var(--lw-ink);box-shadow:0 1px 3px rgba(0,0,0,.12);}
input[type=checkbox],input[type=radio]{accent-color:var(--lw-blue);}

/* ── Tables: sentence-case headers, hairlines ── */
thead th{background:transparent;color:var(--lw-muted);font-size:12px;font-weight:600;text-transform:none;letter-spacing:0;border-bottom:1px solid var(--lw-hair);}
tbody tr{border-bottom:1px solid rgba(0,0,0,.05);}
tbody tr:hover{background:rgba(0,0,0,.02);}
tbody td{color:var(--lw-ink-2);font-size:13.5px;}

/* ── Badges ── */
.badge{font-weight:600;font-size:11px;padding:3px 9px;}
.badge-blue{background:rgba(2,116,184,.1);color:#025f97;}
.badge-green{background:rgba(52,199,89,.14);color:#1d7a3a;}
.badge-amber{background:rgba(255,159,10,.16);color:#9a5b00;}
.badge-red{background:rgba(255,59,48,.12);color:#c9241a;}
.badge-slate{background:rgba(0,0,0,.05);color:var(--lw-ink-2);}

/* ── Menus & modals: frosted panels ── */
.dd-menu{border:1px solid var(--lw-hair);border-radius:14px;background:rgba(255,255,255,.9);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);box-shadow:0 12px 40px rgba(0,0,0,.14);padding:6px;}
.dd-item{border-radius:8px;font-size:13.5px;color:var(--lw-ink);}
.dd-item:hover{background:var(--lw-blue);color:#fff;}
.dd-item:hover svg{color:#fff!important;}
.modal-bg{background:rgba(0,0,0,.32);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);}
.modal{border-radius:22px;box-shadow:0 30px 80px rgba(0,0,0,.25);}
.modal-header,.modal-footer{border-color:var(--lw-hair);}
.modal-footer{background:var(--lw-bg);}
.modal-title{font-size:17px;font-weight:600;color:var(--lw-ink);}

/* ── Misc ── */
.upload-zone{border:1.5px dashed var(--lw-line);border-radius:18px;}
.upload-zone:hover{border-color:var(--lw-blue);background:var(--lw-blue-soft);}
.avatar{background:var(--lw-grad);}
.prog-fill{background:var(--lw-blue);}
.skeleton{background:linear-gradient(90deg,#efeff2 25%,#e5e5ea 37%,#efeff2 63%);background-size:400% 100%;}
.rpt-item.active{background:var(--lw-blue-soft);border-color:transparent;}
.empty-state-title{font-size:17px;font-weight:600;color:var(--lw-ink);}
.empty-state-body{color:var(--lw-muted);font-size:14px;}
.empty-state-icon{filter:grayscale(1);opacity:.55;}
.inv-summary-bar{background:#000;border-radius:22px;}
::-webkit-scrollbar-thumb{background:rgba(0,0,0,.18);}

/* ── In-app onboarding (checklist pill, demo banner, tour, NPS, verify gate) ── */
#onboarding-pill{background:var(--lw-blue-soft)!important;color:var(--lw-blue)!important;border:0!important;}
#demo-data-banner{background:#fff!important;border:0!important;border-radius:18px!important;box-shadow:var(--lw-shadow);padding:18px 22px!important;}
#demo-data-banner svg{color:var(--lw-blue)!important;}
#demo-data-banner div div:first-child{color:var(--lw-ink)!important;font-size:15px!important;}
#demo-data-banner div div:last-child{color:var(--lw-muted)!important;font-size:13px!important;}
#demo-data-banner a{background:var(--lw-blue)!important;color:#fff!important;border:0!important;border-radius:980px!important;padding:7px 16px!important;font-weight:500!important;}
#demo-data-banner button{color:var(--lw-faint)!important;}

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

/* ── Animated cursor (static/js/cursor.js) ───────────────────────────────── */
.lw-cursor-ring{position:fixed;left:0;top:0;width:34px;height:34px;margin:-17px 0 0 -17px;border-radius:50%;
  border:1.5px solid rgba(2,116,184,.5);background:transparent;pointer-events:none;z-index:2147483646;opacity:0;
  will-change:transform;
  transition:opacity .3s var(--lw-ease),width .3s var(--lw-ease),height .3s var(--lw-ease),margin .3s var(--lw-ease),
             border-radius .3s var(--lw-ease),background-color .3s var(--lw-ease),border-color .3s var(--lw-ease);}
.lw-cursor-on .lw-cursor-ring{opacity:1;}
.lw-cursor-ring.is-link{width:52px;height:52px;margin:-26px 0 0 -26px;background:rgba(2,116,184,.08);border-color:rgba(2,116,184,.28);}
.lw-cursor-ring.is-text{width:3px;height:26px;margin:-13px 0 0 -1.5px;border-radius:2px;border-color:transparent;
  background:linear-gradient(180deg,#14b8a6,#0284c7 55%,#2f6bff);opacity:.55;}
.lw-cursor-ring.is-down{width:24px;height:24px;margin:-12px 0 0 -12px;background:rgba(2,116,184,.16);}
.lw-cursor-ring.is-link.is-down{width:40px;height:40px;margin:-20px 0 0 -20px;}
@media (pointer:coarse),(prefers-reduced-motion:reduce){.lw-cursor-ring{display:none;}}

/* ── Right-click menu (static/js/context-menu.js) ────────────────────────── */
#lw-ctx{position:fixed;z-index:2147483645;min-width:236px;max-width:300px;padding:5px;border-radius:12px;
  background:rgba(250,250,252,.82);-webkit-backdrop-filter:saturate(180%) blur(24px);backdrop-filter:saturate(180%) blur(24px);
  border:.5px solid rgba(0,0,0,.12);box-shadow:0 12px 36px rgba(0,0,0,.18),0 2px 6px rgba(0,0,0,.06);
  opacity:0;transform:scale(.96);transition:opacity .14s var(--lw-ease),transform .14s var(--lw-ease);font-size:13px;color:var(--lw-ink);}
#lw-ctx.is-open{opacity:1;transform:none;}
#lw-ctx[hidden]{display:none;}
.lw-ctx-item{display:flex;align-items:center;gap:10px;width:100%;padding:6px 10px;border:0;border-radius:7px;background:none;
  color:inherit;font:inherit;text-align:left;cursor:default;letter-spacing:-.01em;}
.lw-ctx-item:hover:not([disabled]),.lw-ctx-item:focus-visible{background:var(--lw-blue);color:#fff;outline:none;}
.lw-ctx-item[disabled]{color:rgba(0,0,0,.28);}
.lw-ctx-ico{width:16px;height:16px;flex-shrink:0;display:flex;color:var(--lw-blue);}
.lw-ctx-ico svg{width:16px;height:16px;}
.lw-ctx-item:hover:not([disabled]) .lw-ctx-ico,.lw-ctx-item:focus-visible .lw-ctx-ico{color:#fff;}
.lw-ctx-item[disabled] .lw-ctx-ico{color:rgba(0,0,0,.22);}
.lw-ctx-label{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.lw-ctx-hint{font-size:12px;color:var(--lw-faint);margin-left:12px;display:flex;align-items:center;}
.lw-ctx-item:hover:not([disabled]) .lw-ctx-hint{color:rgba(255,255,255,.8);}
.lw-ctx-here{width:6px;height:6px;border-radius:50%;background:var(--lw-grad);display:inline-block;}
.lw-ctx-sep{height:1px;background:rgba(0,0,0,.08);margin:5px 10px;}
.lw-ctx-head{font-size:11px;font-weight:600;color:var(--lw-faint);padding:4px 10px 3px;letter-spacing:0;}
.lw-ctx-empty{font-size:12px;color:var(--lw-muted);padding:2px 10px 6px;}

/* ── Settings → Personalization ─────────────────────────────────────────── */
.pf-fav-group + .pf-fav-group{margin-top:14px;}
.pf-fav-group-name{font-size:12px;font-weight:600;color:var(--lw-faint);margin-bottom:8px;}
.pf-fav-chips{display:flex;flex-wrap:wrap;gap:8px;}
.pf-fav-chip{display:inline-flex;align-items:center;gap:7px;padding:7px 12px 7px 10px;border-radius:980px;border:1px solid var(--lw-line);
  background:#fff;color:var(--lw-ink);font-size:13px;cursor:pointer;transition:all .2s var(--lw-ease);}
.pf-fav-chip svg{width:15px;height:15px;color:var(--lw-blue);flex-shrink:0;}
.pf-fav-chip:hover{border-color:#86868b;}
.pf-fav-chip.on{background:var(--lw-blue);border-color:var(--lw-blue);color:#fff;}
.pf-fav-chip.on svg{color:#fff;}
.pf-fav-num{font-style:normal;font-size:11px;font-weight:600;min-width:0;}
.pf-fav-chip.on .pf-fav-num{background:rgba(255,255,255,.25);border-radius:980px;padding:0 6px;line-height:17px;}
.pf-switch{position:relative;display:flex;align-items:center;gap:14px;cursor:pointer;background:var(--lw-bg,#f5f5f7);border-radius:14px;padding:10px 14px;}
.pf-switch-text{display:flex;flex-direction:column;font-size:13px;line-height:1.3;}
.pf-switch-text b{font-weight:600;color:var(--lw-ink);}
.pf-switch-text small{font-size:12px;color:var(--lw-muted);}
.pf-switch input{position:absolute;opacity:0;width:1px;height:1px;}
.pf-switch-track{width:42px;height:26px;border-radius:980px;background:#d2d2d7;position:relative;flex-shrink:0;transition:background .25s var(--lw-ease);}
.pf-switch-track::after{content:"";position:absolute;top:2px;left:2px;width:22px;height:22px;border-radius:50%;background:#fff;
  box-shadow:0 2px 4px rgba(0,0,0,.2);transition:transform .25s var(--lw-ease);}
.pf-switch input:checked + .pf-switch-track{background:#34c759;}
.pf-switch input:checked + .pf-switch-track::after{transform:translateX(16px);}
.pf-switch input:focus-visible + .pf-switch-track{box-shadow:0 0 0 4px rgba(2,116,184,.25);}
@media (max-width:760px){#pf-personal{grid-column:auto;}}

/* ── Appearance themes (static/js/theme.js sets the variables) ───────────── */
html.lw-themed body{background-color:var(--lw-bg);background-image:var(--lw-theme-pattern);background-attachment:fixed;}
html.lw-pattern-dots body{background-size:18px 18px;}
html.lw-themed #topbar,html.lw-themed body.customer-portal #topbar{background:var(--lw-theme-topbar);}
html.lw-themed #sidebar,html.lw-themed body.customer-portal #sidebar{background:var(--lw-theme-sidebar);}

/* ── Brand logo in the sidebar header ─────────────────────────────────────── */
#logo-wrap .brand-logo{display:block;max-width:188px;max-height:44px;width:auto;height:auto;object-fit:contain;}
#logo-wrap .brand-by{font-size:10.5px;color:var(--lw-faint);margin-top:6px;letter-spacing:0;}
#logo-wrap.has-logo{flex-direction:column;align-items:flex-start;gap:0;}
#sidebar.collapsed #logo-wrap .brand-logo{max-width:40px;max-height:32px;}
#sidebar.collapsed #logo-wrap .brand-by{display:none;}
#logo-wrap [hidden]{display:none!important;}

/* ── Settings → Appearance ──────────────────────────────────────────────── */
#pf-appearance [hidden]{display:none!important;}
.ap-grid{display:grid;grid-template-columns:minmax(220px,300px) 1fr;gap:36px;margin-top:22px;}
.ap-h{font-size:13px;font-weight:600;color:var(--lw-ink);margin-bottom:10px;}
.ap-note{font-size:12px;color:var(--lw-muted);margin-top:8px;line-height:1.45;}
.ap-logo-box{height:112px;border-radius:14px;border:1px dashed var(--lw-line);display:flex;align-items:center;justify-content:center;padding:14px;
  background:#fff;background-image:linear-gradient(45deg,#f5f5f7 25%,transparent 25%),linear-gradient(-45deg,#f5f5f7 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#f5f5f7 75%),linear-gradient(-45deg,transparent 75%,#f5f5f7 75%);
  background-size:16px 16px;background-position:0 0,0 8px,8px -8px,-8px 0;}
.ap-logo-box img{max-width:100%;max-height:84px;object-fit:contain;}
.ap-logo-box span{font-size:13px;color:var(--lw-faint);background:#fff;padding:2px 8px;border-radius:6px;}
.ap-seg{display:inline-flex;background:rgba(0,0,0,.05);border-radius:980px;padding:3px;gap:2px;margin-bottom:12px;flex-wrap:wrap;}
.ap-seg button{border:0;background:none;border-radius:980px;padding:6px 14px;font-size:13px;color:var(--lw-ink);cursor:pointer;font-family:inherit;}
.ap-seg button[aria-checked="true"]{background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.14);font-weight:500;}
.ap-swatches{display:flex;flex-wrap:wrap;gap:10px;}
.ap-sw{width:34px;height:34px;border-radius:50%;border:0;cursor:pointer;position:relative;padding:0;box-shadow:inset 0 0 0 1px rgba(0,0,0,.1);transition:transform .15s var(--lw-ease);}
.ap-sw:hover{transform:scale(1.08);}
.ap-sw[aria-checked="true"]{box-shadow:0 0 0 2px #fff,0 0 0 4px var(--sw);}
.ap-sw[aria-checked="true"]::after{content:"";position:absolute;inset:0;margin:auto;width:12px;height:7px;border:2px solid #fff;border-top:0;border-right:0;transform:translateY(-2px) rotate(-45deg);}
.ap-sw-custom{background:conic-gradient(#ef4444,#f59e0b,#eab308,#22c55e,#06b6d4,#3b82f6,#8b5cf6,#ec4899,#ef4444);overflow:hidden;}
.ap-sw-custom input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%;border:0;padding:0;}
.ap-match{border:0;background:none;color:var(--lw-blue);font-size:13px;cursor:pointer;padding:0;font-family:inherit;}
.ap-match:disabled{color:var(--lw-faint);cursor:not-allowed;}
.ap-patterns{display:flex;gap:10px;flex-wrap:wrap;}
.ap-pat{width:86px;border:0;background:none;padding:0;cursor:pointer;text-align:center;font-size:12px;color:var(--lw-muted);font-family:inherit;}
.ap-pat i{display:block;height:54px;border-radius:12px;margin-bottom:6px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.08);background-color:var(--lw-bg);}
.ap-pat[aria-checked="true"] i{box-shadow:0 0 0 2px var(--lw-blue);}
.ap-pat[aria-checked="true"]{color:var(--lw-ink);font-weight:500;}
@media (max-width:900px){.ap-grid{grid-template-columns:1fr;gap:24px;}}
