:root{--color-primary: #16233f;--color-primary-dark: #0d1730;--color-primary-light: #2a3d66;--color-accent: #c8a24a;--color-bg: #f3f5f9;--color-surface: #ffffff;--color-text: #1a2033;--color-text-muted: #6b7280;--color-border: #e3e6ee;--color-danger: #c0392b;--color-danger-bg: #fdecea;--radius-md: 10px;--radius-lg: 16px;--shadow-md: 0 10px 30px rgba(13, 23, 48, .08);--shadow-lg: 0 20px 45px rgba(13, 23, 48, .12);--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif}*{box-sizing:border-box}html,body{height:100%;margin:0}body{font-family:var(--font-sans);background:var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased}h1,h2,h3,h4,p{margin:0}button{font-family:inherit}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border:none;border-radius:var(--radius-md);padding:.75rem 1.25rem;font-size:.95rem;font-weight:600;cursor:pointer;transition:background-color .15s ease,box-shadow .15s ease,transform .05s ease}.btn:active{transform:translateY(1px)}.btn:disabled{cursor:not-allowed;opacity:.65}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--color-primary-light)}.btn-ghost{background:transparent;color:var(--color-text-muted);border:1px solid var(--color-border)}.btn-ghost:hover:not(:disabled){border-color:var(--color-primary-light);color:var(--color-primary)}.field{display:flex;flex-direction:column;gap:.4rem;text-align:left}.field label{font-size:.8rem;font-weight:600;color:var(--color-text-muted);letter-spacing:.02em;text-transform:uppercase}.field input{font-family:inherit;font-size:.95rem;padding:.7rem .85rem;border-radius:var(--radius-md);border:1px solid var(--color-border);background:#fff;color:var(--color-text);outline:none;transition:border-color .15s ease,box-shadow .15s ease}.field input:focus{border-color:var(--color-primary-light);box-shadow:0 0 0 3px #2a3d6626}.field input.invalid{border-color:var(--color-danger)}.alert{display:flex;align-items:center;gap:.5rem;border-radius:var(--radius-md);padding:.65rem .85rem;font-size:.88rem;font-weight:500}.alert-danger{background:var(--color-danger-bg);color:var(--color-danger)}.card{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.topbar{display:flex;align-items:center;justify-content:space-between;padding:1rem 2rem;background:var(--color-surface);border-bottom:1px solid var(--color-border)}.topbar__brand{display:flex;align-items:center;gap:.65rem}.brand-mark--sm{width:34px;height:34px;border-radius:9px;background:var(--color-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:.8rem}.brand-name{font-weight:700;font-size:1.05rem;color:var(--color-text)}.topbar__user{display:flex;align-items:center;gap:1rem}.user-info{display:flex;flex-direction:column;align-items:flex-end;line-height:1.25}.user-info__name{font-weight:600;font-size:.9rem}.user-info__role{font-size:.72rem;font-weight:600;color:var(--color-text-muted);letter-spacing:.04em;text-transform:uppercase}.page-content{width:100%;max-width:1180px;margin:0 auto;padding:2rem 2rem 3rem;display:flex;flex-direction:column;gap:1.25rem}.page-heading h1{font-size:1.5rem;font-weight:700}.page-heading p{margin-top:.35rem;color:var(--color-text-muted);font-size:.9rem}.filters{display:flex;flex-wrap:wrap;gap:.75rem;align-items:flex-end;padding:1rem 1.25rem}.filters .field{min-width:180px;flex:1}.filters select,.filters input{font-family:inherit;font-size:.9rem;padding:.6rem .75rem;border-radius:var(--radius-md);border:1px solid var(--color-border);background:#fff;color:var(--color-text)}.table-card{padding:.5rem 1.25rem;overflow-x:auto}.data-table{width:100%;border-collapse:collapse}.data-table th,.data-table td{text-align:left;padding:.8rem .6rem;font-size:.88rem;border-bottom:1px solid var(--color-border);white-space:nowrap}.data-table th{color:var(--color-text-muted);font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em}.data-table td.num,.data-table th.num{text-align:right}.data-table tbody tr:last-child td{border-bottom:none}.data-table tr.clickable{cursor:pointer}.data-table tr.clickable:hover td,.data-table tr.selected td{background:#f7f8fb}.badge{display:inline-block;padding:.2rem .6rem;border-radius:999px;font-size:.72rem;font-weight:700;letter-spacing:.02em;background:#eef0f6;color:var(--color-text-muted)}.badge[data-value=APPROVED],.badge[data-value=ACTIVE],.badge[data-value=POSTED]{background:#e5f5ec;color:#1e7a45}.badge[data-value=STAGED],.badge[data-value=PENDING]{background:#fdf3e0;color:#a5730f}.badge[data-value=REJECTED],.badge[data-value=CANCELLED],.badge[data-value=FAILED]{background:var(--color-danger-bg);color:var(--color-danger)}.badge[data-value=PREPAID]{background:#e8eefb;color:var(--color-primary-light)}.badge[data-value=EXPENSE]{background:#f6efdc;color:#8a6a1f}.empty-state{padding:2rem 0;text-align:center;color:var(--color-text-muted);font-size:.9rem}.back-link{font-size:.85rem;font-weight:600;color:var(--color-primary-light);text-decoration:none}.back-link:hover{text-decoration:underline}.detail-title{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.detail-title h1{font-size:1.5rem;font-weight:700}.section-card{padding:1.25rem 1.5rem;overflow-x:auto}.section-card h2{font-size:1rem;font-weight:700;margin-bottom:.9rem}.detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem 1.5rem;margin:0}@media (max-width: 760px){.detail-grid{grid-template-columns:1fr}}.detail-grid dt{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted)}.detail-grid dd{margin:.25rem 0 0;font-size:.92rem;overflow-wrap:anywhere}.text-link{color:var(--color-primary-light);font-weight:600;text-decoration:none}.text-link:hover{text-decoration:underline}.journal-entry+.journal-entry{margin-top:1.25rem}.journal-entry__meta{font-size:.88rem;margin-bottom:.4rem}
