/* =====================================================================
 * silming-skin.css — Silming Master + Silming Housekeeper 共用皮肤（唯一来源）
 * 运行时由两边 Code.gs → Skin.gs 从 Google Drive 读取并注入 <style id="silming-skin">。
 * 改这一个文件（Drive 上同一个 file id）→ 等缓存过期（THEME_CACHE_SEC，默认 120 秒）或运行 clearSkinCache()
 * → 两个 APP 刷新即换肤，不用重新部署。
 *   [data-app="master"] = 白底 + Silming Inc 藏青/青/橙金（第 3 段在 master 作用域重定义 --sm-*，HK 不受影响）
 *   [data-app="hk"]     = Housekeeper v3.8 樱花粉 neumorphism（已含 v3.6.1 底 + v3.8 覆盖层）
 * 要统一两边长相：改下面 「0. 共用基础」 的变量，或把某段 hk 规则改成 master 的。
 * ===================================================================== */

/* ---------- 0. 共用基础（两边都生效；只放不改变现有外观的东西） ---------- */
:root{
  /* === 唯一设计语言：Housekeeper 深黑 + 樱花粉 哑光软塑料（改这里两边一起变） === */
  --sm-bg:#050505; --sm-surface:#0a0a0a; --sm-surface2:#121212;
  --sm-raise:linear-gradient(145deg,#161616,#0c0c0c);
  --sm-pink:#FFB7C5; --sm-pink2:#e594a7; --sm-pink-soft:#ffd3dc; --sm-pink-dim:#d99aaa;
  --sm-ink:#f5eef0; --sm-mute:#b09aa1; --sm-line:rgba(255,183,197,.16);
  --sm-glow1:rgba(255,150,180,.10); --sm-glow2:rgba(255,183,197,.06);
  --sm-nsh:-6px -6px 14px rgba(255,205,215,.10),7px 8px 16px rgba(60,46,52,.55),inset 0 1px 0 rgba(255,240,244,.08);
  --sm-nsh-s:-3px -3px 8px rgba(255,205,215,.08),4px 5px 10px rgba(60,46,52,.5);
  --sm-groove:inset 3px 3px 8px rgba(0,0,0,.55),inset -2px -2px 6px rgba(255,205,215,.06);
  --sm-sunk-bg:rgba(255,255,255,.025);
  --sm-data:rgba(0,0,0,.10);  /* 液态玻璃底色 10% */
  --sm-liq-blur:blur(28px) saturate(185%);
  --sm-liq-edge:1px solid rgba(255,183,197,.42);
  --sm-liq-shine:inset 0 1.5px 0 rgba(255,240,244,.55),inset 0 -1px 0 rgba(255,183,197,.18),inset 1px 0 0 rgba(255,255,255,.14),inset -1px 0 0 rgba(255,255,255,.06);
  --sm-liq-glow:0 12px 32px rgba(0,0,0,.5),0 0 28px rgba(255,183,197,.14);
  --sm-gedge:1px solid rgba(255,230,236,.14); --sm-gedge-b:rgba(255,235,240,.22);
  --sm-font:-apple-system,BlinkMacSystemFont,"PingFang SC","Helvetica Neue",Arial,sans-serif;
  --sm-radius-s:10px; --sm-radius-m:16px; --sm-radius-l:22px; --sm-radius-pill:999px;
  --sm-gap-s:8px; --sm-gap-m:12px; --sm-gap-l:20px;
}
html[data-app]{-webkit-text-size-adjust:100%}

/* ---------- 1. Master v3v ---------- */
html[data-app="master"]{color-scheme:light;
  --bg:#0c0a0b; --glow1:rgba(10,138,158,.20); --glow2:rgba(210,185,138,.16); --glow3:rgba(122,92,255,.18);
  --ink:#ffd7df; --ink2:#f4e9ea; --muted:#d6c2c6; --text:#f4e9ea;
  --accent:#f3dcae; --accent2:#d2b98a; --on-accent:#ffffff;
  --fill:linear-gradient(180deg,rgba(255,201,211,.30),rgba(255,201,211,.20));
  --ok:#7fd69a; --warn:#f2bf6e; --over:#9bb8e6; --bad:#ff8f84; --false:#b9b0b2;
  --glass:rgba(255,240,245,.06);
  --glass-strong:rgba(255,240,245,.10);
  --field:rgba(255,255,255,.05); --chip:rgba(255,255,255,.06); --hair:rgba(255,255,255,.08);
  --line:rgba(255,255,255,.14); --line-soft:rgba(255,255,255,.08);
  --edge:linear-gradient(135deg,rgba(255,255,255,.30),rgba(255,255,255,.04) 40%,rgba(10,138,158,.18) 70%,rgba(210,185,138,.20));
  --shadow:inset 0 1px 0 rgba(255,255,255,.12),0 10px 24px -14px rgba(0,0,0,.6);
  --solid:rgba(24,19,21,.94); --solid2:rgba(30,24,26,.96); --popup:#1c1618; --scrim:rgba(0,0,0,.6);
  --focus:rgba(10,138,158,.35); --r:22px;
  --spring:cubic-bezier(.34,1.56,.64,1);
  --gc:#ffe1e7;}
html[data-app="master"] *{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html[data-app="master"],html[data-app="master"] body{margin:0;min-height:100%;max-width:100%;overflow-x:hidden;overflow-x:clip;font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","PingFang SC","Noto Sans SC","Segoe UI",Roboto,sans-serif;color:var(--text);-webkit-font-smoothing:antialiased;background:var(--bg)}
html[data-app="master"] ::selection{background:rgba(210,185,138,.35)}
html[data-app="master"] *{scrollbar-color:rgba(10,138,158,.35) transparent}
html[data-app="master"] ::-webkit-scrollbar{width:8px;height:8px}
html[data-app="master"] ::-webkit-scrollbar-thumb{background:rgba(10,138,158,.3);border-radius:8px}
html[data-app="master"] ::-webkit-scrollbar-track{background:transparent}
html[data-app="master"] body{background:
  radial-gradient(700px 520px at 8% -8%, var(--glow1) 0%, transparent 62%),
  radial-gradient(620px 480px at 108% 22%, var(--glow2) 0%, transparent 60%),
  radial-gradient(760px 600px at 40% 118%, var(--glow3) 0%, transparent 60%),
  var(--bg);
  background-attachment:fixed; padding:max(12px,env(safe-area-inset-top)) 12px max(40px,env(safe-area-inset-bottom))}
html[data-app="master"] .blobs{position:fixed;inset:0;overflow:hidden;z-index:-1;pointer-events:none}
html[data-app="master"] .blob{position:absolute;border-radius:50%;filter:blur(60px);opacity:.45;z-index:-1;pointer-events:none;animation:float 18s ease-in-out infinite}
html[data-app="master"] .blob.a{width:300px;height:300px;background:#ff9ec4;opacity:.55;top:10%;left:-120px}
html[data-app="master"] .blob.b{width:240px;height:240px;background:#ffd28a;opacity:.55;bottom:4%;right:-110px;animation-delay:-6s}
@keyframes float{50%{transform:translate(20px,-16px) scale(1.05)}}
html[data-app="master"] .wrap{width:100%;max-width:560px;margin:0 auto;min-width:0}
html[data-app="master"] .glass{background:var(--glass);backdrop-filter:blur(6px) saturate(150%);-webkit-backdrop-filter:blur(6px) saturate(150%);
  border:1px solid var(--line-soft);border-radius:var(--r);box-shadow:var(--shadow);position:relative;min-width:0}
html[data-app="master"] .glass::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;pointer-events:none;
  background:var(--edge);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude}
html[data-app="master"] header.top{display:flex;align-items:center;gap:10px;padding:10px 12px;margin-bottom:12px}
html[data-app="master"] .brand{display:flex;align-items:center;gap:9px;font-weight:700;font-size:17px;color:var(--ink2)}
html[data-app="master"] .logo{width:30px;height:30px;border-radius:10px;background:linear-gradient(135deg,var(--ink),var(--accent2));box-shadow:0 4px 14px rgba(10,138,158,.25), inset 0 1px 0 rgba(255,255,255,.4)}
html[data-app="master"] .who{margin-left:auto;font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
html[data-app="master"] .nav{position:relative;display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:4px;padding:5px;border-radius:999px;background:rgba(255,255,255,.04);border:1px solid var(--line-soft);margin-bottom:12px}
html[data-app="master"] .nav button{position:relative;z-index:2;border:0;background:transparent;color:var(--ink2);font:600 15px/1 inherit;padding:11px 8px;border-radius:999px;cursor:pointer;white-space:nowrap;transition:color .25s}
html[data-app="master"] .nav button.on{color:var(--on-accent)}
html[data-app="master"] .lp{position:absolute;z-index:1;left:0;top:0;width:0;height:0;border-radius:999px;pointer-events:none;
  background:var(--fill);
  box-shadow:0 6px 18px rgba(0,0,0,.5), inset 0 1px 0 rgba(255,255,255,.45), inset 0 0 0 1px rgba(255,255,255,.2);
  transition:left .5s var(--spring), top .5s var(--spring), width .5s var(--spring), height .5s var(--spring), transform .25s}
html[data-app="master"] .lp.squish{transform:scale(.92,.82)}
html[data-app="master"] .panel{padding:14px;margin-bottom:12px}
html[data-app="master"] .label{font-size:12px;letter-spacing:.5px;color:var(--muted);margin:0 0 6px}
html[data-app="master"] h2{font-size:15px;margin:0 0 10px;color:var(--ink2)}
html[data-app="master"] select,html[data-app="master"] input,html[data-app="master"] textarea{width:100%;max-width:100%;min-width:0;font:16px/1.3 inherit;color:var(--ink);padding:12px 13px;border-radius:14px;border:1px solid var(--line);background:var(--field);box-shadow:inset 0 1px 0 rgba(10,138,158,.3);outline:none}
html[data-app="master"] select option,html[data-app="master"] select optgroup{background:var(--popup);color:var(--text)}
html[data-app="master"] input::placeholder,html[data-app="master"] textarea::placeholder{color:var(--muted);opacity:1}
html[data-app="master"] input[type=date]::-webkit-calendar-picker-indicator{filter:invert(.8) sepia(.3)}
html[data-app="master"] select:focus,html[data-app="master"] input:focus,html[data-app="master"] textarea:focus{box-shadow:0 0 0 4px var(--focus)}
html[data-app="master"] textarea{min-height:76px;resize:vertical}
html[data-app="master"] .pick{display:flex;gap:8px;align-items:center}
html[data-app="master"] .pick select{flex:1}
html[data-app="master"] .iconbtn{flex:none;width:46px;height:46px;border-radius:14px;border:1px solid var(--line);background:var(--field);font-size:20px;color:var(--ink);cursor:pointer}
html[data-app="master"] .iconbtn:active{transform:scale(.94)}
html[data-app="master"] .switch{display:inline-flex;align-items:center;gap:8px;cursor:pointer;color:var(--ink2);font-size:14px}
html[data-app="master"] .switch input{display:none}
html[data-app="master"] .switch i{width:44px;height:26px;border-radius:99px;background:rgba(142,135,137,.35);position:relative;transition:background .25s;flex:none}
html[data-app="master"] .switch i::after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:var(--text);box-shadow:0 2px 6px rgba(0,0,0,.4);transition:left .35s var(--spring)}
html[data-app="master"] .switch input:checked + i{background:var(--accent2)}
html[data-app="master"] .switch input:checked + i::after{left:21px}
html[data-app="master"] .cats{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;padding:6px;margin-top:12px;border-radius:20px;background:rgba(255,255,255,.04);border:1px solid var(--line-soft)}
html[data-app="master"] .cat{position:relative;z-index:2;display:block;min-width:0;border:0;margin:0;background:var(--chip);color:var(--ink2);font:600 13px/1.1 inherit;
  padding:10px 4px;border-radius:999px;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;transition:color .25s,background .25s,opacity .25s}
html[data-app="master"] .cat.on{color:var(--on-accent);background:transparent}
html[data-app="master"] .cat.empty{opacity:.5}
html[data-app="master"] .cat.more select{position:absolute;inset:0;width:100%;height:100%;opacity:0;font-size:16px;cursor:pointer;padding:0;border:0}
html[data-app="master"] .hero{padding:16px;margin-bottom:12px}
html[data-app="master"] .hero h1{margin:0;font-size:19px;line-height:1.3;color:var(--text);overflow-wrap:anywhere}
html[data-app="master"] .hero .sub{color:var(--muted);font-size:13px;margin-top:6px;overflow-wrap:anywhere}
html[data-app="master"] .chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}
html[data-app="master"] .chip{display:inline-flex;align-items:center;gap:4px;padding:4px 9px;border-radius:999px;font-size:12px;background:var(--chip);border:1px solid var(--line-soft);color:var(--ink2);text-decoration:none;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
html[data-app="master"] .due-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:center;padding:9px 10px;border-radius:14px;background:var(--chip);border:1px solid var(--line-soft);margin-top:6px;font-size:14px}
html[data-app="master"] .due-row .di{overflow-wrap:anywhere}
html[data-app="master"] .due-row .di small{color:var(--muted)}
html[data-app="master"] .due-row .dd{font-variant-numeric:tabular-nums;color:var(--ink2);font-size:13px}
html[data-app="master"] .due-row .dn{font-weight:700;font-size:13px;white-space:nowrap}
html[data-app="master"] .due-row.bad{background:rgba(229,120,111,.14)}
html[data-app="master"] .due-row.bad .dn{color:var(--bad)}
html[data-app="master"] .due-row.warn{background:rgba(227,168,87,.14)}
html[data-app="master"] .due-row.warn .dn{color:var(--warn)}
html[data-app="master"] .sec{margin:16px 0 8px;display:flex;align-items:center;gap:8px;font-weight:700;color:var(--ink2);font-size:15px}
html[data-app="master"] .sec .n{font-size:12px;font-weight:600;color:var(--muted);background:var(--chip);border-radius:99px;padding:2px 8px}
html[data-app="master"] .card{padding:12px 14px;margin-bottom:8px;animation:rise .4s cubic-bezier(.2,.8,.2,1) both}
@keyframes rise{from{opacity:0;transform:translateY(8px) scale(.985)}}
html[data-app="master"] .card h3{margin:0 0 6px;font-size:13px;color:var(--muted);font-weight:600;overflow-wrap:anywhere}
html[data-app="master"] .card .val{white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;font-size:15px;line-height:1.5;color:var(--text);cursor:copy}
html[data-app="master"] .card .val.empty{color:var(--muted);font-style:italic;cursor:default}
html[data-app="master"] .card .val a{color:var(--accent)}
html[data-app="master"] .card .meta{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px;font-size:11px;color:var(--muted)}
html[data-app="master"] .card.sens{border-color:rgba(229,120,111,.45)}
html[data-app="master"] .empty-state{padding:22px;text-align:center;color:var(--muted)}
html[data-app="master"] .loading{opacity:.55;pointer-events:none;transition:opacity .2s}
html[data-app="master"] .spin{width:18px;height:18px;border:2px solid rgba(10,138,158,.25);border-top-color:var(--accent);border-radius:50%;animation:sp .9s linear infinite;display:inline-block;vertical-align:-4px;margin-right:8px}
html[data-app="master"] .drop{display:grid;place-items:center;text-align:center;border:1.5px dashed var(--line);border-radius:18px;padding:14px;color:var(--ink2)}
html[data-app="master"] .pickrow{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px}
html[data-app="master"] .pickbtn{display:flex;align-items:center;justify-content:center;gap:6px;min-height:52px;padding:10px 8px;border-radius:16px;font:700 16px/1.2 inherit;cursor:pointer;text-align:center;color:var(--on-accent);background:var(--fill);box-shadow:0 8px 20px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,255,255,.4);-webkit-user-select:none;user-select:none}
html[data-app="master"] .pickbtn.alt{background:var(--field);color:var(--ink);box-shadow:none;border:1px solid var(--line)}
html[data-app="master"] .pickbtn:active{transform:scale(.97)}
html[data-app="master"] .rcard .rchead{display:flex;align-items:center;gap:10px;margin-bottom:8px}
html[data-app="master"] .rcard .rchead .rcstat{margin:0 auto 0 0}
html[data-app="master"] .btn.sm{padding:8px 12px;font-size:14px;border-radius:12px}
html[data-app="master"] .rcard.done{opacity:.7}
html[data-app="master"] #cards .rcard{margin-top:14px}
html[data-app="master"] .drop img{max-height:240px}
html[data-app="master"] .drop img{max-width:100%;max-height:300px;border-radius:12px}
html[data-app="master"] .steps{list-style:none;padding:0;margin:12px 0 0;display:grid;gap:8px}
html[data-app="master"] .steps li{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--muted)}
html[data-app="master"] .steps li .dot{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:12px;background:var(--chip);border:1px solid var(--line);flex:none}
html[data-app="master"] .steps li.run{color:var(--ink)}
html[data-app="master"] .steps li.run .dot{border:2px solid rgba(10,138,158,.25);border-top-color:var(--accent);animation:sp .9s linear infinite}
html[data-app="master"] .steps li.ok{color:var(--ok)}
html[data-app="master"] .steps li.ok .dot{background:var(--ok);color:var(--on-accent);border-color:var(--ok)}
html[data-app="master"] .steps li.err{color:var(--bad)}
html[data-app="master"] .steps li.err .dot{background:var(--bad);color:var(--on-accent);border-color:var(--bad)}
html[data-app="master"] .steps .t{margin-left:auto;font-variant-numeric:tabular-nums;font-size:12px}
html[data-app="master"] .bar{height:6px;border-radius:99px;background:rgba(255,255,255,.08);overflow:hidden;margin-top:12px}
html[data-app="master"] .bar i{display:block;height:100%;width:0;background:var(--fill);transition:width .4s}
html[data-app="master"] .form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}
html[data-app="master"] .form .full{grid-column:1/-1}
html[data-app="master"] .check{display:flex;align-items:center;gap:10px;font-size:15px}
html[data-app="master"] .check input{width:22px;height:22px;accent-color:var(--accent);flex:none}
html[data-app="master"] .btn{border:0;border-radius:16px;padding:14px 18px;font:700 16px/1 inherit;cursor:pointer;color:var(--on-accent);background:var(--fill);box-shadow:0 8px 20px rgba(0,0,0,.5), inset 0 1px 0 rgba(255,255,255,.4)}
html[data-app="master"] .btn:active{transform:scale(.97)}
html[data-app="master"] .btn[disabled]{opacity:.45;cursor:default}
html[data-app="master"] .btn.ghost{background:var(--field);color:var(--ink);box-shadow:none;border:1px solid var(--line)}
html[data-app="master"] .hint{font-size:13px;color:var(--muted);margin-top:8px}
html[data-app="master"] .toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%) translateY(30px);opacity:0;padding:12px 18px;border-radius:999px;background:#FFFFFF;border:1px solid var(--line-soft);color:var(--text);font-size:14px;transition:all .35s var(--spring);z-index:9;max-width:90vw;pointer-events:none}
html[data-app="master"] .toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
@media (min-width:900px){
  html[data-app="master"] body.wide .wrap{max-width:1180px}
}
html[data-app="master"] .payhero{padding:16px 18px;margin-bottom:12px}
html[data-app="master"] .payhero .k{font-size:13px;color:var(--muted)}
html[data-app="master"] .payhero .v{font-size:30px;font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:-.5px;color:var(--text)}
html[data-app="master"] .payhero .v.owe{color:var(--warn)}
html[data-app="master"] .payhero .v.over{color:var(--over)}
html[data-app="master"] .payhero .v.ok{color:var(--ok)}
html[data-app="master"] .payhero .sub{font-size:12px;color:var(--muted);line-height:1.5;margin-top:6px}
html[data-app="master"] .paytbl{padding:6px;margin-bottom:12px}
html[data-app="master"] #payScroll{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:16px;transition:transform .45s cubic-bezier(.34,1.56,.64,1),box-shadow .45s cubic-bezier(.34,1.56,.64,1);transform-origin:50% 100%}
html[data-app="master"] #payScroll.lift{transform:scale(1.07) translateY(-6px);box-shadow:inset 0 1px 0 rgba(10,138,158,.4),0 22px 48px rgba(0,0,0,.6);transition:transform .32s cubic-bezier(.34,1.56,.64,1),box-shadow .32s ease;will-change:transform;position:relative;z-index:20}
html[data-app="master"] #view-pay table{border-collapse:separate;border-spacing:0;width:100%;font-size:13px;font-variant-numeric:tabular-nums}
html[data-app="master"] #view-pay thead th{position:sticky;top:0;background:var(--solid);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--muted);font-weight:600;font-size:11px;text-align:right;padding:10px;white-space:nowrap;border-bottom:1px solid var(--line-soft)}
html[data-app="master"] #view-pay thead th span{display:block;font-weight:500}
html[data-app="master"] #view-pay thead th b{display:block;font-size:15px;color:var(--ink)}
html[data-app="master"] #view-pay thead th.corner{text-align:left;left:0;z-index:3;vertical-align:bottom}
html[data-app="master"] #view-pay thead th.now{background:rgba(143,116,72,.55)}
html[data-app="master"] #view-pay thead th.now b,html[data-app="master"] #view-pay thead th.now span{color:var(--text)}
html[data-app="master"] #view-pay tbody th{position:sticky;left:0;z-index:2;text-align:left;font-weight:600;color:var(--ink2);font-size:13px;padding:9px 10px;white-space:nowrap;background:var(--solid2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:1px 0 0 var(--line-soft);border-top:1px solid var(--hair)}
html[data-app="master"] #view-pay td{text-align:right;padding:9px 10px;min-width:92px;white-space:nowrap;color:var(--text);border-top:1px solid var(--hair)}
html[data-app="master"] #view-pay td small{display:block;font-size:10px;font-weight:600;opacity:.8}
html[data-app="master"] #view-pay td.strong{font-weight:700}
html[data-app="master"] #view-pay td.dash{color:var(--muted)}
html[data-app="master"] #view-pay td.owe{color:var(--warn);font-weight:700}
html[data-app="master"] #view-pay td.ok{color:var(--ok);font-weight:700}
html[data-app="master"] #view-pay td.over{color:var(--over);font-weight:600}
html[data-app="master"] #view-pay td[data-now]{background:rgba(210,185,138,.10)}
html[data-app="master"] #view-pay tr.line td,html[data-app="master"] #view-pay tr.line th,html[data-app="master"] #view-pay tr.final td,html[data-app="master"] #view-pay tr.final th{border-top:1.5px solid rgba(10,138,158,.30)}
html[data-app="master"] #view-pay tr.final th{font-weight:800}
html[data-app="master"] .paynote{font-size:11px;color:var(--muted);padding:6px 10px 0}
html[data-app="master"] .paynote:empty{display:none}
html[data-app="master"] .paylegend{display:flex;gap:12px;flex-wrap:wrap;font-size:11px;color:var(--muted);padding:8px 10px 4px}
html[data-app="master"] .paylegend i{font-style:normal;font-weight:700}
html[data-app="master"] .paylegend .lo{color:var(--warn)}
html[data-app="master"] .paylegend .lk{color:var(--ok)}
html[data-app="master"] .paylegend .lv{color:var(--over)}
html[data-app="master"] .scrub{position:sticky;bottom:calc(max(10px,env(safe-area-inset-bottom)) + 70px);z-index:6;height:30px;margin:10px 6px 0;touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab}
html[data-app="master"] .scrub.none{display:none}
html[data-app="master"] .scrub .trk{position:absolute;left:0;right:0;top:11px;height:8px;border-radius:8px;background:rgba(255,255,255,.06);-webkit-backdrop-filter:blur(12px) saturate(170%);backdrop-filter:blur(12px) saturate(170%);border:1px solid var(--line-soft);box-shadow:inset 0 1px 2px rgba(0,0,0,.4)}
html[data-app="master"] .scrub .thumb{position:absolute;top:4px;height:22px;border-radius:12px;background:linear-gradient(180deg,rgba(10,138,158,.55),rgba(10,138,158,.25));-webkit-backdrop-filter:blur(14px) saturate(180%);backdrop-filter:blur(14px) saturate(180%);border:1px solid rgba(10,138,158,.6);box-shadow:0 3px 10px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.35);transition:transform .3s cubic-bezier(.34,1.56,.64,1),box-shadow .3s}
html[data-app="master"] .scrub .thumb::after{content:"";position:absolute;left:50%;top:50%;width:18px;height:3px;margin:-1.5px 0 0 -9px;border-radius:2px;background:rgba(236,211,214,.6)}
html[data-app="master"] .scrub.on .thumb{transform:scaleY(1.15);box-shadow:0 6px 16px rgba(0,0,0,.55),inset 0 1px 0 rgba(255,255,255,.4)}
html[data-app="master"] .paybar{position:sticky;bottom:max(10px,env(safe-area-inset-bottom));display:flex;align-items:center;gap:10px;padding:8px;font-size:12px;color:var(--muted);z-index:7}
html[data-app="master"] .paybar .iconbtn{margin-left:auto}
html[data-app="master"] .paybar #payAt{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
html[data-app="master"] #yearSel{flex:0 0 auto;width:auto;min-width:104px;height:48px;padding:0 12px;border-radius:14px;font:600 16px/1 inherit;color:var(--ink);
 background:var(--field);border:1px solid var(--line);-webkit-backdrop-filter:blur(18px) saturate(170%);backdrop-filter:blur(18px) saturate(170%);
 box-shadow:inset 0 1px 0 rgba(10,138,158,.3),0 6px 18px rgba(0,0,0,.4)}
