body.chat-viewport-lock{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;background-color:#f5f5f5;overflow:hidden}#app{width:100%;height:var(--app-screen-height, calc(var(--app-dvh) * 100));min-height:var(--app-screen-height, calc(var(--app-dvh) * 100));max-height:var(--app-screen-height, calc(var(--app-dvh) * 100));display:flex;flex-direction:column;overflow:hidden;transform:translateY(var(--app-viewport-offset-top, 0px))}html{font-size:var(--app-font-size-base, 16px);line-height:1.5}body{font-family:var(--app-font-family)!important;color:var(--app-text-strong, #1f2937)!important;background-color:var(--app-surface-subtle, #f8fafc)!important;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a,.router-link,.router-link:hover,.router-link:active,.router-link:visited{text-decoration:none!important;color:inherit!important}a{color:var(--app-color-primary, #2563eb);text-decoration:none}a:hover{text-decoration:underline}:root{--brand-primary: #2563eb;--brand-primary-rgb: 37, 99, 235;--app-color-primary: var(--brand-primary);--app-color-primary-rgb: var(--brand-primary-rgb);--app-color-primary-strong: color-mix(in srgb, var(--app-color-primary) 85%, black);--app-color-primary-hover: color-mix(in srgb, var(--app-color-primary) 85%, black);--app-color-primary-light-3: color-mix(in srgb, var(--app-color-primary) 70%, white);--app-color-primary-light-5: color-mix(in srgb, var(--app-color-primary) 50%, white);--app-color-primary-light-bg: rgba(var(--app-color-primary-rgb), .05);--app-color-success: #16a34a;--app-color-warning: #d97706;--app-color-danger: #dc2626;--app-color-info: #2563eb;--app-text-strong: #1f2937;--app-text-muted: #667085;--app-text-soft: #98a2b3;--app-surface-base: #ffffff;--app-surface-subtle: #f8fafc;--app-surface-page: var(--app-surface-subtle);--app-border-soft: #d7deea;--app-border-strong: #c7d2e0;--app-radius-sm: 4px;--app-radius-md: 8px;--app-radius-lg: 12px;--app-radius-xl: 16px;--app-radius-full: 9999px;--app-shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--app-shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--app-shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--app-shadow-dialog: 0 24px 48px rgba(15, 23, 42, .16);--app-shadow-feedback: 0 18px 40px rgba(15, 23, 42, .12);--app-shadow-diffuse: 0 10px 30px rgba(15, 23, 42, .05);--app-feedback-offset: 28px;--app-feedback-max-width: min(92vw, 520px);--app-btn-height-xl: 52px;--app-btn-height-lg: 48px;--app-btn-height-md: 38px;--app-btn-height-sm: 28px;--app-btn-height-xs: 24px;--app-btn-padding-xl: 0 28px;--app-btn-padding-lg: 0 24px;--app-btn-padding-md: 0 20px;--app-btn-padding-sm: 0 14px;--app-btn-padding-xs: 0 10px;--app-font-family: "Segoe UI Variable", "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;--app-font-family-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--app-font-size-2xs: 10px;--app-font-size-xs: 12px;--app-font-size-sm: 14px;--app-font-size-base: 16px;--app-font-size-lg: 18px;--app-font-size-xl: 20px;--app-font-size-2xl: 24px;--app-font-size-3xl: 32px;--app-font-size-4xl: 40px;--app-font-weight-light: 300;--app-font-weight-normal: 400;--app-font-weight-medium: 500;--app-font-weight-semibold: 600;--app-font-weight-bold: 700;--app-line-height-none: 1;--app-line-height-compact: 16px;--app-line-height-snug: 20px;--app-line-height-normal: 24px;--app-line-height-display: 32px;--app-line-height-hero: 40px;--app-line-height-tight: var(--app-line-height-normal);--app-line-height-relaxed: var(--app-line-height-snug);--app-spacing-0-5: 2px;--app-spacing-1: 4px;--app-spacing-1-5: 6px;--app-spacing-2: 8px;--app-spacing-3: 12px;--app-spacing-4: 16px;--app-spacing-5: 20px;--app-spacing-6: 24px;--app-spacing-8: 32px;--app-spacing-10: 40px;--spacing-0-5: var(--app-spacing-0-5);--spacing-1: var(--app-spacing-1);--spacing-1-5: var(--app-spacing-1-5);--spacing-2: var(--app-spacing-2);--spacing-3: var(--app-spacing-3);--spacing-4: var(--app-spacing-4);--spacing-5: var(--app-spacing-5);--spacing-6: var(--app-spacing-6);--spacing-8: var(--app-spacing-8);--spacing-10: var(--app-spacing-10);--font-family: var(--app-font-family);--font-family-mono: var(--app-font-family-mono);--font-size-2xs: var(--app-font-size-2xs);--font-size-xs: var(--app-font-size-xs);--font-size-sm: var(--app-font-size-sm);--font-size-base: var(--app-font-size-base);--font-size-lg: var(--app-font-size-lg);--font-size-xl: var(--app-font-size-xl);--font-size-2xl: var(--app-font-size-2xl);--font-size-3xl: var(--app-font-size-3xl);--font-size-4xl: var(--app-font-size-4xl);--font-size-md: var(--app-font-size-base);--font-weight-light: var(--app-font-weight-light);--font-weight-normal: var(--app-font-weight-normal);--font-weight-medium: var(--app-font-weight-medium);--font-weight-semibold: var(--app-font-weight-semibold);--font-weight-bold: var(--app-font-weight-bold);--line-height-none: var(--app-line-height-none);--line-height-compact: var(--app-line-height-compact);--line-height-snug: var(--app-line-height-snug);--line-height-normal: var(--app-line-height-normal);--line-height-display: var(--app-line-height-display);--line-height-hero: var(--app-line-height-hero);--radius-sm: var(--app-radius-sm);--radius-md: var(--app-radius-md);--radius-lg: var(--app-radius-lg);--radius-xl: var(--app-radius-xl);--radius-full: var(--app-radius-full);--shadow-sm: var(--app-shadow-sm);--shadow-md: var(--app-shadow-md);--shadow-lg: var(--app-shadow-lg);--transition-fast: var(--app-transition-fast);--transition-normal: var(--app-transition-normal);--transition-slow: var(--app-transition-slow);--app-transition-fast: .15s ease-in-out;--app-transition-normal: .2s ease-in-out;--app-transition-slow: .3s ease-in-out;--app-z-below: -1;--app-z-base: 1;--app-z-content: 10;--app-z-sticky: 100;--app-z-nav: 100;--app-z-header: 100;--app-z-footer: 100;--app-z-dropdown: 200;--app-z-popover: 250;--app-z-overlay: 500;--app-z-modal: 900;--app-z-modal-content: 910;--app-z-modal-close: 920;--app-z-loading: 1000;--app-z-toast: 1100;--app-control-height: 28px;--el-component-size: var(--app-control-height) !important;--el-switch-height: 20px !important}.text-2xs{font-size:var(--app-font-size-2xs)!important;line-height:var(--app-line-height-compact)!important}.text-xs{font-size:var(--app-font-size-xs)!important;line-height:var(--app-line-height-compact)!important}.text-sm{font-size:var(--app-font-size-sm)!important;line-height:var(--app-line-height-snug)!important}.text-base{font-size:var(--app-font-size-base)!important;line-height:var(--app-line-height-normal)!important}.text-lg{font-size:var(--app-font-size-lg)!important;line-height:var(--app-line-height-normal)!important}.text-xl{font-size:var(--app-font-size-xl)!important;line-height:var(--app-line-height-normal)!important}.text-2xl{font-size:var(--app-font-size-2xl)!important;line-height:var(--app-line-height-display)!important}.text-3xl{font-size:var(--app-font-size-3xl)!important;line-height:var(--app-line-height-hero)!important}.font-light{font-weight:var(--app-font-weight-light)!important}.font-normal{font-weight:var(--app-font-weight-normal)!important}.font-medium{font-weight:var(--app-font-weight-medium)!important}.font-semibold{font-weight:var(--app-font-weight-semibold)!important}.font-bold{font-weight:var(--app-font-weight-bold)!important}.font-mono{font-family:var(--app-font-family-mono)!important}.text-strong{color:var(--app-text-strong, #0f172a)!important}.text-muted{color:var(--app-text-muted, #64748b)!important}.text-soft{color:var(--app-text-soft, #98a2b3)!important}.text-primary{color:var(--app-color-primary)!important}.text-success{color:var(--app-color-success, #16a34a)!important}.text-warning{color:var(--app-color-warning, #d97706)!important}.text-danger{color:var(--app-color-danger, #dc2626)!important}.mb-0-5{margin-bottom:var(--app-spacing-0-5)!important}.mb-1{margin-bottom:var(--app-spacing-1)!important}.mb-1-5{margin-bottom:var(--app-spacing-1-5)!important}.mb-2{margin-bottom:var(--app-spacing-2)!important}.mb-3{margin-bottom:var(--app-spacing-3)!important}.mb-4{margin-bottom:var(--app-spacing-4)!important}.mb-5{margin-bottom:var(--app-spacing-5)!important}.mb-6{margin-bottom:var(--app-spacing-6)!important}.mb-8{margin-bottom:var(--app-spacing-8)!important}.mb-10{margin-bottom:var(--app-spacing-10)!important}.gap-0-5{gap:var(--app-spacing-0-5)!important}.gap-1{gap:var(--app-spacing-1)!important}.gap-1-5{gap:var(--app-spacing-1-5)!important}.gap-2{gap:var(--app-spacing-2)!important}.gap-3{gap:var(--app-spacing-3)!important}.gap-4{gap:var(--app-spacing-4)!important}.gap-5{gap:var(--app-spacing-5)!important}.gap-6{gap:var(--app-spacing-6)!important}.p-2{padding:var(--app-spacing-2)!important}.p-3{padding:var(--app-spacing-3)!important}.p-4{padding:var(--app-spacing-4)!important}.px-2{padding-left:var(--app-spacing-2)!important;padding-right:var(--app-spacing-2)!important}.px-3{padding-left:var(--app-spacing-3)!important;padding-right:var(--app-spacing-3)!important}.px-4{padding-left:var(--app-spacing-4)!important;padding-right:var(--app-spacing-4)!important}.py-2{padding-top:var(--app-spacing-2)!important;padding-bottom:var(--app-spacing-2)!important}.py-3{padding-top:var(--app-spacing-3)!important;padding-bottom:var(--app-spacing-3)!important}.py-4{padding-top:var(--app-spacing-4)!important;padding-bottom:var(--app-spacing-4)!important}.app-notify-message{width:min(420px,calc(100vw - 32px));min-width:0;max-width:var(--app-feedback-max-width);padding:12px 14px;border-radius:var(--app-radius-lg);border:1px solid var(--app-border-soft);box-shadow:var(--app-shadow-feedback);background:#fffffffa;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:var(--app-z-toast)!important}.app-notify-message .el-message__content{font-size:var(--app-font-feedback, var(--app-font-size-sm));line-height:var(--app-line-height-snug);font-weight:var(--app-font-weight-medium);color:var(--app-text-strong)}.app-notify-message .el-message__icon{font-size:var(--app-font-size-lg)}.app-notify-message.is-closable .el-message__closeBtn{color:var(--app-text-soft)}.app-notify-message.el-message--success{color:var(--app-color-success);border-color:#16a34a3d;background:#f0fdf4f5}.app-notify-message.el-message--warning{color:var(--app-color-warning);border-color:#d977063d;background:#fffbebf5}.app-notify-message.el-message--error{color:var(--app-color-danger);border-color:#dc26263d;background:#fef2f2f5}.app-notify-message.el-message--info{color:var(--app-color-primary);border-color:rgba(var(--app-color-primary-rgb),.24);background:rgba(var(--app-color-primary-rgb),.06)}.el-message-box,.app-confirm-box{width:min(92vw,420px);padding:0;border-radius:16px!important;border:1px solid rgba(226,232,240,.85)!important;box-shadow:0 20px 40px #0f172a29!important;overflow:hidden;background:#fffffff2!important}.el-message-box__header,.app-confirm-box .el-message-box__header{padding:14px 20px;background:#f8fafcd9;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid #e2e8f0}.el-message-box__title,.app-confirm-box .el-message-box__title{font-size:var(--app-font-size-base)!important;font-weight:var(--app-font-weight-bold)!important;color:#0f172a!important}.el-message-box__content,.app-confirm-box .el-message-box__content{padding:18px 20px 14px}.el-message-box__message,.app-confirm-box .el-message-box__message{color:#334155;font-size:var(--app-font-size-sm);line-height:var(--app-line-height-relaxed)}.el-message-box__status,.app-confirm-box .el-message-box__status{font-size:22px!important}.el-message-box__btns,.app-confirm-box .el-message-box__btns{display:flex;justify-content:flex-end;gap:10px;padding:12px 20px 18px}.el-message-box__btns .el-button,.app-confirm-box .el-message-box__btns .el-button{min-width:96px;height:40px!important;border-radius:999px!important;font-size:var(--app-font-size-sm)!important;font-weight:var(--app-font-weight-semibold)!important;transition:all .18s ease}.el-message-box__btns .el-button+.el-button,.app-confirm-box .el-message-box__btns .el-button+.el-button{margin-left:0}.el-message-box__btns .el-button--default,.app-confirm-box .el-button--default{background:#f1f5f9!important;border:1px solid #cbd5e1!important;color:#334155!important}.el-message-box__btns .el-button--default:hover,.app-confirm-box .el-button--default:hover{background:#e2e8f0!important;color:#0f172a!important}.el-message-box__btns .el-button--primary,.app-confirm-box .el-button--primary{background:linear-gradient(135deg,#60a5fa,#3b82f6)!important;border:none!important;color:#fff!important;box-shadow:0 4px 14px #3b82f659}.el-message-box__btns .el-button--danger,.app-confirm-box .el-button--danger{background:linear-gradient(135deg,#f87171,#ef4444)!important;border:none!important;color:#fff!important;box-shadow:0 4px 14px #ef444459}.app-confirm-dialog :deep(.el-dialog){border-radius:var(--app-radius-md);border:1px solid var(--app-border-soft);box-shadow:var(--app-shadow-dialog);overflow:hidden}.app-confirm-dialog :deep(.el-dialog__header){padding:18px 18px 10px;margin-right:0}.app-confirm-dialog :deep(.el-dialog__title){font-size:var(--app-font-feedback-title, var(--app-font-size-base));font-weight:var(--app-font-weight-bold);color:var(--app-text-strong)}.app-confirm-dialog :deep(.el-dialog__body){padding:0 18px 18px}.admin-el-dialog .el-dialog{border-radius:var(--app-radius-md);border:1px solid var(--app-border-soft);box-shadow:var(--app-shadow-dialog);overflow:hidden}.admin-el-dialog .el-dialog__header{margin-right:0;padding:16px 18px 12px;border-bottom:1px solid #eef1f5;background:#fbfcfe}.admin-el-dialog .el-dialog__title{font-size:var(--app-font-size-base);font-weight:var(--app-font-weight-semibold);color:var(--app-text-strong)}.admin-el-dialog .el-dialog__body{padding:16px 18px 18px}.admin-el-dialog .el-dialog__footer{padding:0 18px 18px;border-top:none}.admin-el-dialog .el-button{min-height:32px;padding:6px 12px;border-radius:8px;font-weight:var(--app-font-weight-medium)}.app-sheet-body{display:flex;flex-direction:column;gap:14px}.app-sheet-state{padding:24px 10px;text-align:center;color:var(--app-text-muted)}.app-sheet-list{display:flex;flex-direction:column;gap:8px;padding:2px 2px 8px}.app-sheet-item{width:100%;min-height:40px;margin:0!important;justify-content:flex-start}.app-sheet-actions,.dialog-footer,.form-actions{display:flex;justify-content:flex-end;gap:12px;flex-wrap:wrap}.dialog-footer>button,.form-actions>button{min-width:88px;min-height:32px}@media (max-width: 640px){.app-notify-message{width:min(92vw,420px)}.app-confirm-box .el-message-box__btns{flex-wrap:wrap}.app-confirm-box .el-message-box__btns .el-button{flex:1 1 calc(50% - 5px)}.admin-el-dialog .el-dialog{width:min(96vw,640px)!important;margin-top:12px!important}.admin-el-dialog .el-dialog__header{padding:14px 14px 10px}.admin-el-dialog .el-dialog__body{padding:14px}.admin-el-dialog .el-dialog__footer{padding:0 14px 14px}}:root{--app-loading-surface: rgba(255, 255, 255, .92);--app-loading-border: rgba(15, 23, 42, .08);--app-loading-muted: #64748b;--app-loading-track: rgba(148, 163, 184, .2)}.app-loading-spinner{width:2rem;height:2rem;border-radius:999px;border:3px solid var(--app-loading-track);border-top-color:var(--app-color-primary, #2563eb);animation:app-loading-spin .85s linear infinite;flex:0 0 auto}.app-loading-spinner--sm{width:1.4rem;height:1.4rem;border-width:2px}.app-loading-spinner--lg{width:2.5rem;height:2.5rem;border-width:4px}.app-page-loading{min-height:48vh;display:flex;align-items:center;justify-content:center;padding:2rem 1rem}.app-page-loading--compact{min-height:36vh}.app-page-loading__panel{width:min(92vw,28rem);text-align:center;padding:1.5rem 1.25rem;border-radius:var(--app-radius-lg, 18px);border:1px solid var(--app-loading-border);background:var(--app-loading-surface);box-shadow:var(--app-shadow-md, 0 18px 50px rgba(15, 23, 42, .08))}.app-page-loading__panel .app-loading-spinner{margin:0 auto .875rem}.app-page-loading__title{margin:0;font-size:1rem;font-weight:600;color:var(--app-text-strong, #1f2937)}.app-page-loading__description{margin:.5rem 0 0;color:var(--app-loading-muted);font-size:.92rem;line-height:1.55}.app-section-loading{display:flex;align-items:center;justify-content:center;gap:.9rem;min-height:10rem;padding:1.25rem;border:1px solid var(--app-loading-border);border-radius:var(--app-radius-lg, 18px);background:var(--app-loading-surface)}.app-section-loading--compact{min-height:7rem}.app-section-loading__copy{max-width:20rem}.app-section-loading__title{color:var(--app-text-strong, #1f2937);font-size:.96rem;font-weight:600}.app-section-loading__description{margin:.25rem 0 0;font-size:.88rem;line-height:1.5;color:var(--app-loading-muted)}.app-overlay-loading{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#ffffffd6;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:12}.app-overlay-loading--soft{background:#ffffffb3}.app-overlay-loading__panel{min-width:7rem;padding:.9rem 1rem;border-radius:var(--app-radius-md, 14px);background:#fffffff5;border:1px solid var(--app-loading-border);box-shadow:var(--app-shadow-sm, 0 8px 24px rgba(15, 23, 42, .08));text-align:center}.app-overlay-loading__panel .app-loading-spinner{margin:0 auto}.app-overlay-loading__text{margin:.5rem 0 0;color:var(--app-loading-muted);font-size:.86rem}.app-skeleton-block{display:grid;gap:1rem}.app-skeleton-block--cards{grid-template-columns:repeat(auto-fit,minmax(15rem,1fr))}.app-skeleton-card,.app-skeleton-row{border-radius:var(--app-radius-lg, 18px);border:1px solid var(--app-loading-border);background:#ffffffe0;padding:1rem}.app-skeleton-line{height:.8rem;border-radius:999px;background:linear-gradient(90deg,#e2e8f0e6 25%,#f1f5f9,#e2e8f0e6 75%);background-size:200% 100%;animation:app-skeleton-wave 1.4s ease-in-out infinite}.app-skeleton-line+.app-skeleton-line{margin-top:.7rem}.app-skeleton-line--title{width:48%;height:.95rem}.app-skeleton-line--wide{width:100%}@keyframes app-loading-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes app-skeleton-wave{0%{background-position:200% 0}to{background-position:-200% 0}}@media (max-width: 768px){.app-page-loading{min-height:42vh;padding:1.5rem .75rem}.app-page-loading__panel{width:min(94vw,24rem);padding:1.25rem 1rem}.app-section-loading{flex-direction:column;text-align:center;min-height:8.5rem}.app-skeleton-block--cards{grid-template-columns:1fr}}.app-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.app-toolbar__start,.app-toolbar__center,.app-toolbar__end{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.app-toolbar__start{flex:1 1 280px;min-width:min(100%,240px)}.app-toolbar__end{justify-content:flex-end;margin-left:auto}.app-form-section{display:flex;flex-direction:column;gap:14px;padding:16px;border-radius:16px;border:1px solid rgba(15,23,42,.08);background:#f8fafce0}.app-form-section__header{display:flex;flex-direction:column;gap:6px}.app-form-section__title{margin:0;font-size:var(--app-font-size-base);color:var(--app-text-1, #0f172a)}.app-form-section__description{margin:0;font-size:var(--app-font-size-xs);line-height:var(--app-line-height-relaxed);color:var(--app-text-2, #64748b)}.app-form-section__content{display:flex;flex-direction:column;gap:14px}.app-switch-field{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border:1px solid rgba(15,23,42,.08);border-radius:14px;background:#fffffff5}.app-switch-field__copy{display:flex;flex-direction:column;gap:4px}.app-switch-field__title{font-size:var(--app-font-size-sm);font-weight:var(--app-font-weight-semibold);color:var(--app-text-1, #0f172a)}.app-switch-field__description{margin:0;font-size:var(--app-font-size-xs);line-height:var(--app-line-height-relaxed);color:var(--app-text-2, #64748b)}@media (max-width: 640px){.app-toolbar__start,.app-toolbar__center,.app-toolbar__end{width:100%}.app-toolbar__end{justify-content:flex-start;margin-left:0}.app-switch-field{flex-direction:column;align-items:flex-start}}.bordered-card{background-color:var(--app-surface-base, #ffffff);border:1px solid var(--app-border-soft, #d7deea);border-radius:var(--app-radius-xl, 16px);box-shadow:var(--app-shadow-diffuse);padding:16px;transition:all var(--app-transition-fast, .15s) cubic-bezier(.4,0,.2,1);margin:var(--app-spacing-3) auto;width:calc(100% - 24px);max-width:800px;box-sizing:border-box}.bordered-card:hover{border-color:rgba(var(--app-color-primary-rgb, 37, 99, 235),.3);box-shadow:0 10px 25px -5px rgba(var(--app-color-primary-rgb, 37, 99, 235),.1),0 4px 10px -2px #0f172a0a}.card-pad-sm{padding:12px 14px}.card-pad-md{padding:16px 18px}.glass-effect{background:#ffffffd9!important;backdrop-filter:blur(12px)!important;-webkit-backdrop-filter:blur(12px)!important}.app-btn{display:inline-flex;align-items:center;justify-content:center;gap:4px;border-radius:var(--app-radius-full, 999px)!important;font-weight:var(--app-font-weight-semibold);cursor:pointer;-webkit-user-select:none;user-select:none;transition:all var(--app-transition-normal, .2s) cubic-bezier(.4,0,.2,1)!important;border:none;outline:none;text-decoration:none;box-sizing:border-box}.app-btn--xl{height:var(--app-btn-height-xl, 52px);padding:var(--app-btn-padding-xl, 0 28px);font-size:var(--app-font-size-base, 16px);font-weight:var(--app-font-weight-bold, 700)}.app-btn--lg{height:var(--app-btn-height-lg, 48px);padding:var(--app-btn-padding-lg, 0 24px);font-size:var(--app-font-size-base, 16px);font-weight:var(--app-font-weight-bold, 700)}.app-btn--md{height:var(--app-btn-height-md, 38px);padding:var(--app-btn-padding-md, 0 20px);font-size:var(--app-font-size-sm, 14px);font-weight:var(--app-font-weight-semibold, 600)}.app-btn--sm{height:var(--app-btn-height-sm, 28px);padding:var(--app-btn-padding-sm, 0 12px);font-size:var(--app-font-size-xs, 12px);font-weight:var(--app-font-weight-semibold, 600)}.app-btn--xs{height:var(--app-btn-height-xs, 24px);padding:var(--app-btn-padding-xs, 0 10px);font-size:var(--app-font-size-2xs, 10px);font-weight:var(--app-font-weight-bold, 700)}.app-btn--primary{background:linear-gradient(135deg,#60a5fa,#93c5fd)!important;color:#fff!important;box-shadow:0 4px 14px #60a5fa38!important}.app-btn--primary:hover:not(:disabled),.app-btn--primary:focus:not(:disabled){transform:translateY(-1px);background:linear-gradient(135deg,#3b82f6,#60a5fa)!important;box-shadow:0 6px 18px #60a5fa52!important}.app-btn--secondary{background:var(--app-color-primary-light-bg)!important;border:1px solid rgba(var(--app-color-primary-rgb, 37, 99, 235),.25)!important;color:var(--app-color-primary)!important}.app-btn--secondary:hover:not(:disabled),.app-btn--secondary:focus:not(:disabled){background:rgba(var(--app-color-primary-rgb, 37, 99, 235),.16)!important;transform:translateY(-1px)}.app-btn--danger{background:linear-gradient(135deg,#f87171 0%,var(--app-color-danger) 100%)!important;color:#fff!important;box-shadow:0 4px 14px #dc262659!important}.app-btn--danger:hover:not(:disabled),.app-btn--danger:focus:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 18px #dc262673!important}.app-badge-pill,.app-badge-tag{display:inline-flex;align-items:center;gap:4px;height:var(--app-btn-height-xs, 24px);padding:0 10px;border-radius:var(--app-radius-full, 999px);font-size:var(--app-font-size-xs, 12px);font-weight:var(--app-font-weight-semibold, 600);line-height:var(--app-line-height-compact, 16px)}.app-badge-pill.primary,.app-badge-tag{background:var(--app-color-primary-light-bg)!important;border:1px solid rgba(var(--app-color-primary-rgb, 37, 99, 235),.18)!important;color:var(--app-color-primary)!important}.app-badge-pill.success{background:color-mix(in srgb,var(--app-color-success, #16a34a) 8%,white)!important;border:1px solid color-mix(in srgb,var(--app-color-success, #16a34a) 25%,white)!important;color:var(--app-color-success, #16a34a)!important}.app-badge-pill.warning{background:color-mix(in srgb,var(--app-color-warning, #d97706) 8%,white)!important;border:1px solid color-mix(in srgb,var(--app-color-warning, #d97706) 25%,white)!important;color:var(--app-color-warning, #d97706)!important}.app-badge-pill.danger,.app-badge-save{background:color-mix(in srgb,var(--app-color-danger, #dc2626) 8%,white)!important;border:1px solid color-mix(in srgb,var(--app-color-danger, #dc2626) 25%,white)!important;color:var(--app-color-danger, #dc2626)!important}.app-badge-pill.soft,.app-badge-category{background:var(--app-surface-subtle, #f8fafc)!important;border:1px solid var(--app-border-soft, #e2e8f0)!important;color:var(--app-text-muted, #64748b)!important}.input{width:100%;padding:var(--app-spacing-2) var(--app-spacing-3);border:1px solid var(--app-border-strong);border-radius:var(--app-radius-md, 8px);font-family:var(--app-font-family);font-size:var(--app-font-size-base);color:var(--app-text-strong);background-color:var(--app-surface-base);transition:border-color var(--app-transition-fast),box-shadow var(--app-transition-fast);outline:none}.input:focus{border-color:var(--app-color-primary);box-shadow:0 0 0 3px rgba(var(--app-color-primary-rgb, 37, 99, 235),.1)}.input::placeholder{color:var(--app-text-soft)}.app-chip{display:inline-flex;align-items:center;justify-content:center;min-height:var(--app-control-height);padding:0 10px;border-radius:var(--app-radius-full, 999px);font-size:var(--app-font-size-xs, 12px);font-weight:500;background-color:var(--app-surface-subtle);border:1px solid var(--app-border-soft);color:var(--app-text-muted);cursor:pointer;-webkit-user-select:none;user-select:none;transition:all var(--app-transition-fast, .15s) ease;outline:none}.app-chip:hover:not(:disabled){background-color:var(--app-border-soft);color:var(--app-text-strong);border-color:var(--app-border-strong)}.app-chip.active,.app-chip--active{border-color:var(--app-color-primary)!important;color:var(--app-color-primary)!important;background-color:var(--app-color-primary-light-bg)!important;font-weight:600!important}.app-chip.active:hover:not(:disabled),.app-chip--active:hover:not(:disabled){background-color:rgba(var(--app-color-primary-rgb, 37, 99, 235),.12)!important;border-color:var(--app-color-primary)!important}.app-page-container{width:100%;max-width:1200px;margin:0 auto;padding:var(--app-spacing-4, 16px);box-sizing:border-box}.app-page-topbar{display:flex;flex-direction:column;gap:var(--app-spacing-3, 12px);margin-bottom:var(--app-spacing-5, 20px)}.app-page-header{display:flex;justify-content:space-between;align-items:center;gap:var(--app-spacing-4, 16px);flex-wrap:wrap;width:100%}.app-page-main{display:flex;align-items:center;gap:var(--app-spacing-3, 12px);flex-wrap:wrap;flex:1;min-width:0}.app-page-meta{display:flex;align-items:center;min-width:0}.app-page-title{margin:0;font-size:var(--app-font-size-2xl, 24px);font-weight:700;line-height:1.2;color:var(--app-text-strong, #111827);letter-spacing:-.01em}.app-page-actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--app-spacing-2, 8px);flex-wrap:wrap}.app-section-card{position:relative;display:flex;flex-direction:column;background:var(--app-surface-base, #ffffff);border:1px solid var(--app-border-soft, #e2e8f0);border-radius:var(--app-radius-sm, 12px);padding:var(--app-spacing-4, 16px);box-sizing:border-box;box-shadow:var(--app-shadow-diffuse);transition:border-color var(--app-transition-fast, .15s) ease,box-shadow var(--app-transition-fast, .15s) ease,transform var(--app-transition-fast, .15s) ease}.app-section-card:hover{box-shadow:var(--app-shadow-md);border-color:var(--app-border-strong, #cbd5e1)}.app-card-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--app-spacing-2, 8px)}.app-card-actions{display:flex;align-items:center;gap:var(--app-spacing-2, 8px)}.app-card-body{display:flex;flex-direction:column;gap:var(--app-spacing-2, 8px)}.app-grid-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--app-spacing-4, 16px)}.app-btn-circle{width:32px;height:32px;padding:0!important;border-radius:var(--app-radius-full, 9999px)!important;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.app-tab-nav{display:inline-flex;align-items:center;gap:var(--app-spacing-2, 8px);padding:0!important;background:transparent!important;border-radius:0!important;height:32px!important;box-sizing:border-box!important;border:none!important;overflow-x:auto;overflow-y:hidden;-ms-overflow-style:none!important;scrollbar-width:none!important}.app-tab-nav::-webkit-scrollbar{display:none!important}.app-tab-btn{height:30px!important;box-sizing:border-box!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;padding:0 16px!important;font-size:var(--app-font-size-xs, 12px);font-weight:600;border-radius:var(--app-radius-full, 9999px)!important;cursor:pointer;transition:all var(--app-transition-fast, .15s) ease;background:var(--app-surface-base, #ffffff)!important;border:1px solid var(--app-border-soft, #e2e8f0)!important;color:var(--app-text-muted, #64748b)!important}.app-tab-btn:hover:not(.active):not(:disabled){color:var(--app-color-primary)!important;border-color:color-mix(in srgb,var(--app-color-primary) 30%,var(--app-border-soft, #e2e8f0))!important;background:var(--app-color-primary-light-bg, #eff6ff)!important}.app-tab-btn.active{background-color:var(--app-color-primary-light-bg, #eff6ff)!important;border-color:var(--app-color-primary, #3b82f6)!important;color:var(--app-color-primary, #3b82f6)!important;box-shadow:0 2px 8px color-mix(in srgb,var(--app-color-primary) 12%,transparent)!important}@media (max-width: 768px){.app-tab-nav{gap:6px!important}.app-tab-btn{padding:0 10px!important;font-size:11px!important}}@media (max-width: 440px){.app-tab-nav{gap:4px!important}.app-tab-btn{padding:0 6px!important;font-size:10px!important}}.app-btn-circle-primary,.app-btn-circle-secondary,.app-btn-circle-danger{width:var(--app-control-height)!important;height:var(--app-control-height)!important;border-radius:var(--app-radius-full, 9999px)!important;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;outline:none;border:none;background:none;box-sizing:border-box;padding:0!important;transition:border-color var(--app-transition-fast, .15s) ease,background-color var(--app-transition-fast, .15s) ease,color var(--app-transition-fast, .15s) ease,transform var(--app-transition-fast, .15s) ease,box-shadow var(--app-transition-fast, .15s) ease;flex:0 0 auto}.app-btn-circle-primary{border:1px solid var(--app-color-primary)!important;background-color:var(--app-surface-base, #ffffff)!important;color:var(--app-color-primary)!important;box-shadow:0 2px 6px color-mix(in srgb,var(--app-color-primary) 8%,transparent)!important}.app-btn-circle-primary:hover:not(:disabled){background-color:var(--app-color-primary)!important;color:var(--app-surface-base, #ffffff)!important;border-color:var(--app-color-primary)!important;transform:scale(1.05);box-shadow:0 4px 12px color-mix(in srgb,var(--app-color-primary) 20%,transparent)!important}.app-btn-circle-primary:active:not(:disabled){transform:scale(.95)}.app-btn-circle-secondary{border:1px solid var(--app-color-primary)!important;background-color:var(--app-surface-base, #ffffff)!important;color:var(--app-color-primary)!important;box-shadow:0 2px 6px color-mix(in srgb,var(--app-color-primary) 8%,transparent)!important}.app-btn-circle-secondary:hover:not(:disabled){background-color:var(--app-color-primary)!important;color:var(--app-surface-base, #ffffff)!important;border-color:var(--app-color-primary)!important;transform:scale(1.05);box-shadow:0 4px 12px color-mix(in srgb,var(--app-color-primary) 20%,transparent)!important}.app-btn-circle-secondary:active:not(:disabled){transform:scale(.95)}.app-btn-circle-danger{border:1px solid var(--app-color-danger)!important;background-color:var(--app-surface-base, #ffffff)!important;color:var(--app-color-danger)!important;box-shadow:0 2px 6px color-mix(in srgb,var(--app-color-danger) 8%,transparent)!important}.app-btn-circle-danger:hover:not(:disabled){background-color:var(--app-color-danger)!important;color:var(--app-surface-base, #ffffff)!important;border-color:var(--app-color-danger)!important;transform:scale(1.05);box-shadow:0 4px 12px color-mix(in srgb,var(--app-color-danger) 20%,transparent)!important}.app-btn-circle-danger:active:not(:disabled){transform:scale(.95)}:root{--app-dvh: 1vh}*{margin:0;padding:0;box-sizing:border-box}:root,html,body,#app{width:100%;height:100%}body.chat-viewport-lock{font-family:var(--app-font-family);background-color:var(--app-surface-subtle);overflow:hidden}html,body,#app,*{scrollbar-width:none;-ms-overflow-style:none}*::-webkit-scrollbar{width:0!important;height:0!important;display:none!important}.el-scrollbar__bar{display:none!important}#app{width:100%;height:calc(var(--app-dvh) * 100);min-height:calc(var(--app-dvh) * 100);max-height:calc(var(--app-dvh) * 100);display:flex;flex-direction:column;overflow:hidden}.chat-option-btn{-moz-appearance:none;appearance:none;-webkit-appearance:none;display:inline-flex;align-items:center;justify-content:center;width:100%;margin:0!important;min-height:32px;padding:0 12px;border:none;border-radius:var(--app-radius-full, 999px);background:linear-gradient(135deg,var(--app-color-primary-light-3, #60a5fa) 0%,var(--app-color-primary, #2563eb) 100%);color:#fff;font-size:var(--app-font-size-xs, 12px);font-weight:var(--app-font-weight-semibold, 600);line-height:var(--app-line-height-compact, 16px);text-align:center;white-space:nowrap;cursor:pointer;box-shadow:0 3px 10px rgba(var(--app-color-primary-rgb, 37, 99, 235),.22);transition:all var(--app-transition-fast, .15s) ease}.chat-option-btn:hover,.chat-option-btn:focus-visible{transform:translateY(-1px);box-shadow:0 5px 14px rgba(var(--app-color-primary-rgb, 37, 99, 235),.35);color:#fff}.chat-option-menu{display:flex;flex-direction:column;gap:9px;width:max-content;min-width:135px;max-width:min(240px,calc(100vw - 24px));padding:10px;border:1px solid var(--app-border-soft, rgba(226, 232, 240, .85));border-radius:var(--app-radius-xl, 16px);background:var(--app-surface-base, rgba(255, 255, 255, .92));box-shadow:var(--app-shadow-dialog, 0 12px 36px rgba(15, 23, 42, .14));backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.cyber-ai-avatar{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,#2563eb,#7c3aed,#db2777);padding:2px;box-shadow:0 4px 14px #7c3aed59,0 0 20px #db277733;animation:cyber-aura-pulse 3.5s ease-in-out infinite alternate;flex-shrink:0}.cyber-ai-avatar__inner{width:100%;height:100%;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center}.cyber-ai-sparkle-svg{width:22px;height:22px;filter:drop-shadow(0 2px 4px rgba(124,58,237,.3))}@keyframes cyber-aura-pulse{0%{box-shadow:0 4px 14px #7c3aed59,0 0 16px #2563eb33;transform:scale(1)}50%{box-shadow:0 6px 20px #db277773,0 0 28px #7c3aed59;transform:scale(1.03)}to{box-shadow:0 4px 14px #7c3aed59,0 0 16px #2563eb33;transform:scale(1)}}
