@import"https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Fraunces:ital,wght@0,300;0,600;0,700;1,300&family=DM+Sans:wght@300;400;500;600&display=swap";:root{--bg: #0f1110;--surface: #181d1b;--surface-2: #1f2622;--surface-3: #262e28;--border: #2e3830;--border-2: #394840;--text-primary: #e8ede9;--text-secondary: #8a9e8d;--text-muted: #4d5e50;--accent: #6fcf7c;--accent-dim: #2d4a32;--accent-glow: rgba(111,207,124,.12);--amber: #f0b429;--amber-dim: #3d2f0a;--red: #e05454;--red-dim: #3d1212;--blue: #5b9cf6;--blue-dim: #152040;--sidebar-w: 220px;--radius: 10px;--radius-sm: 6px;--font-display: "Fraunces", Georgia, serif;--font-body: "DM Sans", sans-serif;--font-mono: "DM Mono", monospace;--shadow-card: 0 1px 3px rgba(0,0,0,.4), 0 4px 16px rgba(0,0,0,.25);--shadow-glow: 0 0 0 1px var(--accent-dim), 0 0 20px var(--accent-glow)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:15px}body{background:var(--bg);color:var(--text-primary);font-family:var(--font-body);font-weight:400;line-height:1.6;min-height:100vh;-webkit-font-smoothing:antialiased}.app-shell{display:flex;min-height:100vh}.sidebar{width:var(--sidebar-w);background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;position:fixed;top:0;left:0;height:100vh;z-index:100;overflow-y:auto}.sidebar-logo{padding:28px 20px 20px;border-bottom:1px solid var(--border)}.sidebar-logo .wordmark{font-family:var(--font-display);font-weight:700;font-size:1.4rem;color:var(--accent);letter-spacing:-.03em;line-height:1}.sidebar-logo .tagline{font-size:.7rem;color:var(--text-muted);margin-top:4px;letter-spacing:.05em;text-transform:uppercase}.sidebar-section-label{font-size:.65rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);padding:20px 20px 8px}.sidebar-nav{padding:0 10px;flex:1}.nav-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--radius-sm);cursor:pointer;transition:all .15s;color:var(--text-secondary);font-size:.875rem;font-weight:400;border:none;background:none;width:100%;text-align:left;margin-bottom:2px}.nav-item:hover{background:var(--surface-2);color:var(--text-primary)}.nav-item.active{background:var(--accent-dim);color:var(--accent);font-weight:500}.nav-item .step-badge{width:18px;height:18px;border-radius:50%;background:var(--surface-3);color:var(--text-muted);font-size:.65rem;font-family:var(--font-mono);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .15s}.nav-item.active .step-badge{background:var(--accent);color:var(--bg)}.nav-item.completed .step-badge{background:var(--accent-dim);color:var(--accent)}.nav-item.completed{color:var(--text-secondary)}.sidebar-footer{padding:16px 20px;border-top:1px solid var(--border)}.network-badge{display:flex;align-items:center;gap:6px;font-size:.7rem;color:var(--text-muted);font-family:var(--font-mono)}.network-dot{width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 6px var(--accent);animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.main-content{margin-left:var(--sidebar-w);flex:1;padding:40px 48px;max-width:calc(100vw - var(--sidebar-w))}.page-header{margin-bottom:32px}.page-header .step-label{font-size:.7rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);font-family:var(--font-mono);margin-bottom:6px}.page-header h1{font-family:var(--font-display);font-size:1.8rem;font-weight:600;color:var(--text-primary);letter-spacing:-.02em;line-height:1.2}.page-header p{color:var(--text-secondary);font-size:.875rem;margin-top:6px;max-width:480px}.workflow-bar{display:flex;align-items:center;gap:0;margin-bottom:36px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.workflow-stage{flex:1;padding:12px 16px;display:flex;align-items:center;gap:8px;font-size:.8rem;color:var(--text-muted);border-right:1px solid var(--border);cursor:pointer;transition:all .15s;position:relative}.workflow-stage:last-child{border-right:none}.workflow-stage:hover{background:var(--surface-2);color:var(--text-secondary)}.workflow-stage.active{background:var(--accent-dim);color:var(--accent)}.workflow-stage.done{color:var(--text-secondary)}.workflow-stage.done:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--accent);opacity:.5}.workflow-stage.active:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--accent)}.stage-num{width:20px;height:20px;border-radius:50%;background:var(--surface-3);border:1px solid var(--border-2);display:flex;align-items:center;justify-content:center;font-size:.65rem;font-family:var(--font-mono);flex-shrink:0;transition:all .15s}.workflow-stage.active .stage-num{background:var(--accent);border-color:var(--accent);color:var(--bg);font-weight:600}.workflow-stage.done .stage-num{background:var(--accent-dim);border-color:var(--accent);color:var(--accent)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-card);overflow:hidden}.card-header{padding:20px 24px 16px;border-bottom:1px solid var(--border);display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.card-title{font-family:var(--font-display);font-size:1.05rem;font-weight:600;color:var(--text-primary);letter-spacing:-.01em}.card-subtitle{font-size:.8rem;color:var(--text-muted);margin-top:3px}.card-body{padding:24px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-grid.cols-1{grid-template-columns:1fr}.form-grid.cols-3{grid-template-columns:1fr 1fr 1fr}.form-group{display:flex;flex-direction:column;gap:5px}.form-group.span-2{grid-column:span 2}.form-group.span-3{grid-column:span 3}.form-label{font-size:.75rem;font-weight:500;color:var(--text-secondary);letter-spacing:.02em;text-transform:uppercase}.form-label .optional{font-weight:400;color:var(--text-muted);text-transform:none;font-size:.7rem;margin-left:4px}.form-input{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font-body);font-size:.875rem;padding:9px 12px;width:100%;transition:all .15s;outline:none}.form-input::placeholder{color:var(--text-muted)}.form-input:focus{border-color:var(--accent);background:var(--surface-3);box-shadow:0 0 0 3px var(--accent-glow)}.form-input[type=file]{padding:7px 12px;cursor:pointer;font-size:.8rem;color:var(--text-muted)}.form-input[type=file]::-webkit-file-upload-button{background:var(--surface-3);border:1px solid var(--border-2);border-radius:4px;color:var(--text-secondary);font-family:var(--font-body);font-size:.75rem;padding:3px 10px;cursor:pointer;margin-right:10px;transition:all .15s}.form-input[type=file]::-webkit-file-upload-button:hover{background:var(--accent-dim);color:var(--accent);border-color:var(--accent)}select.form-input{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%234d5e50' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:32px;cursor:pointer}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:10px 20px;border-radius:var(--radius-sm);font-family:var(--font-body);font-size:.875rem;font-weight:500;cursor:pointer;border:none;transition:all .15s;outline:none;letter-spacing:.01em}.btn-primary{background:var(--accent);color:var(--bg)}.btn-primary:hover:not(:disabled){background:#7fdb8c;transform:translateY(-1px);box-shadow:0 4px 12px #6fcf7c4d}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-ghost{background:var(--surface-2);border:1px solid var(--border);color:var(--text-secondary)}.btn-ghost:hover:not(:disabled){background:var(--surface-3);border-color:var(--border-2);color:var(--text-primary)}.btn-danger{background:var(--red-dim);border:1px solid var(--red);color:var(--red)}.btn-danger:hover:not(:disabled){background:var(--red);color:#fff}.btn-full{width:100%}.status-bar{margin-top:16px;padding:12px 14px;border-radius:var(--radius-sm);font-size:.8rem;font-family:var(--font-mono);border:1px solid var(--border);background:var(--surface-2);color:var(--text-secondary);word-break:break-all;line-height:1.5}.status-bar.success{background:#6fcf7c0d;border-color:var(--accent-dim);color:var(--accent)}.status-bar.error{background:#e054540d;border-color:var(--red-dim);color:var(--red)}.batch-id-result{margin-top:16px;padding:20px;border-radius:var(--radius);background:var(--accent-dim);border:1px solid var(--accent);text-align:center}.batch-id-result .label{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:var(--accent);font-family:var(--font-mono);opacity:.8}.batch-id-result .id{font-family:var(--font-display);font-size:3rem;font-weight:700;color:var(--accent);line-height:1.1;margin-top:4px}.batch-id-result .hint{font-size:.75rem;color:var(--text-secondary);margin-top:6px}.stage-pill{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:20px;font-size:.7rem;font-weight:500;font-family:var(--font-mono)}.stage-pill.done{background:var(--accent-dim);color:var(--accent);border:1px solid rgba(111,207,124,.3)}.stage-pill.pending{background:var(--surface-2);color:var(--text-muted);border:1px solid var(--border)}.viewer-progress{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:24px}.progress-stage{padding:12px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-2);text-align:center;transition:all .2s}.progress-stage.done{background:var(--accent-dim);border-color:#6fcf7c66}.progress-stage .ps-icon{font-size:1.1rem;margin-bottom:4px}.progress-stage .ps-label{font-size:.7rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;font-family:var(--font-mono)}.progress-stage.done .ps-label{color:var(--accent)}.data-section{border:1px solid var(--border);border-radius:var(--radius);margin-bottom:16px;overflow:hidden}.data-section-header{padding:12px 18px;background:var(--surface-2);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.data-section-header h3{font-size:.85rem;font-weight:600;color:var(--text-secondary);letter-spacing:.02em}.data-section-body{padding:16px 18px;background:var(--surface)}.data-field{display:flex;align-items:flex-start;gap:12px;padding:7px 0;border-bottom:1px solid var(--border);font-size:.825rem}.data-field:last-child{border-bottom:none}.data-field .df-key{color:var(--text-muted);font-family:var(--font-mono);font-size:.75rem;min-width:130px;padding-top:2px;flex-shrink:0}.data-field .df-val{color:var(--text-primary);word-break:break-all;flex:1}.cid-link{font-family:var(--font-mono);font-size:.7rem;color:var(--blue);text-decoration:none;display:inline-flex;align-items:center;gap:3px;padding:2px 6px;background:var(--blue-dim);border-radius:4px;border:1px solid rgba(91,156,246,.2);transition:all .15s;max-width:100%;word-break:break-all}.cid-link:hover{background:#5b9cf626;color:#8ab8ff}.section-empty{padding:20px 18px;background:var(--surface);color:var(--text-muted);font-size:.8rem;font-style:italic}.connect-prompt{text-align:center;padding:40px 24px}.connect-prompt p{color:var(--text-muted);font-size:.875rem;margin-bottom:16px}.divider{height:1px;background:var(--border);margin:20px 0}.dashboard-hero{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:36px 40px;margin-bottom:24px;position:relative;overflow:hidden}.dashboard-hero:before{content:"";position:absolute;top:-40px;right:-40px;width:200px;height:200px;border-radius:50%;background:var(--accent-glow);filter:blur(60px);pointer-events:none}.dashboard-hero h2{font-family:var(--font-display);font-size:1.6rem;font-weight:600;color:var(--text-primary);letter-spacing:-.02em;margin-bottom:8px;position:relative}.dashboard-hero p{color:var(--text-secondary);font-size:.875rem;max-width:420px;position:relative}.flow-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.flow-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:16px;cursor:pointer;transition:all .15s}.flow-card:hover{border-color:var(--border-2);background:var(--surface-2);transform:translateY(-2px)}.flow-card .fc-step{font-size:.65rem;font-family:var(--font-mono);color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em;margin-bottom:8px}.flow-card .fc-title{font-weight:600;font-size:.875rem;color:var(--text-primary);margin-bottom:4px}.flow-card .fc-desc{font-size:.75rem;color:var(--text-muted);line-height:1.4}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--surface)}::-webkit-scrollbar-thumb{background:var(--border-2);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}@media(max-width:900px){.sidebar{display:none}.main-content{margin-left:0;padding:24px 20px;max-width:100vw}.form-grid,.form-grid.cols-3{grid-template-columns:1fr}.form-group.span-2,.form-group.span-3{grid-column:span 1}.viewer-progress,.flow-cards{grid-template-columns:repeat(2,1fr)}.workflow-bar{flex-wrap:wrap}}