@media (min-width:900px){
  html[data-app="master"] .paybar{position:static}
  html[data-app="master"] #yearSel{height:36px;padding:0 26px 0 10px;font-size:14px;border-radius:10px}
  html[data-app="master"] #view-pay td{min-width:78px;padding-left:8px;padding-right:8px}
  html[data-app="master"] .scrub{position:relative;bottom:auto}
}
html[data-app="master"] .histbox h2{display:flex;align-items:center;gap:8px}
html[data-app="master"] .histsum{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin:2px 0 8px;font-size:13px;color:var(--muted)}
html[data-app="master"] .histsum b{font-size:22px;color:var(--text);font-variant-numeric:tabular-nums}
html[data-app="master"] .histsum .inc{color:var(--ok)}
html[data-app="master"] .hrec{padding:10px 0;border-top:1px solid var(--hair)}
html[data-app="master"] .hrec:first-child{border-top:0}
html[data-app="master"] .hrec .r1{display:flex;align-items:baseline;gap:8px;min-width:0}
html[data-app="master"] .hrec .r1 .lid{font-weight:700;color:var(--text);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}
html[data-app="master"] .hrec .r1 .a{font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}
html[data-app="master"] .hrec .r1 .a.in{color:var(--ok)}
html[data-app="master"] .hrec .r2{font-size:12px;color:var(--muted);margin-top:3px;display:flex;flex-wrap:wrap;gap:4px 10px}
html[data-app="master"] .hrec .desc{font-size:13px;color:var(--ink2);margin-top:4px;white-space:pre-wrap;overflow-wrap:anywhere;max-height:4.6em;overflow:hidden}
html[data-app="master"] .hrec .note{font-size:12px;color:var(--muted);margin-top:3px;overflow-wrap:anywhere}
html[data-app="master"] .hrec .atts{display:flex;flex-direction:column;gap:8px;width:100%;margin-top:8px}
html[data-app="master"] .hrec .atts button{width:100%;min-height:44px;border:0;background:none;padding:12px 14px;border-radius:12px;font:600 14px/1.2 inherit;color:var(--accent);text-decoration:none;text-align:center;cursor:pointer}
html[data-app="master"] .hrec .who{display:inline-block;padding:1px 7px;border-radius:999px;background:var(--chip);border:1px solid var(--line-soft);color:var(--ink2);font-size:11px}
html[data-app="master"] .histbar{display:flex;align-items:center;gap:10px;padding:8px;margin-top:10px;font-size:12px;color:var(--muted);z-index:7}
html[data-app="master"] .histbar #histState{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
html[data-app="master"] .histbar .iconbtn{margin-left:auto}
html[data-app="master"] #histMonth{flex:0 1 auto;width:auto;min-width:150px;height:48px;padding:0 12px;border-radius:14px;font:600 16px/1 inherit;color:var(--ink);
 background:var(--field);border:1px solid var(--line);-webkit-backdrop-filter:blur(18px) saturate(170%);backdrop-filter:blur(18px) saturate(170%);
 box-shadow:inset 0 1px 0 rgba(10,138,158,.3),0 6px 18px rgba(0,0,0,.4)}
