:root{--p:#7c3aed;--pl:#a78bfa;--pk:#c084fc;--pi:#818cf8;--pdk:#5b21b6;--bg:#0f1117;--bgc:#0a0d14;--bgc2:#0f1119;--bd:rgba(255,255,255,.06);--bdh:rgba(124,58,237,.45);--glow:0 0 20px rgba(124,58,237,.28);--grad:linear-gradient(135deg,#7c3aed,#5b21b6);--grad-t:linear-gradient(135deg,#818cf8,#c084fc)}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:hidden}body{font-family:Roboto,sans-serif;background:var(--bg);color:#fff;overflow-x:hidden;max-width:100vw}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes tx-pulse-ring{0%{box-shadow:0 0 #7c3aed4d}70%{box-shadow:0 0 0 10px #7c3aed00}to{box-shadow:0 0 #7c3aed00}}@keyframes tx-flicker{0%,to{opacity:1}92%{opacity:1}93%{opacity:.85}94%{opacity:1}96%{opacity:.9}97%{opacity:1}}@keyframes tx-slide-up{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes tx-zoom-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes tx-notif-in{0%{opacity:0;transform:translate(22px)}to{opacity:1;transform:translate(0)}}@keyframes tx-notif-out{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(22px)}}@keyframes tx-dot-blink{0%,to{opacity:1}50%{opacity:.3}}@keyframes c-shim{0%{left:-80%}to{left:130%}}@keyframes pl-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-18px)}}.tx-animate-slide-up{animation:tx-slide-up .4s cubic-bezier(.16,1,.3,1) both}.tx-animate-flicker{animation:tx-flicker 8s infinite}.tx-bg-grid{position:fixed;inset:0;z-index:0;pointer-events:none;background-image:linear-gradient(rgba(124,58,237,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(124,58,237,.035) 1px,transparent 1px);background-size:52px 52px}.tx-tech-canvas{position:fixed;inset:0;z-index:0;pointer-events:none}.tx-card{background:linear-gradient(145deg,var(--bgc),var(--bgc2));border:1px solid var(--bd);border-radius:20px;position:relative;overflow:hidden;transition:all .3s cubic-bezier(.2,.9,.4,1.1)}.card-shimmer{position:absolute;top:0;left:-80%;width:50%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.04),transparent);transform:skew(-15deg);pointer-events:none}.tx-card:hover{border-color:var(--bdh);transform:translateY(-4px);box-shadow:0 25px 35px -12px #0009,0 0 0 1px #7c3aed1a}.tx-card:hover .card-shimmer{animation:c-shim .65s ease-out forwards}.tx-btn-primary{background:var(--grad);color:#fff;font-family:Roboto,sans-serif;font-weight:700;font-size:.9rem;letter-spacing:.02em;border:none;border-radius:10px;padding:.75rem 1.5rem;cursor:pointer;transition:all .2s;position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none}.tx-btn-primary:hover{opacity:.9;transform:translateY(-1px);box-shadow:var(--glow)}.tx-btn-primary:active{transform:translateY(0)}.tx-btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none}.tx-btn-secondary{background:transparent;color:#ffffffa6;font-family:Roboto,sans-serif;font-weight:600;font-size:.875rem;border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:.75rem 1.25rem;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;justify-content:center;gap:8px}.tx-btn-secondary:hover{border-color:#7c3aed66;color:#fff;background:#7c3aed12}.tx-input{width:100%;background:#0d1117;border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:.75rem 1rem;color:#fff;font-family:Roboto,sans-serif;font-size:.9rem;outline:none;transition:all .2s}.tx-input:focus{border-color:var(--p);background:var(--bgc);box-shadow:0 0 0 3px #7c3aed26}.tx-input::placeholder{color:#ffffff38}.tx-badge-success{background:#34d3991f;color:#34d399;border:1px solid rgba(52,211,153,.25);font-family:Roboto Mono,monospace;font-size:.68rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:.2rem .6rem;border-radius:999px}.tx-badge-pending{background:#fbbf241a;color:#fbbf24;border:1px solid rgba(251,191,36,.2);font-family:Roboto Mono,monospace;font-size:.68rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:.2rem .6rem;border-radius:999px}.tx-badge-error{background:#f871711a;color:#f87171;border:1px solid rgba(248,113,113,.2);font-family:Roboto Mono,monospace;font-size:.68rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:.2rem .6rem;border-radius:999px}.tx-progress-track{height:3px;background:#ffffff12;border-radius:999px;overflow:hidden}.tx-progress-fill{height:100%;background:linear-gradient(90deg,var(--p),var(--pl));border-radius:999px;transition:width .5s cubic-bezier(.16,1,.3,1)}.tx-notification-container{position:fixed;top:1rem;right:1rem;z-index:9999;display:flex;flex-direction:column;gap:.5rem;pointer-events:none;max-width:min(380px,calc(100vw - 2rem))}.tx-notification{pointer-events:all;background:#0a0d14;border:1.5px solid rgba(255,255,255,.08);border-radius:14px;padding:.875rem 1rem;display:flex;align-items:flex-start;gap:.75rem;box-shadow:0 8px 32px #00000080;animation:tx-notif-in .35s cubic-bezier(.16,1,.3,1) both}.tx-notification.tx-notification-exit{animation:tx-notif-out .3s ease both}.tx-notification-icon{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.tx-notification-success .tx-notification-icon{background:#34d3991f;color:#34d399}.tx-notification-error .tx-notification-icon{background:#f871711f;color:#f87171}.tx-notification-warning .tx-notification-icon{background:#fbbf241a;color:#fbbf24}.tx-notification-info .tx-notification-icon{background:#7c3aed1f;color:#a78bfa}.tx-notification-success{border-color:#34d39933}.tx-notification-error{border-color:#f8717138}.tx-notification-warning{border-color:#fbbf242e}.tx-notification-info{border-color:#7c3aed33}.tx-notification-title{font-family:Roboto,sans-serif;font-weight:700;font-size:.85rem;color:#fff;line-height:1.3}.tx-notification-body{font-family:Roboto Mono,monospace;font-size:.72rem;color:#ffffff80;line-height:1.5;margin-top:.2rem}.tx-notification-close{margin-left:auto;flex-shrink:0;cursor:pointer;color:#ffffff4d;transition:color .15s;background:none;border:none;padding:0;line-height:1;display:flex;align-items:center}.tx-notification-close:hover{color:#ffffffb3}.tx-plan-card{background:linear-gradient(145deg,var(--bgc),var(--bgc2));border:1px solid var(--bd);border-radius:16px;padding:1.25rem;cursor:pointer;transition:all .25s cubic-bezier(.2,.9,.4,1.1);position:relative;overflow:hidden}.tx-plan-card:before{content:"";position:absolute;top:0;left:-80%;width:50%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.03),transparent);transform:skew(-15deg);pointer-events:none}.tx-plan-card:hover{border-color:var(--bdh);transform:translateY(-3px);box-shadow:0 20px 30px -10px #00000080}.tx-plan-card:hover:before{animation:c-shim .6s ease-out forwards}.tx-plan-card.active{border-color:#7c3aedb3;box-shadow:var(--glow);background:linear-gradient(145deg,#0d0a1c,#110d20)}.tx-step-indicator{display:flex;align-items:center;gap:0}.tx-step{display:flex;flex-direction:column;align-items:center;flex:1;position:relative}.tx-step:not(:last-child):after{content:"";position:absolute;top:12px;left:calc(50% + 12px);right:calc(-50% + 12px);height:1.5px;background:#ffffff12;transition:background .4s;z-index:0}.tx-step.completed:not(:last-child):after{background:linear-gradient(90deg,var(--p),rgba(124,58,237,.2))}.tx-step-dot{width:24px;height:24px;border-radius:50%;border:2px solid rgba(255,255,255,.12);background:var(--bgc);display:flex;align-items:center;justify-content:center;font-size:.65rem;font-weight:700;color:#ffffff4d;font-family:Roboto Mono,monospace;transition:all .3s;position:relative;z-index:1}.tx-step.active .tx-step-dot{border-color:var(--p);background:#7c3aed26;color:var(--pl);box-shadow:0 0 0 4px #7c3aed1f;animation:tx-pulse-ring 2.5s infinite}.tx-step.completed .tx-step-dot{border-color:var(--p);background:var(--p);color:#fff}.tx-step-label{font-family:Roboto,sans-serif;font-size:.6rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:#ffffff47;margin-top:6px;transition:color .3s}.tx-step.active .tx-step-label{color:var(--pl)}.tx-step.completed .tx-step-label{color:#a78bfaa6}.tx-log-console{background:#060810;border:1px solid rgba(255,255,255,.05);border-radius:10px;font-family:Roboto Mono,monospace;font-size:.72rem;padding:1rem;max-height:150px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(124,58,237,.2) transparent}.tx-log-console .log-line{color:#fff6;line-height:1.7;animation:tx-slide-up .3s ease both}.tx-log-console .log-line.log-success{color:#34d399}.tx-log-console .log-line.log-info{color:#a78bfa}.tx-log-console .log-line.log-warn{color:#fbbf24}.tx-credential-row{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:#ffffff08;border:1px solid rgba(255,255,255,.06);border-radius:10px;gap:.75rem}.tx-credential-label{font-family:Roboto Mono,monospace;font-size:.68rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:#ffffff61;white-space:nowrap;min-width:72px}.tx-credential-value{font-family:Roboto Mono,monospace;font-size:.8rem;color:#ffffffe0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tx-copy-btn{background:#7c3aed1a;border:1px solid rgba(124,58,237,.2);color:var(--pl);width:28px;height:28px;border-radius:6px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;flex-shrink:0}.tx-copy-btn:hover{background:#7c3aed33;box-shadow:var(--glow)}.tx-copy-btn.copied{background:#34d3991f;border-color:#34d39940;color:#34d399}.tx-modal-overlay{position:fixed;inset:0;background:#0a0d14e6;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:100;display:flex;align-items:center;justify-content:center;padding:1rem;animation:tx-zoom-in .3s ease both}.tx-status-dot{width:8px;height:8px;border-radius:50%;animation:tx-dot-blink 1.5s infinite;display:inline-block;flex-shrink:0}.tx-status-dot.pending{background:#fbbf24}.tx-status-dot.active{background:var(--pl)}.tx-status-dot.done{background:#34d399;animation:none}.tx-status-dot.error{background:#f87171;animation:none}.tx-cancelled-banner{background:#fbbf2414;border:1.5px solid rgba(251,191,36,.25);border-radius:12px;padding:1rem 1.25rem;display:flex;align-items:flex-start;gap:.875rem;animation:tx-slide-up .4s ease both}.tx-cancelled-banner .icon{color:#fbbf24;flex-shrink:0;margin-top:1px}.tx-cancelled-banner .text{font-family:Roboto,sans-serif;font-size:.875rem;font-weight:700;color:#fbbf24}.tx-cancelled-banner .sub{font-family:Roboto Mono,monospace;font-size:.72rem;color:#fbbf2499;margin-top:.3rem;line-height:1.5}.tx-runtime-card{padding:1.25rem;border:1.5px solid rgba(255,255,255,.08);border-radius:14px;cursor:pointer;transition:all .25s;background:linear-gradient(145deg,var(--bgc),var(--bgc2));position:relative;overflow:hidden}.tx-runtime-card:hover{border-color:#7c3aed66}.tx-runtime-card.active{border-color:var(--p);box-shadow:var(--glow)}.tx-table-row{border-bottom:1px solid rgba(255,255,255,.05);transition:background .15s}.tx-table-row:hover{background:#7c3aed0a}.tx-table-row:last-child{border-bottom:none}body.nav-open{overflow:hidden}body.nav-open .tx-nav-overlay,body.nav-open .tx-nav-drawer{pointer-events:all}.tx-navbar{position:fixed;top:0;left:0;right:0;z-index:80;height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 1.25rem;background:#0f1117e6;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid rgba(255,255,255,.06);transition:border-color .3s,box-shadow .3s}.tx-navbar.scrolled{border-bottom-color:#7c3aed26;box-shadow:0 1px 24px #00000059}.tx-navbar-brand{display:flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none;text-decoration:none}.tx-navbar-brand .brand-text{font-family:Syne,sans-serif;font-weight:900;font-size:1.15rem;letter-spacing:-.5px;color:#fff}.tx-navbar-brand .brand-text span{color:#a78bfa}.tx-navbar-actions{display:flex;align-items:center;gap:.75rem}.tx-hamburger{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:40px;height:40px;border-radius:8px;border:1px solid rgba(255,255,255,.1);background:#ffffff0a;cursor:pointer;transition:all .2s;flex-shrink:0;padding:0}.tx-hamburger:hover{border-color:#7c3aed66;background:#7c3aed14}.tx-hamburger span{display:block;width:18px;height:1.5px;background:#ffffffbf;border-radius:999px;transition:all .25s cubic-bezier(.16,1,.3,1);transform-origin:center}.tx-hamburger.open span:nth-child(1){transform:rotate(45deg) translate(4.5px,4.5px)}.tx-hamburger.open span:nth-child(2){opacity:0;transform:scaleX(0)}.tx-hamburger.open span:nth-child(3){transform:rotate(-45deg) translate(4.5px,-4.5px)}.tx-nav-overlay{position:fixed;inset:0;z-index:88;background:#0000008c;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);opacity:0;pointer-events:none;transition:opacity .3s ease}.tx-nav-overlay.open{opacity:1;pointer-events:all}.tx-nav-drawer{position:fixed;top:0;left:0;bottom:0;z-index:90;width:min(300px,88vw);background:#0a0c12f7;border-right:1px solid rgba(124,58,237,.15);display:flex;flex-direction:column;transform:translate(-100%);transition:transform .3s cubic-bezier(.16,1,.3,1);box-shadow:4px 0 40px #0006}.tx-nav-drawer.open{transform:translate(0)}.tx-nav-drawer-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.25rem 1rem;border-bottom:1px solid rgba(255,255,255,.07)}.tx-nav-close{width:34px;height:34px;display:flex;align-items:center;justify-content:center;border-radius:8px;border:1px solid rgba(255,255,255,.08);background:transparent;color:#fff6;cursor:pointer;transition:all .2s}.tx-nav-close:hover{border-color:#7c3aed66;color:var(--pl);background:#7c3aed14}.tx-nav-links{flex:1;display:flex;flex-direction:column;padding:1rem .75rem;gap:.2rem;overflow-y:auto}.tx-nav-link{display:flex;align-items:center;gap:13px;padding:.875rem 1rem;border-radius:10px;border:none;border-left:2px solid transparent;background:transparent;cursor:pointer;transition:all .2s;text-align:left;width:100%;color:#ffffffa6}.tx-nav-link:hover{color:#fff;background:#a78bfa12;border-left-color:#a78bfa59}.tx-nav-link.active{color:#fff;background:#7c3aed1a;border-left-color:var(--p)}.tx-nav-link-label{font-family:Roboto,sans-serif;font-weight:500;font-size:.95rem;flex:1}.tx-nav-footer{padding:1.25rem;border-top:1px solid rgba(255,255,255,.06)}.tx-icon-ring{display:flex;align-items:center;justify-content:center;border-radius:14px;border:1px solid rgba(124,58,237,.2);background:#7c3aed12}@media(max-width:768px){.tx-admin-desktop-only{display:none!important}.tx-admin-mobile-only{display:flex!important}.tx-stats-grid{grid-template-columns:1fr 1fr!important}.tx-admin-header-actions{display:none!important}}@media(min-width:769px){.tx-admin-mobile-only{display:none!important}}@media(max-width:480px){.tx-stats-grid{grid-template-columns:1fr!important}}.tx-admin-table{width:100%;border-collapse:collapse}.tx-admin-table th{padding:.75rem 1rem;text-align:left;font-family:Roboto Mono,monospace;font-size:.65rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#fff6;white-space:nowrap;border-bottom:1px solid rgba(255,255,255,.06)}.tx-admin-table td{padding:.75rem 1rem;border-bottom:1px solid rgba(255,255,255,.04);vertical-align:middle}.tx-admin-table tbody tr:last-child td{border-bottom:none}.tx-admin-table tbody tr{transition:background .15s}.tx-admin-table tbody tr:hover{background:#7c3aed0a}@media(max-width:640px){.tx-admin-table-wrap{overflow-x:visible!important}.tx-admin-table{display:block}.tx-admin-table thead{display:none}.tx-admin-table tbody{display:flex;flex-direction:column;gap:.5rem}.tx-admin-table tbody tr{display:flex;flex-direction:column;gap:.3rem;padding:.875rem 1rem;border:1px solid rgba(255,255,255,.06);border-radius:12px;background:#ffffff05}.tx-admin-table tbody tr:hover{background:#7c3aed0d}.tx-admin-table td{display:flex;justify-content:space-between;align-items:center;padding:.25rem 0;border:none;font-size:.8rem;gap:.5rem}.tx-admin-table td[data-label]:before{content:attr(data-label);color:#ffffff4d;font-family:Roboto Mono,monospace;font-size:.6rem;text-transform:uppercase;letter-spacing:.04em;flex-shrink:0;min-width:72px}}
