@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.vue-flow{z-index:0;direction:ltr;width:100%;height:100%;position:relative;overflow:hidden}.vue-flow__container{width:100%;height:100%;position:absolute;top:0;left:0}.vue-flow__pane{z-index:1}.vue-flow__pane.draggable{cursor:grab}.vue-flow__pane.selection{cursor:pointer}.vue-flow__pane.dragging{cursor:grabbing}.vue-flow__transformationpane{transform-origin:0 0;z-index:2;pointer-events:none}.vue-flow__viewport{z-index:4;overflow:clip}.vue-flow__selection{z-index:6}.vue-flow__edge-labels{pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute}.vue-flow__nodesselection-rect:focus,.vue-flow__nodesselection-rect:focus-visible{outline:none}.vue-flow .vue-flow__edges{pointer-events:none;overflow:visible}.vue-flow__edge-path,.vue-flow__connection-path{stroke:#b1b1b7;stroke-width:1px;fill:none}.vue-flow__edge{pointer-events:visibleStroke;cursor:pointer}.vue-flow__edge.animated path{stroke-dasharray:5;animation:.5s linear infinite dashdraw}.vue-flow__edge.animated path.vue-flow__edge-interaction{stroke-dasharray:none;animation:none}.vue-flow__edge.inactive{pointer-events:none}.vue-flow__edge.selected,.vue-flow__edge:focus,.vue-flow__edge:focus-visible{outline:none}.vue-flow__edge.selected .vue-flow__edge-path,.vue-flow__edge:focus .vue-flow__edge-path,.vue-flow__edge:focus-visible .vue-flow__edge-path{stroke:#555}.vue-flow__edge-textwrapper{pointer-events:all}.vue-flow__edge-text{pointer-events:none;-webkit-user-select:none;user-select:none}.vue-flow__connection{pointer-events:none}.vue-flow__connection .animated{stroke-dasharray:5;animation:.5s linear infinite dashdraw}.vue-flow__connectionline{z-index:1001}.vue-flow__nodes{pointer-events:none;transform-origin:0 0}.vue-flow__node{-webkit-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default;position:absolute}.vue-flow__node.draggable{cursor:grab;pointer-events:all}.vue-flow__node.draggable.dragging{cursor:grabbing}.vue-flow__nodesselection{z-index:3;transform-origin:0 0;pointer-events:none}.vue-flow__nodesselection-rect{pointer-events:all;cursor:grab;position:absolute}.vue-flow__nodesselection-rect.dragging{cursor:grabbing}.vue-flow__handle{pointer-events:none;min-width:5px;min-height:5px;position:absolute}.vue-flow__handle.connectable{pointer-events:all;cursor:crosshair}.vue-flow__handle-bottom{bottom:0;left:50%;transform:translate(-50%,50%)}.vue-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.vue-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.vue-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.vue-flow__edgeupdater{cursor:move;pointer-events:all}.vue-flow__panel{z-index:5;margin:15px;position:absolute}.vue-flow__panel.top{top:0}.vue-flow__panel.bottom{bottom:0}.vue-flow__panel.left{left:0}.vue-flow__panel.right{right:0}.vue-flow__panel.center{left:50%;transform:translate(-50%)}@keyframes dashdraw{0%{stroke-dashoffset:10px}}:root{--vf-node-bg:#fff;--vf-node-text:#222;--vf-connection-path:#b1b1b7;--vf-handle:#555}.vue-flow__edge.updating .vue-flow__edge-path{stroke:#777}.vue-flow__edge-text{font-size:10px}.vue-flow__edge-textbg{fill:#fff}.vue-flow__connection-path{stroke:var(--vf-connection-path)}.vue-flow__node{cursor:grab}.vue-flow__node.selectable:focus,.vue-flow__node.selectable:focus-visible{outline:none}.vue-flow__node-default,.vue-flow__node-input,.vue-flow__node-output{text-align:center;width:150px;color:var(--vf-node-text);background-color:var(--vf-node-bg);border-style:solid;border-width:1px;border-color:var(--vf-node-color);border-radius:3px;padding:10px;font-size:12px}.vue-flow__node-default.selected,.vue-flow__node-default.selected:hover,.vue-flow__node-input.selected,.vue-flow__node-input.selected:hover,.vue-flow__node-output.selected,.vue-flow__node-output.selected:hover{box-shadow:0 0 0 .5px var(--vf-box-shadow)}.vue-flow__node-default.selected,.vue-flow__node-default:focus,.vue-flow__node-default:focus-visible,.vue-flow__node-input.selected,.vue-flow__node-input:focus,.vue-flow__node-input:focus-visible,.vue-flow__node-output.selected,.vue-flow__node-output:focus,.vue-flow__node-output:focus-visible{border:1px solid #555;outline:none}.vue-flow__node-default .vue-flow__handle,.vue-flow__node-input .vue-flow__handle,.vue-flow__node-output .vue-flow__handle{background:var(--vf-handle)}.vue-flow__node-default.selectable:hover,.vue-flow__node-input.selectable:hover,.vue-flow__node-output.selectable:hover{box-shadow:0 1px 4px 1px #00000014}.vue-flow__node-input{--vf-node-color:var(--vf-node-color,#0041d0);--vf-handle:var(--vf-node-color,#0041d0);--vf-box-shadow:var(--vf-node-color,#0041d0);background:var(--vf-node-bg);border-color:var(--vf-node-color,#0041d0)}.vue-flow__node-input.selected,.vue-flow__node-input:focus,.vue-flow__node-input:focus-visible{border:1px solid var(--vf-node-color,#0041d0);outline:none}.vue-flow__node-default{--vf-handle:var(--vf-node-color,#1a192b);--vf-box-shadow:var(--vf-node-color,#1a192b);background:var(--vf-node-bg);border-color:var(--vf-node-color,#1a192b)}.vue-flow__node-default.selected,.vue-flow__node-default:focus,.vue-flow__node-default:focus-visible{border:1px solid var(--vf-node-color,#1a192b);outline:none}.vue-flow__node-output{--vf-handle:var(--vf-node-color,#ff0072);--vf-box-shadow:var(--vf-node-color,#ff0072);background:var(--vf-node-bg);border-color:var(--vf-node-color,#ff0072)}.vue-flow__node-output.selected,.vue-flow__node-output:focus,.vue-flow__node-output:focus-visible{border:1px solid var(--vf-node-color,#ff0072);outline:none}.vue-flow__nodesselection-rect,.vue-flow__selection{background:#0059dc14;border:1px dotted #0059dccc}.vue-flow__nodesselection-rect:focus,.vue-flow__nodesselection-rect:focus-visible,.vue-flow__selection:focus,.vue-flow__selection:focus-visible{outline:none}.vue-flow__handle{background:var(--vf-handle);border:1px solid #fff;border-radius:100%;width:6px;height:6px}.vue-flow__controls{box-shadow:0 0 2px 1px #00000014}.vue-flow__controls-button{box-sizing:content-box;cursor:pointer;-webkit-user-select:none;user-select:none;background:#fefefe;border:none;border-bottom:1px solid #eee;justify-content:center;align-items:center;width:16px;height:16px;padding:5px;display:flex}.vue-flow__controls-button svg{width:100%;max-width:12px;max-height:12px}.vue-flow__controls-button:hover{background:#f4f4f4}.vue-flow__controls-button:disabled{pointer-events:none}.vue-flow__controls-button:disabled svg{fill-opacity:.4}.vue-flow__minimap{background-color:#fff}.vue-flow__minimap.pannable{cursor:grab}.vue-flow__minimap.dragging{cursor:grabbing}.vue-flow__minimap-mask.pannable{cursor:grab}:root{--ff-brand-50:#eef2ff;--ff-brand-100:#e0e7ff;--ff-brand-200:#c7d2fe;--ff-brand-300:#a5b4fc;--ff-brand-500:#6366f1;--ff-brand-600:#4f46e5;--ff-brand-700:#4338ca;--ff-brand-800:#3730a3;--ff-brand-900:#1e1b4b;--ff-gray-0:#fff;--ff-gray-25:#fbfbfd;--ff-gray-50:#f6f7fb;--ff-gray-100:#eef0f5;--ff-gray-150:#e6e8ef;--ff-gray-200:#dde1ea;--ff-gray-300:#c7ccd8;--ff-gray-400:#9aa1b2;--ff-gray-500:#6b7280;--ff-gray-600:#4b5563;--ff-gray-700:#374151;--ff-gray-800:#1f2937;--ff-gray-900:#111827;--ff-success-50:#ecfdf5;--ff-success-500:#10b981;--ff-success-700:#047857;--ff-warning-50:#fffbeb;--ff-warning-500:#f59e0b;--ff-warning-700:#b45309;--ff-danger-50:#fef2f2;--ff-danger-500:#ef4444;--ff-danger-700:#b91c1c;--ff-info-50:#eff6ff;--ff-info-500:#3b82f6;--ff-info-700:#1d4ed8;--ff-node-start:#10b981;--ff-node-form:#0ea5e9;--ff-node-approval:#8b5cf6;--ff-node-decision:#f59e0b;--ff-node-userTask:#3b82f6;--ff-node-email:#ec4899;--ff-node-notification:#f97316;--ff-node-delay:#14b8a6;--ff-node-end:#64748b;--ff-bg:var(--ff-gray-50);--ff-surface:var(--ff-gray-0);--ff-surface-muted:var(--ff-gray-25);--ff-surface-sunken:var(--ff-gray-100);--ff-border:var(--ff-gray-150);--ff-border-strong:var(--ff-gray-200);--ff-text:var(--ff-gray-900);--ff-text-secondary:var(--ff-gray-600);--ff-text-muted:var(--ff-gray-500);--ff-text-inverse:#fff;--ff-focus:0 0 0 3px #6366f159;--ff-font:"Inter Variable", "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--ff-font-mono:ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;--ff-fs-xs:.75rem;--ff-fs-sm:.8125rem;--ff-fs-md:.875rem;--ff-fs-lg:1rem;--ff-fs-xl:1.25rem;--ff-fs-2xl:1.5rem;--ff-fs-3xl:1.875rem;--ff-fw-regular:400;--ff-fw-medium:500;--ff-fw-semibold:600;--ff-fw-bold:700;--ff-lh-tight:1.25;--ff-lh-normal:1.5;--ff-sp-0:0;--ff-sp-1:4px;--ff-sp-2:8px;--ff-sp-3:12px;--ff-sp-4:16px;--ff-sp-5:20px;--ff-sp-6:24px;--ff-sp-8:32px;--ff-sp-10:40px;--ff-sp-12:48px;--ff-r-xs:4px;--ff-r-sm:6px;--ff-r-md:8px;--ff-r-lg:12px;--ff-r-xl:16px;--ff-r-full:999px;--ff-shadow-xs:0 1px 2px #1018280d;--ff-shadow-sm:0 1px 3px #10182814, 0 1px 2px #1018280a;--ff-shadow-md:0 6px 16px -4px #1018281a, 0 2px 6px -2px #1018280d;--ff-shadow-lg:0 18px 40px -12px #10182838;--ff-sidebar-w:248px;--ff-topbar-h:56px;--ff-transition:.14s cubic-bezier(.2, 0, 0, 1)}*,:before,:after{box-sizing:border-box}html,body,#app{height:100%}body{font-family:var(--ff-font);font-size:var(--ff-fs-md);line-height:var(--ff-lh-normal);color:var(--ff-text);background:var(--ff-bg);-webkit-font-smoothing:antialiased;font-feature-settings:"cv11", "ss01";margin:0}h1,h2,h3,h4{line-height:var(--ff-lh-tight);letter-spacing:-.01em;font-weight:var(--ff-fw-semibold);margin:0}h1{font-size:var(--ff-fs-2xl)}h2{font-size:var(--ff-fs-xl)}h3{font-size:var(--ff-fs-lg)}p{margin:0}a{color:var(--ff-brand-700);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{box-shadow:var(--ff-focus);outline:none}::selection{background:var(--ff-brand-100)}code,kbd{font-family:var(--ff-font-mono);font-size:.92em}kbd{border:1px solid var(--ff-border-strong);border-radius:var(--ff-r-xs);background:var(--ff-surface);color:var(--ff-text-secondary);border-bottom-width:2px;padding:1px 5px}.ff-stack{gap:var(--ff-sp-4);flex-direction:column;display:flex}.ff-stack-sm{gap:var(--ff-sp-2);flex-direction:column;display:flex}.ff-row{align-items:center;gap:var(--ff-sp-2);display:flex}.ff-row-between{justify-content:space-between;align-items:center;gap:var(--ff-sp-3);display:flex}.ff-wrap{flex-wrap:wrap}.ff-grow{flex:auto;min-width:0}.ff-muted{color:var(--ff-text-muted)}.ff-secondary{color:var(--ff-text-secondary)}.ff-small{font-size:var(--ff-fs-sm)}.ff-xs{font-size:var(--ff-fs-xs)}.ff-mono{font-family:var(--ff-font-mono);font-size:var(--ff-fs-sm)}.ff-truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ff-sr-only{clip:rect(0, 0, 0, 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.ff-page{padding:var(--ff-sp-8) var(--ff-sp-8) var(--ff-sp-12);width:100%;max-width:1320px;margin:0 auto}.ff-section-title{font-size:var(--ff-fs-xs);font-weight:var(--ff-fw-semibold);text-transform:uppercase;letter-spacing:.06em;color:var(--ff-text-muted)}.ff-table{border-collapse:separate;border-spacing:0;width:100%;font-size:var(--ff-fs-md)}.ff-table th{text-align:left;font-size:var(--ff-fs-xs);font-weight:var(--ff-fw-semibold);color:var(--ff-text-muted);text-transform:uppercase;letter-spacing:.04em;padding:var(--ff-sp-3) var(--ff-sp-4);border-bottom:1px solid var(--ff-border);background:var(--ff-surface-muted);white-space:nowrap}.ff-table td{padding:var(--ff-sp-3) var(--ff-sp-4);border-bottom:1px solid var(--ff-border);vertical-align:middle}.ff-table tr:last-child td{border-bottom:none}.ff-table tbody tr.ff-clickable{cursor:pointer;transition:background var(--ff-transition)}.ff-table tbody tr.ff-clickable:hover{background:var(--ff-surface-muted)}@media (width<=760px){.ff-page{padding:var(--ff-sp-5) var(--ff-sp-4) var(--ff-sp-10)}.ff-hide-sm{display:none!important}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.vue-flow__edge-textbg{rx:6}.vue-flow__controls{box-shadow:var(--ff-shadow-sm);border-radius:var(--ff-r-md);border:1px solid var(--ff-border);overflow:hidden}.vue-flow__controls-button{border-bottom-color:var(--ff-border);width:28px;height:28px}.vue-flow__minimap{border-radius:var(--ff-r-md);border:1px solid var(--ff-border);box-shadow:var(--ff-shadow-sm);overflow:hidden}.vue-flow__connection-path{stroke:var(--ff-brand-500);stroke-width:2px}.vue-flow__handle-connecting{background:var(--ff-danger-500)!important}.vue-flow__handle-valid{background:var(--ff-success-500)!important}.vue-flow__edge.selected .vue-flow__edge-path{stroke:var(--ff-brand-600)!important;stroke-width:3px!important}.ff-control{border:1px solid var(--ff-border-strong);border-radius:var(--ff-r-md);background:var(--ff-surface);width:100%;min-height:36px;font-size:var(--ff-fs-md);color:var(--ff-text);transition:border-color var(--ff-transition), box-shadow var(--ff-transition);padding:7px 11px}.ff-control::placeholder{color:var(--ff-gray-400)}.ff-control:hover:not(:disabled){border-color:var(--ff-gray-300)}.ff-control:focus{border-color:var(--ff-brand-500);box-shadow:var(--ff-focus);outline:none}.ff-control:disabled,.ff-control[readonly]{background:var(--ff-surface-sunken);color:var(--ff-text-secondary);cursor:not-allowed}.ff-control--sm{min-height:30px;font-size:var(--ff-fs-sm);border-radius:var(--ff-r-sm);padding:4px 9px}textarea.ff-control{resize:vertical;min-height:84px;line-height:var(--ff-lh-normal)}select.ff-control{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;padding-right:32px}.ff-check{align-items:center;gap:var(--ff-sp-2);cursor:pointer;font-size:var(--ff-fs-md);display:inline-flex}.ff-check input{width:16px;height:16px;accent-color:var(--ff-brand-600);margin:0}.ff-brand[data-v-f76ef883]{align-items:center;gap:10px;display:inline-flex}.ff-brand__name[data-v-f76ef883]{letter-spacing:-.02em;color:var(--ff-text);font-size:17px;font-weight:500}.ff-brand__name strong[data-v-f76ef883]{color:var(--ff-brand-700);font-weight:700}.ff-brand--inverse .ff-brand__name[data-v-f76ef883]{color:#fff}.ff-brand--inverse .ff-brand__name strong[data-v-f76ef883]{color:var(--ff-brand-300)}.ff-avatar[data-v-f48e9524]{font-weight:var(--ff-fw-semibold);letter-spacing:.02em;border-radius:50%;flex-shrink:0;place-items:center;display:inline-grid}.shell[data-v-6e225059]{min-height:100vh;display:flex}.shell__side[data-v-6e225059]{height:100vh;width:var(--ff-sidebar-w);background:var(--ff-surface);border-right:1px solid var(--ff-border);flex-direction:column;flex-shrink:0;display:flex;position:sticky;top:0}.shell__brand[data-v-6e225059]{height:var(--ff-topbar-h);padding:0 var(--ff-sp-5);justify-content:space-between;align-items:center;display:flex}.shell__brandlink[data-v-6e225059]:hover{text-decoration:none}.shell__close[data-v-6e225059]{cursor:pointer;color:var(--ff-text-muted);background:0 0;border:none;display:none}.shell__nav[data-v-6e225059]{padding:var(--ff-sp-3) var(--ff-sp-3);gap:var(--ff-sp-4);flex-direction:column;flex:1;display:flex;overflow-y:auto}.shell__group[data-v-6e225059]{flex-direction:column;gap:2px;display:flex}.shell__group-title[data-v-6e225059]{padding:0 var(--ff-sp-3);font-size:11px;font-weight:var(--ff-fw-semibold);letter-spacing:.06em;text-transform:uppercase;color:var(--ff-text-muted);margin-bottom:4px}.shell__link[data-v-6e225059]{align-items:center;gap:var(--ff-sp-3);padding:8px var(--ff-sp-3);border-radius:var(--ff-r-md);color:var(--ff-text-secondary);font-weight:var(--ff-fw-medium);transition:background var(--ff-transition), color var(--ff-transition);display:flex}.shell__link[data-v-6e225059]:hover{background:var(--ff-surface-sunken);color:var(--ff-text);text-decoration:none}.shell__link--active[data-v-6e225059]{background:var(--ff-brand-50);color:var(--ff-brand-700)}.shell__badge[data-v-6e225059]{background:var(--ff-brand-600);color:#fff;border-radius:10px;place-items:center;min-width:20px;height:20px;padding:0 6px;font-size:11px;font-weight:600;display:grid}.shell__tenant[data-v-6e225059]{padding:var(--ff-sp-4) var(--ff-sp-5);border-top:1px solid var(--ff-border)}.shell__main[data-v-6e225059]{flex-direction:column;flex:1;min-width:0;display:flex}.shell__top[data-v-6e225059]{z-index:50;height:var(--ff-topbar-h);align-items:center;gap:var(--ff-sp-2);padding:0 var(--ff-sp-6);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--ff-border);background:#f6f7fbd9;display:flex;position:sticky;top:0}.shell__burger[data-v-6e225059]{cursor:pointer;color:var(--ff-text-secondary);background:0 0;border:none;padding:6px;display:none}.shell__content[data-v-6e225059]{flex:1}.shell__menu[data-v-6e225059]{position:relative}.shell__icon-btn[data-v-6e225059]{border-radius:var(--ff-r-md);width:38px;height:38px;color:var(--ff-text-secondary);cursor:pointer;background:0 0;border:none;place-items:center;display:grid;position:relative}.shell__icon-btn[data-v-6e225059]:hover{background:var(--ff-surface-sunken);color:var(--ff-text)}.shell__dot[data-v-6e225059]{background:var(--ff-danger-500);color:#fff;border:2px solid var(--ff-bg);border-radius:9px;place-items:center;min-width:17px;height:17px;padding:0 4px;font-size:10px;font-weight:700;display:grid;position:absolute;top:4px;right:3px}.shell__user[data-v-6e225059]{align-items:center;gap:var(--ff-sp-2);border-radius:var(--ff-r-full);cursor:pointer;text-align:left;background:0 0;border:none;padding:4px 8px 4px 4px;display:flex}.shell__user[data-v-6e225059]:hover{background:var(--ff-surface-sunken)}.shell__user-text[data-v-6e225059]{flex-direction:column;line-height:1.2;display:flex}.shell__user-name[data-v-6e225059]{font-weight:var(--ff-fw-medium);font-size:var(--ff-fs-sm)}.shell__user-sub[data-v-6e225059]{color:var(--ff-text-muted);font-size:11px}.shell__popover[data-v-6e225059]{background:var(--ff-surface);border:1px solid var(--ff-border);border-radius:var(--ff-r-lg);width:240px;box-shadow:var(--ff-shadow-lg);padding:var(--ff-sp-2);z-index:60;position:absolute;top:calc(100% + 8px);right:0}.shell__popover--wide[data-v-6e225059]{width:360px;max-height:70vh;overflow-y:auto}.shell__popover-head[data-v-6e225059]{padding:var(--ff-sp-2) var(--ff-sp-3) var(--ff-sp-3);border-bottom:1px solid var(--ff-border);margin-bottom:var(--ff-sp-1)}.shell__textbtn[data-v-6e225059]{color:var(--ff-brand-700);font-size:var(--ff-fs-xs);cursor:pointer;background:0 0;border:none}.shell__empty[data-v-6e225059]{padding:var(--ff-sp-6);text-align:center;color:var(--ff-text-muted);font-size:var(--ff-fs-sm)}.shell__notif[data-v-6e225059]{width:100%;padding:var(--ff-sp-2) var(--ff-sp-3);border-radius:var(--ff-r-md);text-align:left;cursor:pointer;background:0 0;border:none;flex-direction:column;align-items:flex-start;gap:2px;display:flex}.shell__notif[data-v-6e225059]:hover{background:var(--ff-surface-sunken)}.shell__notif--unread[data-v-6e225059]{background:var(--ff-brand-50)}.shell__notif-title[data-v-6e225059]{font-weight:var(--ff-fw-medium);font-size:var(--ff-fs-sm)}.shell__notif-msg[data-v-6e225059]{font-size:var(--ff-fs-xs);color:var(--ff-text-secondary);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.shell__notif-time[data-v-6e225059]{color:var(--ff-text-muted);font-size:11px}.shell__menuitem[data-v-6e225059]{align-items:center;gap:var(--ff-sp-2);width:100%;padding:8px var(--ff-sp-3);border-radius:var(--ff-r-md);cursor:pointer;color:var(--ff-text-secondary);background:0 0;border:none;display:flex}.shell__menuitem[data-v-6e225059]:hover{background:var(--ff-surface-sunken);color:var(--ff-text)}.shell__scrim[data-v-6e225059]{display:none}@media (width<=960px){.shell__side[data-v-6e225059]{z-index:200;box-shadow:var(--ff-shadow-lg);transition:transform .2s;position:fixed;top:0;left:0;transform:translate(-100%)}.shell--menu .shell__side[data-v-6e225059]{transform:none}.shell--menu .shell__scrim[data-v-6e225059]{z-index:150;background:#11182766;display:block;position:fixed;inset:0}.shell__burger[data-v-6e225059],.shell__close[data-v-6e225059]{display:block}.shell__top[data-v-6e225059]{padding:0 var(--ff-sp-3)}}.ff-toaster[data-v-a3a7df9a]{right:var(--ff-sp-5);bottom:var(--ff-sp-5);z-index:1100;gap:var(--ff-sp-2);flex-direction:column;width:min(380px,100vw - 32px);display:flex;position:fixed}.ff-toast[data-v-a3a7df9a]{gap:var(--ff-sp-3);padding:var(--ff-sp-3) var(--ff-sp-4);background:var(--ff-gray-900);color:#fff;border-radius:var(--ff-r-lg);box-shadow:var(--ff-shadow-lg);align-items:flex-start;display:flex}.ff-toast__icon[data-v-a3a7df9a]{flex-shrink:0;margin-top:2px}.ff-toast--success .ff-toast__icon[data-v-a3a7df9a]{color:#34d399}.ff-toast--danger .ff-toast__icon[data-v-a3a7df9a]{color:#f87171}.ff-toast--info .ff-toast__icon[data-v-a3a7df9a]{color:var(--ff-brand-300)}.ff-toast__title[data-v-a3a7df9a]{font-weight:var(--ff-fw-medium)}.ff-toast__msg[data-v-a3a7df9a]{font-size:var(--ff-fs-sm);color:var(--ff-gray-300);margin-top:2px}.ff-toast__close[data-v-a3a7df9a]{color:var(--ff-gray-400);cursor:pointer;background:0 0;border:none;padding:2px}.ff-toast-enter-active[data-v-a3a7df9a],.ff-toast-leave-active[data-v-a3a7df9a]{transition:all .2s}.ff-toast-enter-from[data-v-a3a7df9a],.ff-toast-leave-to[data-v-a3a7df9a]{opacity:0;transform:translateY(8px)}.ff-modal[data-v-b7d96c20]{z-index:1000;padding:10vh var(--ff-sp-4) var(--ff-sp-4);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#11182773;justify-content:center;align-items:flex-start;display:flex;position:fixed;inset:0;overflow-y:auto}.ff-modal__panel[data-v-b7d96c20]{background:var(--ff-surface);border-radius:var(--ff-r-xl);width:100%;box-shadow:var(--ff-shadow-lg);outline:none;flex-direction:column;max-height:80vh;display:flex}.ff-modal__header[data-v-b7d96c20]{justify-content:space-between;align-items:flex-start;gap:var(--ff-sp-4);padding:var(--ff-sp-5) var(--ff-sp-6) var(--ff-sp-3);display:flex}.ff-modal__title[data-v-b7d96c20]{font-size:var(--ff-fs-xl)}.ff-modal__desc[data-v-b7d96c20]{color:var(--ff-text-muted);font-size:var(--ff-fs-md);margin-top:4px}.ff-modal__close[data-v-b7d96c20]{color:var(--ff-text-muted);border-radius:var(--ff-r-sm);cursor:pointer;background:0 0;border:none;padding:6px}.ff-modal__close[data-v-b7d96c20]:hover{background:var(--ff-surface-sunken);color:var(--ff-text)}.ff-modal__body[data-v-b7d96c20]{padding:var(--ff-sp-3) var(--ff-sp-6) var(--ff-sp-5);overflow-y:auto}.ff-modal__footer[data-v-b7d96c20]{justify-content:flex-end;gap:var(--ff-sp-2);padding:var(--ff-sp-4) var(--ff-sp-6);border-top:1px solid var(--ff-border);background:var(--ff-surface-muted);border-radius:0 0 var(--ff-r-xl) var(--ff-r-xl);display:flex}.ff-modal-enter-active[data-v-b7d96c20],.ff-modal-leave-active[data-v-b7d96c20]{transition:opacity .16s}.ff-modal-enter-active .ff-modal__panel[data-v-b7d96c20],.ff-modal-leave-active .ff-modal__panel[data-v-b7d96c20]{transition:transform .18s cubic-bezier(.2,0,0,1)}.ff-modal-enter-from[data-v-b7d96c20],.ff-modal-leave-to[data-v-b7d96c20]{opacity:0}.ff-modal-enter-from .ff-modal__panel[data-v-b7d96c20]{transform:translateY(8px)scale(.98)}.ff-btn[data-v-05a654f7]{justify-content:center;align-items:center;gap:var(--ff-sp-2);height:36px;padding:0 var(--ff-sp-4);border-radius:var(--ff-r-md);font-weight:var(--ff-fw-medium);font-size:var(--ff-fs-md);cursor:pointer;white-space:nowrap;transition:background var(--ff-transition), border-color var(--ff-transition), color var(--ff-transition), box-shadow var(--ff-transition);-webkit-user-select:none;user-select:none;border:1px solid #0000;display:inline-flex}.ff-btn[data-v-05a654f7]:disabled{opacity:.55;cursor:not-allowed}.ff-btn--sm[data-v-05a654f7]{height:30px;padding:0 var(--ff-sp-3);font-size:var(--ff-fs-sm);border-radius:var(--ff-r-sm)}.ff-btn--lg[data-v-05a654f7]{height:44px;padding:0 var(--ff-sp-5);font-size:var(--ff-fs-lg)}.ff-btn--block[data-v-05a654f7]{width:100%}.ff-btn--icon[data-v-05a654f7]{width:36px;padding:0}.ff-btn--icon.ff-btn--sm[data-v-05a654f7]{width:30px}.ff-btn--primary[data-v-05a654f7]{background:var(--ff-brand-600);color:#fff;box-shadow:var(--ff-shadow-xs)}.ff-btn--primary[data-v-05a654f7]:hover:not(:disabled){background:var(--ff-brand-700)}.ff-btn--secondary[data-v-05a654f7]{background:var(--ff-surface);border-color:var(--ff-border-strong);color:var(--ff-text);box-shadow:var(--ff-shadow-xs)}.ff-btn--secondary[data-v-05a654f7]:hover:not(:disabled){background:var(--ff-surface-muted);border-color:var(--ff-gray-300)}.ff-btn--ghost[data-v-05a654f7]{color:var(--ff-text-secondary);background:0 0}.ff-btn--ghost[data-v-05a654f7]:hover:not(:disabled){background:var(--ff-surface-sunken);color:var(--ff-text)}.ff-btn--danger[data-v-05a654f7]{background:var(--ff-danger-500);color:#fff}.ff-btn--danger[data-v-05a654f7]:hover:not(:disabled){background:var(--ff-danger-700)}.ff-btn--success[data-v-05a654f7]{background:var(--ff-success-500);color:#fff}.ff-btn--success[data-v-05a654f7]:hover:not(:disabled){background:var(--ff-success-700)}.ff-btn__spin[data-v-05a654f7]{animation:.8s linear infinite ff-spin-05a654f7}.ff-btn[data-v-05a654f7] svg{flex-shrink:0}@keyframes ff-spin-05a654f7{to{transform:rotate(360deg)}}.ff-field[data-v-078f15b1]{flex-direction:column;gap:6px;min-width:0;display:flex}.ff-field__top[data-v-078f15b1]{justify-content:space-between;align-items:center;gap:var(--ff-sp-2);display:flex}.ff-field__label[data-v-078f15b1]{font-size:var(--ff-fs-sm);font-weight:var(--ff-fw-medium);color:var(--ff-gray-700)}.ff-field__req[data-v-078f15b1]{color:var(--ff-danger-500);margin-left:2px}.ff-field__hint[data-v-078f15b1]{font-size:var(--ff-fs-xs);color:var(--ff-text-muted)}.ff-field__error[data-v-078f15b1]{font-size:var(--ff-fs-xs);color:var(--ff-danger-700)}.ff-field--error[data-v-078f15b1] .ff-control{border-color:var(--ff-danger-500)}