@media (min-width:900px){
  html[data-app="master"] #histMonth{height:36px;padding:0 26px 0 10px;font-size:14px;border-radius:10px}
}
html[data-app="master"] .viewer{position:fixed;inset:0;z-index:50;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--scrim);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:max(14px,env(safe-area-inset-top)) 12px max(14px,env(safe-area-inset-bottom))}
html[data-app="master"] .viewer .stage{flex:1;min-height:0;width:100%;display:flex;align-items:center;justify-content:center;overflow:auto}
html[data-app="master"] .viewer img{max-width:100%;max-height:100%;object-fit:contain;border-radius:12px;box-shadow:0 10px 40px rgba(0,0,0,.6);background:#fff}
html[data-app="master"] .viewer .msg{color:var(--text);font-size:14px;text-align:center;padding:20px}
html[data-app="master"] .viewer .ctl{display:flex;align-items:center;gap:10px;margin-top:12px;width:100%;max-width:560px}
html[data-app="master"] .viewer .ctl button{height:48px;min-width:56px;border-radius:14px;border:1px solid var(--line);background:#FFFFFF;font:700 16px/1 inherit;color:var(--ink);cursor:pointer}
html[data-app="master"] .viewer .ctl button[disabled]{opacity:.35}
html[data-app="master"] .viewer .ctl .cnt{flex:1;text-align:center;color:var(--text);font-size:14px}
html[data-app="master"] .viewer .ctl .close{margin-left:auto}
html[data-app="master"] .hidden{display:none!important}
html[data-app="master"] .muted{color:var(--muted)}
@keyframes sp{to{transform:rotate(360deg)}}
@media (max-width:380px){
  html[data-app="master"] .form{grid-template-columns:minmax(0,1fr)}
  html[data-app="master"] .cat{font-size:12px}
}
html[data-app="master"] .blob.a{background:#e2b6bd;opacity:.35}
html[data-app="master"] .blob.b{background:#d2b98a;opacity:.32}
html[data-app="master"] .blob.c{width:260px;height:260px;background:#7a5cff;opacity:.30;bottom:-60px;left:-40px;animation-delay:-3s}
html[data-app="master"] .blob.d{width:200px;height:200px;background:#ff7aa8;opacity:.28;top:-60px;right:-40px;animation-delay:-9s}
html[data-app="master"] .glass{backdrop-filter:blur(18px) saturate(150%);-webkit-backdrop-filter:blur(18px) saturate(150%)}
html[data-app="master"] select,html[data-app="master"] input,html[data-app="master"] textarea{box-shadow:inset 0 1px 0 rgba(255,255,255,.06);color:var(--text)}
html[data-app="master"] input[type=date]::-webkit-calendar-picker-indicator{filter:invert(.9)}
html[data-app="master"] .toast{background:#FFFFFF;color:var(--text)}
html[data-app="master"] .switch i::after{background:#f4e9ea;box-shadow:0 2px 6px rgba(0,0,0,.5)}
html[data-app="master"] .nav,html[data-app="master"] .cats{background:rgba(255,240,245,.06);border-color:rgba(255,255,255,.08);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}
html[data-app="master"] .nav,html[data-app="master"] .lp{border-radius:14px}
html[data-app="master"] .nav button{border-radius:11px;color:#e6d6d9}
html[data-app="master"] .cats{border-radius:16px}
html[data-app="master"] .cat{border-radius:10px;color:#e8dadd;border:1px solid rgba(255,255,255,.18)}
html[data-app="master"] .nav button.on,html[data-app="master"] .cat.on{color:#fff;border-color:transparent;text-shadow:0 1px 2px rgba(0,0,0,.55)}
html[data-app="master"] .label,html[data-app="master"] .who,html[data-app="master"] .muted,html[data-app="master"] .hero .sub,html[data-app="master"] .card h3,html[data-app="master"] .hrec .r2,html[data-app="master"] .hrec .note,html[data-app="master"] .histbar{color:var(--muted)}
html[data-app="master"] .bar{background:rgba(255,255,255,.08)}
html[data-app="master"] .scrub .trk{background:rgba(255,255,255,.08);box-shadow:inset 0 1px 2px rgba(0,0,0,.4)}
html[data-app="master"] .scrub .thumb{box-shadow:0 3px 10px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,255,255,.3)}
html[data-app="master"] #view-pay thead th.now{background:rgba(10,138,158,.22)}
html[data-app="master"] #payScroll.lift{box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 22px 48px rgba(0,0,0,.6)}
html[data-app="master"] .viewer .ctl button{background:#FFFFFF;color:var(--text)}
html[data-app="master"] .lp,html[data-app="master"] .gbtn,html[data-app="master"] .btn,html[data-app="master"] .pickbtn,html[data-app="master"] .iconbtn,html[data-app="master"] #histMonth,html[data-app="master"] #yearSel{--c:var(--gc)}
html[data-app="master"] .btn,html[data-app="master"] .pickbtn,html[data-app="master"] .pickbtn.alt,html[data-app="master"] .iconbtn,html[data-app="master"] .gbtn,html[data-app="master"] #histMonth,html[data-app="master"] #yearSel,html[data-app="master"] .lp{border:0;color:var(--c);font-weight:700;
 text-shadow:0 1px 2px rgba(0,0,0,.55);
 background:linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.045));
 -webkit-backdrop-filter:blur(12px) saturate(150%);backdrop-filter:blur(12px) saturate(150%);
 box-shadow:inset 0 0 0 1px rgba(255,255,255,.22),inset 0 1px 0 0 rgba(255,255,255,.55),inset 1px 0 0 0 rgba(255,255,255,.18),inset -1px 0 0 0 rgba(255,255,255,.10),inset 0 -1px 0 0 color-mix(in srgb,var(--c) 45%,transparent),
  inset 0 0 0 3px rgba(255,255,255,.035),inset 0 2px 3px -1px rgba(255,255,255,.18),inset 0 -2px 3px -1px color-mix(in srgb,var(--c) 22%,transparent),
  0 1px 0 rgba(255,255,255,.05),0 6px 14px -8px rgba(0,0,0,.7);
 position:relative;isolation:isolate;overflow:hidden}
html[data-app="master"] .lp{position:absolute;background:var(--fill)}
html[data-app="master"] .btn,html[data-app="master"] .pickbtn,html[data-app="master"] .gbtn,html[data-app="master"] .iconbtn,html[data-app="master"] #histMonth,html[data-app="master"] #yearSel{border-radius:12px}
html[data-app="master"] .iconbtn{--c:#0B1F3A}
html[data-app="master"] .pickbtn.alt,html[data-app="master"] #btnLib,html[data-app="master"] #histMonth,html[data-app="master"] #yearSel{--c:#0B1F3A}
html[data-app="master"] .gbtn.vio{--c:#e2dbff}
html[data-app="master"] .btn.ghost{--c:#e4d3d6}
html[data-app="master"] .btn[disabled]{opacity:.7;filter:saturate(.4)}
html[data-app="master"] #histMonth,html[data-app="master"] #yearSel{appearance:none;-webkit-appearance:none;text-align:center;text-align-last:center}
html[data-app="master"] #histMonth option,html[data-app="master"] #yearSel option{color:var(--text);background:var(--popup)}

/* ---------- 2. Housekeeper v3.8 ---------- */
html[data-app="hk"]{color-scheme:dark;
--bg:#0c0a0b;--glow1:#4a2a31;--glow2:#3d3222;
--ink:#ecd3d6;--mute:#a8878c;--line:rgba(226,182,189,.25);
--b900:#e2b6bd;--b700:#d3a2aa;--b500:#a8878c;--b300:rgba(226,182,189,.4);--b200:#2a2023;--b100:rgba(255,255,255,.06);
--accent:#d2b98a;--accent2:#8f7448;--on-accent:#1a1410;--fill:linear-gradient(160deg,rgba(210,185,138,.85),rgba(176,146,94,.9));
--clean:#3a2a2d;--extra:#4a3e2a;--pend:#231c1e;--pend2:#151113;--owe:#e3a857;--ok:#8cc59a;--neg:#e5786f;
--s1:rgba(255,255,255,.04);--s2:rgba(255,255,255,.05);--field:rgba(255,255,255,.05);
--th:rgba(26,20,22,.94);--ln:rgba(20,15,17,.95);--lnh:rgba(32,24,27,.97);--tot:rgba(30,23,26,.96);--popup:#1a1416;
--glass:linear-gradient(155deg,rgba(255,255,255,.075) 0%,rgba(255,255,255,.015) 42%,rgba(255,255,255,.01) 60%,rgba(255,255,255,.045) 100%);
--edge:linear-gradient(135deg,rgba(226,182,189,.55),rgba(255,255,255,.04) 30%,rgba(210,185,138,.22) 55%,rgba(255,255,255,.03) 70%,rgba(226,182,189,.35));
--gsh:inset 0 1.5px 0 rgba(226,182,189,.45),inset 0 -1px 0 rgba(255,255,255,.06),inset 1px 0 0 rgba(255,255,255,.08),0 10px 30px rgba(0,0,0,.55);
--sh1:0 2px 8px rgba(0,0,0,.4);--sh2:0 8px 24px rgba(0,0,0,.5);
--gf:blur(5px) saturate(160%) brightness(1.04)}
html[data-app="hk"] *{box-sizing:border-box;min-width:0}
html[data-app="hk"],html[data-app="hk"] body{max-width:100%;overflow-x:hidden}
html[data-app="hk"] body{margin:0;font-family:-apple-system,system-ui,"PingFang SC",Roboto,sans-serif;background:transparent;color:var(--ink);font-size:15px;-webkit-font-smoothing:antialiased;min-height:100vh}
html[data-app="hk"] .bgfx{position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(120% 60% at 0% 0%,var(--glow1) 0%,transparent 60%),radial-gradient(90% 50% at 100% 30%,var(--glow2) 0%,transparent 60%),var(--bg)}
html[data-app="hk"] ::-webkit-scrollbar{width:10px;height:10px}
html[data-app="hk"] ::-webkit-scrollbar-track{background:transparent}
html[data-app="hk"] ::-webkit-scrollbar-thumb{background:rgba(226,182,189,.25);border-radius:8px;border:2px solid transparent;background-clip:padding-box}
html[data-app="hk"] *{scrollbar-color:rgba(226,182,189,.3) transparent}
html[data-app="hk"] header{position:fixed;top:0;left:0;right:0;z-index:0;pointer-events:none;padding:calc(env(safe-area-inset-top) + 18px) 18px 0;display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
html[data-app="hk"] header h1{font-size:13px;margin:0;font-weight:600;letter-spacing:.3px;color:var(--mute)}
html[data-app="hk"] header .hl{min-width:0;flex:1}
html[data-app="hk"] header .sub{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--b900);font-size:34px;font-weight:800;letter-spacing:-.3px;margin-top:2px;line-height:1.1;text-shadow:0 2px 14px rgba(0,0,0,.6)}
html[data-app="hk"] header #person{pointer-events:auto;margin-top:4px;max-width:44%;font-size:15px;padding:8px 10px;background:var(--b100);color:var(--b900);border:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
html[data-app="hk"] .wrap{padding:calc(env(safe-area-inset-top) + 98px) 12px 24px;width:100%;max-width:1100px;margin:0 auto;position:relative;z-index:2;pointer-events:none}
html[data-app="hk"] .wrap>*{pointer-events:auto}
html[data-app="hk"] .bar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px;padding:10px;border-radius:14px}
html[data-app="hk"] select,html[data-app="hk"] input,html[data-app="hk"] button,html[data-app="hk"] textarea{font-size:16px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--field);color:var(--b900);font-family:inherit}
html[data-app="hk"] select option,html[data-app="hk"] select optgroup{background:var(--popup);color:var(--ink)}
html[data-app="hk"] input::placeholder,html[data-app="hk"] textarea::placeholder{color:var(--mute);opacity:1}
html[data-app="hk"] input[type=date]::-webkit-calendar-picker-indicator{filter:invert(.85) sepia(.3) hue-rotate(300deg);opacity:.8}
html[data-app="hk"] select:focus,html[data-app="hk"] input:focus{outline:none;border-color:var(--b500);box-shadow:0 0 0 3px rgba(226,182,189,.18)}
html[data-app="hk"] button{background:var(--fill);color:var(--on-accent);border:1px solid rgba(210,185,138,.6);font-weight:600;box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 4px 12px rgba(0,0,0,.4);cursor:pointer}
html[data-app="hk"] button:active{transform:translateY(1px)}
html[data-app="hk"] button:disabled{opacity:.5}
html[data-app="hk"] .card,html[data-app="hk"] .box,html[data-app="hk"] .gridbox,html[data-app="hk"] .toprow .bar select,html[data-app="hk"] .sheet{background:var(--glass);-webkit-backdrop-filter:var(--gf);backdrop-filter:var(--gf);border:1px solid rgba(226,182,189,.3);box-shadow:var(--gsh);position:relative;isolation:isolate}
html[data-app="hk"] .card::after,html[data-app="hk"] .gridbox::after,html[data-app="hk"] .sheet::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:-1;padding:1.5px;background:var(--edge);
 -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude}
html[data-app="hk"] .card::before{content:"";position:absolute;left:8%;right:8%;top:0;height:40%;border-radius:inherit;pointer-events:none;background:linear-gradient(180deg,rgba(226,182,189,.14),rgba(255,255,255,0));opacity:.7;z-index:-1}
html[data-app="hk"] .cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:10px}
html[data-app="hk"] .card{border-radius:14px;padding:11px 12px}
html[data-app="hk"] .card .l{font-size:11px;color:var(--mute);letter-spacing:.2px}
html[data-app="hk"] .card .v{font-size:17px;font-weight:700;margin-top:3px;color:var(--ink);overflow-wrap:anywhere;white-space:nowrap}
html[data-app="hk"] .card.big{background:linear-gradient(155deg,rgba(143,116,72,.55),rgba(143,116,72,.25));grid-column:span 2}
html[data-app="hk"] .card.big .l{color:var(--ink);opacity:.85}
html[data-app="hk"] .card.big .v{color:var(--accent);font-size:24px;text-shadow:0 1px 8px rgba(0,0,0,.5)}
html[data-app="hk"] .cards .card{padding:10px 10px}
html[data-app="hk"] .cards .card .l{line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px}
html[data-app="hk"] .cards .card .v{font-size:16px;white-space:nowrap;letter-spacing:-.2px}
html[data-app="hk"] .cards .card.due{grid-column:auto}
html[data-app="hk"] .cards .card.due .v{font-size:18px}
html[data-app="hk"] .cards .card.lp .v{font-size:14px}
html[data-app="hk"] .gridbox{max-width:100%;overflow:auto;-webkit-overflow-scrolling:touch;border-radius:16px;max-height:none;transition:transform .45s cubic-bezier(.34,1.56,.64,1),box-shadow .45s cubic-bezier(.34,1.56,.64,1);transform-origin:50% 100%}
html[data-app="hk"] .gridbox.lift{transform:scale(1.07) translateY(-6px);box-shadow:var(--gsh),0 22px 48px rgba(0,0,0,.6);transition:transform .32s cubic-bezier(.34,1.56,.64,1),box-shadow .32s ease;will-change:transform;position:relative;z-index:20}
html[data-app="hk"] table{border-collapse:separate;border-spacing:0;font-size:12px;white-space:nowrap}
html[data-app="hk"] th,html[data-app="hk"] td{min-width:36px;border-right:1px solid var(--b100);border-bottom:1px solid var(--b100);padding:6px 6px;text-align:right}
html[data-app="hk"] #grid th,html[data-app="hk"] #grid td{padding-top:9px;padding-bottom:9px}
html[data-app="hk"] th{background:var(--th);color:var(--b700);font-weight:600;position:sticky;top:0;z-index:2}
html[data-app="hk"] th.we{color:var(--b500)}
html[data-app="hk"] td{background:rgba(255,255,255,.025);color:var(--ink)}
html[data-app="hk"] td.ln,html[data-app="hk"] th.ln{text-align:left;position:sticky;left:0;background:var(--ln);z-index:3;min-width:86px;max-width:120px;overflow:hidden;text-overflow:ellipsis;box-shadow:2px 0 4px rgba(0,0,0,.35);font-weight:600;color:var(--b900)}
html[data-app="hk"] th.ln{z-index:4;background:var(--lnh)}
html[data-app="hk"] td.b{background:var(--clean);color:var(--ink)}
html[data-app="hk"] td.x{background:var(--extra);color:var(--ink)}
html[data-app="hk"] td.bx{background:linear-gradient(135deg,var(--clean) 50%,var(--extra) 50%)}
html[data-app="hk"] td.neg{color:var(--neg);font-weight:700}
html[data-app="hk"] td.p{background:repeating-linear-gradient(45deg,var(--pend),var(--pend) 4px,var(--pend2) 4px,var(--pend2) 8px);color:var(--owe);font-weight:700;outline:1px dashed rgba(227,168,87,.6);outline-offset:-3px}
html[data-app="hk"] tr.tot td,html[data-app="hk"] tr.tot td.ln{font-weight:700;font-size:13px;background:var(--tot);color:var(--b900);border-top:2px solid rgba(226,182,189,.45);border-bottom:none}
html[data-app="hk"] tr.tot td.neg{color:var(--neg)}
html[data-app="hk"] .legend{font-size:12px;margin:8px 4px 16px;color:var(--mute)}
html[data-app="hk"] .legend span{display:inline-block;width:12px;height:12px;border-radius:4px;vertical-align:-2px;margin:0 4px 0 10px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.12)}
html[data-app="hk"] .legend .lg-c{background:var(--clean)}
html[data-app="hk"] .legend .lg-x{background:var(--extra)}
html[data-app="hk"] .legend .lg-p{background:var(--pend);outline:1px dashed rgba(227,168,87,.6)}
@media(min-width:1100px){
  html[data-app="hk"] .wrap{max-width:1340px}
  html[data-app="hk"] #grid{width:100%}
  html[data-app="hk"] #grid th,html[data-app="hk"] #grid td{padding:5px 3px;min-width:30px;font-size:12px}
  html[data-app="hk"] #grid td.ln,html[data-app="hk"] #grid th.ln{min-width:96px;max-width:130px}
  html[data-app="hk"] #grid th,html[data-app="hk"] #grid td{padding-top:9px;padding-bottom:9px}
}
html[data-app="hk"] .scrub{position:relative;height:30px;margin:12px 6px 0;touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab}
html[data-app="hk"] .scrub .trk{position:absolute;left:0;right:0;top:11px;height:8px;border-radius:8px;background:var(--b100);border:1px solid var(--line);box-shadow:inset 0 1px 2px rgba(0,0,0,.4)}
html[data-app="hk"] .scrub .thumb{position:absolute;top:4px;height:22px;border-radius:12px;background:linear-gradient(180deg,rgba(226,182,189,.55),rgba(226,182,189,.25));-webkit-backdrop-filter:blur(14px) saturate(180%);backdrop-filter:blur(14px) saturate(180%);border:1px solid rgba(226,182,189,.6);box-shadow:0 3px 10px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,255,255,.3);transition:transform .3s cubic-bezier(.34,1.56,.64,1),box-shadow .3s}
html[data-app="hk"] .scrub .thumb::after{content:"";position:absolute;left:50%;top:50%;width:18px;height:3px;margin:-1.5px 0 0 -9px;border-radius:2px;background:rgba(26,20,16,.55)}
html[data-app="hk"] .scrub.on .thumb{transform:scaleY(1.15);box-shadow:0 6px 16px rgba(0,0,0,.6),inset 0 1px 0 rgba(255,255,255,.3)}
html[data-app="hk"] .scrub .lab{position:absolute;top:-2px;font-size:10px;color:var(--mute)}
html[data-app="hk"] .box{border-radius:16px;padding:14px;margin-top:14px}
html[data-app="hk"] .box h2{font-size:15px;margin:0 0 10px;color:var(--b900);font-weight:650}
html[data-app="hk"] .form{display:grid;gap:10px}
html[data-app="hk"] .form label{font-size:12px;color:var(--mute)}
html[data-app="hk"] .list input{max-width:100%}
html[data-app="hk"] .list div{border-bottom:1px solid var(--b100);padding:8px 0;font-size:13px}
html[data-app="hk"] .list div:last-child{border-bottom:none}
html[data-app="hk"] .msg{padding:9px 11px;border-radius:10px;margin:8px 0;font-size:14px}
html[data-app="hk"] .ok{background:rgba(140,197,154,.14);color:var(--ok)}
html[data-app="hk"] .err{background:rgba(229,120,111,.14);color:var(--neg)}
html[data-app="hk"] .muted{color:var(--mute);font-size:12px}
html[data-app="hk"] .xrow{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
html[data-app="hk"] .xrow .t{flex:1;min-width:180px}
html[data-app="hk"] .mini{font-size:13px;padding:6px 10px;border-radius:8px;box-shadow:none}
html[data-app="hk"] .mini.ghost,html[data-app="hk"] .mini.del,html[data-app="hk"] .shead .x{background:var(--s2);color:var(--b900);border:1px solid var(--line)}
html[data-app="hk"] .mini.del{color:var(--neg)}
html[data-app="hk"] .toprow{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px;align-items:stretch}
html[data-app="hk"] .toprow .bar{margin:0;padding:0;height:48px;display:flex;align-items:center;flex-wrap:nowrap;background:none;box-shadow:none;border:0}
html[data-app="hk"] .toprow .bar select{width:100%;height:48px;padding:0 12px;border-radius:14px;color:var(--b900);font-weight:600}
html[data-app="hk"] .addx{font:inherit;font-weight:700;font-size:15px;color:var(--on-accent);background:var(--fill);border:1px solid rgba(210,185,138,.6);border-radius:14px;height:48px;padding:0 10px;display:flex;align-items:center;justify-content:center;gap:6px;cursor:pointer;box-shadow:inset 0 1.5px 0 rgba(255,255,255,.3),0 8px 22px rgba(0,0,0,.45)}
html[data-app="hk"] .addx .plus{font-size:20px;line-height:1}
html[data-app="hk"] .addx:disabled{opacity:.45}
html[data-app="hk"] .ovl{position:fixed;inset:0;z-index:50;background:rgba(0,0,0,0);display:flex;align-items:flex-end;justify-content:center;visibility:hidden;transition:background .3s,visibility 0s .35s}
html[data-app="hk"] .ovl.open{visibility:visible;background:rgba(0,0,0,.55);transition:background .3s}
html[data-app="hk"] .sheet{width:100%;max-width:560px;margin:0;border-radius:24px 24px 0 0;padding:10px 16px calc(env(safe-area-inset-bottom) + 18px);background:linear-gradient(160deg,rgba(32,24,27,.92),rgba(20,15,17,.94));-webkit-backdrop-filter:blur(12px) saturate(170%);backdrop-filter:blur(12px) saturate(170%);transform:translateY(105%);transition:transform .42s cubic-bezier(.32,1.25,.5,1);max-height:92vh;overflow:auto}
html[data-app="hk"] .ovl.open .sheet{transform:none}
html[data-app="hk"] .grab{width:40px;height:5px;border-radius:3px;background:rgba(226,182,189,.3);margin:0 auto 8px}
html[data-app="hk"] .shead{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
html[data-app="hk"] .shead h2{margin:0}
html[data-app="hk"] .shead .x{padding:6px 11px;border-radius:20px;font-size:14px;box-shadow:none}
html[data-app="hk"] body.noscroll{overflow:hidden}
html[data-app="hk"] .skel{display:block;height:58px;border-radius:16px;background:linear-gradient(90deg,rgba(255,255,255,.04),rgba(255,255,255,.1),rgba(255,255,255,.04));background-size:200% 100%;animation:sk 1.2s linear infinite}
@keyframes sk{0%{background-position:200% 0}100%{background-position:-200% 0}}
@media(max-width:420px){
  html[data-app="hk"] .card{padding:10px}
  html[data-app="hk"] .card .v{font-size:15px}
  html[data-app="hk"] .card.big .v{font-size:22px}
}
@media(min-width:800px){
  html[data-app="hk"] .card.big{grid-column:span 1}
  html[data-app="hk"] .ovl{align-items:center}
  html[data-app="hk"] .sheet{border-radius:24px;transform:translateY(30px) scale(.96);opacity:0;transition:transform .35s cubic-bezier(.32,1.25,.5,1),opacity .25s}
  html[data-app="hk"] .ovl.open .sheet{transform:none;opacity:1}
  html[data-app="hk"] header .sub{font-size:40px}
  html[data-app="hk"] .cards .card .v{font-size:20px}
  html[data-app="hk"] .cards .card.due .v{font-size:24px}
  html[data-app="hk"] .cards .card.lp .v{font-size:19px}
  html[data-app="hk"] .cards .card .l{font-size:12px}
}
@media(max-width:360px){
  html[data-app="hk"] .cards .card .v{font-size:14px}
  html[data-app="hk"] .cards .card.lp .v{font-size:12.5px}
}
@media(min-width:1100px){
  html[data-app="hk"] .sumrow{display:grid;gap:10px;align-items:stretch;margin-bottom:14px;grid-template-columns:repeat(4,minmax(0,1fr))}
  html[data-app="hk"] .sumrow .cards,html[data-app="hk"] .sumrow .toprow{display:contents}
  html[data-app="hk"] .sumrow .card{margin:0}
  html[data-app="hk"] .sumrow .toprow .bar,html[data-app="hk"] .sumrow .toprow .addx{align-self:center;height:36px}
  html[data-app="hk"] .sumrow .toprow .bar{width:100%}
  html[data-app="hk"] .sumrow .toprow .bar select{height:36px;width:100%;padding:0 26px 0 10px;font-size:14px;border-radius:10px}
  html[data-app="hk"] .sumrow .toprow .addx{width:100%;padding:0 12px;font-size:14px;border-radius:10px;white-space:nowrap}
  html[data-app="hk"] .sumrow .toprow .addx .plus{font-size:16px}
  html[data-app="hk"] .sumrow .card .v{white-space:nowrap}
}
@media(min-width:1280px){
  html[data-app="hk"] .sumrow{grid-template-columns:repeat(6,minmax(0,1fr)) auto auto}
  html[data-app="hk"] .sumrow .toprow .bar,html[data-app="hk"] .sumrow .toprow .addx{width:auto}
  html[data-app="hk"] .sumrow .card .v{font-size:18px}
  html[data-app="hk"] .sumrow .card.due .v{font-size:22px}
  html[data-app="hk"] .sumrow .card.lp .v{font-size:17px}
}
html[data-app="hk"]{--bg:var(--sm-bg);--glow1:var(--sm-glow1);--glow2:var(--sm-glow2);
--ink:var(--sm-ink);--mute:var(--sm-mute);--line:var(--sm-line);
--b900:var(--sm-pink);--b700:#ffc9d4;--b500:#c99aa6;--b300:rgba(255,183,197,.4);--b200:#141012;--b100:rgba(255,255,255,.05);
--accent:var(--sm-pink);--accent2:var(--sm-pink2);--on-accent:var(--sm-pink);--fill:linear-gradient(145deg,#191919,#0e0e0e);
--clean:#2a1a20;--extra:#1f1a24;--pend:#141012;--pend2:#0a0809;
--th:var(--sm-surface);--ln:var(--sm-surface);--lnh:#0c0c0c;--tot:#0e0b0c;--popup:var(--sm-surface2);
--raise:var(--sm-raise);--nsh:var(--sm-nsh);--groove:var(--sm-groove);--gedge:var(--sm-gedge)}
html[data-app="hk"] .bgfx{background:radial-gradient(circle at 85% 20%,var(--glow1),transparent 40%),radial-gradient(circle at 10% 70%,var(--glow2),transparent 40%),#050505}
html[data-app="hk"] .card,html[data-app="hk"] .box,html[data-app="hk"] .sheet{background:var(--sm-data)!important;-webkit-backdrop-filter:var(--sm-liq-blur)!important;backdrop-filter:var(--sm-liq-blur)!important;border:var(--sm-liq-edge)!important;box-shadow:var(--sm-liq-shine),var(--sm-liq-glow)!important}
html[data-app="hk"] .bar{background:var(--raise)!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;border:0!important;box-shadow:var(--nsh)!important}
html[data-app="hk"] .card::before,html[data-app="hk"] .card::after,html[data-app="hk"] .gridbox::after,html[data-app="hk"] .sheet::after{display:none!important}
html[data-app="hk"] .card.big{background:var(--sm-data)!important}
html[data-app="hk"] .card.big .v{color:#FFB7C5;text-shadow:none}
html[data-app="hk"] .card .v{color:#ffd3dc}
html[data-app="hk"] .card .l{color:var(--mute)}
html[data-app="hk"] .gridbox{background:var(--sm-data)!important;-webkit-backdrop-filter:var(--sm-liq-blur)!important;backdrop-filter:var(--sm-liq-blur)!important;border:var(--sm-liq-edge)!important;box-shadow:var(--sm-liq-shine),var(--sm-liq-glow)!important;scrollbar-width:none}
html[data-app="hk"] .gridbox::-webkit-scrollbar{display:none;width:0;height:0}
html[data-app="hk"] .gridbox.lift{box-shadow:var(--groove),0 18px 40px rgba(60,46,52,.5)!important}
html[data-app="hk"] th{background:var(--th);color:#FFB7C5;border-bottom:1px solid rgba(255,183,197,.45)}
html[data-app="hk"] th.we{color:#d99aaa}
html[data-app="hk"] td{background:transparent;color:var(--ink)}
html[data-app="hk"] td.b,html[data-app="hk"] td.x,html[data-app="hk"] td.bx{color:#FFB7C5;font-weight:600}
html[data-app="hk"] td.ln,html[data-app="hk"] th.ln{color:#ffd3dc;font-weight:500;letter-spacing:.02em;box-shadow:2px 0 6px rgba(0,0,0,.5);text-decoration:underline;text-decoration-color:rgba(255,183,197,.7);text-decoration-thickness:1.5px;text-underline-offset:4px}
html[data-app="hk"] tr.tot td,html[data-app="hk"] tr.tot td.ln{color:#FFB7C5;border-top:2px solid rgba(255,183,197,.55);text-decoration:none}
html[data-app="hk"] .legend{color:#FFB7C5}
html[data-app="hk"] .legend span{box-shadow:none}
html[data-app="hk"] .legend .lg-c{background:#FFB7C5}
html[data-app="hk"] select,html[data-app="hk"] .toprow .bar select,html[data-app="hk"] header #person{background:var(--raise)!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;color:#FFB7C5!important;border:0!important;box-shadow:var(--nsh)!important}
html[data-app="hk"] select:focus,html[data-app="hk"] select:active{box-shadow:var(--groove)!important;border:var(--gedge)!important;border-bottom-color:rgba(255,235,240,.22)!important;background:rgba(255,255,255,.025)!important}
html[data-app="hk"] input,html[data-app="hk"] textarea{background:rgba(255,255,255,.025);border:var(--gedge);box-shadow:var(--groove);color:var(--ink)}
html[data-app="hk"] input:focus,html[data-app="hk"] textarea:focus{border-color:rgba(255,183,197,.35);box-shadow:var(--groove)}
html[data-app="hk"] button,html[data-app="hk"] .addx{background:var(--raise)!important;color:#FFB7C5!important;border:0!important;box-shadow:var(--nsh)!important}
html[data-app="hk"] button:active,html[data-app="hk"] .addx:active{transform:none;background:rgba(255,255,255,.025)!important;border:var(--gedge)!important;border-bottom-color:rgba(255,235,240,.22)!important;box-shadow:var(--groove)!important}
html[data-app="hk"] .mini{box-shadow:-3px -3px 8px rgba(255,205,215,.08),4px 5px 10px rgba(60,46,52,.5)!important}
html[data-app="hk"] .mini.del{color:var(--neg)!important}
html[data-app="hk"] .scrub .trk{background:rgba(255,255,255,.025);border:var(--gedge);box-shadow:var(--groove)}
html[data-app="hk"] .scrub .thumb{background:var(--raise);-webkit-backdrop-filter:none;backdrop-filter:none;border:0;box-shadow:-4px -4px 9px rgba(255,205,215,.12),5px 6px 11px rgba(60,46,52,.6)}
html[data-app="hk"] .scrub .thumb::after{background:#FFB7C5}
html[data-app="hk"] .scrub.on .thumb{box-shadow:-4px -4px 9px rgba(255,205,215,.14),6px 8px 14px rgba(60,46,52,.65)}
html[data-app="hk"] .scrub .lab{color:#FFB7C5}
html[data-app="hk"] header .sub{color:#FFB7C5;text-shadow:none}
html[data-app="hk"] header h1{color:var(--mute)}
html[data-app="hk"] .box h2{color:#FFB7C5}

/* ---------- 3. Master → 白底 + Silming Inc 标志色（藏青 / 青 / 橙金），无边框 + 柔和投影（v3ak） ---------- */
html[data-app="master"]{color-scheme:light;
--sm-bg:#F5F6F8;--sm-surface:#FFFFFF;--sm-surface2:#F0F3F7;--sm-raise:#FFFFFF;
--sm-pink:#0B1F3A;--sm-pink2:#0A8A9E;--sm-pink-soft:#0A8A9E;--sm-pink-dim:#6B7C93;
--sm-ink:#0B1F3A;--sm-mute:#6B7C93;--sm-line:rgba(11,31,58,.08);--sm-teal:#0A8A9E;--sm-orange:#F5A623;
--sm-glow1:transparent;--sm-glow2:transparent;
--sm-nsh:0 8px 24px rgba(15,30,60,.08);--sm-nsh-s:0 2px 8px rgba(15,30,60,.08);
--sm-groove:inset 0 1px 3px rgba(15,30,60,.08);--sm-sunk-bg:#EEF1F5;
--sm-data:#FFFFFF;--sm-liq-blur:none;--sm-liq-edge:0;--sm-liq-shine:0 0 0 transparent;--sm-liq-glow:0 8px 24px rgba(15,30,60,.08);
--sm-gedge:0;--sm-gedge-b:transparent;
--bg:var(--sm-bg);--glow1:transparent;--glow2:transparent;--glow3:transparent;
--ink:var(--sm-ink);--ink2:var(--sm-ink);--muted:var(--sm-mute);--text:var(--sm-ink);
--accent:var(--sm-orange);--accent2:var(--sm-teal);--on-accent:#FFFFFF;
--fill:var(--sm-teal);--glass:#FFFFFF;--glass-strong:#FFFFFF;
--field:var(--sm-sunk-bg);--chip:var(--sm-surface2);--hair:var(--sm-line);--line:var(--sm-line);--line-soft:var(--sm-line);
--edge:none;--shadow:var(--sm-nsh);--solid:#FFFFFF;--solid2:#FFFFFF;--popup:#FFFFFF;--scrim:rgba(11,31,58,.45);
--focus:rgba(10,138,158,.25);--gc:var(--sm-teal);
--ok:#1E9E6A;--warn:#C77700;--over:#2F6FB5;--bad:#D64545;--false:#8A97A8}
html[data-app="master"] ::selection{background:rgba(10,138,158,.2)}
html[data-app="master"] body{background:radial-gradient(circle at 85% 20%,var(--sm-glow1),transparent 40%),radial-gradient(circle at 10% 70%,var(--sm-glow2),transparent 40%),var(--sm-bg)!important}
html[data-app="master"] .blobs,html[data-app="master"] .blob{display:none!important}
/* 面板/卡片：液态玻璃 10% */
html[data-app="master"] .glass,html[data-app="master"] .card,html[data-app="master"] .rcard,html[data-app="master"] .payhero,html[data-app="master"] .due-row{background:var(--sm-data)!important;-webkit-backdrop-filter:var(--sm-liq-blur)!important;backdrop-filter:var(--sm-liq-blur)!important;border:var(--sm-liq-edge)!important;box-shadow:var(--sm-liq-shine),var(--sm-liq-glow)!important}
html[data-app="master"] .toast{background:var(--sm-raise)!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;border:0!important;box-shadow:var(--sm-nsh)!important}
html[data-app="master"] .hrec{background:transparent!important;box-shadow:none!important}
html[data-app="master"] .glass::before,html[data-app="master"] .glass::after,html[data-app="master"] .card::before,html[data-app="master"] .card::after{display:none!important}
html[data-app="master"] .logo{background:var(--sm-raise);box-shadow:var(--sm-nsh-s)}
html[data-app="master"] h2,html[data-app="master"] .hero h1,html[data-app="master"] .brand,html[data-app="master"] .card h3,html[data-app="master"] .sec .n{color:var(--sm-pink)!important;text-shadow:none}
html[data-app="master"] .card .val a{color:var(--sm-pink-soft);text-decoration:underline;text-decoration-color:rgba(10,138,158,.6);text-underline-offset:4px}
/* 真按钮：凸起；按下/选中：凹陷 */
html[data-app="master"] .btn,html[data-app="master"] .pickbtn,html[data-app="master"] .gbtn,html[data-app="master"] .iconbtn,html[data-app="master"] #histMonth,html[data-app="master"] #yearSel,html[data-app="master"] .viewer .ctl button,html[data-app="master"] .hrec .atts button,html[data-app="master"] .chip{background:var(--sm-raise)!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;color:var(--sm-pink)!important;border:0!important;box-shadow:var(--sm-nsh)!important;text-shadow:none!important}
html[data-app="master"] .btn.sm,html[data-app="master"] .chip,html[data-app="master"] .hrec .atts button{box-shadow:var(--sm-nsh-s)!important}
html[data-app="master"] .btn::before,html[data-app="master"] .btn::after,html[data-app="master"] .pickbtn::before,html[data-app="master"] .pickbtn::after,html[data-app="master"] .gbtn::before,html[data-app="master"] .gbtn::after,html[data-app="master"] .iconbtn::before,html[data-app="master"] .iconbtn::after{display:none!important}
html[data-app="master"] .btn:active,html[data-app="master"] .pickbtn:active,html[data-app="master"] .gbtn:active,html[data-app="master"] .iconbtn:active,html[data-app="master"] .viewer .ctl button:active{transform:none!important;background:var(--sm-sunk-bg)!important;border:var(--sm-gedge)!important;border-bottom-color:var(--sm-gedge-b)!important;box-shadow:var(--sm-groove)!important}
html[data-app="master"] .btn[disabled],html[data-app="master"] .viewer .ctl button[disabled]{opacity:.45}
/* 顶部 Tab / 分类：槽是凹的，选中项凹陷压入，未选中平；颜色区分选中 */
html[data-app="master"] .nav{background:var(--sm-data)!important;border:var(--sm-liq-edge)!important;box-shadow:var(--sm-liq-shine),var(--sm-liq-glow)!important;-webkit-backdrop-filter:var(--sm-liq-blur)!important;backdrop-filter:var(--sm-liq-blur)!important}
html[data-app="master"] .cats{background:transparent!important;border:0!important;box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
html[data-app="master"] .nav button,html[data-app="master"] .cat{color:var(--sm-mute)!important;background:transparent!important;border:0!important;box-shadow:none!important}
html[data-app="master"] .nav button.on{color:var(--sm-orange)!important}
html[data-app="master"] .cat.on{color:var(--sm-teal)!important}
html[data-app="master"] .lp{background:var(--sm-sunk-bg)!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;border:var(--sm-gedge)!important;border-bottom-color:var(--sm-gedge-b)!important;box-shadow:var(--sm-groove)!important}
html[data-app="master"] .lp::before,html[data-app="master"] .lp::after{display:none!important}
/* 输入框：凹槽 */
html[data-app="master"] select,html[data-app="master"] input,html[data-app="master"] textarea{background:var(--sm-sunk-bg);border:var(--sm-gedge);box-shadow:var(--sm-groove);color:var(--sm-ink)}
html[data-app="master"] select{color:var(--sm-pink)}
html[data-app="master"] select:focus,html[data-app="master"] input:focus,html[data-app="master"] textarea:focus{border-color:rgba(10,138,158,.45);box-shadow:var(--sm-groove)}
html[data-app="master"] .switch i{background:var(--sm-sunk-bg);box-shadow:var(--sm-groove)}
html[data-app="master"] .switch input:checked + i{background:rgba(10,138,158,.45)}
html[data-app="master"] .switch i::after{background:var(--sm-pink)}
/* 付款表：同 HK 月表 */
html[data-app="master"] #payScroll{background:var(--sm-data)!important;-webkit-backdrop-filter:var(--sm-liq-blur)!important;backdrop-filter:var(--sm-liq-blur)!important;border:var(--sm-liq-edge)!important;box-shadow:var(--sm-liq-shine),var(--sm-liq-glow)!important;scrollbar-width:none}
html[data-app="master"] #payScroll::-webkit-scrollbar{display:none;width:0;height:0}
html[data-app="master"] #payScroll.lift{box-shadow:var(--sm-liq-shine),var(--sm-liq-glow),0 18px 40px rgba(15,30,60,.14)!important}
html[data-app="master"] #view-pay thead th,html[data-app="master"] #view-pay tbody th{background:var(--sm-surface)!important;color:var(--sm-pink)}
html[data-app="master"] #view-pay thead th{border-bottom:1px solid rgba(11,31,58,.12)}
html[data-app="master"] #view-pay tbody th{color:var(--sm-pink-soft);text-decoration:underline;text-decoration-color:rgba(10,138,158,.6);text-decoration-thickness:1.5px;text-underline-offset:4px}
html[data-app="master"] #view-pay td{color:var(--sm-ink)}
html[data-app="master"] #view-pay tr.final th,html[data-app="master"] #view-pay tr.final td{color:var(--sm-pink);border-top:2px solid rgba(245,166,35,.8);text-decoration:none}
/* 自定义拖动条：同 HK */
html[data-app="master"] .scrub .trk{background:var(--sm-sunk-bg);border:var(--sm-gedge);box-shadow:var(--sm-groove)}
html[data-app="master"] .scrub .thumb{background:var(--sm-raise);-webkit-backdrop-filter:none;backdrop-filter:none;border:0;box-shadow:var(--sm-nsh-s)}
html[data-app="master"] .scrub .thumb::after{background:var(--sm-pink)}
html[data-app="master"] .bar{background:var(--sm-sunk-bg);box-shadow:var(--sm-groove)}
html[data-app="master"] .bar i{background:var(--sm-pink)}
html[data-app="master"] .viewer{background:rgba(11,31,58,.92)}

html[data-app="master"] .btn:not(.ghost),html[data-app="master"] .pickbtn{background:var(--sm-teal)!important;color:#FFFFFF!important}
html[data-app="master"] #submitAllBtn{background:var(--sm-orange)!important;color:#0B1F3A!important}
html[data-app="master"] .lp{background:rgba(10,138,158,.10)!important;box-shadow:none!important}
html[data-app="master"] *{scrollbar-color:rgba(11,31,58,.2) transparent}

/* ===== layout (2026-10-27): HK calendar on top; Master: nav fixed bottom; .dockpick/.dockcam float just above it, content scrolls under ===== */
html[data-app="hk"] .gridbox+.scrub+.sumrow,html[data-app="hk"] .gridbox+.sumrow{margin-top:14px}
html[data-app="master"]{--sm-navh:64px;--sm-navb:calc(var(--sm-navh) + max(10px,env(safe-area-inset-bottom)) + 8px)}
html[data-app="master"]{--sm-dockh:118px}
html[data-app="master"] body{padding-bottom:calc(var(--sm-navb) + 12px)!important}
html[data-app="master"] body.has-dock{padding-bottom:calc(var(--sm-navb) + var(--sm-dockh) + 12px)!important}
html[data-app="master"] .nav{position:fixed!important;left:0;right:0;margin-left:auto!important;margin-right:auto!important;transform:none!important;bottom:max(10px,env(safe-area-inset-bottom));width:min(540px,calc(100vw - 20px));margin-top:0!important;margin-bottom:0!important;z-index:20;padding:6px}
html[data-app="master"] .nav.hidden{display:none}
html[data-app="master"] .nav button{padding:14px 8px}
html[data-app="master"] .dockpick,html[data-app="master"] .dockcam{position:fixed!important;left:0;right:0;margin-left:auto!important;margin-right:auto!important;transform:none!important;top:auto!important;bottom:var(--sm-navb)!important;width:min(540px,calc(100vw - 20px));margin-top:0!important;margin-bottom:0!important;padding:8px!important;z-index:18;background:var(--sm-data)!important;-webkit-backdrop-filter:var(--sm-liq-blur)!important;backdrop-filter:var(--sm-liq-blur)!important;border:var(--sm-liq-edge)!important;border-radius:22px!important;box-shadow:var(--sm-liq-shine),var(--sm-liq-glow)!important}
html[data-app="master"] .dockpick.hidden,html[data-app="master"] .dockcam.hidden{display:none}
html[data-app="master"] .dockpick .cats{margin-top:6px}
html[data-app="master"] .dockpick #loaded{font-size:11px;white-space:nowrap}
html[data-app="master"] .dockcam .hint:empty{display:none}
html[data-app="master"] .paybar{position:sticky!important;bottom:var(--sm-navb)!important}
html[data-app="master"] .scrub{bottom:calc(var(--sm-navb) + 58px)}
html[data-app="master"] .toast{bottom:calc(var(--sm-navb) + 10px)}

/* 底栏 + 吸附浮栏：白色无边框浮起（无模糊、无 transform） */
html[data-app="master"] #mainNav,html[data-app="master"] .dockpick,html[data-app="master"] .dockcam{background:#FFFFFF!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;border:0!important;border-radius:22px!important;box-shadow:0 8px 24px rgba(15,30,60,.12)!important}
html[data-app="master"] #mainNav .lp{background:rgba(245,166,35,.14)!important;border:0!important;box-shadow:inset 0 -2px 0 #F5A623!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
html[data-app="master"] #mainNav button{text-shadow:none!important}

/* v3x: receipt history — inner vertical scroll + right-side vertical scrub */
html[data-app="master"] .histPane{display:flex;align-items:stretch;gap:6px}
html[data-app="master"] .histScroll{flex:1;min-width:0;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;scrollbar-width:none}
html[data-app="master"] .histScroll::-webkit-scrollbar{display:none;width:0;height:0}
html[data-app="master"] .vscrub{position:relative;flex:0 0 30px;touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab}
html[data-app="master"] .vscrub.none{display:none}
html[data-app="master"] .vscrub .trk{position:absolute;top:0;bottom:0;left:11px;width:8px;border-radius:8px;background:var(--sm-sunk-bg);border:var(--sm-gedge);box-shadow:var(--sm-groove)}
html[data-app="master"] .vscrub .thumb{position:absolute;left:4px;width:22px;min-height:44px;border-radius:12px;background:var(--sm-raise);border:0;box-shadow:var(--sm-nsh-s);transition:transform .3s cubic-bezier(.34,1.56,.64,1),box-shadow .3s}
html[data-app="master"] .vscrub .thumb::after{content:"";position:absolute;left:50%;top:50%;width:3px;height:18px;margin:-9px 0 0 -1.5px;border-radius:2px;background:var(--sm-teal)}
html[data-app="master"] .vscrub.on .thumb{transform:scaleX(1.15);box-shadow:0 6px 16px rgba(15,30,60,.16)}
/* v3x: no pinch / double-tap page zoom */
html,body{touch-action:manipulation}
/* v3y: brand header only on 房源资料; 收据/工资 = fixed shell between top and dock/nav, only the data pane scrolls */
html[data-app="master"] body.v-receipt header.top,html[data-app="master"] body.v-pay header.top{display:none}
html[data-app="master"] body.v-receipt,html[data-app="master"] body.v-pay{overflow:hidden;height:100dvh}
html[data-app="master"] body.v-receipt #view-receipt,html[data-app="master"] body.v-pay #view-pay{position:fixed;left:0;right:0;margin-left:auto;margin-right:auto;top:max(8px,env(safe-area-inset-top));width:min(540px,calc(100vw - 20px));display:flex;flex-direction:column;gap:8px;overflow:hidden}
html[data-app="master"] body.v-receipt #view-receipt{bottom:calc(var(--sm-navb) + var(--sm-dockh) + 6px);overflow:hidden}
html[data-app="master"] body.v-pay #view-pay{bottom:calc(var(--sm-navb) + 6px)}
html[data-app="master"] body.v-pay.wide #view-pay{width:min(1180px,calc(100vw - 20px))}
html[data-app="master"] body.v-receipt #view-receipt>.panel,html[data-app="master"] body.v-pay #view-pay>*{margin:0!important;flex:0 0 auto}
html[data-app="master"] body:not(.v-receipt) .dockcam{display:none!important}
html[data-app="master"] body.v-receipt #view-receipt>#histBox{flex:1 1 auto!important;min-height:0!important;display:flex;flex-direction:column;padding:10px}
html[data-app="master"] body.v-receipt #histBox h2{margin:0 0 6px;font-size:15px}
html[data-app="master"] body.v-receipt .histbar{margin-top:0;padding:6px 8px}
html[data-app="master"] body.v-receipt .histsum{margin:6px 0 4px}
html[data-app="master"] body.v-receipt .histPane{flex:1;min-height:0;overflow:hidden}
html[data-app="master"] body.v-pay .payhero{padding:10px 14px}
html[data-app="master"] body.v-pay .payhero .v{font-size:24px}
html[data-app="master"] body.v-pay .payhero .sub{margin-top:2px}
html[data-app="master"] body.v-pay #payTblBox:not(.hidden){flex:1 1 auto;min-height:0;display:flex;flex-direction:column}
html[data-app="master"] body.v-pay #payScroll{flex:1;min-height:0;overflow:auto}
html[data-app="master"] body.v-pay .scrub{position:relative;bottom:auto;margin:6px 6px 0;flex:0 0 30px}
html[data-app="master"] body.v-pay .paybar{position:relative!important;bottom:auto!important}

/* ===== v3al 第 4 段：共用列表 UI（房源资料 = 收据查看记录同款：贴底连片、行分隔；scrub 内缩露一点）。仅 master，HK :root 不动 ===== */
html[data-app="master"] #sections .reclist{padding:4px 46px 4px 14px;margin:0 0 calc(var(--sm-navb) + var(--sm-dockh) + 12px)!important;border-bottom-left-radius:0!important;border-bottom-right-radius:0!important}
html[data-app="master"] #sections .reclist .card{background:transparent!important;box-shadow:none!important;border:0!important;border-top:1px solid var(--hair)!important;border-radius:0!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;margin:0!important;padding:10px 0!important;animation:none}
html[data-app="master"] #sections .reclist .card:first-child,html[data-app="master"] #sections .reclist .sec+.card{border-top:0!important}
html[data-app="master"] #sections .reclist .card.sens{border-left:3px solid rgba(229,120,111,.55)!important;padding-left:8px!important}
html[data-app="master"] #sections .reclist .sec{margin:12px 0 2px;padding-top:10px;border-top:1px solid var(--hair)}
html[data-app="master"] #sections .reclist .sec:first-child{margin-top:4px;padding-top:4px;border-top:0}
html[data-app="master"] #sections .reclist .card .meta{margin-top:4px}

/* ===== v3am 第 5 段：三 tab 共用列表壳 .sm-shell（以收据 #histBox 为准：底 + 一片列表；内部不再叠玻璃卡；scrub 内缩、内容左缩）。仅 master ===== */
html[data-app="master"] .sm-shell{padding:10px 46px 10px 14px}
html[data-app="master"] #payTblBox.sm-shell{padding:10px}
html[data-app="master"] .sm-shell .glass,html[data-app="master"] .sm-shell .panel,html[data-app="master"] .sm-shell .card,html[data-app="master"] .sm-shell .due-row,html[data-app="master"] .sm-shell .hero{background:transparent!important;box-shadow:none!important;border:0!important;border-radius:0!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;margin:0!important;animation:none}
html[data-app="master"] #dashBody.sm-shell{margin:0 0 calc(var(--sm-navb) + var(--sm-dockh) + 12px)!important;border-bottom-left-radius:0!important;border-bottom-right-radius:0!important}
html[data-app="master"] #dashBody.sm-shell>.hero{padding:4px 0 10px!important}
html[data-app="master"] #dashBody.sm-shell>.panel:not(.hidden),html[data-app="master"] #dashBody.sm-shell #sections .reclist{padding:10px 0!important;border-top:1px solid var(--hair)!important}
html[data-app="master"] #dashBody.sm-shell #sections .reclist{padding:0!important;margin:0!important}
html[data-app="master"] .sm-shell .due-row{border-top:1px solid var(--hair)!important;padding:8px 0!important}
html[data-app="master"] .sm-shell .due-row:first-child{border-top:0!important}
html[data-app="master"] .sm-shell h2{margin:0 0 6px;font-size:15px}

/* ===== v3an 第 6 段：房源资料 = 收据查看记录同一套壳（#dashBody.histbox + .histPane/.histScroll#dashScroll + .vscrub#dashScrub），列表自滚。仅 master ===== */
html[data-app="master"] body.v-dash header.top{display:none}
html[data-app="master"] body.v-dash{overflow:hidden;height:100dvh}
html[data-app="master"] body.v-dash #view-dash{position:fixed;left:0;right:0;margin-left:auto;margin-right:auto;top:max(8px,env(safe-area-inset-top));bottom:0;width:min(540px,calc(100vw - 20px));display:flex;flex-direction:column;overflow:hidden}
html[data-app="master"] body.v-dash #dashBody.dashbox{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;margin:0!important;padding:10px!important;border-bottom-left-radius:0!important;border-bottom-right-radius:0!important}
html[data-app="master"] body.v-dash #dashBody .dhead{padding:0 0 6px!important}
html[data-app="master"] body.v-dash #dashBody .dhead h1{font-size:17px;margin:0}
html[data-app="master"] body.v-dash #dashBody .histPane{flex:1;min-height:0;overflow:hidden}
html[data-app="master"] body.v-dash #dashScroll{padding-bottom:calc(var(--sm-navb) + var(--sm-dockh) + 12px);scroll-padding-bottom:calc(var(--sm-navb) + var(--sm-dockh) + 12px)}
html[data-app="master"] body.v-dash #dashScrub{margin-bottom:calc(var(--sm-navb) + var(--sm-dockh) + 12px)}
html[data-app="master"] #dashList>.panel:not(.hidden),html[data-app="master"] #dashList #sections .reclist{border-top:1px solid var(--hair)!important;padding:10px 0!important}
html[data-app="master"] #dashList>.panel:first-child{border-top:0!important}

/* ===== v3ao 第 7 段：列表层液态玻璃（仅 master 同壳列表 #dashBody / #histBox）：半透明白 + blur，底下彩色光斑透上来。不用 transform ===== */
html[data-app="master"]{--sm-list-glass:rgba(255,255,255,.18);--sm-list-blur:blur(16px) saturate(170%)}
html[data-app="master"] .blobs{display:block!important}
html[data-app="master"] .blob{display:block!important;filter:blur(50px)}
html[data-app="master"] .blob.a{background:#0A8A9E!important;opacity:.38!important}
html[data-app="master"] .blob.b{background:#F5A623!important;opacity:.38!important}
html[data-app="master"] .blob.c{background:#5FB8C8!important;opacity:.32!important}
html[data-app="master"] .blob.d{background:#0B1F3A!important;opacity:.18!important}
html[data-app="master"] #dashBody.dashbox,html[data-app="master"] #histBox.histbox{background:var(--sm-list-glass)!important;-webkit-backdrop-filter:var(--sm-list-blur)!important;backdrop-filter:var(--sm-list-blur)!important;border:1px solid rgba(255,255,255,.55)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.7),0 8px 24px rgba(15,30,60,.08)!important;transform:none!important}
html[data-app="master"] #histBox .glass,html[data-app="master"] #histBox .histbar{background:rgba(255,255,255,.25)!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;box-shadow:none!important}
