@import url('/fonts.css');
:root{--navy:#102c40;--ink:#193747;--muted:#75838e;--line:#e6ecef;--bg:#f3f6f8;--teal:#097f7c;--teal-soft:#e8f5f1;--white:#fff;--orange:#cb8c36;--danger:#bc5555;--shadow:0 6px 28px #16384b06;font-family:'Microsoft YaHei','PingFang SC',system-ui,sans-serif;color:var(--ink);font-size:14px}*{box-sizing:border-box}body{margin:0;background:var(--bg)}button,input,select,textarea{font:inherit}button,a,select{touch-action:manipulation}button{cursor:pointer}a{color:var(--teal);text-decoration:none}button{border:0}button:disabled{cursor:not-allowed;opacity:.5}.hidden{display:none!important}.muted{color:var(--muted)}.small{font-size:12px}.brand{display:flex;align-items:center;gap:12px;color:white;font-weight:700;font-size:26px;letter-spacing:2px}.brand small{display:block;font-size:10px;font-weight:400;letter-spacing:1px;color:#9db3bf;margin-top:3px}.brand-mark{display:grid;place-items:center;background:#1d8b83;color:#fff;width:42px;height:42px;border-radius:12px;font-size:24px;letter-spacing:0}.app{display:flex;min-height:100vh}.sidebar{width:228px;position:fixed;inset:0 auto 0 0;background:var(--navy);padding:29px 20px;display:flex;flex-direction:column;z-index:30}.workspace{display:flex;gap:8px;align-items:center;border:1px solid #ffffff16;background:#ffffff05;border-radius:7px;padding:13px 10px;margin:29px 0 23px;font-size:11px;color:#b9cbd4}.live-dot,.engine-dot{width:7px;height:7px;border-radius:50%;background:#6fceb1;flex-shrink:0}nav{flex:1;overflow:auto}.nav-section{color:#78919e;font-size:10px;letter-spacing:1.5px;margin:21px 14px 9px}.nav-item{display:flex;align-items:center;gap:12px;padding:12px 14px;color:#abc0cc;border-radius:7px;margin:3px 0;font-size:13px;transition:.15s}.nav-item:hover{color:white;background:#ffffff08}.nav-item.active{color:white;background:#1f4a57}.nav-icon{font-size:17px;width:20px;text-align:center}.nav-count{margin-left:auto;background:#ffffff12;border-radius:4px;padding:2px 6px;font-size:10px}.sidebar-foot{padding:20px 8px 0;border-top:1px solid #ffffff12;display:flex;gap:11px;align-items:center;font-size:11px;color:#b9cbd4}.sidebar-foot small{display:block;font-size:10px;color:#718e9c;margin-top:6px}.main{margin-left:228px;flex:1;min-width:0}.topbar{height:78px;padding:0 36px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:14px}.breadcrumbs{font-size:12px;color:#82939c;white-space:nowrap}.breadcrumbs span{margin:0 12px;color:#c7d0d5}.breadcrumbs b{font-weight:500;color:var(--ink)}.top-actions{display:flex;align-items:center;gap:16px}.top-actions select{border:1px solid var(--line);border-radius:6px;font-size:12px;padding:8px 25px 8px 11px;background:white;color:#526874;max-width:180px}.icon-btn{background:transparent;color:#728792;padding:5px 8px;font-size:22px;border-radius:5px}.icon-btn:hover{background:var(--bg)}.text-btn{background:transparent;color:#87969e;font-size:12px}.profile{display:flex;align-items:center;gap:9px;background:transparent;color:#526874;font-size:12px}.profile>span:first-child{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:#e7f0ed;color:#39766a}.main main{max-width:1640px;margin:0 auto;padding:33px 36px 25px;min-height:calc(100vh - 132px)}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:26px}.page-heading h1{font-size:27px;font-weight:650;letter-spacing:.5px;margin:0 0 10px}.page-heading p{font-size:12px;color:var(--muted);margin:0;line-height:1.8}.heading-actions{display:flex;gap:9px;flex-wrap:wrap}.btn{border:1px solid #dce5e8;background:white;color:#4d6774;padding:9px 15px;border-radius:6px;font-size:12px;display:inline-flex;gap:8px;align-items:center;justify-content:center;white-space:nowrap;min-height:36px}.btn:hover{border-color:#83ada7}.btn.primary{background:var(--teal);border-color:var(--teal);color:white}.btn.danger{color:var(--danger);border-color:#e8cccc}.btn.small-btn{font-size:11px;min-height:29px;padding:5px 9px}.btn.wide{width:100%}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:22px}.metric{padding:21px 22px;background:white;border:1px solid var(--line);border-radius:9px;box-shadow:var(--shadow);min-width:0}.metric-label{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:#6c808b}.metric-icon{font-size:16px;color:#83a8a1}.metric-value{font-size:31px;letter-spacing:-.7px;margin:15px 0 11px;font-family:system-ui,'Microsoft YaHei',sans-serif;font-weight:650}.metric-value small{font-size:12px;color:#8b9aa2;margin-left:7px;font-weight:400}.metric-hint{font-size:11px;color:#87969e}.metric-hint .green{color:var(--teal)}.overview-banner{background:var(--navy);border-radius:9px;display:flex;justify-content:space-between;align-items:center;color:white;padding:23px 28px;margin-bottom:23px;gap:20px}.overview-banner .eyebrow{font-size:9px;letter-spacing:2px;color:#86b7b9}.overview-banner h2{font-size:22px;margin:10px 0}.overview-banner p{font-size:12px;line-height:1.8;color:#abc4ce;margin:0}.banner-number{font-size:42px;font-weight:600;white-space:nowrap;color:#8bddd1;font-family:system-ui}.banner-number small{font-size:12px;margin-left:8px;color:#c6d7df;font-weight:400}.grid-2{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:21px;margin-bottom:22px}.grid-half{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:21px}.panel{background:white;border:1px solid var(--line);border-radius:9px;box-shadow:var(--shadow);overflow:hidden;margin-bottom:21px}.grid-2>.panel{margin-bottom:0}.panel-head{padding:20px 23px;display:flex;justify-content:space-between;align-items:center;gap:12px;border-bottom:1px solid #edf1f3}.panel-head h2{font-size:15px;margin:0;font-weight:600}.panel-head span,.panel-head a{font-size:11px;color:#7c919c}.panel-body{padding:22px 23px}.chart-rows{display:flex;flex-direction:column;gap:20px}.bar-line{display:grid;grid-template-columns:120px 1fr 80px;align-items:center;gap:14px;font-size:12px}.bar-track{height:9px;border-radius:3px;background:#edf2f3;overflow:hidden}.bar-fill{height:100%;background:var(--teal);border-radius:3px;min-width:2px}.bar-line strong{text-align:right;font-size:12px;font-family:system-ui;font-weight:500}.legend{display:flex;gap:18px;color:#8a9ca5;font-size:10px;margin-top:24px}.legend i{display:inline-block;width:7px;height:7px;background:var(--teal);margin-right:6px;border-radius:2px}.task-brief{display:flex;align-items:center;justify-content:space-between;padding:13px 0;border-bottom:1px solid #f0f3f5;gap:10px}.task-brief:last-child{border-bottom:0}.task-brief strong{font-size:12px;font-weight:500}.task-brief p{font-size:11px;color:#93a1a8;margin:6px 0 0}.tag{display:inline-block;padding:4px 8px;line-height:1.3;border-radius:4px;font-size:10px;white-space:nowrap;background:#eef2f4;color:#768894}.tag.green{background:#e7f5ef;color:#2d8b71}.tag.orange{background:#fff4e4;color:#bd872f}.tag.red{background:#fcefee;color:#bd6860}.tag.blue{background:#eaf2fa;color:#5a87af}.toolbar{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:17px 22px;background:#fff;border-bottom:1px solid var(--line);flex-wrap:wrap}.search{display:flex;align-items:center;gap:10px;color:#9aacb4;min-width:200px}.search input{border:0;outline:none;min-width:170px;font-size:12px;padding:6px;color:var(--ink)}.filter select{padding:7px 28px 7px 10px;border:1px solid var(--line);background:white;border-radius:5px;color:#68808b;font-size:12px}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;text-align:left;white-space:nowrap}th{font-size:11px;font-weight:400;color:#8295a0;background:#fafcfd;padding:14px 20px}td{font-size:12px;padding:17px 20px;border-top:1px solid #f0f3f5;color:#526c79}td strong{color:var(--ink);font-weight:500}td small{display:block;color:#95a4ac;font-size:10px;margin-top:5px}tr:hover td{background:#fafcfc}.amount{font-family:system-ui;font-weight:600;color:#274e5c}.amount.teal{color:var(--teal)}.row-actions{display:flex;align-items:center;gap:11px}.link-btn{border:0;background:transparent;color:var(--teal);padding:0;font-size:11px}.link-btn:hover{text-decoration:underline}.table-footer{padding:15px 22px;border-top:1px solid var(--line);color:#93a2ab;font-size:11px;display:flex;justify-content:space-between;align-items:center}.empty{text-align:center;padding:55px 20px;color:#93a3ac}.empty strong{display:block;font-size:16px;color:#587581;margin-bottom:10px}.info-line{background:#edf5f5;border:1px solid #dcebed;color:#5f8589;padding:13px 17px;border-radius:6px;font-size:12px;line-height:1.8;margin-bottom:22px}.info-line.warn{background:#fff8ed;border-color:#f0e4cf;color:#9b7c48}.tabs{display:flex;gap:26px;border-bottom:1px solid var(--line);margin-bottom:22px}.tab{border:0;border-bottom:2px solid transparent;background:transparent;padding:0 2px 13px;color:#8a9ca6;font-size:13px}.tab.active{border-color:var(--teal);color:var(--teal);font-weight:600}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:22px}.service-card{background:white;padding:23px;border:1px solid var(--line);border-radius:9px}.service-card .service-symbol{font-size:29px;color:var(--teal)}
.service-symbol img{width:34px;height:34px;object-fit:contain;display:block}.service-card h3{font-size:16px;margin:16px 0 9px}.service-card p{font-size:12px;color:var(--muted);line-height:1.8}.service-card .btn{margin-top:10px}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;padding:27px 24px}.step-number{font:600 27px system-ui;color:#bfd8d4}.steps h3{font-size:13px;font-weight:500;margin:12px 0 7px}.steps p{font-size:11px;color:#8a9da7;line-height:1.9}.integration-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.integration-card{border:1px solid var(--line);border-radius:8px;background:white;padding:23px}.integration-card header{display:flex;justify-content:space-between;align-items:center}.integration-card h3{font-size:16px;margin:22px 0 9px}.integration-card p{font-size:12px;color:#7b919c;line-height:1.8}.integration-card footer{margin-top:22px;display:flex;gap:10px}.main-foot{padding:20px 36px;color:#95a4ad;font-size:10px;border-top:1px solid var(--line);display:flex;justify-content:space-between}.modal{position:fixed;inset:0;z-index:80;display:flex;align-items:center;justify-content:center;padding:30px}.modal-backdrop{position:absolute;inset:0;background:#102c4065;backdrop-filter:blur(3px)}.modal-box{position:relative;max-width:740px;width:100%;max-height:90vh;overflow:auto;background:white;border-radius:12px;box-shadow:0 20px 90px #102c4033}.modal-box>header{display:flex;justify-content:space-between;align-items:center;padding:21px 27px;border-bottom:1px solid var(--line)}.modal-box h2{font-size:19px;margin:0}#modal-content{padding:24px 27px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-grid .full{grid-column:1/-1}label{display:flex;flex-direction:column;gap:9px;font-size:12px;color:#657c88}input,select,textarea{border:1px solid #dce5e9;padding:11px 12px;border-radius:6px;background:white;color:var(--ink);width:100%;outline:none}input:focus,select:focus,textarea:focus{border-color:#62a29c;box-shadow:0 0 0 3px #097f7c0b}textarea{min-height:90px;resize:vertical}input[type=checkbox]{width:auto;accent-color:var(--teal)}.check-label{display:flex;flex-direction:row;align-items:center;line-height:1.8}.form-actions{display:flex;justify-content:flex-end;gap:10px;padding-top:23px;margin-top:24px;border-top:1px solid var(--line)}.error{color:var(--danger);font-size:12px;line-height:1.8;white-space:pre-wrap;margin-top:15px}.toast{position:fixed;bottom:35px;left:50%;transform:translateX(-50%);z-index:100;background:#163b46;color:white;padding:14px 24px;border-radius:8px;box-shadow:0 6px 25px #102c4033;font-size:13px;max-width:90vw}.detail-head{display:flex;justify-content:space-between;gap:20px;margin-bottom:20px}.detail-head h3{margin:0 0 8px;font-size:22px}.detail-meta{font-size:12px;color:#7c929e;line-height:2}.timeline{border-left:2px solid #e6efef;margin:20px 0 20px 8px;padding-left:22px}.timeline-item{position:relative;margin-bottom:22px;font-size:12px;line-height:1.8}.timeline-item:before{content:'';position:absolute;left:-28px;top:5px;width:9px;height:9px;background:#8bb5ad;border:2px solid white;border-radius:50%}.timeline-item time{font-size:10px;color:#96a5ae;display:block}.timeline-item p{color:#6b8390;margin:5px 0}.capability{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:18px 0;font-size:13px}.capability:first-child{padding-top:0}.capability span{color:#8b9ea6;text-align:right}.login-page{display:grid;grid-template-columns:1.1fr 1fr;min-height:100vh;background:white}.login-story{position:relative;background:var(--navy);padding:55px 9%;color:white;display:flex;flex-direction:column;justify-content:center}.login-story .brand{position:absolute;top:55px;left:9%}.brand.large{font-size:28px}.login-story>.eyebrow{font-size:10px;letter-spacing:3px;color:#73b3b1;margin-top:60px}.login-story h1{font-size:48px;line-height:1.5;font-weight:600;letter-spacing:1px;margin:26px 0}.login-story>p{font-size:15px;color:#a1bdc9;line-height:2}.login-foot{position:absolute;bottom:50px;left:9%;font-size:11px;line-height:2;color:#7694a4}.login-form-wrap{display:grid;place-items:center;padding:55px}.login-form-wrap form{max-width:370px;width:100%}.eyebrow{font-size:11px;letter-spacing:2px;color:var(--teal)}.login-form-wrap h2{font-size:27px;margin:15px 0}.login-form-wrap .muted{font-size:12px;line-height:1.8;margin-bottom:34px}.login-form-wrap label{margin-bottom:20px}.login-form-wrap input{height:46px}.login-form-wrap .btn{padding:14px;margin-top:10px;font-size:14px;justify-content:space-between}.demo-help{font-size:11px;color:#8a9ca6;line-height:1.9;margin-top:24px}.demo-help summary{cursor:pointer;color:#5e8d8b}.mobile-only{display:none}.positive{color:var(--teal)}.red-text{color:var(--danger)}.split{display:flex;justify-content:space-between;align-items:center;gap:12px}.wordwrap{white-space:normal;min-width:180px;max-width:360px;line-height:1.8}.profile-options{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:20px}.import-preview{margin-top:20px;font-size:12px;color:#6e8790;line-height:2}.attachment-row{padding:10px 0;border-bottom:1px solid var(--line);font-size:12px;display:flex;justify-content:space-between;gap:10px}.quick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.quick{padding:15px 10px;background:#f7fafb;border:1px solid #edf2f3;border-radius:6px;color:#567480;font-size:12px}.quick span{display:block;font-size:21px;color:#398d88;margin-bottom:10px}.status-flow{color:#68838d;font-size:12px;line-height:2;margin-bottom:17px}.receipt{font:500 25px system-ui;color:var(--teal);margin:16px 0}.pagination{display:flex;align-items:center;gap:13px}
.profile,.text-btn{white-space:nowrap}.bar-track{flex:1}
@media(min-width:1600px){.main main{padding:38px 48px}.topbar{padding:0 48px}.metric{padding:26px}.metric-value{font-size:36px}.overview-banner{padding:28px 30px}}
@media(max-width:1150px){.sidebar{width:196px;padding:25px 14px}.main{margin-left:196px}.topbar{padding:0 22px}.main main{padding:25px 22px}.metrics{gap:11px}.metric{padding:18px 15px}.metric-value{font-size:25px}.bar-line{grid-template-columns:85px 1fr 65px;gap:10px}.top-actions{gap:9px}.integration-list{grid-template-columns:1fr 1fr}.service-grid{grid-template-columns:1fr 1fr}.grid-2{grid-template-columns:1fr}.login-story h1{font-size:39px}}
@media(max-width:780px){.sidebar{transform:translateX(-100%);transition:.2s;width:228px}.sidebar.open{transform:translateX(0);box-shadow:10px 0 80px #102c4033}.main{margin-left:0}.mobile-only{display:block}.topbar{height:68px;padding:0 15px}.breadcrumbs{display:none}.top-actions{flex:1;justify-content:flex-end}.top-actions select{max-width:140px}.main main{padding:23px 16px}.page-heading{align-items:flex-start;flex-direction:column;gap:15px}.page-heading h1{font-size:24px}.metrics{grid-template-columns:1fr 1fr;gap:11px}.metric-value{font-size:26px}.metric-label{font-size:11px}.overview-banner{padding:20px;align-items:flex-start;flex-direction:column}.overview-banner h2{font-size:19px}.banner-number{font-size:34px}.grid-half,.integration-list{grid-template-columns:1fr}.service-grid{grid-template-columns:1fr}.steps{grid-template-columns:1fr 1fr}.quick-grid{grid-template-columns:1fr 1fr}.main-foot{padding:18px 16px;line-height:1.8;display:block}.main-foot span{display:block}.modal{padding:14px}.modal-box{max-height:94vh}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.login-page{grid-template-columns:1fr}.login-story{display:none}.login-form-wrap{padding:35px 24px;min-height:100vh}.profile>#user-label{display:none}.panel-head{padding:17px}.panel-body{padding:18px}.toolbar{padding:15px}.tabs{gap:20px;overflow:auto}.tab{white-space:nowrap}.detail-head{flex-direction:column}th,td{padding:14px}.wordwrap{max-width:270px}.capability{gap:15px;font-size:12px}}
/* ===== 千人千面标签 ===== */
.tag-row{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px}
.tag-chip{display:inline-block;padding:3px 10px;border-radius:999px;font-size:10px;line-height:1.6;white-space:nowrap;border:1px solid transparent}
.tag-violet{background:#efeaff;color:#6d4aa8;border-color:#dfd5f5}
.tag-teal{background:#e8f5f1;color:#2d8b71;border-color:#cde8df}
.tag-amber{background:#fff4e4;color:#bd872f;border-color:#f0dfc2}
.tag-rose{background:#fcefee;color:#bd6860;border-color:#f0cfcb}
.tag-slate{background:#eef2f4;color:#6b8390;border-color:#d7dde0}
.tag-filter-bar{padding:0 22px 12px;display:flex;flex-wrap:wrap;gap:6px;border-bottom:1px solid var(--line)}
.tag-filter-btn{background:white;border:1px solid var(--line);padding:3px 4px;border-radius:999px;font-size:0;cursor:pointer;position:relative;transition:.15s}
.tag-filter-btn:hover{border-color:var(--teal)}
.tag-filter-btn.on{border-color:var(--teal);background:#eaf6f2}
.tag-filter-btn.on .tag-chip{outline:1px solid var(--teal);outline-offset:1px}
.tag-filter-clear{margin-left:2px;color:var(--danger);font-size:11px;vertical-align:middle}
.tag-filter-clear-all{margin-left:auto;background:none;border:none;color:var(--muted);font-size:12px;cursor:pointer;padding:2px 8px;border-radius:4px}
.tag-filter-clear-all:hover{color:var(--danger);background:#fef0ef}
.resident-tags-block{grid-column:1/-1;margin-top:12px;padding:16px 18px;background:#f7fafb;border:1px solid #edf2f3;border-radius:8px}
.catalog-hint{font-size:11px;color:#8a9da7;margin:4px 0 12px}
.tag-catalog-group{margin-bottom:14px}
.tag-catalog-group:last-child{margin-bottom:0}
.tag-catalog-title{font-size:10px;color:#7f95a1;letter-spacing:1.2px;margin-bottom:8px;font-weight:500}
.tag-catalog-options{display:flex;flex-wrap:wrap;gap:6px}
.tag-catalog-option{cursor:pointer;user-select:none;padding:2px;display:flex;align-items:center;justify-content:center;gap:0;border-radius:999px;transition:.12s}
.tag-catalog-option:hover{opacity:.8}
.tag-catalog-option-on{outline:2px solid var(--teal);outline-offset:-1px}
.tag-custom-row{display:flex;gap:8px;margin-top:14px;align-items:center}
.tag-custom-row input{flex:1}
.tag-custom-add{padding:9px 14px;border:1px solid var(--line);border-radius:6px;background:white;color:#567480;font-size:12px}
.tag-custom-add:hover{border-color:var(--teal);color:var(--teal)}
.tag-custom-on{display:inline-flex;align-items:center;gap:2px;margin-right:3px}
.tag-custom-remove{background:transparent;border:0;color:#95a4ac;cursor:pointer;font-size:14px;padding:0 3px 0 1px;line-height:1}
.tag-custom-remove:hover{color:var(--danger)}

.perm-group+.perm-group{margin-top:16px}
.perm-group-title{font-size:11px;letter-spacing:1.5px;color:var(--muted)}
.perm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;margin-top:8px}
.perm-item{display:flex;align-items:center;gap:6px;padding:8px 10px;border:1px solid var(--line);border-radius:6px;font-size:12px;background:#fff}
.perm-item input{width:auto;margin:0}
.evidence-grid{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.evidence-grid img{width:88px;height:88px;object-fit:cover;border-radius:6px;border:1px solid var(--line);display:block;cursor:zoom-in}
.image-lightbox{position:fixed;inset:0;z-index:120;display:flex;align-items:center;justify-content:center;padding:30px;background:rgba(9,25,33,.85);cursor:zoom-out}
.image-lightbox img{max-width:92vw;max-height:88vh;border-radius:10px;background:white;box-shadow:0 24px 90px rgba(0,0,0,.5)}
/* AI 经营助手 */
.ai-messages{display:flex;flex-direction:column;gap:14px;min-height:260px;max-height:calc(100vh - 440px);overflow-y:auto;padding:8px 4px 18px}
.ai-bubble{max-width:86%;padding:14px 18px;border-radius:14px;font-size:13px;line-height:1.8;position:relative;word-break:break-word}
.ai-bubble.ai-user{align-self:flex-end;background:var(--navy);color:#fff;border-bottom-right-radius:4px}
.ai-bubble.ai-assistant{align-self:flex-start;background:#fff;border:1px solid var(--line);border-bottom-left-radius:4px;box-shadow:var(--shadow)}
.ai-mode-tag{display:inline-block;font-size:10px;padding:2px 8px;border-radius:10px;background:#eef2f4;color:#768894;margin-bottom:6px;margin-right:8px}
.ai-range{font-size:11px;color:#87969e;margin-bottom:8px;padding-bottom:8px;border-bottom:1px dashed var(--line)}
.ai-reply{white-space:pre-wrap}
.ai-metrics{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px;margin-top:12px}
.ai-metric{background:#f6faf9;border:1px solid #e4ecea;border-radius:6px;padding:10px 12px;font-size:11px;color:#7b8d96;display:flex;flex-direction:column;gap:3px}
.ai-metric strong{color:var(--ink);font-size:14px;font-weight:600;font-family:system-ui}
.ai-empty{align-self:center;color:#9fb0b9;font-size:13px;padding:40px 20px;text-align:center;line-height:1.9;max-width:520px}
.ai-presets{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}
.ai-preset{background:white;border:1px solid var(--line);color:#57727d;padding:8px 14px;border-radius:18px;font-size:12px;cursor:pointer;transition:.15s}
.ai-preset:hover{border-color:var(--teal);color:var(--teal);background:var(--teal-soft)}
.ai-composer{display:flex;flex-direction:column;gap:10px;padding:14px 16px;background:white;border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow)}
.ai-composer textarea{min-height:48px;resize:none;border:0;padding:0;background:transparent;font-size:13px;line-height:1.8}
.ai-composer textarea:focus{box-shadow:none}
.ai-composer-actions{display:flex;justify-content:space-between;align-items:center;gap:10px}
.ai-composer-actions .primary-btn{background:var(--teal);color:white;border:0;padding:8px 20px;border-radius:6px;font-size:13px;cursor:pointer;white-space:nowrap}
.ai-composer-actions .primary-btn:hover{background:#086d6a}
.ai-bubble.ai-loading{display:flex;align-items:center;gap:5px;padding:16px 22px}
.ai-dot{width:7px;height:7px;background:#83ada7;border-radius:50%;animation:ai-bounce 1.2s infinite ease-in-out}
.ai-dot:nth-child(2){animation-delay:.15s}
.ai-dot:nth-child(3){animation-delay:.3s}
@keyframes ai-bounce{0%,80%,100%{transform:translateY(0);opacity:.4}40%{transform:translateY(-5px);opacity:1}}
@media(max-width:780px){.ai-bubble{max-width:94%}.ai-messages{max-height:calc(100vh - 460px)}.ai-preset{padding:7px 12px;font-size:11px}}
