/* AI 智能助手 v1.0 */
.ai-config-card{grid-column:1/-1!important;border:1px solid #dfe7ff!important;border-left:4px solid #3157d5!important;border-radius:12px!important;background:linear-gradient(135deg,#fff 0%,#f8faff 100%)!important;box-shadow:0 8px 24px rgba(49,87,213,.07)!important}
.ai-config-title{display:flex;align-items:center;justify-content:space-between;gap:16px;cursor:pointer;user-select:none}
.ai-config-title-main{display:flex;align-items:center;gap:11px}
.ai-config-logo{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:10px;background:linear-gradient(145deg,#3157d5,#6a5de8);color:#fff;font-size:12px;font-weight:800;letter-spacing:-.03em;box-shadow:0 5px 14px rgba(49,87,213,.22)}
.ai-config-title strong{display:block;color:#1c2940;font-size:14px}
.ai-config-title small{display:block;margin-top:3px;color:#7e899c;font-size:11px;font-weight:400}
.ai-config-arrow{color:#59677f;font-size:11px}
.ai-config-body{margin-top:15px;padding-top:15px;border-top:1px solid #e7ebf4}
.ai-config-intro{display:flex;justify-content:space-between;gap:20px;margin-bottom:15px;padding:13px 15px;border:1px solid #dfe6f5;border-radius:10px;background:rgba(255,255,255,.85)}
.ai-config-intro p{margin:0;color:#66738a;font-size:12px;line-height:1.65}
.ai-config-intro b{color:#263b75}
.ai-readonly-badge{display:inline-flex;align-items:center;height:27px;padding:0 10px;border-radius:999px;background:#eaf8f0;color:#247a4b;font-size:10px;font-weight:750;white-space:nowrap}
.ai-config-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.ai-config-field{min-width:0}
.ai-config-field.ai-span-2{grid-column:1/-1}
.ai-config-field label{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px;color:#344157;font-size:11px;font-weight:700}
.ai-config-field label em{color:#8490a3;font-size:10px;font-style:normal;font-weight:500}
.ai-config-field input,.ai-config-field select{width:100%;height:39px;padding:0 11px;border:1px solid #d9e0ec;border-radius:8px;background:#fff;color:#25324a;font:500 12px "Microsoft YaHei",sans-serif;outline:none;transition:.18s ease}
.ai-config-field input:focus,.ai-config-field select:focus{border-color:#5978df;box-shadow:0 0 0 3px rgba(49,87,213,.09)}
.ai-config-field input.is-readonly{background:#f6f8fb;color:#64718a}
.ai-secret-wrap{display:flex;align-items:center;gap:7px}
.ai-secret-wrap input{flex:1}
.ai-secret-wrap button{height:39px;padding:0 11px;border:1px solid #d9e0ec;border-radius:8px;background:#fff;color:#52617a;font:600 11px "Microsoft YaHei",sans-serif;cursor:pointer}
.ai-field-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:6px;color:#7f8a9d;font-size:10px}
.ai-field-foot label{display:flex;margin:0;color:#a44b4b;font-size:10px;font-weight:500;cursor:pointer}
.ai-field-foot input{width:13px;height:13px;margin-right:4px}
.ai-config-switch{display:flex;align-items:center;gap:10px;margin-top:14px;padding:11px 13px;border:1px solid #e0e6f0;border-radius:9px;background:#fff}
.ai-config-switch input{width:17px;height:17px;accent-color:#3157d5}
.ai-config-switch div{flex:1}
.ai-config-switch strong{display:block;color:#30405b;font-size:12px}
.ai-config-switch small{display:block;margin-top:2px;color:#8893a4;font-size:10px}
.ai-config-actions{display:flex;align-items:center;gap:8px;margin-top:13px}
.ai-config-actions button{height:36px;padding:0 15px;border:1px solid #d5ddea;border-radius:8px;background:#fff;color:#42516a;font:650 11px "Microsoft YaHei",sans-serif;cursor:pointer;transition:.16s ease}
.ai-config-actions button:hover{transform:translateY(-1px);border-color:#7890df}
.ai-config-actions .primary{border-color:#3157d5;background:linear-gradient(135deg,#3157d5,#536cd6);color:#fff;box-shadow:0 5px 13px rgba(49,87,213,.18)}
.ai-config-actions button:disabled{cursor:wait;opacity:.65;transform:none}
.ai-config-result{flex:1;min-height:18px;margin-left:6px;color:#6f7b8f;font-size:11px;line-height:1.5}
.ai-config-result.success{color:#237a4a}.ai-config-result.error{color:#b54242}.ai-config-result.loading{color:#846c24}

.ai-fab{position:fixed;right:22px;bottom:22px;z-index:1200;display:flex;align-items:center;gap:9px;height:48px;padding:0 15px 0 8px;border:1px solid rgba(255,255,255,.28);border-radius:16px;background:linear-gradient(145deg,#243d8f,#4f5ed0);color:#fff;box-shadow:0 12px 30px rgba(38,54,126,.28);font:700 12px "Microsoft YaHei",sans-serif;cursor:pointer;transition:.2s ease}
.ai-fab:hover{transform:translateY(-2px);box-shadow:0 15px 34px rgba(38,54,126,.34)}
.ai-fab-mark{display:flex;align-items:center;justify-content:center;width:33px;height:33px;border-radius:11px;background:rgba(255,255,255,.16);font-size:11px;font-weight:850}
.ai-fab-label{white-space:nowrap}
.ai-fab>i{position:absolute;top:5px;right:6px;width:7px;height:7px;border:2px solid #3448a8;border-radius:50%;background:#aeb6d5}
.ai-fab>i.is-online{background:#42d48f}.ai-fab>i.is-offline{background:#f4b74b}
.ai-backdrop{position:fixed;inset:0;z-index:1290;visibility:hidden;background:rgba(19,28,49,.22);opacity:0;backdrop-filter:blur(1px);transition:.22s ease}
.ai-backdrop.is-open{visibility:visible;opacity:1}
.ai-drawer{position:fixed;top:0;right:0;bottom:0;z-index:1300;display:flex;flex-direction:column;width:min(455px,100vw);background:#f7f8fb;border-left:1px solid #e0e5ee;box-shadow:-18px 0 48px rgba(25,37,62,.16);transform:translateX(105%);transition:transform .25s cubic-bezier(.22,.8,.28,1)}
.ai-drawer.is-open{transform:translateX(0)}
.ai-drawer-header{display:flex;align-items:center;justify-content:space-between;min-height:68px;padding:12px 15px;border-bottom:1px solid #e3e7ef;background:rgba(255,255,255,.94);backdrop-filter:blur(12px)}
.ai-brand{display:flex;align-items:center;gap:10px}
.ai-brand>span{display:flex;align-items:center;justify-content:center;width:39px;height:39px;border-radius:13px;background:linear-gradient(145deg,#2f4aa0,#625ccf);color:#fff;font-size:12px;font-weight:850;box-shadow:0 6px 14px rgba(48,64,156,.19)}
.ai-brand strong{display:block;color:#1e2b42;font-size:13px}
.ai-brand small{display:flex;align-items:center;gap:5px;margin-top:3px;color:#758097;font-size:10px}
.ai-brand small i{width:6px;height:6px;border-radius:50%;background:#3cc482}
.ai-header-actions{display:flex;gap:4px}
.ai-header-actions button{display:flex;align-items:center;justify-content:center;width:31px;height:31px;border:0;border-radius:9px;background:transparent;color:#69758a;font-size:19px;cursor:pointer}
.ai-header-actions button:hover{background:#eef1f6;color:#273650}
.ai-chat-panel{display:flex;flex:1;min-height:0;flex-direction:column}
.ai-context-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:35px;padding:0 15px;border-bottom:1px solid #e7eaf0;background:#fbfcfd;color:#7b8699;font-size:9.5px}
.ai-context-bar span:before{content:"";display:inline-block;width:6px;height:6px;margin-right:6px;border-radius:50%;background:#4f70dc}
.ai-context-bar em{min-width:0;max-width:58%;overflow:hidden;color:#929bac;font-style:normal;text-align:right;text-overflow:ellipsis;white-space:nowrap}
.ai-messages{flex:1;min-height:0;overflow-y:auto;padding:19px 15px 12px;scrollbar-width:thin;scrollbar-color:#cad1df transparent}
.ai-welcome{margin:38px auto 20px;max-width:315px;text-align:center}
.ai-welcome>span{display:flex;align-items:center;justify-content:center;width:48px;height:48px;margin:0 auto 14px;border-radius:16px;background:linear-gradient(145deg,#e8edff,#f2ebff);color:#3a53ad;font-size:13px;font-weight:850;box-shadow:inset 0 0 0 1px #dbe2fa}
.ai-welcome h3{margin:0 0 8px;color:#25334c;font-size:17px}
.ai-welcome p{margin:0;color:#7b8699;font-size:11px;line-height:1.7}
.ai-message{display:flex;align-items:flex-start;gap:8px;margin-bottom:15px}
.ai-message-user{flex-direction:row-reverse}
.ai-avatar{display:flex;align-items:center;justify-content:center;width:28px;height:28px;flex:0 0 28px;border-radius:9px;background:linear-gradient(145deg,#314c9f,#645ecf);color:#fff;font-size:9px;font-weight:800}
.ai-message-user .ai-avatar{background:#dfe4ec;color:#566278}
.ai-bubble{max-width:calc(100% - 40px);padding:10px 12px;border:1px solid #e0e5ee;border-radius:5px 14px 14px 14px;background:#fff;color:#334057;box-shadow:0 3px 10px rgba(31,47,78,.035);font-size:11.5px;line-height:1.72}
.ai-message-user .ai-bubble{border-color:#ccd8fa;border-radius:14px 5px 14px 14px;background:#eaf0ff;color:#293958}
.ai-bubble p{margin:0 0 6px}.ai-bubble p:last-of-type{margin-bottom:0}
.ai-bubble small{display:block;margin-top:8px;padding-top:7px;border-top:1px solid #edf0f4;color:#939cab;font-size:9px}
.ai-bubble h4{margin:2px 0 8px;color:#253653;font-size:12px;font-weight:780;line-height:1.45}
.ai-bubble h4:not(:first-child){margin-top:12px;padding-top:10px;border-top:1px solid #edf0f5}
.ai-bubble ol,.ai-bubble ul{margin:5px 0 9px;padding-left:20px;color:#334057}
.ai-bubble li{margin:0 0 5px;padding-left:2px;line-height:1.62}.ai-bubble li:last-child{margin-bottom:0}
.ai-bubble li::marker{color:#4e65be;font-size:10px;font-weight:750}
.ai-bubble strong{color:#263a66;font-weight:760}.ai-bubble code{padding:1px 4px;border-radius:4px;background:#f0f3f8;color:#3d4d69;font:500 10.5px Consolas,monospace}
.ai-message-assistant .ai-bubble{min-width:0}.ai-message-assistant .ai-bubble>p{line-height:1.68}
.ai-bullet{margin-right:5px;color:#4f67c4;font-weight:800}
.ai-thinking{display:flex;align-items:center;gap:5px;color:#808b9d}
.ai-thinking i{width:5px;height:5px;border-radius:50%;background:#687bd0;animation:aiPulse 1.1s infinite}.ai-thinking i:nth-child(2){animation-delay:.16s}.ai-thinking i:nth-child(3){animation-delay:.32s}
.ai-thinking span{margin-left:4px;font-size:10px}
@keyframes aiPulse{0%,70%,100%{opacity:.25;transform:translateY(0)}35%{opacity:1;transform:translateY(-3px)}}
.ai-suggestions{display:flex;gap:6px;overflow-x:auto;padding:8px 13px 9px;scrollbar-width:none}
.ai-suggestions::-webkit-scrollbar{display:none}
.ai-suggestions button{height:28px;padding:0 10px;flex:0 0 auto;border:1px solid #dce2ec;border-radius:999px;background:#fff;color:#657188;font:600 9.5px "Microsoft YaHei",sans-serif;cursor:pointer}
.ai-suggestions button:hover{border-color:#8298e6;color:#354fa9;background:#f7f9ff}
.ai-composer{display:flex;align-items:flex-end;gap:8px;margin:0 12px;padding:8px 8px 8px 12px;border:1px solid #cfd7e4;border-radius:14px;background:#fff;box-shadow:0 7px 22px rgba(27,44,77,.07)}
.ai-composer:focus-within{border-color:#6b82d9;box-shadow:0 0 0 3px rgba(62,85,179,.08),0 7px 22px rgba(27,44,77,.07)}
.ai-composer textarea{min-height:27px;max-height:110px;flex:1;padding:5px 0;border:0;outline:0;resize:none;color:#2c3950;font:500 11.5px/1.55 "Microsoft YaHei",sans-serif}
.ai-composer button{display:flex;align-items:center;justify-content:center;width:32px;height:32px;flex:0 0 32px;border:0;border-radius:10px;background:linear-gradient(145deg,#3451ae,#5d62cc);color:#fff;font-size:18px;cursor:pointer}
.ai-composer button:disabled{opacity:.45;cursor:wait}
.ai-disclaimer{padding:7px 15px 10px;color:#9ba3b0;font-size:8.5px;text-align:center}
.ai-access-panel{display:flex;flex:1;align-items:center;justify-content:center;flex-direction:column;padding:28px;text-align:center}
.ai-access-icon{display:flex;align-items:center;justify-content:center;width:54px;height:54px;margin-bottom:15px;border-radius:17px;background:#eef2ff;color:#3e57b2;font-size:11px;font-weight:800}
.ai-access-panel h3{margin:0 0 7px;color:#25324a;font-size:16px}
.ai-access-panel p{max-width:300px;margin:0 0 17px;color:#818b9c;font-size:10.5px;line-height:1.65}
.ai-access-panel input{width:100%;max-width:300px;height:42px;padding:0 12px;border:1px solid #d4dbe7;border-radius:9px;outline:0;font:500 12px "Microsoft YaHei",sans-serif}
.ai-access-panel input:focus{border-color:#5d75cf;box-shadow:0 0 0 3px rgba(61,83,174,.09)}
.ai-access-panel>button{width:100%;max-width:300px;height:39px;margin-top:9px;border:0;border-radius:9px;background:#3a55b2;color:#fff;font:700 11px "Microsoft YaHei",sans-serif;cursor:pointer}
#ai-access-error{min-height:18px;margin-top:8px;color:#b74343;font-size:10px}
.ai-system-card{margin:24px;padding:17px;border:1px solid #dfe4ef;border-radius:12px;background:#fff;color:#536078;text-align:center}
.ai-system-card strong{display:block;color:#2d3b56;font-size:13px}.ai-system-card p{font-size:11px;line-height:1.65}
.ai-system-card button{height:32px;padding:0 13px;border:0;border-radius:8px;background:#3c57b4;color:#fff;font:650 10px "Microsoft YaHei",sans-serif;cursor:pointer}

.ai-data-bubble{width:calc(100% - 40px);max-width:calc(100% - 40px);padding:0;overflow:hidden}
.ai-data-result{background:#fff}
.ai-data-section{padding:12px 13px;border-bottom:1px solid #edf0f5}
.ai-data-section:last-child{border-bottom:0}
.ai-data-title{margin-bottom:8px;color:#69758a;font-size:9.5px;font-weight:750;letter-spacing:.08em}
.ai-data-summary{background:linear-gradient(135deg,#f5f8ff,#fff)}
.ai-data-summary p{margin:0!important;color:#233454!important;font-size:13px;font-weight:750;line-height:1.6!important}
.ai-data-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.ai-data-metric{position:relative;min-width:0;padding:8px 7px;border:1px solid #e5e9f1;border-radius:9px;background:#fafbfc;text-align:center}
.ai-data-metric:before{content:"";position:absolute;top:0;left:8px;right:8px;height:2px;border-radius:2px;background:#6e7e9d}
.ai-data-metric span{display:block;overflow:hidden;color:#748096;font-size:9px;text-overflow:ellipsis;white-space:nowrap}
.ai-data-metric strong{display:inline-block;margin-top:3px;color:#253653;font-size:17px;line-height:1}
.ai-data-metric em{margin-left:2px;color:#949dad;font-size:8px;font-style:normal}
.ai-data-metric.is-development:before{background:#e0a12e}.ai-data-metric.is-production:before{background:#426fd0}.ai-data-metric.is-completed:before{background:#35a36b}.ai-data-metric.is-paused:before{background:#dc843b}.ai-data-metric.is-cancelled:before{background:#9a6b73}
.ai-data-products{display:flex;flex-direction:column;gap:5px}
.ai-data-product{display:flex;align-items:center;gap:8px;min-width:0;padding:8px;border:1px solid #e8ebf1;border-radius:9px;background:#fcfcfd}
.ai-data-product>b{display:flex;align-items:center;justify-content:center;width:20px;height:20px;flex:0 0 20px;border-radius:6px;background:#eef2fa;color:#5870a5;font-size:8.5px}
.ai-data-product>div{min-width:0;flex:1}
.ai-data-product>div strong{display:block;overflow:hidden;color:#2a3850;font-size:10.5px;line-height:1.45;text-overflow:ellipsis;white-space:nowrap}
.ai-data-product>div span{display:block;overflow:hidden;margin-top:2px;color:#8a94a5;font-size:8.5px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}
.ai-data-product>em{flex:0 0 auto;padding:3px 6px;border-radius:999px;background:#fff4db;color:#96660d;font-size:8px;font-style:normal;font-weight:700}
.ai-data-product>em.is-production{background:#eaf0ff;color:#315ab9}.ai-data-product>em.is-completed{background:#e9f7ef;color:#278155}.ai-data-product>em.is-paused{background:#fff0e4;color:#a75b20}.ai-data-product>em.is-cancelled{background:#f5eaec;color:#96505c}
.ai-data-note{background:#fafbfc}
.ai-data-note p{margin:0!important;color:#8490a2!important;font-size:9px;line-height:1.65!important}
.ai-data-empty{padding:12px;color:#8b95a6;font-size:10px;text-align:center}

.ai-data-product>div strong{overflow:visible;text-overflow:clip;white-space:normal;word-break:break-word}
.ai-data-bubble>small{margin:0;padding:7px 13px 9px}
@media(max-width:768px){
  .ai-config-grid{grid-template-columns:1fr}.ai-config-field.ai-span-2{grid-column:auto}
  .ai-config-intro{flex-direction:column;gap:9px}.ai-config-actions{flex-wrap:wrap}.ai-config-result{width:100%;flex-basis:100%;margin:3px 0 0}
  .ai-fab{right:13px;bottom:15px;height:44px;padding-right:12px}.ai-fab-label{display:none}
  .ai-drawer{width:100vw}.ai-backdrop{display:none}
  .ai-drawer-header{padding-top:max(12px,env(safe-area-inset-top))}
  .ai-disclaimer{padding-bottom:max(10px,env(safe-area-inset-bottom))}
}

