/* second half of app-wide.css (split 2026-10-26, file size rule): loaded right after it, same order as before */
.punch-times span{color:#1a1400;font-weight:700}
.punch-times b{letter-spacing:.35em;font-size:18px;font-weight:800}
.seg-gold{
  display:flex;background:var(--card2);border:1px solid var(--gold-line);border-radius:999px;padding:3px;margin:10px 0 14px
}
.seg-gold .pill{border:0;background:transparent;color:var(--muted)}
.seg-gold .pill.on{background:linear-gradient(180deg,var(--gold2),var(--gold));color:var(--on-gold)}
.office-tabs{
  display:flex;gap:6px;overflow-x:auto;padding:8px 16px 10px;margin:0 -16px;
  position:sticky;top:0;z-index:8;background:var(--bg);
  scrollbar-width:none;-webkit-overflow-scrolling:touch
}
.office-tabs::-webkit-scrollbar{display:none}
.office-tabs .pill{flex:0 0 auto;white-space:nowrap;padding:8px 14px}
.punch-page{padding-bottom:8px}
.punch-page .btn-gold{border-radius:999px;padding:15px 18px;font-size:16px;margin-top:8px}
.punch-gold{
  border-radius:22px;padding:26px 20px 22px;
  background:linear-gradient(165deg,#e8c547 0%,#c9a227 40%,#7a6418 100%);
  box-shadow:0 14px 32px rgba(201,162,39,.3)
}
.punch-gold .kicker{color:#1a1400;font-weight:800;letter-spacing:1px;margin-bottom:8px}
.clock-row{display:flex;align-items:center;justify-content:space-between;margin-top:12px}
.clock-row span{color:#1a1400;font-weight:800;font-size:15px}
.clock-row b{
  color:#fff;font-size:22px;font-weight:800;letter-spacing:.42em;font-variant-numeric:tabular-nums
}
.shift-card{border-radius:20px;padding:4px 16px 4px;border:1px solid var(--gold-line);background:var(--soft)}
.shift-card .field-row{padding:16px 0;border-bottom:1px solid var(--line);margin:0}
.shift-card .field-row:last-child{border-bottom:0}
.shift-card .field-row input[type=time],.shift-card .field-row input[type=text],.shift-card .field-row input[type=number]{
  min-width:88px;color:#fff
}
.invite-hero{
  text-align:center;padding:18px 14px;border-radius:20px;
  background:linear-gradient(180deg,var(--gold-soft),var(--soft));border:1px solid var(--gold-line)
}
.invite-hero .code{font-size:26px;font-weight:800;letter-spacing:.28em;color:var(--gold2);margin-top:8px}
.member-row{
  display:flex;align-items:center;gap:12px;padding:12px 4px;border-bottom:1px solid var(--sep)
}
.member-row.on{background:var(--gold-soft);border-radius:12px;padding-left:8px;padding-right:8px}
.member-row:last-child{border-bottom:0}
.member-ava{
  width:42px;height:42px;border-radius:14px;background:var(--gold-soft2);color:var(--gold2);
  display:flex;align-items:center;justify-content:center;font-weight:800;flex-shrink:0
}
.punch-status{
  font-size:11px;padding:4px 8px;border-radius:99px;border:1px solid var(--gold-line);color:var(--gold2);flex-shrink:0
}
.punch-status.wait{color:var(--red);border-color:var(--red-line)}
.punch-status.ok{color:#111;background:#f0f0f0;border-color:#f0f0f0}
html.ent{
  --gold:#c62828;
  --gold2:#ef5350;
  --gold3:#ff8a80;
  --gold-line:#4a1518;
  /* 企业版 dark: red marks, gold buttons */
  --btn-a:#e8c547;
  --btn-b:#c9a227;
  --ghost:#c9a227;
  --ghost-line:#3d320f;
  --fab-glow:rgba(198,40,40,.35);
  --ent-soft:linear-gradient(180deg,#1c0808,#141414);
  --gold-soft2:#1c1212;
  --ent-row:#1c0808;
  --hero:linear-gradient(135deg,#3a0a0a 0%,#1a0c0c 45%,#161616 100%);
  --hero-line:#4a1518;
  --nav-line:#2a1515;
}
html.ent .punch-gold{
  background:linear-gradient(165deg,#ef5350 0%,#c62828 42%,#7a1212 100%);
  box-shadow:0 14px 32px rgba(198,40,40,.35)
}
html.ent .invite-hero,html.ent .ed-card.on,html.ent .chip.on{background:var(--ent-soft)}
html.ent .member-row.on{background:var(--ent-row)}
html.ent .btn-gold,html.ent .pill.on,html.ent .seg-gold .pill.on{
  background:linear-gradient(180deg,var(--btn-a),var(--btn-b));color:var(--on-gold);border-color:var(--btn-b)
}
html.ent .btn-ghost,html.ent .icon-btn,html.ent .back{color:var(--ghost);border-color:var(--ghost-line)}
html.ent .toast{border-color:var(--ghost)}
html.ent .modal.ask-modal .ask-sheet{border-color:var(--ghost)}
html.ent .modal.ask-modal .ask-sheet .btn-ghost{color:var(--ghost);border-color:var(--ghost-line)}
html.ent .modal.ask-modal .ask-sheet .btn-gold{background:linear-gradient(180deg,var(--btn-a),var(--btn-b));color:var(--on-gold)}
/* 界面风格 (2026-10-22, 设置 → 界面风格): <html data-theme="simple|warm">; no attribute = 暗黑 (personal gold /
   企业 red + gold above). 跟随系统 picks simple or dark (app-theme-01). Only variables change here. */
html[data-theme="simple"],html.ent[data-theme="simple"]{
  color-scheme:light;
  --bg:#f5f5f7;--card:#ffffff;--card2:#f2f2f5;--line:#e5e5ea;
  --gold:#1c1c1e;--gold2:#3a3a3c;--gold3:#636366;--gold-line:#d1d1d6;
  --text:#1c1c1e;--muted:#6e6e73;--red:#c0392b;--green:#1e7d46;--blue:#2f6fde;
  --field:#ffffff;--field-line:#d1d1d6;--sep:#ececf0;--line2:#e5e5ea;--soft:#ffffff;--thumb:#ececf0;--press:#ececf0;
  --check-line:#aeaeb2;--text2:#3a3a3c;--on-gold:#ffffff;--gold-soft:#ececf0;--gold-soft2:#f0f0f2;
  --gold-glow:rgba(0,0,0,.04);--fab-glow:rgba(0,0,0,.22);
  --red-line:#f0c4bf;--red-soft:#fdeeec;--red-btn:#fdeeec;--green-line:#bfe3cc;
  --info-line:#c9d9ee;--info-bg:#eef4fc;--info-text:#24476f;--hot-text:#8a1f14;--axis-bg:rgba(255,255,255,.85);
  --hero:#ffffff;--hero-line:#e5e5ea;--hero2:#ffffff;
  --btn-a:#1c1c1e;--btn-b:#1c1c1e;--ghost:#1c1c1e;--ghost-line:#d1d1d6;--nav-line:#e5e5ea;
  --ent-soft:#ececf0;--ent-row:#ececf0;
}
html[data-theme="warm"],html.ent[data-theme="warm"]{
  color-scheme:light;
  --bg:#f4efe6;--card:#fbf8f2;--card2:#f4efe6;--line:#e4dccd;
  --gold:#9a4f2c;--gold2:#b0623a;--gold3:#c97a50;--gold-line:#e0cdb8;
  --text:#2b2620;--muted:#73685b;--red:#b03a22;--green:#2f7a3d;--blue:#2f5f9e;
  --field:#fffdf9;--field-line:#d9cdb9;--sep:#ebe3d5;--line2:#e4dccd;--soft:#fbf8f2;--thumb:#eee6d9;--press:#efe7da;
  --check-line:#b5a894;--text2:#4a4237;--on-gold:#ffffff;--gold-soft:#f1e2d6;--gold-soft2:#f1e2d6;
  --gold-glow:rgba(154,79,44,.08);--fab-glow:rgba(154,79,44,.3);
  --red-line:#ecc2b6;--red-soft:#fbe9e3;--red-btn:#fbe9e3;--green-line:#c5dfc6;
  --info-line:#cdd9e6;--info-bg:#eef2f6;--info-text:#2c4a6a;--hot-text:#8a2a16;--axis-bg:rgba(251,248,242,.85);
  --hero:linear-gradient(135deg,#f1e2d6 0%,#fbf8f2 100%);--hero-line:#e0cdb8;--hero2:linear-gradient(180deg,#f1e2d6 0%,#fbf8f2 72%);
  --btn-a:#a85a34;--btn-b:#9a4f2c;--ghost:#9a4f2c;--ghost-line:#e0cdb8;--nav-line:#e4dccd;
  --ent-soft:#f1e2d6;--ent-row:#f1e2d6;
}
html[data-theme] .modal{background:rgba(0,0,0,.35)}
html[data-theme] .toast{box-shadow:0 10px 28px rgba(0,0,0,.18)}
/* 樱花粉 (老板 2026-10-23, 给女生使用): blush background, white floating cards without hard lines, rose → lilac pill
   buttons, pastel icon circles (one colour per feature), round avatars (app-ava-01). Same layout, only the look. */
html[data-theme="pink"],html.ent[data-theme="pink"]{
  color-scheme:light;
  --bg:#fff5f7;--card:#ffffff;--card2:#fff0f4;--line:#f6e1e8;
  --gold:#e0628a;--gold2:#e8789a;--gold3:#f29bb6;--gold-line:#f4cddb;
  --text:#3d2c35;--muted:#9a8590;--red:#d9455f;--green:#2f9a72;--blue:#5b7fe0;
  --field:#fffafc;--field-line:#f0d3de;--sep:#f8e8ee;--line2:#f6e1e8;--soft:#ffffff;--thumb:#fbe7ee;--press:#ffe9f0;
  --check-line:#e6b3c5;--text2:#5a4651;--on-gold:#ffffff;--gold-soft:#ffe6ee;--gold-soft2:#fdeaf1;
  --gold-glow:rgba(224,98,138,.10);--fab-glow:rgba(224,98,138,.38);
  --red-line:#f7c4cf;--red-soft:#ffeef1;--red-btn:#ffeef1;--green-line:#c4e8d9;
  --info-line:#dcd3f7;--info-bg:#f5f1ff;--info-text:#5b49a3;--hot-text:#b02a4a;--axis-bg:rgba(255,255,255,.88);
  --hero:linear-gradient(135deg,#ffd9e5 0%,#fde9f1 48%,#ece4ff 100%);--hero-line:#f7d3e0;
  --hero2:linear-gradient(180deg,#ffe3ec 0%,#fff5f7 72%);
  --btn-a:#f08aa8;--btn-b:#d9638c;--ghost:#d9638c;--ghost-line:#f4cddb;--nav-line:#f6e1e8;
  --ent-soft:#ffe6ee;--ent-row:#fff0f4;
}
html[data-theme="pink"] body{background:var(--bg)}
html[data-theme="pink"] .card{border-color:transparent;border-radius:22px;box-shadow:0 6px 18px rgba(224,98,138,.08)}
html[data-theme="pink"] .btn{border-radius:999px}
html[data-theme="pink"] .btn-gold,html[data-theme="pink"] .pill.on,html[data-theme="pink"] .fab{
  background:linear-gradient(135deg,#f59ab4 0%,#e0628a 60%,#b58ae6 140%);color:#fff;border-color:transparent;box-shadow:0 6px 16px rgba(224,98,138,.28)}
html[data-theme="pink"] .btn-ghost{background:#fff;border-color:var(--gold-line);color:var(--ghost)}
html[data-theme="pink"] .pill{background:#fff;border-color:var(--field-line)}
html[data-theme="pink"] input,html[data-theme="pink"] select,html[data-theme="pink"] textarea{border-radius:14px}
html[data-theme="pink"] input:focus,html[data-theme="pink"] select:focus,html[data-theme="pink"] textarea:focus{border-color:var(--gold3);box-shadow:0 0 0 3px rgba(242,155,182,.22)}
html[data-theme="pink"] .nav{background:rgba(255,255,255,.96);border-top:0;box-shadow:0 -4px 18px rgba(224,98,138,.10)}
html[data-theme="pink"] .nav button.on{color:var(--gold);font-weight:700}
html[data-theme="pink"] .nav button.on svg{filter:drop-shadow(0 2px 4px rgba(224,98,138,.35))}
html[data-theme="pink"] .hero-card,html[data-theme="pink"] .summary{border-color:transparent;border-radius:24px;box-shadow:0 10px 26px rgba(224,98,138,.14)}
html[data-theme="pink"] .og-mt,html[data-theme="pink"] .bq-t{border-color:transparent;border-radius:20px;box-shadow:0 4px 14px rgba(224,98,138,.08)}
html[data-theme="pink"] .og-mi,html[data-theme="pink"] .bq-i{border-radius:50%;width:38px;height:38px}
html[data-theme="pink"] .og-mt:nth-child(5n+1) .og-mi,html[data-theme="pink"] .bq-t:nth-child(4n+1) .bq-i{background:#ffe1ea;color:#e0628a}
html[data-theme="pink"] .og-mt:nth-child(5n+2) .og-mi,html[data-theme="pink"] .bq-t:nth-child(4n+2) .bq-i{background:#ece4ff;color:#8a6ad6}
html[data-theme="pink"] .og-mt:nth-child(5n+3) .og-mi,html[data-theme="pink"] .bq-t:nth-child(4n+3) .bq-i{background:#dcf4ea;color:#2f9a72}
html[data-theme="pink"] .og-mt:nth-child(5n+4) .og-mi,html[data-theme="pink"] .bq-t:nth-child(4n+4) .bq-i{background:#ffe9d9;color:#e0874a}
html[data-theme="pink"] .og-mt:nth-child(5n+5) .og-mi{background:#e1edff;color:#5b7fe0}
html[data-theme="pink"] .bq-main .bq-i{background:linear-gradient(135deg,#f59ab4,#e0628a);color:#fff}
html[data-theme="pink"] .pg-ico{border-radius:50%;border-color:transparent;background:#ffe1ea}
html[data-theme="pink"] .tag{border-radius:999px}
html[data-theme="pink"] .sheet{border-radius:26px 26px 0 0}
html[data-theme="pink"] .modal{background:rgba(90,40,60,.28)}
html[data-theme="pink"] .toast{border-radius:999px}
html[data-theme="pink"] .member-ava[data-avc="0"]{background:#ffe1ea;color:#e0628a}
html[data-theme="pink"] .member-ava[data-avc="1"]{background:#ece4ff;color:#8a6ad6}
html[data-theme="pink"] .member-ava[data-avc="2"]{background:#dcf4ea;color:#2f9a72}
html[data-theme="pink"] .member-ava[data-avc="3"]{background:#ffe9d9;color:#e0874a}
html[data-theme="pink"] .member-ava[data-avc="4"]{background:#e1edff;color:#5b7fe0}
html[data-theme="pink"] .ava-pro .ava-cam{background:linear-gradient(135deg,#f59ab4,#e0628a)}
/* 头像 (app-ava-01), every theme: round like WhatsApp */
.member-ava{border-radius:50%;overflow:hidden}
.member-ava.ava-img{background:var(--thumb)}
.member-ava.ava-img img{width:100%;height:100%;object-fit:cover;display:block}
.ava-self{border:0;padding:0;background:none;flex:0 0 auto;cursor:pointer}
.ava-self .member-ava{width:40px;height:40px;font-size:17px}
.ava-pro{display:flex;flex-direction:column;align-items:center;padding:6px 0 4px;text-align:center}
.ava-pro .ava-btn{position:relative;border:0;padding:0;background:none;cursor:pointer}
.ava-pro .member-ava{width:104px;height:104px;font-size:40px;box-shadow:0 6px 18px rgba(0,0,0,.12)}
.ava-pro .ava-cam{position:absolute;right:0;bottom:2px;width:34px;height:34px;border-radius:50%;background:linear-gradient(180deg,var(--btn-a),var(--btn-b));color:var(--on-gold);display:flex;align-items:center;justify-content:center;border:3px solid var(--card)}
.ava-pro .ava-cam svg{width:16px;height:16px}
.ava-pro .ava-nm{font-size:19px;font-weight:800;margin-top:10px}
.ava-pro .ava-tip{font-size:12px;margin-top:4px}
.ava-crop{position:fixed;inset:0;z-index:90;background:#000;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:20px;color:#fff;touch-action:none}
.ava-crop h3{font-size:16px;font-weight:700}
.ava-view{position:relative;overflow:hidden;touch-action:none;background:#111}
.ava-view img{position:absolute;left:0;top:0;max-width:none;user-select:none;-webkit-user-drag:none;pointer-events:none}
.ava-view .ava-ring{position:absolute;inset:0;border-radius:50%;box-shadow:0 0 0 999px rgba(0,0,0,.55);border:2px solid rgba(255,255,255,.85);pointer-events:none}
.ava-crop input[type=range]{width:min(320px,80vw);accent-color:#fff;background:none;border:0;padding:0}
.ava-crop .btn-row{width:min(320px,80vw)}
.ava-crop .btn-ghost{color:#fff;border-color:rgba(255,255,255,.4);margin-top:0}
/* 审批 批准 / 拒绝 (老板 2026-10-23 方案 A): same place and size, gold outline + light gold fill instead of solid gold
   (one solid gold button per screen); 拒绝 grey outline */
.btn.btn-appr{background:var(--gold-soft);color:var(--ghost);border:1.5px solid var(--ghost)}
.btn.btn-appr:active{filter:brightness(.94)}
html .btn.btn-ghost.btn-rej,html.ent .btn.btn-ghost.btn-rej{color:var(--muted);border-color:var(--line);background:transparent;margin-top:0}
html.ent:not([data-theme]) .btn.btn-appr{background:rgba(201,162,39,.12)}
