@import"https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500&display=swap";:root{--bg: radial-gradient(circle at 15% 10%, #1b2f5f 0%, #0d1426 45%, #070c16 100%);--panel: rgba(10, 20, 42, .78);--panel-border: rgba(126, 177, 255, .28);--text: #e7f0ff;--muted: #a7bad6;--error: #ff8e9c;--accent: #57d6b6;--accent-strong: #2fc3a1;--accent-soft: rgba(87, 214, 182, .18)}*{box-sizing:border-box}body{margin:0;color:var(--text);font-family:Space Grotesk,Segoe UI,sans-serif;background:var(--bg);min-height:100vh}.app-shell{min-height:100vh}.page{max-width:1120px;margin:0 auto;padding:32px 20px 48px;display:grid;gap:20px}.page-home{max-width:none;padding:20px 12px 48px}.panel{background:var(--panel);border:1px solid var(--panel-border);border-radius:18px;padding:22px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.panel-main{box-shadow:0 26px 50px #01061373;padding-left:16px;padding-right:18px}.auth-page{min-height:100vh;display:grid;align-content:center}.auth-panel{max-width:860px;margin:0 auto}.topbar{display:flex;justify-content:space-between;align-items:center;gap:14px}.topbar-full{border-radius:0;border-left:none;border-right:none;padding:14px 22px}.topbar-inner{width:100%;max-width:1460px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;gap:14px}.topbar-main h1{margin:0;font-size:1.3rem}.topbar-main p{margin:4px 0 0}.topbar-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.topbar-stats{display:grid;grid-template-columns:repeat(5,minmax(110px,1fr));gap:8px;flex:1;min-width:0}.topbar-kpi{border:1px solid rgba(130,165,225,.34);border-radius:10px;padding:6px 10px;background:#0f1e3db8;display:grid;gap:2px}.topbar-kpi span{font-size:.72rem;color:var(--muted);letter-spacing:.03em;text-transform:uppercase}.topbar-kpi strong{font-size:1rem}.env-pill{font-family:IBM Plex Mono,monospace;border-radius:999px;padding:6px 10px;border:1px solid rgba(145,179,234,.45);background:#1e38667a;color:#c7ddff;font-size:.78rem}.nav-panel{padding-top:12px;padding-bottom:12px}.nav-row{display:flex;gap:10px;flex-wrap:wrap}.nav-btn{border:1px solid rgba(150,179,229,.45);background:#0f1d3b80;color:var(--text);border-radius:999px;padding:8px 14px;cursor:pointer;font-weight:600}.nav-btn.active{border-color:#57d6b6b3;box-shadow:inset 0 0 0 1px #57d6b63d;background:#19383085}.dashboard-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.title-wrap h1{margin:0;font-size:clamp(1.5rem,1.8vw + 1rem,2.4rem)}.eyebrow{text-transform:uppercase;font-size:.74rem;letter-spacing:.15em;color:var(--accent);margin:0 0 6px}.subtitle{color:var(--muted);margin:8px 0 18px}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.field{display:grid;gap:6px}.field-full{grid-column:1 / -1}.field span{font-size:.84rem;color:var(--muted)}.hint{color:var(--muted);font-size:.74rem;line-height:1.3}.hint code{font-family:IBM Plex Mono,monospace;color:#9cc5ff}input,select,textarea,button{font:inherit}input,select,textarea{width:100%;border:1px solid rgba(132,166,223,.45);background:#091123eb;color:var(--text);border-radius:10px;padding:10px 12px}textarea{resize:vertical;min-height:64px}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.toggle-row{display:flex;gap:20px;margin-top:16px;flex-wrap:wrap}.toggle-row label{display:inline-flex;align-items:center;gap:8px;color:var(--muted)}.actions{margin-top:20px;display:flex;gap:10px;flex-wrap:wrap}.btn{border:none;border-radius:999px;padding:10px 16px;cursor:pointer;font-weight:600}.btn:disabled{opacity:.65;cursor:not-allowed}.btn-primary{background:linear-gradient(130deg,var(--accent),var(--accent-strong));color:#032017}.btn-ghost{background:transparent;border:1px solid rgba(150,179,229,.55);color:var(--text)}.org-card{margin-top:14px;padding:12px;border:1px solid rgba(120,208,178,.45);background:#17332b6b;border-radius:12px}.org-card p{margin:0 0 8px}.org-card label{display:inline-flex;align-items:center;gap:8px}.error{margin-top:14px;color:var(--error);font-weight:600}.meta{color:var(--muted)}.mono{font-family:IBM Plex Mono,monospace;font-size:.8rem}.progress-wrap{width:100%;border:1px solid rgba(136,171,228,.4);border-radius:999px;height:14px;background:#111e3a99;overflow:hidden}.progress-bar{height:100%;background:linear-gradient(90deg,#4ac7ff,#57d6b6);transition:width .3s ease}.upload-mode-tabs{display:flex;gap:8px;margin-bottom:16px}.upload-progress{margin-top:10px;max-width:480px;display:grid;gap:6px}.upload-progress .progress-wrap{height:12px}.upload-progress .meta{margin:0}.log-box{margin-top:10px;border:1px solid rgba(132,166,223,.28);border-radius:10px;background:#060c18b8;padding:10px;max-height:200px;overflow:auto}.log-line{margin:0 0 6px;font-size:.82rem;color:var(--muted);font-family:IBM Plex Mono,monospace}.log-line span{color:#8eb2ff}.chip-wrap{display:flex;flex-wrap:wrap;gap:8px}.chip{font-family:IBM Plex Mono,monospace;font-size:.76rem;background:#5b84d833;border:1px solid rgba(145,176,235,.4);padding:4px 8px;border-radius:999px}.table-head{margin-top:16px;display:flex;gap:12px;align-items:center;justify-content:space-between}.table-head h3{margin:0}.table-head input{max-width:340px}.table-wrap{margin-top:10px;overflow:auto;border:1px solid rgba(132,166,223,.28);border-radius:10px}table{width:100%;border-collapse:collapse;min-width:720px}th,td{text-align:left;padding:9px 11px;border-bottom:1px solid rgba(116,155,219,.22);font-size:.88rem}th{background:#0c1b38eb;color:#b7cbeb}tr:last-child td{border-bottom:none}.pager{margin-top:10px;display:flex;align-items:center;justify-content:space-between;gap:10px}.pager p{color:var(--muted)}.catalog-path-row{margin-top:6px;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin:14px 0}.home-split{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:20px;align-items:start}.catalog-table{table-layout:fixed;min-width:860px}.catalog-table th:nth-child(1),.catalog-table td:nth-child(1){width:52%}.catalog-table th:nth-child(2),.catalog-table td:nth-child(2){width:22%}.catalog-table th:nth-child(3),.catalog-table td:nth-child(3){width:12%}.catalog-table th:nth-child(4),.catalog-table td:nth-child(4){width:14%}.catalog-table .truncate-cell{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.btn-table-folder{padding:5px 10px;border-radius:8px}.active-streams-table{table-layout:fixed;min-width:1240px}.active-streams-header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px}.active-streams-header h2{margin:0}.active-streams-loading-indicator{display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-size:.84rem}.active-streams-loading-indicator:before{content:"";width:8px;height:8px;border-radius:999px;background:var(--accent);animation:active-streams-pulse 1.2s ease-in-out infinite}@keyframes active-streams-pulse{0%,to{opacity:.35;transform:scale(.9)}50%{opacity:1;transform:scale(1)}}.active-streams-table th:nth-child(1),.active-streams-table td:nth-child(1){width:14%}.active-streams-table th:nth-child(2),.active-streams-table td:nth-child(2){width:8%}.active-streams-table th:nth-child(3),.active-streams-table td:nth-child(3){width:17%}.active-streams-table th:nth-child(4),.active-streams-table td:nth-child(4){width:31%}.active-streams-table th:nth-child(5),.active-streams-table td:nth-child(5){width:13%}.active-streams-table th:nth-child(6),.active-streams-table td:nth-child(6){width:7%}.active-streams-table th:nth-child(7),.active-streams-table td:nth-child(7){width:10%}.active-streams-table .truncate-cell{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.destination-list{display:grid;gap:6px}.destination-row{display:flex;align-items:center;gap:8px;min-width:0}.destination-value{min-width:0;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.active-streams-table .stream-actions{flex-wrap:nowrap}.active-streams-table .stream-actions .btn{white-space:nowrap}.home-side,.home-streams{display:grid;gap:20px}.role-arn{word-break:break-all;white-space:normal}.stream-divider{margin:18px 0;border-top:1px solid rgba(132,166,223,.24)}.stream-actions{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.custom-summary{margin-top:12px}.stream-group{margin-top:16px;padding-top:14px;border-top:1px solid rgba(132,166,223,.24)}.stream-group h4{margin:0 0 10px;font-size:.98rem;letter-spacing:.03em;color:var(--muted);text-transform:uppercase}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#02060fb8;display:grid;place-items:center;padding:20px;z-index:70}.modal-panel{width:min(1100px,100%);max-height:calc(100vh - 40px);overflow:auto}.settings-modal{width:min(1240px,100%)}.start-wizard-modal{width:min(1280px,100%)}.wizard-steps{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.wizard-step{border:1px solid rgba(150,179,229,.45);background:#0f1d3b80;color:var(--text);border-radius:999px;padding:8px 14px;cursor:pointer;font-weight:600}.wizard-step.active{border-color:#57d6b6b3;box-shadow:inset 0 0 0 1px #57d6b63d;background:#19383085}.wizard-body{display:grid;gap:12px}.wizard-manual-outputs{display:grid;gap:10px}.wizard-actions{justify-content:flex-end}.settings-section{margin-top:18px;padding-top:16px;border-top:1px solid rgba(132,166,223,.24)}.settings-section:first-of-type{margin-top:0;padding-top:0;border-top:none}.settings-section h4{margin:0 0 8px}.settings-accordion{margin-top:14px;border:1px solid rgba(132,166,223,.26);border-radius:12px;background:#0911236b;overflow:hidden}.settings-accordion summary{cursor:pointer;padding:12px 14px;font-weight:600;letter-spacing:.02em;list-style:none;background:#0c1b38bf}.settings-accordion summary::-webkit-details-marker{display:none}.settings-accordion summary:before{content:"▸";margin-right:8px;color:var(--accent)}.settings-accordion[open] summary:before{content:"▾"}.settings-accordion-body{padding:14px}.settings-pagination{margin-top:10px;display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:flex-end}.settings-pagination-meta{white-space:nowrap}.settings-pagination-size{min-width:92px;margin:0}.settings-pagination-size span{font-size:.76rem}.settings-pagination-size select{min-width:88px}.placeholder-box{border:1px dashed rgba(132,166,223,.45);border-radius:10px;padding:12px;background:#080f1e7a}.placeholder-box p{margin:0 0 8px}.placeholder-box p:last-child{margin-bottom:0}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.modal-header h3{margin:0}.profile-row{display:grid;grid-template-columns:1.4fr 1fr auto auto auto;gap:10px;align-items:end;margin-bottom:10px}.profile-actions{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px}.btn-branch-stop{background:#a72a4047;border:1px solid rgba(255,129,149,.55);color:#ffdbe1}.btn-branch-start{background:#14674c59;border:1px solid rgba(108,232,190,.55);color:#d9fff2}.toast{position:fixed;top:14px;right:14px;z-index:120;width:fit-content;max-width:min(560px,calc(100vw - 28px));border-radius:12px;padding:10px 14px;font-weight:600;box-shadow:0 12px 24px #00000047;animation:toast-slide .2s ease}.toast-success{border:1px solid rgba(108,232,190,.6);background:#105c43e6;color:#dcfff3}.toast-error{border:1px solid rgba(255,129,149,.62);background:#801f30eb;color:#ffe3e9}@keyframes toast-slide{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.stat{border:1px solid rgba(130,165,225,.34);border-radius:12px;padding:10px;background:#0f1e3d80}.stat p{margin:0 0 4px;color:var(--muted);font-size:.82rem}.stat strong{font-size:1.2rem}@media(max-width:900px){.topbar,.topbar-inner{flex-direction:column;align-items:flex-start}.topbar-stats{width:100%;grid-template-columns:repeat(2,minmax(0,1fr))}.home-split,.grid,.dashboard-grid{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.table-head{flex-direction:column;align-items:stretch}.table-head input{max-width:none}.pager{flex-direction:column;align-items:stretch}.profile-row{grid-template-columns:1fr;align-items:stretch}.toast{left:12px;right:12px;max-width:none;width:auto}}
