:root{color-scheme:dark;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft Yahei",Arial,sans-serif;--line:rgba(255,255,255,.14);--muted:#afbed1;--light:#eff6ff;--card:rgba(16,24,39,.78)}
*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{color:var(--light);background:#f7f4ee;min-height:100vh;position:relative}body:before{content:"";position:fixed;inset:0;background:linear-gradient(125deg,rgba(3,10,25,.86),rgba(10,26,48,.68));z-index:-1}body:after{content:"";position:fixed;inset:0;background:radial-gradient(rgba(0,0,0,.5) 1px,transparent 1px);background-size:5px 5px;pointer-events:none;z-index:-1}#siteVideo{position:fixed;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;filter:brightness(.60) contrast(1.07)}a{color:#a6d8ff;text-decoration:none}a:hover{text-decoration:underline}button,input,textarea,select{font:inherit}button{cursor:pointer}.topbar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:18px clamp(16px,4vw,42px);max-width:1230px;margin:auto}.brand{font-size:15px;font-weight:700;letter-spacing:.5px;color:#fff}.toplinks{display:flex;align-items:center;gap:16px;flex-wrap:wrap;font-size:13px}.toplinks form{margin:0}.linkbutton{border:0;background:none;color:#a6d8ff;padding:0}.shell{max-width:1080px;margin:clamp(18px,4vh,54px) auto 64px;padding:0 18px}.shell.narrow{max-width:610px}.glass{background:var(--card);border:1px solid var(--line);border-radius:20px;box-shadow:0 18px 48px rgba(0,0,0,.38);backdrop-filter:blur(17px);-webkit-backdrop-filter:blur(17px);padding:clamp(22px,4vw,36px)}.page-title{font-size:clamp(23px,3.4vw,30px);font-weight:750;margin:0 0 10px}.sub{font-size:14px;color:var(--muted);line-height:1.7;margin:0 0 24px}.field{margin:0 0 18px}.field label{display:block;font-size:14px;font-weight:650;margin:0 0 8px}.required{color:#ff9a9a}.field input,.field textarea,.field select{width:100%;background:rgba(8,18,35,.68);color:#fff;padding:12px 14px;outline:none;border-radius:10px;border:1px solid rgba(255,255,255,.22);font-size:15px}.field textarea{min-height:108px;resize:vertical}.field input:focus,.field textarea:focus,.field select:focus{border-color:#78c7ff;box-shadow:0 0 0 3px rgba(83,168,241,.16)}input[readonly]{background:rgba(255,255,255,.05);color:#d4deeb}.help{font-size:12px;color:var(--muted);margin:7px 0 0}.button{background:linear-gradient(135deg,#275eab,#1b4899);border:1px solid rgba(125,183,255,.55);border-radius:11px;color:#fff;padding:12px 18px;display:inline-flex;justify-content:center;align-items:center;font-weight:700;min-height:45px;text-decoration:none;white-space:nowrap}.button:hover{filter:brightness(1.12);text-decoration:none}.button.secondary{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.22)}.button.danger{background:rgba(173,48,61,.2);border-color:rgba(248,113,113,.4)}.button.small{min-height:33px;padding:7px 10px;font-size:12px}.button.block{width:100%}.tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;background:rgba(0,0,0,.25);padding:5px;border-radius:12px;margin:14px 0 25px}.tab{color:#bbcfe9;text-align:center;padding:12px;border-radius:9px;font-weight:700}.tab.active{background:rgba(67,122,200,.4);color:#fff;border:1px solid rgba(149,197,255,.3)}.tabs a:hover{text-decoration:none}.flash{margin:10px 0 20px;padding:13px 15px;background:rgba(37,99,235,.14);border-left:3px solid #60a5fa;border-radius:9px;overflow-wrap:anywhere}.flash.error{background:rgba(185,28,28,.2);border-color:#f87171}.flash.success{background:rgba(5,150,105,.16);border-color:#34d399}.muted{color:var(--muted)}.foot{max-width:1100px;margin:40px auto 26px;text-align:center;color:rgba(223,234,250,.5);font-size:12px}.record{border:1px solid var(--line);border-radius:12px;padding:16px 17px;margin:12px 0;background:rgba(255,255,255,.045)}.record-top{display:flex;justify-content:space-between;gap:14px;align-items:center}.record h3{font-size:16px;margin:0}.amount{font-size:20px;color:#93d5ff;font-weight:750;white-space:nowrap}.record-meta{font-size:12px;color:var(--muted);margin-top:10px;display:flex;gap:10px 18px;flex-wrap:wrap}.record-note{font-size:13px;color:#d7e0ef;margin-top:10px;white-space:pre-wrap;overflow-wrap:anywhere}.admin-nav{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 22px}.admin-nav a{color:#dbeafe;border:1px solid var(--line);padding:9px 12px;border-radius:10px;font-size:13px}.admin-nav a.active{background:rgba(66,133,217,.27);border-color:rgba(111,177,255,.5)}.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.stat{padding:17px;border:1px solid var(--line);background:rgba(255,255,255,.045);border-radius:12px}.stat strong{display:block;font-size:clamp(20px,3vw,28px);margin-top:9px;white-space:nowrap}.stat span{font-size:12px;color:var(--muted)}.table-wrap{overflow:auto;max-width:100%;border:1px solid var(--line);border-radius:12px}.data-table{width:100%;border-collapse:collapse;min-width:720px;font-size:13px}.data-table th{text-align:left;background:rgba(75,113,172,.23);padding:12px;white-space:nowrap}.data-table td{border-top:1px solid var(--line);padding:11px;vertical-align:top;overflow-wrap:anywhere;max-width:350px}.data-table tr:hover{background:rgba(255,255,255,.035)}.toolbar{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin:12px 0 19px}.toolbar .field{margin:0;min-width:135px;flex:1}.toolbar .field input{padding:9px 10px}.tag{display:inline-block;font-size:12px;padding:3px 9px;border-radius:30px;background:rgba(59,130,246,.2)}.tag.pending{color:#fcd34d}.tag.approved{color:#86efac}.tag.rejected,.tag.disabled{color:#fca5a5}.actions{display:flex;gap:6px;flex-wrap:wrap}.actions form{margin:0}.note-box{padding:14px;border-radius:10px;background:rgba(110,165,226,.1);border:1px solid var(--line);font-size:13px;color:#cbdaf0;line-height:1.65}.record-list{display:none}.mt{margin-top:23px}.center{text-align:center}@media(max-width:750px){.cards{grid-template-columns:repeat(2,1fr)}.topbar{align-items:flex-start}.toplinks{gap:9px}.record-list{display:block}.records-table{display:none}.shell{margin:24px auto 44px}.glass{padding:22px 18px}}@media(max-width:400px){.cards{grid-template-columns:1fr 1fr;gap:8px}.stat{padding:12px}.topbar{padding:14px}.brand{font-size:13px}.record-top{align-items:flex-start}.amount{font-size:17px}}@media(prefers-reduced-motion:no-preference){.glass{animation:enter .35s ease-out}@keyframes enter{from{transform:translateY(10px);opacity:0}to{transform:translateY(0);opacity:1}}}
/* 避免半透明背景遮罩覆盖输入区域；视频在最底层，遮罩居中层，内容在最上层。 */
body{isolation:isolate}
body::before,body::after{z-index:0;pointer-events:none}
body>.topbar,body>.shell,body>.foot{position:relative;z-index:1}
#siteVideo{z-index:-1}
/* 在各浏览器的 backdrop-filter 合成路径中消除暗色遮罩对表单的重复叠加 */
body::before,body::after{display:none!important}
#siteVideo{opacity:.60}
@media(max-width:600px){.topbar{flex-direction:column;align-items:flex-start;gap:10px}.toplinks{justify-content:flex-start}.brand{line-height:1.5}}

/* ===== 2026-11 改造：新增业务页乳白底＋统一居中标题＋卡内用户操作 ===== */
:root{color-scheme:light}
html,body{background:#f7f4ee!important;background-image:none!important}
/* 原玻璃卡、表单、标签页及后台表格颜色均保持原样。 */
.glass{color-scheme:dark}
#siteVideo{display:none!important}
.page-title{
  text-align:center;
  color:#f9fbff;
  font-size:clamp(26px,3.5vw,32px);
  font-weight:800;
  line-height:1.4;
  letter-spacing:1.6px;
  margin:0 auto 16px;
  padding-bottom:16px;
  position:relative;
}
.page-title::after{
  content:"";
  position:absolute;
  left:50%;bottom:0;
  transform:translateX(-50%);
  width:52px;height:3px;
  background:#81b8fb;
  border-radius:3px;
}
.glass > .sub{ text-align:center; margin:0 auto 22px; max-width:660px; }
.card-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:8px;
  width:max-content;
  max-width:100%;
  margin:0 0 23px auto;
  padding:7px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(6,15,30,.28);
  border-radius:12px;
}
.card-actions form{margin:0;display:flex}
.account-pill,.card-action-btn{
  display:inline-flex;
  justify-content:center;
  align-items:center;
  min-height:35px;
  border-radius:8px;
  padding:7px 12px;
  font-size:13px;
  font-weight:650;
  line-height:1.3;
  white-space:nowrap;
}
.account-pill{
  color:#e4efff;
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.13);
  max-width:180px;
  overflow:hidden;
  text-overflow:ellipsis;
}
.card-action-btn{
  color:#eef5ff;
  background:rgba(70,118,180,.22);
  border:1px solid rgba(136,183,242,.33);
  text-decoration:none;
  cursor:pointer;
  font-family:inherit;
  transition:background .18s,border-color .18s,transform .18s;
}
.card-action-btn:hover,.card-action-btn:focus-visible{
  background:rgba(70,118,180,.43);
  border-color:rgba(166,208,255,.7);
  color:#fff;
  text-decoration:none;
}
.card-action-btn:active{transform:scale(.98)}
.card-action-logout{
  background:rgba(145,59,65,.2);
  border-color:rgba(248,151,155,.32);
}
.card-action-logout:hover,.card-action-logout:focus-visible{
  background:rgba(145,59,65,.43);
  border-color:rgba(248,151,155,.62);
}
.foot{color:#79808a;text-shadow:none}
@media(max-width:520px){
  .card-actions{width:100%;justify-content:center;margin-top:0}
  .account-pill{flex:1 1 100%;max-width:none}
  .card-actions form{flex:1 1 0}
  .card-action-btn{flex:1 1 0}
  .card-actions>a.card-action-btn{flex:1 1 0}
  .page-title{letter-spacing:1px}
}
@media(prefers-reduced-motion:reduce){
  .card-action-btn{transition:none}
}
