:root{--bg-0:#0a0c12;--bg-1:#10131c;--bg-2:#161a26;--bg-3:#1c2130;--surface:#ffffff08;--surface-hover:#ffffff0e;--border:#ffffff14;--border-strong:#ffffff24;--text-hi:#f3f5f9;--text-mid:#a6adbb;--text-low:#6b7383;--accent:#00e5a0;--accent-dim:#00e5a022;--accent-strong:#05ffb0;--blue:#5b8def;--amber:#f5b942;--red:#ef5b6b;--radius-sm:8px;--radius-md:12px;--radius-lg:18px;--shadow-1:0 1px 0 #ffffff0a inset, 0 8px 24px #00000059;--shadow-2:0 1px 0 #ffffff0d inset, 0 16px 48px #00000080;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif}*{box-sizing:border-box}html,body,#root{height:100%}body{background:radial-gradient(1200px 600px at 15% -10%, #00e5a012, transparent 60%), radial-gradient(900px 500px at 100% 0%, #5b8def0f, transparent 55%), var(--bg-0);color:var(--text-hi);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0}a{color:inherit;text-decoration:none}button,input,select{font-family:inherit;font-size:inherit;color:inherit}button{cursor:pointer}::selection{background:var(--accent-dim);color:var(--text-hi)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:8px}.app-shell{grid-template-columns:248px 1fr;min-height:100vh;display:grid}.sidebar{background:linear-gradient(180deg, var(--bg-1), var(--bg-0));border-right:1px solid var(--border);flex-direction:column;gap:28px;padding:24px 16px;display:flex}.brand{align-items:center;gap:10px;padding:0 8px;display:flex}.brand-mark{background:linear-gradient(135deg, var(--accent), #00b389);color:#06110c;border-radius:9px;justify-content:center;align-items:center;width:32px;height:32px;font-size:14px;font-weight:800;display:flex;box-shadow:0 0 0 1px #00e5a04d,0 8px 20px #00e5a02e}.brand-name{letter-spacing:.2px;font-size:15px;font-weight:650}.brand-sub{color:var(--text-low);margin-top:1px;font-size:11px}.nav-section{flex-direction:column;gap:2px;display:flex}.nav-label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-low);margin-bottom:8px;padding:0 12px;font-size:11px}.nav-item{border-radius:var(--radius-sm);color:var(--text-mid);align-items:center;gap:10px;padding:9px 12px;font-size:13.5px;font-weight:500;transition:background .15s,color .15s;display:flex}.nav-item:hover{background:var(--surface);color:var(--text-hi)}.nav-item.active{background:var(--accent-dim);color:var(--accent-strong)}.sidebar-footer{border-top:1px solid var(--border);flex-direction:column;gap:10px;margin-top:auto;padding-top:16px;display:flex}.user-chip{border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--border);align-items:center;gap:10px;padding:8px 10px;display:flex}.user-avatar{background:linear-gradient(135deg, var(--blue), #3a5bd9);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:12px;font-weight:700;display:flex}.user-email{color:var(--text-mid);text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;overflow:hidden}.btn-logout{border:1px solid var(--border);color:var(--text-mid);border-radius:var(--radius-sm);background:0 0;padding:8px 10px;font-size:12.5px;transition:all .15s}.btn-logout:hover{border-color:var(--red);color:var(--red)}.main-area{max-width:1280px;padding:32px 40px 60px}.page-header{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:28px;display:flex}.page-title{letter-spacing:-.02em;font-size:24px;font-weight:650}.page-subtitle{color:var(--text-low);margin-top:4px;font-size:13.5px}.back-link{color:var(--text-mid);align-items:center;gap:6px;margin-bottom:16px;font-size:13px;transition:color .15s;display:inline-flex}.back-link:hover{color:var(--text-hi)}.card{background:linear-gradient(180deg, var(--surface), #ffffff04);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-1);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.card-pad{padding:24px 26px}.card-header{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.card-title{letter-spacing:-.01em;font-size:15px;font-weight:600}.pill-group{background:var(--bg-2);border:1px solid var(--border);border-radius:999px;gap:4px;padding:4px;display:inline-flex}.pill{color:var(--text-mid);white-space:nowrap;background:0 0;border:none;border-radius:999px;padding:7px 16px;font-size:12.5px;font-weight:550;transition:all .15s}.pill:hover{color:var(--text-hi)}.pill.active{background:var(--accent);color:#06150f}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:13.5px}thead th{text-align:left;text-transform:uppercase;letter-spacing:.06em;color:var(--text-low);border-bottom:1px solid var(--border);white-space:nowrap;padding:0 14px 12px;font-size:11px;font-weight:600}tbody td{border-bottom:1px solid var(--border);color:var(--text-hi);vertical-align:middle;padding:15px 14px}tbody tr{cursor:pointer;transition:background .15s}tbody tr:hover{background:var(--surface-hover)}tbody tr:last-child td{border-bottom:none}.cell-mono{font-variant-numeric:tabular-nums;color:var(--text-mid)}.cell-muted{color:var(--text-low)}.doc-type-chip{color:var(--text-mid);align-items:center;gap:6px;font-size:12px;display:inline-flex}.doc-type-dot{border-radius:50%;width:6px;height:6px}.badge{letter-spacing:.01em;white-space:nowrap;border:1px solid #0000;border-radius:999px;align-items:center;gap:6px;padding:5px 11px;font-size:11.5px;font-weight:600;display:inline-flex}.badge:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.badge-pending{color:var(--amber);background:#f5b9421a;border-color:#f5b94240}.badge-approved{color:var(--accent-strong);background:#00e5a01a;border-color:#00e5a040}.badge-rejected{color:var(--red);background:#ef5b6b1a;border-color:#ef5b6b40}.field-grid{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.field{flex-direction:column;gap:6px;display:flex}.field label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-low);font-size:11.5px;font-weight:600}.field input,.field select{background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-hi);padding:10px 12px;font-size:13.5px;transition:border-color .15s,background .15s}.field input:focus,.field select:focus{border-color:var(--accent);background:var(--bg-3);outline:none}.field input:disabled{opacity:.6}.field input[type=number]{font-variant-numeric:tabular-nums}.btn{border-radius:var(--radius-sm);border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:11px 20px;font-size:13.5px;font-weight:600;transition:transform 80ms,filter .15s,background .15s,border-color .15s;display:inline-flex}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.btn-primary{background:linear-gradient(135deg, var(--accent-strong), #00b389);color:#06150f;box-shadow:0 8px 20px #00e5a02e}.btn-primary:hover:not(:disabled){filter:brightness(1.08)}.btn-danger{color:var(--red);background:#ef5b6b1a;border-color:#ef5b6b4d}.btn-danger:hover:not(:disabled){background:#ef5b6b2e}.btn-ghost{background:var(--surface);color:var(--text-mid);border-color:var(--border)}.btn-ghost:hover:not(:disabled){color:var(--text-hi);border-color:var(--border-strong)}.btn-lg{padding:13px 26px;font-size:14.5px}.login-screen{justify-content:center;align-items:center;min-height:100vh;display:flex;position:relative;overflow:hidden}.login-glow{pointer-events:none;background:radial-gradient(circle,#00e5a01f,#0000 70%);border-radius:50%;width:700px;height:700px;position:absolute;top:-220px;left:50%;transform:translate(-50%)}.login-card{z-index:1;width:380px;padding:40px 36px;position:relative}.login-brand{flex-direction:column;align-items:center;gap:14px;margin-bottom:30px;display:flex}.login-brand .brand-mark{border-radius:12px;width:44px;height:44px;font-size:18px}.login-title{font-size:19px;font-weight:650}.login-subtitle{color:var(--text-low);text-align:center;font-size:13px}.login-form{flex-direction:column;gap:16px;display:flex}.login-error{color:var(--red);border-radius:var(--radius-sm);background:#ef5b6b1a;border:1px solid #ef5b6b4d;padding:10px 12px;font-size:12.5px}.login-hint{color:var(--text-low);text-align:center;margin-top:22px;font-size:11.5px;line-height:1.6}.login-hint code{background:var(--bg-2);border:1px solid var(--border);color:var(--text-mid);border-radius:5px;padding:1px 6px}.detail-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:24px;display:flex}.detail-title-row{align-items:center;gap:12px;display:flex}.detail-id{color:var(--text-low);font-variant-numeric:tabular-nums;font-size:13px}.action-row{gap:10px;display:flex}.section{margin-bottom:22px}.match-indicator{border-radius:999px;align-items:center;gap:7px;padding:7px 13px;font-size:12.5px;font-weight:600;display:inline-flex}.match-indicator.matched{color:var(--accent-strong);background:#00e5a01a;border:1px solid #00e5a040}.match-indicator.unmatched{color:var(--amber);background:#f5b9421a;border:1px solid #f5b94240}.line-items-table input{width:100%;color:var(--text-hi);background:0 0;border:1px solid #0000;border-radius:6px;padding:6px 8px;font-size:13px}.line-items-table input:hover{border-color:var(--border)}.line-items-table input:focus{border-color:var(--accent);background:var(--bg-2);outline:none}.line-items-table td{padding:6px 8px}.line-items-table th{padding-bottom:10px}.totals-row td{border-top:1px solid var(--border);color:var(--text-hi);padding-top:14px;font-weight:650;border-bottom:none!important}.empty-state{color:var(--text-low);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:70px 20px;display:flex}.empty-state-icon{opacity:.5;font-size:30px}.spinner{border:2px solid #ffffff26;border-top-color:var(--accent);border-radius:50%;width:18px;height:18px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.center-page{justify-content:center;align-items:center;min-height:60vh;display:flex}.toast{background:var(--bg-3);border:1px solid var(--border-strong);color:var(--text-hi);border-radius:var(--radius-md);box-shadow:var(--shadow-2);z-index:50;padding:13px 18px;font-size:13px;animation:.2s toast-in;position:fixed;bottom:24px;right:24px}.toast.error{color:#ffb3ba;border-color:#ef5b6b66}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (width<=900px){.app-shell{grid-template-columns:1fr}.sidebar{display:none}.main-area{padding:20px}.field-grid{grid-template-columns:1fr 1fr}}
