:root{--font-family:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--color-primary:#2563eb;--color-primary-hover:#1d4ed8;--color-primary-light:#eff6ff;--color-bg-base:#f8fafc;--color-bg-surface:#fff;--color-bg-surface-hover:#f1f5f9;--color-text-primary:#0f172a;--color-text-secondary:#475569;--color-text-tertiary:#94a3b8;--color-border:#e2e8f0;--color-border-hover:#cbd5e1;--color-danger:#ef4444;--color-danger-hover:#dc2626;--color-danger-light:#fef2f2;--color-success:#10b981;--color-success-light:#ecfdf5;--color-warning:#f59e0b;--color-warning-light:#fffbeb;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-full:9999px;--transition-fast:.15s cubic-bezier(.4, 0, .2, 1)}@media (prefers-color-scheme:dark){:root{--color-bg-base:#0f172a;--color-bg-surface:#1e293b;--color-bg-surface-hover:#334155;--color-text-primary:#f8fafc;--color-text-secondary:#94a3b8;--color-border:#334155;--color-border-hover:#475569;--color-primary-light:#1e3a8a;--color-danger-light:#7f1d1d;--color-success-light:#064e3b;--color-warning-light:#78350f}}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);background-color:var(--color-bg-base);color:var(--color-text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.5}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.25}a{color:var(--color-primary);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--color-primary-hover)}button{cursor:pointer;background:0 0;border:none;font-family:inherit}.app-layout{height:100vh;display:flex;overflow:hidden}.sidebar{background-color:var(--color-bg-surface);border-right:1px solid var(--color-border);width:260px;transition:width var(--transition-fast);flex-direction:column;display:flex}.sidebar-collapsed{width:64px}.main-content{flex-direction:column;flex:1;display:flex;overflow:hidden}.topbar{background-color:var(--color-bg-surface);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;height:64px;padding:0 1.5rem;display:flex}.page-content{flex:1;padding:2rem;overflow-y:auto}.card{background-color:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:1.5rem}.btn{border-radius:var(--radius-md);transition:all var(--transition-fast);justify-content:center;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;display:inline-flex}.btn-primary{background-color:var(--color-primary);color:#fff}.btn-primary:hover{background-color:var(--color-primary-hover)}.btn-outline{border:1px solid var(--color-border);color:var(--color-text-primary);background-color:#0000}.btn-outline:hover{background-color:var(--color-bg-surface-hover);border-color:var(--color-border-hover)}.input-group{flex-direction:column;gap:.5rem;margin-bottom:1rem;display:flex}.input-label{color:var(--color-text-secondary);font-size:.875rem;font-weight:500}.input-text{border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-bg-surface);color:var(--color-text-primary);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);padding:.5rem .75rem;font-family:inherit;font-size:.875rem}.input-text:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light);outline:none}.data-table-wrapper{border:1px solid var(--color-border);border-radius:var(--radius-lg);background-color:var(--color-bg-surface);width:100%;overflow-x:auto}.data-table{border-collapse:collapse;text-align:left;width:100%}.data-table th,.data-table td{border-bottom:1px solid var(--color-border);padding:.75rem 1rem;font-size:.875rem}.data-table th{background-color:var(--color-bg-surface-hover);color:var(--color-text-secondary);font-weight:600}.data-table tr:last-child td{border-bottom:none}.data-table tbody tr:hover{background-color:var(--color-bg-base)}.badge{border-radius:var(--radius-full);align-items:center;padding:.125rem .625rem;font-size:.75rem;font-weight:500;display:inline-flex}.badge-success{background-color:var(--color-success-light);color:var(--color-success)}.badge-primary{background-color:var(--color-primary-light);color:var(--color-primary)}
