:root{--gold:#C9A227;--gold-hi:#E9CE72;--gold-lo:#B08E1E;--gold-deep:#7C6110;--gold-soft:#FDF8EA;--gold-soft-2:#FAF0D4;--gold-line:#E5D3A0;--black:#111114;--black-2:#1C1C21;--black-3:#2E2E36;--ink:#16161A;--ink-2:#4A4A54;--ink-3:#767680;--ink-4:#A3A3AC;--line:#E4E0D6;--line-2:#EFEDE6;--line-3:#F7F5EF;--bg:#FFFFFF;--bg-soft:#FBFAF7;--bg-app:#EDEBE4;--ok:#1F7A4D;--ok-bg:#EDF7F1;--ok-line:#BFE0CD;--warn:#9A6608;--warn-bg:#FDF6E6;--warn-line:#EBD9A8;--bad:#B33023;--bad-bg:#FDEEEC;--bad-line:#F0C3BC;--info:#1F4E79;--info-bg:#EEF4FB;--info-line:#C1D6EB;--me:#C9A227;--signer:#1F4E79;--grad-gold:linear-gradient(180deg,#E9CE72,#C9A227 52%,#B08E1E);--grad-signer:linear-gradient(180deg,#2E6EA6,#1F4E79);--fs-xs:13px;--fs-sm:14px;--fs-md:16px;--fs-lg:18px;--fs-xl:22px;--fs-2xl:28px;--fs-3xl:38px;--sp-xs:4px;--sp-sm:8px;--sp-md:16px;--sp-lg:24px;--sp-xl:32px;--sp-2xl:48px;--r-xs:4px;--r-sm:6px;--r-md:10px;--r-lg:14px;--r-xl:20px;--r-pill:9999px;--sh-xs:0 1px 2px rgba(17,17,20,.05);--sh-s:0 2px 5px rgba(17,17,20,.07),0 1px 2px rgba(17,17,20,.04);--sh-m:0 6px 18px rgba(17,17,20,.10),0 2px 5px rgba(17,17,20,.05);--sh-l:0 16px 38px rgba(17,17,20,.14),0 4px 10px rgba(17,17,20,.06);--sh-gold:0 5px 16px rgba(201,162,39,.34);--sh-inset:inset 0 1px 0 rgba(255,255,255,.5);--t-fast:.18s cubic-bezier(.4,0,.2,1);--t:.26s cubic-bezier(.4,0,.2,1);--sans:"Noto Sans TC",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--serif:"Noto Serif TC","Songti TC","Times New Roman",serif;--appbar-h:60px;--subbar-h:50px}*{box-sizing:border-box;margin:0;padding:0}[hidden]{display:none!important}body,html{height:100%}body{font-family:var(--sans);color:var(--ink);background:var(--bg-app);font-size:var(--fs-md);line-height:1.72;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{cursor:pointer;border:none;background:none}button,input,select,textarea{font:inherit;color:inherit}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:50px;padding:0 var(--sp-lg);border-radius:var(--r-md);font-size:var(--fs-md);font-weight:500;letter-spacing:.02em;white-space:nowrap;transition:all var(--t-fast)}.btn:active{transform:translateY(1px)}.btn-gold{background:var(--grad-gold);color:#15130C;font-weight:700;box-shadow:var(--sh-inset),var(--sh-gold)}.btn-gold:hover{filter:brightness(1.06)}.btn-dark{background:var(--black);color:#fff;box-shadow:var(--sh-s)}.btn-dark:hover{background:var(--black-3)}.btn-line{background:#fff;color:var(--ink);border:1.5px solid var(--line);box-shadow:var(--sh-xs)}.btn-line:hover{border-color:var(--ink-3)}.btn-sm{min-height:38px;padding:0 var(--sp-md);font-size:var(--fs-sm);border-radius:var(--r-sm)}.badge{display:inline-flex;align-items:center;gap:7px;padding:6px 14px;border-radius:var(--r-pill);font-size:var(--fs-xs);font-weight:600;letter-spacing:.03em;border:1.5px solid transparent;white-space:nowrap}.badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.badge-draft{background:var(--line-2);color:var(--ink-3);border-color:var(--line)}.badge-sent{background:var(--info-bg);color:var(--info);border-color:var(--info-line)}.badge-partial{background:var(--warn-bg);color:var(--warn);border-color:var(--warn-line)}.badge-done{background:var(--ok-bg);color:var(--ok);border-color:var(--ok-line)}.badge-void{background:var(--bad-bg);color:var(--bad);border-color:var(--bad-line)}.eyebrow{font-size:var(--fs-xs);letter-spacing:.16em;color:var(--ink-3);text-transform:uppercase;font-weight:700}.appbar{gap:var(--sp-lg);height:var(--appbar-h);padding:0 var(--sp-lg);background:var(--black);color:#fff;border-bottom:1px solid rgba(201,162,39,.34)}.appbar,.appbar .wm{display:flex;align-items:center}.appbar .wm{gap:9px;font-weight:700;font-size:15px;letter-spacing:.15em}.appbar .wm .dot{width:8px;height:8px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 4px rgba(201,162,39,.2)}.appbar nav{display:flex;gap:var(--sp-lg);font-size:var(--fs-sm)}.appbar nav a{color:rgba(255,255,255,.72);position:relative;padding:6px 0;transition:color var(--t-fast)}.appbar nav a:hover{color:#fff}.appbar nav a.on{color:#fff;font-weight:500}.appbar nav a.on:after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:2.5px;background:var(--gold);border-radius:2px}.avatar{width:34px;height:34px;border-radius:50%;background:var(--gold);color:#fff;font-size:var(--fs-xs);font-weight:700;display:flex;align-items:center;justify-content:center;flex:none}.page{max-width:1180px;margin:0 auto;padding:var(--sp-2xl) var(--sp-lg)}.card{background:#fff;border:1.5px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-s)}