:root,[data-theme=light]{--bg-color:#f7f8fb;--surface-color:#fff;--surface-hover:#f1f5f9;--text-primary:#0f172a;--text-secondary:#475569;--primary-color:#4f46e5;--primary-hover:#4338ca;--primary-rgb:79, 70, 229;--danger-color:#dc2626;--success-color:#10b981;--border-color:#e2e8f0;--radius:8px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--ease-out:cubic-bezier(.16, 1, .3, 1);--shadow-xs:0 1px 2px #0f172a0d;--shadow-sm:0 1px 3px #0f172a12, 0 1px 2px #0f172a0d;--shadow-md:0 8px 16px -4px #0f172a1a, 0 3px 6px -2px #0f172a0f;--shadow-lg:0 24px 48px -12px #0f172a33, 0 8px 20px -6px #0f172a1f}[data-theme=dark]{--bg-color:#0f172a;--surface-color:#1e293b;--surface-hover:#334155;--text-primary:#f8fafc;--text-secondary:#94a3b8;--primary-color:#6366f1;--primary-hover:#818cf8;--primary-rgb:99, 102, 241;--border-color:#334155;--shadow-xs:0 1px 2px #00000040;--shadow-sm:0 1px 3px #00000059, 0 1px 2px #00000040;--shadow-md:0 8px 20px -4px #00000073, 0 3px 8px -2px #00000059;--shadow-lg:0 28px 56px -14px #000000a6, 0 10px 24px -6px #00000080}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-color);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.55;transition:background-color .3s,color .3s}a{color:inherit;text-decoration:none}input,button,select,textarea{color:inherit;font-family:inherit}h1,h2,h3,h4,h5,h6{letter-spacing:-.01em}h1,h2,h3,h4,h5,h6,p,span,div,td,th,label,a,button{overflow-wrap:break-word;word-break:break-word;min-width:0}input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible{box-shadow:0 0 0 3px rgba(var(--primary-rgb), .18);border-color:var(--primary-color);outline:none}.container{max-width:1200px;margin:0 auto;padding:0 1rem}.btn{border-radius:var(--radius);cursor:pointer;transition:all .2s var(--ease-out);border:1px solid #0000;justify-content:center;align-items:center;padding:.5rem 1rem;font-weight:500;display:inline-flex}.btn-primary{background-color:var(--primary-color);color:#fff;box-shadow:0 1px 2px rgba(var(--primary-rgb), .25)}.btn-primary:hover{background-color:var(--primary-hover);box-shadow:0 6px 16px -4px rgba(var(--primary-rgb), .45);transform:translateY(-1px)}.btn-primary:active{transform:translateY(0)}.input-field{background-color:var(--bg-color);border:1px solid var(--border-color);border-radius:var(--radius);width:100%;color:var(--text-primary);transition:border-color .2s var(--ease-out), box-shadow .2s var(--ease-out);padding:.75rem 1rem}.input-field:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(var(--primary-rgb), .18);outline:none}.card{background-color:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);transition:box-shadow .25s var(--ease-out), border-color .25s var(--ease-out);padding:1.5rem}.card:hover{box-shadow:var(--shadow-md);border-color:rgba(var(--primary-rgb), .25)}.ui-card-hover{transition:transform .25s var(--ease-out), box-shadow .25s var(--ease-out), border-color .25s var(--ease-out);cursor:pointer}.ui-card-hover:hover{box-shadow:var(--shadow-lg), 0 0 0 1px rgba(var(--accent-rgb,var(--primary-rgb)), .35);border-color:rgba(var(--accent-rgb,var(--primary-rgb)), .4);transform:translateY(-4px)}.ui-card-hover:active{transition-duration:.1s;transform:translateY(-1px)}.ui-panel-hover{transition:box-shadow .25s var(--ease-out), border-color .25s var(--ease-out)}.ui-panel-hover:hover{box-shadow:var(--shadow-md), 0 0 0 1px rgba(var(--accent-rgb,var(--primary-rgb)), .18);border-color:rgba(var(--accent-rgb,var(--primary-rgb)), .3)}.table-scroll{-webkit-overflow-scrolling:touch;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(--border-color);padding:1rem}.data-table th{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;font-size:.875rem;font-weight:500}.data-table tbody tr{transition:background-color .15s var(--ease-out)}.data-table tbody tr:hover{background-color:var(--surface-hover)}
