:root{--color-primary-100:#f3f4f6;--color-primary-200:#e5e7eb;--color-primary-400:#9ca3af;--color-primary-600:#111827;--color-primary-700:#0f172a;--color-primary-900:#020617;--color-accent-100:#eff6ff;--color-accent-500:#2563eb;--color-accent-700:#1d4ed8;--color-neutral-50:#fff;--color-neutral-100:#f8fafc;--color-neutral-200:#e5e7eb;--color-neutral-300:#d1d5db;--color-neutral-400:#9ca3af;--color-neutral-600:#4b5563;--color-neutral-800:#111827;--color-neutral-900:#0f172a;--color-success-100:#ecfdf5;--color-success-600:#047857;--color-warning-100:#fffbeb;--color-warning-600:#b45309;--color-danger-100:#fef2f2;--color-danger-600:#dc2626;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:14px;--space-5:16px;--space-6:20px;--space-8:24px;--space-10:32px;--space-12:40px;--space-16:52px;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:14px;--radius-full:9999px;--shadow-sm:0 1px 2px #0f172a0a;--shadow-md:0 8px 24px #0f172a0f;--shadow-lg:0 20px 48px #0f172a14;--sidebar-width:220px;--topbar-height:60px;--border-color:#0f172a14;--text-main:var(--color-neutral-900);--text-muted:var(--color-neutral-600);--surface:#ffffffe0;--surface-strong:#fffffff5}*{box-sizing:border-box;margin:0;padding:0}html{min-height:100%;font-size:15px}body{min-height:100vh;color:var(--text-main);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f7f7f8;font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:.9375rem;line-height:1.45}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer;border:0}input,select,textarea{border:1px solid var(--border-color);border-radius:var(--radius-sm);width:100%;min-height:36px;color:var(--text-main);background:#fff;padding:7px 10px}input:focus,select:focus,textarea:focus{border-color:var(--color-accent-500);outline:2px solid #52779a2e}code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.app-shell{grid-template-columns:var(--sidebar-width) 1fr;min-height:100vh;display:grid}.sidebar{height:100vh;padding:var(--space-5) var(--space-4);border-right:1px solid var(--border-color);background:#fcfcfd;align-self:start;position:sticky;top:0}.brand{align-items:center;gap:var(--space-3);margin-bottom:var(--space-6);display:flex}.brand small{color:var(--text-muted);margin-top:2px;font-size:.8rem;display:block}.brand-mark{color:#fff;background:#111827;border-radius:10px;place-items:center;width:32px;height:32px;font-size:.8rem;font-weight:700;display:grid}.nav{gap:2px;display:grid}.nav-link{border-radius:var(--radius-sm);color:var(--text-muted);padding:8px 10px;font-size:.92rem;transition:background-color .15s,color .15s}.nav-link:hover{color:var(--text-main);background:#eef2f7}.workspace{flex-direction:column;min-width:0;display:flex}.topbar{min-height:var(--topbar-height);padding:var(--space-5) var(--space-6) var(--space-4);justify-content:space-between;align-items:center;gap:var(--space-3);border-bottom:1px solid var(--border-color);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#f7f7f8e6;display:flex}.topbar h1{letter-spacing:-.01em;font-family:inherit;font-size:1.4rem;font-weight:600;line-height:1.15}.topbar-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.content{padding:var(--space-5) var(--space-6) var(--space-6);gap:var(--space-4);display:grid}.eyebrow{color:var(--text-muted);letter-spacing:.01em;text-transform:none;margin-bottom:2px;font-size:.78rem;font-weight:500}.panel{padding:var(--space-4);border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--surface-strong);box-shadow:var(--shadow-sm)}.stats-grid,.dashboard-grid,.detail-grid{gap:var(--space-4);display:grid}.stats-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-grid{grid-template-columns:minmax(0,1fr) minmax(340px,.95fr)}.detail-grid--single{grid-template-columns:minmax(0,920px)}.stat-panel{gap:4px;display:grid}.stat-label,.muted{color:var(--text-muted)}.stat-value{font-size:1.5rem;font-weight:600;line-height:1.05}.section-heading{margin-bottom:var(--space-3);justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.section-heading h2{font-size:1.05rem;font-weight:600}.stack-list{gap:var(--space-2);display:grid}.list-row{justify-content:space-between;align-items:center;gap:var(--space-3);border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--surface-strong);padding:10px 12px;display:flex}.button{border-radius:var(--radius-full);background:var(--color-primary-600);color:#fff;min-height:34px;box-shadow:var(--shadow-sm);justify-content:center;align-items:center;gap:6px;padding:7px 12px;font-size:.9rem;font-weight:600;display:inline-flex}.button--ghost{color:var(--text-main);border:1px solid var(--border-color);box-shadow:none;background:0 0}.button--danger{background:var(--color-danger-600)}.button:disabled{opacity:.5;cursor:not-allowed}.status-chip{border-radius:var(--radius-full);border:1px solid #0000;align-items:center;padding:3px 8px;font-size:.78rem;font-weight:600;line-height:1.3;display:inline-flex}.status-chip--neutral,.status-chip--info{background:var(--color-accent-100);color:var(--color-accent-700)}.status-chip--success{background:var(--color-success-100);color:var(--color-success-600)}.status-chip--warning{background:var(--color-warning-100);color:var(--color-warning-600)}.status-chip--danger{background:var(--color-danger-100);color:var(--color-danger-600)}.form-panel{max-width:860px}.auth-panel{max-width:460px}.auth-form{margin-top:var(--space-3)}.form-grid{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.form-grid label,.mapping-row,.mapping-header{gap:6px;display:grid}.field-span-2{grid-column:1/-1}.form-actions{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;margin-top:2px;display:flex}.table-panel{overflow:hidden}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-top:1px solid var(--border-color);vertical-align:top;padding:9px 10px;font-size:.92rem}thead th{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;border-top:0;font-size:.76rem;font-weight:600}.mapping-list{gap:var(--space-3);display:grid}.mapping-row{border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--surface-strong);grid-template-columns:minmax(0,1fr) minmax(220px,280px);align-items:center;padding:10px 12px}.checkbox-row{align-items:center;gap:var(--space-2);display:inline-flex}.checkbox-row input{width:auto}.filter-row{gap:var(--space-2);flex-wrap:wrap;display:flex}.filter-pill{border-radius:var(--radius-full);color:var(--text-muted);border:1px solid var(--border-color);background:#fff;padding:5px 9px;font-size:.84rem}.filter-pill--active{background:var(--color-primary-600);border-color:var(--color-primary-600);color:#fff}.error-text{color:var(--color-danger-600)}.warning-text{color:var(--color-warning-600)}.message-stack{margin-top:var(--space-3);gap:var(--space-2);display:grid}.code-block{padding:var(--space-3);border-radius:var(--radius-sm);color:#e5e7eb;background:#111827;font-size:.82rem;overflow:auto}.detail-card{max-width:900px}.detail-list{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.detail-list dt{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:2px;font-size:.74rem}.detail-list dd{font-size:.94rem}.detail-span-full{grid-column:1/-1}.empty-state{padding:var(--space-8);text-align:center;border-radius:var(--radius-md);background:#ffffffb3;border:1px dashed #0f172a1f}.empty-state h2{margin-bottom:var(--space-2);font-size:1.15rem}@media (max-width:1080px){.app-shell{grid-template-columns:1fr}.sidebar{border-right:0;border-bottom:1px solid var(--border-color);height:auto;padding-bottom:var(--space-4);position:static}.stats-grid,.dashboard-grid,.detail-grid,.detail-grid--single{grid-template-columns:1fr}}@media (max-width:720px){.topbar,.content{padding-left:var(--space-4);padding-right:var(--space-4)}.form-grid,.mapping-row,.detail-list{grid-template-columns:1fr}.list-row,.topbar,.form-actions{flex-direction:column;align-items:stretch}th:nth-child(3),td:nth-child(3),th:nth-child(4),td:nth-child(4){display:none}}
