*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%;font-family:Inter,PingFang SC,Microsoft YaHei,sans-serif;background:#f8fafc;color:#0f172a}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{border:none;cursor:pointer}img{display:block}:root{--bg: #f8fafc;--card: rgba(255,255,255,.92);--line: #e2e8f0;--muted: #64748b;--text: #0f172a;--primary: #111827;--accent: #6366f1;--danger: #b91c1c;--aq-ink: #182033;--aq-muted: #667085;--aq-surface: #f6f8fb;--aq-card: #ffffff;--aq-line: #dbe3ef;--aq-field-blue: #2563eb;--aq-review-teal: #0f766e;--aq-warning-amber: #b45309;--aq-risk-red: #be123c}.aq-page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;width:100%;padding:0 0 18px;color:var(--aq-ink)}.aq-page-header__content{min-width:0}.aq-page-header__eyebrow{margin-bottom:6px;color:var(--aq-field-blue);font-size:12px;font-weight:800;letter-spacing:.04em}.aq-page-header__title{margin:0;color:var(--aq-ink);font-size:24px;line-height:1.25;font-weight:800;letter-spacing:0}.aq-page-header__subtitle{margin:8px 0 0;max-width:760px;color:var(--aq-muted);font-size:14px;line-height:1.7}.aq-page-header__actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px;flex-shrink:0}.aq-status-badge{display:inline-flex;align-items:center;justify-content:center;min-height:24px;padding:3px 9px;border:1px solid transparent;border-radius:999px;font-size:12px;font-weight:800;line-height:1.3;white-space:nowrap}.aq-status-badge--info{border-color:#bfdbfe;color:var(--aq-field-blue);background:#eff6ff}.aq-status-badge--success{border-color:#99f6e4;color:var(--aq-review-teal);background:#f0fdfa}.aq-status-badge--warning{border-color:#fde68a;color:var(--aq-warning-amber);background:#fffbeb}.aq-status-badge--danger{border-color:#fecdd3;color:var(--aq-risk-red);background:#fff1f2}.aq-status-badge--muted{border-color:var(--aq-line);color:var(--aq-muted);background:#f8fafc}.aq-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-height:220px;padding:28px;border:1px dashed var(--aq-line);border-radius:16px;color:var(--aq-muted);background:rgba(255,255,255,.72);text-align:center}.aq-empty-state__title{color:var(--aq-ink);font-size:16px;font-weight:800}.aq-empty-state__description{margin:0;max-width:420px;font-size:13px;line-height:1.7}.aq-empty-state__action{margin-top:4px}.aq-loading-state{display:inline-flex;align-items:center;justify-content:center;gap:8px;color:var(--aq-muted);font-size:13px}.aq-loading-state__spinner{width:14px;height:14px;border:2px solid #dbeafe;border-top-color:var(--aq-field-blue);border-radius:50%;animation:aq-spin .75s linear infinite}.aq-query-state{min-width:0}.aq-query-state--loading,.aq-query-state--empty{display:flex;align-items:center;justify-content:center;min-height:148px}.aq-query-state--error{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;min-height:56px;padding:12px 14px;border:1px solid #fecaca;border-radius:14px;background:#fff1f2;color:var(--aq-risk-red);font-size:13px}.aq-query-state__message{min-width:0;overflow-wrap:anywhere}.aq-query-state__retry{flex:0 0 auto;min-height:32px;padding:6px 12px;border:1px solid #fecaca;border-radius:10px;background:#fff;color:var(--aq-risk-red);font-weight:800}.aq-filter-bar{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;width:100%;min-width:0}.aq-filter-bar__controls{display:flex;flex:1 1 auto;flex-wrap:wrap;align-items:flex-end;gap:10px;min-width:0}.aq-filter-bar__actions{display:flex;flex:0 0 auto;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px}.aq-confirm-dialog__overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1700;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(15,23,42,.46);backdrop-filter:blur(4px)}.aq-confirm-dialog{width:min(92vw,460px);padding:18px;border:1px solid var(--aq-line);border-radius:16px;background:#fff;box-shadow:0 24px 70px rgba(15,23,42,.2)}.aq-confirm-dialog__title{margin:0;color:var(--aq-ink);font-size:18px;line-height:1.35}.aq-confirm-dialog__description{margin:10px 0 0;color:var(--aq-muted);font-size:14px;line-height:1.7}.aq-confirm-dialog__actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:18px}.aq-confirm-dialog__cancel,.aq-confirm-dialog__confirm{min-height:38px;padding:8px 14px;border-radius:12px;font-weight:800}.aq-confirm-dialog__cancel{border:1px solid var(--aq-line);background:#fff;color:var(--aq-ink)}.aq-confirm-dialog__confirm{background:var(--aq-ink);color:#fff}.aq-confirm-dialog--danger .aq-confirm-dialog__confirm{background:var(--aq-risk-red)}.aq-confirm-dialog button:disabled{opacity:.58;cursor:not-allowed}.dd-portal-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:18px;padding:8px 0}.dd-portal-card{-webkit-appearance:none;appearance:none;display:flex;flex-direction:column;align-items:flex-start;gap:10px;width:100%;min-height:170px;padding:22px;border:1px solid var(--line);border-radius:22px;background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(248,250,252,.94));color:inherit;text-align:left;text-decoration:none;cursor:pointer;box-shadow:0 12px 28px rgba(15,23,42,.05);transition:border-color .18s,box-shadow .18s,transform .18s}.dd-portal-card:hover,.dd-portal-card:focus-visible{border-color:#c7d2fe;box-shadow:0 18px 36px rgba(99,102,241,.14);transform:translateY(-2px)}.dd-portal-card:focus-visible{outline:3px solid rgba(99,102,241,.2);outline-offset:2px}.dd-portal-card.is-active{border-color:#818cf8;background:linear-gradient(180deg,#fff,#eef2ff);box-shadow:0 18px 36px rgba(99,102,241,.16)}.dd-portal-card__icon{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:16px;color:#4f46e5;background:#eef2ff}.dd-portal-card__title{font-size:16px;font-weight:800;color:var(--text)}.dd-portal-card__desc{color:var(--muted);font-size:13px;line-height:1.6}.aq-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:12px;font-weight:800;white-space:nowrap;transition:background .15s,border-color .15s,color .15s,box-shadow .15s}.aq-button--md{min-height:40px;padding:9px 14px;font-size:14px}.aq-button--sm{min-height:32px;padding:6px 10px;font-size:12px}.aq-button--primary{background:var(--aq-ink);color:#fff}.aq-button--secondary{border-color:var(--aq-line);background:#fff;color:var(--aq-ink)}.aq-button--danger{border-color:#fecdd3;background:#fff1f2;color:var(--aq-risk-red)}.aq-button--ghost{border-color:transparent;background:transparent;color:var(--aq-muted)}.aq-button--full{width:100%}.aq-button:hover:not(:disabled){box-shadow:0 6px 16px rgba(15,23,42,.08)}.aq-button:disabled{opacity:.58;cursor:not-allowed;box-shadow:none}.aq-button__spinner{width:14px;height:14px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:aq-spin .75s linear infinite}.aq-modal-shell__overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1600;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(15,23,42,.42);backdrop-filter:blur(4px)}.aq-modal-shell{display:flex;flex-direction:column;width:min(96vw,560px);max-height:min(92vh,760px);border:1px solid var(--aq-line);border-radius:18px;background:#fff;box-shadow:0 24px 70px rgba(15,23,42,.2);overflow:hidden}.aq-modal-shell__header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;border-bottom:1px solid var(--aq-line)}.aq-modal-shell__header h2{margin:0;color:var(--aq-ink);font-size:18px;line-height:1.35}.aq-modal-shell__close{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:10px;background:#f8fafc;color:var(--aq-muted)}.aq-modal-shell__body{min-height:0;overflow:auto;padding:18px}.aq-modal-shell__footer{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:14px 18px;border-top:1px solid var(--aq-line);background:#f8fafc}.aq-data-table{min-width:0}.aq-data-table__desktop-wrap{overflow-x:auto;border:1px solid var(--aq-line);border-radius:14px;background:#fff;-webkit-overflow-scrolling:touch}.aq-data-table__table{width:100%;border-collapse:separate;border-spacing:0}.aq-data-table__table th,.aq-data-table__table td{padding:12px 14px;border-bottom:1px solid #eef2f7;text-align:left;vertical-align:middle;white-space:nowrap}.aq-data-table__table th{position:sticky;top:0;z-index:1;color:var(--aq-muted);background:#f8fafc;font-size:12px;font-weight:800}.aq-data-table__table tr:last-child td{border-bottom:0}.aq-data-table--compact .aq-data-table__table th,.aq-data-table--compact .aq-data-table__table td{padding:9px 10px;font-size:13px;line-height:1.45}.aq-data-table__actions-header,.aq-data-table__actions-cell{text-align:right}.aq-data-table__action-row{display:flex;flex-direction:row;align-items:center;justify-content:flex-end;gap:6px;min-width:max-content;white-space:nowrap}.aq-data-table__action-row>*{flex:0 0 auto}.aq-data-table__detail-row td{padding:0;white-space:normal;background:#f8fafc}.aq-data-table__bottom-scroll{display:none;height:18px;margin-top:8px;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch}.aq-data-table__bottom-scroll.is-visible{display:block}.aq-data-table__bottom-scroll::-webkit-scrollbar{height:14px}.aq-data-table__bottom-scroll::-webkit-scrollbar-track{background:#eef2f7;border-radius:999px}.aq-data-table__bottom-scroll::-webkit-scrollbar-thumb{background:#94a3b8;border:3px solid #eef2f7;border-radius:999px}.aq-data-table__bottom-scroll::-webkit-scrollbar-thumb:hover{background:#64748b}.aq-data-table__mobile-list{display:none;gap:10px}.aq-data-table__card{display:grid;gap:8px;padding:14px;border:1px solid var(--aq-line);border-radius:14px;background:#fff}.aq-data-table__card-row{display:grid;grid-template-columns:88px minmax(0,1fr);gap:10px;margin:0;font-size:13px}.aq-data-table__card-row dt{color:var(--aq-muted);font-weight:800}.aq-data-table__card-row dd{min-width:0;margin:0;color:var(--aq-ink);word-break:break-word}.aq-data-table__card-actions .aq-data-table__action-row{justify-content:flex-start;flex-wrap:wrap;min-width:0}.aq-data-table__empty{display:flex;align-items:center;justify-content:center;min-height:140px;border:1px dashed var(--aq-line);border-radius:14px;background:#f8fafc;color:var(--aq-muted);font-size:13px}@keyframes aq-spin{to{transform:rotate(360deg)}}@media(max-width:760px){.aq-page-header{flex-direction:column;align-items:stretch}.aq-page-header__actions{justify-content:flex-start}.aq-modal-shell__overlay{align-items:flex-end;padding:0}.aq-modal-shell{width:100vw;max-height:92dvh;border-radius:18px 18px 0 0;border-bottom:0}.aq-modal-shell__footer{flex-wrap:wrap}.aq-modal-shell__footer .aq-button{flex:1 1 140px}.aq-filter-bar{align-items:stretch;flex-direction:column}.aq-filter-bar__controls,.aq-filter-bar__actions{width:100%;justify-content:flex-start}.aq-confirm-dialog__overlay{align-items:flex-end;padding:0}.aq-confirm-dialog{width:100vw;border-radius:18px 18px 0 0;border-bottom:0}.aq-confirm-dialog__actions{flex-wrap:wrap}.aq-confirm-dialog__cancel,.aq-confirm-dialog__confirm{flex:1 1 140px}.aq-data-table__desktop-wrap{display:none}.aq-data-table__bottom-scroll{display:none!important}.aq-data-table__mobile-list{display:grid}}.login-page{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg,#f8fafc,#eef2ff);padding:24px}.login-shell{width:100%;max-width:460px;display:flex;flex-direction:column;gap:20px}.login-brand,.sidebar-brand{display:flex;align-items:center;gap:14px}.login-brand__logo,.sidebar-brand__logo{width:48px;height:48px;border-radius:18px;background:#fff;padding:8px;box-shadow:0 10px 25px rgba(15,23,42,.08)}.login-brand__name,.sidebar-brand__name{font-size:18px;font-weight:700}.login-brand__sub,.sidebar-brand__sub{font-size:12px;color:var(--muted)}.login-card,.info-card,.hero-card,.modal-card{border:1px solid var(--line);border-radius:24px;background:var(--card);box-shadow:0 18px 40px rgba(15,23,42,.05)}.login-card{padding:28px}.login-card__eyebrow,.hero-card__eyebrow{color:var(--accent);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.login-card h1,.hero-card h2{margin:10px 0 8px;font-size:30px}.login-card p,.login-footer,.soft-hint,.soft-mini,.topbar__subtitle,.hero-card p{color:var(--muted)}.login-form,.dashboard-stack,.form-grid{display:flex;flex-direction:column;gap:16px}.form-grid input,.form-grid select{width:100%;border:1px solid var(--line);border-radius:16px;background:#f8fafc;padding:12px 14px;outline:none;font-size:14px;transition:border-color .2s}.form-grid input:focus,.form-grid select:focus{border-color:var(--accent)}.form-grid input:disabled{background:#f1f5f9;color:var(--muted);cursor:not-allowed}.form-grid textarea{width:100%;border:1px solid var(--line);border-radius:16px;background:#f8fafc;padding:12px 14px;outline:none;font-size:14px;line-height:1.7;resize:vertical;transition:border-color .2s}.form-grid textarea:focus{border-color:var(--accent)}.error-banner{border:1px solid #fecaca;background:#fff1f2;color:#be123c;padding:12px 14px;border-radius:14px;font-size:13px}.success-banner{border:1px solid #bbf7d0;background:#f0fdf4;color:#15803d;padding:12px 14px;border-radius:14px;font-size:13px}.submit-button,.primary-action{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;border-radius:14px;background:var(--primary);color:#fff;padding:12px 16px;font-weight:600}.submit-button:disabled,.action-btn:disabled{opacity:.6;cursor:not-allowed}.submit-button--auto{width:auto}.login-text-button{align-self:center;background:transparent;color:var(--accent);font-size:13px;font-weight:700;padding:0}.login-text-button:disabled{color:var(--muted);cursor:not-allowed}.login-footer{display:flex;align-items:center;justify-content:center;gap:8px;font-size:12px}.app-shell{display:grid;grid-template-columns:280px 1fr;height:100vh;height:100dvh;overflow:hidden;overscroll-behavior:none;background:linear-gradient(180deg,#f8fafc,#eef2ff)}.sidebar{display:flex;flex-direction:column;gap:16px;padding:20px 16px;border-right:1px solid var(--line);background:rgba(255,255,255,.84);backdrop-filter:blur(16px);overflow:hidden}.sidebar-content{display:flex;flex:1;min-height:0;flex-direction:column;gap:16px;overflow-y:auto;padding-right:4px}.sidebar-group{display:flex;flex-direction:column;gap:8px}.sidebar-group__label{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.nav-list{display:flex;flex-direction:column;gap:4px}.nav-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;color:#334155;font-size:14px;transition:background .15s}.nav-item:hover{background:#f1f5f9}.nav-item.is-active{background:#eef2ff;color:#3730a3;font-weight:700}.nav-item--muted{background:#f8fafc;color:var(--muted);cursor:default}.nav-item--muted:hover{background:#f8fafc}.sidebar-grow{flex:1;min-height:20px}.sidebar-user{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border-radius:14px;background:#f8fafc;flex-shrink:0}.sidebar-user__name{font-weight:700;font-size:14px}.sidebar-user__role{font-size:11px;color:var(--muted);margin-top:2px}.ghost-icon-button,.ghost-text-button,.action-btn{background:#f8fafc;color:var(--text);border-radius:12px;padding:10px 12px}.ghost-text-button{background:transparent;color:var(--muted);padding:0}.sidebar-sessions{display:flex;flex:0 0 clamp(180px,28vh,320px);min-height:180px;max-height:320px;flex-direction:column}.sidebar-session-list{display:flex;flex-direction:column;gap:2px;overflow-y:auto;flex:1;min-height:0;padding-right:4px}.sidebar-session-item{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border-radius:10px;background:transparent;text-align:left;border:none;transition:background .15s}.sidebar-session-item:hover{background:#f1f5f9}.sidebar-session-item.is-active{background:#eef2ff}.sidebar-session-item__title{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text)}.sidebar-session-item.is-active .sidebar-session-item__title{color:#3730a3}.sidebar-session-item__time{font-size:11px;color:var(--muted)}.app-main{display:flex;flex-direction:column;min-width:0;overflow:hidden}.topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 32px 0}.topbar__title{font-size:28px;font-weight:800}.topbar__toolbar{display:flex;align-items:center;justify-content:flex-end;gap:8px;min-width:0}.page-content{padding:20px 32px 32px;flex:1;display:flex;flex-direction:column;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.page-content--flush{padding:12px 32px 0;overflow:hidden}.confirm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:rgba(15,23,42,.45);display:flex;align-items:center;justify-content:center;padding:24px;animation:confirm-fade-in .15s ease-out}.confirm-overlay--portal{z-index:2300;backdrop-filter:blur(4px)}@keyframes confirm-fade-in{0%{opacity:0}to{opacity:1}}@keyframes confirm-slide-up{0%{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.confirm-dialog{position:relative;width:min(380px,100%);border:1px solid var(--line);border-radius:24px;background:var(--card);padding:32px 28px 24px;box-shadow:0 18px 40px rgba(15,23,42,.05);text-align:center;animation:confirm-slide-up .2s ease-out}.confirm-close{position:absolute;top:14px;right:14px;background:transparent;color:var(--muted);border-radius:8px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;transition:background .12s,color .12s}.confirm-close:hover{background:#f1f5f9;color:var(--text)}.confirm-icon{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;background:#fee2e2;color:var(--danger);margin-bottom:16px}.confirm-title{font-size:17px;font-weight:700;margin:0 0 8px;color:var(--text)}.confirm-desc{font-size:14px;color:var(--muted);margin:0 0 24px;line-height:1.6}.confirm-actions{display:flex;gap:12px}.confirm-btn{flex:1;padding:11px 20px;border-radius:14px;font-size:14px;font-weight:600;transition:background .15s,border-color .15s}.confirm-btn--cancel{background:var(--bg);color:var(--text);border:1px solid var(--line)}.confirm-btn--cancel:hover{background:#e2e8f0;border-color:#cbd5e1}.confirm-btn--danger{background:var(--danger);color:#fff;display:inline-flex;align-items:center;justify-content:center;min-height:42px}.confirm-btn--danger:hover:not(:disabled){background:#991b1b}.confirm-btn:disabled{opacity:.55;cursor:not-allowed}.icp-footer{text-align:center;padding:10px 0;font-size:12px;flex-shrink:0}.icp-footer a{color:#94a3b8;text-decoration:none;transition:color .15s}.icp-footer a:hover{color:var(--text);text-decoration:underline}.hero-card{display:flex;justify-content:space-between;gap:18px;padding:22px}.hero-card--dark{background:linear-gradient(135deg,#111827,#312e81);color:#fff}.hero-card--dark p,.hero-card--dark .hero-card__eyebrow,.hero-card--dark .hero-card__stats span{color:rgba(255,255,255,.72)}.hero-card__stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;min-width:320px}.hero-card__stats--compact{grid-template-columns:repeat(3,minmax(0,1fr));min-width:420px}.hero-card__stats div{border:1px solid rgba(148,163,184,.25);border-radius:18px;padding:14px;background:rgba(255,255,255,.04)}.hero-card__stats span{display:block;font-size:12px;color:var(--muted);margin-bottom:8px}.hero-card__stats strong{font-size:24px}.card-grid{display:grid;gap:18px}.card-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}.info-card{padding:22px}.section-title{display:flex;align-items:center;gap:10px;font-size:18px;font-weight:700;margin-bottom:14px}.kv-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.kv-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}.kv-grid span{display:block;color:var(--muted);font-size:12px;margin-bottom:6px}.kv-grid strong{font-size:15px}.status-callout{margin-bottom:18px;border:1px solid #dbeafe;border-radius:18px;background:#f8fbff;padding:14px 16px}.status-callout--warning{border-color:#fde68a;background:#fffdf5}.status-callout__title{font-weight:700;margin-bottom:6px}.status-callout__text{color:#475569;line-height:1.7}.tag-list{display:flex;flex-wrap:wrap;gap:10px}.tag{border-radius:999px;background:#eef2ff;color:#4338ca;padding:10px 14px;font-size:13px;font-weight:600}.toolbar-row{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:18px;background:#fff;-webkit-overflow-scrolling:touch}.member-table{width:100%;border-collapse:separate;border-spacing:0}.member-table th,.member-table td{border-bottom:1px solid #eef2f7;padding:14px 12px;text-align:left;vertical-align:middle;white-space:nowrap}.member-table th{position:sticky;top:0;z-index:1;color:var(--muted);font-size:12px;text-transform:uppercase;background:#f8fafc}.member-table tbody tr:hover td{background:#fbfdff}.member-table tbody tr:last-child td{border-bottom:none}.member-table--editable td:first-child{font-weight:700;color:var(--text);white-space:nowrap}.member-table__input{width:100%;min-width:180px;border:1px solid var(--line);border-radius:14px;background:#f8fafc;padding:10px 12px;font-size:13px;color:var(--text);outline:none;transition:border-color .2s,box-shadow .2s,background .2s}.member-table__input:focus{border-color:var(--accent);background:#fff;box-shadow:0 0 0 3px rgba(99,102,241,.12)}.member-table__input--error{border-color:#f87171;background:#fff5f5}.member-table__input--error:focus{border-color:#ef4444;box-shadow:0 0 0 3px rgba(239,68,68,.12)}.preview-cell-error{display:block;margin-top:4px;font-size:11px;color:#ef4444;line-height:1.3}.role-tag,.status-tag{display:inline-flex;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:700;font-variant-numeric:tabular-nums}.role-tag{background:#eef2ff;color:#4338ca}.status-tag--active{background:#dcfce7;color:#15803d}.status-tag--disabled{background:#fee2e2;color:#b91c1c}.status-tag--warning{background:#fef3c7;color:#b45309}.action-row{display:flex;gap:8px;flex-wrap:wrap}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(15,23,42,.45);display:flex;align-items:center;justify-content:center;padding:24px;z-index:50}.modal-card{width:min(560px,100%);padding:24px}.modal-card--small{width:min(460px,100%)}.modal-card__header,.modal-card__footer{display:flex;align-items:center;justify-content:space-between;gap:16px}.modal-card__header{margin-bottom:18px}.modal-card__footer{margin-top:8px;justify-content:flex-end}.form-grid label{display:flex;flex-direction:column;gap:8px;font-size:13px;font-weight:600}.image-upload-zone{display:flex;flex-direction:column;gap:12px}.image-upload-trigger{display:flex;align-items:center;justify-content:center;gap:8px;padding:28px 16px;border:2px dashed var(--line);border-radius:16px;background:#f8fafc;color:var(--muted);font-size:13px;cursor:pointer;transition:border-color .2s,background .2s}.image-upload-trigger:hover,.image-upload-trigger.is-dragging{border-color:var(--accent);background:#eef2ff;color:var(--accent)}.image-upload-trigger.is-dragging{border-style:solid;box-shadow:0 0 0 3px rgba(99,102,241,.15)}.image-file-drop-zone{position:relative;border-radius:16px;transition:border-color .2s,background .2s,box-shadow .2s}.image-file-drop-zone:focus-visible{outline:2px solid #818cf8;outline-offset:2px}.image-file-drop-zone.is-dragging{border-color:#818cf8;background:#eef2ff;box-shadow:0 0 0 3px rgba(99,102,241,.12)}.image-file-drop-zone__overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;display:flex;align-items:center;justify-content:center;border-radius:inherit;border:2px dashed #818cf8;background:rgba(238,242,255,.92);color:#4338ca;font-size:14px;font-weight:600;pointer-events:none}.xhs-section .image-file-drop-zone.is-dragging{background:#f5f7ff}.image-gen-source-drop.image-file-drop-zone{border-radius:14px;padding:2px}.image-gen-source-drop.image-file-drop-zone.is-dragging{padding:0;border:2px dashed #818cf8}.image-preview-grid{display:flex;flex-wrap:wrap;gap:10px}.image-preview-item{position:relative;width:96px;height:96px;border-radius:12px;overflow:hidden;border:1px solid var(--line)}.image-preview-item img{width:100%;height:100%;object-fit:cover}.image-preview-remove{position:absolute;top:4px;right:4px;width:22px;height:22px;border-radius:50%;background:rgba(0,0,0,.55);color:#fff;font-size:14px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s}.image-preview-remove:hover{background:rgba(220,38,38,.85)}.markdown-body a{color:#1a73e8;text-decoration:none;cursor:pointer;transition:color .15s,text-decoration .15s}.markdown-body a:hover{color:#174ea6;text-decoration:underline}.markdown-body a:after{content:" ↗";font-size:.75em;vertical-align:super;opacity:.6}.markdown-body ul,.markdown-body ol{padding-left:22px}.empty-block{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;min-height:200px;border:1px dashed var(--line);border-radius:20px;background:#f8fafc;text-align:center;color:var(--muted);padding:24px}.forum-page{display:flex;flex-direction:column;gap:16px;width:100%;margin:0}.forum-toolbar{display:inline-flex;align-items:center;gap:8px;justify-content:flex-end}.forum-primary-btn,.forum-secondary-btn,.forum-toolbar-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border-radius:12px;font-size:13px;font-weight:700}.forum-primary-btn{padding:10px 14px;background:var(--primary);color:#fff}.forum-secondary-btn{padding:10px 14px;border:1px solid var(--line);background:#fff;color:var(--text)}.forum-primary-btn:disabled{opacity:.55;cursor:not-allowed}.forum-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:16px;align-items:start;width:100%}.forum-side{display:flex;flex-direction:column;gap:12px;position:sticky;top:0}.forum-side__card,.forum-feed,.forum-composer,.forum-detail-card,.forum-comments{border:1px solid var(--line);border-radius:22px;background:rgba(255,255,255,.94);box-shadow:0 16px 36px rgba(15,23,42,.05)}.forum-side__card{display:flex;flex-direction:column;gap:6px;padding:12px}.forum-side__title{padding:4px 4px 8px;font-size:13px;font-weight:800;color:var(--muted)}.forum-side__card button{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:10px 11px;border-radius:12px;background:transparent;color:#334155;font-size:14px;text-align:left}.forum-side__card button svg{flex:0 0 auto;color:var(--muted)}.forum-side__card button span{margin-left:auto;color:#94a3b8;font-size:12px}.forum-side__card button:hover,.forum-side__card button.is-active{background:#eef2ff;color:#3730a3;font-weight:800}.forum-side__card button:hover svg,.forum-side__card button.is-active svg{color:#4338ca}.forum-feed{padding:18px;min-width:0}.forum-feed__head,.forum-composer__header,.forum-composer__footer,.forum-detail-card__actions,.forum-post-card__actions,.forum-comment__meta{display:flex;align-items:center;justify-content:space-between;gap:12px}.forum-section-title{font-size:18px;font-weight:800;color:var(--text)}.forum-section-desc{margin-top:4px;font-size:12px;color:var(--muted)}.forum-pill{display:inline-flex;align-items:center;border-radius:999px;padding:5px 10px;background:#eef2ff;color:#4338ca;font-size:12px;font-weight:700}.forum-post-list{display:flex;flex-direction:column;gap:12px;margin-top:16px}.forum-post-card{border:1px solid var(--line);border-radius:18px;background:#fff;overflow:hidden;transition:border-color .15s,box-shadow .15s,transform .15s}.forum-post-card:hover{border-color:#c7d2fe;box-shadow:0 10px 24px rgba(99,102,241,.1);transform:translateY(-1px)}.forum-post-card__main{display:flex;flex-direction:column;gap:10px;width:100%;padding:18px 18px 14px;background:transparent;text-align:left}.forum-post-card__meta{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:12px}.forum-post-card__meta span{display:inline-flex;align-items:center;gap:4px}.forum-post-card__meta span:first-child{color:#4338ca;font-weight:800}.forum-post-card h3,.forum-detail-card h2{margin:0;color:var(--text)}.forum-post-card h3{font-size:18px;line-height:1.45}.forum-post-card p,.forum-detail-card p{margin:0;color:#475569;line-height:1.75;white-space:pre-wrap;word-break:break-word}.forum-post-card p{font-size:14px}.forum-post-card__actions{justify-content:flex-start;padding:0 16px 16px;flex-wrap:wrap}.forum-post-card__actions button,.forum-detail-card__actions button{display:inline-flex;align-items:center;gap:5px;border-radius:10px;background:#f8fafc;color:var(--muted);padding:7px 10px;font-size:12px;font-weight:700;transition:background .12s,color .12s}.forum-post-card__actions button:hover,.forum-detail-card__actions button:hover,.forum-post-card__actions button.is-active,.forum-detail-card__actions button.is-active{background:#eef2ff;color:#4338ca}.forum-post-card__actions .forum-danger-action{margin-left:auto;color:var(--danger)}.forum-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:3000;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(15,23,42,.42);backdrop-filter:blur(5px)}.forum-modal__card{width:min(720px,100%);max-height:min(86vh,860px);overflow:auto}.forum-modal__card--detail{width:min(820px,100%);background:transparent;box-shadow:none;border:none}.forum-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:10px;background:#f8fafc;color:var(--muted)}.forum-icon-btn:hover{background:#eef2ff;color:#4338ca}.forum-composer{display:flex;flex-direction:column;gap:12px;padding:18px}.forum-composer__grid{display:grid;grid-template-columns:220px minmax(0,1fr);gap:10px}.forum-input,.forum-textarea{width:100%;border:1px solid var(--line);border-radius:14px;background:#f8fafc;padding:11px 13px;outline:none;color:var(--text);transition:border-color .15s,box-shadow .15s,background .15s}.forum-input:focus,.forum-textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(99,102,241,.12);background:#fff}.forum-textarea{min-height:180px;resize:vertical;line-height:1.7}.forum-textarea--comment{min-height:84px}.forum-composer__footer{color:var(--muted);font-size:12px}.forum-composer__actions{display:inline-flex;align-items:center;gap:8px}.forum-detail{position:relative;display:flex;flex-direction:column;gap:14px;min-width:0}.forum-detail__close{position:absolute;top:14px;right:14px;z-index:1}.forum-detail-card{display:flex;flex-direction:column;gap:13px;padding:24px}.forum-detail-card h2{padding-right:36px;font-size:24px;line-height:1.4}.forum-detail-card__actions{justify-content:flex-start;flex-wrap:wrap;padding-top:4px}.forum-comments{display:flex;flex-direction:column;gap:12px;padding:16px}.forum-comments__head{font-size:14px;font-weight:800}.forum-comment-form{display:flex;flex-direction:column;gap:10px;padding:12px;border:1px dashed #c7d2fe;border-radius:16px;background:#f8fafc}.forum-comment-form .forum-primary-btn{align-self:flex-end}.forum-comment{position:relative;display:flex;flex-direction:column;gap:8px;padding:13px 14px;border:1px solid var(--line);border-radius:15px;background:#fff}.forum-comment__meta{justify-content:flex-start;color:var(--muted);font-size:12px}.forum-comment__meta span:first-child{color:#4338ca;font-weight:800}.forum-comment__body{color:var(--text);font-size:14px;line-height:1.75;white-space:pre-wrap;word-break:break-word}.forum-comment__delete{position:absolute;right:12px;top:10px;background:transparent;color:var(--danger);font-size:12px}.forum-empty{display:flex;align-items:center;justify-content:center;gap:8px;min-height:120px;border:1px dashed var(--line);border-radius:16px;background:#f8fafc;color:var(--muted);font-size:13px;text-align:center;padding:18px}.forum-empty--detail{min-height:280px;flex-direction:column;background:#fff}.sidebar-toggle{display:none;align-items:center;justify-content:center;width:40px;height:40px;border-radius:12px;background:rgba(255,255,255,.92);color:var(--text);position:fixed;top:8px;left:8px;z-index:1100;box-shadow:0 2px 8px rgba(15,23,42,.08);transition:background .15s}.sidebar-toggle:hover{background:#f1f5f9}.sidebar-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(15,23,42,.4);z-index:1040;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease}.app-shell.sidebar-open .sidebar-backdrop{opacity:1;visibility:visible}@media(max-width:1180px){.app-shell,.card-grid--2{grid-template-columns:1fr}.sidebar{position:fixed;top:0;left:0;bottom:0;width:280px;z-index:1050;transform:translate(-100%);transition:transform .3s cubic-bezier(.4,0,.2,1);border-right:1px solid var(--line);border-bottom:none;padding-top:64px}.app-shell.sidebar-open .sidebar{transform:translate(0)}.sidebar-toggle{display:flex}.page-content--flush{padding-top:60px}.topbar{padding-left:68px}.hero-card,.toolbar-row,.topbar{flex-direction:column;align-items:stretch}.hero-card__stats,.hero-card__stats--compact,.kv-grid--4,.kv-grid{grid-template-columns:repeat(2,minmax(0,1fr));min-width:0}.forum-layout,.forum-composer__grid{grid-template-columns:1fr}.forum-side{position:static}.forum-feed__head,.forum-composer__header{align-items:flex-start;flex-direction:column}}@media(max-width:720px){.topbar__toolbar{overflow-x:auto;justify-content:flex-start;padding-bottom:4px;-webkit-overflow-scrolling:touch}.topbar__toolbar>*{flex:0 0 auto}.page-content{padding-left:16px;padding-right:16px}.modal-card,.confirm-dialog{max-width:calc(100vw - 24px)}.form-grid input,.form-grid select,.form-grid textarea{min-height:44px;font-size:16px}.info-card{border-radius:18px;padding:18px}}.kb-select{position:relative}.kb-select--disabled{opacity:.55;pointer-events:none}.kb-select__trigger{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;border:1px solid var(--line);border-radius:16px;background:#f8fafc;padding:12px 14px;outline:none;font-size:14px;color:var(--text);cursor:pointer;transition:border-color .2s,box-shadow .2s}.kb-select__trigger:hover{border-color:#cbd5e1}.kb-select__trigger--open,.kb-select__trigger:focus-visible{border-color:var(--accent);box-shadow:0 0 0 3px rgba(99,102,241,.1)}.kb-select__placeholder{color:var(--muted)}.kb-select__chevron{color:var(--muted);transition:transform .2s;flex-shrink:0}.kb-select__chevron--open{transform:rotate(180deg)}.kb-select__dropdown{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:40;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 12px 36px rgba(15,23,42,.1),0 2px 8px rgba(15,23,42,.06);overflow:hidden;animation:kbSelectIn .15s ease-out}@keyframes kbSelectIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.kb-select__search-wrap{display:flex;align-items:center;gap:8px;padding:10px 14px;border-bottom:1px solid var(--line)}.kb-select__search-icon{color:var(--muted);flex-shrink:0}.kb-select__search{width:100%;border:none;outline:none;background:transparent;font-size:13px;color:var(--text)}.kb-select__search::placeholder{color:#94a3b8}.kb-select__list{max-height:240px;overflow-y:auto;padding:6px}.kb-select__list::-webkit-scrollbar{width:5px}.kb-select__list::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.kb-select__option{display:block;width:100%;text-align:left;padding:9px 12px;border-radius:10px;font-size:13px;color:var(--text);background:transparent;cursor:pointer;transition:background .12s}.kb-select__option:hover{background:#f1f5f9}.kb-select__option--active{background:#eef2ff;color:#4338ca;font-weight:600}.kb-select__option--active:hover{background:#e0e7ff}.kb-select__empty{padding:20px 12px;text-align:center;font-size:13px;color:var(--muted)}.action-btn--danger{color:var(--danger)}.action-btn--danger:hover{background:#fff1f2}.submit-button--ghost{background:var(--bg);color:var(--text);border:1px solid var(--line)}.submit-button--ghost:hover{background:#e2e8f0}.ta-filter-row{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px}.ta-filter-row .action-btn.is-active{border-color:#c7d2fe;background:#eef2ff;color:#4f46e5;font-weight:800}@media(max-width:640px){.page-card label{font-size:14px}.page-card input,.page-card textarea,.page-card select{min-height:44px;font-size:16px;padding:10px 12px}}.image-gen-page{display:flex;flex-direction:column;gap:12px;min-height:0}.image-gen-page-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 14px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.96)}.image-gen-page-head__title{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}.image-gen-page-head__name{display:inline-flex;align-items:center;gap:8px;border:none;background:transparent;padding:4px 0;font-size:16px;font-weight:700;color:var(--text);cursor:pointer;text-align:left;max-width:100%}.image-gen-page-head__name span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.image-gen-page-head__name:hover{color:var(--accent)}.image-gen-page-head__input{width:100%;max-width:420px;border:1px solid var(--accent);border-radius:10px;padding:8px 12px;font-size:16px;font-weight:600;outline:none}.image-gen-page-head__actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.image-gen-drawer-list{display:flex;flex-direction:column;gap:8px}.image-gen-drawer-item{display:flex;align-items:stretch;gap:6px;border:1px solid var(--line);border-radius:14px;background:#f8fafc;overflow:hidden;transition:border-color .15s,box-shadow .15s}.image-gen-drawer-item:hover{border-color:#c7d2fe}.image-gen-drawer-item.is-active{border-color:var(--accent);background:#eef2ff;box-shadow:0 0 0 2px rgba(99,102,241,.12)}.image-gen-drawer-item__main{flex:1;display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;padding:12px 10px 12px 14px;border:none;background:transparent;text-align:left;cursor:pointer}.image-gen-drawer-item__main span{display:flex;flex-direction:column;gap:4px;min-width:0}.image-gen-drawer-item__main strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.image-gen-drawer-item__main small{color:var(--muted);font-size:12px;flex-shrink:0}.image-gen-drawer-item__main:disabled{cursor:not-allowed;opacity:.6}.image-gen-drawer-item__delete{display:flex;align-items:center;justify-content:center;width:44px;flex-shrink:0;border:none;border-left:1px solid var(--line);background:transparent;color:var(--muted);cursor:pointer;transition:color .15s,background .15s}.image-gen-drawer-item__delete:hover:not(:disabled){color:#b91c1c;background:#fef2f2}.image-gen-drawer-item__delete:disabled{opacity:.5;cursor:not-allowed}.image-gen-workbench{align-items:stretch}.image-gen-composer{display:flex;flex-direction:column;gap:12px;min-width:0}.image-gen-composer__chips{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.image-gen-chip{display:inline-flex;align-items:center;max-width:100%;border:1px solid #e2e8f0;border-radius:999px;background:#f8fafc;overflow:hidden}.image-gen-chip--add{gap:6px;padding:6px 12px;font-size:12px;font-weight:600;color:#475569;cursor:pointer;transition:border-color .15s,background .15s,color .15s}.image-gen-chip--add:hover:not(:disabled){border-color:#c7d2fe;background:#eef2ff;color:#4338ca}.image-gen-chip--add:disabled{opacity:.5;cursor:not-allowed}.image-gen-chip__body{display:inline-flex;align-items:center;gap:6px;max-width:220px;padding:6px 10px 6px 12px;border:none;background:transparent;font-size:12px;font-weight:600;color:var(--text);cursor:pointer;min-width:0}.image-gen-chip__body span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.image-gen-chip--sticker .image-gen-chip__body img{width:22px;height:22px;border-radius:6px;object-fit:cover;flex-shrink:0}.image-gen-chip__remove{display:inline-flex;align-items:center;justify-content:center;width:28px;height:100%;border:none;border-left:1px solid #e2e8f0;background:transparent;color:#94a3b8;cursor:pointer;flex-shrink:0}.image-gen-chip__remove:hover:not(:disabled){color:#b91c1c;background:#fef2f2}.image-gen-chip__remove:disabled{opacity:.5;cursor:not-allowed}.image-gen-copy-modal{max-width:520px}.image-gen-copy-modal__hint{margin:0 0 10px;font-size:13px}.image-gen-copy-modal__textarea{width:100%;min-height:180px;border:1px solid var(--line);border-radius:12px;padding:12px;font-size:14px;line-height:1.6;resize:vertical}.image-gen-copy-modal__foot{display:flex;justify-content:flex-end;padding:12px 16px 16px;border-top:1px solid var(--line)}.image-gen-sticker-modal{max-width:560px}.image-gen-sticker-drop{border:1px dashed #cbd5e1;border-radius:14px;padding:16px;background:#f8fafc}.image-gen-sticker-drop__inner{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.image-gen-sticker-modal__list{display:flex;flex-direction:column;gap:8px;margin-top:14px}.image-gen-sticker-modal__item{display:grid;grid-template-columns:40px 1fr auto;gap:10px;align-items:center;padding:8px 10px;border:1px solid var(--line);border-radius:12px;background:#fff}.image-gen-sticker-modal__item img{width:40px;height:40px;border-radius:8px;object-fit:cover}.image-gen-sticker-modal__item span{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.image-gen-sticker-modal__remove{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:8px;background:transparent;color:#94a3b8;cursor:pointer}.image-gen-sticker-modal__remove:hover{color:#b91c1c;background:#fef2f2}.image-gen-composer__box{position:relative;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:18px;background:#fff;min-height:320px;overflow:hidden}.image-gen-composer__hint{margin:0;padding:12px 14px 0;font-size:12px;line-height:1.5}.image-gen-composer__textarea{flex:1;width:100%;min-height:240px;border:none;border-radius:0;background:transparent;padding:12px 14px 72px;font-size:14px;line-height:1.7;resize:vertical;outline:none}.image-gen-composer__toolbar{position:absolute;right:10px;bottom:10px;left:10px;display:flex;justify-content:flex-end;pointer-events:none}.image-gen-composer__toolbar-inner{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end;pointer-events:auto}.image-gen-param-wrap{position:relative}.image-gen-param-chip{display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:32px;padding:0 10px;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.96);font-size:12px;font-weight:600;color:var(--text);cursor:pointer;box-shadow:0 2px 8px rgba(15,23,42,.06);transition:border-color .15s,background .15s}.image-gen-param-chip:hover,.image-gen-param-chip.is-open{border-color:#c7d2fe;background:#eef2ff;color:#4338ca}.image-gen-param-menu{position:absolute;bottom:calc(100% + 8px);right:0;z-index:40;min-width:160px;max-height:240px;overflow-y:auto;border:1px solid #e2e8f0;border-radius:14px;padding:6px;background:rgba(255,255,255,.98);box-shadow:0 12px 32px rgba(15,23,42,.14)}.image-gen-param-menu--wide{min-width:260px;max-height:none}.image-gen-param-menu__title{padding:6px 8px 8px;font-size:12px;font-weight:700;color:var(--muted)}.image-gen-param-menu__label{display:flex;flex-direction:column;gap:6px;padding:0 8px 8px;font-size:12px;font-weight:600;color:var(--text)}.image-gen-param-menu__label textarea{width:100%;border:1px solid var(--line);border-radius:10px;padding:8px 10px;font-size:13px;resize:vertical}.image-gen-param-menu__note{margin:0 8px 8px;font-size:11px}.image-gen-param-menu__item{display:block;width:100%;border:none;border-radius:10px;background:transparent;padding:8px 10px;text-align:left;font-size:13px;cursor:pointer}.image-gen-param-menu__item:hover{background:#f1f5f9}.image-gen-param-menu__item.is-active{background:#eef2ff;color:#4338ca;font-weight:600}.image-gen-send-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;border-radius:12px;background:var(--accent);color:#fff;cursor:pointer;box-shadow:0 4px 12px rgba(99,102,241,.35);transition:opacity .15s,transform .15s}.image-gen-send-btn:hover:not(:disabled){transform:translateY(-1px)}.image-gen-send-btn:disabled{opacity:.55;cursor:not-allowed}.image-gen-send-btn.is-generating{animation:image-gen-send-pulse 1.2s ease-in-out infinite}@keyframes image-gen-send-pulse{0%,to{box-shadow:0 4px 12px rgba(99,102,241,.35);transform:scale(1)}50%{box-shadow:0 4px 20px rgba(99,102,241,.55);transform:scale(1.06)}}.image-gen-composer__upload{display:flex;flex-direction:column;gap:8px;padding:12px 14px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.96)}.image-gen-ref-panel{display:flex;flex-direction:column;gap:10px;padding:14px 16px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(180deg,#f8fafc,#fff)}.image-gen-ref-panel__head{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--text)}.image-gen-ref-drop.image-file-drop-zone{border-radius:14px;padding:0;min-height:0}.image-gen-ref-drop.image-file-drop-zone.is-dragging{border:2px dashed #818cf8;background:rgba(238,242,255,.6);border-radius:12px}.image-gen-ref-url{display:flex;flex-direction:column;gap:10px;padding:12px;border:1px dashed #cbd5e1;border-radius:12px;background:#fff;transition:border-color .15s,box-shadow .15s}.image-gen-ref-drop.image-file-drop-zone:not(.is-dragging):hover .image-gen-ref-url,.image-gen-ref-url:focus-within{border-color:#a5b4fc;box-shadow:0 0 0 3px rgba(99,102,241,.1)}.image-gen-ref-url__field{display:flex;align-items:center;gap:8px;padding:0 4px 0 10px;border:1px solid #e2e8f0;border-radius:10px;background:#f8fafc;transition:border-color .15s,background .15s}.image-gen-ref-url:focus-within .image-gen-ref-url__field{border-color:#818cf8;background:#fff}.image-gen-ref-url__icon{flex-shrink:0;color:#94a3b8}.image-gen-ref-url__input{flex:1;min-width:0;border:none;background:transparent;padding:10px 8px 10px 0;font-size:14px;outline:none;color:var(--text)}.image-gen-ref-url__input::placeholder{color:#94a3b8}.image-gen-ref-url__logo{flex-shrink:0;margin-right:4px;padding:4px 10px;border:1px solid #c7d2fe;border-radius:8px;background:#eef2ff;color:#4338ca;font-size:12px;font-weight:600;cursor:pointer}.image-gen-ref-url__logo:hover:not(:disabled){background:#e0e7ff}.image-gen-ref-url__logo:disabled{opacity:.5;cursor:not-allowed}.image-gen-ref-url__actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.image-gen-ref-url__upload-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border:none;border-radius:10px;background:var(--accent);color:#fff;font-size:13px;font-weight:600;cursor:pointer;transition:opacity .15s,transform .15s}.image-gen-ref-url__upload-btn:hover:not(:disabled){transform:translateY(-1px)}.image-gen-ref-url__upload-btn:disabled{opacity:.55;cursor:not-allowed}.image-gen-ref-url__or{font-size:12px;color:var(--muted)}.image-gen-ref-panel__selected{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid #e2e8f0;border-radius:12px;background:#fff}.image-gen-ref-panel__badge{font-size:13px;font-weight:600;color:#4338ca;background:#eef2ff;padding:6px 12px;border-radius:999px}.image-gen-ref-panel__add{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border:1px solid var(--line);border-radius:10px;background:#fff;font-size:13px;font-weight:600;color:var(--text);cursor:pointer}.image-gen-ref-panel__add:hover:not(:disabled){border-color:#c7d2fe;color:#4338ca}.image-gen-ref-panel__add:disabled{opacity:.5;cursor:not-allowed}.image-gen-ref-drop .image-gen-source-grid{margin-top:12px;padding:0 4px 4px}.image-gen-composer--img2img .image-gen-composer__textarea{min-height:200px}.image-gen-history-column{min-height:0}.image-gen-history-panel{display:flex;flex-direction:column;gap:12px;max-height:calc(100vh - 220px);overflow:hidden}.image-gen-history-panel h3{flex-shrink:0;margin:0}.image-gen-history-panel .xhs-image-grid{flex:1;overflow-y:auto;padding-right:4px;align-content:start}.image-gen-grid-loading{display:flex;align-items:center;gap:10px;padding:8px 0 12px;font-size:13px;color:var(--muted)}.image-gen-grid-loading__dot{width:8px;height:8px;border-radius:50%;background:var(--accent);flex-shrink:0}.image-gen-version-card{cursor:pointer}.image-gen-version-card__meta{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px;font-size:12px}.image-gen-version-card__meta strong{font-size:12px}.image-gen-version-card__foot{display:block;margin-top:8px;font-size:11px}.image-gen-version-card .xhs-image-card__action{text-decoration:none;color:inherit}.image-gen-drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:rgba(15,23,42,.35)}.image-gen-drawer{position:fixed;top:0;right:0;z-index:210;width:min(360px,92vw);height:100vh;display:flex;flex-direction:column;background:#fff;border-left:1px solid var(--line);box-shadow:-12px 0 40px rgba(15,23,42,.12);animation:imageGenDrawerIn .22s ease-out}@keyframes imageGenDrawerIn{0%{transform:translate(100%)}to{transform:translate(0)}}.image-gen-drawer__head{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid var(--line)}.image-gen-drawer__head h3{margin:0;font-size:16px}.image-gen-drawer__body{flex:1;overflow-y:auto;padding:14px 16px}.creative-draft-item.is-active{border-color:var(--accent);background:#eef2ff;box-shadow:0 0 0 2px rgba(99,102,241,.12)}.spin{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.kg-page{min-height:100vh;background:#f5f6f8;display:flex;flex-direction:column;align-items:center;padding:0}.kg-header{width:100%;max-width:600px;display:flex;align-items:center;gap:12px;padding:16px 20px;box-sizing:border-box}.kg-back-btn{border:none;background:none;cursor:pointer;color:#6b7280;padding:4px;display:flex;align-items:center}.kg-header-title{font-size:18px;font-weight:600;color:#1f2937}.kg-card{width:100%;max-width:600px;background:#fff;border-radius:12px;margin:0 20px 20px;box-shadow:0 1px 4px rgba(0,0,0,.06);box-sizing:border-box}.kg-card--form{padding:24px 20px}.kg-card--success,.kg-card--error,.kg-card--info{padding:48px 24px;text-align:center;margin-top:40px}.kg-loading{padding:60px 20px;text-align:center;color:#9ca3af;font-size:15px}.kg-info-section{margin-bottom:20px}.kg-info-row{display:flex;gap:8px;padding:8px 0;border-bottom:1px solid #f3f4f6}.kg-info-row--question{flex-direction:column;gap:4px;border-bottom:none;padding-top:12px}.kg-label{flex-shrink:0;width:70px;font-size:13px;color:#9ca3af}.kg-value{font-size:14px;color:#1f2937;flex:1}.kg-value--warning{color:#ef4444;font-weight:500}.kg-value--question{font-size:15px;color:#111827;line-height:1.6}.kg-input-section{margin-bottom:20px}.kg-input-label{display:block;font-size:14px;font-weight:500;color:#374151;margin-bottom:8px}.kg-select{width:100%;min-height:44px;padding:8px 12px;border:1px solid #d1d5db;border-radius:8px;background:#fff;color:#1f2937;font:inherit;box-sizing:border-box}.kg-select:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 2px rgba(99,102,241,.12)}.kg-textarea{width:100%;min-height:120px;padding:12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;font-family:inherit;resize:vertical;box-sizing:border-box;transition:border-color .15s}.kg-textarea:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 2px rgba(99,102,241,.12)}.kg-actions{display:flex;gap:12px;flex-direction:column}.kg-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:12px 20px;border-radius:8px;font-size:15px;font-weight:500;cursor:pointer;border:none;transition:background .15s,opacity .15s}.kg-btn:disabled{opacity:.55;cursor:not-allowed}.kg-btn--primary{background:#4f46e5;color:#fff}.kg-btn--primary:not(:disabled):hover{background:#4338ca}.kg-btn--ghost{background:#f3f4f6;color:#6b7280}.kg-btn--ghost:not(:disabled):hover{background:#e5e7eb}.kg-btn--secondary{background:#f3f4f6;color:#374151;margin-top:12px}.kg-icon--success{color:#10b981;margin-bottom:12px}.kg-icon--error{color:#ef4444;margin-bottom:12px}.kg-icon--info{color:#6366f1;margin-bottom:12px}.kg-title{font-size:20px;font-weight:600;color:#1f2937;margin:0 0 8px}.kg-desc{font-size:14px;color:#6b7280;line-height:1.6;margin:0 0 20px}.kg-error-text{font-size:14px;color:#ef4444;margin:0 0 20px}
