:root{--bg-primary: #eae8e0;--bg-secondary: #e2e0d8;--bg-tertiary: #d6d4cc;--bg-hover: rgba(20, 20, 19, .08);--text-primary: #000000;--text-secondary: #1a1a1a;--text-muted: #3d3d3d;--brand-primary: #d97757;--brand-secondary: #e89578;--brand-hover: #c46545;--brand-muted: #f8e8e2;--success: #788c5d;--warning: #F59E0B;--error: #EF4444;--info: #6a9bcc;--border-default: #e0ded6;--border-hover: #c8c6be;--shadow-sm: 0 1px 2px 0 rgba(20, 20, 19, .05);--shadow-md: 0 4px 6px -1px rgba(20, 20, 19, .1), 0 2px 4px -2px rgba(20, 20, 19, .1);--shadow-lg: 0 10px 15px -3px rgba(20, 20, 19, .1), 0 4px 6px -4px rgba(20, 20, 19, .1);--sidebar-width: 260px;--sidebar-collapsed-width: 72px;--rail-bg: #c8c6be;--rail-border: #b8b6ae}[data-theme=dark]{--bg-primary: #04060C;--bg-secondary: #0a0e17;--bg-tertiary: #141c2f;--bg-hover: rgba(151, 252, 228, .08);--text-primary: #FFFFFF;--text-secondary: rgba(255, 255, 255, .7);--text-muted: rgba(255, 255, 255, .45);--brand-primary: #DFFFEF;--brand-secondary: #F0FFFA;--brand-hover: #C4FFEC;--brand-muted: rgba(223, 255, 239, .15);--success: #DFFFEF;--warning: #FFC125;--error: #FF5555;--info: #00FFFF;--border-default: #1c2538;--border-hover: #2d3b55;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .5);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .6), 0 2px 4px -2px rgba(0, 0, 0, .5);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .7), 0 0 30px -5px rgba(196, 255, 236, .1);--rail-bg: #020306;--rail-border: #1c2538}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;width:100%}body{font-family:Poppins,Arial,sans-serif;font-size:15px;line-height:1.6;color:var(--text-primary);background-color:var(--bg-secondary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{height:100%}h1,h2,h3,h4,h5,h6{font-family:Poppins,Arial,sans-serif;font-weight:600;color:var(--text-primary)}h1{font-size:1.875rem}h2{font-size:1.5rem}h3{font-size:1.25rem}h4{font-size:1.125rem}h5{font-size:1rem}h6{font-size:.875rem}.app-shell{display:flex;height:100vh;overflow:hidden}.main-content{flex:1;overflow-y:auto;padding:24px;background-color:var(--bg-secondary)}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.page-header h1{font-size:1.5rem;font-weight:600}.card{background-color:var(--bg-primary);border:1px solid var(--border-default);border-radius:12px;box-shadow:var(--shadow-sm)}.card-header{padding:16px 20px;border-bottom:1px solid var(--border-default)}.card-body{padding:20px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:8px 16px;font-size:14px;font-weight:500;border-radius:8px;border:none;cursor:pointer;transition:all .15s ease}.btn-primary{background-color:var(--brand-primary);color:#fff}.btn-primary:hover{background-color:var(--brand-hover)}.btn-secondary{background-color:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-default)}.btn-secondary:hover{background-color:var(--bg-hover);border-color:var(--border-hover)}.btn-ghost{background-color:transparent;color:var(--text-secondary)}.btn-ghost:hover{background-color:var(--bg-hover)}.badge{display:inline-flex;align-items:center;padding:2px 8px;font-size:12px;font-weight:500;border-radius:9999px}.badge-success{background-color:#10b9811a;color:#059669}.badge-warning{background-color:#f59e0b1a;color:#d97706}.badge-error{background-color:#ef44441a;color:#dc2626}.badge-info{background-color:var(--brand-muted);color:var(--brand-hover)}.badge-neutral{background-color:var(--bg-tertiary);color:var(--text-muted)}.badge-danger{background-color:#ef44441a;color:#dc2626}.badge-brand{background-color:var(--brand-muted);color:var(--brand-primary)}.btn-danger{background-color:var(--error);color:#fff}.btn-danger:hover{background-color:#dc2626}.btn:disabled{opacity:.5;cursor:not-allowed}.data-table{width:100%;border-collapse:separate;border-spacing:0}.data-table th,.data-table td{padding:12px 16px;text-align:left}.data-table th{font-size:12px;font-weight:500;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border-default);background-color:var(--bg-secondary)}.data-table td{border-bottom:1px solid var(--border-default)}.data-table tbody tr:hover{background-color:var(--bg-hover);cursor:pointer}.data-table tbody tr:last-child td{border-bottom:none}.form-group{margin-bottom:16px}.form-label{display:block;font-size:13px;font-weight:500;color:var(--text-secondary);margin-bottom:6px}.form-input{width:100%;padding:10px 12px;font-size:14px;color:var(--text-primary);background-color:var(--bg-primary);border:1px solid var(--border-default);border-radius:8px;transition:border-color .15s ease,box-shadow .15s ease}.form-input:focus{outline:none;border-color:var(--brand-primary);box-shadow:0 0 0 3px var(--brand-muted)}.form-input::placeholder{color:var(--text-muted)}.sidebar{width:var(--sidebar-width);background-color:var(--bg-primary);border-right:1px solid var(--border-default);display:flex;flex-direction:column;height:100vh;overflow-y:auto}.sidebar-header{padding:20px;border-bottom:1px solid var(--border-default)}.sidebar-logo{display:flex;align-items:center;gap:12px}.sidebar-logo img{height:32px}.sidebar-logo span{font-size:16px;font-weight:600;color:var(--text-primary)}.sidebar-nav{flex:1;padding:16px 12px}.nav-section{margin-bottom:24px}.nav-section-title{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);padding:8px 12px;margin-bottom:4px}.nav-item{display:flex;align-items:center;gap:12px;padding:10px 12px;font-size:14px;font-weight:500;color:#000;border-radius:8px;cursor:pointer;transition:all .15s ease;margin-bottom:2px}[data-theme=dark] .nav-item{color:#fff}.nav-item:hover{background-color:var(--bg-hover);color:var(--text-primary)}.nav-item.active{background-color:var(--brand-muted);color:var(--brand-hover)}.nav-item.active svg{color:var(--brand-primary)}.nav-item svg{width:20px;height:20px;flex-shrink:0}.drawer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#0000004d;z-index:40;animation:fadeIn .2s ease}.drawer{position:fixed;top:0;right:0;width:480px;max-width:90vw;height:100vh;background-color:var(--bg-primary);box-shadow:var(--shadow-lg);z-index:50;animation:slideInRight .25s ease;display:flex;flex-direction:column}.drawer-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--border-default)}.drawer-body{flex:1;overflow-y:auto;padding:24px}.drawer-footer{padding:16px 24px;border-top:1px solid var(--border-default);display:flex;justify-content:flex-end;gap:12px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#0006;display:flex;align-items:center;justify-content:center;z-index:50;animation:fadeIn .2s ease}.modal{background-color:var(--bg-primary);border-radius:16px;box-shadow:var(--shadow-lg);width:100%;max-width:520px;max-height:95vh;overflow-y:auto;animation:scaleIn .2s ease}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--border-default)}.modal-body{padding:24px;overflow-y:visible}.modal-footer{padding:16px 24px;border-top:1px solid var(--border-default);display:flex;justify-content:flex-end;gap:12px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes scaleIn{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}[data-theme=dark] .btn-primary{color:#000!important;font-weight:600}[data-theme=dark] .btn-secondary{color:#fff!important;border-color:var(--brand-primary)}[data-theme=dark] .badge-brand{color:#000!important;background-color:var(--brand-primary)!important;font-weight:700}[data-theme=dark] .badge-neutral{color:#fff!important;background-color:#ffffff26!important}[data-theme=dark] .drawer,[data-theme=dark] .modal{background-color:var(--bg-primary);border-left:1px solid var(--border-default)}[data-theme=dark] .drawer-header h2,[data-theme=dark] .modal-header h2{color:#fff!important;text-shadow:0 0 10px rgba(151,252,228,.2)}[data-theme=dark] .form-label{color:#fff!important}[data-theme=dark] .form-input{color:#fff!important;background-color:var(--bg-secondary);border-color:var(--border-default)}[data-theme=dark] .form-input:focus{border-color:var(--brand-primary);box-shadow:0 0 0 1px var(--brand-primary)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-default);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--border-hover)}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-muted{color:var(--text-muted)}.text-brand{color:var(--brand-primary)}.text-success{color:var(--success)}.text-warning{color:var(--warning)}.text-error{color:var(--error)}.bg-primary{background-color:var(--bg-primary)}.bg-secondary{background-color:var(--bg-secondary)}.bg-tertiary{background-color:var(--bg-tertiary)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:4px}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.mt-1{margin-top:4px}.mt-2{margin-top:8px}.mt-3{margin-top:12px}.mt-4{margin-top:16px}.mb-1{margin-bottom:4px}.mb-2{margin-bottom:8px}.mb-3{margin-bottom:12px}.mb-4{margin-bottom:16px}.p-2{padding:8px}.p-3{padding:12px}.p-4{padding:16px}.rounded{border-radius:8px}.rounded-lg{border-radius:12px}.rounded-full{border-radius:9999px}.w-full{width:100%}.h-full{height:100%}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.sidebar-container{display:flex;height:100vh;flex-shrink:0}.workspace-rail{width:72px;background-color:var(--rail-bg);border-right:1px solid var(--rail-border);display:flex;flex-direction:column;align-items:center;padding:16px 0;height:100vh;flex-shrink:0;transition:background-color .3s ease,border-color .3s ease}.workspace-rail-logo{padding:8px;margin-bottom:8px;background-color:var(--rail-bg);border-radius:8px;transition:background-color .3s ease}.workspace-rail-logo-img{width:48px;height:48px;object-fit:contain}.workspace-rail-divider{width:32px;height:1px;background-color:var(--rail-border);margin:8px 0 16px;transition:background-color .3s ease}.workspace-list{flex:1;display:flex;flex-direction:column;align-items:center;gap:12px;padding:0 12px;overflow:hidden}.workspace-item{position:relative;width:44px;height:44px;border-radius:12px;border:1px solid var(--rail-border);background-color:var(--rail-bg);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;flex-shrink:0}.workspace-item:hover{border-color:var(--brand-primary);transform:scale(1.05)}.workspace-item.active{border-color:transparent;background:conic-gradient(from 180deg at 50% 50%,#e2e8f0,#94a3b8,#f8fafc,#cbd5e1,#94a3b8,#e2e8f0,#94a3b8 300deg,#e2e8f0 360deg);transform:scale(1.05);box-shadow:0 4px 12px #00000026}.workspace-initials{font-size:14px;font-weight:700;color:var(--text-secondary);z-index:1}.workspace-item.active .workspace-initials{color:var(--text-primary)}.workspace-indicator{position:absolute;left:-12px;top:50%;transform:translateY(-50%);width:4px;height:20px;background-color:var(--brand-primary);border-radius:0 4px 4px 0}.workspace-tooltip{position:absolute;left:calc(100% + 12px);top:50%;transform:translateY(-50%);padding:6px 12px;background-color:var(--text-primary);color:#fff;font-size:12px;font-weight:500;border-radius:6px;white-space:nowrap;opacity:0;visibility:hidden;transition:all .15s ease;pointer-events:none;z-index:100;box-shadow:var(--shadow-lg)}.workspace-tooltip:before{content:"";position:absolute;right:100%;top:50%;transform:translateY(-50%);border:6px solid transparent;border-right-color:var(--text-primary)}.workspace-item:hover .workspace-tooltip{opacity:1;visibility:visible}.workspace-add{width:44px;height:44px;border-radius:12px;border:2px dashed var(--border-default);background-color:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-muted);transition:all .2s ease;flex-shrink:0}.workspace-add:hover{border-color:var(--brand-primary);color:var(--brand-primary);background-color:var(--brand-muted)}.workspace-add:hover svg{transform:rotate(90deg)}.workspace-add svg{transition:transform .3s ease}.workspace-rail-footer{margin-top:auto;padding-top:16px;display:flex;flex-direction:column;align-items:center;gap:8px}.workspace-theme-toggle{width:44px;height:44px;border-radius:12px;border:none;background-color:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-muted);transition:all .2s ease}.workspace-theme-toggle:hover{background-color:var(--bg-hover);color:var(--brand-primary)}.workspace-theme-toggle svg{transition:transform .3s ease}.workspace-theme-toggle:hover svg{transform:rotate(15deg)}.workspace-settings-btn,.workspace-overview-btn{width:44px;height:44px;border-radius:12px;border:none;background-color:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-muted);transition:all .2s ease}.workspace-settings-btn:hover,.workspace-overview-btn:hover{background-color:var(--bg-hover);color:var(--text-primary)}.sidebar-container .sidebar{width:256px;border-left:none}.sidebar-workspace-info{display:flex;flex-direction:column;gap:4px}.sidebar-workspace-name{font-size:16px;font-weight:600;color:var(--text-primary);margin:0}.sidebar-workspace-id{font-size:11px;font-family:Monaco,Menlo,monospace;color:var(--brand-primary)}.sidebar-nav .nav-item{width:100%;border:none;background:none;text-align:left}.sidebar-nav .nav-item span{flex:1}.sidebar-footer{padding:16px 12px;border-top:1px solid var(--border-default);margin-top:auto}.workspace-config-btn{width:100%;border:none;background:none;text-align:left;color:var(--text-secondary)}.workspace-config-btn:hover{background-color:var(--bg-hover);color:var(--text-primary)}.confirm-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:100;opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease}.confirm-modal-overlay.active{opacity:1;visibility:visible}.confirm-modal-content{position:relative;background:var(--bg-primary);border-radius:16px;padding:32px 24px 24px;max-width:400px;width:90%;box-shadow:0 20px 40px #00000026;transform:scale(.95);transition:transform .2s ease}.confirm-modal-overlay.active .confirm-modal-content{transform:scale(1)}.confirm-modal-icon{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 16px}.confirm-modal-actions{display:flex;gap:12px;margin-top:24px}@keyframes pipeline-flow{0%{stroke-dashoffset:24}to{stroke-dashoffset:0}}.edge-pipeline{stroke:var(--brand-primary, #DFFFEF);stroke-width:3px;stroke-dasharray:8 4;stroke-linecap:round;fill:none;animation:pipeline-flow .6s linear infinite;filter:drop-shadow(0 0 4px rgba(223,255,239,.3));transition:stroke-width .15s ease,filter .15s ease}.edge-pipeline:hover{stroke-width:4px;filter:drop-shadow(0 0 8px rgba(223,255,239,.5))}.edge-automation{stroke:var(--brand-secondary, #86efac);stroke-width:2px;stroke-dasharray:4 2;stroke-linecap:round;fill:none;opacity:.7;transition:all .2s ease}.edge-automation:hover{stroke:var(--brand-primary, #DFFFEF);opacity:1;stroke-width:2.5px}.flow-handle{width:12px;height:12px;border-radius:50%;background:var(--bg-tertiary, #141c2f);border:2px solid var(--brand-primary, #DFFFEF);position:absolute;cursor:crosshair;transition:all .15s ease;z-index:10}.flow-handle:hover{transform:scale(1.3);background:var(--brand-primary, #DFFFEF);box-shadow:0 0 8px #dfffef80}.flow-handle-left{left:-6px;top:50%;transform:translateY(-50%)}.flow-handle-right{right:-6px;top:50%;transform:translateY(-50%)}.flow-handle-top{top:-6px;left:50%;transform:translate(-50%)}.flow-handle-bottom{bottom:-6px;left:50%;transform:translate(-50%)}.flow-handle-automation{opacity:0;background:var(--brand-secondary, #86efac);border-color:var(--brand-secondary, #86efac)}.flow-node:hover .flow-handle-automation{opacity:1}.trigger-attachment-point{width:10px;height:10px;background:var(--brand-primary, #DFFFEF);border-radius:50%;position:absolute;animation:pulse-attachment 1.5s ease-in-out infinite;box-shadow:0 0 8px #dfffef99}@keyframes pulse-attachment{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.4);opacity:.6}}
