:root{--navy: #1B3F78;--navy-2: #26323A;--deep: #0A182A;--cream: #F4F6F8;--sand: #E6E9EC;--accent: #1F9EA5;--teal: #147A80;--teal-bg: #E2F3F4;--amber-bg: #FBECD4;--amber-fg: #8a5a1e;--red: #a12e26;--red-bg: #F7DCDA;--muted: #7C8A91}*{box-sizing:border-box}body{margin:0;font-family:Sansation,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:var(--cream);color:var(--navy-2)}button{font:inherit;cursor:pointer;border:none;border-radius:8px;padding:8px 14px;font-weight:600}button:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--navy);color:#fff}.btn-approve{background:var(--accent);color:#fff}.btn-reject{background:var(--red);color:#fff}.btn-ghost{background:transparent;color:var(--navy);border:1px solid var(--sand)}.btn-sm{padding:5px 10px;font-size:13px}input,select,textarea{font:inherit;padding:8px 10px;border:1px solid var(--sand);border-radius:8px;background:#fff;color:var(--navy-2);width:100%}label{display:block;font-size:12px;font-weight:700;color:var(--muted);margin-bottom:4px}.shell{display:flex;min-height:100vh}.sidebar{width:220px;background:var(--deep);color:#fff;padding:20px 14px;flex-shrink:0;display:flex;flex-direction:column}.brand-row{display:flex;align-items:center;gap:10px;margin-bottom:24px}.brand-logo{width:42px;height:42px;flex-shrink:0;object-fit:contain}.brand{font-weight:700;font-size:16px;letter-spacing:.02em;line-height:1.15}.brand small{display:block;font-weight:500;opacity:.6;font-size:11px;margin-top:3px}.nav-item{display:flex;justify-content:space-between;align-items:center;width:100%;text-align:left;background:transparent;color:#ccd6dd;padding:10px 12px;border-radius:8px;margin-bottom:4px;font-weight:600}.nav-item:hover{background:#ffffff0f}.nav-item.active{background:var(--navy);color:#fff}.nav-badge{background:var(--accent);color:#fff;border-radius:999px;padding:1px 8px;font-size:12px}.sidebar-foot{margin-top:auto;font-size:12px;color:#9fb0bb}.sidebar-foot button{color:#cfe0e9;background:transparent;padding:6px 0}.main{flex:1;padding:28px 32px;overflow:auto}.page-title{font-size:22px;font-weight:700;color:var(--navy);margin:0 0 4px}.page-sub{color:var(--muted);margin:0 0 22px;font-size:14px}.card{background:#fff;border:1px solid var(--sand);border-radius:12px;padding:16px;margin-bottom:12px}.row-between{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.stack{display:flex;flex-direction:column;gap:4px}.field-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px 18px;margin-top:10px}.field-grid .k{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.03em}.field-grid .v{font-size:14px}.field-grid .low-conf{color:var(--accent);font-weight:700}.badge{border-radius:999px;padding:3px 10px;font-size:11px;font-weight:700;text-transform:uppercase}.badge-pending{background:var(--amber-bg);color:var(--amber-fg)}.badge-approved{background:var(--teal-bg);color:var(--teal)}.badge-rejected{background:var(--red-bg);color:var(--red)}.checkline{display:flex;align-items:center;gap:8px;margin:12px 0}.checkline input{width:auto}.checkline label{margin:0;font-size:13px;color:var(--navy-2);font-weight:600}.actions{display:flex;gap:8px;align-items:center;margin-top:12px;flex-wrap:wrap}.empty{color:var(--muted);text-align:center;padding:48px}.error{background:var(--red-bg);color:var(--red);padding:10px 12px;border-radius:8px;font-size:13px;margin:8px 0}.hint{background:var(--amber-bg);color:var(--amber-fg);padding:10px 12px;border-radius:8px;font-size:13px;margin:8px 0}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:9px 10px;border-bottom:1px solid var(--sand);font-size:14px}th{font-size:11px;text-transform:uppercase;letter-spacing:.03em;color:var(--muted)}.table-wrap{overflow-x:auto}.login-wrap{display:flex;align-items:center;justify-content:center;min-height:100vh}.login-card{background:#fff;border:1px solid var(--sand);border-radius:16px;padding:32px;width:360px}.login-card h1{font-size:20px;color:var(--navy);margin:0 0 4px}.login-card p{color:var(--muted);font-size:13px;margin:0 0 20px}.login-card label{margin-top:12px}.login-card .btn-primary{width:100%;margin-top:20px;padding:11px}
