@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";
:root{--background:#f0f9fd;--foreground:#3f404a;--surface:#fff;--surface-hover:#f1f5f9;--border:#e2e8f0;--primary:#15364c;--primary-hover:#0c1f2c;--primary-foreground:#fff;--locus-deep-blue:#15364c;--locus-light-blue:#c4e8ed;--locus-accent:#f15942;--success:#10b981;--warning:#f59e0b;--danger:#ef4444;--info:#3b82f6;--sidebar-width:240px;--header-height:60px;--radius-sm:9999px;--radius-md:9999px;--radius-lg:12px;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--background);color:var(--foreground);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,sans-serif}a{color:inherit;text-decoration:none}button{cursor:pointer;background:0 0;border:none;font-family:inherit}.app-layout{height:100vh;display:flex;overflow:hidden}.app-sidebar{width:var(--sidebar-width);background-color:var(--surface);border-right:1px solid var(--border);flex-direction:column;display:flex}.app-sidebar-header{height:var(--header-height);border-bottom:1px solid var(--border);align-items:center;padding:0 20px;font-size:1.125rem;font-weight:600;display:flex}.app-sidebar-nav{flex-direction:column;flex:1;gap:8px;padding:16px 12px;display:flex}.app-nav-link{border-radius:var(--radius-md);color:#64748b;align-items:center;gap:12px;padding:8px 12px;font-weight:500;transition:all .2s;display:flex}.app-nav-link:hover{background-color:var(--surface-hover);color:var(--foreground)}.app-nav-link[data-active=true]{color:var(--primary);background-color:#eff6ff}.app-main{flex-direction:column;flex:1;min-width:0;display:flex}.app-header{height:var(--header-height);background-color:var(--surface);border-bottom:1px solid var(--border);align-items:center;padding:0 24px;font-weight:600;display:flex}.app-content{flex:1;padding:24px;overflow:auto}.btn{border-radius:var(--radius-md);cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:8px 16px;font-size:.875rem;font-weight:500;transition:all .2s,transform .1s;display:inline-flex}.btn:active{transform:scale(.97)}.btn:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.btn-primary{background-color:var(--primary);color:var(--primary-foreground)}.btn-primary:hover{background-color:var(--primary-hover)}.btn-secondary{background-color:var(--surface);border-color:var(--border);color:var(--foreground)}.btn-secondary:hover{background-color:var(--surface-hover)}.btn-danger{background-color:var(--surface);border-color:var(--danger);color:var(--danger)}.btn-danger:hover{background-color:var(--danger);color:#fff}.input{border-radius:var(--radius-md);border:1px solid var(--border);outline:none;width:100%;padding:8px 16px;font-family:inherit;font-size:.875rem;transition:all .2s;display:block}.input:focus{border-color:var(--primary);box-shadow:0 0 0 2px #2563eb1a}.table-container{background-color:var(--surface);border-radius:var(--radius-lg);border:1px solid var(--border);box-shadow:var(--shadow-sm);overflow:hidden}.table-container-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:16px;display:flex}table{border-collapse:collapse;width:100%;font-size:.875rem}th{text-align:left;border-bottom:1px solid var(--border);color:#64748b;white-space:nowrap;background-color:#f8fafc;padding:12px 16px;font-weight:500}td{border-bottom:1px solid var(--border);color:var(--foreground);padding:12px 16px}tr:last-child td{border-bottom:none}tr:nth-child(2n) td{background-color:#f8fafc}tr:hover td{background-color:#f1f5f9}.badge{text-transform:capitalize;border-radius:9999px;align-items:center;padding:2px 8px;font-size:.75rem;font-weight:500;display:inline-flex}.badge-verified{color:#166534;background-color:#dcfce7}.badge-suggested{color:#854d0e;background-color:#fef08a}.badge-unmatched{color:#991b1b;background-color:#fee2e2}.badge-no_match{color:#475569;background-color:#f1f5f9}.badge-imported_id{color:#3730a3;background-color:#e0e7ff}.badge-imported_validation_failed{color:#b91c1c;background-color:#fee2e2;border:1px dashed #ef4444}.section-title{margin-bottom:16px;font-size:1.25rem;font-weight:600}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:24px}
