@charset "UTF-8";.app-fatal[data-v-85a3b325]{display:grid;min-height:100vh;min-height:100dvh;place-items:center;background:#f5f7fb;padding:24px}.app-fatal__panel[data-v-85a3b325]{display:grid;gap:12px;width:min(460px,100%);border:1px solid var(--border);border-radius:8px;background:#fff;padding:22px;box-shadow:var(--shadow-card)}.app-fatal__panel strong[data-v-85a3b325]{color:var(--text);font-size:18px}.app-fatal__panel p[data-v-85a3b325],.app-fatal__panel small[data-v-85a3b325]{margin:0;color:var(--text-muted);line-height:1.6}.app-fatal__actions[data-v-85a3b325]{display:flex;justify-content:flex-end;gap:8px}.api-progress[data-v-85a3b325]{position:fixed;z-index:1200;top:0;right:0;left:0;height:3px;overflow:hidden;background:#c7d7fe5c;pointer-events:none}.api-progress span[data-v-85a3b325]{display:block;width:42%;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--primary),#14b8a6);box-shadow:0 0 16px #2563eb5c;animation:api-progress-slide-85a3b325 1.05s ease-in-out infinite}.api-blocker[data-v-85a3b325]{position:fixed;z-index:1190;top:0;right:0;bottom:0;left:0;display:grid;place-items:start center;padding-top:max(78px,calc(var(--safe-area-top) + 78px));background:#f8fafc14;pointer-events:auto}.api-blocker__panel[data-v-85a3b325]{display:inline-flex;align-items:center;gap:10px;border:1px solid rgba(203,213,225,.86);border-radius:999px;background:#fffffff5;padding:9px 14px;color:var(--text-soft);font-size:13px;font-weight:750;box-shadow:var(--shadow-menu);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.api-blocker__spinner[data-v-85a3b325]{width:15px;height:15px;border:2px solid rgba(37,99,235,.18);border-top-color:var(--primary);border-radius:999px;animation:api-blocker-spin-85a3b325 .8s linear infinite}@keyframes api-progress-slide-85a3b325{0%{transform:translate(-110%)}55%{transform:translate(120%)}to{transform:translate(260%)}}@keyframes api-blocker-spin-85a3b325{to{transform:rotate(360deg)}}.app-button[data-v-6bdf0ba4]{display:inline-flex;align-items:center;justify-content:center;min-width:0;gap:8px;border:0;border-radius:8px;cursor:pointer;font-weight:700;letter-spacing:0;line-height:1.25;white-space:nowrap;touch-action:manipulation;transition:transform .16s ease,border-color .16s ease,background .16s ease,box-shadow .16s ease,color .16s ease}.app-button[data-v-6bdf0ba4]:hover:not(:disabled){transform:translateY(-1px)}.app-button[data-v-6bdf0ba4]:disabled{cursor:not-allowed;opacity:.58;transform:none}.app-button--sm[data-v-6bdf0ba4]{height:30px;padding:0 11px;font-size:12px}.app-button--md[data-v-6bdf0ba4]{height:34px;padding:0 13px;font-size:13px}.app-button--lg[data-v-6bdf0ba4]{height:46px;padding:0 18px;font-size:15px}.app-button--primary[data-v-6bdf0ba4]{color:#fff;background:linear-gradient(135deg,var(--primary),var(--primary-hover));box-shadow:0 12px 24px #2563eb33}.app-button--primary[data-v-6bdf0ba4]:hover:not(:disabled){box-shadow:0 16px 30px #2563eb42}.app-button--secondary[data-v-6bdf0ba4]{color:#465569;background:#eef3f8;box-shadow:none}.app-button--secondary[data-v-6bdf0ba4]:hover:not(:disabled){color:#263548;background:#e2e8f0}.app-button--ghost[data-v-6bdf0ba4]{color:var(--text-muted);background:transparent;box-shadow:none}.app-button--ghost[data-v-6bdf0ba4]:hover:not(:disabled){color:var(--primary);background:#2563eb14}.app-button--danger-solid[data-v-6bdf0ba4]{color:#fff;background:linear-gradient(135deg,var(--action-danger-solid-bg, #dc2626),var(--action-danger-solid-bg-hover, #b91c1c));box-shadow:0 10px 22px #dc262624}.app-button--danger-subtle[data-v-6bdf0ba4]{color:var(--action-danger-text, #b45353);background:var(--action-danger-bg, #fff7f7);box-shadow:none}.app-button--danger-subtle[data-v-6bdf0ba4]:hover:not(:disabled){color:var(--action-danger-text-hover, #991b1b);background:var(--action-danger-bg-hover, #fee2e2)}.is-block[data-v-6bdf0ba4]{width:100%}.app-button__label[data-v-6bdf0ba4]{min-width:0;overflow:hidden;text-overflow:ellipsis;line-height:1.25}.app-button__label[data-v-6bdf0ba4]:empty{display:none}.app-button__icon[data-v-6bdf0ba4]{display:inline-flex;align-items:center}.app-button__spinner[data-v-6bdf0ba4]{width:14px;height:14px;border:2px solid rgba(255,255,255,.42);border-top-color:currentColor;border-radius:999px;animation:app-button-spin-6bdf0ba4 .8s linear infinite}@keyframes app-button-spin-6bdf0ba4{to{transform:rotate(360deg)}}@media (max-width: 768px){.app-button--sm[data-v-6bdf0ba4],.app-button--md[data-v-6bdf0ba4]{min-height:38px}.app-button--lg[data-v-6bdf0ba4]{min-height:46px}}.app-card[data-v-cca154f0]{border:1px solid rgba(203,213,225,.78);border-radius:8px;background:#fffffff0;box-shadow:0 18px 44px #0f172a14}.app-card--compact[data-v-cca154f0]{box-shadow:var(--shadow)}.app-check[data-v-31dd0206]{position:relative;display:inline-flex;align-items:center;gap:8px;color:var(--text-soft);font-size:13px;font-weight:650;line-height:1.4;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.app-check__input[data-v-31dd0206]{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;width:100%;height:100%;margin:0;cursor:inherit;opacity:0}.app-check__box[data-v-31dd0206]{display:inline-flex;width:17px;height:17px;flex-shrink:0;align-items:center;justify-content:center;border:1px solid var(--border-strong);border-radius:5px;background:#fff;color:#fff;pointer-events:none;transition:background .16s ease,border-color .16s ease,box-shadow .16s ease}.app-check__box svg[data-v-31dd0206]{width:13px;height:13px;opacity:0;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;pointer-events:none;transition:opacity .12s ease}.app-check__input:checked+.app-check__box[data-v-31dd0206]{border-color:var(--primary);background:linear-gradient(135deg,var(--primary),#1e40af);box-shadow:0 0 0 3px #2563eb1a}.app-check__input:checked+.app-check__box svg[data-v-31dd0206]{opacity:1}.app-check:hover .app-check__box[data-v-31dd0206]{border-color:var(--primary)}.app-check--disabled[data-v-31dd0206]{cursor:not-allowed;opacity:.58}.app-date[data-v-bb4c3d45]{position:relative;display:grid;gap:6px}.app-date.is-open[data-v-bb4c3d45]{z-index:var(--z-dropdown)}.app-date__label[data-v-bb4c3d45]{color:var(--text-soft);font-size:12px;font-weight:700}.app-date__control[data-v-bb4c3d45]{width:100%;min-height:38px;display:flex;align-items:center;gap:0;border:1px solid #dfe6ec;border-radius:8px;background:#f8fafb;padding:0 10px 0 0;color:var(--text);cursor:pointer;font:inherit;text-align:left;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}.app-date__control[data-v-bb4c3d45]:hover,.is-open .app-date__control[data-v-bb4c3d45]{border-color:var(--primary);background:#fff;box-shadow:0 0 0 2px #2563eb1a}.app-date__control[data-v-bb4c3d45]:disabled{cursor:not-allowed;opacity:.64}.app-date__icon[data-v-bb4c3d45]{width:38px;display:inline-flex;justify-content:center;color:var(--text-muted)}.app-date__icon svg[data-v-bb4c3d45]{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.app-date__value[data-v-bb4c3d45]{min-width:0;flex:1;font-size:13px}.app-date__value.placeholder[data-v-bb4c3d45]{color:#9aa7b4}.app-date__clear[data-v-bb4c3d45]{width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;color:#7b8798;font-size:16px;line-height:1}.app-date__clear[data-v-bb4c3d45]:hover{background:#eef3f8;color:var(--danger)}.app-date__scrim[data-v-bb4c3d45]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1299;background:transparent}.app-date__popover[data-v-bb4c3d45]{position:fixed;z-index:var(--z-dropdown);border:1px solid var(--border);border-radius:8px;background:#fffffffa;padding:12px;box-shadow:var(--shadow-menu);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.app-date__toolbar[data-v-bb4c3d45]{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}.app-date__toolbar strong[data-v-bb4c3d45]{color:var(--text);font-size:14px;font-weight:800}.app-date__toolbar button[data-v-bb4c3d45],.app-date__footer button[data-v-bb4c3d45]{border:0;border-radius:7px;background:#eef3f8;color:#465569;cursor:pointer;font:inherit;font-size:13px;font-weight:800}.app-date__toolbar button[data-v-bb4c3d45]{width:30px;height:30px;font-size:20px;line-height:1}.app-date__toolbar button[data-v-bb4c3d45]:hover,.app-date__footer button[data-v-bb4c3d45]:hover{background:#e2e8f0;color:#263548}.app-date__week[data-v-bb4c3d45],.app-date__grid[data-v-bb4c3d45]{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.app-date__week[data-v-bb4c3d45]{margin-bottom:5px}.app-date__week span[data-v-bb4c3d45]{height:24px;display:inline-flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:11px;font-weight:800}.app-date__grid button[data-v-bb4c3d45]{height:32px;border:0;border-radius:7px;background:transparent;color:var(--text-soft);cursor:pointer;font:inherit;font-size:13px;font-weight:750}.app-date__grid button[data-v-bb4c3d45]:hover{background:var(--primary-softer);color:var(--primary)}.app-date__grid button.muted[data-v-bb4c3d45]{color:#a8b3c1}.app-date__grid button.today[data-v-bb4c3d45]{background:#eef3f8;color:var(--primary-dark)}.app-date__grid button.selected[data-v-bb4c3d45]{background:linear-gradient(135deg,var(--primary),var(--primary-hover));color:#fff;box-shadow:0 8px 18px #2563eb2e}.app-date__footer[data-v-bb4c3d45]{display:flex;justify-content:flex-end;gap:8px;margin-top:10px;padding-top:10px;border-top:1px solid var(--border-soft)}.app-date__footer button[data-v-bb4c3d45]{height:30px;padding:0 11px}@media (max-width: 640px),(pointer: coarse){.app-date__control[data-v-bb4c3d45]{min-height:44px;padding-right:12px}.app-date__icon[data-v-bb4c3d45]{width:42px}.app-date__value[data-v-bb4c3d45]{font-size:14px}.app-date__clear[data-v-bb4c3d45]{width:30px;height:30px;font-size:18px}.app-date__scrim[data-v-bb4c3d45]{background:#0f172a47;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.app-date__popover.is-mobile[data-v-bb4c3d45]{top:auto!important;right:0!important;bottom:0!important;left:0!important;width:100%!important;max-height:min(82dvh,620px);overflow:auto;border-right:0;border-bottom:0;border-left:0;border-radius:18px 18px 0 0;padding:14px calc(14px + env(safe-area-inset-right)) calc(14px + env(safe-area-inset-bottom)) calc(14px + env(safe-area-inset-left));box-shadow:0 -18px 46px #0f172a38}.app-date__toolbar[data-v-bb4c3d45]{margin-bottom:12px}.app-date__toolbar strong[data-v-bb4c3d45]{font-size:16px}.app-date__toolbar button[data-v-bb4c3d45]{width:44px;height:44px;border-radius:12px;font-size:28px}.app-date__week[data-v-bb4c3d45],.app-date__grid[data-v-bb4c3d45]{gap:6px}.app-date__week span[data-v-bb4c3d45]{height:30px;font-size:12px}.app-date__grid button[data-v-bb4c3d45]{height:44px;border-radius:12px;font-size:15px;font-weight:850}.app-date__footer[data-v-bb4c3d45]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px;padding-top:12px}.app-date__footer button[data-v-bb4c3d45]{height:44px;border-radius:12px;padding:0 10px;font-size:14px}.app-date__footer .app-date__done[data-v-bb4c3d45]{background:#2563eb;color:#fff}}.app-icon[data-v-dee8922a]{width:16px;height:16px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.empty-state[data-v-9ea06147]{display:grid;place-items:center;gap:6px;min-height:76px;border-radius:var(--radius-lg);background:#fbfdff;padding:var(--space-md);color:#8a97a8;text-align:center}.empty-state strong[data-v-9ea06147]{color:#64748b;font-size:var(--font-size-control);font-weight:850}.empty-state p[data-v-9ea06147]{max-width:420px;margin:0;color:var(--text-muted);font-size:12px;line-height:1.5}.empty-state__action[data-v-9ea06147]{margin-top:4px}.data-table-shell[data-v-1e6d6987]{display:grid;gap:12px;min-width:0}.data-table-error[data-v-1e6d6987] .empty-state{border:1px dashed var(--border-strong)}.data-table-pagination[data-v-1e6d6987]{min-width:0}.app-file[data-v-5d9c03b3]{display:grid;width:100%}.app-file__control[data-v-5d9c03b3]{position:relative;display:flex;align-items:center;gap:10px;min-height:38px;border:1px dashed #cbd5e1;border-radius:8px;background:#f8fafb;color:var(--text-soft);padding:0 13px;cursor:pointer;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease}.app-file__control[data-v-5d9c03b3]:hover{border-color:var(--primary);background:#fff;box-shadow:0 0 0 2px #2563eb14}.app-file__icon[data-v-5d9c03b3]{display:inline-flex;color:var(--primary)}.app-file__icon svg[data-v-5d9c03b3]{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.app-file__text[data-v-5d9c03b3]{display:block;font-size:13px;font-weight:800}.app-file__body[data-v-5d9c03b3]{display:grid;min-width:0;gap:2px}.app-file__hint[data-v-5d9c03b3]{color:var(--text-muted);font-size:11px;font-weight:650}.app-file__input[data-v-5d9c03b3]{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.is-disabled .app-file__control[data-v-5d9c03b3]{cursor:not-allowed;opacity:.58}.is-disabled .app-file__input[data-v-5d9c03b3]{cursor:not-allowed}.app-field[data-v-7234ae71]{display:grid;min-width:0;gap:6px}.app-field__label[data-v-7234ae71]{color:var(--text-soft);font-size:12px;font-weight:700}.app-field__control[data-v-7234ae71]{display:flex;align-items:center;min-width:0;min-height:38px;border:1px solid #dfe6ec;border-radius:8px;background:#f8fafb;box-shadow:none;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}.app-field__control[data-v-7234ae71]:focus-within{border-color:var(--primary);background:#fff;box-shadow:0 0 0 2px #2563eb1a}.app-field__prefix[data-v-7234ae71]{display:inline-flex;width:38px;justify-content:center;color:var(--text-muted)}.app-field__input[data-v-7234ae71]{width:100%;min-width:0;height:36px;padding:0 var(--control-padding-x);border:0;outline:0;background:transparent;color:var(--text);font:inherit;font-size:13px}.app-field__input[data-v-7234ae71]::-moz-placeholder{color:#9aa7b4}.app-field__input[data-v-7234ae71]::placeholder{color:#9aa7b4}.app-field__input[type=number][data-v-7234ae71]{-webkit-appearance:textfield;appearance:textfield;-moz-appearance:textfield}.app-field__input[type=number][data-v-7234ae71]::-webkit-outer-spin-button,.app-field__input[type=number][data-v-7234ae71]::-webkit-inner-spin-button{margin:0;-webkit-appearance:none}@media (max-width: 768px){.app-field__input[data-v-7234ae71]{font-size:16px}}.page-context-head[data-v-f5eda8f3]{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-md);margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid rgba(216,224,234,.72)}.page-context-head h2[data-v-f5eda8f3]{margin:0;color:#172033;font-size:var(--font-size-section-title);font-weight:900;line-height:1.3}.page-context-head p[data-v-f5eda8f3]{margin:5px 0 0;color:#64748b;font-size:var(--font-size-control);line-height:1.6}.page-context-head__actions[data-v-f5eda8f3]{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:var(--space-sm)}@media (max-width: 640px){.page-context-head[data-v-f5eda8f3]{display:grid}.page-context-head__actions[data-v-f5eda8f3]{justify-content:flex-start}}.app-radio[data-v-342bb1eb]{display:inline-flex;align-items:center;gap:8px;color:var(--text-soft);font-size:13px;font-weight:650;line-height:1.4;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.app-radio__input[data-v-342bb1eb]{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.app-radio__mark[data-v-342bb1eb]{width:17px;height:17px;flex-shrink:0;border:1px solid var(--border-strong);border-radius:999px;background:radial-gradient(circle at center,#fff 0 3px,transparent 3.5px),#fff;transition:background .16s ease,border-color .16s ease,box-shadow .16s ease}.app-radio__input:checked+.app-radio__mark[data-v-342bb1eb]{border-color:var(--primary);background:radial-gradient(circle at center,#fff 0 3px,transparent 3.5px),linear-gradient(135deg,var(--primary),#1e40af);box-shadow:0 0 0 3px #2563eb1a}.app-radio:hover .app-radio__mark[data-v-342bb1eb]{border-color:var(--primary)}.app-radio--disabled[data-v-342bb1eb]{cursor:not-allowed;opacity:.58}.section-nav[data-v-5e42bef3]{position:sticky;top:var(--space-layout-gap);display:grid;gap:var(--space-md);max-height:calc(100dvh - 112px);overflow:auto;border:1px solid var(--border);border-radius:var(--radius-lg);background:#ffffffeb;padding:var(--space-sm);box-shadow:var(--shadow-xs)}.section-nav__group-block[data-v-5e42bef3]{display:grid;gap:6px}.section-nav__group[data-v-5e42bef3]{padding:5px 9px 2px;color:#8a97a8;font-size:var(--font-size-meta);font-weight:900}.section-nav__item[data-v-5e42bef3]{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;min-height:38px;border:1px solid transparent;border-radius:7px;background:transparent;padding:0 11px;color:#5f6b7a;cursor:pointer;font:inherit;font-size:var(--font-size-control);font-weight:850;text-align:left;transition:background .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease}.section-nav__item[data-v-5e42bef3]:hover{border-color:#bfdbfe;background:#f5f7fb;color:var(--primary)}.section-nav__item.active[data-v-5e42bef3]{border-color:#bfdbfe;background:#eff6ff;color:var(--primary-dark);box-shadow:0 1px 2px #2563eb14}.section-nav__item.active[data-v-5e42bef3]:before{content:"";position:absolute;left:-8px;width:3px;height:20px;border-radius:999px;background:var(--primary)}.section-nav__item span[data-v-5e42bef3]{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.section-nav__item strong[data-v-5e42bef3]{min-width:30px;height:24px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:#eef3f8;color:#465569;font-size:12px;font-weight:900}@media (max-width: 900px){.section-nav[data-v-5e42bef3]{position:sticky;top:0;z-index:80;display:flex;align-items:center;gap:6px;max-height:none;overflow-x:auto;overflow-y:hidden;margin-right:calc(var(--space-page-x) * -1);margin-left:calc(var(--space-page-x) * -1);border-right:0;border-left:0;border-radius:0;background:#f8fafcf5;padding:8px calc(var(--space-page-x) + var(--safe-area-right)) 8px calc(var(--space-page-x) + var(--safe-area-left));box-shadow:0 8px 18px #0f172a0f;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);overscroll-behavior-x:contain;scrollbar-width:none}.section-nav[data-v-5e42bef3]::-webkit-scrollbar{display:none}.section-nav__group-block[data-v-5e42bef3]{display:contents;gap:4px}.section-nav__group[data-v-5e42bef3]{display:none}.section-nav__item[data-v-5e42bef3]{flex:0 0 auto;display:inline-flex;grid-template-columns:none;justify-content:center;min-width:auto;min-height:36px;border-color:#d8e0ea;border-radius:999px;background:#fff;padding:0 12px;color:#425063;font-size:12px;text-align:center;box-shadow:0 1px 2px #0f172a0a}.section-nav__item[data-v-5e42bef3]:hover{border-color:#bfdbfe;background:#f8fbff}.section-nav__item.active[data-v-5e42bef3]{border-color:var(--primary);background:var(--primary);color:#fff;box-shadow:0 6px 14px #2563eb2e}.section-nav__item.active[data-v-5e42bef3]:before{display:none}.section-nav__item strong[data-v-5e42bef3]{min-width:24px;height:20px;background:#fff3;color:inherit;font-size:11px}}@media (max-width: 480px){.section-nav__item[data-v-5e42bef3]{min-height:34px;padding:0 10px}}.app-select[data-v-0e7be2c7]{position:relative;display:inline-block;width:100%}.app-select.is-open[data-v-0e7be2c7]{z-index:var(--z-dropdown)}.app-select__trigger[data-v-0e7be2c7]{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:38px;border:1px solid #dfe6ec;border-radius:8px;background:#f8fafb;padding:0 10px 0 var(--control-padding-x);color:var(--text);cursor:pointer;font:inherit;font-size:13px;box-shadow:none;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease,color .16s ease}.app-select__trigger[data-v-0e7be2c7]:hover,.app-select.is-open .app-select__trigger[data-v-0e7be2c7]{border-color:var(--primary);background:#fff}.app-select.is-open .app-select__trigger[data-v-0e7be2c7]{box-shadow:0 0 0 2px #2563eb1a}.app-select__trigger[data-v-0e7be2c7]:disabled{cursor:not-allowed;background:#eef3f8;color:var(--text-muted)}.app-select__label[data-v-0e7be2c7]{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-select__chevron[data-v-0e7be2c7]{display:inline-flex;width:18px;height:18px;flex-shrink:0;align-items:center;justify-content:center;color:var(--text-muted);transition:transform .16s ease}.app-select.is-open .app-select__chevron[data-v-0e7be2c7]{transform:rotate(180deg)}.app-select__chevron svg[data-v-0e7be2c7]{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.app-select__menu[data-v-0e7be2c7]{position:fixed;z-index:var(--z-dropdown);display:grid;max-height:260px;overflow-y:auto;padding:5px;border:1px solid var(--border);border-radius:8px;background:#fff;box-shadow:var(--shadow-menu)}.app-select__option[data-v-0e7be2c7]{display:flex;min-height:34px;align-items:center;justify-content:space-between;gap:8px;border:0;border-radius:6px;background:transparent;padding:0 10px 0 var(--control-padding-x);color:var(--text-soft);cursor:pointer;font:inherit;font-size:13px;font-weight:650;text-align:left}.app-select__option[data-v-0e7be2c7]:hover,.app-select__option.is-active[data-v-0e7be2c7]{background:#eff6ff;color:var(--primary-dark)}.app-select__option.is-selected[data-v-0e7be2c7]{color:var(--primary-dark);font-weight:800}.app-select__option[data-v-0e7be2c7]:disabled{cursor:not-allowed;opacity:.5}.app-select__option svg[data-v-0e7be2c7]{width:15px;height:15px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.app-select__slot[data-v-0e7be2c7]{display:none}.app-field[data-v-8a65faa9]{display:grid;gap:6px}.app-field__label[data-v-8a65faa9]{color:var(--text-soft);font-size:12px;font-weight:700}.app-field__control[data-v-8a65faa9]{display:flex;min-height:82px;border:1px solid #dfe6ec;border-radius:8px;background:#f8fafb;box-shadow:none;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}.app-field__control[data-v-8a65faa9]:focus-within{border-color:var(--primary);background:#fff;box-shadow:0 0 0 2px #2563eb1a}.app-field__input[data-v-8a65faa9]{width:100%;min-width:0;min-height:80px;border:0;outline:0;resize:vertical;background:transparent;color:var(--text);font:inherit;font-size:13px;line-height:1.6;padding:8px var(--control-padding-x)}.app-field__input[data-v-8a65faa9]::-moz-placeholder{color:#9aa7b4}.app-field__input[data-v-8a65faa9]::placeholder{color:#9aa7b4}.table-toolbar[data-v-f965713f]{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;margin-bottom:14px}.table-toolbar__filters[data-v-f965713f],.table-toolbar__actions[data-v-f965713f]{display:flex;align-items:center;flex-wrap:wrap;gap:10px;min-width:0}.table-toolbar__actions[data-v-f965713f]{margin-left:auto;justify-content:flex-end}@media (max-width: 720px){.table-toolbar[data-v-f965713f]{align-items:stretch;flex-direction:column}.table-toolbar__filters[data-v-f965713f],.table-toolbar__actions[data-v-f965713f]{width:100%}.table-toolbar__actions[data-v-f965713f]{margin-left:0;justify-content:flex-start}}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.visible{visibility:visible}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.block{display:block}.inline{display:inline}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.flex-1{flex:1 1 0%}.flex-shrink{flex-shrink:1}.border-collapse{border-collapse:collapse}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.resize{resize:both}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.gap-12{gap:3rem}.gap-8{gap:2rem}.border{border-width:1px}.text-center{text-align:center}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.text-muted{--tw-text-opacity: 1;color:rgb(123 135 152 / var(--tw-text-opacity, 1))}.underline{text-decoration-line:underline}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}html,body,#app{width:100%;min-width:0;min-height:100%;margin:0;padding:0;font-family:Inter,Noto Sans SC,PingFang SC,Hiragino Sans GB,Microsoft YaHei,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#f3f6f8;color:#18212f;font-size:14px;-webkit-font-smoothing:antialiased;text-rendering:geometricPrecision}html{overflow-x:clip}body{min-height:100vh;min-height:100svh;overflow-x:clip;max-width:100%}:root{--z-modal: 1200;--z-dropdown: 1300;--z-tooltip: 4000;--z-confirm: 5000;--z-toast: 5100;--primary: #2563eb;--primary-dark: #1d4ed8;--primary-hover: #1e40af;--primary-soft: #eff6ff;--primary-softer: #f6f9ff;--primary-border: #c7d7fe;--accent: #0f766e;--success: #15803d;--success-soft: #e8f6ed;--warning: #b7791f;--warning-soft: #fff7df;--danger: #b45309;--danger-soft: #fff0e8;--critical: #b42318;--bg: #f5f7fb;--bg-elevated: #f8fafb;--panel: #ffffff;--panel-muted: #f7fafb;--surface-flat: #ffffff;--surface-muted: #f8fafc;--border: #d8e0ea;--border-soft: #e8edf4;--border-strong: #b8c5d6;--text: #18212f;--text-soft: #3f4b5b;--text-muted: #687789;--text-disabled: #98a5b5;--sidebar: #14202b;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--space-xs: 6px;--space-sm: 8px;--space-md: 16px;--space-form-row: 14px;--space-layout-gap: 18px;--space-page-x: 28px;--space-page-y: 24px;--font-size-page-title: 22px;--font-size-section-title: 18px;--font-size-card-title: 16px;--font-size-control: 13px;--font-size-meta: 11px;--safe-area-top: env(safe-area-inset-top, 0px);--safe-area-right: env(safe-area-inset-right, 0px);--safe-area-bottom: env(safe-area-inset-bottom, 0px);--safe-area-left: env(safe-area-inset-left, 0px);--shadow-xs: 0 1px 2px rgba(15, 23, 42, .05);--shadow: 0 1px 2px rgba(15, 23, 42, .06), 0 10px 26px rgba(15, 23, 42, .04);--shadow-card: 0 14px 34px rgba(15, 23, 42, .07);--shadow-menu: 0 20px 56px rgba(15, 23, 42, .16);--focus-ring: 0 0 0 3px rgba(37, 99, 235, .12);--control-padding-x: 16px;--action-danger-text: #b45353;--action-danger-text-hover: #991b1b;--action-danger-bg: #fff7f7;--action-danger-bg-hover: #fee2e2;--action-danger-solid-bg: #dc2626;--action-danger-solid-bg-hover: #b91c1c;--table-head-bg: #f8fafc;--nav-active-bg: var(--primary-soft)}*{box-sizing:border-box;scrollbar-color:#b8c5d6 transparent;scrollbar-width:thin}img,svg,canvas,video{max-width:100%}button,input,select,textarea{font:inherit;max-width:100%}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}@media (max-width: 900px){html,body,#app{max-width:100%;overflow-x:clip}input,select,textarea{font-size:16px!important}textarea{resize:vertical}}*::-webkit-scrollbar{width:8px;height:8px}*::-webkit-scrollbar-track{border-radius:999px;background:transparent}*::-webkit-scrollbar-thumb{border:2px solid transparent;border-radius:999px;background:#b8c5d6;background-clip:padding-box}*::-webkit-scrollbar-thumb:hover{background:#8ea0b7;background-clip:padding-box}*::-webkit-scrollbar-corner{background:transparent}a{color:inherit;text-decoration:none}.text-mute{color:var(--text-muted)}.text-small{font-size:12px}.flex{display:flex}.flex-1{flex:1}.flex-center{display:flex;align-items:center;justify-content:center}.flex-between{display:flex;align-items:center;justify-content:space-between}.gap-8{gap:8px}.gap-12{gap:12px}.gap-16{gap:16px}.page{max-width:none;min-height:100%;margin:0 auto;padding:calc(var(--space-page-y) + var(--safe-area-top)) calc(var(--space-page-x) + var(--safe-area-right)) calc(var(--space-page-y) + var(--safe-area-bottom)) calc(var(--space-page-x) + var(--safe-area-left));overflow-wrap:anywhere}.app-shell{min-height:100vh;--tw-bg-opacity: 1;background-color:rgb(245 247 251 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(31 41 55 / var(--tw-text-opacity, 1))}.page-title{margin:0;color:var(--text);font-size:var(--font-size-page-title);font-weight:800;line-height:1.2;letter-spacing:0}.page-subtitle{margin-top:6px;color:var(--text-muted);font-size:13px;line-height:1.6}.page-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px;padding-bottom:16px;border-bottom:1px solid rgba(216,224,234,.72)}.toolbar-left,.toolbar-right{min-width:0px;align-items:center;gap:.625rem;display:flex}.toolbar-line{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:14px}.actions{display:inline-flex;align-items:center;flex-wrap:wrap;gap:6px}.surface-flat{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--panel)}.surface-raised{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--panel);box-shadow:var(--shadow-menu)}.app-main{min-width:0;background:linear-gradient(rgba(215,224,231,.48) 1px,transparent 1px),linear-gradient(90deg,rgba(215,224,231,.42) 1px,transparent 1px),linear-gradient(180deg,#f8fafb,#eef4f6);background-size:44px 44px,44px 44px,auto}.btn{display:inline-flex;height:34px;align-items:center;justify-content:center;gap:.5rem;border-radius:.5rem;border-width:1px;padding-left:.75rem;padding-right:.75rem;font-size:13px;font-weight:700;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;border-color:transparent;background:#eef3f8;color:#465569;box-shadow:none;line-height:1;white-space:nowrap;touch-action:manipulation}.btn:hover{background:#e2e8f0;color:#263548;transform:translateY(-1px)}.btn-primary{background:linear-gradient(135deg,var(--primary),var(--primary-hover));color:#fff;box-shadow:0 10px 22px #2563eb2e}.btn-primary:hover{background:linear-gradient(135deg,var(--primary-dark),var(--primary-hover));color:#fff;box-shadow:0 12px 28px #2563eb3d}.btn-danger{border-color:#f1c7c7;background:#fff;color:#b45353;box-shadow:none}.btn-danger:hover{border-color:#eba7a7;background:#fff7f7;color:#991b1b;box-shadow:none}.btn-danger-solid{border-color:#b91c1c;background:#b91c1c;color:#fff;box-shadow:0 10px 22px #dc262624}.btn-danger-solid:hover{border-color:#991b1b;background:#991b1b;color:#fff;box-shadow:0 12px 28px #dc262633}.btn-ghost{height:2rem;border-width:0px;background-color:transparent;padding-left:.5rem;padding-right:.5rem;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);color:var(--text-muted)}.btn-ghost:hover{background:#2563eb1a;color:var(--primary);box-shadow:none}.btn-ghost.btn-danger{background:transparent;color:var(--danger);box-shadow:none}.btn-ghost.btn-danger:hover{background:#fee2e2;color:#b91c1c;box-shadow:none}.btn:disabled{cursor:not-allowed;opacity:.5}.btn-sm{height:1.75rem;padding-left:.625rem;padding-right:.625rem;font-size:.75rem;line-height:1rem}.field,.select,.textarea{width:100%;border-radius:.5rem;border-width:1px;--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));font-size:.875rem;line-height:1.25rem;outline:2px solid transparent;outline-offset:2px;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;padding-left:var(--control-padding-x);padding-right:var(--control-padding-x);border-color:#dfe6ec;color:var(--text);background:#f8fafb;box-shadow:none;min-width:0}.field,.select{height:2.25rem}.textarea{min-height:5rem;padding-top:.5rem;padding-bottom:.5rem;line-height:1.5rem}.field:hover,.select:hover,.textarea:hover{border-color:#c8d4de;background:#fff}.field:focus,.select:focus,.textarea:focus{border-color:var(--primary);background:#fff;box-shadow:0 0 0 2px #2563eb1a}.field:disabled,.select:disabled,.textarea:disabled{cursor:not-allowed;--tw-bg-opacity: 1;background-color:rgb(238 243 248 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(123 135 152 / var(--tw-text-opacity, 1))}.form-grid>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.form-grid--two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-form-row)}.form-row{display:grid;gap:.375rem}.form-row.span-2{grid-column:span 2}.form-label{font-size:.75rem;line-height:1rem;font-weight:600;--tw-text-opacity: 1;color:rgb(75 85 101 / var(--tw-text-opacity, 1))}.card-surface{border:1px solid var(--border);border-radius:var(--radius-lg);background:#fffffff0;box-shadow:var(--shadow-card);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.data-table-wrap{overflow-x:auto;max-width:100%;border:1px solid var(--border);border-radius:var(--radius-lg);background:#fffffff5;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);-webkit-overflow-scrolling:touch}.data-table{width:100%;min-width:720px;border-collapse:collapse;text-align:left;font-size:13px}.data-table th,.data-table td{white-space:nowrap}.data-table th{position:sticky;top:0;z-index:1;height:38px;padding:8px 12px;background:var(--table-head-bg);color:#5d6b7d;font-size:12px;font-weight:750}.data-table td{height:42px;padding:8px 12px;border-top:1px solid var(--border-soft);color:var(--text-soft);vertical-align:middle}.data-table tbody tr:nth-child(2n){background:#f8fafc5c}.data-table tbody tr{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.data-table tbody tr.clickable{cursor:pointer}.data-table tbody tr:hover{background:var(--primary-softer)}.data-table .actions{display:flex;align-items:center;flex-wrap:nowrap;gap:6px;white-space:nowrap}.data-table td.actions{width:1%;min-width:-moz-max-content;min-width:max-content;flex-wrap:nowrap}.data-table td.actions,.data-table td.actions[data-v]{flex-wrap:nowrap}.data-table .table-cell-main,.data-table .table-cell-wide,.data-table .table-cell-two-line,.data-table .table-cell-url,.data-table .table-cell-code{min-width:0}.data-table .table-cell-main{min-width:180px;max-width:420px}.data-table .table-cell-wide{min-width:220px;max-width:560px}.data-table .table-cell-two-line{min-width:220px;max-width:520px}.data-table .table-cell-url{max-width:340px}.data-table .table-cell-code{max-width:240px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace}.data-table .table-cell-text,.data-table .table-cell-main,.data-table .table-cell-wide,.data-table .table-cell-url,.data-table .table-cell-code{overflow:hidden;text-overflow:ellipsis}.data-table .table-cell-text{display:block;min-width:0}.data-table .table-cell-two-line .table-cell-text{display:-webkit-box;overflow:hidden;white-space:normal;line-height:1.45;-webkit-line-clamp:2;-webkit-box-orient:vertical}.data-table .text-center{text-align:center;color:var(--text-muted)}.tabs{display:flex;gap:6px;overflow-x:auto;max-width:100%;margin-bottom:18px;padding:4px;border:1px solid var(--border);border-radius:8px;background:#ffffffd1;box-shadow:0 1px 2px #0f172a0a;-webkit-overflow-scrolling:touch}.tab{min-height:32px;flex-shrink:0;border:1px solid transparent;border-radius:7px;background:transparent;padding:0 13px;color:var(--text-muted);font-size:13px;font-weight:750;transition:background .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease}.tab:hover{background:var(--primary-softer);color:var(--primary)}.tab-active{border-color:var(--primary-border);background:var(--primary-soft);color:var(--primary-dark);box-shadow:0 1px 2px #2563eb14}.pill{display:inline-flex;height:22px;align-items:center;border-radius:9999px;padding-left:.625rem;padding-right:.625rem;font-size:.75rem;line-height:1rem;font-weight:700;background:#eef3f8;color:#5f6b7a;max-width:100%;white-space:nowrap}.pill-neutral{background:#eef3f8;color:#5f6b7a}.pill-success{background:var(--success-soft);color:var(--success)}.pill-danger{background:var(--danger-soft);color:var(--danger)}.pill-warning{background:var(--warning-soft);color:var(--warning)}.pill-critical{background:#feeceb;color:var(--critical)}.pill-info{background:var(--primary-soft);color:var(--primary)}.app-tooltip{position:fixed;z-index:var(--z-tooltip);max-width:min(360px,100vw - 24px);padding:8px 10px;border:1px solid rgba(203,213,225,.92);border-radius:8px;background:#fffffff5;color:#334155;box-shadow:0 18px 42px #0f172a29,0 2px 8px #0f172a14;font-size:12px;font-weight:650;line-height:1.55;overflow-wrap:anywhere;pointer-events:none;opacity:0;transform:translateY(-2px) scale(.98);transition:opacity .12s ease,transform .12s ease;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.app-tooltip.is-visible{opacity:1;transform:translateY(0) scale(1)}.app-tooltip:before{content:"";position:absolute;left:50%;width:8px;height:8px;border:1px solid rgba(203,213,225,.92);background:#fffffff5;transform:translate(-50%) rotate(45deg)}.app-tooltip[data-placement=bottom]:before{top:-5px;border-right:0;border-bottom:0}.app-tooltip[data-placement=top]:before{bottom:-5px;border-top:0;border-left:0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;align-items:center;justify-content:center;padding:1rem;display:flex;z-index:var(--z-modal);background:#0f172a75;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:max(16px,var(--safe-area-top)) max(16px,var(--safe-area-right)) max(16px,var(--safe-area-bottom)) max(16px,var(--safe-area-left))}.modal-panel{max-height:90vh;width:100%;max-width:36rem;overflow-y:auto;--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));padding:0;border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-menu)}.modal-panel>form:not(.project-form),.modal-panel>.form-grid{margin-left:20px;margin-right:20px}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:60px;margin:0 0 18px;padding:0 20px;border-bottom:1px solid var(--border-soft);background:linear-gradient(180deg,#fff,#f8fafc);position:sticky;top:0;z-index:2}.modal-title{margin:0;font-size:1.125rem;line-height:1.75rem;font-weight:700;color:var(--text);line-height:1.35}.modal-footer{justify-content:flex-end;gap:.5rem;display:flex;margin:20px -20px 0;padding:14px 20px;border-top:1px solid var(--border-soft);background:#f8fafc;position:sticky;bottom:0;z-index:2}.modal-panel>.modal-footer{margin:20px 0 0}.modal-panel.wide{max-width:860px}.avatar{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;border-radius:9999px;font-size:.875rem;line-height:1.25rem;font-weight:700;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1));background:linear-gradient(135deg,var(--primary),var(--accent));box-shadow:inset 0 -1px #0000001f}.avatar-sm{height:1.75rem;width:1.75rem}.avatar-md{height:2rem;width:2rem}.loading{position:relative;display:grid;justify-items:center;gap:10px;padding:42px 20px;color:var(--text-muted);font-size:13px}.loading:before{content:"";width:26px;height:26px;border:3px solid var(--border-soft);border-top-color:var(--primary);border-radius:999px;animation:spin .8s linear infinite}.empty{position:relative;border:1px dashed var(--border-strong);border-radius:var(--radius-lg);background:#ffffffb8;padding:44px 24px;text-align:center;color:var(--text-muted);font-size:13px;box-shadow:var(--shadow-xs)}.empty:before{content:"";display:block;width:38px;height:38px;margin:0 auto 12px;border-radius:12px;background:linear-gradient(var(--primary-soft),var(--primary-soft)) padding-box,linear-gradient(135deg,var(--primary-border),#d6e4ff) border-box;border:1px solid transparent}.toast-host{position:fixed;left:50%;top:1.25rem;width:min(520px,calc(100vw - 2rem));--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));flex-direction:column;gap:.5rem;display:flex;z-index:var(--z-toast);pointer-events:none}.toast{display:grid;grid-template-columns:28px minmax(0,1fr) 28px;align-items:center;gap:10px;min-height:54px;border:1px solid;border-left-width:5px;border-radius:8px;padding:10px 10px 10px 12px;font-size:14px;font-weight:850;line-height:1.45;transform:translateY(0);transition:opacity .2s ease,transform .2s ease;box-shadow:0 20px 56px #0f172a38;pointer-events:auto}.toast-icon{display:inline-flex;width:28px;height:28px;align-items:center;justify-content:center;border-radius:999px;color:#fff;font-size:15px;font-weight:900}.toast-text{min-width:0;overflow-wrap:anywhere}.toast-close{display:inline-flex;width:28px;height:28px;align-items:center;justify-content:center;border:0;border-radius:999px;background:transparent;color:currentColor;cursor:pointer;font-size:20px;line-height:1;opacity:.72}.toast-close:hover{background:#0f172a14;opacity:1}.toast-success{border-color:#86c69a;background:#f0fbf4;color:#14532d}.toast-success .toast-icon{background:#15803d}.toast-error{border-color:#f1a49d;background:#fff5f5;color:#8a2d24}.toast-error .toast-icon{background:#b42318}.toast-warning{border-color:#e8bd55;background:#fff8e6;color:#6f4d0f}.toast-warning .toast-icon{background:#b7791f}.toast-info{border-color:#9fb7da;background:#f4f8ff;color:#1f3b66}.toast-info .toast-icon{background:#2563eb}.toast-leave{opacity:0;transform:translateY(-8px)}.confirm-dialog{width:min(420px,100vw - 2rem);overflow:hidden}.confirm-backdrop{z-index:var(--z-confirm)}.confirm-body{margin:0 20px 18px;color:var(--text-soft);font-size:14px;line-height:1.7}@keyframes spin{to{transform:rotate(360deg)}}.kanban-board,.board,.backlog{max-width:100%;overflow-x:auto}.issue-type{display:inline-flex;align-items:center;height:22px;font-size:12px;padding:0 8px;border-radius:999px;font-weight:600;letter-spacing:0}.issue-type.EPIC{color:#5f6b7a;background:#eef3f8}.issue-type.STORY,.issue-type.REQUIREMENT{color:var(--primary);background:#e6f6f7}.issue-type.TASK{color:#5f6b7a;background:#eef3f8}.issue-type.BUG{color:var(--danger);background:#fff0e8}.priority{font-size:12px}.priority.HIGHEST{color:var(--critical)}.priority.HIGH{color:var(--danger)}.priority.MEDIUM{color:var(--warning)}.priority.LOW{color:var(--primary)}.priority.LOWEST{color:var(--text-muted)}@media (max-width: 768px){:root{--space-page-x: 12px;--space-page-y: 12px;--control-padding-x: 12px}.page{padding:var(--space-page-y) calc(var(--space-page-x) + var(--safe-area-right)) calc(var(--space-page-y) + var(--safe-area-bottom)) calc(var(--space-page-x) + var(--safe-area-left))}.page-toolbar{flex-direction:column;align-items:stretch;gap:8px;margin-bottom:10px;padding-bottom:8px}.page-toolbar>*{min-width:0}.toolbar-left,.toolbar-right{width:100%;flex-wrap:wrap}.toolbar-right{justify-content:flex-start}.toolbar-left,.toolbar-right,.toolbar-line,.actions{gap:7px}.actions,.toolbar-line{width:100%}.btn,.tab{min-height:36px}.btn{max-width:100%}.field,.select,.textarea,input,select,textarea{font-size:16px}.data-table-wrap{position:relative;margin-right:calc(var(--space-page-x) * -1);margin-left:calc(var(--space-page-x) * -1);border-right:0;border-left:0;border-radius:0}.data-table-wrap:after{content:"";position:sticky;right:0;display:block;width:28px;height:1px;margin-top:-1px;margin-left:auto;pointer-events:none;background:linear-gradient(90deg,transparent,rgba(15,23,42,.1))}.data-table{min-width:680px}.data-table th,.data-table td{padding-right:10px;padding-left:10px}.modal-panel{max-width:calc(100vw - 1.5rem);max-height:calc(100dvh - 2rem)}.modal-footer{flex-wrap:wrap;gap:8px}.modal-footer .btn,.modal-footer button{min-height:40px}.card-surface,.panel,.app-card{border-radius:8px;box-shadow:none}.section-head p,.field-help,.form-help,.modal-helper,.empty-state p{display:none}.form-grid--two{grid-template-columns:1fr}.form-row.span-2{grid-column:auto}}@media (max-width: 480px){:root{--space-page-x: 10px;--space-page-y: 10px}.page-title{font-size:20px}.page-subtitle{display:none}.page-toolbar{margin-bottom:8px}.toolbar-right,.toolbar-line,.actions{flex-wrap:nowrap;overflow-x:auto;padding-bottom:2px;-webkit-overflow-scrolling:touch}.toolbar-right>*,.toolbar-line>*,.actions>*{flex-shrink:0;max-width:100%}.modal-backdrop{align-items:flex-end;padding:0}.modal-panel{max-width:100vw;max-height:calc(100dvh - var(--safe-area-top));width:100vw;border-right:0;border-bottom:0;border-left:0;border-radius:12px 12px 0 0}.modal-head{min-height:54px;padding:0 16px}.modal-panel>form:not(.project-form),.modal-panel>.form-grid{margin-left:16px;margin-right:16px}.modal-footer{margin-right:-16px;margin-left:-16px;padding:12px 16px calc(12px + var(--safe-area-bottom))}.modal-footer .btn,.modal-footer button{flex:1 1 140px}}
