:root { --ink:#231916; --accent:#8C6A3F; }
html, body, #app { height:100%; margin:0; font-family:-apple-system,"Microsoft YaHei",sans-serif; }
.app-container { height:100vh; }
.app-aside { background:#1f1a17; color:#e8e3da; }
.brand { height:56px; display:flex; align-items:center; gap:8px; padding:0 18px;
         font-size:16px; font-weight:600; color:#fff; letter-spacing:1px; }
.brand-mark { color:var(--accent); font-size:18px; }
.app-menu { border-right:none; }
.app-aside .el-menu { --el-menu-bg-color:transparent; --el-menu-text-color:#c9c2b6;
    --el-menu-hover-bg-color:rgba(255,255,255,.06); --el-menu-active-color:#fff;
    --el-menu-hover-text-color:#fff; }
.app-header { display:flex; align-items:center; justify-content:space-between;
    background:#fff; border-bottom:1px solid #ececec; padding:0 20px; }
.header-title { font-size:16px; font-weight:600; color:var(--ink); }
.header-right { display:flex; align-items:center; gap:14px; color:#666; }
.who { font-size:13px; color:#555; }
.app-main { background:#f4f6f9; padding:18px; }
.login-wrap { height:100vh; display:flex; align-items:center; justify-content:center;
    background:linear-gradient(135deg,#2b2521,#3a322c); }
.login-card { width:360px; }
.login-title { font-size:20px; font-weight:700; text-align:center; color:var(--ink); }
.login-sub { font-size:12px; text-align:center; color:#999; margin:6px 0 16px; }
.sec-alert { margin-bottom:16px; line-height:1.6; }
.sec-ack { margin-bottom:14px; color:#8a6d3b; }
.login-btn { width:100%; }
.stat-card { text-align:center; }
.stat-label { color:#888; font-size:13px; }
.stat-value { font-size:28px; font-weight:700; color:var(--ink); margin-top:6px; }
.mt16 { margin-top:16px; }
.mt12 { margin-top:12px; }
.hint { color:#888; }
.toolbar { display:flex; align-items:center; gap:10px; margin-bottom:14px; flex-wrap:wrap; }
.doc-table { width:100%; }
.pager { margin-top:14px; display:flex; justify-content:flex-end; }
.detail-head { display:flex; align-items:center; justify-content:space-between; }
.detail-amount { font-size:22px; font-weight:700; color:var(--ink); }
.sec-h { font-weight:600; color:var(--ink); margin:18px 0 10px; padding-left:9px; border-left:3px solid var(--accent); }
.drawer-actions { margin-top:22px; display:flex; gap:10px; flex-wrap:wrap; }
.todo-badge { margin-left:10px; }
