@charset "UTF-8";*{box-sizing:border-box;margin:0;padding:0}body{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background:#0f172a;color:#e2e8f0;height:100vh;overflow:hidden}@media (max-width: 768px){body{height:auto;min-height:100vh;overflow-y:auto;overflow-x:hidden}}.card{background:#1e293b;border-radius:8px;padding:1.5rem;box-shadow:0 4px 6px #0000004d}.btn{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem 1.1rem;border:none;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:500;transition:opacity .15s}.btn:hover{opacity:.85}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.btn-primary{background:#3b82f6;color:#fff}.btn.btn-success{background:#22c55e;color:#fff}.btn.btn-danger{background:#ef4444;color:#fff}.btn.btn-secondary{background:#475569;color:#fff}.badge{padding:.2rem .55rem;border-radius:999px;font-size:.75rem;font-weight:600}.badge.green{background:#166534;color:#86efac}.badge.red{background:#7f1d1d;color:#fca5a5}.badge.yellow{background:#713f12;color:#fde68a}.badge.blue{background:#1e3a5f;color:#93c5fd}table{width:100%;border-collapse:collapse;font-size:.83rem}table th,table td{padding:.5rem .75rem;text-align:left;border-bottom:1px solid #334155;white-space:nowrap}table th{background:#0f172a;color:#94a3b8;font-weight:600;position:sticky;top:0;z-index:1}table tr:hover td{background:#1e2d45}.form-group{display:flex;flex-direction:column;gap:.35rem;margin-bottom:1rem}.form-group label{font-size:.85rem;color:#94a3b8}.form-group input,.form-group select{background:#0f172a;border:1px solid #334155;border-radius:6px;color:#e2e8f0;padding:.5rem .75rem;font-size:.9rem;outline:none;transition:border-color .15s}.form-group input:focus,.form-group select:focus{border-color:#3b82f6}.error-msg{color:#f87171;font-size:.83rem;margin-top:.25rem}.table-container{overflow-x:auto;border-radius:8px}.positive{color:#4ade80}.negative{color:#f87171}.neutral{color:#94a3b8}.spinner-wrap{display:flex;justify-content:center;padding:2rem}.spinner{width:36px;height:36px;border:3px solid #334155;border-top-color:#3b82f6;border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.spinner.sm{width:14px;height:14px;border-width:2px;display:inline-block;flex-shrink:0}
