/* Segamat Kita — gaya tambahan untuk portal, dashboard penyedia dan panel admin */
:root{--foot-bg:#0b3d31;--foot-ink:#eaf4ef;--foot-muted:#9fc0b3;--foot-line:#1d5446}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){--foot-bg:#08100d;--foot-ink:#e3eee8;--foot-muted:#8a9e95;--foot-line:#1c2a24}}
:root[data-theme="dark"]{--foot-bg:#08100d;--foot-ink:#e3eee8;--foot-muted:#8a9e95;--foot-line:#1c2a24}

body.portal{padding-bottom:calc(76px + env(safe-area-inset-bottom,0px))}
@media (min-width:860px){body.portal{padding-bottom:0}}
/* Logo durian: latar hijau gelap tetap (mod cerah & gelap) supaya durian jelas */
.logo .mark.brand{background:radial-gradient(circle at 30% 25%,#1a7a5f,#0b4a3a);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.logo .mark.brand svg.durian{width:26px;height:26px;filter:drop-shadow(0 1px 1px rgba(0,0,0,.3))}
@media (max-width:420px){.logo .mark.brand svg.durian{width:22px;height:22px}}
.topnav{display:none;gap:2px;margin-left:10px}
.topnav a{padding:8px 13px;border-radius:999px;text-decoration:none;color:var(--muted);font-weight:600}
.topnav a:hover{color:var(--ink)}
.topnav a.on{background:var(--soft);color:var(--ink)}
@media (min-width:860px){.topnav{display:flex}}
nav.tabs{position:fixed;left:0;right:0;bottom:0;z-index:30;background:color-mix(in srgb,var(--surface) 92%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(5,1fr);padding-bottom:env(safe-area-inset-bottom,0px);padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px)}
nav.tabs a{display:flex;flex-direction:column;align-items:center;gap:3px;padding:7px 2px 8px;text-decoration:none;color:var(--muted);font-size:11px;font-weight:700;white-space:nowrap}
nav.tabs a span.ic{display:grid;place-items:center;width:52px;height:30px;border-radius:999px}
nav.tabs a.on{color:var(--ink)}
nav.tabs a.on span.ic{background:var(--soft);color:var(--brand)}
@media (min-width:860px){nav.tabs{display:none}}
@media (max-width:440px){
  header.top .wrap{gap:5px}
  .logo{font-size:15.5px;gap:6px}
  .logo .mark{width:28px;height:28px;border-radius:9px}
  header.top .iconbtn{width:36px;height:36px;border-radius:10px}
  header.top .avatar{width:36px;height:36px}
  header.top .btn.sm{padding:6px 10px}
}

/* kotak pintasan */
.quick{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
@media (min-width:700px){.quick{grid-template-columns:repeat(4,1fr)}}
.quick a{display:grid;gap:8px;padding:16px;border-radius:var(--r);background:var(--surface);border:1px solid var(--line);text-decoration:none;color:var(--ink);align-content:start}
.quick a:hover{border-color:var(--brand)}
.quick .qi{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:var(--soft);color:var(--brand)}
.quick b{font-family:var(--f-display);font-size:17px}
.quick span{font-size:13px;color:var(--muted)}

/* cuaca & IPU */
.wx{display:grid;gap:12px;grid-template-columns:1fr}
@media (min-width:760px){.wx{grid-template-columns:1.5fr 1fr}}
.wxbig{width:60px;height:60px;border-radius:16px;display:grid;place-items:center;background:var(--soft);color:var(--brand);flex:none}
svg.wxi{width:34px;height:34px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.wxtemp{font-family:var(--f-display);font-size:28px;line-height:1.1}
.wxparts{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.wxparts>div{display:grid;gap:4px;justify-items:start;background:var(--bg);border-radius:12px;padding:8px 10px;min-width:0}
.wxparts .i,.wxday .i{color:var(--brand)}
.wxdays{display:flex;gap:8px}
.wxday{display:grid;justify-items:center;gap:4px;min-width:70px;padding:8px 6px;border:1px solid var(--line);border-radius:12px;text-align:center}
.ipucard.ok{--ipu:var(--ok);--ipu-bg:var(--ok-bg)} .ipucard.warn{--ipu:var(--warn);--ipu-bg:var(--warn-bg)} .ipucard.bad{--ipu:var(--bad);--ipu-bg:var(--bad-bg)}
.ipucard{background:var(--ipu-bg);border-color:transparent}
.ipunum{font-family:var(--f-display);font-size:52px;line-height:.9;color:var(--ipu)}
.ipucat{color:var(--ipu);font-size:17px}
.ipubar{position:relative;height:8px;border-radius:4px;background:linear-gradient(90deg,var(--ok) 0 16.6%,var(--warn) 16.6% 33.3%,var(--bad) 33.3% 100%);opacity:.85}
.ipubar i{position:absolute;top:-4px;width:4px;height:16px;border-radius:2px;background:var(--ink);transform:translateX(-50%)}
.ipucard .btn{background:var(--surface)}
.sos{background:var(--bad-bg);border-color:transparent;color:var(--bad);gap:4px}
.sos .small{color:var(--ink);opacity:.85}
.sos .btn{border-color:color-mix(in srgb,var(--bad) 40%,transparent);color:var(--bad);background:transparent;white-space:normal;text-align:left}

/* kad kandungan */
.shopcard{padding:0;overflow:hidden;gap:0}
.shopcard .cv{height:80px;position:relative;background:hsl(var(--h) 38% var(--thumb-l));color:hsl(var(--h) 45% var(--thumb-tl));display:flex;align-items:flex-end;gap:6px;padding:10px 12px}
.shopcard .bd{padding:14px 16px 16px;display:grid;gap:4px}
.post-img{width:100%;max-height:220px;object-fit:cover;border-radius:10px;display:block}
.post details summary{cursor:pointer;font-weight:700;color:var(--brand);font-size:14px;list-style:none}
.post details summary::-webkit-details-marker{display:none}
.post details[open] summary{display:none}
.verified{color:var(--brand);font-weight:700;font-size:12px;display:inline-flex;gap:3px;align-items:center}
.inc{display:grid;gap:6px;margin:0;padding:0;list-style:none}
.inc li{display:flex;gap:8px;align-items:center;font-size:14px}
.inc li svg{color:var(--ok)}
.hotnum{font-family:var(--f-display);font-weight:800;font-size:24px;letter-spacing:.02em}
.mysubs{padding:12px 14px}
.mysubs summary{cursor:pointer;list-style:none;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.mysubs summary::-webkit-details-marker{display:none}

/* footer */
.site-foot{background:var(--foot-bg);color:var(--foot-ink);margin-top:20px}
.site-foot .wrap{padding-block:44px 18px;display:grid;gap:30px}
.foot-grid{display:grid;gap:28px;grid-template-columns:1fr 1fr}
.foot-brand{grid-column:1/-1;display:grid;gap:12px;align-content:start;max-width:42ch}
@media (min-width:860px){.foot-grid{grid-template-columns:2fr 1fr}.foot-brand{grid-column:auto}}
.site-foot .logo{color:var(--foot-ink)}
.foot-brand p{color:var(--foot-muted);font-size:14px;line-height:1.6}
.foot-col{display:grid;gap:10px;align-content:start}
.foot-col h3{font-family:var(--f-body);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.09em;color:var(--foot-muted);margin-bottom:2px}
.foot-col a{color:var(--foot-ink);text-decoration:none;font-size:14px;width:fit-content}
.foot-col a:hover{text-decoration:underline;text-underline-offset:3px}
.foot-bar{display:flex;flex-wrap:wrap;gap:8px 18px;align-items:center;justify-content:space-between;border-top:1px solid var(--foot-line);padding-top:16px;font-size:12px;color:var(--foot-muted)}
.foot-bar a{color:var(--foot-muted)}
.legal{display:grid;gap:10px;font-size:14px;line-height:1.6}
.legal h3{font-size:15px;margin-top:6px}

/* dashboard & admin */
.dash-tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:none;margin-top:14px}
.dash-tabs::-webkit-scrollbar{display:none}
.dash-tabs button{border:0;background:transparent;padding:11px 12px;font-weight:800;color:var(--muted);border-bottom:2px solid transparent;cursor:pointer;white-space:nowrap;display:inline-flex;align-items:center;gap:6px}
.dash-tabs button.on{color:var(--ink);border-color:var(--brand)}
.order{border-left:5px solid var(--line)}
.order.st-baru{border-left-color:var(--bad)}
.order.st-siap{border-left-color:var(--ok)}
.admin-secs{display:grid;gap:10px;grid-template-columns:1fr}
@media (min-width:640px){.admin-secs{grid-template-columns:repeat(3,1fr)}}
.admin-sec{display:flex;gap:12px;align-items:center;text-align:left;font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:12px 14px;cursor:pointer;min-width:0}
.admin-sec>svg{color:var(--brand);flex:none}
.admin-sec .stack{flex:1}
.admin-sec.on{border-color:var(--brand);box-shadow:inset 0 0 0 1px var(--brand);background:var(--soft)}
.banner-note{padding:12px 14px;border-radius:var(--r);display:grid;gap:4px}
.banner-note.wait{background:var(--warn-bg);color:var(--warn)}
.banner-note.no{background:var(--bad-bg);color:var(--bad)}

/* Marketplace: kad partner (satu kad setiap partner) */
.pcard{gap:12px;padding:14px}
.pc-head{display:flex;align-items:center;gap:12px;width:100%;background:none;border:0;padding:0;font:inherit;color:var(--ink);text-align:left;cursor:pointer;min-width:0}
.pc-id{display:grid;gap:1px;min-width:0;flex:1}
.pc-id b{font-size:16px;line-height:1.25}
.pc-id .small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pc-items{display:grid;gap:2px;background:var(--soft);border-radius:14px;padding:4px}
.pc-item{display:flex;align-items:center;gap:10px;width:100%;border:0;background:none;font:inherit;color:var(--ink);text-align:left;cursor:pointer;padding:8px;border-radius:10px;min-width:0}
.pc-item:hover,.pc-item:focus-visible{background:var(--surface)}
.pc-item .thumb.sm{width:36px;height:36px;border-radius:10px;flex:none}
.pc-item .thumb.sm svg{width:18px;height:18px}
.pc-t{display:grid;gap:0;flex:1;min-width:0}
.pc-t b{font-size:14px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pc-t .small{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pc-p{display:grid;justify-items:end;gap:2px;flex:none;max-width:42%}
.pc-p .price{font-size:14px;white-space:nowrap}
.pc-p .price .small{font-family:var(--f-body);font-weight:500}
.pc-p .pill{font-size:11px;padding:1px 7px}
.pc-item.is-sold{opacity:.6}
.pc-item.is-sold .pc-t b{text-decoration:line-through}
.pc-more{border:0;background:none;font:inherit;font-size:13px;font-weight:700;color:var(--brand);padding:6px 8px;text-align:left;cursor:pointer}
.pc-foot{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto}
.pc-foot .btn{flex:1;justify-content:center}

/* Katalog Partner Marketplace */
.cat-sheet{gap:14px}
.cat-sheet::before{display:none}
.cat-hero{position:relative;margin:-10px calc(-1 * max(18px,env(safe-area-inset-left,0px))) 0;padding:22px 18px 18px;display:grid;gap:12px;color:#fff;
  background:radial-gradient(90% 120% at 90% 0%,rgba(240,179,60,.45),transparent 50%),linear-gradient(150deg,#1d8a69,#0e5846 55%,#08382c)}
@media (min-width:700px){.cat-hero{margin-top:-18px;border-radius:22px 22px 0 0}}
.cat-hero .thumb.lg{box-shadow:0 0 0 3px rgba(255,255,255,.85)}
.cat-name{font-size:clamp(20px,5vw,26px);line-height:1.15;color:#fff;margin:0;padding-right:40px}
.verified.on-dark{color:#bff5dd}
.cat-meta{display:flex;gap:16px;flex-wrap:wrap;font-size:13px;opacity:.9}
.cat-meta span{display:inline-flex;align-items:center;gap:5px}
.cat-meta .i{width:15px;height:15px}
.cat-acts{display:flex;gap:8px;flex-wrap:wrap}
.cat-acts .btn:not(.wa){background:rgba(255,255,255,.14);color:#fff;border-color:rgba(255,255,255,.25)}
.cat-grid{display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(min(100%,210px),1fr))}
.cat-item{display:grid;gap:6px;align-content:start;text-align:left;font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:12px;cursor:pointer;min-width:0;transition:transform .15s,box-shadow .15s}
.cat-item:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(0,0,0,.1)}
.cat-top{display:flex;justify-content:space-between;align-items:flex-start;gap:6px}
.cat-t{font-size:15px;line-height:1.3}
.cat-bot{display:flex;justify-content:space-between;align-items:flex-end;gap:8px;margin-top:4px;flex-wrap:wrap}
.cat-bot .price{font-size:16px}
.cat-bot .price .small{font-family:var(--f-body);font-weight:500}
.cat-item.is-sold{opacity:.65}
.cat-item.is-sold .cat-t{text-decoration:line-through}
.cat-hero > .row{padding-right:44px}
.cat-hero .eyebrow{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* Dashboard partner: pilih templat laman web */
.tpl-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr))}
.tpl-card{display:grid;gap:10px;align-content:start;border:1px solid var(--line);border-radius:18px;padding:12px;background:var(--surface)}
.tpl-card.on{border-color:var(--brand);box-shadow:inset 0 0 0 1px var(--brand)}
.tpl-mock{height:150px;border-radius:12px;overflow:hidden;display:grid;gap:6px;padding:12px;align-content:start;position:relative}
.tpl-mock i,.tpl-mock b,.tpl-mock s,.tpl-mock u{display:block;border-radius:6px;text-decoration:none}
.tpl-klasik{background:linear-gradient(#0e5846 0 46%,#f4f7f5 46%)}
.tpl-klasik i{width:34px;height:34px;border-radius:10px;background:#f0b33c}
.tpl-klasik b{width:60%;height:10px;background:#fff;margin-top:-30px;margin-left:44px}
.tpl-klasik s{width:38%;height:7px;background:rgba(255,255,255,.6);margin-left:44px}
.tpl-klasik u{height:18px;background:#fff;border:1px solid #e1e8e4}
.tpl-moden{background:radial-gradient(70% 60% at 90% 0%,rgba(240,179,60,.45),transparent 60%),#0b1411}
.tpl-moden i{width:30%;height:6px;background:#43b190;margin-top:8px}
.tpl-moden b{width:80%;height:18px;background:#eef6f2}
.tpl-moden s{width:45%;height:8px;background:#f0b33c}
.tpl-moden u{height:16px;background:#15241f;border:1px solid rgba(255,255,255,.1)}
.tpl-moden u:last-child{position:absolute;right:10px;bottom:10px;width:60px;height:18px;border-radius:999px;background:#1fa855;border:0}
.tpl-senarai{background:#fbf8f2;justify-items:center}
.tpl-senarai i{width:30%;height:5px;background:#8a7a5c}
.tpl-senarai b{width:60%;height:14px;background:#22201b}
.tpl-senarai s{width:100%;height:2px;background:#22201b}
.tpl-senarai u{width:100%;height:10px;background:repeating-linear-gradient(90deg,#22201b 0 30%,transparent 30% 72%,#22201b 72% 100%);opacity:.75}
