.app-shell[data-v-9ad94e21]{display:flex;flex-direction:column;height:100%}.topbar[data-v-9ad94e21]{display:flex;align-items:center;gap:24px;padding:12px 24px;background:var(--bg-elev);border-bottom:1px solid var(--border);height:52px}.brand[data-v-9ad94e21]{display:flex;align-items:center;gap:8px;font-weight:600}.brand .logo[data-v-9ad94e21]{font-size:22px;color:var(--accent)}.navlinks[data-v-9ad94e21]{display:flex;gap:4px;flex:1}.navlinks a[data-v-9ad94e21]{padding:6px 12px;border-radius:var(--radius);color:var(--fg-mute)}.navlinks a[data-v-9ad94e21]:hover{background:var(--border-soft);text-decoration:none}.navlinks a.router-link-active[data-v-9ad94e21]{background:var(--accent-soft);color:var(--accent)}.user-area[data-v-9ad94e21]{display:flex;gap:12px;align-items:center}.content[data-v-9ad94e21]{flex:1;overflow:auto;padding:24px}:root{--bg: #fafaf9;--bg-elev: #ffffff;--border: #e7e5e4;--border-soft: #f4f4f4;--fg: #1c1917;--fg-mute: #57534e;--fg-soft: #a8a29e;--accent: #0f766e;--accent-soft: #ccfbf1;--warn: #b45309;--error: #b91c1c;--error-soft: #fee2e2;--radius: 6px;--shadow: 0 1px 2px rgba(0,0,0,.04), 0 1px 3px rgba(0,0,0,.06)}*{box-sizing:border-box}html,body,#app{height:100%;margin:0;font-family:-apple-system,BlinkMacSystemFont,Inter,PingFang SC,Microsoft YaHei,sans-serif;color:var(--fg);background:var(--bg);font-size:14px;line-height:1.45}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button{font:inherit;padding:6px 14px;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-elev);color:var(--fg);cursor:pointer}button:hover{border-color:var(--fg-mute)}button:disabled{opacity:.5;cursor:not-allowed}button.primary{background:var(--accent);color:#fff;border-color:var(--accent)}button.primary:hover{filter:brightness(1.05)}button.danger{color:var(--error);border-color:var(--error)}input,select,textarea{font:inherit;padding:6px 8px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elev);color:var(--fg);outline:none}input:focus,select:focus,textarea:focus{border-color:var(--accent)}table{border-collapse:collapse;width:100%}th,td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--border-soft)}th{font-weight:600;color:var(--fg-mute);font-size:12px;text-transform:uppercase;letter-spacing:.04em}tbody tr:hover{background:var(--border-soft)}.card{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px}.tag{display:inline-block;padding:2px 8px;border-radius:12px;font-size:12px;background:var(--border-soft);color:var(--fg-mute)}.tag.owner-darren{background:#eff6ff;color:#1d4ed8}.tag.owner-alex{background:#fdf4ff;color:#a21caf}.tag.owner-allen{background:#f0fdf4;color:#15803d}.tag.owner-lin{background:#fefce8;color:#a16207}.tag.owner-company{background:#f1f5f9;color:#475569}.tag.status-pending{background:#fff7ed;color:var(--warn)}.tag.status-reimbursed{background:var(--accent-soft);color:var(--accent)}.tag.status-na{background:var(--border-soft);color:var(--fg-soft)}.violation-error{background:var(--error-soft);color:var(--error);border-left:3px solid var(--error);padding:6px 10px;margin:4px 0;font-family:monospace;font-size:12px}.violation-warning{background:#fff7ed;color:var(--warn);border-left:3px solid var(--warn);padding:6px 10px;margin:4px 0;font-family:monospace;font-size:12px}.muted{color:var(--fg-mute)}.soft{color:var(--fg-soft)}.row{display:flex;gap:12px;align-items:center}.col{display:flex;flex-direction:column;gap:12px}.spacer{flex:1}.field-grid{display:grid;grid-template-columns:130px 1fr;gap:8px 12px;align-items:center}.label{font-size:12px;color:var(--fg-mute);text-transform:uppercase;letter-spacing:.04em}
