:root{--bg-top:#eef4ff;--bg-bottom:#f9fbff;--surface:#ffffffe0;--surface-strong:#fff;--surface-soft:#f5f8ff;--line:#5073b929;--line-strong:#4368af47;--text-main:#1e2b45;--text-soft:#5d6c88;--accent:#4a7cff;--accent-soft:#dfeaff;--accent-deep:#2853c7;--success:#2c8f73;--ledger-accent:#88d8a8;--ledger-accent-soft:#e6f8ec;--ledger-accent-deep:#20634b;--ui-control-bg:color-mix(in srgb, var(--surface-strong) 80%, white);--ui-control-bg-strong:color-mix(in srgb, var(--surface-strong) 78%, white);--ui-control-border:color-mix(in srgb, var(--accent) 18%, var(--line));--ui-control-border-strong:color-mix(in srgb, var(--accent) 24%, var(--line));--ui-control-hover-bg:color-mix(in srgb, var(--accent) 10%, var(--surface));--ui-selection-bg:color-mix(in srgb, var(--ledger-accent) 14%, var(--surface-soft));--ui-selection-border:color-mix(in srgb, var(--ledger-accent) 24%, var(--line));--ui-selection-color:color-mix(in srgb, var(--ledger-accent-deep) 88%, var(--text-main));--ui-selected-row-bg:color-mix(in srgb, var(--accent) 9%, white);--ui-ledger-action-bg:linear-gradient(135deg, color-mix(in srgb, var(--ledger-accent) 88%, white) 0%, color-mix(in srgb, var(--ledger-accent) 56%, white) 100%);--ui-ledger-action-bg-hover:linear-gradient(135deg, color-mix(in srgb, var(--ledger-accent) 94%, white) 0%, color-mix(in srgb, var(--ledger-accent) 64%, white) 100%);--ui-ledger-action-border:color-mix(in srgb, var(--ledger-accent) 45%, var(--line));--ui-ledger-action-color:color-mix(in srgb, var(--ledger-accent-deep) 88%, var(--text-main));--shadow:0 18px 48px #2b498414;--radius-lg:28px;--radius-md:18px;--radius-sm:12px;--content-width:1120px;color:var(--text-main);background:radial-gradient(circle at top left, #76a6ff3d, transparent 28%), linear-gradient(180deg, var(--bg-top) 0%, var(--bg-bottom) 55%, #fff 100%);color-scheme:light;font-family:SF Pro Display,Segoe UI,Noto Sans TC,PingFang TC,Microsoft JhengHei,sans-serif}html,body{min-width:320px;min-height:100%;margin:0}body{color:var(--text-main);background:0 0}*{box-sizing:border-box}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}img{display:block}.page-shell{min-height:100vh;padding:24px}main{width:min(var(--content-width), 100%);margin:0 auto}@media (width<=720px){.page-shell{padding:16px}}:root[data-theme=dark]{--bg-top:#11131a;--bg-bottom:#171a21;--surface:#1d2028d1;--surface-strong:#20242c;--surface-soft:#282d36;--line:#acb5c629;--line-strong:#c9d2e342;--text-main:#eef2f7;--text-soft:#a4aeba;--accent:#8ab4f8;--accent-soft:#8ab4f829;--accent-deep:#c2dcff;--success:#7fd6a4;--ledger-accent:#5fb885;--ledger-accent-soft:#5fb8852e;--ledger-accent-deep:#d9f4e4;--ui-control-bg:color-mix(in srgb, var(--surface-strong) 82%, #18202d);--ui-control-bg-strong:color-mix(in srgb, var(--surface-strong) 88%, #141a24);--ui-control-border:color-mix(in srgb, var(--ledger-accent) 24%, var(--line));--ui-control-border-strong:color-mix(in srgb, var(--ledger-accent) 30%, var(--line));--ui-control-hover-bg:color-mix(in srgb, var(--ledger-accent) 12%, #151b28);--ui-selection-bg:color-mix(in srgb, var(--ledger-accent) 22%, #1a2233);--ui-selection-border:color-mix(in srgb, var(--ledger-accent) 30%, var(--line));--ui-selection-color:#f4f7ff;--ui-selected-row-bg:color-mix(in srgb, var(--ledger-accent) 18%, #1a2233);--ui-ledger-action-bg:linear-gradient(135deg, color-mix(in srgb, var(--ledger-accent) 78%, white) 0%, color-mix(in srgb, var(--ledger-accent) 54%, var(--surface-soft)) 100%);--ui-ledger-action-bg-hover:linear-gradient(135deg, color-mix(in srgb, var(--ledger-accent) 84%, white) 0%, color-mix(in srgb, var(--ledger-accent) 60%, var(--surface-soft)) 100%);--ui-ledger-action-border:color-mix(in srgb, var(--ledger-accent) 48%, var(--line));--ui-ledger-action-color:color-mix(in srgb, var(--ledger-accent-deep) 86%, var(--text-main));--shadow:0 22px 48px #00000047;background:radial-gradient(circle at top left, #8ab4f81f, transparent 24%), linear-gradient(180deg, var(--bg-top) 0%, var(--bg-bottom) 50%, #12151b 100%);color-scheme:dark}[hidden]{display:none!important}.site-header{width:min(var(--content-width), 100%);background:var(--surface);backdrop-filter:blur(16px);box-shadow:var(--shadow);z-index:10;border:1px solid #ffffffbf;border-radius:999px;grid-template-columns:1fr auto 1fr;align-items:center;margin:0 auto;padding:16px 20px;display:grid;position:sticky;top:20px}.header-side{align-items:center;display:flex}.header-actions{justify-content:flex-end;align-items:center;gap:12px;display:flex}.header-actions .lang-switcher,.header-actions .theme-switcher,.auth-controls{flex-shrink:0}.auth-controls,.user-menu{position:relative}.auth-controls[data-authenticated=true] .login-link,.auth-controls[data-authenticated=false] .user-menu{display:none}.brand-link{letter-spacing:.02em;justify-self:center;align-items:center;gap:12px;min-width:0;font-size:1rem;font-weight:700;display:inline-flex}.brand-text{white-space:nowrap}.brand-badge{background:linear-gradient(135deg, var(--accent) 0%, #7ea6ff 100%);color:#fff;border-radius:12px;justify-content:center;align-items:center;width:36px;height:36px;font-size:.88rem;display:inline-flex;box-shadow:inset 0 1px #ffffff47}.menu-toggle{border:1px solid var(--line);background:color-mix(in srgb, var(--surface-strong) 72%, white);cursor:pointer;border-radius:999px;flex-direction:column;justify-content:center;align-items:center;gap:4px;width:42px;height:42px;padding:0;transition:transform .18s,background .18s,border-color .18s;display:inline-flex}.menu-toggle:hover{border-color:var(--line-strong);transform:translateY(-1px)}.menu-toggle span,.sidebar-close span{background:var(--text-main);border-radius:999px;width:16px;height:1.8px;display:block}.language-switch,.login-link,.icon-button{height:42px;font:inherit;border-radius:999px;justify-content:center;align-items:center;padding:0 16px;font-size:.94rem;font-weight:600;transition:transform .18s,background .18s,border-color .18s;display:inline-flex}.language-switch{border:1px solid var(--line);background:color-mix(in srgb, var(--surface-strong) 72%, white);color:var(--text-soft);cursor:pointer;gap:8px}.login-link{background:var(--text-main);color:var(--surface-strong);border:1px solid #0000}.user-menu-trigger{background:var(--text-main);height:42px;color:var(--surface-strong);font:inherit;cursor:pointer;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;padding:0 16px;font-size:.94rem;font-weight:600;transition:transform .18s,background .18s,border-color .18s;display:inline-flex}.user-menu-trigger:hover{background:color-mix(in srgb, var(--text-main) 88%, black);transform:translateY(-1px)}.user-menu-name{white-space:nowrap;text-overflow:ellipsis;max-width:180px;overflow:hidden}.user-menu-dropdown{border:1px solid var(--line);background:var(--surface-strong);min-width:180px;box-shadow:var(--shadow);backdrop-filter:blur(18px);border-radius:18px;gap:6px;padding:8px;display:grid;position:absolute;top:calc(100% + 10px);right:0}.user-menu-link{min-height:42px;color:var(--text-main);background:0 0;border-radius:14px;align-items:center;padding:10px 14px;font-weight:600;transition:background .18s,transform .18s;display:flex}.user-menu-link:hover{background:color-mix(in srgb, var(--accent) 10%, var(--surface-soft));transform:translate(2px)}.icon-button{border:1px solid var(--line);background:color-mix(in srgb, var(--surface-strong) 72%, white);cursor:pointer;width:42px;padding:0}.language-switch:hover,.login-link:hover,.icon-button:hover{transform:translateY(-1px)}.language-switch:hover,.icon-button:hover{border-color:var(--line-strong)}.login-link:hover{background:color-mix(in srgb, var(--text-main) 88%, black)}.divider{color:#a0acc3}.theme-switcher{position:relative}.sidebar-shell{pointer-events:none;z-index:30;position:fixed;inset:0}.sidebar-overlay{backdrop-filter:blur(6px);cursor:pointer;background:#070a1042;border:0;position:absolute;inset:0}.sidebar-panel{border:1px solid color-mix(in srgb, var(--line) 88%, white);background:color-mix(in srgb, var(--surface-strong) 86%, white);width:min(320px,100vw - 48px);box-shadow:var(--shadow);backdrop-filter:blur(22px);border-radius:30px;flex-direction:column;gap:22px;padding:22px;transition:transform .24s;display:flex;position:absolute;top:20px;bottom:20px;left:24px;transform:translate(calc(-100% - 32px))}.sidebar-header{justify-content:space-between;align-items:center;gap:16px;display:flex}.sidebar-kicker{letter-spacing:.16em;text-transform:uppercase;color:color-mix(in srgb, var(--accent) 72%, var(--text-soft));margin:0;font-size:.82rem;font-weight:700}.sidebar-close{border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:999px;justify-content:center;align-items:center;width:40px;height:40px;padding:0;display:inline-flex;position:relative}.sidebar-close span:first-child{position:absolute;transform:rotate(45deg)}.sidebar-close span:last-child{position:absolute;transform:rotate(-45deg)}.sidebar-nav{gap:10px;display:grid}.sidebar-footer{gap:10px;margin-top:auto;display:grid}.sidebar-link-staff{border-color:color-mix(in srgb, #f2c94c 38%, var(--line));background:color-mix(in srgb, #ffe27a 30%, var(--surface-soft));color:color-mix(in srgb, #6a4d00 84%, var(--text-main))}.sidebar-status{border:1px solid color-mix(in srgb, var(--accent) 10%, var(--line));background:color-mix(in srgb, var(--surface-soft) 76%, transparent);border-radius:20px;padding:16px}.sidebar-status-label,.sidebar-status-value{margin:0}.sidebar-status-label{letter-spacing:.08em;text-transform:uppercase;color:var(--text-soft);font-size:.8rem;font-weight:700}.sidebar-status-value{color:var(--text-main);margin-top:8px;font-size:1rem;font-weight:700}.sidebar-link{background:color-mix(in srgb, var(--surface-soft) 76%, transparent);border:1px solid color-mix(in srgb, var(--accent) 8%, var(--line));color:var(--text-main);border-radius:18px;padding:14px 16px;font-size:1rem;font-weight:600;transition:transform .18s,background .18s,border-color .18s}.sidebar-link:hover{background:color-mix(in srgb, var(--accent) 10%, var(--surface-soft));border-color:color-mix(in srgb, var(--accent) 22%, var(--line));transform:translate(2px)}.sidebar-link-ledger{border-color:color-mix(in srgb, var(--ledger-accent) 48%, var(--line));background:linear-gradient(135deg, color-mix(in srgb, var(--ledger-accent) 88%, white) 0%, color-mix(in srgb, var(--ledger-accent) 56%, white) 100%);color:color-mix(in srgb, var(--ledger-accent-deep) 88%, var(--text-main));box-shadow:inset 0 1px 0 #ffffff6b, 0 16px 30px -24px color-mix(in srgb, var(--ledger-accent-deep) 34%, transparent)}.sidebar-link-ledger:hover{background:linear-gradient(135deg, color-mix(in srgb, var(--ledger-accent) 94%, white) 0%, color-mix(in srgb, var(--ledger-accent) 64%, white) 100%);border-color:color-mix(in srgb, var(--ledger-accent) 68%, var(--line))}.sidebar-link-staff:hover{background:color-mix(in srgb, #ffe27a 42%, var(--surface-soft));border-color:color-mix(in srgb, #f2c94c 55%, var(--line))}.ledger-quiet-button,.ledger-primary-action-button,.ledger-selection-chip{font:inherit;color:var(--text-main)}.ledger-quiet-button,.ledger-primary-action-button{cursor:pointer;border-radius:16px;justify-content:center;align-items:center;min-height:44px;padding:0 16px;font-weight:700;transition:transform .18s,background .18s,border-color .18s,box-shadow .18s;display:inline-flex}.ledger-quiet-button{border:1px solid var(--ui-control-border);background:var(--ui-control-bg);color:var(--text-main);box-shadow:inset 0 1px #ffffff38,0 8px 18px #121a2c14}.ledger-quiet-button:hover:not(:disabled){border-color:var(--ui-control-border-strong);background:var(--ui-control-hover-bg);transform:translateY(-1px)}.ledger-primary-action-button{border:1px solid var(--ui-ledger-action-border);background:var(--ui-ledger-action-bg);color:var(--ui-ledger-action-color);box-shadow:inset 0 1px 0 #ffffff6b, 0 16px 30px -24px color-mix(in srgb, var(--ledger-accent-deep) 34%, transparent)}.ledger-primary-action-button:hover:not(:disabled){background:var(--ui-ledger-action-bg-hover);border-color:color-mix(in srgb, var(--ledger-accent) 60%, var(--line));transform:translateY(-1px)}.ledger-selection-chip{border:1px solid var(--ui-selection-border);background:var(--ui-selection-bg);color:var(--ui-selection-color);border-radius:999px;align-items:center;gap:10px;padding:10px 14px;display:inline-flex}.ledger-selection-chip button{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;font-size:1rem}.ledger-selected-row{background:var(--ui-selected-row-bg)}:root[data-theme=dark] .sidebar-link-staff{border-color:color-mix(in srgb, #c6a231 44%, var(--line));background:color-mix(in srgb, #8b6b16 26%, var(--surface-soft));color:#f7df96}:root[data-theme=dark] .sidebar-link-staff:hover{background:color-mix(in srgb, #8b6b16 38%, var(--surface-soft));border-color:color-mix(in srgb, #d7b64f 62%, var(--line))}:root[data-theme=dark] .sidebar-link-ledger{border-color:color-mix(in srgb, var(--ledger-accent) 48%, var(--line));background:linear-gradient(135deg, color-mix(in srgb, var(--ledger-accent) 78%, white) 0%, color-mix(in srgb, var(--ledger-accent) 54%, var(--surface-soft)) 100%);color:color-mix(in srgb, var(--ledger-accent-deep) 86%, var(--text-main));box-shadow:inset 0 1px #fff3,0 18px 34px -26px #1665346b}:root[data-theme=dark] .sidebar-link-ledger:hover{background:linear-gradient(135deg, color-mix(in srgb, var(--ledger-accent) 84%, white) 0%, color-mix(in srgb, var(--ledger-accent) 60%, var(--surface-soft)) 100%);border-color:color-mix(in srgb, var(--ledger-accent) 60%, var(--line))}:root[data-theme=dark] .ledger-quiet-button{box-shadow:inset 0 1px #ffffff0a,0 10px 22px #00000047}:root[data-theme=dark] .ledger-primary-action-button{box-shadow:inset 0 1px #fff3,0 18px 34px -26px #1665346b}.lang-switcher{position:relative}.theme-menu{border:1px solid var(--line);background:var(--surface-strong);min-width:152px;box-shadow:var(--shadow);backdrop-filter:blur(18px);border-radius:18px;padding:8px;position:absolute;top:calc(100% + 10px);right:0}.lang-menu{border:1px solid var(--line);background:var(--surface-strong);min-width:164px;box-shadow:var(--shadow);backdrop-filter:blur(18px);border-radius:18px;padding:8px;position:absolute;top:calc(100% + 10px);right:0}.theme-option{width:100%;font:inherit;color:var(--text-main);cursor:pointer;background:0 0;border:0;border-radius:12px;align-items:center;gap:10px;padding:10px 12px;display:flex}.lang-option{width:100%;font:inherit;color:var(--text-main);cursor:pointer;background:0 0;border:0;border-radius:12px;justify-content:flex-start;align-items:center;padding:10px 12px;font-size:.92rem;font-weight:600;display:flex}.theme-option:hover,.theme-option[data-active],.lang-option:hover,.lang-option[data-active]{background:var(--surface-soft)}.theme-option span{font-size:.92rem;font-weight:600}[data-sidebar-open]{overflow:hidden}[data-sidebar-open] .sidebar-shell{pointer-events:auto}[data-sidebar-open] .sidebar-panel{transform:translate(0)}@media (width<=720px){.site-header{border-radius:24px;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;padding:18px;top:16px}.brand-link{justify-self:center}.header-actions{grid-column:auto;justify-content:flex-end;justify-self:end;gap:10px}.language-switch,.icon-button{width:42px;padding:0}.language-switch span,.login-link{display:none}.sidebar-panel{border-radius:0;width:100vw;padding:28px 20px;top:0;bottom:0;left:0;transform:translate(-100%)}.user-menu-name{max-width:112px}}@media (width<=560px){.site-header{gap:10px;padding:14px 16px}.brand-link{gap:0}.brand-text{display:none}}
