/* assets/hx.css — HELAHIVE component kit (used by includes/views/*_hh.php). Tokens come from #hh-vars + helahive.css.
   Phone-first; light + dark (html[data-hh-dark]). Radii: cards 22, panels 16, fields 14, buttons pill. */

.hx{max-width:1180px;margin:0 auto;padding:16px 14px 64px !important;}
@media(min-width:900px){.hx{padding:26px 28px 80px !important;}}
.hx *{box-sizing:border-box;}
.hx a{text-decoration:none;}
.hx h1,.hx h2,.hx h3,.hx h4{letter-spacing:-.02em;}
.hx .muted{color:var(--hh-text-2);} .hx .mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.86em;}
.hx .num{font-variant-numeric:tabular-nums;}
.hx .gap{height:14px;} .hx .gap-l{height:22px;}

/* ── header ─────────────────────────────────────────── */
.hx-head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;flex-wrap:wrap;margin:2px 0 18px;}
.hx-head-t{display:flex;align-items:flex-start;gap:12px;min-width:0;}
.hx-head h1{margin:0;font-size:1.55rem;font-weight:800;color:var(--hh-text) !important;line-height:1.15;}
.hx-head p{margin:5px 0 0;font-size:.84rem;color:var(--hh-text-2) !important;max-width:640px;line-height:1.5;}
.hx-eyebrow{font-size:.66rem;font-weight:800;text-transform:uppercase;letter-spacing:.12em;color:var(--hh-primary);margin-bottom:4px;} html[data-hh-dark] .hx-eyebrow{color:var(--hh-gold);}
.hx-back{flex:none;width:40px;height:40px;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;background:var(--hh-card);border:1px solid var(--hh-card-bd);color:var(--hh-text);font-size:1.1rem;box-shadow:var(--hh-shadow);margin-top:1px;}
.hx-head-a{display:flex;gap:8px;flex-wrap:wrap;align-items:center;}
@media(max-width:640px){.hx-head{align-items:flex-start;} .hx-head h1{font-size:1.3rem;} .hx-head-a{width:100%;} .hx-head-a .hx-btn{flex:1 1 auto;justify-content:center;}}

