:root{--bg: #0b1220;--panel: #0f1a2b;--panel-2: #0b1322;--border: rgba(148, 163, 184, .18);--text: #e5e7eb;--muted: rgba(229, 231, 235, .75);--primary: #60a5fa;--primary-2: #93c5fd;--success: #22c55e;--warning: #f59e0b;--danger: #ef4444;--shadow: 0 10px 30px rgba(0, 0, 0, .35);--radius: 14px;--radius-sm: 10px;--mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Courier New", monospace;--sans: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--sans);color:var(--text);background:radial-gradient(1200px 600px at 20% 0%,rgba(96,165,250,.18),transparent 55%),radial-gradient(900px 500px at 90% 10%,rgba(34,197,94,.12),transparent 55%),linear-gradient(180deg,var(--bg),#050815);overflow:hidden}.container{height:100%;display:flex;flex-direction:column;padding:20px 24px 30px}.card{display:flex;flex-direction:column;flex:1;background:linear-gradient(180deg,#ffffff08,#ffffff03);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);overflow:hidden}.card-header{padding:14px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.card-title{font-weight:800;font-size:14px}.card-body{flex:1;display:flex;flex-direction:column;padding:14px;min-height:0}.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.spacer{flex:1}button{appearance:none;border:1px solid var(--border);background:linear-gradient(180deg,#ffffff0f,#ffffff05);color:var(--text);padding:10px 12px;border-radius:12px;cursor:pointer;font-weight:700;transition:all .15s ease;box-shadow:0 6px 18px #0003}button:hover{transform:translateY(-1px);border-color:#60a5fa59}button:disabled{opacity:.5;cursor:not-allowed}.btn-primary{border-color:#60a5fa73;background:linear-gradient(180deg,#60a5fa59,#60a5fa1f)}.btn-danger{border-color:#ef444473;background:linear-gradient(180deg,#ef444459,#ef44441f)}.btn-success{border-color:#22c55e73;background:linear-gradient(180deg,#22c55e4d,#22c55e1a)}.btn-ghost{background:transparent;box-shadow:none}input,textarea,select{width:100%;background:#0307128c;border:1px solid var(--border);color:var(--text);padding:10px 12px;border-radius:12px}textarea{min-height:140px;resize:vertical}.table-wrapper{flex:1;overflow-y:auto;border-radius:var(--radius);border:1px solid var(--border);background:#0307124d;min-height:0;padding-bottom:20px}table{width:100%;border-collapse:collapse}table th,table td{text-align:center}thead{position:sticky;top:0;z-index:20;background:#0f172a}thead th{padding:12px;font-size:12px;text-transform:uppercase;border-bottom:1px solid var(--border)}tbody td{padding:12px;border-bottom:1px solid rgba(148,163,184,.1)}tbody tr:hover td{background:#60a5fa0f}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.tab{padding:9px 12px;border-radius:999px;border:1px solid var(--border);background:#03071259;cursor:pointer;font-weight:800;font-size:13px}.tab.active{background:#60a5fa2e;border-color:#60a5fa73}.badge{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;border:1px solid var(--border);font-size:12px;font-weight:800}.dot{width:9px;height:9px;border-radius:999px;background:#94a3b899}.dot.success{background:var(--success)}.dot.danger{background:var(--danger)}.dot.warning{background:var(--warning)}.log-panel{background:#000;border:1px solid rgba(34,197,94,.18);border-radius:var(--radius);padding:12px;box-shadow:var(--shadow);flex:1;display:flex;flex-direction:column}.log-box{flex:1;overflow:auto;font-family:var(--mono);font-size:13px;color:#22c55e;white-space:pre-wrap}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-thumb{background:#94a3b838;border-radius:999px}*::-webkit-scrollbar-thumb:hover{background:#94a3b857}.toast-container{position:fixed;bottom:20px;right:20px;display:flex;flex-direction:column;gap:10px;z-index:9999}.toast{padding:12px 16px;border-radius:12px;font-weight:600;min-width:220px;animation:slideIn .25s ease,fadeOut .3s ease 2.7s forwards;box-shadow:0 10px 25px #0006;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.toast.success{background:#22c55e26;border:1px solid rgba(34,197,94,.4);color:#22c55e}.toast.error{background:#ef444426;border:1px solid rgba(239,68,68,.4);color:#ef4444}.toast.info{background:#60a5fa26;border:1px solid rgba(96,165,250,.4);color:#60a5fa}@keyframes slideIn{0%{transform:translateY(40px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes fadeOut{to{opacity:0;transform:translateY(40px)}}.log-panel{background:#111;padding:15px;border-radius:8px;color:#fff}.log-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.clear-btn{background:#f44;border:none;padding:6px 12px;border-radius:4px;cursor:pointer;color:#fff;font-weight:700}.clear-btn:hover{background:#c00}.log-box{max-height:400px;overflow-y:auto}.log-table{width:100%;border-collapse:collapse;font-size:13px}.log-table th{background:#222;padding:8px;border-bottom:1px solid #333;text-align:left}.log-table td{padding:6px 8px;border-bottom:1px solid #222}.success-row{color:#0f0}.fail-row{color:#f55}.logs-page{height:100%;display:flex;flex-direction:column;padding:20px 24px 24px}.logs-panel{flex:1;display:flex;flex-direction:column;background:linear-gradient(180deg,#ffffff0a,#ffffff05);border:1px solid rgba(148,163,184,.18);border-radius:14px;box-shadow:0 10px 30px #00000059;overflow:hidden}.logs-header{padding:14px 16px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid rgba(148,163,184,.18)}.logs-table-wrapper{flex:1;overflow-y:auto;min-height:0}.logs-table{width:100%;border-collapse:collapse;font-size:13px}.logs-table thead{position:sticky;top:0;background:#0f172a;z-index:10}.logs-table th{padding:12px;text-transform:uppercase;font-size:12px;border-bottom:1px solid rgba(148,163,184,.2)}.logs-table td{padding:10px;border-bottom:1px solid rgba(148,163,184,.08)}.logs-table tbody tr:hover td{background:#60a5fa0f}.logs-success{color:#22c55e}.logs-fail{color:#ef4444}.logs-clear-btn{padding:8px 14px;font-weight:700;border-radius:10px;background:#ef44442e;border:1px solid rgba(239,68,68,.35);color:#ef4444;cursor:pointer}.logs-clear-btn:hover{background:#ef444447}
