:root{--bg: oklch(.16 .012 260);--surface: oklch(.21 .014 260);--surface2: oklch(.26 .016 260);--surface3: oklch(.3 .018 260);--border: oklch(.34 .018 260);--border-strong: oklch(.42 .02 260);--text: oklch(.92 .004 260);--text-secondary: oklch(.72 .008 260);--muted: oklch(.58 .01 260);--accent: oklch(.68 .16 250);--accent-hover: oklch(.74 .16 250);--accent-soft: oklch(.68 .16 250 / .12);--green: oklch(.72 .17 145);--green-soft: oklch(.72 .17 145 / .14);--yellow: oklch(.78 .16 80);--yellow-soft: oklch(.78 .16 80 / .14);--red: oklch(.66 .2 25);--red-soft: oklch(.66 .2 25 / .14);--shadow: 0 1px 3px oklch(0 0 0 / .3), 0 1px 2px oklch(0 0 0 / .2);--shadow-lg: 0 10px 30px oklch(0 0 0 / .4);--radius: 10px;--radius-sm: 6px;--radius-lg: 14px;--transition: .18s cubic-bezier(.4, 0, .2, 1)}:root[data-theme=light]{--bg: oklch(.97 .004 260);--surface: oklch(1 0 0);--surface2: oklch(.95 .005 260);--surface3: oklch(.92 .006 260);--border: oklch(.9 .006 260);--border-strong: oklch(.82 .008 260);--text: oklch(.22 .012 260);--text-secondary: oklch(.42 .01 260);--muted: oklch(.55 .01 260);--accent: oklch(.55 .18 250);--accent-hover: oklch(.48 .18 250);--accent-soft: oklch(.55 .18 250 / .1);--green: oklch(.55 .16 145);--green-soft: oklch(.55 .16 145 / .12);--yellow: oklch(.62 .16 80);--yellow-soft: oklch(.62 .16 80 / .12);--red: oklch(.55 .2 25);--red-soft: oklch(.55 .2 25 / .1);--shadow: 0 1px 3px oklch(0 0 0 / .08), 0 1px 2px oklch(0 0 0 / .06);--shadow-lg: 0 10px 30px oklch(0 0 0 / .12)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;background:var(--bg);color:var(--text);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover)}button{cursor:pointer;padding:8px 18px;border:none;border-radius:var(--radius-sm);background:var(--accent);color:#fff;font-size:13px;font-weight:600;transition:var(--transition);white-space:nowrap}button:hover{background:var(--accent-hover)}button:active{transform:scale(.97)}button.secondary{background:var(--surface2);color:var(--text-secondary);border:1px solid var(--border)}button.secondary:hover{background:var(--surface3);color:var(--text);border-color:var(--border-strong)}button.danger{background:var(--red)}button.danger:hover{opacity:.88}button.ghost{background:transparent;color:var(--muted);padding:6px 10px;border:1px solid transparent}button.ghost:hover{background:var(--surface2);color:var(--text)}input,select,textarea{padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface2);color:var(--text);font-size:13px;width:100%;transition:var(--transition);font-family:inherit}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}input::placeholder{color:var(--muted)}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%238b90a5' d='M6 8L2 4h8z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:30px}.layout{display:flex;min-height:100vh}.sidebar{background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;flex-shrink:0;transition:width .2s ease}.sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:18px 16px;gap:8px}.sidebar-header h2{font-size:15px;font-weight:700;color:var(--accent);letter-spacing:-.3px;white-space:nowrap}.sidebar-toggle{flex-shrink:0;width:28px;height:28px;padding:0;display:flex;align-items:center;justify-content:center;background:var(--surface2);border:1px solid var(--border);color:var(--muted);font-size:12px;border-radius:var(--radius-sm)}.sidebar-toggle:hover{color:var(--text);background:var(--surface3)}.sidebar nav{display:flex;flex-direction:column;gap:2px;padding:0 8px}.sidebar nav a{display:flex;align-items:center;gap:10px;padding:9px 12px;color:var(--text-secondary);font-size:13px;font-weight:500;border-radius:var(--radius-sm);transition:var(--transition);white-space:nowrap;overflow:hidden}.sidebar nav a:hover{background:var(--surface2);color:var(--text)}.sidebar nav a.active{background:var(--accent-soft);color:var(--accent);font-weight:600}.sidebar nav a .icon{font-size:16px;flex-shrink:0;width:20px;text-align:center}.sidebar-footer{margin-top:auto;padding:16px;border-top:1px solid var(--border);font-size:12px;color:var(--muted)}.sidebar-footer a{color:var(--muted)}.sidebar-footer a:hover{color:var(--accent)}.main{flex:1;padding:28px 32px;overflow-x:auto;min-width:0}.page-title{font-size:22px;font-weight:700;margin-bottom:22px;letter-spacing:-.4px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px;margin-bottom:18px;box-shadow:var(--shadow)}.card h3{font-size:15px;font-weight:600;margin-bottom:14px}.grid{display:grid;gap:16px}.grid-2{grid-template-columns:1fr 1fr}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}table{width:100%;border-collapse:collapse;font-size:13px}th,td{text-align:left;padding:9px 12px;border-bottom:1px solid var(--border)}th{color:var(--muted);font-weight:600;text-transform:uppercase;font-size:10px;letter-spacing:.5px}tr:hover{background:var(--surface2)}.badge{display:inline-flex;align-items:center;padding:2px 9px;border-radius:20px;font-size:11px;font-weight:600;letter-spacing:.2px}.badge-green{background:var(--green-soft);color:var(--green)}.badge-yellow{background:var(--yellow-soft);color:var(--yellow)}.badge-red{background:var(--red-soft);color:var(--red)}.badge-muted{background:var(--surface2);color:var(--muted)}.badge-new{background:var(--yellow-soft);color:var(--yellow);font-size:9px;padding:1px 6px;border-radius:4px;font-weight:700;letter-spacing:.5px}.dropzone{border:2px dashed var(--border-strong);border-radius:var(--radius);padding:36px;text-align:center;color:var(--muted);cursor:pointer;transition:var(--transition);font-size:14px}.dropzone:hover,.dropzone.drag{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.stat{text-align:center}.stat .val{font-size:26px;font-weight:700;letter-spacing:-.5px}.stat .label{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin-top:4px}.validation-layout{display:grid;grid-template-columns:1fr 1fr;gap:18px}.pdf-preview{background:var(--surface2);border-radius:var(--radius-sm);min-height:400px;display:flex;align-items:center;justify-content:center;color:var(--muted)}.field-row{display:flex;align-items:center;gap:10px;margin-bottom:8px}.field-row label{width:170px;font-size:12px;color:var(--text-secondary);flex-shrink:0;font-weight:500}.field-row input{flex:1}.confidence{font-size:11px;width:46px;text-align:right;flex-shrink:0;font-weight:600}.combobox{position:relative;flex:1}.combobox input{width:100%;padding-right:30px}.combobox .cb-clear{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:18px;height:18px;padding:0;display:flex;align-items:center;justify-content:center;background:var(--surface3);border:none;color:var(--muted);font-size:11px;border-radius:4px;cursor:pointer;transition:var(--transition);z-index:1}.combobox .cb-clear:hover{background:var(--red);color:#fff}.combobox .cb-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);max-height:220px;overflow-y:auto;z-index:100;padding:4px}.combobox .cb-option{padding:7px 10px;font-size:13px;cursor:pointer;border-radius:4px;color:var(--text);transition:var(--transition)}.combobox .cb-option:hover,.combobox .cb-option.cb-active{background:var(--accent-soft);color:var(--accent)}.combobox .cb-empty{padding:10px;font-size:12px;color:var(--muted);text-align:center}.line-items-table input{padding:5px 8px;font-size:12px;border-radius:4px}.line-items-table th{font-size:10px;padding:6px 8px}.line-items-table td{padding:4px 6px}.line-items-table .combobox input{padding-right:24px;font-size:12px}.line-items-table .cb-clear{width:16px;height:16px;font-size:10px;right:4px}.line-items-table .cb-dropdown{max-height:180px}.theme-toggle{width:36px;height:36px;padding:0;display:flex;align-items:center;justify-content:center;background:var(--surface2);border:1px solid var(--border);color:var(--text-secondary);font-size:16px;border-radius:50%;cursor:pointer;transition:var(--transition);flex-shrink:0}.theme-toggle:hover{background:var(--surface3);color:var(--accent);border-color:var(--accent)}.login-wrapper{display:flex;justify-content:center;align-items:center;min-height:100vh;padding:20px}.login-card{width:100%;max-width:400px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:36px 32px;box-shadow:var(--shadow-lg)}.login-card h2{font-size:20px;font-weight:700;color:var(--accent);margin-bottom:6px;letter-spacing:-.3px}.login-card .subtitle{color:var(--muted);font-size:13px;margin-bottom:24px}.login-card input{margin-bottom:12px;padding:11px 14px;font-size:14px}.login-card button{width:100%;padding:11px;font-size:14px}.otp-input{text-align:center;font-size:22px;letter-spacing:6px;font-weight:700;font-family:SF Mono,Consolas,monospace}.topbar{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-bottom:20px}.topbar .user-info{font-size:12px;color:var(--muted);padding:6px 12px;background:var(--surface2);border-radius:20px;border:1px solid var(--border)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--muted)}@media(max-width:900px){.validation-layout{grid-template-columns:1fr}.grid-3,.grid-4{grid-template-columns:1fr 1fr}.main{padding:20px 16px}}@media(max-width:600px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.field-row{flex-direction:column;align-items:stretch}.field-row label{width:100%}.field-row .confidence{width:100%;text-align:left}}