/* ── buttons ────────────────────────────────────────── */
.hx-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border-radius:999px;border:1px solid transparent;padding:10px 18px;font:700 .84rem var(--hh-font);cursor:pointer;line-height:1.1;white-space:nowrap;transition:transform .12s ease,box-shadow .2s ease,background .2s ease;min-height:40px;color:inherit;}
.hx-btn i{font-size:1.05rem;} .hx-btn:active{transform:translateY(1px) scale(.99);} .hx-btn[disabled],.hx-btn.off{opacity:.45;pointer-events:none;}
.hx-btn.primary{background:var(--hh-primary);color:#fff;box-shadow:0 10px 22px -12px rgba(var(--hh-primary-rgb),.75);}
.hx-btn.primary:hover{background:var(--hh-primary-dark);}
html[data-hh-dark] .hx-btn.primary{background:var(--hh-gold);color:#1a1203;box-shadow:0 10px 22px -12px rgba(var(--hh-gold-rgb),.7);}
.hx-btn.ghost{background:var(--hh-card);border-color:var(--hh-card-bd);color:var(--hh-text);box-shadow:0 2px 8px -6px rgba(0,0,0,.25);}
.hx-btn.ghost:hover{border-color:rgba(var(--hh-primary-rgb),.35);}
.hx-btn.soft{background:rgba(var(--hh-primary-rgb),.09);color:var(--hh-primary);} html[data-hh-dark] .hx-btn.soft{background:rgba(255,255,255,.08);color:var(--hh-soft);}
.hx-btn.danger{background:rgba(var(--hh-rose-rgb),.11);color:#be123c;} html[data-hh-dark] .hx-btn.danger{color:#fda4af;background:rgba(var(--hh-rose-rgb),.18);}
.hx-btn.danger.solid{background:var(--hh-rose);color:#fff;}
.hx-btn.gold{background:var(--hh-gold);color:#1a1203;}
.hx-btn.ok{background:var(--hh-green);color:#fff;} .hx-btn.ok:hover{filter:brightness(.95);}
.hx-btn.link{background:none;padding:6px 4px;min-height:auto;color:var(--hh-primary);} html[data-hh-dark] .hx-btn.link{color:var(--hh-soft);}
.hx-btn.sm{padding:7px 13px;font-size:.75rem;min-height:34px;} .hx-btn.lg{padding:14px 24px;font-size:.95rem;min-height:50px;} .hx-btn.block{width:100%;}
.hx-btn.icon{padding:0;width:40px;} .hx-btn.icon.sm{width:34px;}

/* ── tiles / avatars ────────────────────────────────── */
.hx-tile{flex:none;width:42px;height:42px;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;font-size:1.3rem;}
.hx-tile.sm{width:34px;height:34px;border-radius:11px;font-size:1.05rem;} .hx-tile.lg{width:64px;height:64px;border-radius:20px;font-size:1.9rem;}
.hx-tile.primary{background:rgba(var(--hh-primary-rgb),.1);color:var(--hh-primary);} .hx-tile.green{background:rgba(var(--hh-green-rgb),.13);color:#047857;} .hx-tile.rose{background:rgba(var(--hh-rose-rgb),.12);color:#be123c;} .hx-tile.indigo{background:rgba(var(--hh-indigo-rgb),.12);color:#4338ca;} .hx-tile.orange{background:rgba(var(--hh-orange-rgb),.14);color:#b45309;} .hx-tile.gold{background:rgba(var(--hh-gold-rgb),.2);color:#92400e;} .hx-tile.neutral{background:rgba(127,140,135,.13);color:var(--hh-text-2);}
html[data-hh-dark] .hx-tile.primary{background:rgba(var(--hh-soft-rgb),.14);color:#5eead4;} html[data-hh-dark] .hx-tile.green{color:#6ee7b7;} html[data-hh-dark] .hx-tile.rose{color:#fda4af;} html[data-hh-dark] .hx-tile.indigo{color:#a5b4fc;} html[data-hh-dark] .hx-tile.orange{color:#fdba74;} html[data-hh-dark] .hx-tile.gold{color:#fcd34d;}
.hx-av{flex:none;width:42px;height:42px;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:.82rem;color:#fff;background:linear-gradient(135deg,var(--hh-primary),var(--hh-hero2));}

/* ── stat cards ─────────────────────────────────────── */
.hx-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:16px;}
@media(min-width:860px){.hx-stats.c4{grid-template-columns:repeat(4,minmax(0,1fr));} .hx-stats.c3{grid-template-columns:repeat(3,minmax(0,1fr));} .hx-stats.c5{grid-template-columns:repeat(5,minmax(0,1fr));} .hx-stats.c6{grid-template-columns:repeat(6,minmax(0,1fr));}}
@media(min-width:560px) and (max-width:859px){.hx-stats.c3,.hx-stats.c6{grid-template-columns:repeat(3,minmax(0,1fr));}}
.hx-stat{background:var(--hh-card);border:1px solid var(--hh-card-bd);border-radius:20px;padding:14px;box-shadow:var(--hh-shadow);min-width:0;display:flex;flex-direction:column;gap:2px;color:var(--hh-text);position:relative;overflow:hidden;}
a.hx-stat:hover{border-color:rgba(var(--hh-primary-rgb),.3);}
.hx-stat .hx-tile{margin-bottom:8px;}
.hx-stat .l{font-size:.64rem;font-weight:800;text-transform:uppercase;letter-spacing:.09em;color:var(--hh-text-2);}
.hx-stat .v{font-size:1.32rem;font-weight:800;letter-spacing:-.02em;line-height:1.15;word-break:break-word;}
.hx-stat .s{font-size:.72rem;color:var(--hh-text-2);}
.hx-stat.hero{color:#fff;border:none;}
.hx-stat.hero::after{content:"";position:absolute;right:-34px;top:-34px;width:120px;height:120px;border-radius:50%;background:rgba(255,255,255,.12);}
.hx-stat.hero .l,.hx-stat.hero .s{color:rgba(255,255,255,.9);} .hx-stat.hero .hx-tile{background:rgba(255,255,255,.18);color:#fff;}
.hx-stat.hero.primary{background:linear-gradient(135deg,var(--hh-primary),var(--hh-hero2));} .hx-stat.hero.green{background:linear-gradient(135deg,var(--hh-green),var(--hh-green-2));} .hx-stat.hero.rose{background:linear-gradient(135deg,var(--hh-rose),var(--hh-rose-2));} .hx-stat.hero.indigo{background:linear-gradient(135deg,var(--hh-indigo),var(--hh-indigo-2));} .hx-stat.hero.orange{background:linear-gradient(135deg,var(--hh-orange),var(--hh-orange-2));}

/* ── cards ──────────────────────────────────────────── */
.hx-card{background:var(--hh-card);border:1px solid var(--hh-card-bd);border-radius:22px;box-shadow:var(--hh-shadow);margin-bottom:16px;min-width:0;color:var(--hh-text);}
html[data-hh-dark] .hx-card,html[data-hh-dark] .hx-stat:not(.hero){backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);}
.hx-card-h{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:16px 16px 0;flex-wrap:wrap;}
.hx-card-t{display:flex;align-items:center;gap:10px;min-width:0;} .hx-card-t h3{margin:0;font-size:.98rem;font-weight:800;color:var(--hh-text) !important;} .hx-card-t p{margin:2px 0 0;font-size:.74rem;color:var(--hh-text-2) !important;}
.hx-card-r{display:flex;gap:6px;align-items:center;flex-wrap:wrap;}
.hx-card-b{padding:14px 16px 16px;}
.hx-card.flush .hx-card-b{padding:6px 0 4px;}
.hx-card.tint{background:linear-gradient(135deg,rgba(var(--hh-primary-rgb),.06),rgba(var(--hh-soft-rgb),.04)),var(--hh-card);}
.hx-card.hero{background:linear-gradient(135deg,var(--hh-primary),var(--hh-hero2));border:none;color:#fff;position:relative;overflow:hidden;}
.hx-card.hero::after{content:"";position:absolute;right:-60px;bottom:-80px;width:240px;height:240px;border-radius:50%;background:rgba(255,255,255,.09);pointer-events:none;}
.hx-card.hero .hx-card-t h3,.hx-card.hero h2,.hx-card.hero h3{color:#fff !important;} .hx-card.hero p,.hx-card.hero .hx-card-t p{color:rgba(255,255,255,.88) !important;} .hx-card.hero .hx-tile{background:rgba(255,255,255,.18);color:#fff;}
.hx-card.hero .hx-btn.ghost{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.3);color:#fff;} .hx-card.hero .hx-btn.primary{background:#fff;color:var(--hh-primary);}
.hx-glass{background:rgba(0,0,0,.14);border:1px solid rgba(255,255,255,.22);border-radius:16px;padding:12px 14px;}

/* ── layout grids ───────────────────────────────────── */
.hx-grid{display:grid;gap:16px;grid-template-columns:minmax(0,1fr);}
@media(min-width:860px){.hx-grid.c2{grid-template-columns:repeat(2,minmax(0,1fr));} .hx-grid.c3{grid-template-columns:repeat(3,minmax(0,1fr));} .hx-grid.split{grid-template-columns:minmax(0,1fr) 360px;} .hx-grid.split-l{grid-template-columns:360px minmax(0,1fr);} .hx-grid.wide{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);}}
.hx-grid > .hx-card{margin-bottom:0;} .hx-grid + .hx-grid,.hx-grid + .hx-card,.hx-card + .hx-grid{margin-top:16px;}
.hx-stack > * + *{margin-top:16px;}
.hx-row2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;} .hx-row3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}
@media(max-width:560px){.hx-row2.st,.hx-row3{grid-template-columns:minmax(0,1fr);}}

/* ── list rows ──────────────────────────────────────── */
.hx-list{display:flex;flex-direction:column;}
.hx-row{display:flex;align-items:center;gap:12px;padding:12px 16px;border-top:1px solid var(--hh-line);color:var(--hh-text);min-width:0;position:relative;}
.hx-list .hx-row:first-child{border-top:none;}
a.hx-row:hover{background:rgba(var(--hh-primary-rgb),.04);} html[data-hh-dark] a.hx-row:hover{background:rgba(255,255,255,.03);}
.hx-row-m{flex:1;min-width:0;} .hx-row-m .t{font-weight:700;font-size:.88rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;} .hx-row-m .s{font-size:.74rem;color:var(--hh-text-2);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.hx-row-r{text-align:right;flex:none;display:flex;flex-direction:column;align-items:flex-end;gap:4px;max-width:46%;} .hx-row-r .v{font-weight:800;font-size:.9rem;white-space:nowrap;} .hx-row-r .s{font-size:.7rem;color:var(--hh-text-2);white-space:nowrap;}
.hx-row-x{flex:none;display:flex;gap:6px;}
@media(max-width:560px){.hx-row{padding:12px 14px;gap:10px;} .hx-row .hx-tile{width:38px;height:38px;border-radius:12px;font-size:1.15rem;} .hx-row-x{width:100%;justify-content:flex-end;} .hx-row:has(.hx-row-x){flex-wrap:wrap;}}
.hx-card:not(.flush) .hx-list .hx-row{padding-left:0;padding-right:0;}

/* ── tables (cards on phones) ───────────────────────── */
.hx-tw{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;}
.hx-table{width:100%;border-collapse:separate;border-spacing:0;font-size:.84rem;}
.hx-table th{text-align:left;font-size:.64rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--hh-text-2) !important;padding:10px 12px;border-bottom:1px solid var(--hh-line) !important;white-space:nowrap;background:transparent !important;}
.hx-table td{padding:12px;border-bottom:1px solid var(--hh-line) !important;vertical-align:middle;color:var(--hh-text) !important;}
.hx-table tbody tr:last-child td{border-bottom:none !important;} .hx-table tbody tr:hover td{background:rgba(var(--hh-primary-rgb),.03);}
.hx-table .r,.hx-table th.r{text-align:right;} .hx-table .c{text-align:center;} .hx-table .nw{white-space:nowrap;}
.hx-card.flush .hx-table th:first-child,.hx-card.flush .hx-table td:first-child{padding-left:16px;} .hx-card.flush .hx-table th:last-child,.hx-card.flush .hx-table td:last-child{padding-right:16px;}
@media(max-width:720px){
  .hx-tw{overflow:visible;}
  .hx-table,.hx-table tbody,.hx-table tr,.hx-table td{display:block;width:100%;}
  .hx-table thead{display:none;}
  .hx-table tr{border:1px solid var(--hh-card-bd);border-radius:16px;margin:0 0 10px;padding:6px 0;background:var(--hh-card);}
  .hx-card.flush .hx-table tr{margin:0 12px 10px;width:auto;}
  .hx-table td{border:none !important;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:6px 14px !important;text-align:right;flex-wrap:wrap;min-height:32px;}
  .hx-table td::before{content:attr(data-label);font-size:.6rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--hh-text-2);text-align:left;flex:none;max-width:45%;}
  .hx-table td[data-label=""]::before{display:none;} .hx-table td[data-label=""]{justify-content:flex-end;}
  .hx-table td.lead{font-weight:800;font-size:.92rem;justify-content:flex-start;text-align:left;} .hx-table td.lead::before{display:none;}
  .hx-table tbody tr:hover td{background:transparent;}
}

/* ── chips / status ─────────────────────────────────── */
.hx-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:999px;font-size:.68rem;font-weight:800;white-space:nowrap;line-height:1.2;}
.hx-chip i{font-size:.85rem;}
.hx-chip.ok{background:rgba(var(--hh-green-rgb),.14);color:#047857;} .hx-chip.bad{background:rgba(var(--hh-rose-rgb),.13);color:#be123c;} .hx-chip.wait{background:rgba(var(--hh-orange-rgb),.16);color:#9a3412;} .hx-chip.info{background:rgba(var(--hh-indigo-rgb),.13);color:#4338ca;} .hx-chip.neutral{background:rgba(127,140,135,.14);color:var(--hh-text-2);} .hx-chip.primary{background:rgba(var(--hh-primary-rgb),.1);color:var(--hh-primary);} .hx-chip.gold{background:rgba(var(--hh-gold-rgb),.22);color:#92400e;}
html[data-hh-dark] .hx-chip.ok{color:#6ee7b7;} html[data-hh-dark] .hx-chip.bad{color:#fda4af;} html[data-hh-dark] .hx-chip.wait{color:#fdba74;} html[data-hh-dark] .hx-chip.info{color:#a5b4fc;} html[data-hh-dark] .hx-chip.primary{color:#5eead4;} html[data-hh-dark] .hx-chip.gold{color:#fcd34d;}

/* ── tabs ───────────────────────────────────────────── */
.hx-tabs{display:flex;gap:6px;overflow-x:auto;padding:4px;margin-bottom:16px;background:var(--hh-card);border:1px solid var(--hh-card-bd);border-radius:999px;box-shadow:var(--hh-shadow);scrollbar-width:none;width:max-content;max-width:100%;}
.hx-tabs::-webkit-scrollbar{display:none;}
.hx-tabs a,.hx-tabs button{flex:none;display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:999px;font:700 .8rem var(--hh-font);color:var(--hh-text-2);border:none;background:none;cursor:pointer;white-space:nowrap;}
.hx-tabs a b,.hx-tabs button b{background:rgba(var(--hh-primary-rgb),.1);color:var(--hh-primary);border-radius:999px;padding:1px 7px;font-size:.66rem;}
.hx-tabs a.on,.hx-tabs button.on{background:var(--hh-primary);color:#fff;} .hx-tabs a.on b,.hx-tabs button.on b{background:rgba(255,255,255,.22);color:#fff;}
html[data-hh-dark] .hx-tabs a.on,html[data-hh-dark] .hx-tabs button.on{background:var(--hh-gold);color:#1a1203;} html[data-hh-dark] .hx-tabs a.on b{background:rgba(0,0,0,.15);color:#1a1203;} html[data-hh-dark] .hx-tabs a b{color:#5eead4;background:rgba(255,255,255,.08);}

/* ── forms ──────────────────────────────────────────── */
.hx-f{margin-bottom:14px;min-width:0;} .hx-f > label{display:block;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em;color:var(--hh-text-2) !important;margin-bottom:6px;} .hx-f .req{color:var(--hh-rose);font-style:normal;}
.hx-hint{font-size:.72rem;color:var(--hh-text-2);margin-top:6px;line-height:1.45;}
.hx-in{display:flex;align-items:center;gap:9px;border:1.5px solid rgba(var(--hh-primary-rgb),.16);border-radius:14px;padding:0 13px;background:var(--hh-card);min-height:48px;transition:border-color .15s,box-shadow .15s;position:relative;}
html[data-hh-dark] .hx-in{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.14);}
.hx-in:focus-within{border-color:var(--hh-soft);box-shadow:0 0 0 4px rgba(var(--hh-soft-rgb),.18);}
.hx-in > i{color:var(--hh-primary);font-size:1.15rem;flex:none;} html[data-hh-dark] .hx-in > i{color:var(--hh-gold);}
.hx-in input,.hx-in select,.hx-in textarea{flex:1;min-width:0;width:100%;border:none !important;background:transparent !important;box-shadow:none !important;outline:none !important;padding:12px 0 !important;font:500 .92rem var(--hh-font) !important;color:var(--hh-text) !important;min-height:0 !important;border-radius:0 !important;}
.hx-in select{appearance:none;-webkit-appearance:none;cursor:pointer;padding-right:24px !important;} .hx-in.sel .car{position:absolute;right:13px;color:var(--hh-text-2);font-size:.95rem;pointer-events:none;}
html[data-hh-dark] .hx-in select option{background:#0c1f19;color:#eef5f2;}
.hx-in.ta{align-items:stretch;padding:0 13px;} .hx-in.ta textarea{resize:vertical;min-height:96px;line-height:1.5;}
.hx-in .pre{font-weight:800;color:var(--hh-text);padding-right:9px;border-right:1px solid var(--hh-line);font-size:.9rem;} .hx-in .suf{color:var(--hh-text-2);font-size:.8rem;flex:none;}
.hx-in input[type=file]{padding:10px 0 !important;font-size:.82rem !important;}
.hx-in.plain{padding:0 13px;}
.hx-form-a{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:6px;}
@media(max-width:560px){.hx-form-a .hx-btn{flex:1 1 auto;}}
/* switch */
.hx-sw{display:flex;align-items:center;gap:12px;cursor:pointer;padding:6px 0;user-select:none;} .hx-sw input{position:absolute;opacity:0;width:1px;height:1px;}
.hx-sw .tr{flex:none;width:46px;height:28px;border-radius:999px;background:rgba(127,140,135,.35);position:relative;transition:background .2s;} .hx-sw .th{position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 2px 6px rgba(0,0,0,.25);transition:transform .2s;}
.hx-sw input:checked + .tr{background:var(--hh-primary);} html[data-hh-dark] .hx-sw input:checked + .tr{background:var(--hh-gold);} .hx-sw input:checked + .tr .th{transform:translateX(18px);}
.hx-sw input:focus-visible + .tr{box-shadow:0 0 0 4px rgba(var(--hh-soft-rgb),.3);}
.hx-sw .tx b{display:block;font-size:.86rem;font-weight:700;color:var(--hh-text);} .hx-sw .tx small{display:block;font-size:.72rem;color:var(--hh-text-2);margin-top:1px;}
/* radio cards */
.hx-choices{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;}
.hx-choice{position:relative;display:block;cursor:pointer;} .hx-choice input{position:absolute;opacity:0;}
.hx-choice > span{display:flex;flex-direction:column;gap:3px;padding:12px 14px;border-radius:16px;border:1.5px solid var(--hh-line);background:var(--hh-card);height:100%;} .hx-choice b{font-size:.84rem;} .hx-choice small{font-size:.7rem;color:var(--hh-text-2);}
.hx-choice input:checked + span{border-color:var(--hh-primary);box-shadow:0 0 0 4px rgba(var(--hh-primary-rgb),.12);} html[data-hh-dark] .hx-choice input:checked + span{border-color:var(--hh-gold);}
/* filter bar */
.hx-filter{display:flex;gap:8px;flex-wrap:wrap;align-items:stretch;margin-bottom:14px;} .hx-filter .hx-in{min-height:44px;flex:1 1 160px;} .hx-filter .grow{flex:3 1 240px;} .hx-filter .hx-btn{min-height:44px;}
.hx-filter-more{display:none;width:100%;gap:8px;flex-wrap:wrap;} .hx-filter-more.on{display:flex;}
@media(min-width:900px){.hx-filter-more{display:flex;width:auto;flex:2 1 420px;} .hx-filter .tgl{display:none;}}

/* ── key / value ────────────────────────────────────── */
.hx-kv{display:grid;gap:12px 18px;margin:0;grid-template-columns:repeat(2,minmax(0,1fr));} .hx-kv.c1{grid-template-columns:minmax(0,1fr);} @media(min-width:860px){.hx-kv.c3{grid-template-columns:repeat(3,minmax(0,1fr));} .hx-kv.c4{grid-template-columns:repeat(4,minmax(0,1fr));}}
.hx-kv dt{font-size:.62rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--hh-text-2);margin-bottom:3px;} .hx-kv dd{margin:0;font-weight:700;font-size:.88rem;word-break:break-word;}
@media(max-width:400px){.hx-kv:not(.keep){grid-template-columns:minmax(0,1fr);}}

/* ── alerts / empty ─────────────────────────────────── */
.hx-alert{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:16px;margin-bottom:14px;font-size:.84rem;line-height:1.5;border:1px solid transparent;}
.hx-alert > i{font-size:1.2rem;flex:none;margin-top:1px;} .hx-alert a{font-weight:800;text-decoration:underline;color:inherit;}
.hx-alert.ok{background:rgba(var(--hh-green-rgb),.1);border-color:rgba(var(--hh-green-rgb),.28);color:#065f46;} .hx-alert.bad{background:rgba(var(--hh-rose-rgb),.09);border-color:rgba(var(--hh-rose-rgb),.28);color:#9f1239;} .hx-alert.wait{background:rgba(var(--hh-gold-rgb),.14);border-color:rgba(var(--hh-gold-rgb),.4);color:#78350f;} .hx-alert.info{background:rgba(var(--hh-primary-rgb),.07);border-color:rgba(var(--hh-primary-rgb),.2);color:var(--hh-primary-dark);}
html[data-hh-dark] .hx-alert.ok{color:#a7f3d0;} html[data-hh-dark] .hx-alert.bad{color:#fecdd3;} html[data-hh-dark] .hx-alert.wait{color:#fde68a;} html[data-hh-dark] .hx-alert.info{color:#99f6e4;background:rgba(var(--hh-soft-rgb),.1);}
.hx-empty{text-align:center;padding:30px 16px;} .hx-empty .hx-tile{margin:0 auto 12px;} .hx-empty h4{margin:0 0 6px;font-size:1rem;} .hx-empty p{margin:0 auto 14px;font-size:.82rem;color:var(--hh-text-2);max-width:380px;line-height:1.5;}

/* ── bottom sheet / modal ───────────────────────────── */
.hx-sheet{position:fixed;inset:0;z-index:300;background:rgba(6,20,15,.5);backdrop-filter:blur(3px);display:flex;align-items:flex-end;justify-content:center;opacity:0;pointer-events:none;transition:opacity .2s;}
.hx-sheet.on{opacity:1;pointer-events:auto;}
.hx-sheet-c{background:var(--hh-page);width:100%;max-width:560px;max-height:92vh;overflow:auto;border-radius:24px 24px 0 0;transform:translateY(30px);transition:transform .25s cubic-bezier(.2,.8,.2,1);box-shadow:0 -20px 60px -20px rgba(0,0,0,.4);}
html[data-hh-dark] .hx-sheet-c{background:#0b1d17;border:1px solid rgba(255,255,255,.1);}
.hx-sheet.on .hx-sheet-c{transform:none;}
@media(min-width:640px){.hx-sheet{align-items:center;padding:16px;} .hx-sheet-c{border-radius:24px;} .hx-sheet.wide .hx-sheet-c{max-width:820px;}}
.hx-sheet-h{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;padding:16px 18px 10px;background:inherit;} .hx-sheet-h h3{margin:0;font-size:1.05rem;font-weight:800;}
.hx-sheet-h::before{content:"";position:absolute;top:7px;left:50%;width:40px;height:4px;border-radius:4px;background:rgba(127,140,135,.4);transform:translateX(-50%);} @media(min-width:640px){.hx-sheet-h::before{display:none;}}
.hx-x{border:none;background:var(--hh-card);width:36px;height:36px;border-radius:12px;cursor:pointer;color:var(--hh-text);font-size:1.1rem;display:inline-flex;align-items:center;justify-content:center;}
.hx-sheet-b{padding:4px 18px 22px;}
body.hx-lock{overflow:hidden;}
.hx-toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%) translateY(20px);z-index:400;background:#0e1f1a;color:#fff;padding:11px 18px;border-radius:999px;font:700 .82rem var(--hh-font);opacity:0;transition:all .2s;pointer-events:none;box-shadow:0 12px 30px -10px rgba(0,0,0,.5);} .hx-toast.on{opacity:1;transform:translateX(-50%);}

/* ── misc ───────────────────────────────────────────── */
.hx-pager{display:flex;align-items:center;justify-content:center;gap:12px;padding:14px;font-size:.8rem;color:var(--hh-text-2);} .hx-pager a,.hx-pager .off{width:36px;height:36px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;background:var(--hh-card);border:1px solid var(--hh-card-bd);color:var(--hh-text);} .hx-pager .off{opacity:.4;}
.hx-code{display:flex;align-items:center;gap:10px;background:rgba(var(--hh-primary-rgb),.06);border:1px dashed rgba(var(--hh-primary-rgb),.3);border-radius:14px;padding:10px 12px;min-width:0;} .hx-code code{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;color:var(--hh-text) !important;background:none !important;}
html[data-hh-dark] .hx-code{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.18);}
.hx-pre{background:#0b1512;color:#d7f5ec;border-radius:16px;padding:14px;font:500 .78rem/1.65 ui-monospace,SFMono-Regular,Menlo,monospace;overflow:auto;white-space:pre;margin:0;max-width:100%;}
.hx-bar{height:8px;border-radius:999px;background:rgba(127,140,135,.2);overflow:hidden;} .hx-bar > i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--hh-primary),var(--hh-soft));}
.hx-divider{height:1px;background:var(--hh-line);margin:14px 0;}
.hx-amount{font-size:2.1rem;font-weight:800;letter-spacing:-.03em;line-height:1.05;} .hx-amount small{font-size:.9rem;font-weight:700;opacity:.8;margin-right:4px;}
.hx-steps{counter-reset:s;display:flex;flex-direction:column;gap:10px;} .hx-steps > div{display:flex;gap:12px;align-items:flex-start;} .hx-steps > div::before{counter-increment:s;content:counter(s);flex:none;width:28px;height:28px;border-radius:10px;background:rgba(var(--hh-primary-rgb),.1);color:var(--hh-primary);font-weight:800;font-size:.8rem;display:inline-flex;align-items:center;justify-content:center;} html[data-hh-dark] .hx-steps > div::before{color:#5eead4;background:rgba(255,255,255,.08);}
.hx-steps b{display:block;font-size:.86rem;} .hx-steps small{display:block;font-size:.76rem;color:var(--hh-text-2);margin-top:2px;line-height:1.45;}
.hx-sticky-a{position:sticky;bottom:0;z-index:5;margin:0 -16px -16px;padding:12px 16px;background:linear-gradient(to top,var(--hh-card) 70%,transparent);border-radius:0 0 22px 22px;}

/* ── guards against the older global rules in helahive.css / style.css ── */
html[data-hh-dark] .hx-in input,html[data-hh-dark] .hx-in select,html[data-hh-dark] .hx-in textarea,html .hx-in input,html .hx-in select,html .hx-in textarea{border:none !important;background:transparent !important;box-shadow:none !important;padding-left:0 !important;padding-right:0 !important;min-height:0 !important;color:var(--hh-text) !important;}
html .hx a.hx-row,html[data-hh-dark] .hx a.hx-row,html .hx a.hx-stat,html[data-hh-dark] .hx a.hx-stat{color:var(--hh-text);}
html .hx-tabs a,html[data-hh-dark] .hx-tabs a{color:var(--hh-text-2);} html .hx-tabs a.on{color:#fff;} html[data-hh-dark] .hx-tabs a.on{color:#1a1203;}
html .hx a.hx-btn.primary{color:#fff;} html[data-hh-dark] .hx a.hx-btn.primary,html[data-hh-dark] .hx-sheet a.hx-btn.primary{color:#1a1203;}
html .hx a.hx-btn.ghost,html[data-hh-dark] .hx a.hx-btn.ghost{color:var(--hh-text);} html .hx a.hx-btn.soft{color:var(--hh-primary);} html[data-hh-dark] .hx a.hx-btn.soft{color:var(--hh-soft);}
html .hx .hx-card.hero a.hx-btn.ghost{color:#fff;} html .hx .hx-card.hero a.hx-btn.primary{color:var(--hh-primary);}
html .hx .hx-pager a{color:var(--hh-text);} html .hx .hx-back{color:var(--hh-text);}
.hx label.hx-sw,.hx label.hx-choice{color:var(--hh-text) !important;text-transform:none;letter-spacing:0;font-size:inherit;}
.hx table.hx-table td::before{color:var(--hh-text-2);}
.hx-sw,.hx-choice{position:relative;} html .hx-sw input,html .hx-choice input{width:1px !important;height:1px !important;min-height:0 !important;margin:0 !important;padding:0 !important;left:0;top:0;}
