*{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;background:#1e1e2e;color:#cdd6f4}a{color:#89b4fa;text-decoration:none}button{cursor:pointer;border:none;border-radius:6px;font-size:14px;padding:8px 16px;transition:background .15s}button:disabled{opacity:.5;cursor:not-allowed}input{background:#313244;border:1px solid #45475a;border-radius:6px;color:#cdd6f4;padding:8px 12px;font-size:14px;outline:none;width:100%}input:focus{border-color:#89b4fa}.app-layout{display:flex;flex-direction:column;height:100vh}.toolbar{display:flex;align-items:center;gap:12px;padding:8px 16px;background:#181825;border-bottom:1px solid #313244;min-height:48px}.toolbar button{background:#45475a;color:#cdd6f4}.toolbar button:hover:not(:disabled){background:#585b70}.toolbar button.primary{background:#89b4fa;color:#1e1e2e}.toolbar button.primary:hover:not(:disabled){background:#74c7ec}.toolbar button.danger{background:#f38ba8;color:#1e1e2e}.toolbar .spacer{flex:1}.toolbar .proxy-status{display:flex;align-items:center;gap:6px;font-size:13px;color:#a6adc8}.toolbar .proxy-status .dot{width:8px;height:8px;border-radius:50%;display:inline-block}.toolbar .proxy-status .dot.running{background:#a6e3a1}.toolbar .proxy-status .dot.stopped{background:#f38ba8}.main-content{display:flex;flex:1;overflow:hidden}.structure-panel{width:300px;min-width:200px;border-right:1px solid #313244;background:#181825;overflow-y:auto;display:flex;flex-direction:column}.structure-panel .panel-header{padding:10px 14px;font-size:12px;font-weight:600;text-transform:uppercase;color:#a6adc8;border-bottom:1px solid #313244;background:#11111b}.structure-panel .host-group{border-bottom:1px solid #313244}.structure-panel .host-header{padding:6px 14px;font-size:13px;font-weight:600;color:#89b4fa;cursor:pointer;display:flex;align-items:center;gap:6px}.structure-panel .host-header:hover{background:#313244}.structure-panel .host-header .expand-icon{font-size:10px;width:12px}.structure-panel .flow-entry{padding:4px 14px 4px 32px;font-size:12px;color:#bac2de;cursor:pointer;display:flex;align-items:center;gap:6px}.structure-panel .flow-entry:hover{background:#313244}.structure-panel .flow-entry.selected{background:#45475a;color:#cdd6f4}.structure-panel .flow-entry .method{font-weight:700;font-size:11px;min-width:38px}.structure-panel .flow-entry .method.GET{color:#a6e3a1}.structure-panel .flow-entry .method.POST{color:#f9e2af}.structure-panel .flow-entry .method.PUT{color:#89b4fa}.structure-panel .flow-entry .method.DELETE{color:#f38ba8}.structure-panel .flow-entry .method.PATCH{color:#cba6f7}.structure-panel .flow-entry .method.HEAD{color:#94e2d5}.structure-panel .flow-entry .method.OPTIONS{color:#fab387}.structure-panel .flow-entry .method.CONNECT{color:#f2cdcd}.structure-panel .flow-entry .status{font-size:11px;min-width:32px}.structure-panel .flow-entry .status.success{color:#a6e3a1}.structure-panel .flow-entry .status.redirect{color:#f9e2af}.structure-panel .flow-entry .status.client-error{color:#fab387}.structure-panel .flow-entry .status.server-error{color:#f38ba8}.structure-panel .flow-entry .path-trunc{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sequence-panel{flex:1;overflow-y:auto;background:#1e1e2e}.sequence-panel .sequence-row{display:flex;align-items:center;padding:6px 14px;border-bottom:1px solid #313244;font-size:13px;cursor:pointer;gap:10px}.sequence-panel .sequence-row:hover{background:#313244}.sequence-panel .sequence-row.selected{background:#45475a}.sequence-panel .sequence-row .seq-idx{color:#585b70;min-width:40px;text-align:right;font-size:11px}.sequence-panel .sequence-row .method{font-weight:700;font-size:12px;min-width:44px}.sequence-panel .sequence-row .method.GET{color:#a6e3a1}.sequence-panel .sequence-row .method.POST{color:#f9e2af}.sequence-panel .sequence-row .method.PUT{color:#89b4fa}.sequence-panel .sequence-row .method.DELETE{color:#f38ba8}.sequence-panel .sequence-row .method.PATCH{color:#cba6f7}.sequence-panel .sequence-row .method.HEAD{color:#94e2d5}.sequence-panel .sequence-row .method.OPTIONS{color:#fab387}.sequence-panel .sequence-row .method.CONNECT{color:#f2cdcd}.sequence-panel .sequence-row .url{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sequence-panel .sequence-row .status{font-size:12px;min-width:36px}.sequence-panel .sequence-row .status.success{color:#a6e3a1}.sequence-panel .sequence-row .status.redirect{color:#f9e2af}.sequence-panel .sequence-row .status.client-error{color:#fab387}.sequence-panel .sequence-row .status.server-error{color:#f38ba8}.sequence-panel .sequence-row .duration{font-size:11px;color:#585b70;min-width:50px;text-align:right}.inspector-panel{width:420px;min-width:300px;border-left:1px solid #313244;background:#181825;overflow-y:auto;display:flex;flex-direction:column}.inspector-panel .panel-header{padding:10px 14px;font-size:12px;font-weight:600;text-transform:uppercase;color:#a6adc8;border-bottom:1px solid #313244;background:#11111b}.inspector-panel .inspector-tabs{display:flex;border-bottom:1px solid #313244;background:#11111b}.inspector-panel .inspector-tabs button{flex:1;background:transparent;color:#a6adc8;font-size:12px;padding:8px 4px;border-radius:0;border-bottom:2px solid transparent}.inspector-panel .inspector-tabs button.active{color:#89b4fa;border-bottom-color:#89b4fa}.inspector-panel .inspector-tabs button:hover{background:#313244}.inspector-panel .inspector-body{padding:14px;overflow-y:auto;flex:1}.inspector-panel .kv-line{display:flex;gap:8px;font-size:12px;padding:2px 0;border-bottom:1px solid #313244}.inspector-panel .kv-line .key{color:#89b4fa;min-width:80px;flex-shrink:0}.inspector-panel .kv-line .value{color:#cdd6f4;word-break:break-all}.inspector-panel .header-table{width:100%;font-size:12px;border-collapse:collapse}.inspector-panel .header-table td{padding:3px 6px;border-bottom:1px solid #313244;vertical-align:top}.inspector-panel .header-table .hdr-name{color:#89b4fa;white-space:nowrap;font-weight:500}.inspector-panel .header-table .hdr-value{color:#cdd6f4;word-break:break-all}.inspector-panel .body-preview{font-family:Fira Code,Cascadia Code,monospace;font-size:12px;white-space:pre-wrap;word-break:break-all;max-height:400px;overflow-y:auto;background:#11111b;padding:10px;border-radius:6px;color:#cdd6f4}.inspector-panel .section-title{font-size:12px;font-weight:600;color:#a6adc8;margin-top:14px;margin-bottom:6px;text-transform:uppercase;letter-spacing:.5px}.inspector-panel .empty-state{color:#585b70;font-size:14px;text-align:center;padding:40px 20px}.auth-page{display:flex;align-items:center;justify-content:center;height:100vh;background:#1e1e2e}.auth-card{background:#181825;border:1px solid #313244;border-radius:12px;padding:32px;width:380px}.auth-card h1{font-size:22px;color:#cdd6f4;margin-bottom:8px}.auth-card .subtitle{font-size:13px;color:#a6adc8;margin-bottom:24px}.auth-card .form-group{margin-bottom:16px}.auth-card .form-group label{display:block;font-size:13px;color:#a6adc8;margin-bottom:4px}.auth-card .error{color:#f38ba8;font-size:13px;margin-top:8px}.auth-card button{width:100%;padding:10px;font-size:15px;background:#89b4fa;color:#1e1e2e;font-weight:600;margin-top:8px}.auth-card button:hover:not(:disabled){background:#74c7ec}.resizer{width:4px;background:transparent;cursor:col-resize;flex-shrink:0}.resizer:hover,.resizer.active{background:#89b4fa}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#45475a;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#585b70}
