@import url("https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&family=Geist:wght@300;400;500;600;700&display=swap");:root{--neon:#00f5ff;--neon2:#7cff7c;--neon3:#ffb347;--neon4:#a77cff;--neon-glow:0 0 18px rgba(0,245,255,.35),0 0 2px rgba(0,245,255,.8) inset;--neon-soft:rgba(0,245,255,.08);--neon-border:rgba(0,245,255,.18);--console-bg:#000;--console-panel:#0a0a0f;--console-card:#0b0f18;--console-grid:rgba(0,245,255,.08);--console-muted:#8aa3ad}.container{max-width:1440px;margin:0 auto;padding:18px}.card{background:linear-gradient(180deg,rgba(10,14,24,.85),rgba(6,9,16,.92));border:1px solid hsla(0,0%,100%,.045);border-radius:14px;box-shadow:0 10px 30px rgba(0,0,0,.4);-webkit-backdrop-filter:blur(12px) saturate(1.2);backdrop-filter:blur(12px) saturate(1.2);position:relative;overflow:hidden;transition:transform .22s cubic-bezier(.2,.8,.2,1),box-shadow .22s cubic-bezier(.2,.8,.2,1),border-color .22s cubic-bezier(.2,.8,.2,1)}.card:before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(800px 200px at 20% -10%,rgba(0,245,255,.06),transparent 60%),radial-gradient(600px 200px at 90% 0,rgba(167,124,255,.04),transparent 60%);opacity:1;transition:opacity .22s cubic-bezier(.2,.8,.2,1)}.card:hover:before{opacity:1}.muted{color:var(--text-2)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:38px;padding:9px 14px;border-radius:12px;border:1px solid var(--border);background:color-mix(in srgb,var(--surface-1) 78%,var(--bg) 22%);transition:transform .16s cubic-bezier(.2,.8,.2,1),background .16s cubic-bezier(.2,.8,.2,1),border-color .16s cubic-bezier(.2,.8,.2,1),box-shadow .16s cubic-bezier(.2,.8,.2,1),color .16s cubic-bezier(.2,.8,.2,1);font-weight:550;cursor:pointer;position:relative;overflow:hidden}.btn:after{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(circle at 50% 50%,hsla(0,0%,100%,.1),transparent 60%);opacity:0;transition:opacity .2s cubic-bezier(.2,.8,.2,1);pointer-events:none}.btn:hover:after{opacity:1}.btn:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--accent) 50%,transparent);box-shadow:0 2px 8px rgba(0,0,0,.08)}.btn:active{transform:scale(.97) translateY(0)}.btn:focus-visible{outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}.btn-primary{background:linear-gradient(135deg,var(--accent),var(--accent));color:#fff;border-color:hsla(0,0%,100%,.15);box-shadow:0 4px 14px color-mix(in srgb,var(--accent) 20%,transparent)}.btn-primary:hover{box-shadow:0 6px 20px color-mix(in srgb,var(--accent) 30%,transparent);filter:brightness(1.08)}.input{width:100%;padding:10px 12px;border-radius:12px;border:1px solid var(--border);background:color-mix(in srgb,var(--surface-1) 82%,var(--bg) 18%);color:var(--text);transition:border-color .16s cubic-bezier(.2,.8,.2,1),box-shadow .16s cubic-bezier(.2,.8,.2,1),background .16s cubic-bezier(.2,.8,.2,1)}.input:hover{border-color:var(--border-hover)}.input:focus{outline:none;border-color:color-mix(in srgb,var(--accent) 65%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}.input:focus,.textarea{background:var(--surface-1)}.textarea{width:100%;min-height:160px;padding:10px 12px;border-radius:14px;border:1px solid var(--border);color:var(--text);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:12px;transition:border-color .16s cubic-bezier(.2,.8,.2,1),box-shadow .16s cubic-bezier(.2,.8,.2,1),background .16s cubic-bezier(.2,.8,.2,1)}.textarea:hover{border-color:var(--border-hover)}.textarea:focus{outline:none;border-color:color-mix(in srgb,var(--accent) 65%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}.btn-sm{padding:6px 10px;font-size:.8rem;border-radius:10px}.table-row-actions{display:inline-flex;align-items:center;gap:6px}.table-row-actions-right{justify-content:flex-end}.table-row-action-btn{min-height:30px;min-width:30px;padding:5px 7px}.table-row-more{position:relative}.table-row-more>summary{list-style:none}.table-row-more>summary::-webkit-details-marker{display:none}.table-row-more-menu{position:absolute;top:calc(100% + 6px);right:0;z-index:90;min-width:160px;padding:6px;border-radius:10px;border:1px solid var(--border);background:color-mix(in srgb,var(--surface-1) 92%,var(--bg) 8%);box-shadow:0 12px 28px rgba(0,0,0,.3)}.table-row-more-item{width:100%;display:flex;align-items:center;gap:8px;padding:8px 10px;border:none;border-radius:8px;background:transparent;color:var(--text);font-size:.78rem;text-align:left;cursor:pointer}.table-row-more-item:hover{background:color-mix(in srgb,var(--accent) 13%,transparent)}.table-row-more-item.danger{color:#f87171}.table-row-more-item:disabled{opacity:.5;cursor:not-allowed}.app-shell{display:grid;grid-gap:12px;gap:12px}.app-frame{display:grid;grid-template-columns:280px minmax(0,1fr);grid-gap:12px;gap:12px;min-height:calc(100dvh - 36px)}.app-sidebar{position:-webkit-sticky;position:sticky;top:12px;align-self:start;padding:12px;max-height:calc(100dvh - 24px);overflow:auto}.app-sidebar-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:10px}.app-sidebar-nav{display:grid;grid-gap:8px;gap:8px}.app-title{font-size:1.05rem;font-weight:700;letter-spacing:.02em}.app-subtitle{color:var(--text-2);font-size:.78rem}.app-nav-section{border:1px solid var(--border);border-radius:12px;background:color-mix(in srgb,var(--surface-1) 84%,var(--bg) 16%);padding:6px}.app-nav-section-title{color:var(--text-2);font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700;padding:4px 6px;cursor:pointer;list-style:none}.app-nav-section-title::-webkit-details-marker{display:none}.app-submenu{display:grid;grid-gap:6px;gap:6px;padding-top:4px}.app-nav-link{display:block;text-decoration:none;color:var(--text);border:1px solid var(--border);background:color-mix(in srgb,var(--surface-1) 80%,var(--bg) 20%);border-radius:11px;padding:8px 11px;font-size:.8rem;font-weight:560;position:relative;overflow:hidden;transition:border-color .16s cubic-bezier(.2,.8,.2,1),transform .16s cubic-bezier(.2,.8,.2,1),background .16s cubic-bezier(.2,.8,.2,1),box-shadow .16s cubic-bezier(.2,.8,.2,1)}.app-nav-link:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--accent);border-radius:0 2px 2px 0;transform:scaleY(0);transition:transform .2s cubic-bezier(.34,1.56,.64,1)}.app-nav-link:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--accent) 50%,transparent);box-shadow:0 2px 8px rgba(0,0,0,.08)}.app-nav-link:hover:before{transform:scaleY(1)}.app-nav-link-accent{border-color:color-mix(in srgb,var(--accent) 50%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 20%,transparent)}.app-main{min-width:0}.app-content{display:grid;grid-gap:12px;gap:12px}.page-hero{padding:20px}.dashboard-hero{padding:20px;position:relative;overflow:hidden;background:linear-gradient(180deg,color-mix(in srgb,var(--surface-1) 96%,transparent),color-mix(in srgb,var(--surface-2) 92%,transparent));border:1px solid var(--border)}.dashboard-hero:after{content:"";position:absolute;inset:-40% -30% auto auto;width:500px;height:350px;background:radial-gradient(circle,color-mix(in srgb,var(--accent) 12%,transparent) 0,transparent 60%),radial-gradient(circle at 30% 50%,color-mix(in srgb,var(--accent-2) 8%,transparent),transparent 60%);pointer-events:none}.dash-hero-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px}.dash-hero-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.dash-view-toggle{width:36px;height:36px;border:1px solid var(--border);border-radius:10px;background:color-mix(in srgb,var(--surface-1) 90%,var(--bg));color:var(--text-2);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:color .14s ease,border-color .14s ease,background .14s ease,transform .14s ease}.dash-view-toggle:hover{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 35%,var(--border));background:color-mix(in srgb,var(--accent) 10%,transparent)}.dash-view-toggle:active{transform:scale(.96)}.dash-view-toggle-desktop{color:var(--text);border-color:color-mix(in srgb,var(--accent) 42%,var(--border));background:color-mix(in srgb,var(--accent) 18%,transparent)}.dash-greeting{display:flex;align-items:center;gap:6px;margin-bottom:2px}.dash-greeting-emoji{font-size:1.15rem}.dash-greeting-text{font-size:.82rem;font-weight:600;color:var(--text-2);letter-spacing:.01em}.dash-cmd-trigger{display:flex;align-items:center;gap:8px;padding:7px 14px;border:1px solid var(--border);border-radius:10px;background:color-mix(in srgb,var(--surface-1) 90%,var(--bg));color:var(--console-muted,var(--text-3));font-size:.78rem;cursor:pointer;transition:all .16s var(--ease-premium);white-space:nowrap}.dash-cmd-trigger:hover{border-color:color-mix(in srgb,var(--accent) 35%,var(--border));color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,transparent)}.dash-cmd-trigger-kbd{display:inline-flex;align-items:center;gap:2px;padding:1px 5px;border:1px solid var(--border);border-radius:4px;font-size:.62rem;background:var(--surface-2);color:var(--text-3);font-family:inherit}.dash-cmd-overlay{position:fixed;inset:0;z-index:9999;background:rgba(0,0,0,.55);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:flex-start;justify-content:center;padding-top:min(20vh,160px);animation:dash-cmd-fade .15s ease}@keyframes dash-cmd-fade{0%{opacity:0}to{opacity:1}}.dash-cmd-dialog{width:90%;max-width:520px;background:linear-gradient(180deg,color-mix(in srgb,var(--surface-1) 96%,transparent),color-mix(in srgb,var(--surface-2) 92%,transparent));border:1px solid color-mix(in srgb,var(--accent) 24%,var(--border));border-radius:14px;box-shadow:var(--shadow-2),0 0 20px color-mix(in srgb,var(--accent) 12%,transparent);overflow:hidden;animation:dash-cmd-slide .18s cubic-bezier(.2,.8,.2,1);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}@keyframes dash-cmd-slide{0%{transform:translateY(-8px);opacity:.8}}.dash-cmd-input-row{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--border)}.dash-cmd-input{flex:1 1;background:none;border:none;color:var(--text);font-size:.9rem;outline:none;font-family:inherit}.dash-cmd-input::placeholder{color:var(--text-3)}.dash-cmd-esc{padding:2px 8px;border:1px solid var(--border);border-radius:4px;font-size:.6rem;color:var(--text-3);font-family:inherit;background:var(--surface-2)}.dash-cmd-list{padding:8px;max-height:320px;overflow-y:auto}.dash-cmd-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;color:var(--text-2);font-size:.82rem;text-decoration:none;transition:background .1s,color .1s}.dash-cmd-item-active,.dash-cmd-item:hover{background:color-mix(in srgb,var(--accent) 10%,transparent);color:var(--accent)}.dash-cmd-item-icon{color:var(--text-3);flex-shrink:0}.dash-cmd-empty{padding:20px;text-align:center;color:var(--text-3);font-size:.82rem}.dash-kpi-top{justify-content:space-between;margin-bottom:6px}.dash-kpi-top,.dash-kpi-trend{display:flex;align-items:center}.dash-kpi-trend{gap:4px;margin-top:4px;font-size:.68rem;font-weight:600}.dash-kpi-trend-up{color:var(--success)}.dash-kpi-trend-down{color:var(--danger)}.dash-kpi-trend-neutral{color:var(--warning)}.dash-status-dot{display:inline-flex;align-items:center;justify-content:center;width:8px;height:8px;border-radius:50%;flex-shrink:0;position:relative}.dash-status-pulse{position:absolute;inset:-3px;border-radius:50%;opacity:.35;animation:dash-pulse 2s ease-in-out infinite}@keyframes dash-pulse{0%,to{transform:scale(1);opacity:.35}50%{transform:scale(1.6);opacity:0}}.dash-quick-actions-list{display:grid;grid-gap:4px;gap:4px;margin-top:10px}.dash-quick-action{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;color:var(--text-2);font-size:.82rem;text-decoration:none;transition:all .14s var(--ease-premium);border:1px solid transparent}.dash-quick-action:hover{background:color-mix(in srgb,var(--accent) 10%,transparent);color:var(--accent);border-color:color-mix(in srgb,var(--accent) 25%,var(--border))}.dash-quick-action-accent{background:color-mix(in srgb,var(--accent) 8%,transparent);border-color:color-mix(in srgb,var(--accent) 20%,var(--border));color:var(--text)}.dash-qa-icon{color:var(--text-3);flex-shrink:0}.dash-quick-action:hover .dash-qa-icon{color:var(--accent)}.dash-qa-label{flex:1 1;font-weight:500}.dash-qa-kbd{padding:1px 6px;border:1px solid var(--border);border-radius:4px;font-size:.6rem;font-family:inherit;background:var(--surface-2);color:var(--text-3);line-height:1.5}.dash-qa-arrow{opacity:0;transition:opacity .14s,transform .14s;color:var(--text-3)}.dash-quick-action:hover .dash-qa-arrow{opacity:1;transform:translateX(2px)}.dash-health-grid{display:grid;grid-gap:6px;gap:6px;margin-top:10px}.dash-health-item{display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:8px;background:color-mix(in srgb,var(--surface-1) 92%,transparent);border:1px solid var(--border);transition:background .14s,border-color .14s}.dash-health-item:hover{background:color-mix(in srgb,var(--accent) 8%,var(--surface-1));border-color:color-mix(in srgb,var(--accent) 22%,var(--border))}.dash-health-icon{color:var(--text-3);flex-shrink:0}.dash-health-label{flex:1 1;font-size:.78rem;font-weight:500;color:var(--text-2)}.dash-health-status{font-size:.68rem;font-weight:700;letter-spacing:.02em}.dash-link-small{display:inline-flex;align-items:center;gap:4px;font-size:.72rem;font-weight:600;color:var(--text-3);text-decoration:none;transition:color .14s}.dash-link-small:hover{color:var(--accent)}@media (max-width:900px){.dash-hero-top{flex-direction:column;gap:10px}.dash-hero-actions{width:100%}.dash-cmd-trigger{flex:1 1}.dashboard-kpi-grid{grid-template-columns:1fr 1fr}}@media (max-width:560px){.dashboard-kpi-grid{grid-template-columns:1fr}}.dashboard-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:10px;gap:10px}.dashboard-kpi-card{border:1px solid var(--border);border-radius:12px;padding:14px;background:linear-gradient(180deg,color-mix(in srgb,var(--surface-1) 94%,transparent),color-mix(in srgb,var(--surface-1) 82%,var(--surface-2)));position:relative;overflow:hidden;transition:transform .22s cubic-bezier(.2,.8,.2,1),box-shadow .22s cubic-bezier(.2,.8,.2,1),border-color .22s cubic-bezier(.2,.8,.2,1)}.dashboard-kpi-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-1),0 0 16px color-mix(in srgb,var(--accent) 14%,transparent);border-color:color-mix(in srgb,var(--accent) 24%,var(--border))}.dashboard-kpi-icon{width:28px;height:28px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent);margin-bottom:6px;transition:transform .22s cubic-bezier(.34,1.56,.64,1),background .22s cubic-bezier(.2,.8,.2,1)}.dashboard-kpi-card:hover .dashboard-kpi-icon{transform:scale(1.1);background:color-mix(in srgb,var(--accent) 18%,transparent)}.dashboard-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.dashboard-panel{padding:18px}.dashboard-panel-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-bottom:8px;margin-bottom:10px}.eco-livemap-head{border-bottom:none;padding-bottom:4px}.dashboard-link-grid{margin-top:12px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px}.dg-root{position:relative}.dg-reset-btn{position:absolute;top:-36px;right:0;display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border:1px solid var(--border);border-radius:8px;background:var(--surface-2);color:var(--text-2);font-size:.72rem;font-weight:600;cursor:pointer;transition:background .16s var(--ease-premium),color .16s var(--ease-premium),border-color .16s var(--ease-premium)}.dg-reset-btn:hover{background:var(--surface-3);color:var(--text);border-color:var(--border-hover)}.dg-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.dg-panel{position:relative;min-width:0;overflow:hidden;transition:transform .22s var(--ease-premium),box-shadow .22s var(--ease-premium),opacity .22s var(--ease-premium)}.dg-panel.dg-full{grid-column:1/-1}.dg-panel>.card{height:100%;box-sizing:border-box}.dg-handle-row{position:absolute;top:10px;right:10px;z-index:5;display:flex;align-items:center;gap:2px;opacity:0;transition:opacity .2s var(--ease-premium)}.dg-panel:hover .dg-handle-row{opacity:1}.dg-handle{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;color:var(--text-3,hsla(0,0%,100%,.25));cursor:-webkit-grab;cursor:grab;transition:color .16s var(--ease-premium),background .16s var(--ease-premium),transform .16s var(--ease-premium);-moz-user-select:none;user-select:none;-webkit-user-select:none}.dg-handle:hover{color:var(--neon);background:rgba(0,245,255,.08);transform:scale(1.08)}.dg-handle:active{cursor:-webkit-grabbing;cursor:grabbing;transform:scale(.95)}.dg-fw-toggle{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border:none;border-radius:6px;background:transparent;color:var(--text-3,hsla(0,0%,100%,.25));cursor:pointer;transition:color .16s var(--ease-premium),background .16s var(--ease-premium)}.dg-fw-toggle:hover{color:var(--accent);background:rgba(0,245,255,.08)}.dg-panel.dg-dragging{opacity:.35;transform:scale(.97)}.dg-drop-indicator{grid-column:1/-1;height:3px;background:var(--accent);border-radius:2px;margin:-4px 0;opacity:.8;animation:dg-pulse 1s var(--ease-premium) infinite alternate}@keyframes dg-pulse{0%{opacity:.5}to{opacity:1}}.dg-resize-handle{position:absolute;bottom:0;left:10%;right:10%;height:8px;cursor:ns-resize;border-radius:0 0 12px 12px;z-index:4;transition:background .16s var(--ease-premium)}.dg-resize-handle:after{content:"";position:absolute;bottom:2px;left:50%;transform:translateX(-50%);width:32px;height:3px;border-radius:2px;background:var(--border);opacity:0;transition:opacity .16s var(--ease-premium)}.dg-panel:hover .dg-resize-handle:after{opacity:.5}.dg-resize-handle:active:after,.dg-resize-handle:hover:after{opacity:1;background:var(--accent)}.dg-panel.dg-resizing{border-color:var(--accent)!important;box-shadow:0 0 0 1px var(--accent)}.dg-panel.dg-resizing .dg-resize-handle:after{opacity:1;background:var(--neon)}.dg-touch-clone{position:fixed;z-index:9999;pointer-events:none;opacity:.85;box-shadow:0 12px 40px rgba(0,0,0,.4);border-radius:16px;transition:none}@media (max-width:900px){.dg-grid{grid-template-columns:1fr}.dg-reset-btn{position:static;margin-bottom:8px;width:-moz-fit-content;width:fit-content;margin-left:auto}}.catalog-item-card{text-align:left;cursor:pointer;width:100%;transition:border-color .16s cubic-bezier(.2,.8,.2,1),transform .16s cubic-bezier(.2,.8,.2,1),background .16s cubic-bezier(.2,.8,.2,1),box-shadow .16s cubic-bezier(.2,.8,.2,1)}.catalog-item-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--accent) 50%,transparent);box-shadow:0 2px 8px rgba(0,0,0,.08),0 0 24px color-mix(in srgb,var(--accent) 10%,transparent)}.catalog-item-card-active{border-color:color-mix(in srgb,var(--accent) 70%,transparent);background:linear-gradient(150deg,color-mix(in srgb,var(--accent) 12%,transparent),color-mix(in srgb,var(--surface-1) 95%,transparent));box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 10%,transparent)}.catalog-item-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.catalog-detail{border-color:color-mix(in srgb,var(--accent) 50%,transparent)}.provider-flows-shell{display:grid;grid-gap:12px;gap:12px}.provider-flows-header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;flex-wrap:wrap}.provider-flows-title{min-width:0}.provider-flows-actions{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.provider-flows-toolbar{display:grid;grid-gap:8px;gap:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center}.provider-flows-search{display:flex;align-items:center;gap:8px}.provider-flows-filter{display:inline-flex;align-items:center;gap:6px}.provider-flows-list{display:grid;grid-gap:8px;gap:8px}.provider-flow-item{padding:12px;display:flex;align-items:center;justify-content:space-between;gap:12px;transition:background .16s cubic-bezier(.2,.8,.2,1),border-color .16s cubic-bezier(.2,.8,.2,1)}.provider-flow-item:hover{background:color-mix(in srgb,var(--accent) 3%,transparent)}.provider-flow-main{min-width:0}.provider-flow-top{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.provider-flow-code{font-size:.92rem;font-weight:700}.provider-flow-env,.provider-flow-state,.provider-flow-version{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:2px 8px;font-size:.66rem;font-weight:700;border:1px solid var(--border)}.provider-flow-env-sandbox{color:var(--success);background:color-mix(in srgb,var(--success) 12%,transparent);border-color:color-mix(in srgb,var(--success) 20%,transparent);transition:transform .16s cubic-bezier(.2,.8,.2,1),box-shadow .16s cubic-bezier(.2,.8,.2,1)}.provider-flow-env-sandbox:hover{transform:scale(1.05)}.provider-flow-env-prod{color:var(--danger);background:color-mix(in srgb,var(--danger) 12%,transparent);border-color:color-mix(in srgb,var(--danger) 20%,transparent);transition:transform .16s cubic-bezier(.2,.8,.2,1)}.provider-flow-env-prod:hover{transform:scale(1.05)}.provider-flow-version{color:var(--text-2);background:color-mix(in srgb,var(--text) 5%,transparent);transition:transform .16s cubic-bezier(.2,.8,.2,1)}.provider-flow-state-published{color:var(--success);background:color-mix(in srgb,var(--success) 13%,transparent);border-color:color-mix(in srgb,var(--success) 18%,transparent);transition:transform .16s cubic-bezier(.2,.8,.2,1)}.provider-flow-state-published:hover{transform:scale(1.05)}.provider-flow-state-draft{color:var(--warning);background:color-mix(in srgb,var(--warning) 14%,transparent);border-color:color-mix(in srgb,var(--warning) 18%,transparent);transition:transform .16s cubic-bezier(.2,.8,.2,1)}.provider-flow-state-draft:hover{transform:scale(1.05)}.provider-flow-meta{margin-top:5px;color:var(--text-2);font-size:.74rem}.provider-flow-actions{flex-shrink:0;display:inline-flex;align-items:center;gap:6px}.page-header{display:grid;grid-gap:6px;gap:6px;margin-bottom:14px}.page-title{font-size:clamp(1.25rem,2vw,1.75rem);line-height:1.1;font-weight:800;letter-spacing:-.02em}.page-subtitle{color:var(--text-2);max-width:80ch;font-size:.93rem}.kpi-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px}.kpi-card{border:1px solid var(--border);border-radius:13px;padding:12px;background:linear-gradient(165deg,color-mix(in srgb,var(--accent) 8%,transparent),color-mix(in srgb,var(--surface-1) 90%,transparent))}.kpi-label{font-size:.72rem;color:var(--console-muted,var(--text-2));text-transform:uppercase;letter-spacing:.08em}.kpi-value{font-size:1.2rem;font-weight:800;margin-top:6px;text-shadow:0 0 10px hsla(0,0%,100%,.08)}.card table{width:100%;border-collapse:separate!important;border-spacing:0!important;font-size:.83rem;border:1px solid color-mix(in srgb,var(--border) 72%,transparent);border-radius:14px;overflow:hidden;background:linear-gradient(180deg,rgba(8,12,20,.85),rgba(6,10,17,.92));box-shadow:inset 0 1px 0 hsla(0,0%,100%,.03),0 10px 24px rgba(0,0,0,.22)}.card table thead th{position:-webkit-sticky;position:sticky;top:0;z-index:2;background:color-mix(in srgb,var(--surface-1) 82%,var(--bg) 18%);color:color-mix(in srgb,var(--text-2) 92%,#fff 8%);font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid color-mix(in srgb,var(--border) 85%,transparent)!important;-webkit-backdrop-filter:blur(8px) saturate(1.1);backdrop-filter:blur(8px) saturate(1.1)}.card table td,.card table th{padding:11px 12px!important;border-bottom:1px solid color-mix(in srgb,var(--border) 65%,transparent)!important}.card table tbody tr{transition:background .14s cubic-bezier(.2,.8,.2,1),box-shadow .14s cubic-bezier(.2,.8,.2,1)}.card table tbody tr:nth-child(2n) td{background:color-mix(in srgb,var(--surface-1) 88%,transparent)}.card table tbody tr:nth-child(odd) td{background:color-mix(in srgb,var(--surface-1) 80%,transparent)}.card table tbody tr:hover td{background:color-mix(in srgb,var(--accent) 10%,var(--surface-1) 90%)}.card table tbody tr:last-child td{border-bottom:none!important}:where(.app-main,.app-content,.app-shell-content) table{width:100%!important;border-collapse:separate!important;border-spacing:0!important;border:1px solid color-mix(in srgb,var(--accent) 28%,var(--border))!important;border-radius:14px!important;overflow:hidden!important;background:linear-gradient(180deg,color-mix(in srgb,var(--surface-1) 96%,transparent),color-mix(in srgb,var(--surface-2) 92%,transparent))!important;box-shadow:var(--shadow-1),inset 0 1px 0 color-mix(in srgb,var(--text) 6%,transparent)!important}:where(.app-main,.app-content,.app-shell-content) table thead th{position:-webkit-sticky!important;position:sticky!important;top:0!important;z-index:3!important;background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 16%,var(--surface-1)),color-mix(in srgb,var(--accent) 8%,var(--surface-1)))!important;color:var(--text)!important;text-transform:uppercase!important;letter-spacing:.09em!important;font-size:.68rem!important;font-weight:750!important;border-bottom:1px solid color-mix(in srgb,var(--accent) 36%,var(--border))!important}:where(.app-main,.app-content,.app-shell-content) table td,:where(.app-main,.app-content,.app-shell-content) table th{padding:11px 12px!important;border-bottom:1px solid color-mix(in srgb,var(--border) 82%,transparent)!important}:where(.app-main,.app-content,.app-shell-content) table tbody tr:nth-child(odd) td{background:color-mix(in srgb,var(--surface-1) 94%,transparent)!important}:where(.app-main,.app-content,.app-shell-content) table tbody tr:nth-child(2n) td{background:color-mix(in srgb,var(--surface-2) 94%,transparent)!important}:where(.app-main,.app-content,.app-shell-content) table tbody tr:hover td{background:color-mix(in srgb,var(--accent) 10%,var(--surface-1))!important}.app-content table,.app-main table,.app-shell-content table,.card table{border:1px solid color-mix(in srgb,var(--accent) 34%,var(--border))!important;border-radius:14px!important;overflow:hidden!important;background:linear-gradient(180deg,color-mix(in srgb,var(--surface-1) 96%,transparent),color-mix(in srgb,var(--surface-2) 92%,transparent))!important;box-shadow:var(--shadow-1),inset 0 1px 0 color-mix(in srgb,var(--text) 6%,transparent)!important}.app-content table thead th,.app-main table thead th,.app-shell-content table thead th,.card table thead th{background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 18%,var(--surface-1)),color-mix(in srgb,var(--accent) 9%,var(--surface-1)))!important;color:var(--text)!important;border-bottom:1px solid color-mix(in srgb,var(--accent) 36%,var(--border))!important;letter-spacing:.09em!important;font-size:.68rem!important;text-transform:uppercase!important}.app-content table tbody tr:nth-child(odd) td,.app-main table tbody tr:nth-child(odd) td,.app-shell-content table tbody tr:nth-child(odd) td,.card table tbody tr:nth-child(odd) td{background:color-mix(in srgb,var(--surface-1) 94%,transparent)!important}.app-content table tbody tr:nth-child(2n) td,.app-main table tbody tr:nth-child(2n) td,.app-shell-content table tbody tr:nth-child(2n) td,.card table tbody tr:nth-child(2n) td{background:color-mix(in srgb,var(--surface-2) 94%,transparent)!important}.app-content table tbody tr:hover td,.app-main table tbody tr:hover td,.app-shell-content table tbody tr:hover td,.card table tbody tr:hover td{background:color-mix(in srgb,var(--accent) 12%,var(--surface-1))!important}.portal-live-grid{display:grid;grid-gap:16px;gap:16px;grid-template-columns:minmax(0,1fr) 360px}@media (max-width:900px){.dashboard-hero-head{flex-direction:column}.provider-flows-toolbar{grid-template-columns:1fr}.provider-flows-filter{width:100%}.provider-flows-filter .btn{flex:1 1}.provider-flow-item{flex-direction:column;align-items:stretch}.provider-flow-actions{width:100%}.provider-flow-actions .btn{width:100%;min-height:40px}.dashboard-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.app-frame,.dashboard-grid,.dashboard-link-grid,.kpi-grid{grid-template-columns:1fr}.app-frame{min-height:auto}.app-sidebar{position:static;max-height:none;overflow:visible}.portal-live-grid{grid-template-columns:1fr}}.flow-editor-fullscreen{position:fixed;top:0;right:0;bottom:0;left:0;min-width:var(--flow-app-vw,100vw);z-index:50;margin:0!important;padding:0!important}.flow-editor-fullscreen,.flow-layout{height:var(--flow-app-vh,100dvh);min-height:var(--flow-app-vh,100dvh);max-height:var(--flow-app-vh,100dvh);width:var(--flow-app-vw,100vw);max-width:var(--flow-app-vw,100vw);background:var(--bg);overflow:hidden}.flow-layout{display:flex;flex-direction:column}body.flow-editor-active{overflow:hidden}body.flow-editor-active .container{max-width:100%;margin:0;padding:0}body.flow-editor-active .container>*{margin-top:0!important;margin-bottom:0!important}body.flow-editor-active .container>.card:first-child{display:none}body.flow-editor-active .console-sidebar,body.flow-editor-active .console-tab-bar,body.flow-editor-active .console-topbar{display:none!important}body.flow-editor-active .console-shell{display:block!important;grid-template-columns:none!important}body.flow-editor-active .console-main{overflow:visible!important}body.flow-editor-active .console-content{padding:0!important;overflow:visible!important}body.flow-editor-active .flow-editor-fullscreen{position:fixed;top:0;left:0;right:0;bottom:0;z-index:9999;width:100vw;height:100dvh}.flow-header-provider{display:inline-flex;align-items:center;gap:8px;min-width:0}.flow-header-provider-label{font-size:12px;white-space:nowrap}.flow-header-provider-select{min-width:140px;max-width:260px;width:min(260px,34vw)}@media (max-width:1200px){.flow-header-provider-label{display:none}.flow-header-provider-select{min-width:180px;max-width:240px}}.flow-header{display:flex;align-items:center;justify-content:space-between;padding:0 16px;min-height:52px;height:auto;border-bottom:1px solid var(--border);background:var(--surface-1);flex-shrink:0;gap:16px;flex-wrap:wrap}.flow-header-left{min-width:0;flex:1 1}.flow-breadcrumb,.flow-header-left{display:flex;align-items:center;gap:8px}.flow-breadcrumb{font-size:.85rem}.flow-workflow-name{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.flow-header-center{flex-shrink:0}.flow-tabs{display:flex;background:color-mix(in srgb,var(--text) 5%,transparent);border-radius:8px;padding:3px}.flow-tab{display:inline-flex;align-items:center;gap:6px;justify-content:center;min-width:74px;padding:6px 16px;font-size:.8rem;font-weight:500;border:none;border-radius:6px;background:none;cursor:pointer;color:var(--text-2);transition:background .12s ease,color .12s ease}.flow-tab-icon{min-width:38px;padding-left:10px;padding-right:10px}.flow-tab-active,.flow-tab:hover{color:var(--text)}.flow-tab-active{background:var(--surface-1);box-shadow:0 1px 3px rgba(0,0,0,.1)}.flow-header-right{display:flex;align-items:center;gap:8px;flex:1 1;justify-content:flex-end;min-width:0;flex-wrap:wrap}.flow-editor{display:flex;flex:1 1;min-height:0;overflow:hidden}.flow-left-sidebar{width:48px;flex-shrink:0;display:flex;flex-direction:column;align-items:center;padding:12px 0;gap:8px;border-right:1px solid var(--border);background:var(--surface-1)}.flow-sidebar-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;border:none;background:none;cursor:pointer;color:var(--text-2);transition:background .16s cubic-bezier(.2,.8,.2,1),color .16s cubic-bezier(.2,.8,.2,1),transform .16s cubic-bezier(.2,.8,.2,1)}.flow-sidebar-btn:hover{background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent);transform:scale(1.08)}.flow-sidebar-btn:active{transform:scale(.95)}.flow-sidebar-divider{width:24px;height:1px;background:var(--border);margin:4px 0}.flow-canvas-wrapper{flex:1 1;min-width:0;position:relative;overflow:hidden;display:flex;flex-direction:column}.flow-canvas-add-handle{position:absolute;top:14px;right:10px;z-index:31;width:30px;height:36px;border:1px solid color-mix(in srgb,var(--border) 55%,transparent);border-right:none;border-radius:10px 0 0 10px;background:transparent;color:var(--text-2);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transform:translateX(0);transition:right .18s ease,color .12s ease,background .12s ease;pointer-events:auto;touch-action:manipulation}.flow-canvas-add-handle:hover{color:var(--accent);background:color-mix(in srgb,var(--accent) 4%,transparent)}.flow-canvas-add-handle-open{right:min(360px,42vw)}.flow-components-drawer{position:absolute;top:12px;bottom:56px;right:0;width:min(360px,42vw);max-width:86vw;z-index:30;border:1px solid var(--border);border-right:none;border-radius:14px 0 0 14px;overflow:hidden;background:var(--surface-1);box-shadow:-10px 0 24px rgba(0,0,0,.22);transition:transform .2s ease,opacity .2s ease;pointer-events:auto;touch-action:manipulation}.flow-components-drawer-closed{transform:translateX(calc(100% + 16px));opacity:0;pointer-events:none}.flow-components-drawer-open{transform:translateX(0);opacity:1}.flow-meta-overlay{position:absolute;top:0;left:0;z-index:20;width:380px;max-height:100%;overflow-y:auto;background:var(--surface-1);border-right:1px solid var(--border);box-shadow:4px 0 20px rgba(0,0,0,.1);padding:16px}.flow-right-sidebar{width:min(420px,34vw);flex-shrink:0;border-left:1px solid var(--border);background:var(--surface-1);display:flex;flex-direction:row;min-height:0}.flow-right-sidebar-collapsed{width:52px;display:flex;flex-direction:row;align-items:center;padding:0;gap:0}.flow-rs-rail{width:52px;border-right:1px solid var(--border);display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 0;overflow-y:auto}.flow-rs-content{flex:1 1;min-width:0;display:flex;flex-direction:column}.flow-rs-content-stack{gap:10px;padding:10px;overflow:auto}.flow-rs-stack-item{flex:1 1;min-height:0;display:flex}.flow-rs-stack-item .flow-components-panel{width:100%;border-radius:14px}.flow-rs-header{height:42px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 12px}.flow-rs-title{font-size:.82rem;font-weight:700}.flow-rs-header-icons{color:var(--text-2)}.flow-rs-body{flex:1 1;overflow:auto;padding:10px}.flow-rs-body-components{padding:0}.flow-rs-body-components .flow-components-panel{border:none;border-radius:0;height:100%}.flow-rs-section h4{margin:0 0 8px;font-size:.9rem}.flow-rs-subtitle{margin:10px 0 6px;font-size:.78rem;color:var(--text-2);font-weight:600}.flow-rs-divider{border:0;border-top:1px solid var(--border);margin:10px 0}.flow-rs-kv{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px;font-size:.78rem}.flow-rs-kv code{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:60%}.flow-rs-list{display:flex;flex-direction:column;gap:6px}.flow-rs-list-item{width:100%;border:1px solid var(--border);border-radius:8px;background:var(--surface-0);color:inherit;padding:7px 8px;display:flex;align-items:center;justify-content:space-between;font-size:.78rem;text-align:left;cursor:pointer}.flow-rs-list-item:hover{border-color:color-mix(in srgb,var(--accent) 34%,var(--border))}.flow-rs-card{border:1px solid var(--border);border-radius:8px;background:var(--surface-0);padding:8px}.flow-rs-card-title{font-size:.8rem;font-weight:600}.flow-rs-card-sub{font-size:.72rem;color:var(--text-2);margin-bottom:6px}.flow-rs-actions-row{display:flex;gap:6px;align-items:center;margin-bottom:8px}.flow-rs-tags{display:flex;flex-wrap:wrap;gap:6px}.flow-rs-tags code{font-size:.7rem}.flow-rs-pre{margin:0;padding:8px;border:1px solid var(--border);border-radius:8px;background:var(--surface-0);font-size:.72rem;max-height:180px;overflow:auto}.flow-rs-alert{margin-top:8px;color:#f59e0b;font-size:.75rem}.flow-rs-issue{border:1px solid var(--border);border-radius:8px;background:var(--surface-0);padding:7px 8px;font-size:.76rem}.flow-rs-issue-warning{border-color:rgba(245,158,11,.35)}.flow-rs-issue-error{border-color:rgba(239,68,68,.4)}.flow-rs-search{display:flex;align-items:center;gap:6px;border:1px solid var(--border);border-radius:8px;padding:6px 8px;background:var(--surface-0);margin-bottom:8px}.flow-rs-search input{width:100%;border:none;outline:none;background:transparent;color:inherit;font-size:.78rem}.flow-rs-tab-active{background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--accent)}.flow-rs-badge-ok{color:#22c55e;font-size:.72rem}.flow-rs-badge-err{color:#ef4444;font-size:.72rem}.flow-sidebars-sheet{width:min(96vw,480px);max-height:min(80vh,760px);padding:0;overflow:hidden}.flow-sidebars-sheet-stack{height:100%}.flow-right-sidebar-mobile{width:100%;height:100%}.flow-executions-tab,.flow-settings-tab{flex:1 1;overflow-y:auto;padding:24px}.flow-runs-shell{display:grid;grid-template-columns:280px 1fr;grid-gap:12px;gap:12px;min-height:calc(var(--flow-app-vh, 100dvh) - 140px)}.flow-runs-left{border:1px solid var(--border);border-radius:10px;background:var(--surface-1);display:flex;flex-direction:column;min-height:0}.flow-runs-left-header{height:42px;padding:0 10px;display:flex;align-items:center;justify-content:space-between;font-size:.82rem;font-weight:600;border-bottom:1px solid var(--border)}.flow-runs-left-list{flex:1 1;overflow:auto;padding:6px}.flow-runs-item{width:100%;text-align:left;border:1px solid transparent;background:transparent;color:inherit;border-radius:8px;padding:8px;margin-bottom:6px;cursor:pointer}.flow-runs-item:hover{background:color-mix(in srgb,var(--text) 4%,transparent)}.flow-runs-item-active{border-color:color-mix(in srgb,var(--accent) 45%,transparent);background:color-mix(in srgb,var(--accent) 8%,transparent)}.flow-runs-item-top{display:flex;align-items:center;gap:6px}.flow-runs-dot{width:8px;height:8px;border-radius:999px}.flow-runs-status{font-size:.72rem;font-weight:700}.flow-runs-trigger{margin-left:auto;font-size:.68rem;color:var(--text-2)}.flow-runs-item-sub{margin-top:4px;display:flex;justify-content:space-between;font-size:.67rem;color:var(--text-2)}.flow-runs-main{border:1px solid var(--border);border-radius:10px;background:var(--surface-1);display:flex;flex-direction:column;min-height:0}.flow-runs-main-header{height:42px;padding:0 12px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.flow-runs-main-title{font-size:.82rem;font-weight:600}.flow-runs-main-meta{display:flex;gap:10px;align-items:center;font-size:.7rem;color:var(--text-2)}.flow-runs-main-meta span{display:inline-flex;align-items:center;gap:4px}.flow-runs-main-body{flex:1 1;min-height:0;display:grid;grid-template-columns:320px 1fr}.flow-runs-steps{border-right:1px solid var(--border);min-height:0;display:flex;flex-direction:column}.flow-runs-steps-header{height:36px;padding:0 10px;font-size:.72rem;font-weight:700;color:var(--text-2);border-bottom:1px solid var(--border);display:flex;align-items:center}.flow-runs-steps-list{flex:1 1;overflow:auto;padding:6px}.flow-runs-step{width:100%;text-align:left;border:1px solid transparent;background:transparent;color:inherit;border-radius:8px;padding:8px;margin-bottom:6px;cursor:pointer}.flow-runs-step:hover{background:color-mix(in srgb,var(--text) 4%,transparent)}.flow-runs-step-active{border-color:color-mix(in srgb,var(--accent) 45%,transparent);background:color-mix(in srgb,var(--accent) 8%,transparent)}.flow-runs-step-name{display:block;font-size:.74rem;font-weight:600}.flow-runs-step-meta{display:block;margin-top:3px;font-size:.68rem}.flow-runs-output{min-height:0;display:flex;flex-direction:column}.flow-runs-output-header{height:36px;border-bottom:1px solid var(--border);padding:0 10px;display:flex;align-items:center;justify-content:space-between;font-size:.72rem;font-weight:700;color:var(--text-2)}.flow-runs-json{flex:1 1;min-height:0;margin:0;border:none;border-radius:0}.flow-runs-empty{color:var(--text-2);font-size:.78rem;padding:16px}.flow-runs-error{margin:8px;padding:8px;border-radius:6px;border:1px solid rgba(239,68,68,.35);color:#ef4444;font-size:.72rem}.flow-mobile-layout{height:var(--flow-app-vh,100dvh);min-height:var(--flow-app-vh,100dvh);max-height:var(--flow-app-vh,100dvh);width:var(--flow-app-vw,100vw);min-width:var(--flow-app-vw,100vw);max-width:var(--flow-app-vw,100vw);overflow:hidden;padding-bottom:0;--flow-mobile-bottom-inset:max(env(safe-area-inset-bottom),0px)}.flow-mobile-topbar{display:flex;align-items:center;gap:8px;padding:8px;border-bottom:1px solid var(--border);background:var(--surface-1)}.flow-mobile-title{flex:1 1;min-width:0;font-size:.85rem;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.flow-mobile-actions{display:flex;align-items:center;gap:6px}.flow-mobile-actions-row{align-items:center;gap:8px;overflow-x:auto;padding:8px}.flow-mobile-actions-row,.flow-mobile-toolbar{display:flex;border-bottom:1px solid var(--border);background:var(--surface-1)}.flow-mobile-toolbar{overflow:visible;padding:0;flex-direction:column}.flow-mobile-nodes-row{display:flex;align-items:center;gap:8px;padding:8px;border-bottom:1px solid var(--border);background:var(--surface-1)}.flow-mobile-toolbar-row{width:100%;display:flex;align-items:center;gap:8px;padding:6px 8px}.flow-mobile-toolbar-row:not(:last-child){border-bottom:1px solid color-mix(in srgb,var(--border) 50%,transparent)}.flow-mobile-toolbar-group{display:inline-flex;align-items:center;gap:8px;padding:2px;border-radius:12px;border:1px solid var(--border);background:color-mix(in srgb,var(--text) 3%,transparent)}.flow-mobile-toolbar-actions{margin-left:auto}.flow-mobile-actions-row-v2{gap:6px;justify-content:flex-start}.flow-mobile-actions-row .btn{display:inline-flex;align-items:center;white-space:nowrap}.flow-mobile-actions-row .btn,.flow-toolbar-btn{gap:6px;min-height:34px;min-width:78px;justify-content:center}.flow-icon-btn{min-width:36px!important;width:36px;padding-left:0;padding-right:0}.flow-toolbar-root{display:inline-flex;align-items:center;gap:8px}.flow-toolbar-anchor{margin-left:0;display:inline-flex}@media (min-width:1280px){.flow-header,.flow-header-right{flex-wrap:nowrap}.flow-toolbar-anchor{margin-left:auto}}.flow-toolbar-group{gap:8px}.flow-env-chip,.flow-toolbar-group{display:inline-flex;align-items:center}.flow-env-chip{justify-content:center;height:22px;padding:0 8px;border-radius:999px;font-size:.68rem;font-weight:700;border:1px solid var(--border);white-space:nowrap}.flow-env-chip-sandbox{color:var(--success);background:color-mix(in srgb,var(--success) 12%,transparent);border-color:color-mix(in srgb,var(--success) 20%,transparent)}.flow-env-chip-prod{color:var(--danger);background:color-mix(in srgb,var(--danger) 12%,transparent);border-color:color-mix(in srgb,var(--danger) 20%,transparent)}.flow-toolbar-btn-primary{background:#facc15;color:#1f2937;border-color:#eab308}.flow-toolbar-btn-primary:disabled{opacity:.5}.flow-mobile-nav-active{border-color:color-mix(in srgb,var(--accent) 60%,transparent)!important;background:color-mix(in srgb,var(--accent) 16%,transparent)!important;color:var(--accent)!important}.flow-mobile-error{color:#ef4444;font-size:.75rem;padding:6px 10px;background:rgba(239,68,68,.08);border-bottom:1px solid rgba(239,68,68,.25)}.flow-mobile-body{padding-bottom:0}.flow-mobile-body,.flow-mobile-editor{flex:1 1;min-height:0;overflow:hidden;display:flex;flex-direction:column}.flow-mobile-editor{width:100%;position:relative;touch-action:manipulation}.flow-mobile-tabbar{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--border);background:var(--surface-1);padding-bottom:var(--flow-mobile-bottom-inset);position:fixed;left:0;right:0;bottom:0;z-index:60}.flow-mobile-tab{border:none;background:transparent;color:var(--text-2);font-size:.8rem;padding:10px 8px}.flow-mobile-tab-active{color:var(--text);font-weight:700}.flow-mobile-sheet-backdrop{position:fixed;inset:0;z-index:140;background:rgba(0,0,0,.45);display:flex;align-items:flex-end}.flow-mobile-sheet{width:100%;max-height:calc(100dvh - var(--flow-mobile-bottom-inset) - 10px);background:var(--surface-1);border-top-left-radius:14px;border-top-right-radius:14px;border:1px solid var(--border);border-bottom:none;overflow:auto;padding-bottom:env(safe-area-inset-bottom)}@media (max-width:980px){.execution-bar{min-height:50px;height:auto;padding:6px 8px calc(2px + var(--flow-mobile-bottom-inset));gap:6px}.execution-logs-panel{max-height:46dvh}.execution-bar-left,.execution-bar-right{flex:0 0 auto;gap:6px}.execution-bar-right{margin-left:auto}.execution-bar-btn,.execution-bar-clear-btn,.execution-bar-debug-btn,.execution-bar-logs-btn{padding:7px 9px}.execution-bar-btn span,.execution-bar-clear-btn span,.execution-bar-debug-btn span,.execution-bar-logs-btn span{font-size:.76rem}.flow-layout:not(.flow-mobile-layout){display:none}.flow-header{height:auto;min-height:52px;padding:8px 10px;gap:8px;flex-wrap:wrap}.flow-header-center,.flow-header-left,.flow-header-right{flex:1 1 100%;min-width:0}.flow-header-center{order:3}.flow-tabs{width:100%;overflow-x:auto}.flow-tab{padding:6px 10px;white-space:nowrap}.flow-breadcrumb{font-size:.75rem}.flow-editor{position:relative}.flow-left-sidebar{width:44px;padding:8px 0;gap:6px}.flow-sidebar-btn{width:32px;height:32px}.flow-meta-overlay{width:min(95vw,420px);max-height:calc(100dvh - 140px)}.flow-right-sidebar{width:min(88vw,420px)}.flow-right-sidebar-collapsed{width:48px;padding:0}.flow-executions-tab,.flow-settings-tab{padding:12px}.flow-runs-shell{min-height:auto}.flow-runs-main-body,.flow-runs-shell{grid-template-columns:1fr}.flow-runs-steps{border-right:none;border-bottom:1px solid var(--border);max-height:42dvh}.execution-logs-body-grid{grid-template-columns:1fr}.execution-log-detail{min-height:0}}.flow-builder-canvas-area{flex:1 1;min-width:0;min-height:0;background:var(--surface-1);border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow-1);overflow:hidden;position:relative;display:flex;flex-direction:column;z-index:1}.flow-builder-sidebar{width:360px;flex-shrink:0;overflow-y:auto;max-height:80vh;position:-webkit-sticky;position:sticky;top:24px}.flow-canvas-container{position:relative;width:100%;flex:1 1;min-height:0}.flow-canvas{position:relative;width:100%;height:100%;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;user-select:none}.flow-canvas-empty{top:50%;left:50%;transform:translate(-50%,-50%);flex-direction:column;justify-content:center;text-align:center}.flow-canvas-controls,.flow-canvas-empty{position:absolute;display:flex;align-items:center}.flow-canvas-controls{bottom:16px;left:16px;gap:4px;background:var(--surface-1);border:1px solid var(--border);border-radius:10px;padding:4px;box-shadow:0 4px 16px rgba(0,0,0,.08);z-index:20;touch-action:manipulation}.flow-canvas-ctrl-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:none;border-radius:8px;cursor:pointer;color:var(--text-2);transition:background .16s cubic-bezier(.2,.8,.2,1),color .16s cubic-bezier(.2,.8,.2,1),transform .16s cubic-bezier(.2,.8,.2,1)}.flow-canvas-ctrl-btn:hover{background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent);transform:scale(1.08)}.flow-canvas-ctrl-btn:active{transform:scale(.92)}.flow-canvas-zoom-label{font-size:.7rem;font-weight:600;color:var(--text-2);min-width:36px;text-align:center}.flow-minimap{position:absolute;bottom:16px;right:16px;background:color-mix(in srgb,var(--surface-1) 85%,transparent);border:1px solid var(--border);border-radius:10px;padding:6px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:20}.flow-node{position:absolute;width:250px;min-height:112px;background:linear-gradient(180deg,hsla(0,0%,100%,.03) 0,var(--surface-1) 34%);border:2px solid var(--border);border-radius:6px;cursor:pointer;transition:border-color .16s cubic-bezier(.2,.8,.2,1),box-shadow .16s cubic-bezier(.2,.8,.2,1),transform .16s cubic-bezier(.2,.8,.2,1);display:flex;flex-direction:column;overflow:visible;font-size:14px}.flow-node:hover{border-color:color-mix(in srgb,var(--accent) 50%,transparent);transform:translateY(-2px);box-shadow:var(--shadow-1),0 0 24px color-mix(in srgb,var(--accent) 10%,transparent)}.flow-node-selected{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent),0 0 24px color-mix(in srgb,var(--accent) 10%,transparent)}.flow-node-running{border-color:#22c55e;background:color-mix(in srgb,#22c55e 4%,var(--surface-1,#1a1a2e));animation:flow-pulse 1.5s infinite}.flow-node-success{border-color:var(--success);box-shadow:0 0 12px color-mix(in srgb,var(--success) 15%,transparent)}.flow-node-error{border-color:var(--danger);box-shadow:0 0 12px color-mix(in srgb,var(--danger) 15%,transparent)}@keyframes flow-pulse{0%,to{box-shadow:0 0 0 0 rgba(34,197,94,.3)}50%{box-shadow:0 0 0 8px rgba(34,197,94,.08)}}.flow-node-running-banner{display:flex;align-items:center;gap:6px;padding:3px 8px;margin:0 -1px;background:linear-gradient(90deg,rgba(34,197,94,.12),rgba(34,197,94,.04));border-bottom:1px solid rgba(34,197,94,.2);font-size:.7rem;font-weight:600;color:#4ade80;letter-spacing:.03em;animation:flow-banner-enter .3s ease-out}.flow-node-running-dot{width:6px;height:6px;border-radius:50%;background:#22c55e;animation:flow-dot-blink 1s ease-in-out infinite}@keyframes flow-dot-blink{0%,to{opacity:1}50%{opacity:.3}}@keyframes flow-banner-enter{0%{opacity:0;max-height:0;padding:0 8px}to{opacity:1;max-height:30px;padding:3px 8px}}.flow-node-running-timer{margin-left:auto;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:600;color:#86efac;font-size:11px}.flow-node-execution-path-border{position:absolute;inset:-3px;border:2px solid #22c55e;border-radius:inherit;pointer-events:none;box-shadow:0 0 10px rgba(34,197,94,.2)}.flow-node-stripe{position:absolute;left:-2px;top:-2px;bottom:-2px;width:6px;border-radius:6px 0 0 6px}.flow-port{position:absolute;top:50%;width:30px;height:30px;border-radius:50%;border:2px solid var(--border);background:var(--surface-1);transform:translateY(-50%);z-index:5;cursor:crosshair;display:flex;align-items:center;justify-content:center;transition:transform .1s ease,border-color .1s ease;touch-action:none}.flow-port:hover{transform:translateY(-50%) scale(1.3)}.flow-port-inner{width:12px;height:12px;border-radius:50%;opacity:0;transition:opacity .1s ease}.flow-port:hover .flow-port-inner{opacity:1}.flow-port-input{left:-17px}.flow-port-output{right:-17px}.flow-node-header{display:flex;align-items:center;gap:8px;padding:10px 14px 5px 18px;touch-action:none}.flow-node-type-icon{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:4px;background:color-mix(in srgb,var(--text) 6%,transparent);flex-shrink:0}.flow-node-id{font-size:.8rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1 1;min-width:0}.flow-node-status{display:flex;align-items:center;flex-shrink:0;margin-left:auto}.flow-node-body{display:flex;align-items:center;gap:8px;padding:0 14px 6px 18px}.flow-node-method{font-size:.68rem;font-weight:800;flex-shrink:0}.flow-node-path{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.69rem;color:var(--text-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.flow-node-result-mini{display:flex;align-items:center;gap:6px;font-size:.67rem;font-family:ui-monospace,monospace;padding:6px 14px 8px 18px;border-top:1px solid var(--border)}.flow-node-hover-io{position:absolute;left:0;top:calc(100% + 8px);width:min(340px,92vw);display:grid;grid-template-columns:1fr;grid-gap:8px;gap:8px;padding:10px;border-radius:8px;border:1px solid color-mix(in srgb,var(--border) 95%,transparent);background:color-mix(in srgb,var(--surface-1) 95%,var(--bg) 5%);box-shadow:0 14px 38px rgba(0,0,0,.28);opacity:0;transform:translateY(4px);pointer-events:none;transition:opacity .13s ease,transform .13s ease;z-index:30}.flow-node-selected .flow-node-hover-io,.flow-node:hover .flow-node-hover-io{opacity:1;transform:translateY(0);pointer-events:auto}.flow-node-hover-io-block{min-width:0}.flow-node-hover-io-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:2px}.flow-node-hover-io-label{font-size:.63rem;text-transform:uppercase;letter-spacing:.03em;color:var(--text-2);margin-bottom:4px;font-weight:700}.flow-node-hover-io-meta{font-size:.62rem;color:var(--text-2);margin-bottom:4px}.flow-node-hover-copy-btn{border:1px solid color-mix(in srgb,var(--border) 95%,transparent);background:color-mix(in srgb,var(--bg) 45%,transparent);color:var(--text-2);border-radius:5px;padding:2px 6px;font-size:.6rem;line-height:1.2;cursor:pointer}.flow-node-hover-copy-btn:hover{color:var(--text);border-color:color-mix(in srgb,var(--accent) 50%,transparent);background:color-mix(in srgb,var(--accent) 12%,transparent)}.flow-node-hover-io-pre{margin:0;padding:7px 8px;border-radius:6px;border:1px solid color-mix(in srgb,var(--border) 90%,transparent);background:color-mix(in srgb,var(--bg) 36%,transparent);color:var(--text);font-size:.66rem;line-height:1.35;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;max-height:110px;overflow:auto;white-space:pre-wrap;word-break:break-word}.flow-node-meta{display:flex;align-items:center;gap:6px;padding:0 14px 7px 18px;flex-wrap:wrap}.flow-node-chip{justify-content:center;height:18px;padding:0 6px;border:1px solid color-mix(in srgb,var(--text) 12%,transparent);border-radius:4px;background:color-mix(in srgb,var(--text) 4%,transparent);color:var(--text-2);font-size:.61rem;font-weight:700;letter-spacing:.01em;text-transform:uppercase}.flow-node-actions,.flow-node-chip{display:inline-flex;align-items:center}.flow-node-actions{position:absolute;top:-13px;right:10px;gap:4px;opacity:0;transform:translateY(-2px);pointer-events:none;transition:opacity .12s ease,transform .12s ease}.flow-node-selected .flow-node-actions,.flow-node:hover .flow-node-actions{opacity:1;transform:translateY(0);pointer-events:auto}.flow-node-action-btn{width:24px;height:24px;border:1px solid color-mix(in srgb,var(--border) 70%,color-mix(in srgb,var(--accent) 35%,transparent));background:color-mix(in srgb,var(--surface-1) 86%,var(--bg) 14%);color:var(--text-2);border-radius:6px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .12s ease,color .12s ease,border-color .12s ease,transform .12s ease}.flow-node-action-btn:hover{color:var(--text);border-color:color-mix(in srgb,var(--accent) 45%,transparent);background:color-mix(in srgb,var(--accent) 14%,transparent);transform:translateY(-1px)}.flow-node-action-btn-active{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 65%,transparent);background:color-mix(in srgb,var(--accent) 16%,transparent);transform:scale(.96)}@media (hover:none) and (pointer:coarse){.flow-node-actions{opacity:1;transform:translateY(0);pointer-events:auto;top:-15px;right:8px;padding:3px;border-radius:10px;background:color-mix(in srgb,var(--surface-1) 72%,transparent);border:1px solid color-mix(in srgb,var(--border) 90%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.flow-node-action-btn{width:30px;height:30px;border-radius:8px}.flow-node-hover-io{display:none}}.flow-node-action-btn-danger:hover{color:#ef4444;border-color:rgba(239,68,68,.55);background:rgba(239,68,68,.1)}.flow-node-type-auth,.flow-node-type-http,.flow-node-type-webhook{background:linear-gradient(180deg,rgba(59,130,246,.12) 0,rgba(59,130,246,.04) 26%,var(--surface-1) 52%)}.flow-node-type-ai-transform{background:linear-gradient(180deg,rgba(168,85,247,.14) 0,rgba(168,85,247,.05) 28%,var(--surface-1) 54%)}.flow-node-type-external-data,.flow-node-type-set,.flow-node-type-sql{background:linear-gradient(180deg,rgba(6,182,212,.14) 0,rgba(6,182,212,.05) 28%,var(--surface-1) 54%)}.flow-node-type-code,.flow-node-type-regex{background:linear-gradient(180deg,rgba(16,185,129,.14) 0,rgba(16,185,129,.05) 28%,var(--surface-1) 54%)}.flow-node-type-delay,.flow-node-type-if,.flow-node-type-loop,.flow-node-type-pause,.flow-node-type-switch{background:linear-gradient(180deg,rgba(245,158,11,.14) 0,rgba(245,158,11,.05) 28%,var(--surface-1) 54%)}.flow-node-type-manual-trigger,.flow-node-type-schedule-trigger,.flow-node-type-webhook-trigger{background:linear-gradient(180deg,rgba(34,197,94,.16) 0,rgba(34,197,94,.06) 30%,var(--surface-1) 58%)}.flow-node-type-noop{background:linear-gradient(180deg,rgba(100,116,139,.14) 0,rgba(100,116,139,.05) 28%,var(--surface-1) 54%)}.flow-spin{animation:flow-spin-anim 1s linear infinite}@keyframes flow-spin-anim{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.flow-edge-animated{animation:flow-dash 1s linear infinite}@keyframes flow-dash{to{stroke-dashoffset:-18}}.flow-edge-svg{pointer-events:none}.ndv-overlay{position:fixed;inset:0;z-index:100;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;animation:ndv-fade-in .15s ease}@keyframes ndv-fade-in{0%{opacity:0}to{opacity:1}}@keyframes ndv-slide-up{0%{opacity:0;transform:translateY(24px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.ndv-dialog-3panel{position:relative;width:calc(100vw - 16px);height:calc(100vh - 16px);max-width:none;max-height:95vh;background:var(--bg);border:1px solid var(--border);border-radius:12px;box-shadow:0 25px 80px rgba(0,0,0,.35);display:flex;flex-direction:column;overflow:hidden;animation:ndv-slide-up .2s ease}.ndv-topbar{justify-content:space-between;padding:10px 16px;border-bottom:1px solid var(--border);background:var(--surface-1);gap:12px;flex-shrink:0}.ndv-topbar,.ndv-topbar-left{display:flex;align-items:center}.ndv-topbar-left{gap:10px;min-width:0}.ndv-topbar-right{display:flex;align-items:center;gap:6px}.ndv-type-badge{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:8px;color:#fff;flex-shrink:0}.ndv-step-name{font-size:.95rem;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ndv-icon-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:8px;background:none;cursor:pointer;color:var(--text-2);transition:background .12s ease,color .12s ease}.ndv-icon-btn:hover{background:color-mix(in srgb,var(--text) 8%,transparent);color:var(--text)}.ndv-close-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:8px;background:none;cursor:pointer;color:var(--text-2);transition:background .12s ease,color .12s ease}.ndv-close-btn:hover{background:rgba(239,68,68,.1);color:#ef4444}.ndv-floating-close{position:absolute;top:10px;right:10px;z-index:140;width:36px;height:36px;border:1px solid color-mix(in srgb,#ef4444 45%,var(--border));border-radius:10px;background:color-mix(in srgb,var(--surface-1) 86%,#000 14%);color:#f87171;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 8px 20px rgba(0,0,0,.28)}.ndv-floating-close:hover{background:color-mix(in srgb,#ef4444 12%,var(--surface-1));color:#ef4444}.ndv-body{flex:1 1;overflow:hidden}.ndv-body,.ndv-panel{display:flex;min-height:0}.ndv-panel{flex-direction:column}.ndv-panel-label{font-size:.7rem;font-weight:700;letter-spacing:.08em;color:var(--text-2);padding:12px 16px 8px;flex-shrink:0}.ndv-panel-content{flex:1 1;overflow-y:auto;display:flex;flex-direction:column}.ndv-panel-input{border-right:1px solid var(--border)}.ndv-panel-input,.ndv-panel-output{width:clamp(320px,24vw,460px);flex-shrink:0;background:var(--surface-1)}.ndv-panel-output{border-left:1px solid var(--border)}.ndv-panel-center{flex:1 1;min-width:0;display:flex;flex-direction:column;background:var(--bg)}.ndv-center-header{display:flex;align-items:center;justify-content:space-between;padding:0 16px;border-bottom:1px solid var(--border);background:var(--surface-1);flex-shrink:0;gap:8px}.ndv-center-tabs{display:flex;gap:0}.ndv-center-tab{padding:10px 18px;font-size:.85rem;font-weight:500;background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;color:var(--text-2);transition:color .12s ease,border-color .12s ease}.ndv-center-tab:hover{color:var(--text)}.ndv-center-tab-active{color:var(--text);border-bottom-color:var(--accent)}.ndv-execute-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 16px;font-size:.8rem;font-weight:600;border:none;border-radius:20px;background:#ef4444;color:#fff;cursor:pointer;transition:background .12s ease,transform .1s ease;white-space:nowrap}.ndv-execute-btn:hover{background:#dc2626;transform:translateY(-1px)}.ndv-execute-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.ndv-center-content{flex:1 1;overflow-y:auto;padding:20px}.ndv-center-footer{border-top:1px solid var(--border);padding:10px 16px;flex-shrink:0;background:var(--surface-1)}.ndv-center-footer-hint{display:flex;align-items:center;gap:6px;font-size:.8rem;color:var(--text-2);opacity:.6;cursor:text}.ndv-io-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;flex:1 1;padding:24px 16px;gap:8px}.ndv-io-empty-label{font-size:.85rem;font-weight:600;color:var(--text);margin:0}.ndv-io-empty-btn{display:inline-flex;align-items:center;gap:4px;padding:6px 16px;font-size:.8rem;font-weight:500;border:1px solid var(--border);border-radius:8px;background:var(--surface-1);color:var(--text);cursor:pointer;transition:background .12s ease;margin-top:4px}.ndv-io-empty-btn:hover{background:color-mix(in srgb,var(--text) 5%,transparent)}.ndv-io-empty-btn:disabled{opacity:.5;cursor:not-allowed}.ndv-io-empty-sub{font-size:.75rem;color:var(--text-2);margin:0}.ndv-io-mock-btn{font-size:.8rem;color:var(--text-2);background:none;border:none;cursor:pointer;padding:0;margin-top:2px}.ndv-io-data{padding:12px 16px}.ndv-io-data-header{display:flex;align-items:center;gap:8px;margin-bottom:8px;flex-wrap:wrap}.ndv-io-data-status{font-size:.85rem;font-weight:700}.ndv-io-data-duration{font-size:.7rem;color:var(--text-2)}.ndv-io-json{background:color-mix(in srgb,var(--text) 3%,transparent);padding:10px 12px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.7rem;overflow-x:auto;max-height:400px;overflow-y:auto;white-space:pre-wrap;word-break:break-all;color:var(--text)}.ndv-io-json,.ndv-io-view-switch{border:1px solid var(--border);border-radius:8px}.ndv-io-view-switch{margin-left:auto;display:inline-flex;align-items:center;overflow:hidden}.ndv-io-view-btn{border:none;background:transparent;color:var(--text-2);padding:4px 10px;font-size:.72rem;cursor:pointer}.ndv-io-view-btn-active{background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--text)}.jsoneditor-menu{list-style:none;display:flex;align-items:center;gap:6px;margin:0 0 8px;padding:0;flex-wrap:wrap}.jsoneditor-type-modes{border:1px solid var(--border);background:var(--bg);color:var(--text-2);border-radius:8px;padding:4px 8px;cursor:pointer;font-size:.72rem;line-height:1}.jsoneditor-type-modes .jsoneditor-text{white-space:nowrap}.jsoneditor-type-modes.jsoneditor-selected{color:var(--text);background:color-mix(in srgb,var(--accent) 12%,transparent);border-color:color-mix(in srgb,var(--accent) 35%,transparent)}.ndv-io-copy-hint{font-size:.7rem;color:var(--text-2);margin-bottom:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ndv-io-kv-list{border:1px solid var(--border);border-radius:8px;overflow:hidden}.ndv-io-kv-row{display:grid;grid-template-columns:minmax(120px,34%) minmax(0,1fr);grid-gap:8px;gap:8px;padding:8px 10px;border-bottom:1px solid color-mix(in srgb,var(--border) 90%,transparent);font-size:.78rem}.ndv-io-kv-row:last-child{border-bottom:none}.ndv-io-kv-key{color:var(--text-2)}.ndv-io-kv-key,.ndv-io-kv-val{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.ndv-io-kv-val{color:var(--text);word-break:break-word}.ndv-io-table-wrap{border:1px solid var(--border);border-radius:8px;overflow:hidden;background:color-mix(in srgb,var(--text) 2%,transparent)}.ndv-io-table{width:100%;border-collapse:collapse;font-size:.75rem}.ndv-io-table td,.ndv-io-table th{padding:7px 9px;border-bottom:1px solid color-mix(in srgb,var(--border) 85%,transparent);text-align:left;vertical-align:top}.ndv-io-table th{background:color-mix(in srgb,var(--text) 4%,transparent);color:var(--text-2);font-weight:600}.ndv-io-table td{color:var(--text);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;word-break:break-word}.ndv-io-table-more{padding:6px 9px;font-size:.7rem;color:var(--text-2)}.ndv-io-tree{border:1px solid var(--border);border-radius:8px;padding:6px 8px;background:color-mix(in srgb,var(--text) 2%,transparent)}.ndv-io-tree details{margin:4px 0}.ndv-io-tree summary{cursor:pointer;font-size:.76rem;color:var(--text-2)}.ndv-io-tree-child{margin-left:10px;margin-top:4px}.ndv-value-menu{position:fixed;z-index:220;min-width:220px;background:var(--surface-1);border:1px solid var(--border);border-radius:10px;box-shadow:0 14px 30px rgba(0,0,0,.28);padding:6px}.ndv-value-menu-item{width:100%;text-align:left;border:none;background:transparent;color:var(--text);font-size:.8rem;padding:8px 10px;border-radius:8px;cursor:pointer}.ndv-value-menu-item:hover{background:color-mix(in srgb,var(--accent) 12%,transparent)}.ndv-io-extracted{margin-bottom:10px;padding:8px;background:color-mix(in srgb,var(--accent) 4%,transparent);border-radius:8px}.ndv-io-extracted-row{display:flex;align-items:flex-start;gap:6px;font-size:.7rem;padding:2px 0}.ndv-io-extracted-key{color:var(--accent);font-weight:600;font-family:ui-monospace,monospace;flex-shrink:0}.ndv-io-extracted-val{color:var(--text-2);font-family:ui-monospace,monospace;word-break:break-all}.ndv-bottombar{display:flex;align-items:center;gap:12px;padding:8px 16px;border-top:1px solid var(--border);background:var(--surface-1);flex-shrink:0;font-size:.75rem}.ndv-bottombar-label{font-weight:600;color:var(--text-2)}.ndv-bottombar-detail{color:var(--text-2);opacity:.6;font-family:ui-monospace,monospace;font-size:.65rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width:768px){.ndv-dialog-3panel{width:calc(100% - 8px);height:calc(100% - 8px);border-radius:8px}.ndv-body{flex-direction:column}.ndv-panel-input,.ndv-panel-output{width:100%;height:220px;border-right:none;border-left:none;border-bottom:1px solid var(--border)}.ndv-panel-output{border-bottom:none;border-top:1px solid var(--border)}}.flow-json-pre{background:color-mix(in srgb,var(--text) 3%,transparent);border:1px solid var(--border);border-radius:10px;padding:10px 12px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.75rem;overflow-x:auto;max-height:300px;overflow-y:auto;white-space:pre-wrap;word-break:break-all}.flow-chain-btn{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:6px;border:1px solid var(--border);background:color-mix(in srgb,var(--accent) 8%,transparent);color:var(--accent);cursor:pointer;transition:background .12s ease}.flow-chain-btn:hover{background:color-mix(in srgb,var(--accent) 15%,transparent)}.flow-chain-dropdown{position:absolute;top:100%;left:0;z-index:50;min-width:300px;max-height:380px;overflow-y:auto;background:var(--surface-1);border:1px solid var(--border);border-radius:12px;box-shadow:0 12px 40px rgba(0,0,0,.15);padding:6px;margin-top:4px}.flow-chain-group{padding:2px 0}.flow-chain-group-label{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-2);padding:4px 8px 2px}.flow-chain-item{display:flex;flex-direction:column;gap:1px;width:100%;padding:5px 8px;border:none;background:none;border-radius:8px;cursor:pointer;text-align:left;transition:background .1s ease}.flow-chain-item:hover{background:color-mix(in srgb,var(--accent) 8%,transparent)}.flow-chain-token{font-size:.75rem;font-family:ui-monospace,monospace;color:var(--accent);font-weight:500}.flow-chain-desc{font-size:.65rem;color:var(--text-2)}.flow-chain-empty{padding:12px;text-align:center;font-size:.8rem;color:var(--text-2)}.flow-test-panel{overflow:hidden}.flow-test-panel-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;width:100%;background:none;border:none;cursor:pointer;text-align:left;border-bottom:1px solid var(--border)}.flow-test-panel-body{padding:12px 16px}.flow-test-timeline{display:flex;flex-direction:column;gap:8px}.flow-test-timeline-item{display:flex;align-items:flex-start;gap:10px}.flow-test-timeline-icon{flex-shrink:0;padding-top:2px}.flow-test-timeline-content{flex:1 1;min-width:0}.flow-components-panel{background:var(--surface-1);border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow-1);display:flex;flex-direction:column;height:100%;overflow:hidden}.flow-panel-collapsed{display:flex;align-items:flex-start;justify-content:center;padding-top:12px}.flow-panel-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px 10px;border-bottom:1px solid var(--border)}.flow-panel-title{font-size:.85rem;font-weight:700}.flow-panel-toggle{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid var(--border);border-radius:8px;background:none;cursor:pointer;color:var(--text-2);transition:background .1s ease}.flow-panel-toggle:hover{background:color-mix(in srgb,var(--accent) 8%,transparent)}.flow-panel-search{position:relative;padding:8px 12px}.flow-panel-search-icon{position:absolute;top:50%;left:22px;transform:translateY(-50%);color:var(--text-2);pointer-events:none}.flow-panel-search-input{width:100%;padding:8px 10px 8px 30px;font-size:.8rem;border:1px solid var(--border);border-radius:10px;background:color-mix(in srgb,var(--text) 2%,transparent);color:var(--text)}.flow-panel-search-input::placeholder{color:var(--text-2)}.flow-panel-categories{flex:1 1;overflow-y:auto;padding:4px 12px 12px;display:flex;flex-direction:column;align-items:center}.flow-panel-category{margin-bottom:8px;width:100%;max-width:320px}.flow-panel-subcategory{margin-bottom:6px}.flow-panel-subcategory-label{font-size:.62rem;letter-spacing:.04em;padding:2px 2px 4px}.flow-panel-category-label,.flow-panel-subcategory-label{font-weight:700;text-transform:uppercase;color:var(--text-2)}.flow-panel-category-label{font-size:.65rem;letter-spacing:.05em;padding:6px 0 4px}.flow-panel-empty{padding:20px;text-align:center;font-size:.8rem;color:var(--text-2)}.flow-component-card{display:flex;align-items:center;gap:8px;padding:7px 9px;border:1px solid var(--border);border-radius:10px;background:none;cursor:pointer;text-align:left;transition:background .12s ease,border-color .12s ease;width:100%;max-width:320px;margin-bottom:6px;margin-left:auto;margin-right:auto}.flow-component-card:active{cursor:-webkit-grabbing;cursor:grabbing;opacity:.85}.flow-component-card:hover{background:color-mix(in srgb,var(--accent) 5%,transparent);border-color:color-mix(in srgb,var(--accent) 30%,transparent)}.flow-component-card:disabled{opacity:.4;cursor:not-allowed}.flow-component-icon{flex-shrink:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:8px;background:color-mix(in srgb,var(--text) 4%,transparent)}.flow-component-info{flex:1 1;min-width:0}.flow-component-label{font-size:.8rem;font-weight:600;line-height:1.2}.flow-component-desc{font-size:.66rem;color:var(--text-2);margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.flow-component-add-btn{flex-shrink:0;border:1px solid var(--border);background:var(--surface-1);color:var(--text);border-radius:8px;padding:4px 7px;font-size:.66rem;font-weight:600;cursor:pointer;transition:background .1s ease,border-color .1s ease;display:none}.flow-component-add-btn:hover{background:color-mix(in srgb,var(--accent) 8%,transparent);border-color:color-mix(in srgb,var(--accent) 45%,transparent)}.flow-publish-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 18px;font-size:.8rem;font-weight:600;border:none;border-radius:20px;background:#facc15;color:#1f2937;cursor:pointer;transition:background .12s ease,transform .1s ease;white-space:nowrap}.flow-publish-btn:hover{transform:translateY(-1px);background:#eab308}.flow-publish-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.node-context-menu{position:fixed;z-index:200;min-width:220px;background:color-mix(in srgb,var(--surface-1) 92%,transparent);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border);border-radius:12px;box-shadow:0 12px 40px rgba(0,0,0,.25);padding:6px;animation:ndv-fade-in .1s ease}.node-context-item{display:flex;align-items:center;gap:10px;width:100%;padding:8px 12px;border:none;background:none;border-radius:8px;cursor:pointer;font-size:.82rem;color:var(--text);transition:background 80ms ease;text-align:left}.node-context-item:hover{background:color-mix(in srgb,var(--accent) 10%,transparent)}.node-context-item-danger:hover{background:rgba(239,68,68,.1);color:#ef4444}.node-context-item-icon{display:flex;align-items:center;color:var(--text-2);flex-shrink:0}.node-context-item-label{flex:1 1}.node-context-shortcut{font-size:.7rem;color:var(--text-2);background:color-mix(in srgb,var(--text) 6%,transparent);padding:2px 6px;border-radius:4px;font-family:ui-monospace,monospace;flex-shrink:0}.node-context-divider{height:1px;background:var(--border);margin:4px 8px}.sticky-note{border-radius:10px;padding:0;overflow:hidden;box-shadow:0 4px 16px rgba(0,0,0,.1);cursor:-webkit-grab;cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none;min-width:120px;min-height:60px}[data-theme=dark] .sticky-note{box-shadow:0 4px 16px rgba(0,0,0,.35)}.sticky-note-header{display:flex;justify-content:flex-end;padding:4px 6px 0;opacity:0;transition:opacity .15s ease}.sticky-note:hover .sticky-note-header{opacity:1}.sticky-note-delete{display:flex;align-items:center;justify-content:center;width:20px;height:20px;border:none;background:rgba(0,0,0,.1);border-radius:4px;cursor:pointer;color:rgba(0,0,0,.5);transition:background .1s ease}.sticky-note-delete:hover{background:rgba(239,68,68,.2);color:#ef4444}.sticky-note-text{padding:8px 14px 12px;font-size:.85rem;font-weight:600;color:rgba(0,0,0,.75);outline:none;min-height:30px;word-break:break-word}.sticky-note-hint{padding:0 14px 10px;font-size:.75rem;font-weight:500;color:rgba(0,0,0,.4)}.sticky-note-resize{position:absolute;bottom:0;right:0;width:16px;height:16px;cursor:nwse-resize;background:transparent}.sticky-note-resize:after{content:"";position:absolute;bottom:3px;right:3px;width:8px;height:8px;border-right:2px solid rgba(0,0,0,.15);border-bottom:2px solid rgba(0,0,0,.15)}.execution-bar{display:flex;align-items:center;justify-content:space-between;min-height:50px;padding:6px 12px;border-top:1px solid var(--border);background:color-mix(in srgb,var(--surface-1) 86%,var(--bg) 14%);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);flex-shrink:0;z-index:15;position:relative;touch-action:manipulation}.execution-bar-left,.execution-bar-right{display:flex;align-items:center;gap:8px;flex:1 1}.execution-bar-right{justify-content:flex-end;flex-wrap:nowrap;min-width:0}.execution-bar-center{flex-shrink:0;display:flex;align-items:center;gap:6px}.execution-bar-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;font-size:.8rem;font-weight:600;border:none;border-radius:999px;background:linear-gradient(135deg,#fb7185,#ef4444);color:#fff;cursor:pointer;transition:filter .12s ease,transform .1s ease;white-space:nowrap;min-width:84px;justify-content:center}.execution-bar-btn:hover{filter:brightness(.95);transform:translateY(-1px)}.execution-bar-btn:disabled{opacity:.85;cursor:not-allowed;transform:none;background:rgba(34,197,94,.15);border:1px solid rgba(34,197,94,.3)}.execution-bar-debug-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;font-size:.8rem;font-weight:600;border:1px solid var(--border);border-radius:999px;background:color-mix(in srgb,var(--bg) 88%,var(--surface-1) 12%);color:var(--text);cursor:pointer;min-width:84px;justify-content:center}.execution-bar-debug-btn:hover{background:color-mix(in srgb,var(--text) 5%,transparent)}.execution-bar-debug-btn:disabled{opacity:.6;cursor:not-allowed}.execution-bar-logs-btn{display:flex;align-items:center;gap:6px;padding:7px 10px;font-size:.8rem;font-weight:600;border:1px solid var(--border);background:color-mix(in srgb,var(--bg) 88%,var(--surface-1) 12%);cursor:pointer;color:var(--text-2);border-radius:999px;transition:background .1s ease;min-width:84px;justify-content:center}.execution-bar-logs-btn:hover{background:color-mix(in srgb,var(--text) 5%,transparent);color:var(--text)}.execution-bar-logs-btn:disabled{opacity:.4;cursor:not-allowed}.execution-bar-clear-btn{display:flex;align-items:center;gap:4px;font-size:.78rem;font-weight:600;color:var(--text-2);background:color-mix(in srgb,var(--bg) 88%,var(--surface-1) 12%);border:1px solid var(--border);cursor:pointer;padding:7px 10px;border-radius:999px;transition:background .1s ease,color .1s ease;min-width:84px;justify-content:center}.execution-bar-clear-btn:hover{background:rgba(239,68,68,.1);color:#ef4444}.execution-bar-icon-only{min-width:34px;width:34px;height:34px;padding:0;justify-content:center;border-radius:10px}.execution-pill-count{min-width:18px;height:18px;padding:0 5px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:.68rem;font-weight:700;background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent)}.execution-logs-panel{border-top:1px solid var(--border);background:var(--surface-1);max-height:240px;overflow-y:auto;animation:ndv-slide-up .15s ease}.execution-logs-header{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;border-bottom:1px solid var(--border);position:-webkit-sticky;position:sticky;top:0;background:var(--surface-1)}.execution-logs-body{padding:8px 16px}.execution-logs-body-grid{display:grid;grid-template-columns:minmax(300px,48%) minmax(0,1fr);grid-gap:10px;gap:10px}.execution-logs-list{border:1px solid var(--border);border-radius:8px;overflow:auto;max-height:220px}.execution-log-entry{display:flex;align-items:center;gap:10px;padding:6px 0;font-size:.8rem;width:100%;text-align:left;background:transparent;border:none;border-bottom:1px solid var(--border);cursor:pointer}.execution-log-entry:last-child{border-bottom:none}.execution-log-entry:hover{background:color-mix(in srgb,var(--text) 5%,transparent)}.execution-log-entry-active{background:color-mix(in srgb,var(--accent) 12%,transparent)}.execution-log-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.execution-log-id{font-family:ui-monospace,monospace;font-weight:600;flex:1 1}.execution-log-duration,.execution-log-status{color:var(--text-2);font-size:.75rem}.execution-log-duration{font-family:ui-monospace,monospace}.execution-log-detail{border:1px solid var(--border);border-radius:8px;padding:10px;min-height:220px}.execution-log-detail-title{font-size:.82rem;font-weight:600;margin-bottom:4px}.execution-log-detail-meta{font-size:.72rem;color:var(--text-2);margin-bottom:8px}.execution-log-empty{font-size:.78rem;color:var(--text-2);padding:10px}.flow-node-deactivated{opacity:.45;filter:grayscale(.7);border-style:dashed}.flow-node-pinned-badge{top:-8px;right:-8px;width:20px;height:20px;border-radius:50%;background:var(--accent);color:#fff;align-items:center;font-size:10px;z-index:6;box-shadow:0 2px 6px rgba(0,0,0,.2)}.flow-node-pinned-badge,.sub-node-ports{position:absolute;display:flex;justify-content:center}.sub-node-ports{bottom:-28px;left:0;right:0;pointer-events:none}.sub-node-port{position:absolute;display:flex;flex-direction:column;align-items:center;gap:2px;cursor:pointer;pointer-events:all;transition:transform .1s ease}.sub-node-port:hover{transform:scale(1.15)}.sub-node-port-icon{width:24px;height:24px;border-radius:6px;border:2px solid var(--border);background:var(--surface-1);display:flex;align-items:center;justify-content:center}.sub-node-port-attached .sub-node-port-icon{border-color:currentColor}.sub-node-port-label{font-size:.55rem;font-weight:600;color:var(--text-2);white-space:nowrap}.sub-node-port-dot{width:6px;height:6px;border-radius:50%;position:absolute;top:-2px;right:-2px}.db-connection-panel{gap:16px}.db-connection-panel,.db-section{display:flex;flex-direction:column}.db-section{gap:6px}.db-mode-toggle{display:flex;background:color-mix(in srgb,var(--text) 4%,transparent);border-radius:10px;padding:3px;gap:2px}.db-mode-btn{display:flex;align-items:center;gap:6px;padding:7px 14px;font-size:.8rem;font-weight:500;border:none;border-radius:8px;background:none;cursor:pointer;color:var(--text-2);flex:1 1;justify-content:center;transition:background .1s ease,color .1s ease}.db-mode-btn:hover{color:var(--text)}.db-mode-btn-active{background:var(--surface-1);color:var(--text);box-shadow:0 2px 8px rgba(0,0,0,.08)}.db-form-fields{display:flex;flex-direction:column;gap:12px}.db-form-row{display:flex;gap:10px}.db-ssl-toggle{display:flex;align-items:center;gap:8px;cursor:pointer;padding:4px 0}.db-ssl-toggle input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent)}.db-cs-preview{display:flex;flex-direction:column;gap:4px}.db-cs-code{display:block;padding:8px 10px;background:color-mix(in srgb,var(--text) 3%,transparent);border:1px solid var(--border);border-radius:8px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.7rem;word-break:break-all;color:var(--accent)}.db-test-row{gap:12px}.db-test-result,.db-test-row{display:flex;align-items:center}.db-test-result{gap:4px;font-size:.8rem;font-weight:500}.db-test-success{color:var(--success)}.db-test-error{color:var(--danger)}.db-type-selector{position:relative}.db-type-selected{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border-radius:10px;border:1px solid var(--border);background:var(--surface-1);cursor:pointer;transition:border-color .1s ease;color:var(--text);font-size:.85rem;font-weight:500}.db-type-selected:hover{border-color:color-mix(in srgb,var(--accent) 50%,transparent)}.db-type-icon{display:flex;align-items:center;flex-shrink:0}.db-type-label{flex:1 1;text-align:left}.db-type-dropdown{position:absolute;top:100%;left:0;right:0;z-index:50;margin-top:4px;background:color-mix(in srgb,var(--surface-1) 92%,transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--border);border-radius:12px;box-shadow:0 12px 40px rgba(0,0,0,.2);padding:6px;max-height:320px;overflow-y:auto}.db-type-option{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border:none;background:none;border-radius:8px;cursor:pointer;text-align:left;transition:background 80ms ease;color:var(--text)}.db-type-option:hover{background:color-mix(in srgb,var(--accent) 8%,transparent)}.db-type-option-active{background:color-mix(in srgb,var(--accent) 12%,transparent)}.db-type-option-info{display:flex;flex-direction:column}.db-type-option-name{font-size:.82rem;font-weight:500}.db-type-option-port{font-size:.7rem;color:var(--text-2)}.query-builder{display:flex;flex-direction:column;gap:16px}.qb-mode-toggle{display:flex;background:color-mix(in srgb,var(--text) 4%,transparent);border-radius:10px;padding:3px;gap:2px}.qb-visual{gap:14px}.qb-section,.qb-visual{display:flex;flex-direction:column}.qb-section{gap:6px}.qb-section-header{display:flex;align-items:center;justify-content:space-between}.qb-condition-row,.qb-inline-row{display:flex;align-items:center;gap:6px;margin-bottom:4px}.qb-condition-row{flex-wrap:wrap}.qb-connector-select{width:70px;padding:6px 8px;font-size:.75rem}.qb-op-select{width:110px;padding:6px 8px;font-size:.75rem}.qb-join-row{display:flex;align-items:center;gap:6px;margin-bottom:4px;flex-wrap:wrap}.qb-join-type-select{width:90px;padding:6px 8px;font-size:.75rem}.qb-limit-row{display:flex;gap:10px}.qb-remove-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:none;border-radius:6px;cursor:pointer;color:var(--text-2);transition:background .1s ease,color .1s ease;flex-shrink:0}.qb-remove-btn:hover{background:rgba(239,68,68,.1);color:#ef4444}.qb-preview{display:flex;flex-direction:column;gap:6px}.qb-preview-code{background:color-mix(in srgb,var(--text) 3%,transparent);border:1px solid var(--border);border-radius:10px;padding:12px 14px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.75rem;overflow-x:auto;white-space:pre-wrap;word-break:break-all;color:var(--accent);max-height:200px;overflow-y:auto}.qb-raw{display:flex;flex-direction:column;gap:6px}.sql-form-tabs{display:flex;background:color-mix(in srgb,var(--text) 4%,transparent);border-radius:10px;padding:3px;gap:2px;margin-bottom:16px}.sql-form-tab{display:flex;align-items:center;gap:6px;padding:7px 14px;font-size:.8rem;font-weight:500;border:none;border-radius:8px;background:none;cursor:pointer;color:var(--text-2);flex:1 1;justify-content:center;transition:background .1s ease,color .1s ease}.sql-form-tab:hover{color:var(--text)}.sql-form-tab-active{background:var(--surface-1);color:var(--text);box-shadow:0 2px 8px rgba(0,0,0,.08)}.process-block-canvas{background:radial-gradient(circle,var(--border) 1px,transparent 1px);background-size:24px 24px;cursor:default}.process-block-node{position:absolute;border-radius:12px;border:1px solid var(--border);background:color-mix(in srgb,var(--surface-1) 92%,transparent);box-shadow:0 2px 8px rgba(0,0,0,.08);display:flex;flex-direction:column;overflow:visible;transition:box-shadow .15s ease,border-color .15s ease;z-index:2}.process-block-node:hover{box-shadow:0 4px 16px rgba(0,0,0,.1);z-index:3}.process-block-node-selected{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 25%,transparent),0 4px 16px rgba(0,0,0,.1);z-index:4}.process-block-number{position:absolute;bottom:8px;right:12px;font-size:2.5rem;font-weight:900;opacity:.12;line-height:1;pointer-events:none;z-index:0}.process-block-header{display:flex;align-items:center;gap:8px;padding:10px 12px 6px;flex-shrink:0;z-index:1}.process-block-title{font-size:.8rem;font-weight:700;color:var(--text);line-height:1.3}.process-block-body{flex:1 1;padding:4px 12px;font-size:.68rem;color:var(--text-2);overflow:hidden;z-index:1}.flow-slide-over-overlay{position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:50;animation:fadeIn .2s ease}.flow-slide-over{position:fixed;top:0;right:0;bottom:0;width:70vw;max-width:1200px;background:var(--bg);border-left:1px solid var(--border);box-shadow:-12px 0 40px rgba(0,0,0,.15);z-index:51;display:flex;flex-direction:column;animation:slideInRight .3s cubic-bezier(.16,1,.3,1)}@keyframes slideInRight{0%{transform:translateX(100%)}to{transform:translateX(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.display-mode-toggle{display:flex;background:color-mix(in srgb,var(--text) 4%,transparent);border-radius:8px;padding:2px;gap:2px}.display-mode-btn{display:flex;align-items:center;gap:4px;padding:4px 10px;font-size:.7rem;font-weight:500;border:none;border-radius:6px;background:none;cursor:pointer;color:var(--text-2);transition:background .1s ease,color .1s ease}.display-mode-btn:hover{color:var(--text)}.display-mode-btn-active{background:var(--surface-1);color:var(--text);box-shadow:0 2px 8px rgba(0,0,0,.08)}.notation-container{border:2px dashed color-mix(in srgb,var(--border) 60%,transparent);border-radius:8px;background:color-mix(in srgb,var(--surface-1) 15%,transparent);pointer-events:auto}.notation-container-header{display:flex;align-items:center;gap:6px;padding:4px 10px;font-size:11px;font-weight:600;letter-spacing:.03em;text-transform:uppercase;border-radius:6px 6px 0 0;-webkit-user-select:none;-moz-user-select:none;user-select:none;cursor:move}.notation-container-selected{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 30%,transparent)}.notation-container-resize{position:absolute;bottom:0;right:0;width:16px;height:16px;cursor:nwse-resize;opacity:.4;transition:opacity .15s}.notation-container-resize:hover{opacity:.8}.notation-shape-diamond{-webkit-clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%)}.notation-shape-hexagon{-webkit-clip-path:polygon(15% 0,85% 0,100% 50%,85% 100%,15% 100%,0 50%);clip-path:polygon(15% 0,85% 0,100% 50%,85% 100%,15% 100%,0 50%)}.notation-shape-octagon{-webkit-clip-path:polygon(25% 0,75% 0,100% 25%,100% 75%,75% 100%,25% 100%,0 75%,0 25%);clip-path:polygon(25% 0,75% 0,100% 25%,100% 75%,75% 100%,25% 100%,0 75%,0 25%)}.notation-shape-parallelogram{-webkit-clip-path:polygon(15% 0,100% 0,85% 100%,0 100%);clip-path:polygon(15% 0,100% 0,85% 100%,0 100%)}.notation-shape-trapezoid{-webkit-clip-path:polygon(12% 0,88% 0,100% 100%,0 100%);clip-path:polygon(12% 0,88% 0,100% 100%,0 100%)}.es-domain-event{background:#ff8c00;color:#fff}.es-command{background:#4169e1;color:#fff}.es-aggregate{background:gold;color:#1a1a2e}.es-read-model{background:#32cd32;color:#fff}.es-policy{background:#9370db;color:#fff}.es-external-system{background:#ff69b4;color:#fff}.es-actor{background:#fffacd;color:#1a1a2e}.es-hotspot{background:red;color:#fff}.es-saga{background:plum;color:#1a1a2e}.decision-table{border-collapse:collapse;width:100%;font-size:12px}.decision-table td,.decision-table th{border:1px solid color-mix(in srgb,var(--border) 50%,transparent);padding:4px 6px;text-align:left}.decision-table th{background:color-mix(in srgb,var(--surface-1) 60%,transparent);font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.02em}.decision-table td input,.decision-table td select{width:100%;background:transparent;border:none;outline:none;padding:2px;font-size:12px;color:var(--text)}.decision-table td select{cursor:pointer}.boundary-event-circle{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--surface-1);border:2px solid;font-size:10px;cursor:pointer;transition:transform .15s}.boundary-event-circle:hover{transform:scale(1.15)}.boundary-event-noninterrupting{border-style:dashed}.notation-toolbar-trigger{display:flex;align-items:center;gap:6px;padding:4px 10px;border-radius:6px;border:1px solid color-mix(in srgb,var(--border) 50%,transparent);background:color-mix(in srgb,var(--surface-1) 60%,transparent);color:var(--text);font-size:12px;cursor:pointer;transition:background .15s,border-color .15s}.notation-toolbar-trigger:hover{background:color-mix(in srgb,var(--surface-1) 90%,transparent);border-color:color-mix(in srgb,var(--accent) 50%,transparent)}.vsm-metrics{display:grid;grid-template-columns:1fr 1fr;grid-gap:2px;gap:2px;font-size:10px;padding:4px 6px;background:rgba(0,0,0,.05);border-radius:0 0 4px 4px}.vsm-metrics dt{font-weight:500;color:var(--text-2)}.vsm-metrics dd{font-weight:700;text-align:right}.bpmn-gateway-marker{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none}.archimate-layer-band{position:absolute;left:0;right:0;border-top:2px solid;font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:4px 10px;opacity:.7}.notation-selection-ring{position:absolute;inset:-3px;border:2px dashed var(--accent);border-radius:inherit;pointer-events:none;animation:notation-pulse 1.5s ease-in-out infinite}@keyframes notation-pulse{0%,to{opacity:.6}50%{opacity:1}}.flow-notation-selector{position:relative;display:inline-block}.flow-notation-selector-btn{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;font-size:.75rem;font-weight:600;color:var(--text);background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius-1,8px);cursor:pointer;transition:background .15s ease,border-color .15s ease;white-space:nowrap;line-height:1.4}.flow-notation-selector-btn:hover{background:color-mix(in srgb,var(--accent) 8%,var(--surface-1));border-color:color-mix(in srgb,var(--accent) 35%,var(--border))}.flow-notation-selector-btn:focus-visible{outline:none;box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 40%,transparent)}.flow-notation-selector-icon{display:flex;align-items:center;justify-content:center;color:var(--accent)}.flow-notation-selector-label{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.flow-notation-selector-chevron{color:var(--text-2);transition:transform .2s ease;flex-shrink:0}.flow-notation-selector-chevron-open{transform:rotate(180deg)}.flow-notation-dropdown{position:absolute;z-index:200;top:calc(100% + 6px);left:0;width:260px;max-width:calc(100vw - 24px);background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius-2,12px);box-shadow:0 12px 40px rgba(0,0,0,.25);overflow:hidden;animation:flow-notation-dropdown-in .15s var(--ease-premium,ease)}@keyframes flow-notation-dropdown-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.flow-notation-dropdown-header{padding:8px 12px;border-bottom:1px solid var(--border);font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-2)}.flow-notation-dropdown-list{max-height:320px;overflow-y:auto;padding:4px}.flow-notation-dropdown-item{display:flex;align-items:center;gap:10px;width:100%;padding:7px 10px;border:none;background:transparent;border-radius:var(--radius-1,8px);cursor:pointer;text-align:left;color:var(--text);font-size:.8rem;transition:background .12s ease}.flow-notation-dropdown-item:hover{background:color-mix(in srgb,var(--accent) 8%,transparent)}.flow-notation-dropdown-item-active{background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent)}.flow-notation-dropdown-item-active:hover{background:color-mix(in srgb,var(--accent) 16%,transparent)}.flow-notation-dropdown-item-icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:6px;flex-shrink:0;color:var(--text-2)}.flow-notation-dropdown-item-active .flow-notation-dropdown-item-icon{color:var(--accent)}.flow-notation-dropdown-item-info{flex:1 1;min-width:0}.flow-notation-dropdown-item-label{font-size:.75rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.flow-notation-dropdown-item-desc{font-size:.62rem;color:var(--text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px}.flow-notation-dropdown-check{color:var(--accent);flex-shrink:0}.flow-notation-sidebar{width:300px;flex-shrink:0;border-right:1px solid var(--border);background:var(--surface-1);transition:width .2s ease}.flow-notation-sidebar,.flow-sidebar-panel{display:flex;flex-direction:column;overflow:hidden}.flow-sidebar-panel{height:100%;background:linear-gradient(180deg,color-mix(in srgb,var(--surface-1) 94%,transparent),color-mix(in srgb,var(--surface-2) 92%,var(--surface-1)))}.flow-sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--border);flex-shrink:0}.flow-sidebar-header-title{font-weight:700;font-size:.82rem;color:var(--text)}.flow-sidebar-header-count{font-size:.7rem;color:var(--text-2)}.flow-sidebar-search{display:flex;align-items:center;gap:8px;padding:8px 10px;margin:10px 10px 8px;border-radius:10px;background:color-mix(in srgb,var(--surface-1) 92%,var(--bg) 8%);border:1px solid color-mix(in srgb,var(--border) 88%,transparent);border-bottom:none;flex-shrink:0}.flow-sidebar-search-icon{color:var(--text-3);flex-shrink:0}.flow-sidebar-search input,.flow-sidebar-search-input{flex:1 1;background:transparent;border:none;outline:none;color:var(--text);font-size:.78rem}.flow-sidebar-search-input::placeholder{color:var(--text-3)}.flow-sidebar-categories{flex:1 1;overflow-y:auto;overflow-x:hidden;padding:4px 8px 12px;-webkit-overflow-scrolling:touch}.flow-sidebar-category{margin-bottom:4px}.flow-sidebar-category-header{display:flex;align-items:center;gap:6px;padding:7px 8px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;border-radius:6px;transition:background .12s ease}.flow-sidebar-category-header:hover{background:color-mix(in srgb,var(--accent) 6%,transparent)}.flow-sidebar-category-title{flex:1 1;font-weight:700;font-size:.64rem;text-transform:uppercase;letter-spacing:.07em;color:var(--text-2)}.flow-sidebar-category-count{font-size:.66rem;color:var(--text-3)}.flow-notation-badge{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid var(--border);border-left:3px solid;flex-shrink:0}.flow-notation-badge-icon{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;background:color-mix(in srgb,var(--accent) 10%,transparent);flex-shrink:0}.flow-notation-badge-label{font-size:.8rem;font-weight:700;color:var(--text);line-height:1.2}.flow-notation-badge-desc{font-size:.69rem;color:var(--text-2);line-height:1.35;margin-top:2px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.flow-sidebar-component-card{display:flex;align-items:center;gap:8px;padding:8px 9px;border:1px solid var(--border);border-radius:10px;background:none;cursor:-webkit-grab;cursor:grab;text-align:left;transition:background .12s ease,border-color .12s ease,opacity .12s ease;width:100%;margin-bottom:4px;-moz-user-select:none;user-select:none;-webkit-user-select:none}.flow-sidebar-component-card:active{cursor:-webkit-grabbing;cursor:grabbing;opacity:.7}.flow-sidebar-component-card:hover{background:color-mix(in srgb,var(--accent) 6%,transparent);border-color:color-mix(in srgb,var(--accent) 30%,transparent)}.flow-sidebar-component-card[draggable=true]{-webkit-user-drag:element}.flow-sidebar-container-card{display:flex;align-items:center;gap:8px;padding:8px 10px;border:2px dashed color-mix(in srgb,var(--border) 60%,transparent);border-radius:8px;cursor:pointer;transition:background .12s ease,border-color .12s ease;width:100%;margin-bottom:4px}.flow-sidebar-card-title{font-weight:700;font-size:.76rem;color:var(--text);line-height:1.2}.flow-sidebar-card-desc{font-size:.67rem;color:var(--text-2);line-height:1.35;margin-top:2px}.flow-sidebar-empty{padding:16px 12px;text-align:center;color:var(--text-3);font-size:.75rem}.flow-sidebar-container-card:hover{background:color-mix(in srgb,var(--accent) 6%,transparent);border-color:color-mix(in srgb,var(--accent) 40%,transparent)}.flow-node-notation-noncompact{cursor:pointer;transition:transform .18s cubic-bezier(.22,1,.36,1),filter .18s ease,box-shadow .18s ease}.flow-node-notation-noncompact:hover{transform:translateY(-2px);filter:brightness(1.04)}.flow-node-notation-noncompact.flow-node-running{outline:2px solid #22c55e;outline-offset:2px;animation:nn-pulse 1.8s cubic-bezier(.4,0,.6,1) infinite}.flow-node-notation-noncompact.flow-node-success{outline:2px solid #22c55e;outline-offset:2px}.flow-node-notation-noncompact.flow-node-error{outline:2px solid #ef4444;outline-offset:2px}@keyframes nn-pulse{0%,to{filter:brightness(1);outline-color:#22c55e}50%{filter:brightness(1.15) saturate(1.2);outline-color:#4ade80}}.flow-node.flow-node-notation-inner{position:relative;left:auto;top:auto;transform:none;width:100%;min-height:100%;height:100%;background:transparent;border:none;border-radius:0;box-shadow:none;overflow:visible;display:flex;flex-direction:column}.flow-node.flow-node-notation-inner:hover{border-color:transparent;transform:none}.flow-node-notation-noncompact .notation-node-content{overflow:visible}.nn-category-badge{display:inline-flex;align-items:center;padding:1px 7px;border-radius:10px;font-size:.58rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;flex-shrink:0}.nn-concept-label{font-weight:600;font-size:.68rem;letter-spacing:.02em;margin-bottom:1px}.nn-step-detail{display:flex;align-items:center;gap:6px;font-size:.7rem;opacity:.85;width:100%;min-width:0}.nn-step-detail .flow-node-method{font-size:.62rem}.nn-step-detail .flow-node-path{font-size:.65rem;flex:1 1;min-width:0}.nn-body{flex-direction:column;align-items:flex-start;gap:2px;padding:0 14px 8px 18px}.flow-node-notation-noncompact .flow-node-actions{opacity:0;transform:translateY(-2px);pointer-events:none;transition:opacity .12s ease,transform .12s ease}.flow-node-notation-noncompact:hover .flow-node-actions{opacity:1;transform:translateY(0);pointer-events:auto}.flow-node-notation-compact{display:flex;flex-direction:column;align-items:center;cursor:pointer;transition:transform .18s cubic-bezier(.22,1,.36,1),filter .18s ease}.flow-node-notation-compact:hover{transform:translateY(-2px);filter:brightness(1.08) drop-shadow(0 4px 8px rgba(0,0,0,.2))}.flow-node-notation-compact.flow-node-running{animation:nn-pulse 1.8s cubic-bezier(.4,0,.6,1) infinite}.flow-node-notation-compact.flow-node-running .notation-node-shell,.flow-node-notation-compact.flow-node-success .notation-node-shell{outline:2px solid #22c55e;outline-offset:1px;border-radius:50%}.flow-node-notation-compact.flow-node-error .notation-node-shell{outline:2px solid #ef4444;outline-offset:1px;border-radius:50%}.flow-node-notation-label{text-align:center;font-size:10px;font-weight:600;margin-top:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:90px;color:var(--text-2);text-shadow:0 1px 3px rgba(0,0,0,.3)}.flow-port-compact{width:16px!important;height:16px!important}.flow-port-compact .flow-port-inner{width:6px!important;height:6px!important}.flow-canvas-notation{background-image:radial-gradient(circle at 1px 1px,color-mix(in srgb,var(--accent) 4%,transparent) 1px,transparent 0);background-size:20px 20px}@media (max-width:980px){.flow-notation-sidebar{display:none}.flow-mobile-toolbar .btn{min-height:44px;min-width:44px}.flow-mobile-toolbar .flow-icon-btn{min-width:44px;width:44px}}.flow-notation-sheet{max-height:60dvh}.flow-notation-sheet .flow-sidebar-panel{max-height:100%;height:100%}.select,select.input{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;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 d='M3 4.5l3 3 3-3' fill='none' stroke='%23999' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:32px}.checkbox-wrap{display:inline-flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;font-weight:500}.checkbox-wrap input[type=checkbox]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:20px;height:20px;border-radius:6px;border:2px solid var(--border);background:color-mix(in srgb,var(--surface-1) 80%,var(--bg) 20%);cursor:pointer;position:relative;flex-shrink:0;transition:background .16s cubic-bezier(.2,.8,.2,1),border-color .16s cubic-bezier(.2,.8,.2,1),box-shadow .16s cubic-bezier(.2,.8,.2,1),transform .16s cubic-bezier(.34,1.56,.64,1)}.checkbox-wrap input[type=checkbox]:hover{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}.checkbox-wrap input[type=checkbox]:checked{background:var(--accent);border-color:var(--accent);animation:checkbox-pop .22s cubic-bezier(.34,1.56,.64,1)}.checkbox-wrap input[type=checkbox]:checked:after{content:"";position:absolute;top:3px;left:6px;width:5px;height:9px;border:2px solid #fff;border-top:0;border-left:0;transform:rotate(45deg)}@keyframes checkbox-pop{0%{transform:scale(1)}40%{transform:scale(1.15)}to{transform:scale(1)}}.radio-wrap{display:inline-flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;font-weight:500}.radio-wrap input[type=radio]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:20px;height:20px;border-radius:999px;border:2px solid var(--border);background:color-mix(in srgb,var(--surface-1) 80%,var(--bg) 20%);cursor:pointer;position:relative;flex-shrink:0;transition:background .16s cubic-bezier(.2,.8,.2,1),border-color .16s cubic-bezier(.2,.8,.2,1),box-shadow .16s cubic-bezier(.2,.8,.2,1)}.radio-wrap input[type=radio]:hover{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}.radio-wrap input[type=radio]:checked{border-color:var(--accent);background:var(--surface-1);animation:checkbox-pop .22s cubic-bezier(.34,1.56,.64,1)}.radio-wrap input[type=radio]:checked:after{content:"";position:absolute;top:4px;left:4px;width:8px;height:8px;border-radius:999px;background:var(--accent)}.toggle-wrap{display:inline-flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;font-weight:500}.toggle-wrap input{display:none}.toggle-track{width:40px;height:22px;border-radius:999px;background:color-mix(in srgb,var(--text) 10%,transparent);border:1px solid var(--border);position:relative;cursor:pointer;transition:background .2s cubic-bezier(.2,.8,.2,1),border-color .2s cubic-bezier(.2,.8,.2,1)}.toggle-track:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:999px;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.2);transition:transform .2s cubic-bezier(.34,1.56,.64,1)}.toggle-wrap input:checked+.toggle-track{background:var(--accent);border-color:var(--accent)}.toggle-wrap input:checked+.toggle-track:after{transform:translateX(18px)}@keyframes fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-up{0%{opacity:0;transform:translateY(24px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.animate-in{animation:fade-in .26s cubic-bezier(.2,.8,.2,1) both}.animate-slide-up{animation:slide-up .36s cubic-bezier(.2,.8,.2,1) both}.skeleton{background:linear-gradient(90deg,var(--surface-1) 25%,var(--surface-2) 50%,var(--surface-1) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:10px}.text-accent{color:var(--accent)}.text-success{color:var(--success)}.text-warning{color:var(--warning)}.text-danger{color:var(--danger)}.text-info{color:var(--info)}:focus-visible{outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}[data-tooltip]{position:relative}[data-tooltip]:before{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 6px);left:50%;transform:translateX(-50%) translateY(4px);padding:5px 10px;border-radius:8px;font-size:12px;font-weight:500;background:var(--surface-2);color:var(--text);white-space:nowrap;pointer-events:none;opacity:0;z-index:50;transition:opacity .16s cubic-bezier(.2,.8,.2,1),transform .16s cubic-bezier(.2,.8,.2,1);box-shadow:var(--shadow-1)}[data-tooltip]:hover:before{opacity:1;transform:translateX(-50%) translateY(0)}.console-shell{--sidebar-w:280px;display:grid;grid-template-columns:var(--sidebar-w) minmax(0,1fr);min-height:100dvh;transition:grid-template-columns var(--dur-3) var(--ease-premium)}.console-shell[data-sidebar=collapsed]{--sidebar-w:56px}.console-main{display:flex;flex-direction:column;min-height:0;overflow:hidden}.console-content{flex:1 1;padding:var(--sp-5);overflow-y:auto;overflow-x:hidden}.console-sidebar{position:-webkit-sticky;position:sticky;top:0;height:100dvh;display:flex;flex-direction:column;background:color-mix(in srgb,var(--surface-1) 92%,transparent);-webkit-backdrop-filter:blur(12px) saturate(1.2);backdrop-filter:blur(12px) saturate(1.2);border-right:1px solid var(--border);overflow-y:auto;overflow-x:hidden;scrollbar-width:none;transition:width var(--dur-3) var(--ease-premium)}.console-sidebar::-webkit-scrollbar{display:none}.console-sidebar-head{padding:var(--sp-4) var(--sp-4) var(--sp-3);border-bottom:1px solid var(--border);flex-shrink:0;overflow:hidden;white-space:nowrap}.console-sidebar-head-row{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2)}.console-sidebar-brand{font-family:var(--font-display);font-size:.95rem;font-weight:700;color:var(--text);letter-spacing:-.02em}.console-sidebar-subtitle{font-size:.72rem;color:var(--text-3);margin-top:2px}.console-sidebar-nav{flex:1 1;padding:var(--sp-2) var(--sp-2)}.console-nav-section{margin-bottom:var(--sp-2)}.console-nav-section-title{font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-3);padding:var(--sp-2) var(--sp-2) var(--sp-1);white-space:nowrap;overflow:hidden;transition:opacity var(--dur-2) var(--ease-premium)}.console-nav-section-divider{height:1px;background:var(--border);margin:var(--sp-2) var(--sp-2);display:none}.console-nav-link{display:flex;align-items:center;gap:var(--sp-2);padding:6px var(--sp-2);border-radius:var(--r-1);font-size:.82rem;font-weight:500;color:var(--text-2);text-decoration:none;white-space:nowrap;overflow:hidden;position:relative;transition:color var(--dur-1) var(--ease-premium),background var(--dur-1) var(--ease-premium)}.console-nav-link:hover{color:var(--text);background:color-mix(in srgb,var(--accent) 6%,transparent)}.console-nav-link-active{color:var(--accent)!important;background:var(--accent-soft)!important}.console-nav-link-active:before{content:"";position:absolute;left:0;top:4px;bottom:4px;width:3px;border-radius:0 3px 3px 0;background:var(--accent)}.console-nav-link-accent{color:var(--accent);font-weight:600}.console-nav-section-title[style*=border-left]{margin-left:0;border-radius:0 var(--r-1) var(--r-1) 0}.console-nav-link-external{position:relative}.console-nav-link-external:hover{color:var(--ext-accent,var(--text));background:color-mix(in srgb,var(--ext-accent,var(--accent)) 8%,transparent)}.console-nav-link-ext-icon{flex-shrink:0;opacity:.35;margin-left:auto;transition:opacity var(--dur-1) var(--ease-premium)}.console-nav-link-external:hover .console-nav-link-ext-icon{opacity:.7}.console-shell[data-sidebar=collapsed] .console-nav-link-ext-icon{display:none}.console-nav-link-icon{flex-shrink:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;opacity:.7}.console-nav-link-active .console-nav-link-icon{opacity:1}.console-nav-link-label{overflow:hidden;text-overflow:ellipsis;transition:opacity var(--dur-2) var(--ease-premium),width var(--dur-2) var(--ease-premium)}.console-nav-item{display:flex;align-items:center;gap:6px}.console-nav-item .console-nav-link{flex:1 1}.console-nav-fav-btn{width:22px;height:22px;border:1px solid var(--border);border-radius:6px;background:transparent;color:var(--text-3);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;transition:opacity var(--dur-1) var(--ease-premium),color var(--dur-1) var(--ease-premium),border-color var(--dur-1) var(--ease-premium),background var(--dur-1) var(--ease-premium)}.console-nav-item:hover .console-nav-fav-btn{opacity:1}.console-nav-fav-btn:hover{color:var(--text);border-color:var(--border-2);background:color-mix(in srgb,var(--surface-2) 70%,transparent)}.console-nav-fav-btn-active{opacity:1;color:#f59e0b;border-color:color-mix(in srgb,#f59e0b 45%,var(--border));background:color-mix(in srgb,#f59e0b 12%,transparent)}.console-nav-ctx-menu{position:fixed;z-index:70;min-width:190px;border:1px solid hsla(0,0%,100%,.12);border-radius:10px;background:linear-gradient(180deg,rgba(10,14,24,.96),rgba(8,12,20,.98));box-shadow:0 18px 36px rgba(0,0,0,.45);padding:6px}.console-nav-ctx-item{width:100%;border:0;border-radius:8px;background:transparent;color:var(--text-2);font-size:.78rem;display:inline-flex;align-items:center;gap:8px;padding:7px 9px;cursor:pointer}.console-nav-ctx-item:hover{background:rgba(0,245,255,.08);color:var(--text)}.console-sidebar-footer{padding:var(--sp-2);border-top:1px solid var(--border);flex-shrink:0}.console-sidebar-back{display:flex;align-items:center;gap:var(--sp-2);width:100%;padding:8px var(--sp-2);border-radius:var(--r-1);font-size:.78rem;font-weight:500;color:var(--text-3);background:none;border:1px solid var(--border);cursor:pointer;white-space:nowrap;overflow:hidden;transition:color var(--dur-1) var(--ease-premium),border-color var(--dur-1) var(--ease-premium)}.console-sidebar-back:hover{color:var(--text-2);border-color:var(--border-2)}.console-sidebar-collapse{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;margin-top:0;border-radius:var(--r-1);background:none;border:1px solid var(--border);color:var(--text-3);cursor:pointer;transition:color var(--dur-1) var(--ease-premium),border-color var(--dur-1) var(--ease-premium),background var(--dur-1) var(--ease-premium)}.console-sidebar-collapse:hover{color:var(--text);border-color:var(--border-2);background:color-mix(in srgb,var(--accent) 6%,transparent)}.console-shell[data-sidebar=collapsed] .console-sidebar-head{padding:var(--sp-3) var(--sp-2);text-align:left}.console-shell[data-sidebar=collapsed] .console-sidebar-brand,.console-shell[data-sidebar=collapsed] .console-sidebar-subtitle{display:none}.console-shell[data-sidebar=collapsed] .console-sidebar-head-row{justify-content:center}.console-shell[data-sidebar=collapsed] .console-nav-section-title{opacity:0;height:0;padding:0;margin:0;overflow:hidden}.console-shell[data-sidebar=collapsed] .console-nav-section-divider{display:block}.console-shell[data-sidebar=collapsed] .console-nav-link{justify-content:center;padding:8px}.console-shell[data-sidebar=collapsed] .console-nav-link-label{display:none}.console-shell[data-sidebar=collapsed] .console-nav-link-active:before{top:6px;bottom:6px}.console-shell[data-sidebar=collapsed] .console-sidebar-back span{display:none}.console-shell[data-sidebar=collapsed] .console-sidebar-back{justify-content:center;padding:8px}.console-sidebar-backdrop{display:none}.console-topbar-hamburger{display:none;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid var(--border);border-radius:var(--radius-s);background:var(--surface-1);color:var(--text-2);cursor:pointer;flex-shrink:0;transition:color var(--dur-1) var(--ease-premium),background var(--dur-1) var(--ease-premium),border-color var(--dur-1) var(--ease-premium);-webkit-tap-highlight-color:transparent}.console-topbar-hamburger:hover{color:var(--text);background:var(--surface-2);border-color:var(--border-2)}.console-topbar-hamburger:active{background:var(--surface-3)}.partner-switcher{position:relative;flex-shrink:0}.partner-switcher-trigger{display:flex;align-items:center;gap:6px;padding:4px 10px;height:30px;border:1px solid var(--border);border-radius:var(--radius-s);background:var(--surface-1);color:var(--text);cursor:pointer;font-size:12px;font-weight:500;transition:border-color var(--dur-1) var(--ease-premium),background var(--dur-1) var(--ease-premium);max-width:180px}.partner-switcher-trigger:hover{border-color:var(--border-2);background:var(--surface-2)}.partner-switcher-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.partner-switcher-logo{width:16px;height:16px;border-radius:3px;object-fit:cover;flex-shrink:0}.partner-switcher-trigger .rotated{transform:rotate(180deg)}.partner-switcher-dropdown{position:absolute;top:calc(100% + 4px);left:0;min-width:240px;max-width:300px;background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius-m);box-shadow:0 8px 24px rgba(0,0,0,.18);z-index:100;padding:4px 0;animation:fadeSlideIn .15s var(--ease-premium)}.partner-switcher-label{padding:6px 12px 4px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-3)}.partner-switcher-option{display:flex;align-items:center;gap:8px;width:100%;padding:7px 12px;border:none;background:none;color:var(--text);font-size:12.5px;cursor:pointer;text-align:left;transition:background var(--dur-1) var(--ease-premium);text-decoration:none}.partner-switcher-option:hover{background:var(--surface-2)}.partner-switcher-option.active{background:color-mix(in srgb,var(--accent) 8%,transparent)}.partner-switcher-option.active .partner-switcher-option-name{color:var(--accent)}.partner-switcher-option-text{display:flex;flex-direction:column;min-width:0;flex:1 1}.partner-switcher-option-name{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.partner-switcher-option-role{font-size:10px;color:var(--text-3);text-transform:capitalize}.partner-switcher-option.create{border-top:1px solid var(--border);margin-top:4px;padding-top:8px;color:var(--accent);font-weight:500}.partner-switcher-option.create:hover{background:color-mix(in srgb,var(--accent) 6%,transparent)}@keyframes fadeSlideIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@media (max-width:768px){.partner-switcher-name{display:none}.partner-switcher-trigger{padding:4px 6px}}.console-topbar{gap:var(--sp-3);height:52px;padding:0 var(--sp-5);border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--surface-1) 86%,transparent);-webkit-backdrop-filter:blur(12px) saturate(1.2);backdrop-filter:blur(12px) saturate(1.2);position:-webkit-sticky;position:sticky;top:0;z-index:20}.console-topbar,.console-topbar-collapse-btn{display:flex;align-items:center;flex-shrink:0}.console-topbar-collapse-btn{justify-content:center;width:28px;height:28px;border-radius:6px;background:none;border:none;color:var(--text-3);cursor:pointer;transition:color var(--dur-1) var(--ease-premium),background var(--dur-1) var(--ease-premium)}.console-topbar-collapse-btn:hover{color:var(--text);background:color-mix(in srgb,var(--accent) 8%,transparent)}.console-topbar-spacer{flex:1 1}.console-topbar-search{display:flex;align-items:center;gap:var(--sp-2);padding:6px 12px;min-width:220px;border-radius:var(--r-1);background:color-mix(in srgb,var(--surface-2) 60%,transparent);border:1px solid var(--border);color:var(--text-3);font-size:.8rem;cursor:pointer;transition:border-color var(--dur-1) var(--ease-premium),background var(--dur-1) var(--ease-premium)}.console-topbar-search:hover{border-color:var(--border-2);background:color-mix(in srgb,var(--surface-2) 80%,transparent)}.console-topbar-search kbd{margin-left:auto;padding:2px 6px;border-radius:5px;font-size:.68rem;font-family:var(--font-sans);font-weight:600;background:color-mix(in srgb,var(--surface-3) 60%,transparent);border:1px solid var(--border);color:var(--text-3);line-height:1}.console-topbar-rates{display:inline-flex;align-items:center;gap:8px;max-width:320px;padding:6px 10px;border-radius:8px;border:1px solid var(--border);background:color-mix(in srgb,var(--surface-2) 65%,transparent);color:var(--text-2);text-decoration:none;font-size:.74rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.console-topbar-rates:hover{color:var(--text);border-color:var(--border-2);background:color-mix(in srgb,var(--surface-2) 82%,transparent)}.console-topbar-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:8px;border:1px solid var(--border);background:color-mix(in srgb,var(--surface-2) 65%,transparent);color:var(--text-2);text-decoration:none;transition:border-color var(--dur-1) var(--ease-premium),background var(--dur-1) var(--ease-premium),color var(--dur-1) var(--ease-premium)}.console-topbar-icon-btn:hover{color:var(--text);border-color:var(--border-2);background:color-mix(in srgb,var(--surface-2) 82%,transparent)}.console-topbar-user-wrap{position:relative}.console-topbar-user-wrap-right{flex-shrink:0;margin-left:2px}.console-topbar-user-btn{display:inline-flex;align-items:center;gap:5px;height:34px;padding:0 8px 0 4px;border-radius:8px;border:1px solid var(--border);background:color-mix(in srgb,var(--surface-2) 65%,transparent);color:var(--text-2);cursor:pointer}.console-topbar-user-avatar{width:26px;height:26px;border-radius:7px;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);background:color-mix(in srgb,var(--surface-3) 66%,transparent);flex-shrink:0}.console-topbar-user-avatar img{width:100%;height:100%;object-fit:cover}.console-topbar-user-btn:hover{color:var(--text);border-color:var(--border-2);background:color-mix(in srgb,var(--surface-2) 82%,transparent)}.console-topbar-user-initials{font-size:.72rem;font-weight:700}.console-topbar-user-menu{position:absolute;right:0;top:calc(100% + 8px);min-width:310px;max-width:calc(100vw - 16px);max-height:min(72vh,620px);border-radius:10px;border:1px solid var(--border);background:color-mix(in srgb,var(--surface-1) 95%,transparent);box-shadow:var(--shadow-2);overflow:auto;z-index:32}.console-topbar-user-head{padding:12px;display:flex;align-items:flex-start;gap:10px;border-bottom:1px solid var(--border)}.console-topbar-user-head-pro{padding:14px}.console-topbar-user-head-avatar{width:56px;height:56px;border-radius:12px;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);background:color-mix(in srgb,var(--surface-2) 72%,transparent);flex-shrink:0}.console-topbar-user-head-avatar-pro{width:72px;height:72px;border-radius:14px}.console-topbar-user-head-avatar img{width:100%;height:100%;object-fit:cover}.console-topbar-user-head-info{min-width:0}.console-topbar-user-name{font-size:.86rem;font-weight:700;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.console-topbar-user-email{font-size:.76rem}.console-topbar-user-email,.console-topbar-user-meta{color:var(--text-3);margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.console-topbar-user-meta{font-size:.72rem}.console-topbar-user-item{width:100%;padding:9px 12px;display:inline-flex;align-items:center;gap:8px;border:0;background:transparent;color:var(--text-2);text-decoration:none;font-size:.78rem;cursor:pointer;text-align:left}.console-topbar-user-item:hover{background:color-mix(in srgb,var(--accent) 9%,transparent);color:var(--text)}.console-topbar-user-item-danger{color:#f87171;border-top:1px solid var(--border);border-radius:0 0 10px 10px}.console-topbar-user-section{padding:8px 0}.console-topbar-user-section-title{padding:0 12px 6px;font-size:.66rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-3);font-weight:700}.console-topbar-user-sep{height:1px;background:var(--border)}.console-breadcrumbs{display:flex;align-items:center;gap:6px;font-size:.8rem;min-width:0;overflow:hidden}.console-breadcrumb-link{color:var(--text-3);text-decoration:none;white-space:nowrap;transition:color var(--dur-1) var(--ease-premium)}.console-breadcrumb-link:hover{color:var(--accent)}.console-breadcrumb-sep{color:var(--text-3);font-size:.72rem;flex-shrink:0;opacity:.5}.console-breadcrumb-current{color:var(--text);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cmdk-overlay{position:fixed;inset:0;z-index:100;background:rgba(0,0,0,.5);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:flex-start;justify-content:center;padding-top:20vh;animation:cmdk-overlay-enter var(--dur-1) var(--ease-premium)}@keyframes cmdk-overlay-enter{0%{opacity:0}to{opacity:1}}.cmdk-dialog{width:100%;max-width:560px;max-height:420px;display:flex;flex-direction:column;background:color-mix(in srgb,var(--surface-1) 96%,transparent);-webkit-backdrop-filter:blur(20px) saturate(1.4);backdrop-filter:blur(20px) saturate(1.4);border:1px solid var(--border-2);border-radius:16px;box-shadow:var(--shadow-2),0 0 0 1px var(--border);overflow:hidden;animation:cmdk-enter var(--dur-2) var(--ease-premium)}@keyframes cmdk-enter{0%{transform:scale(.96) translateY(-8px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}.cmdk-input-wrapper{display:flex;align-items:center;gap:var(--sp-2);padding:14px 16px;border-bottom:1px solid var(--border);flex-shrink:0}.cmdk-input-wrapper svg{flex-shrink:0;color:var(--text-3)}.cmdk-input{flex:1 1;border:none;background:none;color:var(--text);font-size:.92rem;font-family:var(--font-sans);outline:none}.cmdk-input::placeholder{color:var(--text-3)}.cmdk-list{flex:1 1;overflow-y:auto;padding:var(--sp-2);scrollbar-width:thin}.cmdk-section{margin-bottom:var(--sp-1)}.cmdk-section-title{font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-3);padding:var(--sp-1) var(--sp-2)}.cmdk-item{display:flex;align-items:center;gap:var(--sp-2);width:100%;padding:8px 12px;border-radius:var(--r-1);border:none;background:none;color:var(--text-2);font-size:.84rem;font-family:var(--font-sans);cursor:pointer;text-align:left;transition:color 80ms,background 80ms}.cmdk-item-active,.cmdk-item:hover{background:var(--accent-soft);color:var(--text)}.cmdk-item-icon{flex-shrink:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;opacity:.6}.cmdk-item-active .cmdk-item-icon{opacity:1}.cmdk-item-label{flex:1 1}.cmdk-item-shortcut{padding:2px 6px;border-radius:5px;font-size:.68rem;font-family:var(--font-sans);font-weight:600;background:color-mix(in srgb,var(--surface-3) 60%,transparent);border:1px solid var(--border);color:var(--text-3);line-height:1}.cmdk-empty{padding:var(--sp-6) var(--sp-4);text-align:center;color:var(--text-3);font-size:.84rem}.shortcuts-overlay{position:fixed;inset:0;z-index:110;background:rgba(0,0,0,.5);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;animation:cmdk-overlay-enter var(--dur-1) var(--ease-premium)}.shortcuts-dialog{width:100%;max-width:600px;max-height:80vh;background:color-mix(in srgb,var(--surface-1) 96%,transparent);-webkit-backdrop-filter:blur(20px) saturate(1.4);backdrop-filter:blur(20px) saturate(1.4);border:1px solid var(--border-2);border-radius:16px;box-shadow:var(--shadow-2);overflow:hidden;animation:cmdk-enter var(--dur-2) var(--ease-premium)}.shortcuts-header{display:flex;align-items:center;justify-content:space-between;padding:var(--sp-4) var(--sp-5);border-bottom:1px solid var(--border)}.shortcuts-header h2{font-size:1rem;font-weight:700;margin:0}.shortcuts-close{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;background:none;border:none;color:var(--text-3);cursor:pointer;transition:color var(--dur-1),background var(--dur-1)}.shortcuts-close:hover{color:var(--text);background:color-mix(in srgb,var(--accent) 8%,transparent)}.shortcuts-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--sp-5);gap:var(--sp-5);padding:var(--sp-4) var(--sp-5);overflow-y:auto;max-height:calc(80vh - 60px)}.shortcuts-section h3{font-size:.74rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-3);margin:0 0 var(--sp-2)}.shortcuts-list{display:grid;grid-gap:4px;gap:4px}.shortcut-row{display:flex;align-items:center;justify-content:space-between;padding:5px 0;font-size:.82rem;color:var(--text-2)}.shortcut-row-keys{display:flex;gap:4px}.shortcut-row kbd{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;border-radius:5px;font-size:.68rem;font-family:var(--font-sans);font-weight:600;background:color-mix(in srgb,var(--surface-3) 60%,transparent);border:1px solid var(--border);color:var(--text-3);line-height:1}.skeleton-block{background:linear-gradient(90deg,var(--surface-2) 25%,var(--surface-3) 50%,var(--surface-2) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--r-1)}.skeleton-text{display:grid;grid-gap:8px;gap:8px}.skeleton-text-line{height:14px;border-radius:6px;background:linear-gradient(90deg,var(--surface-2) 25%,var(--surface-3) 50%,var(--surface-2) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}.skeleton-kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:var(--sp-3);gap:var(--sp-3)}.skeleton-kpi-card{height:90px;border-radius:var(--r-2);background:linear-gradient(90deg,var(--surface-2) 25%,var(--surface-3) 50%,var(--surface-2) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}.skeleton-table{width:100%;display:grid;grid-gap:0;gap:0}.skeleton-table-header{height:36px;border-radius:var(--r-1) var(--r-1) 0 0}.skeleton-table-header,.skeleton-table-row{border-bottom:1px solid var(--border);background:linear-gradient(90deg,var(--surface-2) 25%,var(--surface-3) 50%,var(--surface-2) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}.skeleton-table-row{height:44px}.skeleton-list{display:grid;grid-gap:8px;gap:8px}.skeleton-list-item{height:48px;border-radius:var(--r-1);background:linear-gradient(90deg,var(--surface-2) 25%,var(--surface-3) 50%,var(--surface-2) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}.toast-container{position:fixed;bottom:20px;right:20px;z-index:200;display:grid;grid-gap:8px;gap:8px;pointer-events:none}.toast{display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:12px;min-width:280px;max-width:420px;-webkit-backdrop-filter:blur(12px) saturate(1.2);backdrop-filter:blur(12px) saturate(1.2);border:1px solid var(--border);font-size:.84rem;font-weight:500;pointer-events:auto;animation:toast-enter .2s var(--ease-premium);box-shadow:var(--shadow-1)}.toast-success{background:color-mix(in srgb,var(--success) 12%,var(--surface-1));border-color:color-mix(in srgb,var(--success) 20%,transparent);color:var(--success)}.toast-error{background:color-mix(in srgb,var(--danger) 12%,var(--surface-1));border-color:color-mix(in srgb,var(--danger) 20%,transparent);color:var(--danger)}.toast-info{background:color-mix(in srgb,var(--info) 12%,var(--surface-1));border-color:color-mix(in srgb,var(--info) 20%,transparent);color:var(--info)}.toast-warning{background:color-mix(in srgb,var(--warning) 12%,var(--surface-1));border-color:color-mix(in srgb,var(--warning) 20%,transparent);color:var(--warning)}.toast-icon{flex-shrink:0}.toast-message{flex:1 1;color:var(--text)}.toast-dismiss{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:6px;background:none;border:none;color:var(--text-3);cursor:pointer;transition:color 80ms,background 80ms}.toast-dismiss:hover{color:var(--text);background:color-mix(in srgb,var(--text) 8%,transparent)}.toast-exit{animation:toast-exit .16s var(--ease-premium) forwards}@keyframes toast-enter{0%{transform:translateX(100%);opacity:0}to{transform:translateX(0);opacity:1}}@keyframes toast-exit{0%{transform:translateX(0);opacity:1}to{transform:translateX(100%);opacity:0}}@media (max-width:900px){.console-shell{--sidebar-w:0px;grid-template-columns:minmax(0,1fr)}.console-sidebar{position:fixed;left:0;top:0;width:280px;z-index:30;transform:translateX(-100%);transition:transform var(--dur-3) var(--ease-premium)}.console-shell[data-sidebar=expanded] .console-sidebar{transform:translateX(0);box-shadow:var(--shadow-2)}.console-sidebar-backdrop{display:block;position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:29;cursor:pointer;-webkit-tap-highlight-color:transparent;animation:sidebar-backdrop-in .2s ease-out}@keyframes sidebar-backdrop-in{0%{opacity:0}to{opacity:1}}.console-topbar{padding:0 var(--sp-3);gap:var(--sp-2);height:48px}.console-topbar-hamburger{display:flex}.console-topbar-search{min-width:0;padding:6px 8px}.console-topbar-icon-btn[href*=favorites],.console-topbar-icon-btn[href*=history],.console-topbar-icon-btn[href*=messenger],.console-topbar-icon-btn[href*=recycle-bin],.console-topbar-rates,.console-topbar-search kbd,.console-topbar-search span,.console-topbar-user-initials{display:none}.cmdk-dialog{max-width:calc(100vw - 32px);margin:0 16px}.shortcuts-grid{grid-template-columns:1fr}.skeleton-kpi-grid{grid-template-columns:repeat(2,1fr)}.console-content{padding:var(--sp-3)}}@media (max-width:480px){.console-topbar{padding:0 var(--sp-2);gap:4px}.console-topbar-icon-btn[href*=projects]{display:none}.console-topbar-user-wrap{margin-left:0}.console-tab{padding:0 8px;font-size:.72rem}.console-tab-close{display:none}}.console-tab-bar{display:flex;align-items:stretch;height:36px;border-bottom:1px solid var(--border);background:var(--surface-1);overflow-x:auto;overflow-y:hidden;scrollbar-width:none;flex-shrink:0;padding-left:var(--sp-2)}.console-tab-bar::-webkit-scrollbar{display:none}.console-tab{display:inline-flex;align-items:center;gap:6px;padding:0 12px;height:100%;background:none;border:none;border-bottom:2px solid transparent;color:var(--text-3);font-size:.78rem;font-family:var(--font-sans);cursor:pointer;white-space:nowrap;flex-shrink:0;position:relative;transition:color var(--dur-1) var(--ease-premium),background var(--dur-1) var(--ease-premium),border-color var(--dur-1) var(--ease-premium)}.console-tab:hover{color:var(--text-2);background:color-mix(in srgb,var(--surface-2) 50%,transparent)}.console-tab-active{color:var(--text);border-bottom-color:var(--accent);background:color-mix(in srgb,var(--accent) 4%,transparent)}.console-tab-active:hover{background:color-mix(in srgb,var(--accent) 6%,transparent)}.console-tab-icon{display:flex;align-items:center;flex-shrink:0;color:inherit;opacity:.7}.console-tab-active .console-tab-icon{opacity:1;color:var(--accent)}.console-tab-label{max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.console-tab-close{display:flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:4px;cursor:pointer;opacity:0;color:var(--text-3);transition:opacity var(--dur-1) var(--ease-premium),background var(--dur-1) var(--ease-premium),color var(--dur-1) var(--ease-premium)}.console-tab-close svg{pointer-events:none}.console-tab:hover .console-tab-close{opacity:.6}.console-tab-active .console-tab-close{opacity:.5}.console-tab-close:hover{opacity:1!important;background:color-mix(in srgb,var(--accent) 15%,transparent);color:var(--text)}.console-tab-pinned .console-tab-close{display:none}.console-tab-pinned{padding:0 10px}.console-tab-add{display:flex;align-items:center;justify-content:center;width:28px;height:28px;margin:auto 4px auto 2px;border-radius:6px;border:none;background:none;color:var(--text-3);cursor:pointer;flex-shrink:0;transition:background var(--dur-1) var(--ease-premium),color var(--dur-1) var(--ease-premium)}.console-tab-add:hover{background:color-mix(in srgb,var(--surface-2) 70%,transparent);color:var(--text)}.console-tab-ctx-backdrop{position:fixed;inset:0;z-index:99}.console-tab-ctx-menu{position:fixed;z-index:100;background:var(--surface-1);border:1px solid var(--border);border-radius:var(--r-2);padding:4px;box-shadow:0 8px 24px rgba(0,0,0,.15);min-width:160px}.console-tab-ctx-menu button{display:flex;align-items:center;gap:8px;width:100%;padding:6px 12px;border:none;background:none;color:var(--text-2);font-size:.78rem;font-family:var(--font-sans);text-align:left;border-radius:4px;white-space:nowrap;cursor:pointer;transition:background var(--dur-1) var(--ease-premium),color var(--dur-1) var(--ease-premium)}.console-tab-ctx-menu button:hover{background:color-mix(in srgb,var(--accent) 10%,transparent);color:var(--text)}.console-tab-ctx-menu button svg{flex-shrink:0;opacity:.6}.console-tab-ctx-menu button:hover svg{opacity:1}.console-tab-ctx-separator{height:1px;background:var(--border);margin:4px 8px}.console-tab-ctx-danger:hover{background:color-mix(in srgb,#ef4444 12%,transparent)!important;color:#ef4444!important}.console-tab-ctx-danger:hover svg{color:#ef4444}.ut-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:10px;padding:10px;border:1px solid color-mix(in srgb,var(--neon) 25%,var(--border));border-radius:12px;background:linear-gradient(180deg,rgba(8,15,24,.96),rgba(6,10,18,.94));box-shadow:inset 0 0 0 1px rgba(0,245,255,.06),0 8px 20px rgba(0,0,0,.28)}.ut-filter-input,.ut-search,.ut-select{border:1px solid color-mix(in srgb,var(--neon) 18%,var(--border));background:color-mix(in srgb,var(--surface-2) 84%,#02070f 16%);color:var(--text);border-radius:8px;font-size:.75rem;padding:6px 8px;min-height:30px}.ut-search{min-width:220px}.ut-btn{border:1px solid color-mix(in srgb,var(--neon) 20%,var(--border));background:linear-gradient(180deg,rgba(14,26,39,.9),rgba(9,16,26,.88));color:var(--text-2);border-radius:8px;font-size:.75rem;padding:6px 10px;cursor:pointer;transition:border-color .14s ease,color .14s ease,transform .14s ease,box-shadow .14s ease}.ut-btn-icon{width:32px;height:32px;padding:0;display:inline-flex;align-items:center;justify-content:center;font-size:.86rem;font-weight:700}.ut-btn-danger{border-color:rgba(239,68,68,.35);color:#fca5a5}.ut-btn-danger:hover{border-color:rgba(239,68,68,.65);color:#fecaca;box-shadow:0 4px 14px rgba(239,68,68,.2)}.ut-btn:hover{color:var(--text);border-color:color-mix(in srgb,var(--neon) 50%,transparent);transform:translateY(-1px);box-shadow:0 4px 14px rgba(0,245,255,.12)}.ut-enhanced-table .ut-sortable{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.ut-enhanced-table .ut-sortable:hover{background:color-mix(in srgb,var(--accent) 10%,transparent)!important}.ut-head-stack{display:grid;grid-gap:6px;gap:6px}.ut-head-label{display:block}.ut-filter-input{width:100%;margin-top:0;cursor:pointer;min-height:24px;padding:4px 7px;font-size:.7rem}.ut-filter-dropdown{position:fixed;z-index:11000;width:260px;max-height:360px;display:grid;grid-gap:8px;gap:8px;padding:8px;border:1px solid color-mix(in srgb,var(--neon) 35%,var(--border));border-radius:10px;background:linear-gradient(180deg,rgba(9,18,30,.98),rgba(6,12,20,.98));box-shadow:0 20px 40px rgba(0,0,0,.45)}.ut-filter-dropdown-search{border:1px solid color-mix(in srgb,var(--neon) 22%,var(--border));background:color-mix(in srgb,var(--surface-2) 84%,#02070f 16%);color:var(--text);border-radius:8px;font-size:.75rem;padding:6px 8px}.ut-filter-dropdown-list{max-height:240px;overflow:auto;display:grid;grid-gap:4px;gap:4px}.ut-filter-option{display:flex;align-items:center;gap:7px;padding:5px 6px;border-radius:6px;cursor:pointer;color:var(--text);font-size:.74rem}.ut-filter-option:hover{background:color-mix(in srgb,var(--neon) 12%,transparent)}.ut-filter-dropdown-actions{display:flex;justify-content:flex-end}.ut-filter-dropdown-actions button{border:1px solid color-mix(in srgb,var(--neon) 24%,var(--border));background:linear-gradient(180deg,rgba(14,26,39,.9),rgba(9,16,26,.88));color:var(--text-2);border-radius:8px;font-size:.72rem;padding:5px 9px;cursor:pointer}.ut-group-row td{background:color-mix(in srgb,var(--accent) 12%,transparent)!important;color:var(--text)!important;font-weight:650;font-size:.74rem;letter-spacing:.02em}.ut-enhanced-table{border:1px solid rgba(0,245,255,.18)!important;border-radius:12px!important;overflow:hidden;background:linear-gradient(180deg,rgba(4,8,14,.98),rgba(3,7,12,.99))!important}.ut-enhanced-table thead th{background:linear-gradient(180deg,rgba(8,18,31,.97),rgba(6,14,24,.98))!important;color:#b8f6ff!important;border-bottom:1px solid rgba(0,245,255,.2)!important}.ut-enhanced-table tbody tr:nth-child(odd) td{background:rgba(4,10,17,.96)!important}.ut-enhanced-table tbody tr:nth-child(2n) td{background:rgba(6,12,20,.97)!important}.ut-enhanced-table tbody tr:hover td{background:color-mix(in srgb,var(--neon) 11%,rgba(6,13,21,.99))!important}.ut-enhanced-table tbody tr:not(.ut-group-row){cursor:pointer}.ut-enhanced-table tbody tr.ut-row-selected td{background:color-mix(in srgb,var(--neon) 18%,rgba(8,18,30,.98))!important;box-shadow:inset 0 0 0 1px rgba(0,245,255,.26)}.ut-enhanced-table.ut-view-compact td,.ut-enhanced-table.ut-view-compact th{padding:6px 8px!important;font-size:.72rem!important}.console-content table{background:#04080f!important;border:1px solid rgba(0,245,255,.2)!important;border-radius:12px!important;overflow:hidden!important}.console-content table thead th{background:linear-gradient(180deg,rgba(7,16,28,.99),rgba(4,10,18,.99))!important;color:#c8f9ff!important;border-bottom:1px solid rgba(0,245,255,.22)!important}.console-content table tbody td{background:#060b13!important;color:#d7e5ef!important;border-bottom:1px solid rgba(120,170,200,.12)!important}.console-content table tbody tr:nth-child(2n) td{background:#050a11!important}.console-content table tbody tr:hover td{background:rgba(0,245,255,.1)!important}.ut-context-menu{position:fixed;z-index:10000;min-width:230px;display:grid;grid-gap:2px;gap:2px;padding:6px;border:1px solid color-mix(in srgb,var(--neon) 38%,var(--border));border-radius:10px;background:linear-gradient(180deg,rgba(9,18,30,.98),rgba(6,12,20,.98));box-shadow:0 18px 40px rgba(0,0,0,.5),0 0 0 1px rgba(0,245,255,.1)}.ut-context-menu button{border:none;background:transparent;color:var(--text-2);text-align:left;padding:7px 9px;border-radius:7px;font-size:.76rem;cursor:pointer}.ut-context-menu button:hover{background:color-mix(in srgb,var(--accent) 10%,transparent);color:var(--text)}.ut-context-sep{height:1px;margin:3px 2px;background:color-mix(in srgb,var(--neon) 20%,var(--border))}.console-tab.console-tab-dragging{opacity:.35}.console-tab[draggable=true]{cursor:-webkit-grab;cursor:grab}.console-tab[draggable=true]:active{cursor:-webkit-grabbing;cursor:grabbing}.console-tab-drop-indicator{width:2px;height:20px;margin:auto 0;background:var(--accent);border-radius:1px;flex-shrink:0;animation:tab-drop-pulse .8s ease infinite alternate}@keyframes tab-drop-pulse{0%{opacity:.6}to{opacity:1}}.locale-switcher{position:relative}.locale-switcher-btn{font-size:.8rem!important;font-weight:600!important;letter-spacing:.04em;min-width:36px;padding:4px 8px!important}.locale-switcher-dropdown{position:absolute;top:calc(100% + 6px);right:0;min-width:160px;background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius-2);box-shadow:var(--shadow-2);z-index:200;padding:4px;display:flex;flex-direction:column;gap:2px;animation:locale-dropdown-in .15s var(--ease-premium)}@keyframes locale-dropdown-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.locale-switcher-option{display:flex;align-items:center;gap:10px;padding:8px 12px;border:none;background:transparent;border-radius:var(--radius-1);cursor:pointer;font-size:.82rem;color:var(--text-2);transition:background var(--dur-1) var(--ease-premium),color var(--dur-1) var(--ease-premium);text-align:left;width:100%}.locale-switcher-option:hover{background:color-mix(in srgb,var(--accent) 8%,transparent);color:var(--text)}.locale-switcher-option-active{color:var(--accent);font-weight:600;background:color-mix(in srgb,var(--accent) 6%,transparent)}.locale-switcher-option-code{font-weight:700;font-size:.78rem;letter-spacing:.04em;min-width:24px}.locale-switcher-option-name{flex:1 1}.admin-portal{min-height:100vh;background:var(--bg);color:var(--text)}.admin-portal-header{border-bottom:1px solid var(--border);background:var(--surface-1);padding:0 24px;height:56px;display:flex;align-items:center;gap:16px;position:-webkit-sticky;position:sticky;top:0;z-index:50}.admin-portal-brand{font-weight:700;font-size:.95rem;color:var(--text);letter-spacing:-.01em}.admin-portal-brand span{color:var(--accent)}.admin-portal-header-spacer{flex:1 1}.admin-portal-user{display:flex;align-items:center;gap:10px;font-size:.82rem;color:var(--text-2)}.admin-portal-user-avatar{width:28px;height:28px;border-radius:50%;background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.72rem;letter-spacing:.02em}.admin-portal-body{max-width:960px;margin:0 auto;padding:32px 24px;display:grid;grid-gap:24px;gap:24px}.admin-portal-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.admin-portal-hero h1{font-size:1.5rem;font-weight:700;margin:0;letter-spacing:-.02em}.admin-portal-hero-sub{margin-top:6px;color:var(--text-2);font-size:.88rem;max-width:520px;line-height:1.5}.admin-portal-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:12px;gap:12px}.admin-portal-card{display:flex;align-items:flex-start;gap:14px;padding:18px;background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius-2);text-decoration:none;color:var(--text);transition:border-color var(--dur-1) var(--ease-premium),box-shadow var(--dur-1) var(--ease-premium);cursor:pointer}.admin-portal-card:hover{border-color:var(--accent);box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 20%,transparent)}.admin-portal-card-icon{width:36px;height:36px;border-radius:var(--radius-1);background:color-mix(in srgb,var(--accent) 10%,transparent);color:var(--accent);display:flex;align-items:center;justify-content:center;flex-shrink:0}.admin-portal-card-body{flex:1 1;min-width:0}.admin-portal-card-title{font-weight:600;font-size:.88rem}.admin-portal-card-desc{font-size:.78rem;color:var(--text-2);margin-top:4px;line-height:1.4}.admin-portal-section-title{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-3);padding-bottom:6px;border-bottom:1px solid var(--border);margin-bottom:4px}@media (max-width:640px){.admin-portal-body{padding:20px 16px}.admin-portal-grid{grid-template-columns:1fr}}.auth-page{min-height:100vh;display:grid;grid-template-columns:.45fr .55fr;background:var(--bg);font-family:"Geist",var(--font-sans);overflow:hidden}.auth-brand{position:relative;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:48px;overflow:hidden;background:#060810}.auth-brand:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 600px 500px at 20% 30%,rgba(139,108,255,.18),transparent),radial-gradient(ellipse 500px 400px at 80% 70%,rgba(67,97,238,.12),transparent),radial-gradient(ellipse 300px 300px at 50% 50%,rgba(100,170,255,.08),transparent);animation:auth-glow-drift 12s ease-in-out infinite alternate}.auth-brand:after{content:"";position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.03'/%3E%3C/svg%3E");opacity:.5;pointer-events:none}@keyframes auth-glow-drift{0%{transform:translate(0) scale(1)}50%{transform:translate(-3%,2%) scale(1.05)}to{transform:translate(2%,-1%) scale(.98)}}.auth-brand-content{z-index:2;text-align:center;flex-direction:column;gap:32px;animation:auth-fade-up .8s var(--ease-premium) both}.auth-brand-content,.auth-brand-mark{position:relative;display:flex;align-items:center}.auth-brand-mark{width:80px;height:80px;justify-content:center}.auth-brand-mark:before{content:"";position:absolute;inset:-12px;border-radius:50%;border:1px solid rgba(139,108,255,.2);animation:auth-pulse-ring 3s ease-in-out infinite}.auth-brand-mark:after{content:"";position:absolute;inset:-24px;border-radius:50%;border:1px solid rgba(139,108,255,.08);animation:auth-pulse-ring 3s ease-in-out .5s infinite}@keyframes auth-pulse-ring{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.08);opacity:.5}}.auth-brand-icon{width:80px;height:80px;border-radius:20px;background:linear-gradient(135deg,rgba(139,108,255,.15),rgba(67,97,238,.1));border:1px solid rgba(139,108,255,.2);display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);position:relative;z-index:1}.auth-brand-icon svg{color:hsla(0,0%,100%,.9)}.auth-brand-name{font-family:"Instrument Serif",Georgia,serif;font-size:2.4rem;font-weight:400;color:hsla(0,0%,100%,.95);letter-spacing:-.02em;line-height:1}.auth-brand-name em{font-style:italic;color:var(--accent)}.auth-brand-tagline{font-size:.85rem;color:hsla(0,0%,100%,.4);font-weight:400;letter-spacing:.12em;text-transform:uppercase;line-height:1.6}.auth-brand-decorline{width:48px;height:1px;background:linear-gradient(90deg,transparent,rgba(139,108,255,.4),transparent)}.auth-form-panel{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:48px 56px;position:relative;background:var(--surface-1);border-left:1px solid var(--border)}.auth-form-panel:before{content:"";position:absolute;top:0;left:0;bottom:0;width:1px;background:linear-gradient(180deg,transparent,var(--accent-soft),transparent)}.auth-form-wrap{width:100%;max-width:400px;display:grid;grid-gap:32px;gap:32px;animation:auth-fade-up .6s var(--ease-premium) .15s both}.auth-form-header{display:grid;grid-gap:8px;gap:8px}.auth-form-title{font-family:"Instrument Serif",Georgia,serif;font-size:1.75rem;font-weight:400;color:var(--text);letter-spacing:-.01em;margin:0;line-height:1.2}.auth-form-subtitle{font-size:.88rem;color:var(--text-3);font-weight:400;line-height:1.5}.auth-social-grid{display:grid;grid-template-columns:1fr 1fr 1fr;grid-gap:10px;gap:10px}.auth-social-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 8px;border-radius:var(--r-1);border:1px solid var(--border);background:transparent;color:var(--text-2);cursor:pointer;font-size:.82rem;font-weight:500;font-family:inherit;transition:border-color var(--dur-2) var(--ease-premium),background var(--dur-2) var(--ease-premium),color var(--dur-2) var(--ease-premium),transform var(--dur-1) var(--ease-premium),box-shadow var(--dur-2) var(--ease-premium)}.auth-social-btn:hover{border-color:var(--border-hover);background:var(--surface-2);color:var(--text);transform:translateY(-1px)}.auth-social-btn:active{transform:scale(.97)}.auth-social-btn svg{width:18px;height:18px;flex-shrink:0}.auth-divider{display:flex;align-items:center;gap:16px;color:var(--text-3);font-size:.75rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase}.auth-divider:after,.auth-divider:before{content:"";flex:1 1;height:1px;background:var(--border)}.auth-tab-bar{display:flex;background:var(--surface-2);border-radius:var(--r-1);padding:3px;gap:2px}.auth-tab{flex:1 1;padding:10px 16px;border-radius:calc(var(--r-1) - 2px);border:none;background:transparent;color:var(--text-3);cursor:pointer;font-size:.82rem;font-weight:600;font-family:inherit;letter-spacing:.01em;transition:background var(--dur-2) var(--ease-premium),color var(--dur-2) var(--ease-premium),box-shadow var(--dur-2) var(--ease-premium)}.auth-tab[data-active=true]{background:var(--surface-1);color:var(--text);box-shadow:var(--shadow-sm)}.auth-tab:hover:not([data-active=true]){color:var(--text-2)}.auth-fields{display:grid;grid-gap:14px;gap:14px}.auth-field{position:relative;animation:auth-field-enter .4s var(--ease-premium) both}.auth-field:first-child{animation-delay:.05s}.auth-field:nth-child(2){animation-delay:.1s}.auth-field:nth-child(3){animation-delay:.15s}@keyframes auth-field-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.auth-field-label{display:block;font-size:.78rem;font-weight:600;color:var(--text-2);margin-bottom:6px;letter-spacing:.02em}.auth-input{width:100%;padding:13px 14px;border-radius:var(--r-1);border:1px solid var(--border);background:var(--bg);color:var(--text);font-size:.9rem;font-family:inherit;font-weight:400;transition:box-shadow var(--dur-2) var(--ease-premium),border-color var(--dur-2) var(--ease-premium),background var(--dur-2) var(--ease-premium)}.auth-input::placeholder{color:var(--text-3);font-weight:400}.auth-input:hover{border-color:var(--border-hover)}.auth-input:focus{outline:none;border-color:var(--accent);box-shadow:var(--ring);background:var(--surface-1)}.auth-submit{width:100%;padding:14px 24px;border:none;border-radius:var(--r-1);background:var(--accent-gradient);color:#fff;font-size:.9rem;font-weight:600;font-family:inherit;cursor:pointer;position:relative;overflow:hidden;letter-spacing:.01em;box-shadow:0 4px 16px var(--accent-soft);transition:box-shadow var(--dur-2) var(--ease-premium),transform var(--dur-1) var(--ease-premium),filter var(--dur-2) var(--ease-premium)}.auth-submit:after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,hsla(0,0%,100%,.12),transparent 50%);opacity:0;transition:opacity var(--dur-2) var(--ease-premium)}.auth-submit:hover{box-shadow:0 6px 24px var(--accent-glow);transform:translateY(-1px);filter:brightness(1.08)}.auth-submit:hover:after{opacity:1}.auth-submit:active{transform:scale(.98)}.auth-submit:disabled{opacity:.6;cursor:not-allowed;transform:none;filter:none}.auth-loader{display:inline-flex;gap:4px;align-items:center;justify-content:center}.auth-loader-dot{width:6px;height:6px;border-radius:50%;background:currentColor;animation:auth-dot-bounce 1.2s ease-in-out infinite}.auth-loader-dot:nth-child(2){animation-delay:.15s}.auth-loader-dot:nth-child(3){animation-delay:.3s}@keyframes auth-dot-bounce{0%,80%,to{transform:scale(.6);opacity:.4}40%{transform:scale(1);opacity:1}}.auth-msg{padding:12px 14px;border-radius:var(--r-1);font-size:.82rem;font-weight:500;line-height:1.4;animation:auth-field-enter .3s var(--ease-premium) both}.auth-msg.success{background:var(--success-soft);color:var(--success);border:1px solid color-mix(in srgb,var(--success) 20%,transparent)}.auth-msg.error{background:var(--danger-soft);color:var(--danger);border:1px solid color-mix(in srgb,var(--danger) 20%,transparent)}.auth-footer{position:absolute;bottom:24px;left:56px;right:56px;display:flex;justify-content:center;gap:24px}.auth-footer-link{font-size:.75rem;color:var(--text-3);text-decoration:none;transition:color var(--dur-1) var(--ease-premium)}.auth-footer-link:hover{color:var(--text-2)}@keyframes auth-fade-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}html[data-theme=light] .auth-brand{background:linear-gradient(160deg,#e8e4f8,#f0eeff 40%,#e6eaff)}html[data-theme=light] .auth-brand:before{background:radial-gradient(ellipse 600px 500px at 20% 30%,rgba(67,97,238,.18),transparent),radial-gradient(ellipse 500px 400px at 80% 70%,rgba(139,108,255,.14),transparent),radial-gradient(ellipse 300px 300px at 50% 50%,rgba(100,170,255,.1),transparent)}html[data-theme=light] .auth-brand-name{color:rgba(10,15,25,.92)}html[data-theme=light] .auth-brand-tagline{color:rgba(10,15,25,.38)}html[data-theme=light] .auth-brand-icon{background:linear-gradient(135deg,rgba(67,97,238,.12),rgba(139,108,255,.1));border-color:rgba(67,97,238,.2)}html[data-theme=light] .auth-brand-icon svg{color:rgba(67,97,238,.8)}html[data-theme=light] .auth-brand-mark:before{border-color:rgba(67,97,238,.2)}html[data-theme=light] .auth-brand-mark:after{border-color:rgba(67,97,238,.08)}html[data-theme=light] .auth-brand-decorline{background:linear-gradient(90deg,transparent,rgba(67,97,238,.3),transparent)}html[data-theme=light] .auth-form-panel{background:#fff}html[data-theme=light] .auth-input{background:var(--surface-2)}@media (max-width:900px){.auth-page{grid-template-columns:1fr;grid-template-rows:auto 1fr}.auth-brand{padding:40px 24px 32px;min-height:auto}.auth-brand-name{font-size:1.8rem}.auth-brand-tagline{font-size:.75rem}.auth-brand-icon,.auth-brand-mark{width:56px;height:56px}.auth-brand-icon{border-radius:14px}.auth-brand-content{gap:20px}.auth-form-panel{padding:32px 24px 80px;border-left:none;border-top:1px solid var(--border)}.auth-form-panel:before{top:0;left:0;right:0;bottom:auto;width:auto;height:1px;background:linear-gradient(90deg,transparent,var(--accent-soft),transparent)}.auth-footer{left:24px;right:24px;bottom:16px}.auth-social-grid{grid-template-columns:1fr 1fr 1fr}}@media (max-width:480px){.auth-social-grid{grid-template-columns:1fr}}.platform-cards-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}.platform-entry-card{display:flex;align-items:center;gap:14px;padding:18px;cursor:pointer;text-decoration:none;color:inherit;transition:transform .22s var(--ease-premium),box-shadow .22s var(--ease-premium),border-color .22s var(--ease-premium)}.platform-entry-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-2),var(--shadow-glow);border-color:var(--border-hover)}.platform-entry-icon{width:50px;height:50px;border-radius:14px;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 4px 14px rgba(0,0,0,.2);transition:transform .22s var(--ease-bounce)}.platform-entry-card:hover .platform-entry-icon{transform:scale(1.06)}.platform-entry-body{flex:1 1;min-width:0;display:grid;grid-gap:4px;gap:4px}.platform-entry-title{font-size:1rem;font-weight:700;margin:0;letter-spacing:-.01em}.platform-entry-tagline{font-size:.78rem;margin:0}.platform-entry-meta{display:flex;gap:6px;margin-top:2px}.platform-entry-arrow{color:var(--text-3);transition:transform .16s var(--ease-premium),color .16s var(--ease-premium)}.platform-entry-card:hover .platform-entry-arrow{transform:translateX(3px);color:var(--accent)}.platform-detail-hero{position:relative;overflow:hidden;padding:0}.platform-detail-hero-bg{position:absolute;inset:0;opacity:.08;pointer-events:none}.platform-detail-hero-content{position:relative;z-index:1;padding:20px;display:grid;grid-gap:12px;gap:12px}.platform-detail-back{display:inline-flex;align-items:center;gap:5px;font-size:.78rem;color:var(--text-2);transition:color .16s var(--ease-premium)}.platform-detail-back:hover{color:var(--accent)}.platform-detail-hero-row{display:flex;align-items:center;gap:14px}.platform-detail-hero-icon{width:56px;height:56px;border-radius:16px;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 6px 20px rgba(0,0,0,.25)}.platform-detail-tagline{font-size:.85rem;color:var(--text-2);margin:0}.platform-detail-desc{font-size:.88rem;color:var(--text-2);line-height:1.5;margin:0;max-width:640px}.platform-detail-stats{display:flex;gap:20px;margin-top:4px}.platform-stat{display:flex;flex-direction:column;align-items:center;gap:1px}.platform-stat-val{font-size:1.4rem;font-weight:800;letter-spacing:-.02em;color:var(--text)}.platform-stat-label{font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-3);font-weight:600}.platform-modules-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.platform-module-section,.platform-modules-grid{display:grid;grid-gap:10px;gap:10px}.platform-module-section-title{margin:0;font-size:.86rem;letter-spacing:.05em;text-transform:uppercase;color:var(--text-2);font-weight:700}.platform-module-card{display:flex;align-items:flex-start;gap:12px;padding:16px;transition:transform .22s var(--ease-premium),box-shadow .22s var(--ease-premium),border-color .22s var(--ease-premium)}.platform-module-card:hover{transform:translateY(-1px);box-shadow:var(--shadow-1);border-color:var(--border-hover)}.platform-module-disabled{opacity:.5;pointer-events:none}.platform-module-icon{width:38px;height:38px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 2px 8px rgba(0,0,0,.15)}.platform-module-body{flex:1 1;min-width:0;display:grid;grid-gap:3px;gap:3px}.platform-module-head{display:flex;align-items:center;gap:6px}.platform-module-name{font-size:.88rem;font-weight:700;margin:0}.platform-module-desc{font-size:.76rem;margin:0;line-height:1.4}.platform-module-launch{align-self:center;flex-shrink:0;gap:4px}@media (max-width:900px){.platform-cards-grid,.platform-modules-grid{grid-template-columns:1fr}.platform-detail-stats{flex-wrap:wrap;gap:14px}}.eco-panel-title{font-size:1.05rem;font-weight:600;color:var(--text);letter-spacing:.3px}.page-title{text-shadow:0 0 8px color-mix(in srgb,var(--accent) 20%,transparent)}.eco-metrics-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:10px;gap:10px;margin-top:12px}.eco-metrics-compact{grid-template-columns:repeat(3,1fr)}@media (max-width:560px){.eco-metrics-compact,.eco-metrics-grid{grid-template-columns:1fr 1fr}}.eco-metric-item{display:flex;flex-direction:column;gap:2px}.eco-metric-label{font-size:.68rem;color:var(--console-muted,var(--text-3));text-transform:uppercase;letter-spacing:.06em;display:flex;align-items:center;gap:4px}.eco-metric-value{font-size:1.05rem;font-weight:700;color:var(--text);display:flex;align-items:baseline;gap:4px}.eco-metric-extra{font-size:.68rem;font-weight:500;color:var(--text-3)}.eco-metric-trend{display:flex;align-items:center;gap:2px;font-size:.68rem;font-weight:600}.eco-trend-up{color:var(--success)}.eco-trend-down{color:var(--danger)}.eco-section-divider{height:1px;background:color-mix(in srgb,var(--border) 70%,transparent);margin:12px 0}.eco-subsection{margin-top:4px}.eco-subsection-label{font-size:.7rem;font-weight:600;color:var(--text-3);text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px;display:flex;align-items:center;gap:4px}.eco-budget-row{display:flex;align-items:center;gap:10px}.eco-progress-bar{flex:1 1;height:8px;background:var(--surface-3);border-radius:4px;overflow:hidden}.eco-progress-fill{height:100%;border-radius:4px;transition:width .6s cubic-bezier(.2,.8,.2,1)}.eco-hr-footer{display:flex;align-items:flex-start;gap:16px;margin-top:4px}.eco-donut-col{display:flex;flex-direction:column;align-items:center;gap:6px}.eco-donut-legend{display:flex;flex-wrap:wrap;gap:6px 10px}.eco-legend-item{display:flex;align-items:center;gap:3px;font-size:.65rem;color:var(--text-2)}.eco-legend-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.eco-satisfaction{flex:1 1;display:flex;flex-direction:column;gap:4px}.eco-stars{display:flex;align-items:center;gap:2px}.eco-star-num{margin-left:4px;font-size:.78rem;font-weight:700;color:var(--text)}.eco-vendor-list{display:flex;flex-direction:column;gap:6px}.eco-vendor-item{display:flex;align-items:center;gap:8px}.eco-vendor-rank{font-size:.65rem;font-weight:700;color:var(--text-3);width:18px;text-align:right}.eco-vendor-name{font-size:.72rem;font-weight:500;width:70px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eco-vendor-bar-bg{flex:1 1;height:6px;background:var(--surface-3);border-radius:3px;overflow:hidden}.eco-vendor-bar{height:100%;border-radius:3px;transition:width .4s cubic-bezier(.2,.8,.2,1)}.eco-vendor-score{font-size:.68rem;font-weight:700;color:var(--text-2);width:22px;text-align:right}.eco-badge-live{display:inline-flex;align-items:center;padding:1px 5px;border-radius:4px;font-size:.55rem;font-weight:700;letter-spacing:.06em;background:color-mix(in srgb,var(--success) 16%,transparent);color:var(--success)}.eco-flow-list{display:flex;flex-direction:column;gap:5px}.eco-flow-item{display:flex;align-items:center;gap:6px;font-size:.72rem}.eco-flow-rank{font-weight:700;color:var(--text-3);width:18px;text-align:right}.eco-flow-name{flex:1 1;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eco-flow-count{display:flex;align-items:center;gap:2px;font-weight:600;color:var(--text-2)}.eco-gov-top{display:flex;align-items:flex-start;gap:16px;margin-top:10px}.eco-gov-stats{flex:1 1;display:flex;flex-direction:column;gap:8px}.eco-gov-bottom{display:flex;align-items:flex-start;gap:16px}.eco-risk-section{flex:1 1}.eco-risk-badges{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.eco-risk-badge{padding:2px 8px;border-radius:6px;font-size:.65rem;font-weight:600}.eco-risk-high{background:color-mix(in srgb,var(--danger) 16%,transparent);color:var(--danger)}.eco-risk-medium{background:color-mix(in srgb,var(--warning) 16%,transparent);color:var(--warning)}.eco-risk-low{background:color-mix(in srgb,var(--success) 16%,transparent);color:var(--success)}.eco-heatmap-section{flex-shrink:0}.eco-health-overall{font-size:.72rem;font-weight:600}.eco-health-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.eco-health-chip{display:flex;align-items:center;gap:4px;padding:4px 8px;border:1px solid var(--border);border-radius:8px;font-size:.68rem;font-weight:500;background:var(--surface-2);color:var(--text-2)}.eco-platform-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));grid-gap:6px;gap:6px;margin-top:6px}.eco-platform-card{border:1px solid var(--border);border-radius:10px;padding:8px 10px;background:var(--surface-2);transition:border-color .16s ease,background .16s ease}.eco-platform-card:hover{border-color:var(--border-hover);background:var(--surface-3)}.eco-platform-card-top{display:flex;align-items:center;gap:5px}.eco-platform-icon{color:var(--text-3)}.eco-platform-name{flex:1 1;font-size:.72rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eco-platform-card-bottom{display:flex;justify-content:space-between;margin-top:4px;font-size:.62rem;color:var(--text-3)}.eco-platform-deploy{font-weight:500}.eco-timeline{display:flex;flex-direction:column;gap:0;margin-top:10px}.eco-timeline-item{display:flex;align-items:flex-start;gap:10px;padding:8px 0;border-bottom:1px solid color-mix(in srgb,var(--border) 50%,transparent);position:relative}.eco-timeline-item:last-child{border-bottom:none}.eco-timeline-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;margin-top:5px}.eco-timeline-content{flex:1 1;min-width:0}.eco-timeline-main{display:flex;align-items:center;gap:6px;font-size:.78rem;font-weight:500}.eco-timeline-icon{font-size:.9rem;flex-shrink:0}.eco-timeline-desc{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eco-timeline-meta{display:flex;align-items:center;gap:8px;margin-top:3px}.eco-timeline-time{font-size:.65rem;color:var(--text-3)}.eco-timeline-badge{display:inline-flex;padding:1px 6px;border-radius:4px;font-size:.6rem;font-weight:600}.dashboard-kpi-grid-8{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:10px;gap:10px}@media (max-width:900px){.dashboard-kpi-grid-8{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:560px){.dashboard-kpi-grid-8{grid-template-columns:1fr}}.eco-livemap-panel{position:relative;overflow:visible}.eco-livemap-container{position:relative;margin-top:10px;min-height:380px;height:420px;background:#02060b;border-radius:12px;overflow:hidden}.eco-livemap-demo-badge{font-size:.55rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;padding:1px 7px;border-radius:4px;background:rgba(255,209,102,.08);color:#ffd166;border:1px solid rgba(255,209,102,.2)}.eco-livemap-toolbar{display:flex;align-items:center;gap:14px}.eco-livemap-online{display:flex;align-items:center;gap:6px;font-size:.78rem;font-weight:700;color:var(--text)}.eco-livemap-online-trigger{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:inherit;font:inherit;cursor:pointer;padding:0 2px;display:inline-flex;align-items:center;gap:6px;border-bottom:1px dashed hsla(0,0%,100%,.3)}.eco-livemap-online-trigger:hover{color:var(--neon);border-bottom-color:var(--neon)}.eco-livemap-online-dot{width:8px;height:8px;border-radius:50%;background:var(--neon);box-shadow:0 0 12px var(--neon),0 0 30px rgba(0,245,255,.4);animation:eco-pulse 2.5s ease-in-out infinite;flex-shrink:0}@keyframes eco-pulse{0%{transform:scale(1);opacity:1;box-shadow:0 0 12px var(--neon),0 0 30px rgba(0,245,255,.4)}50%{transform:scale(1.5);opacity:.4;box-shadow:0 0 20px var(--neon),0 0 40px rgba(0,245,255,.3)}to{transform:scale(1);opacity:1;box-shadow:0 0 12px var(--neon),0 0 30px rgba(0,245,255,.4)}}.eco-livemap-leaflet{position:relative;width:100%;height:100%;border-radius:12px;overflow:hidden;border:1px solid hsla(0,0%,100%,.04);box-shadow:0 10px 30px rgba(0,0,0,.4);background:#02060b}.eco-livemap-leaflet:after{z-index:1000;background-image:linear-gradient(transparent 95%,rgba(0,245,255,.06) 0),linear-gradient(90deg,transparent 95%,rgba(0,245,255,.06) 0);background-size:40px 40px;mask:radial-gradient(circle at 50% 30%,#000,rgba(0,0,0,.15) 60%,transparent 80%);-webkit-mask:radial-gradient(circle at 50% 30%,#000,rgba(0,0,0,.15) 60%,transparent 80%)}.eco-livemap-leaflet:after,.eco-livemap-leaflet:before{content:"";position:absolute;inset:0;pointer-events:none}.eco-livemap-leaflet:before{z-index:999;background:radial-gradient(1000px 400px at 50% -30%,rgba(0,245,255,.1),transparent 70%),radial-gradient(900px 350px at 120% 0,rgba(167,124,255,.06),transparent 70%)}.eco-livemap-leaflet-map{width:100%;height:420px;background:#02060b}.eco-livemap-leaflet:-webkit-full-screen{width:100vw;height:100dvh;max-width:none;max-height:none;border-radius:0;border:0}.eco-livemap-leaflet:fullscreen{width:100vw;height:100dvh;max-width:none;max-height:none;border-radius:0;border:0}.eco-livemap-leaflet:-webkit-full-screen .eco-livemap-leaflet-map{width:100%;height:100%}.eco-livemap-leaflet:fullscreen .eco-livemap-leaflet-map{width:100%;height:100%}.eco-livemap-container:-webkit-full-screen{margin-top:0;width:100vw;height:100dvh;min-height:100dvh;max-width:none;max-height:none;border-radius:0}.eco-livemap-container:fullscreen{margin-top:0;width:100vw;height:100dvh;min-height:100dvh;max-width:none;max-height:none;border-radius:0}.eco-livemap-container:-webkit-full-screen .eco-livemap-leaflet,.eco-livemap-container:-webkit-full-screen .eco-livemap-leaflet-map,.eco-livemap-container:-webkit-full-screen .eco-livemap-leaflet-map.leaflet-container{width:100%!important;height:100%!important;min-height:100%!important}.eco-livemap-container:fullscreen .eco-livemap-leaflet,.eco-livemap-container:fullscreen .eco-livemap-leaflet-map,.eco-livemap-container:fullscreen .eco-livemap-leaflet-map.leaflet-container{width:100%!important;height:100%!important;min-height:100%!important}.eco-livemap-leaflet-map,.eco-livemap-leaflet-map .leaflet-container,.eco-livemap-leaflet-map>div{background:#02060b!important}.eco-livemap-leaflet-map .leaflet-map-pane,.eco-livemap-leaflet-map .leaflet-tile-pane{background:#02060b}.eco-livemap-leaflet-map .leaflet-layer,.eco-livemap-leaflet-map .leaflet-overlay-pane,.eco-livemap-leaflet-map .leaflet-tile{background:transparent}.eco-livemap-leaflet-map .leaflet-fade-anim .leaflet-tile{will-change:opacity}.eco-livemap-leaflet-map .leaflet-zoom-anim .leaflet-zoom-animated{transition:transform .4s cubic-bezier(.25,.46,.45,.94)!important}.eco-livemap-leaflet-map .leaflet-proxy{transition:transform .4s cubic-bezier(.25,.46,.45,.94)}.eco-livemap-loading{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;background:#02060b;border-radius:12px;color:var(--console-muted);font-size:.72rem;z-index:5}.eco-livemap-loading-spinner{width:24px;height:24px;border:2px solid rgba(0,245,255,.15);border-top:2px solid var(--neon);border-radius:50%;animation:eco-spin .8s linear infinite}@keyframes eco-spin{to{transform:rotate(1turn)}}.eco-livemap-leaflet-map .leaflet-control-zoom{border:1px solid rgba(0,245,255,.12)!important;border-radius:8px!important;overflow:hidden;background:rgba(5,7,12,.85)!important;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 4px 20px rgba(0,0,0,.5),0 0 10px rgba(0,245,255,.05)!important}.eco-livemap-leaflet-map .leaflet-control-zoom a{background:transparent!important;color:var(--console-muted)!important;width:30px!important;height:30px!important;line-height:30px!important;font-size:14px!important;border:none!important;transition:all .2s ease}.eco-livemap-leaflet-map .leaflet-control-zoom a:hover{background:rgba(0,245,255,.06)!important;color:var(--neon)!important}.eco-livemap-leaflet-map .leaflet-control-zoom-in{border-bottom:1px solid hsla(0,0%,100%,.06)!important}.eco-map-marker-wrapper{background:transparent!important;border:none!important}.eco-map-marker{position:relative;width:32px;height:32px}.eco-map-marker-pulse{position:absolute;inset:-2px;border-radius:50%;background:var(--marker-color,var(--neon));opacity:.15;filter:blur(2px);animation:eco-marker-pulse 2.8s ease-in-out infinite}.eco-map-marker-ring{position:absolute;inset:4px;border-radius:50%;border:1.4px solid var(--marker-color,var(--neon));opacity:.5;filter:drop-shadow(0 0 6px var(--marker-color,var(--neon)));animation:eco-marker-ring 2.8s ease-in-out infinite}.eco-map-marker-core{position:absolute;inset:10px;border-radius:50%;background:var(--marker-color,var(--neon));box-shadow:0 0 6px var(--marker-color,var(--neon)),0 0 14px var(--marker-color,var(--neon)),0 0 30px rgba(0,245,255,.3);filter:drop-shadow(0 0 4px var(--marker-color,var(--neon)))}@keyframes eco-marker-pulse{0%{transform:scale(.7);opacity:.15}50%{transform:scale(1.4);opacity:.03}to{transform:scale(.7);opacity:.15}}@keyframes eco-marker-ring{0%{transform:scale(.85);opacity:.5}50%{transform:scale(1.2);opacity:.08}to{transform:scale(.85);opacity:.5}}.eco-map-popup-container .leaflet-popup-content-wrapper{background:color-mix(in srgb,var(--surface-1) 94%,var(--bg))!important;border:1px solid color-mix(in srgb,var(--border) 90%,transparent)!important;border-radius:12px!important;box-shadow:0 12px 40px rgba(0,0,0,.6),0 0 16px color-mix(in srgb,var(--accent) 12%,transparent)!important;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);padding:0!important;color:var(--text)}.eco-map-popup-container .leaflet-popup-content{margin:0!important;line-height:1.4}.eco-map-popup-container .leaflet-popup-tip-container{display:none}.eco-map-popup{padding:10px 14px}.eco-map-popup-city{font-weight:700;font-size:.78rem;color:var(--text);letter-spacing:-.01em;text-shadow:none}.eco-map-popup-country{font-size:.65rem;color:var(--console-muted);margin-top:1px}.eco-map-popup-divider{height:1px;background:color-mix(in srgb,var(--border) 75%,transparent);margin:6px 0}.eco-map-popup-row{display:flex;align-items:center;gap:5px}.eco-map-popup-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.eco-map-popup-platform{font-size:.68rem;font-weight:600;color:var(--text-2);text-transform:capitalize}.eco-map-popup-page{font-size:.6rem;color:var(--text-3);font-family:SF Mono,Fira Code,monospace;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:170px}.eco-map-popup-user-title{margin-top:2px;font-size:.68rem;color:var(--text);font-weight:600}.eco-map-popup-user-sub{margin-top:2px;font-size:.6rem;color:var(--text-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:240px}.eco-map-popup-kv{margin-top:3px;display:flex;justify-content:space-between;gap:10px;font-size:.59rem;color:var(--text-2)}.eco-map-popup-kv code{font-size:.58rem;color:var(--text)}.eco-map-popup-agent{margin-top:5px;font-size:.56rem;color:var(--text-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:240px}.eco-livemap-stats{display:flex;align-items:center;gap:12px;margin-top:10px;padding-top:10px;border-top:1px solid color-mix(in srgb,var(--border) 70%,transparent)}.eco-livemap-stats-label{font-size:.62rem;color:var(--console-muted);font-weight:600;text-transform:uppercase;letter-spacing:.08em}.eco-livemap-stat{display:flex;align-items:center;gap:4px;font-size:.72rem;color:var(--text)}.eco-livemap-stat strong{color:var(--accent);font-weight:700;text-shadow:none}.eco-livemap-sessions-popover{position:absolute;top:42px;right:10px;width:min(560px,calc(100vw - 40px));max-height:420px;z-index:15;background:rgba(6,10,16,.96);border:1px solid rgba(0,245,255,.18);border-radius:12px;box-shadow:0 16px 40px rgba(0,0,0,.55),0 0 24px rgba(0,245,255,.08);overflow:hidden}.eco-livemap-sessions-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;border-bottom:1px solid hsla(0,0%,100%,.08)}.eco-livemap-sessions-close{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:var(--text-3);font-size:1.1rem;line-height:1;cursor:pointer}.eco-livemap-sessions-note{padding:8px 12px;font-size:.68rem;color:#ffd166;border-bottom:1px solid hsla(0,0%,100%,.06)}.eco-livemap-sessions-empty{padding:14px 12px;font-size:.76rem;color:var(--text-3)}.eco-livemap-sessions-list{display:flex;flex-direction:column;max-height:350px;overflow:auto}.eco-livemap-session-item{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:10px 12px;border-bottom:1px solid hsla(0,0%,100%,.06)}.eco-livemap-session-main{min-width:0}.eco-livemap-session-title{font-size:.8rem;color:#eafcff;font-weight:650}.eco-livemap-session-meta{margin-top:2px;font-size:.66rem;color:var(--text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:380px}.eco-livemap-session-id{margin-top:2px;font-size:.62rem;color:#6f7f95;font-family:SF Mono,Fira Code,monospace}.eco-livemap-session-delete{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid rgba(255,99,132,.35);background:rgba(255,99,132,.1);color:#ff8da7;border-radius:8px;padding:5px 8px;font-size:.64rem;font-weight:650;cursor:pointer}.eco-livemap-session-delete:disabled{opacity:.55;cursor:not-allowed}.eco-map-zooming{transition:filter .4s cubic-bezier(.25,.46,.45,.94);filter:brightness(1.04) saturate(1.15)}.eco-map-zooming .eco-livemap-leaflet:before{transition:opacity .4s cubic-bezier(.25,.46,.45,.94);opacity:.7}.eco-map-zooming .leaflet-tile-pane{transition:transform .4s cubic-bezier(.23,1,.32,1)!important}.eco-map-zooming .leaflet-marker-pane{transition:transform .5s cubic-bezier(.175,.885,.32,1.275)!important}@media (max-width:768px){.eco-livemap-leaflet-map{height:280px}.eco-livemap-container{min-height:260px}.eco-livemap-stats,.eco-livemap-toolbar{flex-wrap:wrap;gap:6px}.eco-livemap-sessions-popover{right:6px;width:calc(100vw - 28px)}.eco-livemap-session-meta{max-width:220px}}.eco-map-ctx-menu{position:absolute;z-index:2000;min-width:170px;background:rgba(5,7,12,.95);border:1px solid rgba(0,245,255,.12);border-radius:10px;box-shadow:0 12px 40px rgba(0,0,0,.6),0 0 20px rgba(0,245,255,.05);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);padding:6px;overflow:hidden}.eco-map-ctx-item{display:flex;align-items:center;gap:8px;width:100%;padding:7px 10px;border:none;border-radius:6px;background:transparent;color:#d7f7ff;font-size:.75rem;font-weight:500;cursor:pointer;transition:background .12s ease,color .12s ease;text-align:left;font-family:inherit}.eco-map-ctx-item:hover{background:rgba(0,245,255,.08);color:var(--neon)}.eco-map-ctx-icon{font-size:.85rem;width:20px;text-align:center;flex-shrink:0}.flow-canvas-add-handle,.flow-components-drawer{display:none!important}.eco-desktop-root{position:relative}.eco-desktop-surface{position:relative;height:min(78vh,860px);min-height:620px;border-radius:14px;border:1px solid var(--border);overflow:hidden;background:radial-gradient(1200px 420px at 15% -8%,color-mix(in srgb,var(--accent) 18%,transparent),transparent 55%),radial-gradient(900px 360px at 90% 108%,color-mix(in srgb,var(--accent-2,var(--accent)) 16%,transparent),transparent 52%),linear-gradient(145deg,color-mix(in srgb,var(--surface-2) 88%,#07111f) 0,color-mix(in srgb,var(--surface-1) 82%,#0a1a31) 48%,color-mix(in srgb,var(--surface-2) 90%,#050d18) 100%)}.eco-desktop-surface:before{content:"";position:absolute;inset:0;background-image:linear-gradient(color-mix(in srgb,var(--accent) 16%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--accent) 16%,transparent) 1px,transparent 1px);background-size:34px 34px;pointer-events:none}.eco-desktop-icons{position:absolute;inset:0;z-index:2;display:block}.eco-desktop-icon{position:absolute;width:88px;border:1px solid transparent;background:transparent;color:var(--text);border-radius:10px;min-height:92px;padding:8px 6px;display:grid;justify-items:center;grid-gap:8px;gap:8px;cursor:-webkit-grab;cursor:grab;z-index:3}.eco-desktop-icon:hover{border-color:var(--border-2);background:color-mix(in srgb,var(--surface-2) 62%,transparent)}.eco-desktop-icon-selected{border-color:color-mix(in srgb,var(--accent) 55%,var(--border));background:color-mix(in srgb,var(--accent) 18%,transparent)}.eco-desktop-icon-glyph{width:44px;height:44px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(180deg,color-mix(in srgb,var(--surface-1) 82%,#0b1322),color-mix(in srgb,var(--surface-2) 86%,#0a182a));color:var(--accent);box-shadow:inset 0 0 0 1px var(--border)}.eco-desktop-icon-label{font-size:12px;line-height:1.2;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}.eco-desktop-icon-emoji{font-size:18px;line-height:1}.eco-desktop-weather{top:10px;right:10px;z-index:8;border:1px solid var(--border);border-radius:10px;background:color-mix(in srgb,var(--surface-1) 86%,transparent);color:var(--text);padding:7px 10px;display:inline-flex;align-items:center;gap:8px;font-size:12px}.eco-desktop-ctx-menu,.eco-desktop-weather{position:absolute;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.eco-desktop-ctx-menu{z-index:40;min-width:220px;border:1px solid var(--border-2);border-radius:10px;background:color-mix(in srgb,var(--surface-1) 95%,transparent);box-shadow:0 10px 20px rgba(2,6,23,.3);overflow:hidden}.eco-desktop-ctx-item{width:100%;height:34px;border:0;border-bottom:1px solid var(--border);background:transparent;color:var(--text);text-align:left;padding:0 12px;font-size:12px;cursor:pointer}.eco-desktop-ctx-item:last-child{border-bottom:0}.eco-desktop-ctx-item:hover{background:color-mix(in srgb,var(--accent) 14%,var(--surface-2))}.eco-desktop-weather small{color:var(--text-3)}.eco-desktop-window{position:absolute;z-index:5;border-radius:12px;border:1px solid var(--border-2);background:color-mix(in srgb,var(--surface-1) 84%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 14px 30px rgba(2,6,23,.35);display:grid;grid-template-rows:auto 1fr;overflow:hidden}.eco-desktop-window-max{inset:8px 8px 54px 8px;width:auto!important;height:auto!important;left:auto!important;top:auto!important}.eco-desktop-window-head{height:36px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 6px 0 10px;cursor:-webkit-grab;cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none}.eco-desktop-window-title{display:inline-flex;align-items:center;gap:8px;color:var(--text);font-size:12px;font-weight:600}.eco-desktop-window-actions{display:inline-flex;gap:6px}.eco-desktop-window-actions button{width:24px;height:24px;border-radius:7px;border:1px solid var(--border);background:color-mix(in srgb,var(--surface-2) 80%,transparent);color:var(--text-2);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.eco-desktop-window-actions button:hover{background:color-mix(in srgb,var(--surface-2) 95%,transparent);color:var(--text)}.eco-desktop-window-close:hover{background:rgba(220,38,38,.9)!important;border-color:rgba(220,38,38,.9)!important}.eco-desktop-window-body{padding:14px;display:grid;grid-gap:14px;gap:14px;align-content:start}.eco-desktop-window-preview{border:1px solid var(--border);border-radius:10px;padding:10px;display:flex;align-items:center;gap:10px;background:color-mix(in srgb,var(--surface-2) 75%,transparent)}.eco-desktop-window-preview-icon{width:36px;height:36px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;color:var(--accent);background:color-mix(in srgb,var(--accent) 16%,transparent)}.eco-desktop-window-preview-title{color:var(--text);font-weight:600;font-size:13px}.eco-desktop-window-preview-sub{color:var(--text-3);font-size:12px}.eco-desktop-window-links{display:flex;gap:8px}.eco-desktop-start{position:absolute;left:10px;bottom:56px;z-index:30;width:min(360px,calc(100% - 20px));border-radius:12px;border:1px solid var(--border-2);background:color-mix(in srgb,var(--surface-1) 94%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 18px 30px rgba(2,6,23,.3);overflow:hidden}.eco-desktop-start-title-row{padding:8px 10px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:8px}.eco-desktop-start-title{color:var(--text-2);font-size:12px;font-weight:700}.eco-desktop-add-icon-btn{height:26px;border-radius:8px;border:1px solid var(--border);background:color-mix(in srgb,var(--surface-2) 82%,transparent);color:var(--text);font-size:11px;display:inline-flex;align-items:center;gap:6px;padding:0 8px;cursor:pointer}.eco-desktop-add-icon-form{display:grid;grid-gap:8px;gap:8px;padding:10px;border-bottom:1px solid var(--border)}.eco-desktop-start-list{display:grid;max-height:320px;overflow:auto;padding:6px}.eco-desktop-start-item{border:1px solid transparent;background:transparent;color:var(--text);border-radius:8px;height:34px;display:inline-flex;align-items:center;gap:8px;padding:0 10px;cursor:pointer;text-align:left}.eco-desktop-start-item:hover{border-color:var(--border-2);background:color-mix(in srgb,var(--surface-2) 78%,transparent)}.eco-desktop-taskbar{position:absolute;left:8px;right:8px;bottom:8px;z-index:25;height:40px;border-radius:10px;border:1px solid var(--border-2);background:color-mix(in srgb,var(--surface-1) 86%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;gap:8px;padding:0 8px}.eco-desktop-show-btn,.eco-desktop-start-btn,.eco-desktop-taskitem{height:30px;border-radius:8px;border:1px solid var(--border);background:color-mix(in srgb,var(--surface-2) 82%,transparent);color:var(--text);display:inline-flex;align-items:center;gap:6px;padding:0 10px;cursor:pointer;white-space:nowrap}.eco-desktop-show-btn:hover,.eco-desktop-start-btn:hover,.eco-desktop-taskitem:hover{background:color-mix(in srgb,var(--accent) 12%,var(--surface-2))}.eco-desktop-taskitem-active{border-color:color-mix(in srgb,var(--accent) 60%,var(--border));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 22%,transparent)}.eco-desktop-tasklist{display:flex;align-items:center;gap:6px;flex:1 1;min-width:0;overflow:auto}.eco-desktop-clock{margin-left:auto;color:var(--text);text-align:right;line-height:1.1;padding:0 6px}.eco-desktop-clock small{display:block;color:var(--text-3);font-size:11px}@media (max-width:1024px){.eco-desktop-surface{min-height:540px;height:72vh}.eco-desktop-show-btn{display:none}}html[data-theme=light] .console-scope{--console-bg:var(--bg);--console-panel:var(--surface-1);--console-card:var(--surface-1);--console-grid:color-mix(in srgb,var(--accent) 10%,transparent);--console-muted:var(--text-2)}html[data-theme=light] .console-scope .card{background:linear-gradient(180deg,color-mix(in srgb,var(--surface-1) 98%,#fff),color-mix(in srgb,var(--surface-1) 94%,var(--surface-2)));border-color:color-mix(in srgb,var(--border) 90%,transparent);box-shadow:var(--shadow-1)}html[data-theme=light] .console-scope .card:before{background:radial-gradient(820px 210px at 18% -12%,color-mix(in srgb,var(--accent) 8%,transparent),transparent 64%),radial-gradient(650px 220px at 92% 0,color-mix(in srgb,#0ea5e9 7%,transparent),transparent 64%);opacity:.8}html[data-theme=light] .console-scope .eco-panel-title,html[data-theme=light] .console-scope .page-title{color:var(--text);text-shadow:none}html[data-theme=light] .console-scope .dash-cmd-dialog,html[data-theme=light] .console-scope .dashboard-hero,html[data-theme=light] .console-scope .dashboard-kpi-card,html[data-theme=light] .console-scope .dashboard-panel{color:var(--text)}html[data-theme=light] .console-scope .kpi-value{color:var(--text);text-shadow:none}html[data-theme=light] .console-scope .eco-section-divider{background:color-mix(in srgb,var(--border) 65%,transparent)}html[data-theme=light] .console-scope .eco-progress-bar{background:var(--surface-3)}html[data-theme=light] .console-scope .eco-livemap-container,html[data-theme=light] .console-scope .eco-livemap-leaflet,html[data-theme=light] .console-scope .eco-livemap-leaflet-map,html[data-theme=light] .console-scope .eco-livemap-leaflet-map .leaflet-container,html[data-theme=light] .console-scope .eco-livemap-leaflet-map .leaflet-map-pane,html[data-theme=light] .console-scope .eco-livemap-leaflet-map .leaflet-tile-pane,html[data-theme=light] .console-scope .eco-livemap-leaflet-map>div,html[data-theme=light] .console-scope .eco-livemap-loading{background:color-mix(in srgb,var(--surface-2) 92%,#fff)!important;color:var(--text-2)}html[data-theme=light] .console-scope .eco-livemap-online-trigger{border-bottom-color:color-mix(in srgb,var(--border) 85%,transparent)}html[data-theme=light] .console-scope .eco-livemap-online-trigger:hover{color:var(--accent);border-bottom-color:var(--accent)}html[data-theme=light] .console-scope .eco-livemap-online-dot{background:var(--accent);box-shadow:0 0 10px color-mix(in srgb,var(--accent) 40%,transparent),0 0 24px color-mix(in srgb,var(--accent) 20%,transparent)}html[data-theme=light] .console-scope .eco-livemap-loading-spinner{border-color:color-mix(in srgb,var(--accent) 18%,transparent);border-top-color:var(--accent)}html[data-theme=light] .console-scope .eco-livemap-leaflet-map .leaflet-control-zoom{border-color:color-mix(in srgb,var(--border) 95%,transparent)!important;background:color-mix(in srgb,var(--surface-1) 96%,#fff)!important;box-shadow:var(--shadow-sm)!important}html[data-theme=light] .console-scope .eco-livemap-leaflet-map .leaflet-control-zoom a{color:var(--text-2)!important}html[data-theme=light] .console-scope .eco-livemap-leaflet-map .leaflet-control-zoom a:hover{background:color-mix(in srgb,var(--accent) 10%,transparent)!important;color:var(--accent)!important}html[data-theme=light] .console-scope .eco-livemap-leaflet-map .leaflet-control-zoom-in{border-bottom-color:color-mix(in srgb,var(--border) 90%,transparent)!important}html[data-theme=light] .console-scope .eco-livemap-leaflet:after,html[data-theme=light] .console-scope .eco-livemap-leaflet:before{display:none}html[data-theme=light] .console-scope .eco-livemap-leaflet-map .leaflet-tile{filter:brightness(1.04) saturate(.88) contrast(.94)}html[data-theme=light] .console-scope .eco-map-popup-container .leaflet-popup-content-wrapper{background:#fff!important;border-color:color-mix(in srgb,var(--border) 92%,transparent)!important;box-shadow:0 12px 28px rgba(15,23,42,.14)!important;color:var(--text)!important}html[data-theme=light] .console-scope .eco-map-popup-container .leaflet-popup-content{color:var(--text)!important}html[data-theme=light] .console-scope .eco-map-popup-agent,html[data-theme=light] .console-scope .eco-map-popup-country,html[data-theme=light] .console-scope .eco-map-popup-kv,html[data-theme=light] .console-scope .eco-map-popup-page,html[data-theme=light] .console-scope .eco-map-popup-user-sub{color:var(--text-2)!important}html[data-theme=light] .console-scope .ut-toolbar{border-color:color-mix(in srgb,var(--accent) 24%,var(--border));background:linear-gradient(180deg,var(--surface-1),color-mix(in srgb,var(--surface-2) 88%,var(--surface-1)));box-shadow:var(--shadow-sm)}html[data-theme=light] .console-scope .ut-filter-input,html[data-theme=light] .console-scope .ut-search,html[data-theme=light] .console-scope .ut-select{border-color:var(--border);background:var(--surface-1);color:var(--text)}html[data-theme=light] .console-scope .ut-btn{border-color:var(--border);background:var(--surface-1);color:var(--text-2)}html[data-theme=light] .console-scope .ut-btn:hover{color:var(--text);border-color:color-mix(in srgb,var(--accent) 30%,var(--border));box-shadow:var(--shadow-sm)}html[data-theme=light] .console-scope .ut-head-label{color:var(--text)}html[data-theme=light] .console-scope .ut-filter-dropdown{border-color:var(--border);background:var(--surface-1);box-shadow:var(--shadow-2)}html[data-theme=light] .console-scope .ut-filter-dropdown-search{border-color:var(--border);background:var(--surface-1);color:var(--text)}html[data-theme=light] .console-scope .ut-filter-option{color:var(--text)}html[data-theme=light] .console-scope .ut-filter-option:hover{background:color-mix(in srgb,var(--accent) 10%,transparent)}html[data-theme=light] .console-scope .ut-filter-dropdown-actions button{border-color:var(--border);background:var(--surface-2);color:var(--text)}html[data-theme=light] .console-scope .ut-group-row td{background:color-mix(in srgb,var(--accent) 12%,var(--surface-1))!important;color:var(--text)!important}html[data-theme=light] .console-scope .console-content table,html[data-theme=light] .console-scope .ut-enhanced-table{border:1px solid color-mix(in srgb,var(--accent) 22%,var(--border))!important;background:var(--surface-1)!important;box-shadow:var(--shadow-sm)!important}html[data-theme=light] .console-scope .console-content table thead th,html[data-theme=light] .console-scope .ut-enhanced-table thead th{background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 12%,var(--surface-1)),color-mix(in srgb,var(--accent) 5%,var(--surface-1)))!important;color:var(--text)!important;border-bottom:1px solid color-mix(in srgb,var(--accent) 25%,var(--border))!important}html[data-theme=light] .console-scope .console-content table tbody td,html[data-theme=light] .console-scope .ut-enhanced-table tbody td{color:var(--text)!important;border-bottom:1px solid color-mix(in srgb,var(--border) 82%,transparent)!important}html[data-theme=light] .console-scope .console-content table tbody tr:nth-child(odd) td,html[data-theme=light] .console-scope .ut-enhanced-table tbody tr:nth-child(odd) td{background:color-mix(in srgb,var(--surface-1) 96%,transparent)!important}html[data-theme=light] .console-scope .console-content table tbody tr:nth-child(2n) td,html[data-theme=light] .console-scope .ut-enhanced-table tbody tr:nth-child(2n) td{background:color-mix(in srgb,var(--surface-2) 92%,var(--surface-1))!important}html[data-theme=light] .console-scope .console-content table tbody tr:hover td,html[data-theme=light] .console-scope .ut-enhanced-table tbody tr:hover td{background:color-mix(in srgb,var(--accent) 10%,var(--surface-1))!important}html[data-theme=light] .console-scope .ut-enhanced-table tbody tr.ut-row-selected td{background:color-mix(in srgb,var(--accent) 16%,var(--surface-1))!important;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 35%,transparent)}html[data-theme=light] .console-scope .ut-context-menu{border-color:var(--border);background:var(--surface-1);box-shadow:var(--shadow-2)}html[data-theme=light] .console-scope .ut-context-menu button{color:var(--text-2)}html[data-theme=light] .console-scope .ut-context-menu button:hover{color:var(--text);background:color-mix(in srgb,var(--accent) 10%,transparent)}html[data-theme=light] .console-scope .flow-editor-fullscreen,html[data-theme=light] .console-scope .flow-layout{background:#f4f7fc;color:#0f172a}html[data-theme=light] .console-scope .flow-header,html[data-theme=light] .console-scope .flow-left-sidebar,html[data-theme=light] .console-scope .flow-mobile-nodes-row,html[data-theme=light] .console-scope .flow-mobile-toolbar,html[data-theme=light] .console-scope .flow-mobile-topbar,html[data-theme=light] .console-scope .flow-notation-sidebar,html[data-theme=light] .console-scope .flow-right-sidebar{background:#fff;border-color:#d6deea}html[data-theme=light] .console-scope .flow-breadcrumb,html[data-theme=light] .console-scope .flow-mobile-title,html[data-theme=light] .console-scope .flow-workflow-name{color:#0f172a}html[data-theme=light] .console-scope .flow-tabs{background:#eaf0f8}html[data-theme=light] .console-scope .flow-tab{color:#334155}html[data-theme=light] .console-scope .flow-tab-active{background:#fff;color:#0f172a;box-shadow:0 1px 4px rgba(15,23,42,.12)}html[data-theme=light] .console-scope .flow-canvas-ctrl-btn,html[data-theme=light] .console-scope .flow-sidebar-btn{color:#334155}html[data-theme=light] .console-scope .flow-canvas{background-color:#f5f8fc}html[data-theme=light] .console-scope .flow-builder-canvas-area{background:#f8fbff;border-color:#d6deea;box-shadow:0 10px 24px rgba(15,23,42,.08)}html[data-theme=light] .console-scope .flow-node{background:linear-gradient(180deg,#fff,#f7faff);border-color:#c8d4e5;box-shadow:0 6px 16px rgba(15,23,42,.08)}html[data-theme=light] .console-scope .flow-node-chip,html[data-theme=light] .console-scope .flow-node-id,html[data-theme=light] .console-scope .flow-node-path,html[data-theme=light] .console-scope .flow-node-result-mini,html[data-theme=light] .console-scope .flow-node-user-title{color:#0f172a}html[data-theme=light] .console-scope .flow-node-method,html[data-theme=light] .console-scope .flow-node-path{font-size:.74rem}html[data-theme=light] .console-scope .flow-node-chip{border-color:#ced8e6;background:#f1f5fb}html[data-theme=light] .console-scope .flow-canvas-controls,html[data-theme=light] .console-scope .flow-canvas-extended-controls,html[data-theme=light] .console-scope .flow-minimap{background:#fff;border-color:#d6deea;box-shadow:0 8px 20px rgba(15,23,42,.1)}html[data-theme=light] .console-scope{--text-2:rgba(15,23,42,.82);--text-3:rgba(51,65,85,.78)}html[data-theme=light] .console-scope .card,html[data-theme=light] .console-scope .dashboard-hero,html[data-theme=light] .console-scope .dashboard-kpi-card,html[data-theme=light] .console-scope .dashboard-panel{background:#fff!important;border-color:rgba(15,23,42,.12)!important;box-shadow:0 8px 22px rgba(15,23,42,.06)!important}html[data-theme=light] .console-scope .card:before,html[data-theme=light] .console-scope .dashboard-hero:after{opacity:.2!important}html[data-theme=light] .console-scope .dash-greeting-text,html[data-theme=light] .console-scope .dash-link-small,html[data-theme=light] .console-scope .eco-flow-count,html[data-theme=light] .console-scope .eco-flow-name,html[data-theme=light] .console-scope .eco-metric-extra,html[data-theme=light] .console-scope .eco-metric-label,html[data-theme=light] .console-scope .eco-metric-value,html[data-theme=light] .console-scope .eco-panel-title,html[data-theme=light] .console-scope .eco-platform-card-bottom,html[data-theme=light] .console-scope .eco-platform-name,html[data-theme=light] .console-scope .eco-subsection-label,html[data-theme=light] .console-scope .eco-vendor-name,html[data-theme=light] .console-scope .eco-vendor-score,html[data-theme=light] .console-scope .page-title{text-shadow:none!important;color:var(--text)!important}html[data-theme=light] .console-scope .eco-health-chip,html[data-theme=light] .console-scope .eco-platform-card,html[data-theme=light] .console-scope .eco-progress-bar,html[data-theme=light] .console-scope .eco-vendor-bar-bg{background:#f7f9fd!important;border-color:rgba(15,23,42,.12)!important}html[data-theme=light] .console-scope .card table,html[data-theme=light] .console-scope .console-content table,html[data-theme=light] .console-scope .ut-enhanced-table{background:#fff!important;border:1px solid rgba(15,23,42,.14)!important}html[data-theme=light] .console-scope .card table thead th,html[data-theme=light] .console-scope .console-content table thead th,html[data-theme=light] .console-scope .ut-enhanced-table thead th{background:#eef3fb!important;color:#0f172a!important;border-bottom:1px solid rgba(15,23,42,.14)!important}html[data-theme=light] .console-scope .card table td,html[data-theme=light] .console-scope .card table th,html[data-theme=light] .console-scope .console-content table td,html[data-theme=light] .console-scope .console-content table th,html[data-theme=light] .console-scope .ut-enhanced-table td,html[data-theme=light] .console-scope .ut-enhanced-table th{color:#0f172a!important;border-bottom:1px solid rgba(15,23,42,.1)!important}html[data-theme=light] .console-scope .card table tbody tr:nth-child(odd) td,html[data-theme=light] .console-scope .console-content table tbody tr:nth-child(odd) td,html[data-theme=light] .console-scope .ut-enhanced-table tbody tr:nth-child(odd) td{background:#fff!important}html[data-theme=light] .console-scope .card table tbody tr:nth-child(2n) td,html[data-theme=light] .console-scope .console-content table tbody tr:nth-child(2n) td,html[data-theme=light] .console-scope .ut-enhanced-table tbody tr:nth-child(2n) td{background:#f8fbff!important}html[data-theme=light] .console-scope .card table tbody tr:hover td,html[data-theme=light] .console-scope .console-content table tbody tr:hover td,html[data-theme=light] .console-scope .ut-enhanced-table tbody tr:hover td{background:#edf4ff!important}html[data-theme=light] .console-scope,html[data-theme=light] .console-scope .app-content,html[data-theme=light] .console-scope .app-main,html[data-theme=light] .console-scope .app-shell{background:#f3f6fb!important;color:#0f172a!important}html[data-theme=light] .console-scope .app-nav-section,html[data-theme=light] .console-scope .app-sidebar,html[data-theme=light] .console-scope .app-topbar,html[data-theme=light] .console-scope .card,html[data-theme=light] .console-scope .dashboard-hero,html[data-theme=light] .console-scope .dashboard-kpi-card,html[data-theme=light] .console-scope .dashboard-panel{background:#fff!important;border-color:rgba(15,23,42,.14)!important;box-shadow:0 6px 18px rgba(15,23,42,.06)!important}html[data-theme=light] .console-scope .app-nav-link,html[data-theme=light] .console-scope .app-nav-section-title,html[data-theme=light] .console-scope .app-subtitle,html[data-theme=light] .console-scope .app-title,html[data-theme=light] .console-scope .dash-link-small,html[data-theme=light] .console-scope .eco-flow-count,html[data-theme=light] .console-scope .eco-flow-name,html[data-theme=light] .console-scope .eco-metric-extra,html[data-theme=light] .console-scope .eco-metric-label,html[data-theme=light] .console-scope .eco-metric-value,html[data-theme=light] .console-scope .eco-panel-title,html[data-theme=light] .console-scope .eco-platform-card-bottom,html[data-theme=light] .console-scope .eco-platform-name,html[data-theme=light] .console-scope .eco-subsection-label,html[data-theme=light] .console-scope .eco-vendor-name,html[data-theme=light] .console-scope .eco-vendor-score,html[data-theme=light] .console-scope .kpi-label,html[data-theme=light] .console-scope .kpi-value,html[data-theme=light] .console-scope .muted,html[data-theme=light] .console-scope .page-subtitle,html[data-theme=light] .console-scope .page-title{color:#0f172a!important;text-shadow:none!important}html[data-theme=light] .console-scope .app-nav-link,html[data-theme=light] .console-scope .btn,html[data-theme=light] .console-scope .chip,html[data-theme=light] .console-scope .input,html[data-theme=light] .console-scope select,html[data-theme=light] .console-scope textarea{background:#fff!important;color:#0b1220!important;border-color:rgba(15,23,42,.16)!important}html[data-theme=light] .console-scope .app-nav-link:hover,html[data-theme=light] .console-scope .btn:hover{background:#eef4ff!important;border-color:rgba(37,99,235,.35)!important}html[data-theme=light] .console-scope .app-nav-link-accent,html[data-theme=light] .console-scope .dash-quick-action-accent,html[data-theme=light] .console-scope .dashboard-kpi-icon,html[data-theme=light] .console-scope .flow-node-chip{background:#e7efff!important;color:#0b1220!important;border-color:rgba(37,99,235,.34)!important}html[data-theme=light] .console-scope .card table thead th,html[data-theme=light] .console-scope .console-content table thead th,html[data-theme=light] .console-scope .ut-enhanced-table thead th{background:#dfe9fb!important;color:#0b1220!important;font-weight:800!important}html[data-theme=light] .console-scope .card table tbody td,html[data-theme=light] .console-scope .console-content table tbody td,html[data-theme=light] .console-scope .ut-enhanced-table tbody td{color:#0b1220!important;font-weight:560!important}.console-topbar-task-badge{border-radius:999px;background:#ef4444;font-size:.56rem;pointer-events:none;box-shadow:0 0 6px rgba(239,68,68,.5)}.kanban-filters{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:6px 0}.kanban-filter-select{padding:5px 8px;border-radius:8px;border:1px solid var(--border);background:color-mix(in srgb,var(--surface-1) 82%,var(--bg) 18%);color:var(--text);font-size:.72rem;outline:none;cursor:pointer;transition:border-color .16s var(--ease-premium)}.kanban-filter-select:focus{border-color:var(--accent)}.kanban-filter-search{padding:5px 10px;border-radius:8px;border:1px solid var(--border);background:color-mix(in srgb,var(--surface-1) 82%,var(--bg) 18%);color:var(--text);font-size:.72rem;min-width:160px;outline:none;transition:border-color .16s var(--ease-premium)}.kanban-filter-search:focus{border-color:var(--accent)}.kanban-board{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:12px;gap:12px;min-height:400px}@media (max-width:1100px){.kanban-board{grid-template-columns:repeat(2,1fr)}}@media (max-width:600px){.kanban-board{grid-template-columns:1fr}}.kanban-column{background:linear-gradient(180deg,rgba(10,14,24,.65),rgba(6,9,16,.75));border:1px solid var(--border);border-radius:12px;padding:10px;min-height:300px;display:flex;flex-direction:column;gap:8px;transition:border-color .2s ease,background .2s ease,box-shadow .2s ease}html[data-theme=light] .kanban-column{background:linear-gradient(180deg,rgba(240,243,248,.85),rgba(230,234,242,.75))}.kanban-column-dragover{border-color:var(--accent);background:linear-gradient(180deg,rgba(0,245,255,.04),rgba(6,9,16,.75));box-shadow:inset 0 0 12px rgba(0,245,255,.12)}html[data-theme=light] .kanban-column-dragover{background:linear-gradient(180deg,rgba(0,120,255,.06),rgba(240,243,248,.85));box-shadow:inset 0 0 12px rgba(0,120,255,.1)}.kanban-column-head{display:flex;align-items:center;justify-content:space-between;padding:6px;border-bottom:1px solid var(--border);margin-bottom:2px}.kanban-column-title{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.kanban-column-count{font-size:.62rem;color:var(--text-3);background:color-mix(in srgb,var(--surface-2) 60%,transparent);border-radius:999px;padding:1px 7px;border:1px solid var(--border)}.kanban-column-add-btn{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:6px;border:1px solid var(--border);background:transparent;color:var(--text-3);cursor:pointer;transition:background .12s ease,color .12s ease}.kanban-column-add-btn:hover{background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent);border-color:var(--accent)}.kanban-column-body{flex:1 1;display:flex;flex-direction:column;gap:6px;overflow-y:auto;max-height:calc(100vh - 280px);scrollbar-width:thin}.kanban-empty{text-align:center;padding:24px 8px;color:var(--text-3);font-size:.7rem;font-style:italic}.kanban-card{position:relative;background:color-mix(in srgb,var(--surface-1) 78%,var(--bg) 22%);border:1px solid var(--border);border-radius:10px;padding:10px 10px 10px 16px;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,opacity .16s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none}html[data-theme=light] .kanban-card{background:hsla(0,0%,100%,.88)}.kanban-card:hover{border-color:var(--border-2);box-shadow:0 4px 12px rgba(0,0,0,.2);transform:translateY(-1px)}html[data-theme=light] .kanban-card:hover{box-shadow:0 4px 12px rgba(0,0,0,.08)}.kanban-card-dragging{opacity:.35;transform:scale(.96)}.kanban-card-priority-strip{position:absolute;left:0;top:8px;bottom:8px;width:3px;border-radius:0 2px 2px 0}.kanban-card-drag-hint{position:absolute;top:4px;right:4px;color:var(--text-3);opacity:0;transition:opacity .12s ease}.kanban-card:hover .kanban-card-drag-hint{opacity:.5}.kanban-card-title{font-size:.78rem;font-weight:550;margin-bottom:6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.4}.kanban-card-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:.64rem;color:var(--text-3)}.kanban-card-source-badge{font-size:.56rem;text-transform:uppercase;letter-spacing:.04em;padding:1px 5px;border-radius:4px;border:1px solid color-mix(in srgb,var(--accent) 30%,transparent);background:color-mix(in srgb,var(--accent) 8%,transparent);color:var(--accent)}.kanban-card-priority-pill{font-size:.56rem;padding:1px 5px;border-radius:4px;border:1px solid;background:transparent}.kanban-card-due{display:inline-flex;align-items:center;gap:3px;font-size:.62rem}.kanban-card-due-overdue{color:#ef4444;font-weight:600}.kanban-card-assignee{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--accent);font-size:.54rem;font-weight:700;margin-left:auto;flex-shrink:0}.kanban-card-tags{display:flex;gap:4px;flex-wrap:wrap;margin-top:4px}.kanban-card-tag{display:inline-flex;align-items:center;gap:3px;font-size:.54rem;padding:1px 5px;border-radius:4px;background:color-mix(in srgb,var(--surface-2) 70%,transparent);border:1px solid var(--border);color:var(--text-3)}.task-modal-overlay{position:fixed;inset:0;z-index:2000;background:rgba(0,0,0,.55);display:flex;align-items:flex-start;justify-content:flex-end;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}html[data-theme=light] .task-modal-overlay{background:rgba(0,0,0,.25)}.task-modal-panel{width:420px;max-width:92vw;height:100vh;background:var(--surface-1);border-left:1px solid var(--border);overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:14px;animation:task-modal-slide .2s ease}@keyframes task-modal-slide{0%{transform:translateX(100%)}to{transform:translateX(0)}}.task-modal-head{display:flex;align-items:center;justify-content:space-between;padding-bottom:10px;border-bottom:1px solid var(--border)}.task-modal-title{font-size:.9rem;font-weight:600}.task-modal-close{width:28px;height:28px;border-radius:8px;border:1px solid var(--border);background:transparent;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-2);transition:background .16s ease,color .16s ease}.task-modal-close:hover{background:color-mix(in srgb,var(--surface-2) 65%,transparent);color:var(--text)}.task-form-field{display:grid;grid-gap:4px;gap:4px}.task-form-label{font-size:.72rem;font-weight:550;color:var(--text-2)}.task-form-actions{display:flex;align-items:center;gap:8px;margin-top:8px;padding-top:12px;border-top:1px solid var(--border)}@keyframes kanban-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.kanban-filters .spin,.page-header .spin{animation:kanban-spin .8s linear infinite}.pm-page{display:flex;flex-direction:column;gap:16px;padding:0;min-height:calc(100vh - 120px)}.pm-page-header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.pm-page-header-left{display:flex;align-items:center;gap:10px}.pm-page-title{font-size:1.15rem;font-weight:700;color:var(--text);display:flex;align-items:center;gap:8px}.pm-page-title svg{color:var(--accent)}.pm-page-subtitle{font-size:.78rem;color:var(--text-2)}.pm-page-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.pm-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:60px 20px;text-align:center;color:var(--text-2)}.pm-empty-state svg{opacity:.3;color:var(--accent)}.pm-empty-state-title{font-size:1rem;font-weight:600;color:var(--text)}.pm-empty-state-desc{font-size:.82rem;max-width:400px;line-height:1.5}.pm-loading{display:flex;align-items:center;justify-content:center;padding:60px 20px}@keyframes pm-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.pm-loading svg{animation:pm-spin .8s linear infinite;color:var(--accent)}.pm-badge{display:inline-flex;align-items:center;gap:4px;font-size:.68rem;font-weight:600;padding:2px 8px;border-radius:999px;border:1px solid transparent;white-space:nowrap}.pm-badge-accent{background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent);border-color:color-mix(in srgb,var(--accent) 25%,transparent)}.pm-badge-green{background:rgba(39,174,96,.12);color:#27ae60;border-color:rgba(39,174,96,.25)}.pm-badge-orange{background:rgba(242,153,74,.12);color:#f2994a;border-color:rgba(242,153,74,.25)}.pm-badge-red{background:rgba(235,87,87,.12);color:#eb5757;border-color:rgba(235,87,87,.25)}.pm-badge-purple{background:rgba(155,81,224,.12);color:#9b51e0;border-color:rgba(155,81,224,.25)}.pm-badge-gray{background:color-mix(in srgb,var(--text) 8%,transparent);color:var(--text-2);border-color:var(--border)}.pm-tabs{display:flex;gap:2px;background:color-mix(in srgb,var(--text) 4%,transparent);border-radius:10px;padding:3px;width:-moz-fit-content;width:fit-content}.pm-tab{display:flex;align-items:center;gap:6px;padding:6px 14px;font-size:.78rem;font-weight:500;border:none;border-radius:8px;background:none;cursor:pointer;color:var(--text-2);transition:background .12s ease,color .12s ease;white-space:nowrap}.pm-tab:hover{background:color-mix(in srgb,var(--text) 6%,transparent);color:var(--text)}.pm-tab-active{background:var(--surface-1);color:var(--text);box-shadow:0 1px 4px rgba(0,0,0,.12);font-weight:600}html[data-theme=light] .pm-tab-active{background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.08)}.pm-filter-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.pm-filter-select{height:32px;padding:0 10px;font-size:.75rem;border:1px solid var(--border);border-radius:8px;background:var(--surface-1);color:var(--text);cursor:pointer;outline:none;transition:border-color .16s ease;min-width:120px}.pm-filter-select:focus{border-color:var(--accent)}.pm-filter-search{height:32px;padding:0 10px;font-size:.75rem;border:1px solid var(--border);border-radius:8px;background:var(--surface-1);color:var(--text);outline:none;min-width:180px;transition:border-color .16s ease}.pm-filter-search:focus{border-color:var(--accent)}.pm-filter-search::placeholder{color:var(--text-3)}.pm-project-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));grid-gap:14px;gap:14px}@media (max-width:700px){.pm-project-list{grid-template-columns:1fr}}.pm-project-card{background:linear-gradient(180deg,rgba(10,14,24,.7),rgba(6,9,16,.82));border:1px solid var(--border);border-radius:14px;padding:16px;display:flex;flex-direction:column;gap:10px;cursor:pointer;transition:transform .2s cubic-bezier(.2,.8,.2,1),border-color .2s cubic-bezier(.2,.8,.2,1),box-shadow .2s cubic-bezier(.2,.8,.2,1);position:relative;overflow:hidden}html[data-theme=light] .pm-project-card{background:linear-gradient(180deg,hsla(0,0%,100%,.9),rgba(245,247,250,.95))}.pm-project-card:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;border-radius:14px 0 0 14px}.pm-project-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--accent) 35%,transparent);box-shadow:0 8px 24px rgba(0,0,0,.15)}.pm-project-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.pm-project-card-icon{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:.9rem}.pm-project-card-info{flex:1 1;min-width:0}.pm-project-card-name{font-size:.9rem;font-weight:650;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pm-project-card-desc{font-size:.75rem;color:var(--text-2);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.4;margin-top:2px}.pm-project-card-status{font-size:.68rem;font-weight:600;padding:2px 8px;border-radius:6px;text-transform:uppercase;letter-spacing:.04em}.pm-project-card-stats{display:flex;align-items:center;gap:14px;padding-top:8px;border-top:1px solid var(--border)}.pm-project-card-stat{display:flex;align-items:center;gap:4px;font-size:.72rem;color:var(--text-2)}.pm-project-card-stat svg{width:13px;height:13px}.pm-project-card-progress{height:3px;border-radius:2px;background:color-mix(in srgb,var(--text) 8%,transparent);overflow:hidden}.pm-project-card-progress-bar{height:100%;border-radius:2px;background:var(--accent);transition:width .4s cubic-bezier(.2,.8,.2,1)}.pm-project-card-avatar,.pm-project-card-members{display:flex;align-items:center}.pm-project-card-avatar{width:24px;height:24px;border-radius:50%;justify-content:center;font-size:.6rem;font-weight:700;color:#fff;margin-left:-6px;border:2px solid var(--bg)}.pm-project-card-avatar:first-child{margin-left:0}.pm-project-card-more-members{font-size:.68rem;color:var(--text-3);margin-left:4px}.pm-new-project-overlay{position:fixed;inset:0;background:rgba(0,0,0,.65);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:1000;display:flex;align-items:center;justify-content:center;animation:pm-fade-in .2s ease}html[data-theme=light] .pm-new-project-overlay{background:rgba(0,0,0,.35)}@keyframes pm-fade-in{0%{opacity:0}to{opacity:1}}.pm-new-project-modal{background:var(--surface-1);border:1px solid var(--border);border-radius:16px;width:90%;max-width:540px;max-height:85vh;overflow-y:auto;padding:24px;display:flex;flex-direction:column;gap:16px;animation:pm-slide-up .25s cubic-bezier(.2,.8,.2,1);box-shadow:0 20px 60px rgba(0,0,0,.35)}@keyframes pm-slide-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.pm-modal-header{display:flex;align-items:center;justify-content:space-between}.pm-modal-title{font-size:1rem;font-weight:700}.pm-modal-close{width:30px;height:30px;border-radius:8px;border:1px solid var(--border);background:transparent;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-2);transition:background .12s ease,color .12s ease}.pm-modal-close:hover{background:color-mix(in srgb,var(--surface-2) 65%,transparent);color:var(--text)}.pm-form-field{display:flex;flex-direction:column;gap:5px}.pm-form-label{font-size:.74rem;font-weight:600;color:var(--text-2)}.pm-form-input{height:38px;padding:0 12px;font-size:.82rem;border:1px solid var(--border);border-radius:10px;background:var(--bg);color:var(--text);outline:none;transition:border-color .16s ease}.pm-form-input:focus{border-color:var(--accent)}.pm-form-textarea{padding:10px 12px;font-size:.82rem;border:1px solid var(--border);border-radius:10px;background:var(--bg);color:var(--text);outline:none;resize:vertical;min-height:80px;font-family:inherit;transition:border-color .16s ease}.pm-form-textarea:focus{border-color:var(--accent)}.pm-form-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}@media (max-width:500px){.pm-form-row{grid-template-columns:1fr}}.pm-form-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding-top:12px;border-top:1px solid var(--border)}.pm-color-picker{display:flex;gap:6px;flex-wrap:wrap}.pm-color-swatch{width:24px;height:24px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:transform .12s ease,border-color .12s ease}.pm-color-swatch:hover{transform:scale(1.15)}.pm-color-swatch-active{border-color:#fff;box-shadow:0 0 0 2px var(--accent)}.pm-template-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));grid-gap:8px;gap:8px}.pm-template-card{padding:10px;border:1px solid var(--border);border-radius:10px;background:var(--bg);cursor:pointer;text-align:center;transition:border-color .16s ease,background .16s ease}.pm-template-card-active,.pm-template-card:hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 6%,transparent)}.pm-template-card-name{font-size:.78rem;font-weight:600;color:var(--text)}.pm-template-card-desc{font-size:.68rem;color:var(--text-2);margin-top:2px}.pm-dashboard{display:flex;flex-direction:column;gap:16px}.pm-dashboard-header{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.pm-dashboard-project-icon{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.1rem}.pm-dashboard-project-info{flex:1 1;min-width:0}.pm-dashboard-project-name{font-size:1.1rem;font-weight:700;color:var(--text)}.pm-dashboard-project-desc{font-size:.78rem;color:var(--text-2)}.pm-stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));grid-gap:12px;gap:12px}.pm-stat-card{background:linear-gradient(180deg,rgba(10,14,24,.6),rgba(6,9,16,.72));border:1px solid var(--border);border-radius:12px;padding:14px;display:flex;flex-direction:column;gap:6px}html[data-theme=light] .pm-stat-card{background:linear-gradient(180deg,hsla(0,0%,100%,.9),rgba(248,249,252,.95))}.pm-stat-card-label{font-size:.7rem;font-weight:500;color:var(--text-2);text-transform:uppercase;letter-spacing:.04em}.pm-stat-card-value{font-size:1.5rem;font-weight:700;color:var(--text);line-height:1}.pm-stat-card-sub{font-size:.68rem;color:var(--text-3)}.pm-stat-card-icon{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;margin-bottom:4px}.pm-dashboard-grid{display:grid;grid-template-columns:2fr 1fr;grid-gap:14px;gap:14px}@media (max-width:900px){.pm-dashboard-grid{grid-template-columns:1fr}}.pm-dashboard-section{background:linear-gradient(180deg,rgba(10,14,24,.55),rgba(6,9,16,.68));border:1px solid var(--border);border-radius:14px;padding:16px;display:flex;flex-direction:column;gap:10px}html[data-theme=light] .pm-dashboard-section{background:linear-gradient(180deg,hsla(0,0%,100%,.88),rgba(248,249,252,.92))}.pm-dashboard-section-title{font-size:.82rem;font-weight:700;color:var(--text);display:flex;align-items:center;gap:6px}.pm-dashboard-section-title svg{width:15px;height:15px;color:var(--accent)}.pm-board{display:grid;grid-gap:10px;gap:10px;min-height:400px}.pm-board-dynamic-cols{grid-auto-columns:minmax(260px,1fr);grid-auto-flow:column;overflow-x:auto;padding-bottom:8px}.pm-board-column{background:linear-gradient(180deg,rgba(10,14,24,.55),rgba(6,9,16,.68));border:1px solid var(--border);border-radius:12px;padding:10px;min-height:300px;min-width:260px;max-width:360px;display:flex;flex-direction:column;gap:6px;transition:border-color .2s ease,box-shadow .2s ease}html[data-theme=light] .pm-board-column{background:linear-gradient(180deg,rgba(240,243,248,.85),rgba(230,234,242,.78))}.pm-board-column-dragover{border-color:var(--accent);box-shadow:inset 0 0 14px rgba(0,245,255,.1)}html[data-theme=light] .pm-board-column-dragover{box-shadow:inset 0 0 14px rgba(0,120,255,.08)}.pm-board-column-head{display:flex;align-items:center;justify-content:space-between;padding:4px 4px 8px;border-bottom:2px solid transparent;margin-bottom:2px}.pm-board-column-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.pm-board-column-title{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;flex:1 1;margin-left:8px}.pm-board-column-count{font-size:.62rem;color:var(--text-3);background:color-mix(in srgb,var(--surface-2) 55%,transparent);border-radius:999px;padding:1px 7px;border:1px solid var(--border)}.pm-board-column-body{flex:1 1;display:flex;flex-direction:column;gap:6px;overflow-y:auto;max-height:calc(100vh - 300px);scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--text) 15%,transparent) transparent}.pm-board-card{background:var(--surface-1);border:1px solid var(--border);border-radius:10px;padding:10px;cursor:-webkit-grab;cursor:grab;transition:transform .16s cubic-bezier(.2,.8,.2,1),box-shadow .16s cubic-bezier(.2,.8,.2,1),border-color .16s cubic-bezier(.2,.8,.2,1),opacity .16s ease;position:relative;overflow:hidden}.pm-board-card:before{content:"";position:absolute;top:0;left:0;width:3px;height:100%;border-radius:10px 0 0 10px}.pm-board-card:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--accent) 30%,transparent);box-shadow:0 4px 12px rgba(0,0,0,.12)}.pm-board-card-dragging{opacity:.35;transform:scale(.96)}.pm-board-card-key{font-size:.66rem;font-weight:600;color:var(--text-3);font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.pm-board-card-title{font-size:.8rem;font-weight:600;color:var(--text);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.35;margin:2px 0}.pm-board-card-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:6px}.pm-board-card-labels{display:flex;gap:3px;flex-wrap:wrap}.pm-board-card-label{width:18px;height:4px;border-radius:2px}.pm-board-card-points{font-size:.62rem;font-weight:700;color:var(--text-3);background:color-mix(in srgb,var(--accent) 10%,transparent);border-radius:4px;padding:1px 5px}.pm-board-card-due{font-size:.65rem;color:var(--text-3);display:flex;align-items:center;gap:3px}.pm-board-card-due svg{width:11px;height:11px}.pm-board-card-due-overdue{color:#eb5757;font-weight:600}.pm-board-card-assignee{width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.58rem;font-weight:700;color:#fff;margin-left:auto;flex-shrink:0}.pm-board-card-footer{display:flex;align-items:center;justify-content:space-between;margin-top:6px}.pm-board-card-icons{display:flex;align-items:center;gap:6px;color:var(--text-3);font-size:.62rem}.pm-board-card-icons span{display:flex;align-items:center;gap:2px}.pm-board-card-icons svg{width:12px;height:12px}.pm-priority-low:before{background:#888}.pm-priority-medium:before{background:var(--accent)}.pm-priority-high:before{background:#f2994a}.pm-priority-critical:before{background:#eb5757}.pm-board-add-card{display:flex;align-items:center;gap:6px;padding:6px 8px;border-radius:8px;border:1px dashed var(--border);background:transparent;cursor:pointer;color:var(--text-3);font-size:.74rem;transition:border-color .12s ease,color .12s ease,background .12s ease;width:100%}.pm-board-add-card:hover{border-color:var(--accent);color:var(--accent);background:color-mix(in srgb,var(--accent) 5%,transparent)}.pm-board-add-card svg{width:14px;height:14px}.pm-list-view{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:12px;overflow:hidden}.pm-list-header{display:grid;grid-template-columns:40px 3fr 1fr 1fr 1fr 1fr 60px;grid-gap:8px;gap:8px;padding:8px 12px;background:color-mix(in srgb,var(--text) 4%,transparent);font-size:.68rem;font-weight:700;color:var(--text-2);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border);align-items:center}@media (max-width:900px){.pm-list-header{grid-template-columns:40px 2fr 1fr 1fr 60px}.pm-list-header>:nth-child(4),.pm-list-header>:nth-child(6){display:none}}.pm-list-row{display:grid;grid-template-columns:40px 3fr 1fr 1fr 1fr 1fr 60px;grid-gap:8px;gap:8px;padding:8px 12px;align-items:center;border-bottom:1px solid color-mix(in srgb,var(--border) 50%,transparent);transition:background .12s ease;cursor:pointer;font-size:.78rem}@media (max-width:900px){.pm-list-row{grid-template-columns:40px 2fr 1fr 1fr 60px}.pm-list-row>:nth-child(4),.pm-list-row>:nth-child(6){display:none}}.pm-list-row:last-child{border-bottom:none}.pm-list-row:hover{background:color-mix(in srgb,var(--accent) 4%,transparent)}.pm-list-row-checkbox{width:16px;height:16px;border-radius:4px;accent-color:var(--accent);cursor:pointer}.pm-list-row-title{display:flex;flex-direction:column;gap:1px;min-width:0}.pm-list-row-title-text{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pm-list-row-key{font-size:.65rem;color:var(--text-3);font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.pm-list-row-status{display:inline-flex;align-items:center;gap:4px;font-size:.72rem;font-weight:600}.pm-list-row-status-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.pm-list-row-actions{display:flex;align-items:center;gap:4px}.pm-list-row-actions button{width:26px;height:26px;border-radius:6px;border:none;background:transparent;cursor:pointer;color:var(--text-3);display:flex;align-items:center;justify-content:center;transition:background .1s ease,color .1s ease}.pm-list-row-actions button:hover{background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent)}.pm-list-row-subtask{padding-left:30px}.pm-list-row-subtask .pm-list-row-title-text{font-size:.76rem}.pm-list-group-header{display:flex;align-items:center;gap:8px;padding:8px 12px;background:color-mix(in srgb,var(--text) 3%,transparent);border-bottom:1px solid var(--border);font-size:.76rem;font-weight:700;cursor:pointer;color:var(--text)}.pm-list-group-header svg{width:14px;height:14px;color:var(--text-2);transition:transform .2s ease}.pm-list-group-header-collapsed svg{transform:rotate(-90deg)}.pm-calendar{display:flex;flex-direction:column;gap:0;border:1px solid var(--border);border-radius:12px;overflow:hidden}.pm-calendar-nav{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:color-mix(in srgb,var(--text) 3%,transparent);border-bottom:1px solid var(--border)}.pm-calendar-nav-title{font-size:.88rem;font-weight:700}.pm-calendar-nav-btns{display:flex;gap:4px}.pm-calendar-nav-btn{width:28px;height:28px;border-radius:6px;border:1px solid var(--border);background:transparent;cursor:pointer;color:var(--text-2);display:flex;align-items:center;justify-content:center;transition:background .1s ease,color .1s ease}.pm-calendar-nav-btn:hover{background:var(--surface-1);color:var(--text)}.pm-calendar-weekdays{text-align:center;font-size:.68rem;font-weight:700;color:var(--text-2);padding:6px 0;border-bottom:1px solid var(--border);text-transform:uppercase;letter-spacing:.05em}.pm-calendar-grid,.pm-calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr)}.pm-calendar-grid{grid-template-rows:repeat(6,minmax(80px,1fr))}@media (max-width:700px){.pm-calendar-grid{grid-template-rows:repeat(6,minmax(50px,1fr))}}.pm-calendar-cell{border-right:1px solid color-mix(in srgb,var(--border) 50%,transparent);border-bottom:1px solid color-mix(in srgb,var(--border) 50%,transparent);padding:4px;min-height:80px;display:flex;flex-direction:column;gap:2px;overflow:hidden}.pm-calendar-cell:nth-child(7n){border-right:none}.pm-calendar-cell-other-month{opacity:.35}.pm-calendar-cell-today{background:color-mix(in srgb,var(--accent) 5%,transparent)}.pm-calendar-cell-day{font-size:.7rem;font-weight:600;color:var(--text-2);padding:1px 4px}.pm-calendar-cell-today .pm-calendar-cell-day{color:var(--accent);font-weight:700}.pm-calendar-task{font-size:.64rem;padding:2px 5px;border-radius:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;transition:opacity .12s ease;font-weight:500}.pm-calendar-task:hover{opacity:.8}.pm-calendar-more{font-size:.62rem;color:var(--text-3);padding:1px 4px;cursor:pointer}.pm-calendar-more:hover{color:var(--accent)}.pm-gantt{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:12px;overflow:hidden}.pm-gantt-controls{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:color-mix(in srgb,var(--text) 3%,transparent);border-bottom:1px solid var(--border);flex-wrap:wrap;gap:8px}.pm-gantt-zoom{display:flex;gap:2px}.pm-gantt-zoom-btn{padding:4px 10px;font-size:.7rem;font-weight:600;border:1px solid var(--border);border-radius:6px;background:transparent;cursor:pointer;color:var(--text-2);transition:background .1s ease,color .1s ease}.pm-gantt-zoom-btn-active{background:var(--accent);color:#fff;border-color:var(--accent)}.pm-gantt-body{display:flex;overflow:auto;max-height:calc(100vh - 280px)}.pm-gantt-sidebar{flex-shrink:0;width:240px;border-right:1px solid var(--border);display:flex;flex-direction:column}.pm-gantt-sidebar-header{padding:8px 10px;font-size:.7rem;font-weight:700;color:var(--text-2);border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--text) 2%,transparent)}.pm-gantt-sidebar-row{display:flex;align-items:center;gap:6px;padding:6px 10px;border-bottom:1px solid color-mix(in srgb,var(--border) 50%,transparent);font-size:.74rem;min-height:32px}.pm-gantt-sidebar-row-expand{width:16px;height:16px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-3);border:none;background:none;padding:0}.pm-gantt-sidebar-row-name{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.pm-gantt-chart{flex:1 1;position:relative;overflow:auto;min-width:0}.pm-gantt-chart svg{display:block}.pm-gantt-header-row{fill:none;stroke:color-mix(in srgb,var(--border) 50%,transparent);stroke-width:1}.pm-gantt-grid-line{stroke:color-mix(in srgb,var(--border) 30%,transparent);stroke-width:.5}.pm-gantt-today-line{stroke:var(--accent);stroke-width:1.5;stroke-dasharray:4 3;opacity:.7}.pm-gantt-bar{rx:4;ry:4;cursor:pointer;transition:opacity .12s ease}.pm-gantt-bar:hover{opacity:.8;filter:brightness(1.1)}.pm-gantt-bar-progress{rx:4;ry:4;opacity:.3}.pm-gantt-bar-label{font-size:10px;fill:var(--text);pointer-events:none}.pm-gantt-milestone{cursor:pointer;transition:opacity .12s ease}.pm-gantt-milestone:hover{opacity:.8}.pm-gantt-dependency-line{stroke:var(--text-3);stroke-width:1;fill:none;marker-end:url(#gantt-arrow)}.pm-gantt-header-text{font-size:10px;fill:var(--text-2);text-anchor:middle;dominant-baseline:middle}.pm-sprint-list{display:flex;flex-direction:column;gap:12px}.pm-sprint-card{background:linear-gradient(180deg,rgba(10,14,24,.55),rgba(6,9,16,.68));border:1px solid var(--border);border-radius:12px;overflow:hidden}html[data-theme=light] .pm-sprint-card{background:linear-gradient(180deg,hsla(0,0%,100%,.88),rgba(248,249,252,.92))}.pm-sprint-card-head{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--border);gap:10px;flex-wrap:wrap}.pm-sprint-card-head-left{display:flex;align-items:center;gap:8px}.pm-sprint-card-name{font-size:.88rem;font-weight:700;color:var(--text)}.pm-sprint-card-dates{font-size:.7rem;color:var(--text-2)}.pm-sprint-card-stats{display:flex;gap:12px;font-size:.72rem;color:var(--text-2)}.pm-sprint-card-stat-val{font-weight:700;color:var(--text)}.pm-sprint-card-body{padding:10px}.pm-sprint-card-progress{display:flex;align-items:center;gap:8px;padding:0 14px 10px}.pm-sprint-card-progress-bar-wrap{flex:1 1;height:4px;border-radius:2px;background:color-mix(in srgb,var(--text) 8%,transparent);overflow:hidden}.pm-sprint-card-progress-bar-fill{height:100%;border-radius:2px;background:var(--accent);transition:width .4s cubic-bezier(.2,.8,.2,1)}.pm-sprint-card-progress-text{font-size:.68rem;font-weight:700;color:var(--text-2);min-width:30px;text-align:right}.pm-backlog{display:flex;flex-direction:column;gap:6px;border:1px solid var(--border);border-radius:12px;padding:10px;min-height:200px}.pm-backlog-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:8px;border-bottom:1px solid var(--border)}.pm-backlog-title{font-size:.82rem;font-weight:700}.pm-backlog-count{font-size:.68rem;color:var(--text-3)}.pm-backlog-item{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:8px;border:1px solid transparent;cursor:-webkit-grab;cursor:grab;transition:background .1s ease,border-color .1s ease;font-size:.78rem}.pm-backlog-item:hover{background:color-mix(in srgb,var(--text) 4%,transparent);border-color:var(--border)}.pm-backlog-item-dragging{opacity:.35}.pm-backlog-item-key{font-size:.65rem;color:var(--text-3);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;min-width:55px}.pm-backlog-item-title{flex:1 1;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pm-backlog-drop-zone{padding:20px;border:2px dashed var(--border);border-radius:10px;text-align:center;font-size:.75rem;color:var(--text-3);transition:border-color .2s ease,background .2s ease}.pm-backlog-drop-zone-active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 5%,transparent);color:var(--accent)}.pm-task-detail-overlay{position:fixed;inset:0;background:rgba(0,0,0,.55);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;animation:pm-fade-in .15s ease}html[data-theme=light] .pm-task-detail-overlay{background:rgba(0,0,0,.25)}.pm-task-detail-panel{position:fixed;top:0;right:0;width:500px;max-width:90vw;height:100vh;background:var(--surface-1);border-left:1px solid var(--border);z-index:1001;display:flex;flex-direction:column;animation:pm-slide-in-right .25s cubic-bezier(.2,.8,.2,1);overflow:hidden}@keyframes pm-slide-in-right{0%{transform:translateX(100%)}to{transform:translateX(0)}}.pm-task-detail-header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--border);gap:8px;flex-shrink:0}.pm-task-detail-key{font-size:.72rem;font-weight:600;color:var(--text-3);font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.pm-task-detail-header-actions{display:flex;align-items:center;gap:6px}.pm-task-detail-header-btn{width:30px;height:30px;border-radius:8px;border:1px solid var(--border);background:transparent;cursor:pointer;color:var(--text-2);display:flex;align-items:center;justify-content:center;transition:background .1s ease,color .1s ease}.pm-task-detail-header-btn:hover{background:color-mix(in srgb,var(--surface-2) 65%,transparent);color:var(--text)}.pm-task-detail-body{flex:1 1;overflow-y:auto;padding:18px;display:flex;flex-direction:column;gap:16px;scrollbar-width:thin}.pm-task-detail-title-input{width:100%;font-size:1.05rem;font-weight:700;border:none;background:transparent;color:var(--text);outline:none;padding:0;font-family:inherit}.pm-task-detail-title-input::placeholder{color:var(--text-3)}.pm-task-detail-desc{font-size:.82rem;color:var(--text-2);line-height:1.55;min-height:60px}.pm-task-detail-desc-input{width:100%;font-size:.82rem;border:1px solid var(--border);border-radius:10px;background:var(--bg);color:var(--text);padding:10px 12px;outline:none;resize:vertical;min-height:80px;font-family:inherit;line-height:1.55;transition:border-color .16s ease}.pm-task-detail-desc-input:focus{border-color:var(--accent)}.pm-task-detail-fields{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}@media (max-width:500px){.pm-task-detail-fields{grid-template-columns:1fr}}.pm-task-detail-field{display:flex;flex-direction:column;gap:4px}.pm-task-detail-field-label{font-size:.68rem;font-weight:600;color:var(--text-3);text-transform:uppercase;letter-spacing:.04em}.pm-task-detail-field-value{font-size:.8rem;color:var(--text)}.pm-task-detail-section{display:flex;flex-direction:column;gap:8px}.pm-task-detail-section-header{display:flex;align-items:center;justify-content:space-between;font-size:.78rem;font-weight:700;color:var(--text)}.pm-task-detail-section-header svg{width:14px;height:14px}.pm-task-detail-section-add{display:inline-flex;align-items:center;gap:4px;font-size:.72rem;color:var(--accent);background:none;border:none;cursor:pointer;padding:0;transition:opacity .12s ease}.pm-task-detail-section-add:hover{opacity:.7}.pm-task-detail-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 18px;border-top:1px solid var(--border);flex-shrink:0}.pm-comments{display:flex;flex-direction:column;gap:10px}.pm-comment{display:flex;gap:8px}.pm-comment-avatar{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.62rem;font-weight:700;color:#fff;flex-shrink:0}.pm-comment-body{flex:1 1;min-width:0}.pm-comment-head{display:flex;align-items:center;gap:6px;margin-bottom:2px}.pm-comment-author{font-size:.76rem;font-weight:650;color:var(--text)}.pm-comment-time{font-size:.65rem;color:var(--text-3)}.pm-comment-edited{font-size:.6rem;color:var(--text-3);font-style:italic}.pm-comment-text{font-size:.8rem;color:var(--text);line-height:1.5;white-space:pre-wrap;word-wrap:break-word}.pm-comment-actions{display:flex;align-items:center;gap:8px;margin-top:4px}.pm-comment-action-btn{font-size:.65rem;color:var(--text-3);background:none;border:none;cursor:pointer;padding:0;transition:color .1s ease}.pm-comment-action-btn:hover{color:var(--accent)}.pm-comment-reactions{display:flex;gap:4px;margin-top:4px}.pm-comment-reaction{display:inline-flex;align-items:center;gap:3px;padding:2px 6px;border-radius:12px;border:1px solid var(--border);font-size:.65rem;cursor:pointer;transition:background .1s ease,border-color .1s ease;background:transparent}.pm-comment-reaction:hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,transparent)}.pm-comment-reaction-active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent)}.pm-comment-reaction-count{font-weight:600;color:var(--text-2)}.pm-comment-input-wrap{display:flex;gap:8px;align-items:flex-start}.pm-comment-input{flex:1 1;padding:8px 12px;font-size:.8rem;border:1px solid var(--border);border-radius:10px;background:var(--bg);color:var(--text);outline:none;resize:none;min-height:36px;font-family:inherit;transition:border-color .16s ease}.pm-comment-input:focus{border-color:var(--accent)}.pm-comment-send-btn{width:36px;height:36px;border-radius:10px;border:none;background:var(--accent);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:opacity .12s ease;flex-shrink:0}.pm-comment-send-btn:hover{opacity:.85}.pm-comment-send-btn:disabled{opacity:.4;cursor:not-allowed}.pm-comment-replies{margin-left:36px;padding-left:10px;border-left:2px solid color-mix(in srgb,var(--border) 60%,transparent);gap:8px;margin-top:6px}.pm-checklist,.pm-comment-replies{display:flex;flex-direction:column}.pm-checklist{gap:4px}.pm-checklist-item{display:flex;align-items:center;gap:8px;padding:4px 0;font-size:.78rem;cursor:default}.pm-checklist-item-checkbox{width:16px;height:16px;border-radius:4px;accent-color:var(--accent);cursor:pointer;flex-shrink:0}.pm-checklist-item-text{flex:1 1;color:var(--text);transition:opacity .2s ease}.pm-checklist-item-checked .pm-checklist-item-text{text-decoration:line-through;opacity:.5}.pm-checklist-item-delete{width:20px;height:20px;border-radius:4px;border:none;background:transparent;cursor:pointer;color:var(--text-3);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .1s ease,color .1s ease}.pm-checklist-item:hover .pm-checklist-item-delete{opacity:1}.pm-checklist-item-delete:hover{color:#eb5757}.pm-checklist-add{display:flex;gap:6px;margin-top:4px}.pm-checklist-add-input{flex:1 1;height:32px;padding:0 10px;font-size:.76rem;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--text);outline:none;transition:border-color .16s ease}.pm-checklist-add-input:focus{border-color:var(--accent)}.pm-checklist-progress{display:flex;align-items:center;gap:8px;font-size:.68rem;color:var(--text-2)}.pm-checklist-progress-bar{flex:1 1;height:3px;border-radius:2px;background:color-mix(in srgb,var(--text) 8%,transparent);overflow:hidden}.pm-checklist-progress-fill{height:100%;border-radius:2px;background:var(--accent);transition:width .3s ease}.pm-time-tracker{display:flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid var(--border);border-radius:10px;background:color-mix(in srgb,var(--text) 2%,transparent)}.pm-time-tracker-display{font-size:1.1rem;font-weight:700;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--text);min-width:80px}.pm-time-tracker-running .pm-time-tracker-display{color:var(--accent)}@keyframes pm-pulse{0%,to{opacity:1}50%{opacity:.4}}.pm-time-tracker-running .pm-time-tracker-dot{width:8px;height:8px;border-radius:50%;background:#eb5757;animation:pm-pulse 1.5s ease-in-out infinite}.pm-time-tracker-btn{width:32px;height:32px;border-radius:8px;border:1px solid var(--border);background:transparent;cursor:pointer;color:var(--text-2);display:flex;align-items:center;justify-content:center;transition:background .1s ease,color .1s ease}.pm-time-tracker-btn:hover{background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent)}.pm-time-tracker-start{background:var(--accent);color:#fff;border-color:transparent}.pm-time-tracker-start:hover{background:color-mix(in srgb,var(--accent) 85%,#000);color:#fff}.pm-time-tracker-stop{background:#eb5757;color:#fff;border-color:transparent}.pm-time-tracker-stop:hover{background:#d04444;color:#fff}.pm-time-log-list{display:flex;flex-direction:column;gap:4px}.pm-time-log-entry{display:flex;align-items:center;gap:8px;padding:5px 0;font-size:.75rem;color:var(--text-2);border-bottom:1px solid color-mix(in srgb,var(--border) 40%,transparent)}.pm-time-log-entry:last-child{border-bottom:none}.pm-time-log-duration{font-weight:700;color:var(--text);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;min-width:50px}.pm-time-log-desc{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pm-time-log-date{font-size:.68rem;color:var(--text-3)}.pm-file-uploader{border:2px dashed var(--border);border-radius:12px;padding:24px;text-align:center;cursor:pointer;transition:border-color .2s ease,background .2s ease;color:var(--text-2)}.pm-file-uploader:hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 4%,transparent)}.pm-file-uploader-active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,transparent);color:var(--accent)}.pm-file-uploader-icon{margin-bottom:8px}.pm-file-uploader-text{font-size:.82rem;font-weight:500}.pm-file-uploader-hint{font-size:.7rem;color:var(--text-3);margin-top:4px}.pm-file-list{display:flex;flex-direction:column;gap:4px}.pm-file-item{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:8px;border:1px solid var(--border);font-size:.76rem;transition:background .1s ease}.pm-file-item:hover{background:color-mix(in srgb,var(--text) 3%,transparent)}.pm-file-item-icon{width:28px;height:28px;border-radius:6px;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--accent) 10%,transparent);color:var(--accent);flex-shrink:0}.pm-file-item-info{flex:1 1;min-width:0}.pm-file-item-name{font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pm-file-item-meta{font-size:.65rem;color:var(--text-3)}.pm-file-item-actions{display:flex;gap:4px}.pm-file-item-action{width:24px;height:24px;border-radius:6px;border:none;background:transparent;cursor:pointer;color:var(--text-3);display:flex;align-items:center;justify-content:center;transition:background .1s ease,color .1s ease}.pm-file-item-action:hover{background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent)}.pm-wiki{display:grid;grid-template-columns:220px 1fr;grid-gap:14px;gap:14px;min-height:500px}@media (max-width:800px){.pm-wiki{grid-template-columns:1fr}}.pm-wiki-sidebar{display:flex;flex-direction:column;gap:4px;border-right:1px solid var(--border);padding-right:14px}@media (max-width:800px){.pm-wiki-sidebar{border-right:none;padding-right:0;border-bottom:1px solid var(--border);padding-bottom:10px}}.pm-wiki-sidebar-item{display:flex;align-items:center;gap:6px;padding:6px 8px;border-radius:8px;font-size:.78rem;cursor:pointer;color:var(--text-2);transition:background .1s ease,color .1s ease}.pm-wiki-sidebar-item:hover{background:color-mix(in srgb,var(--text) 5%,transparent);color:var(--text)}.pm-wiki-sidebar-item-active{background:color-mix(in srgb,var(--accent) 10%,transparent);color:var(--accent);font-weight:600}.pm-wiki-sidebar-item-indent{padding-left:24px}.pm-wiki-content{display:flex;flex-direction:column;gap:12px}.pm-wiki-title-input{font-size:1.3rem;font-weight:700;border:none;background:transparent;padding:0;width:100%}.pm-wiki-editor,.pm-wiki-title-input{color:var(--text);outline:none;font-family:inherit}.pm-wiki-editor{min-height:400px;border:1px solid var(--border);border-radius:10px;padding:14px;font-size:.85rem;line-height:1.65;background:var(--bg);overflow-y:auto}.pm-wiki-editor:focus{border-color:var(--accent)}.pm-wiki-toolbar{display:flex;gap:2px;padding:4px;background:color-mix(in srgb,var(--text) 3%,transparent);border-radius:8px;flex-wrap:wrap}.pm-wiki-toolbar-btn{width:28px;height:28px;border-radius:6px;border:none;background:transparent;cursor:pointer;color:var(--text-2);display:flex;align-items:center;justify-content:center;transition:background .1s ease,color .1s ease}.pm-wiki-toolbar-btn:hover{background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent)}.pm-wiki-toolbar-btn-active{background:var(--accent);color:#fff}.pm-wiki-meta{display:flex;align-items:center;gap:12px;font-size:.7rem;color:var(--text-3)}.pm-reports{display:flex;flex-direction:column;gap:16px}.pm-report-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));grid-gap:14px;gap:14px}@media (max-width:900px){.pm-report-grid{grid-template-columns:1fr}}.pm-report-card{background:linear-gradient(180deg,rgba(10,14,24,.55),rgba(6,9,16,.68));border:1px solid var(--border);border-radius:14px;padding:16px;display:flex;flex-direction:column;gap:12px}html[data-theme=light] .pm-report-card{background:linear-gradient(180deg,hsla(0,0%,100%,.88),rgba(248,249,252,.92))}.pm-report-card-title{font-size:.82rem;font-weight:700;color:var(--text);display:flex;align-items:center;gap:6px}.pm-report-card-title svg{width:15px;height:15px;color:var(--accent)}.pm-report-chart-wrap{position:relative;width:100%;min-height:200px}.pm-report-chart-wrap svg{width:100%;height:auto}.pm-burndown-line{fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.pm-burndown-ideal{stroke:var(--text-3);stroke-dasharray:5 4}.pm-burndown-actual{stroke:var(--accent)}.pm-burndown-area{opacity:.08}.pm-chart-axis{stroke:var(--border);stroke-width:1}.pm-chart-axis-text{font-size:10px;fill:var(--text-3)}.pm-chart-grid{stroke:color-mix(in srgb,var(--border) 40%,transparent);stroke-width:.5}.pm-chart-tooltip{position:absolute;background:var(--surface-1);border:1px solid var(--border);border-radius:8px;padding:6px 10px;font-size:.72rem;box-shadow:0 4px 12px rgba(0,0,0,.2);pointer-events:none;z-index:10;white-space:nowrap}.pm-velocity-bar{rx:4;ry:4;transition:opacity .12s ease}.pm-velocity-bar:hover{opacity:.8}.pm-velocity-bar-committed{fill:color-mix(in srgb,var(--accent) 40%,transparent)}.pm-velocity-bar-completed{fill:var(--accent)}.pm-workload{display:flex;flex-direction:column;gap:12px}.pm-workload-grid{display:grid;grid-template-columns:160px repeat(auto-fill,minmax(60px,1fr));grid-gap:2px;gap:2px;font-size:.72rem}.pm-workload-header{font-weight:700;color:var(--text-2);text-align:center;padding:6px 4px}.pm-workload-name{display:flex;align-items:center;gap:6px;padding:6px 8px;font-weight:500}.pm-workload-cell{border-radius:6px;padding:6px 4px;text-align:center;font-weight:600;transition:transform .12s ease;cursor:default}.pm-workload-cell:hover{transform:scale(1.05)}.pm-workload-cell-light{background:rgba(39,174,96,.12);color:#27ae60}.pm-workload-cell-medium{background:rgba(242,153,74,.15);color:#f2994a}.pm-workload-cell-heavy{background:rgba(235,87,87,.15);color:#eb5757}.pm-workload-cell-over{background:rgba(235,87,87,.25);color:#eb5757;font-weight:800}.pm-workload-legend{display:flex;align-items:center;gap:12px;font-size:.68rem;color:var(--text-2);justify-content:flex-end}.pm-workload-legend-item{display:flex;align-items:center;gap:4px}.pm-workload-legend-swatch{width:12px;height:12px;border-radius:3px}.pm-automation{display:flex;flex-direction:column;gap:10px}.pm-automation-rule{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--border);border-radius:10px;background:var(--surface-1);transition:border-color .16s ease}.pm-automation-rule:hover{border-color:color-mix(in srgb,var(--accent) 30%,transparent)}.pm-automation-rule-icon{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--accent) 10%,transparent);color:var(--accent);flex-shrink:0}.pm-automation-rule-info{flex:1 1;min-width:0}.pm-automation-rule-name{font-size:.82rem;font-weight:650;color:var(--text)}.pm-automation-rule-desc{font-size:.72rem;color:var(--text-2);margin-top:1px}.pm-automation-rule-toggle{position:relative;width:36px;height:20px;border-radius:10px;border:none;cursor:pointer;background:color-mix(in srgb,var(--text) 15%,transparent);transition:background .2s ease;flex-shrink:0}.pm-automation-rule-toggle:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .2s cubic-bezier(.2,.8,.2,1)}.pm-automation-rule-toggle-active{background:var(--accent)}.pm-automation-rule-toggle-active:after{transform:translateX(16px)}.pm-automation-editor{display:flex;flex-direction:column;gap:14px;padding:16px;border:1px solid var(--border);border-radius:12px;background:var(--bg)}.pm-automation-step{display:flex;align-items:flex-start;gap:10px}.pm-automation-step-label{font-size:.72rem;font-weight:700;color:var(--text-2);text-transform:uppercase;min-width:60px;padding-top:8px}.pm-automation-step-content{flex:1 1}.pm-notification-center{display:flex;flex-direction:column;gap:0;border:1px solid var(--border);border-radius:12px;overflow:hidden}.pm-notification-center-header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:color-mix(in srgb,var(--text) 3%,transparent);border-bottom:1px solid var(--border)}.pm-notification-center-title{font-size:.82rem;font-weight:700}.pm-notification-center-mark-all{font-size:.72rem;color:var(--accent);background:none;border:none;cursor:pointer;transition:opacity .12s ease}.pm-notification-center-mark-all:hover{opacity:.7}.pm-notification-item{display:flex;gap:10px;padding:10px 14px;border-bottom:1px solid color-mix(in srgb,var(--border) 50%,transparent);cursor:pointer;transition:background .1s ease}.pm-notification-item:last-child{border-bottom:none}.pm-notification-item:hover{background:color-mix(in srgb,var(--text) 3%,transparent)}.pm-notification-item-unread{background:color-mix(in srgb,var(--accent) 4%,transparent)}.pm-notification-item-icon{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:.8rem}.pm-notification-item-body{flex:1 1;min-width:0}.pm-notification-item-title{font-size:.78rem;font-weight:600;color:var(--text)}.pm-notification-item-desc{font-size:.72rem;color:var(--text-2);margin-top:1px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pm-notification-item-time{font-size:.65rem;color:var(--text-3);white-space:nowrap;flex-shrink:0;align-self:flex-start}.pm-notification-item-dot{width:6px;height:6px;border-radius:50%;background:var(--accent);flex-shrink:0;align-self:center}.pm-export-dialog{width:90%;max-width:440px;background:var(--surface-1);border:1px solid var(--border);border-radius:14px;padding:20px;display:flex;flex-direction:column;gap:14px;animation:pm-slide-up .2s cubic-bezier(.2,.8,.2,1)}.pm-export-options{display:flex;flex-direction:column;gap:6px}.pm-export-option{display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:10px;border:1px solid var(--border);cursor:pointer;transition:border-color .16s ease,background .16s ease}.pm-export-option:hover{border-color:color-mix(in srgb,var(--accent) 40%,transparent);background:color-mix(in srgb,var(--accent) 4%,transparent)}.pm-export-option-active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,transparent)}.pm-export-option-icon{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--accent) 10%,transparent);color:var(--accent)}.pm-export-option-name{font-size:.82rem;font-weight:600;color:var(--text)}.pm-export-option-desc{font-size:.68rem;color:var(--text-2)}.pm-member-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));grid-gap:10px;gap:10px}.pm-member-card{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--border);border-radius:10px;transition:border-color .16s ease}.pm-member-card:hover{border-color:color-mix(in srgb,var(--accent) 30%,transparent)}.pm-member-avatar{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:700;color:#fff;flex-shrink:0}.pm-member-info{flex:1 1;min-width:0}.pm-member-name{font-size:.82rem;font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pm-member-email{font-size:.68rem;color:var(--text-3)}.pm-member-role{font-size:.68rem;font-weight:600;padding:2px 8px;border-radius:999px}.pm-label-list{display:flex;flex-wrap:wrap;gap:6px}.pm-label-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:999px;font-size:.72rem;font-weight:600;cursor:default}.pm-label-badge-dot{width:7px;height:7px;border-radius:50%}.pm-priority-badge{display:inline-flex;align-items:center;gap:4px;font-size:.68rem;font-weight:600;padding:2px 8px;border-radius:6px}.pm-priority-badge-low{background:color-mix(in srgb,var(--text) 8%,transparent);color:var(--text-2)}.pm-priority-badge-medium{background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent)}.pm-priority-badge-high{background:rgba(242,153,74,.12);color:#f2994a}.pm-priority-badge-critical{background:rgba(235,87,87,.12);color:#eb5757}.pm-dependency-badge{display:inline-flex;align-items:center;gap:4px;font-size:.65rem;font-weight:600;padding:2px 7px;border-radius:4px;border:1px solid}.pm-dependency-badge-blocks{background:rgba(235,87,87,.08);color:#eb5757;border-color:rgba(235,87,87,.2)}.pm-dependency-badge-blocked-by{background:rgba(242,153,74,.08);color:#f2994a;border-color:rgba(242,153,74,.2)}.pm-dependency-badge-relates-to{background:color-mix(in srgb,var(--accent) 8%,transparent);color:var(--accent);border-color:color-mix(in srgb,var(--accent) 20%,transparent)}.pm-activity-log{display:flex;flex-direction:column;gap:0}.pm-activity-item{display:flex;gap:10px;padding:8px 0;border-bottom:1px solid color-mix(in srgb,var(--border) 40%,transparent);font-size:.76rem}.pm-activity-item:last-child{border-bottom:none}.pm-activity-dot-wrap{display:flex;flex-direction:column;align-items:center;width:20px;flex-shrink:0}.pm-activity-dot{width:8px;height:8px;border-radius:50%;background:var(--accent);flex-shrink:0;margin-top:4px}.pm-activity-line{width:1px;flex:1 1;background:color-mix(in srgb,var(--border) 50%,transparent);margin-top:4px}.pm-activity-content{flex:1 1;min-width:0}.pm-activity-text{color:var(--text-2);line-height:1.4}.pm-activity-text strong{color:var(--text);font-weight:600}.pm-activity-time{font-size:.65rem;color:var(--text-3);margin-top:2px}.pm-activity-change{display:flex;align-items:center;gap:6px;margin-top:3px;font-size:.7rem}.pm-activity-change-old{color:var(--text-3);text-decoration:line-through}.pm-activity-change-arrow{color:var(--text-3)}.pm-activity-change-new{color:var(--text);font-weight:600}.pm-epic-list{display:flex;flex-direction:column;gap:8px}.pm-epic-card{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--border);border-radius:10px;cursor:pointer;transition:border-color .16s ease,background .1s ease}.pm-epic-card:hover{border-color:color-mix(in srgb,var(--accent) 30%,transparent);background:color-mix(in srgb,var(--text) 2%,transparent)}.pm-epic-color{width:4px;height:32px;border-radius:2px;flex-shrink:0}.pm-epic-info{flex:1 1;min-width:0}.pm-epic-name{font-size:.82rem;font-weight:650;color:var(--text)}.pm-epic-desc{font-size:.7rem;color:var(--text-2);margin-top:1px}.pm-epic-task-count{font-size:.68rem;color:var(--text-3)}.pm-milestone-list{display:flex;flex-direction:column;gap:8px}.pm-milestone-card{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--border);border-radius:10px;transition:border-color .16s ease}.pm-milestone-card:hover{border-color:color-mix(in srgb,var(--accent) 30%,transparent)}.pm-milestone-icon{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.pm-milestone-info{flex:1 1;min-width:0}.pm-milestone-name{font-size:.82rem;font-weight:650;color:var(--text)}.pm-milestone-date{font-size:.7rem;color:var(--text-2)}.pm-milestone-status{font-size:.68rem;font-weight:600;padding:2px 8px;border-radius:6px}.pm-settings{gap:20px;max-width:680px}.pm-settings,.pm-settings-section{display:flex;flex-direction:column}.pm-settings-section{gap:12px}.pm-settings-section-title{font-size:.88rem;font-weight:700;color:var(--text);padding-bottom:6px;border-bottom:1px solid var(--border)}.pm-settings-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0}.pm-settings-row-label{font-size:.8rem;font-weight:500;color:var(--text)}.pm-settings-row-desc{font-size:.7rem;color:var(--text-2)}.pm-settings-danger-zone{border:1px solid rgba(235,87,87,.3);border-radius:12px;padding:14px;background:rgba(235,87,87,.04)}.pm-settings-danger-zone-title{font-size:.82rem;font-weight:700;color:#eb5757;margin-bottom:8px}.console-topbar-task-badge{position:absolute;top:-4px;right:-4px;min-width:16px;height:16px;border-radius:8px;background:#eb5757;color:#fff;font-size:.58rem;font-weight:700;display:flex;align-items:center;justify-content:center;padding:0 4px;line-height:1;border:2px solid var(--bg)}.console-topbar-pm-badge{position:absolute;top:-3px;right:-3px;width:8px;height:8px;border-radius:50%;background:var(--accent);border:1.5px solid var(--bg)}.app-switcher-wrap{position:relative}.app-switcher-overlay{position:fixed;inset:0;z-index:998}.app-switcher-popup{position:absolute;right:0;top:calc(100% + 8px);width:380px;background:var(--surface-1);border:1px solid var(--border);border-radius:var(--r-3);box-shadow:var(--shadow-3);z-index:999;animation:app-switcher-in .15s var(--ease-premium)}@keyframes app-switcher-in{0%{opacity:0;transform:translateY(-6px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.app-switcher-header{display:flex;align-items:center;justify-content:space-between;padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--border)}.app-switcher-title{font-size:.82rem;font-weight:600;color:var(--text)}.app-switcher-close{background:none;border:none;padding:4px;border-radius:var(--r-1);color:var(--text-3);cursor:pointer;display:flex;align-items:center;justify-content:center}.app-switcher-close:hover{background:var(--surface-2);color:var(--text)}.app-switcher-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:var(--sp-2);gap:var(--sp-2);padding:var(--sp-3) var(--sp-3)}.app-switcher-card{display:flex;flex-direction:column;align-items:center;gap:6px;padding:var(--sp-2) var(--sp-1);border-radius:var(--r-2);text-decoration:none;cursor:pointer;transition:background var(--dur-1) var(--ease-premium),transform var(--dur-1) var(--ease-premium)}.app-switcher-card:hover{background:var(--surface-2);transform:scale(1.05)}.app-switcher-card-icon{width:44px;height:44px;border-radius:var(--r-2);display:flex;align-items:center;justify-content:center;font-size:.78rem;font-weight:700;color:#fff;letter-spacing:.02em;box-shadow:0 2px 6px color-mix(in srgb,currentColor 20%,transparent)}.app-switcher-card-label{font-size:.7rem;font-weight:500;color:var(--text-2);text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:72px}.app-switcher-card:hover .app-switcher-card-label{color:var(--text)}.app-switcher-footer{display:flex;align-items:center;justify-content:center;gap:var(--sp-3);padding:var(--sp-2) var(--sp-3);border-top:1px solid var(--border)}.app-switcher-footer-link{font-size:.72rem;color:var(--text-3);text-decoration:none;padding:4px 8px;border-radius:var(--r-1);transition:color var(--dur-1),background var(--dur-1)}.app-switcher-footer-link:hover{color:var(--text);background:var(--surface-2)}.console-topbar-icon-btn-active{color:var(--accent)!important;background:var(--accent-soft)!important}@media (max-width:768px){.pm-page-header{flex-direction:column;align-items:flex-start}.pm-page-actions,.pm-tabs{width:100%}.pm-tabs{overflow-x:auto;scrollbar-width:none}.pm-tabs::-webkit-scrollbar{display:none}.pm-filter-bar{flex-direction:column;align-items:stretch}.pm-filter-search,.pm-filter-select{width:100%;min-width:0}.pm-stats-grid{grid-template-columns:repeat(2,1fr)}.pm-task-detail-panel{width:100vw}.pm-member-list,.pm-task-detail-fields{grid-template-columns:1fr}.pm-gantt-sidebar{width:160px}}@media (max-width:480px){.pm-project-list,.pm-stats-grid{grid-template-columns:1fr}.pm-gantt-sidebar{display:none}.app-switcher-popup{width:calc(100vw - 32px);right:-8px}.app-switcher-grid{grid-template-columns:repeat(3,1fr)}}.pm-scrollbar-thin{scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--text) 12%,transparent) transparent}.pm-scrollbar-thin::-webkit-scrollbar{width:6px;height:6px}.pm-scrollbar-thin::-webkit-scrollbar-track{background:transparent}.pm-scrollbar-thin::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--text) 15%,transparent);border-radius:3px}.pm-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pm-line-clamp-2{-webkit-line-clamp:2}.pm-line-clamp-2,.pm-line-clamp-3{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}.pm-line-clamp-3{-webkit-line-clamp:3}html[data-theme=light] .pm-project-card:before{opacity:1}html[data-theme=light] .pm-report-card,html[data-theme=light] .pm-stat-card{box-shadow:0 1px 4px rgba(0,0,0,.04)}html[data-theme=light] .pm-board-card{background:#fff;border-color:rgba(0,0,0,.08)}html[data-theme=light] .pm-board-card:hover{box-shadow:0 4px 12px rgba(0,0,0,.08)}html[data-theme=light] .pm-task-detail-panel{box-shadow:-4px 0 20px rgba(0,0,0,.08)}html[data-theme=light] .pm-sprint-card{box-shadow:0 1px 4px rgba(0,0,0,.04)}html[data-theme=light] .pm-automation-rule{background:#fff}html[data-theme=light] .pm-notification-item-unread{background:color-mix(in srgb,var(--accent) 6%,transparent)}html[data-theme=light] .pm-file-item{background:#fff}html[data-theme=light] .pm-comment-reaction{background:rgba(0,0,0,.03)}html[data-theme=light] .pm-wiki-editor{background:#fff}html[data-theme=light] .pm-gantt-bar-label{fill:var(--text)}html[data-theme=light] .pm-workload-cell-light{background:rgba(39,174,96,.08)}html[data-theme=light] .pm-workload-cell-medium{background:rgba(242,153,74,.1)}html[data-theme=light] .pm-workload-cell-heavy{background:rgba(235,87,87,.1)}html[data-theme=light] .pm-workload-cell-over{background:rgba(235,87,87,.18)}html[data-theme=light] .pm-export-dialog,html[data-theme=light] .pm-new-project-modal{box-shadow:0 20px 60px rgba(0,0,0,.15)}html[data-theme=light] .console-topbar-pm-badge,html[data-theme=light] .console-topbar-task-badge{border-color:#fff}