/* MOMO Loans - mobile-first. Theme colour comes from Admin > Settings (--primary). */
:root{
  --primary:#10a587;
  --primary-d:color-mix(in srgb,var(--primary) 58%,#000);
  --primary-dd:color-mix(in srgb,var(--primary) 38%,#000);
  --primary-l:color-mix(in srgb,var(--primary) 9%,#fff);
  --primary-m:color-mix(in srgb,var(--primary) 22%,#fff);
  --ink:#0f1f1a;--muted:#5b6b65;--line:#e4eae7;--paper:#f5f8f6;--card:#fff;
  --ok:#0a8f5b;--ok-l:#e3f6ec;--warn:#a96a00;--warn-l:#fff4d9;--bad:#c62828;--bad-l:#fdeaea;--info:#1f5fbf;--info-l:#e6effc;
  --r:16px;--r-s:10px;
  --shadow:0 1px 2px rgba(15,31,26,.05),0 12px 32px -16px rgba(15,31,26,.22);
  --font:Poppins,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.6 var(--font);-webkit-font-smoothing:antialiased;min-height:100vh;display:flex;flex-direction:column}
main{flex:1}
img,svg{max-width:100%}
a{color:var(--primary-d)}
h1,h2,h3{line-height:1.2;margin:0 0 .5em;letter-spacing:-.015em;color:var(--ink)}
p{margin:0 0 1em}
.wrap{width:min(1120px,100% - 32px);margin-inline:auto}
.narrow{max-width:640px}
.muted{color:var(--muted)}.small{font-size:.875rem}
.ic{flex:none;vertical-align:-.2em}
.skip{position:absolute;left:-999px;top:8px;background:var(--primary-d);color:#fff;padding:8px 14px;border-radius:8px;z-index:100}
.skip:focus{left:8px}
:focus-visible{outline:3px solid color-mix(in srgb,var(--primary) 55%,#fff);outline-offset:2px;border-radius:6px}
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
[hidden]{display:none!important}

/* ---------- header ---------- */
.top{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.92);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.top-in{display:flex;align-items:center;justify-content:space-between;min-height:60px;gap:16px}
.brand{display:inline-flex;align-items:center;gap:10px;font-weight:800;font-size:1.1rem;color:var(--ink);text-decoration:none;letter-spacing:-.01em;min-width:0}
.brand span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.logo{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:10px;background:linear-gradient(145deg,var(--primary),var(--primary-d));color:#fff;font-weight:800;font-size:1.05rem;flex:none;box-shadow:0 4px 10px -4px var(--primary)}
.top-help{color:var(--muted);text-decoration:none;font-weight:600;font-size:.95rem;padding:8px 14px;border-radius:999px}
.top-help:hover{color:var(--primary-d);background:var(--primary-l)}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font:700 1rem var(--font);padding:14px 26px;border-radius:999px;border:2px solid transparent;cursor:pointer;text-decoration:none;transition:transform .12s,box-shadow .15s,background .15s;line-height:1.2}
.btn:active{transform:translateY(1px)}
.btn-primary{background:var(--primary);color:#fff;box-shadow:0 8px 20px -10px var(--primary)}
.btn-primary:hover{background:var(--primary-d)}
.btn-ghost{background:#fff;color:var(--primary-d);border-color:var(--primary-m)}
.btn-ghost:hover{background:var(--primary-l)}
.btn-danger{background:var(--bad-l);color:var(--bad);border-color:#f3c4c4}
.btn-danger:hover{background:#fbd9d9}
.btn-block{width:100%}
.btn-sm{padding:8px 16px;font-size:.875rem}
.btn[disabled]{opacity:.6;cursor:not-allowed}

/* ---------- hero ---------- */
.hero{position:relative;color:#fff;text-align:center;padding:56px 0 112px;overflow:hidden;
  background:radial-gradient(800px 380px at 88% -8%,color-mix(in srgb,var(--primary) 70%,#fff) 0,transparent 62%),
             radial-gradient(700px 380px at -10% 110%,var(--primary-dd) 0,transparent 65%),
             linear-gradient(165deg,var(--primary) 0%,var(--primary-d) 100%)}
.hero::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 1px 1px,rgba(255,255,255,.12) 1px,transparent 0) 0 0/22px 22px;mask-image:linear-gradient(#000,transparent 85%);-webkit-mask-image:linear-gradient(#000,transparent 85%);pointer-events:none}
.hero-in{position:relative;max-width:720px}
.eyebrow{display:inline-block;padding:6px 16px;border-radius:999px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.3);font-weight:700;font-size:.8rem;letter-spacing:.09em;text-transform:uppercase;margin-bottom:20px}
.hero h1{color:#fff;font-size:clamp(2.2rem,8vw,3.8rem);font-weight:800;margin:0 0 14px;letter-spacing:-.025em}
.hero-sub{font-size:clamp(1.05rem,3.4vw,1.3rem);opacity:.92;margin:0 auto;max-width:40ch;text-wrap:balance}
.steps{display:flex;list-style:none;margin:38px auto 40px;padding:0;max-width:440px}
.steps li{flex:1;position:relative;display:flex;flex-direction:column;align-items:center;gap:10px}
.steps li+li::before{content:"";position:absolute;top:21px;right:50%;width:100%;height:2px;background:linear-gradient(90deg,rgba(255,255,255,.15),rgba(255,255,255,.55))}
.step-n{position:relative;z-index:1;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#fff;color:var(--primary-d);font-weight:800;font-size:1.1rem;box-shadow:0 8px 18px -8px rgba(0,0,0,.45)}
.step-l{font-weight:700;font-size:.95rem}
.btn-hero{background:#fff;color:var(--primary-dd);font-size:1.1rem;padding:17px 38px;box-shadow:0 16px 34px -14px rgba(0,0,0,.55)}
.btn-hero:hover{transform:translateY(-2px);box-shadow:0 20px 40px -14px rgba(0,0,0,.6)}
.btn-hero.is-off{opacity:.75;cursor:default;box-shadow:none}

/* ---------- features ---------- */
.feats{margin-top:-64px;position:relative;z-index:2}
.feat-grid{display:grid;gap:16px}
.feat{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:26px 24px;box-shadow:var(--shadow)}
.feat h2{font-size:1.15rem;margin:16px 0 6px}
.feat p{margin:0;color:var(--muted)}
.feat-ic{display:inline-grid;place-items:center;width:52px;height:52px;border-radius:14px;background:var(--primary-l);color:var(--primary-d)}
.feat-ic.sm{width:42px;height:42px;border-radius:12px}

/* ---------- trust ---------- */
.trust{padding:34px 0 52px}
.trust-in{display:flex;flex-wrap:wrap;justify-content:center;gap:12px 14px}
.trust-item{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border-radius:999px;background:var(--card);border:1px solid var(--line);font-weight:700;font-size:.92rem;color:var(--primary-d)}

/* ---------- footer ---------- */
.foot{background:var(--card);border-top:1px solid var(--line);padding:28px 0;text-align:center}
.foot-links{display:flex;justify-content:center;gap:26px;margin-bottom:10px}
.foot-links a{color:var(--ink);text-decoration:none;font-weight:600;font-size:.95rem}
.foot-links a:hover{color:var(--primary-d);text-decoration:underline}
.foot-copy{margin:0;color:var(--muted);font-size:.875rem}

/* ---------- inner pages ---------- */
.page-hero{background:linear-gradient(165deg,var(--primary),var(--primary-d));color:#fff;padding:34px 0 64px}
.page-hero h1{color:#fff;font-size:clamp(1.7rem,5vw,2.4rem);margin-bottom:6px;font-weight:800}
.page-hero p{margin:0;opacity:.9}
.apply-wrap{margin-top:-40px;position:relative;z-index:2;padding-bottom:56px}
.apply-wrap.plain{margin-top:0;padding-top:28px}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:24px;box-shadow:var(--shadow);margin-bottom:16px}
.card-h{display:flex;align-items:center;gap:10px;font-size:1.1rem;margin-bottom:18px}
.num{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--primary);color:#fff;font-size:.85rem;font-weight:800}
.sub-h{font-size:.95rem;color:var(--muted);font-weight:600;margin:26px 0 10px}
.center-card{text-align:center;padding:40px 24px}
.prose{padding:28px 24px}
.prose h2{font-size:1.15rem;margin:1.4em 0 .4em}
.prose h2:first-child{margin-top:0}
.prose p{color:#2d3d37}

/* ---------- apply ---------- */
.apply-grid{display:grid;gap:0}
.amount-box{padding:6px 0 4px}
.amount-out{display:flex;align-items:baseline;justify-content:center;gap:8px;margin-bottom:18px;color:var(--ink)}
.amount-out .cur{font-size:1.2rem;font-weight:700;color:var(--muted)}
.amount-out output{font-size:clamp(2.6rem,12vw,3.6rem);font-weight:800;letter-spacing:-.03em;color:var(--primary-d);line-height:1}
input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:10px;border-radius:999px;background:linear-gradient(90deg,var(--primary) var(--fill,50%),var(--primary-m) var(--fill,50%));outline-offset:8px;margin:8px 0;cursor:pointer}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:30px;height:30px;border-radius:50%;background:#fff;border:3px solid var(--primary);box-shadow:0 4px 12px -2px rgba(0,0,0,.3)}
input[type=range]::-moz-range-thumb{width:26px;height:26px;border-radius:50%;background:#fff;border:3px solid var(--primary);box-shadow:0 4px 12px -2px rgba(0,0,0,.3)}
.range-scale{display:flex;justify-content:space-between;font-size:.82rem;color:var(--muted);font-weight:600}
.chips{display:flex;flex-wrap:wrap;gap:10px}
.chip{position:relative;cursor:pointer}
.chip input{position:absolute;opacity:0;inset:0;cursor:pointer}
.chip span{display:block;padding:11px 20px;border-radius:999px;border:2px solid var(--line);font-weight:700;background:#fff;transition:.15s}
.chip input:checked+span{border-color:var(--primary);background:var(--primary-l);color:var(--primary-d)}
.chip input:focus-visible+span{outline:3px solid color-mix(in srgb,var(--primary) 55%,#fff);outline-offset:2px}
.field{margin-bottom:16px}
.field label{display:block;font-weight:700;font-size:.9rem;margin-bottom:6px}
.field small{display:block;color:var(--muted);margin-top:5px;font-size:.82rem}
input[type=text],input[type=tel],input[type=email],input[type=password],input[type=number],input[type=url],select,textarea{width:100%;font:inherit;padding:13px 14px;border:1.5px solid #cfdad5;border-radius:var(--r-s);background:#fff;color:var(--ink);transition:border-color .15s,box-shadow .15s}
textarea{resize:vertical;min-height:110px}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 4px color-mix(in srgb,var(--primary) 18%,transparent)}
input[type=color]{width:54px;height:44px;padding:3px;border:1.5px solid #cfdad5;border-radius:var(--r-s);background:#fff;cursor:pointer}
.field-row{display:grid;gap:0 14px}
.check{display:flex;gap:12px;align-items:flex-start;font-size:.92rem;cursor:pointer;margin-top:6px}
.check input{width:20px;height:20px;margin-top:2px;accent-color:var(--primary);flex:none}
.quote-list{margin:0 0 18px;padding:0}
.quote-list>div{display:flex;justify-content:space-between;gap:16px;padding:11px 0;border-bottom:1px dashed var(--line)}
.quote-list dt{color:var(--muted)}
.quote-list dd{margin:0;font-weight:700;text-align:right}
.quote-list .total{border-bottom:0;padding-top:14px}
.quote-list .total dt{color:var(--ink);font-weight:700}
.quote-list .total dd{font-size:1.35rem;color:var(--primary-d)}
.fee-box{background:var(--primary-l);border:1px solid var(--primary-m);border-radius:var(--r-s);padding:14px 16px;margin-bottom:16px}
.fee-row{display:flex;justify-content:space-between;align-items:center;gap:12px;font-weight:600}
.fee-row span{min-width:0}
.fee-row strong{color:var(--primary-dd);font-size:1.2rem;white-space:nowrap}
.fee-box p{margin:6px 0 0;font-size:.85rem;color:var(--muted)}
.secure-note{color:var(--muted);font-size:.82rem;margin:14px 0 0;text-align:center}
.secure-note .ic{margin-right:4px;vertical-align:-.25em}

/* ---------- result / payment ---------- */
.result{text-align:center;padding:34px 24px}
.result h1{font-size:1.6rem}
.result .quote-list{text-align:left;margin-top:22px}
.result-ic{display:inline-grid;place-items:center;width:72px;height:72px;border-radius:50%;margin-bottom:16px}
.result-ic.ok{background:var(--ok-l);color:var(--ok)}
.result-ic.bad{background:var(--bad-l);color:var(--bad)}
.result-ic.wait{background:var(--primary-l)}
.spinner{width:34px;height:34px;border-radius:50%;border:4px solid var(--primary-m);border-top-color:var(--primary);animation:spin .9s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.retry-form{text-align:left;margin:22px 0 14px}
.demo-box{margin-top:22px;padding:14px;border:1.5px dashed var(--warn);border-radius:var(--r-s);background:var(--warn-l);font-size:.9rem}

/* ---------- alerts / badges ---------- */
.alert{padding:13px 16px;border-radius:var(--r-s);margin:0 0 16px;font-weight:600;font-size:.95rem;border:1px solid}
.alert-error{background:var(--bad-l);color:var(--bad);border-color:#f3c4c4}
.alert-success{background:var(--ok-l);color:#087a4c;border-color:#bde6d0}
.alert-info{background:var(--info-l);color:var(--info);border-color:#c5d8f6}
.badge{display:inline-block;padding:3px 11px;border-radius:999px;font-size:.78rem;font-weight:700;white-space:nowrap}
.st-awaiting_fee,.st-pending{background:var(--warn-l);color:var(--warn)}
.st-under_review{background:var(--info-l);color:var(--info)}
.st-approved,.st-success{background:var(--ok-l);color:#087a4c}
.st-disbursed{background:#d3efe0;color:#055c39}
.st-rejected,.st-failed,.st-cancelled,.st-expired{background:var(--bad-l);color:var(--bad)}

/* ---------- contact ---------- */
.contact-grid{display:grid;gap:0;margin-top:-40px;position:relative;z-index:2;padding-bottom:56px}
.contact-list{list-style:none;margin:0;padding:0;display:grid;gap:18px}
.contact-list li{display:flex;gap:14px;align-items:center}
.contact-list small{display:block;color:var(--muted);font-weight:600}
.contact-list a,.contact-list span{font-weight:700;word-break:break-word}

/* ---------- breakpoints ---------- */
@media(min-width:640px){
  .field-row{grid-template-columns:1fr 1fr}
  .hero{padding:84px 0 132px}
  .card{padding:30px}
}
@media(min-width:820px){
  .feat-grid{grid-template-columns:repeat(3,1fr);gap:22px}
  .contact-grid{grid-template-columns:1.4fr 1fr;gap:0 22px}
  .apply-grid{grid-template-columns:1fr 380px;gap:0 22px;align-items:start}
  .apply-side{position:sticky;top:78px}
  .narrow .card{padding:40px}
}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}


/* ---------- one-page loan picker ---------- */
body.one{background:color-mix(in srgb,var(--primary) 6%,#fff)}
.banner{background:var(--primary);color:#fff;text-align:center;font-weight:600;font-size:.85rem;padding:9px 16px}
.one-wrap{width:min(560px,100% - 32px);margin:0 auto;padding:26px 0 40px}
.one-head{text-align:center;margin-bottom:22px}
.one-brand{display:inline-flex;align-items:center;gap:12px;max-width:100%}
.one-brand .logo{width:42px;height:42px;border-radius:12px;font-size:1.25rem}
.one-brand h1{margin:0;font-size:clamp(1.5rem,6vw,1.85rem);font-weight:700;color:var(--primary);letter-spacing:-.01em}
.one-tag{color:var(--muted);margin:12px auto 14px;max-width:34ch;text-wrap:balance}
.chips-row{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:0;padding:0}
.chips-row li{background:#fff;border:1px solid var(--line);border-radius:999px;padding:6px 14px;font-size:.8rem;color:var(--muted)}
.intro{border-left:4px solid var(--primary);background:#fff;border-radius:0 12px 12px 0;padding:14px 16px;margin:0 0 20px;box-shadow:0 1px 2px rgba(15,31,26,.04)}
.pick-title{text-align:center;color:var(--primary);font-size:1.1rem;font-weight:600;margin:0 0 14px}
.pack-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:20px}
.pack{position:relative;cursor:pointer;display:block}
.pack input{position:absolute;opacity:0;inset:0;width:100%;height:100%;cursor:pointer;margin:0}
.pack-in{display:flex;flex-direction:column;align-items:center;gap:2px;padding:14px 6px;background:#fff;border:1.5px solid var(--line);border-radius:12px;text-align:center;transition:border-color .15s,box-shadow .15s,background .15s}
.pack-in b{color:var(--primary);font-size:1.02rem;font-weight:600}
.pack-in small{color:var(--muted);font-size:.74rem}
.pack:hover .pack-in{border-color:var(--primary-m)}
.pack input:checked+.pack-in{border-color:var(--primary);background:var(--primary-l);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 22%,transparent)}
.pack input:focus-visible+.pack-in{outline:3px solid color-mix(in srgb,var(--primary) 55%,#fff);outline-offset:2px}
.note-box{display:flex;gap:12px;align-items:flex-start;background:#fff9e6;border-left:4px solid #f0a92a;border-radius:0 12px 12px 0;padding:14px 16px;margin:0 0 20px;color:#7a4b00;font-size:.9rem}
.note-box span{flex:none;width:22px;height:22px;border-radius:50%;background:#f0a92a;color:#fff;display:grid;place-items:center;font-weight:700;font-size:.8rem;font-style:italic}
.note-box p{margin:0}
.pick-error{color:var(--bad);font-weight:600;text-align:center;margin:0 0 12px}
.cta{display:flex;width:100%;align-items:center;justify-content:center;gap:8px;background:var(--primary);color:#fff;border:0;border-radius:12px;padding:16px;font:600 1.05rem var(--font);cursor:pointer;box-shadow:0 10px 22px -12px var(--primary);transition:background .15s,transform .1s}
.cta:hover{background:var(--primary-d)}
.cta:active{transform:translateY(1px)}
.cta[disabled]{opacity:.65;cursor:wait}
.detail-card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:22px;box-shadow:var(--shadow);scroll-margin-top:12px}
.detail-card h2{font-size:1.1rem;color:var(--primary);margin-bottom:14px}
.sel-sum{background:var(--primary-l);border:1px solid var(--primary-m);border-radius:12px;padding:6px 14px;margin-bottom:18px}
.sel-sum div{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px dashed var(--primary-m);font-size:.9rem}
.sel-sum div:last-child{border-bottom:0}
.sel-sum span{color:var(--muted)}
.sel-sum b{white-space:nowrap}
.sel-sum .pay-now span{color:var(--ink);font-weight:600}
.sel-sum .pay-now b{color:var(--primary-dd);font-size:1.05rem}
.detail-card .cta{margin-top:18px}
@media(min-width:520px){.pack-grid{grid-template-columns:repeat(4,1fr)}.one-wrap{padding-top:34px}}

/* ====================================================================
   Admin
   ==================================================================== */
body.admin{background:#eef3f0;display:block}
.adm{display:flex;min-height:100vh}
.adm-side{position:fixed;inset:0 auto 0 0;width:250px;background:var(--primary-dd);color:#fff;padding:20px 14px;display:flex;flex-direction:column;gap:22px;z-index:60;transform:translateX(-100%);transition:transform .2s}
.adm-side.open{transform:none;box-shadow:0 0 0 100vmax rgba(0,0,0,.45)}
.adm-side .brand{color:#fff;padding:0 8px}
.adm-side nav{display:flex;flex-direction:column;gap:4px}
.adm-side a{display:flex;align-items:center;gap:12px;color:rgba(255,255,255,.82);text-decoration:none;font-weight:600;padding:11px 12px;border-radius:10px;font-size:.95rem}
.adm-side a:hover{background:rgba(255,255,255,.1);color:#fff}
.adm-side nav a.on{background:#fff;color:var(--primary-dd)}
.adm-side-foot{margin-top:auto;display:flex;flex-direction:column;gap:4px;border-top:1px solid rgba(255,255,255,.15);padding-top:14px}
.pill{margin-left:auto;background:#ff5a4d;color:#fff;border-radius:999px;font-size:.72rem;padding:1px 8px}
.adm-main{flex:1;min-width:0}
.adm-bar{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:12px;background:#fff;border-bottom:1px solid var(--line);padding:12px 16px}
.adm-bar h1{font-size:1.15rem;margin:0;flex:1}
.adm-burger{border:0;background:var(--primary-l);color:var(--primary-d);border-radius:10px;width:42px;height:42px;display:grid;place-items:center;cursor:pointer}
.adm-user{color:var(--muted);font-size:.875rem;font-weight:600}
.adm-body{padding:18px 16px 56px;max-width:1180px}
.adm-body .card{padding:20px}
.adm-body h2{font-size:1.05rem}
.stats{display:grid;gap:12px;grid-template-columns:repeat(2,1fr);margin-bottom:18px}
.stat{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:16px;box-shadow:var(--shadow)}
.stat small{display:block;color:var(--muted);font-weight:600;font-size:.82rem}
.stat b{display:block;font-size:1.5rem;letter-spacing:-.02em;margin-top:2px}
.stat.hl b{color:var(--primary-d)}
.table-wrap{overflow-x:auto;margin:0 -4px}
table.tbl{width:100%;border-collapse:collapse;font-size:.9rem;min-width:640px}
.tbl th{text-align:left;font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding:10px 10px;border-bottom:2px solid var(--line);white-space:nowrap}
.tbl td{padding:12px 10px;border-bottom:1px solid var(--line);vertical-align:top}
.tbl tr:hover td{background:#f8fbf9}
.tbl .r{text-align:right}
.tbl .acts{display:flex;gap:6px;flex-wrap:wrap}
.tbl form{margin:0}
.filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.filters a{padding:7px 15px;border-radius:999px;background:#fff;border:1.5px solid var(--line);text-decoration:none;color:var(--ink);font-weight:600;font-size:.88rem}
.filters a.on{background:var(--primary);border-color:var(--primary);color:#fff}
.pager{display:flex;gap:8px;justify-content:center;margin-top:16px}
.empty{text-align:center;color:var(--muted);padding:34px 10px}
.login-box{max-width:400px;margin:9vh auto 0;padding:0 16px}
.login-box .card{padding:30px}
.set-nav{display:flex;gap:6px;overflow-x:auto;margin-bottom:16px;padding-bottom:4px}
.set-nav a{white-space:nowrap;padding:8px 16px;border-radius:999px;background:#fff;border:1.5px solid var(--line);text-decoration:none;color:var(--ink);font-weight:700;font-size:.88rem}
.set-nav a:hover{border-color:var(--primary)}
.set-grid{display:grid;gap:0 16px}
.help{color:var(--muted);font-size:.84rem;margin:-6px 0 14px}
.code{display:block;padding:10px 12px;background:#f1f5f3;border:1px solid var(--line);border-radius:var(--r-s);font:600 .85rem ui-monospace,Menlo,Consolas,monospace;word-break:break-all;user-select:all}
.savebar{position:sticky;bottom:0;background:linear-gradient(transparent,#eef3f0 30%);padding:18px 0 14px;display:flex;gap:10px;z-index:20}
.color-row{display:flex;align-items:center;gap:12px}
.color-row input[type=text]{max-width:140px}
.msg-body{white-space:pre-wrap;margin:6px 0 0;max-width:62ch}
.kv{display:grid;grid-template-columns:130px 1fr;gap:8px 14px;margin:0}
.kv dt{color:var(--muted);font-weight:600}.kv dd{margin:0;font-weight:600;word-break:break-word}
@media(min-width:900px){
  .adm-side{transform:none;box-shadow:none}
  .adm-main{margin-left:250px}
  .adm-burger{display:none}
  .adm-bar{padding:14px 28px}
  .adm-body{padding:26px 28px 60px}
  .stats{grid-template-columns:repeat(4,1fr)}
  .set-grid{grid-template-columns:1fr 1fr}
  .set-grid .full{grid-column:1/-1}
}

.tbl input[type=checkbox],.check input{accent-color:var(--primary);width:18px;height:18px}
.tbl input[type=number]{padding:9px 12px}
