:root{--main:#252a31;--muted:#747c87;--action:#2966c3;--line:#e5e7eb;--glass:#fff;--shadow:none;color:var(--main);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background:#f5f6f8;font-family:PingFang SC,Microsoft YaHei,system-ui,sans-serif;font-size:14px;line-height:1.5}*{box-sizing:border-box}body{min-width:320px;margin:0}.login-screen{background:#f4f6f8;place-items:center;min-height:100vh;padding:24px;display:grid}.login-form{color:#20252a;background:#fff;border:1px solid #dce2e8;border-radius:8px;gap:18px;width:min(420px,100%);padding:32px;display:grid}.login-form h1{font-size:26px}.login-form p{color:#66717d}.login-form label{gap:8px;font-size:14px;display:grid}.login-form input{border:1px solid #cdd5dd;border-radius:4px;width:100%;min-width:0;padding:11px}.field-error,.login-form .field-error{color:#bd2438;font-size:13px}.permission-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.permission-list label,.trash-toggle{white-space:nowrap;align-items:center;gap:8px;font-size:14px;display:flex}.permission-list input,.trash-toggle input{width:16px;height:16px}.hero-actions{flex-wrap:wrap}.relation-picker{gap:8px;display:grid}button,input,select,textarea{font:inherit}button{cursor:pointer;border:0}h1,h2,p{margin:0}.shell{grid-template-columns:216px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{border-right:1px solid var(--line);background:#fff;height:100vh;padding:0 12px 24px;position:sticky;top:0;overflow-y:auto}.brand{border-bottom:1px solid var(--line);align-items:center;gap:10px;min-height:76px;margin-bottom:12px;padding:16px 10px;display:flex}.brand-mark{color:#fff;background:var(--action);border-radius:6px;flex-shrink:0;place-items:center;width:34px;height:34px;font-weight:800;display:grid}.brand strong{color:var(--main);font-size:16px;display:block}.brand span,.hero-copy p,.hero-copy span,.panel-head p,.toolbar p,.order-list span{color:var(--muted)}.nav{gap:4px;display:grid}.nav-group{gap:2px;display:grid}.nav-group+.nav-group{margin-top:16px}.nav-group-title{color:#858b94;letter-spacing:0;margin:5px 10px 2px;font-size:12px;font-weight:400}.nav button{color:#535b66;background:0 0;border-radius:4px;align-items:center;gap:10px;width:100%;min-height:38px;padding:8px 12px;transition:background .15s,color .15s;display:flex}.nav-icon{color:#7a828e;flex-shrink:0;place-items:center;width:18px;height:18px;display:grid}.nav-icon svg{width:18px;height:18px;overflow:visible}.nav-icon path{fill:none;stroke:currentColor;stroke-width:1.85px;stroke-linecap:round;stroke-linejoin:round}.nav button:hover{color:var(--main);background:#f5f6f8}.nav button.active{color:var(--action);background:#edf3fc;font-weight:600}.nav button.active .nav-icon{color:var(--action)}.main{min-width:0;padding:0 28px 32px}.hero{min-height:76px;color:var(--main);border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;gap:24px;margin:0 -28px;padding:16px 28px;display:flex;position:relative}.hero-copy{align-items:center;gap:12px;min-width:0;display:flex}.hero-copy h1{letter-spacing:0;margin:0;font-size:20px;font-weight:600}.hero-actions{align-items:center;gap:8px;display:flex}.account-name{color:var(--muted);padding-right:8px;font-size:13px}.icon-button{color:#68717d;background:0 0;border:1px solid #0000;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;padding:0;display:inline-flex}.icon-button:hover{color:var(--action);background:#f1f5fb}.navigation-toggle,.navigation-close,.navigation-backdrop{display:none}button:focus-visible,a:focus-visible,.upload-button:focus-within{outline:2px solid var(--action);outline-offset:3px}input:focus,select:focus,textarea:focus{border-color:#81a6df;box-shadow:0 0 0 2px #edf3fc}.hero-actions button,.filters button,.modal-actions button,.row-actions button,.pagination button{transition:opacity .18s,transform .18s,box-shadow .18s}button:disabled{cursor:not-allowed;opacity:.52}.glass{background:var(--glass);border:1px solid var(--line)}.dashboard,.resource{margin-top:24px}.workspace-head{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.workspace-head h2{font-size:16px;font-weight:600}.stats{border:1px solid var(--line);background:#fff;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;display:grid}.stat-card{border:0;border-right:1px solid var(--line);min-height:118px;padding:18px 24px}.stat-card:nth-child(3n),.stat-card:last-child{border-right:0}.stat-card:nth-child(n+4){border-top:1px solid var(--line)}.stat-card span{font-size:13px}.stat-card em{font-size:12px}.stat-card span,.stat-card em{color:var(--muted);font-style:normal}.stat-card strong{color:var(--main);font-variant-numeric:tabular-nums;margin:6px 0 2px;font-size:28px;font-weight:600;display:block}.grid{grid-template-columns:1.35fr .65fr;gap:16px;margin-top:16px;display:grid}.chart-grid{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:24px;margin-top:24px;display:grid}.panel,.toolbar,.table-wrap{border-radius:0}.panel{padding:20px 24px}.chart-panel{border:0;min-width:0;min-height:340px}.chart-panel+.chart-panel{border-left:1px solid var(--line)}.bar-chart{border-bottom:1px solid #7a94b742;grid-template-columns:repeat(6,minmax(0,1fr));align-items:end;gap:14px;height:254px;margin-top:18px;padding:18px 8px 0;display:grid}.bar-column{text-align:center;grid-template-rows:194px 34px;gap:8px;min-width:0;display:grid}.bar-track{background:repeating-linear-gradient(0deg,#7a94b714 0 1px,#0000 1px 56px);border-radius:8px 8px 0 0;justify-content:center;align-items:flex-end;height:194px;display:flex;position:relative}.bar-fill{border-radius:3px 3px 0 0;width:min(52px,68%);min-height:0;transition:height .35s;position:relative}.bar-fill strong{color:var(--main);font-size:14px;position:absolute;top:-25px;left:50%;transform:translate(-50%)}.bar-column>span{color:var(--muted);overflow-wrap:anywhere;font-size:12px;line-height:17px}.donut-layout{grid-template-columns:156px minmax(0,1fr);align-items:center;gap:24px;min-height:244px;margin-top:18px;display:grid}.donut-chart{border-radius:50%;place-items:center;width:156px;height:156px;display:grid}.donut-hole{width:108px;height:108px;color:var(--muted);background:#fff;border-radius:50%;place-items:center;display:grid}.donut-hole strong{color:var(--main);align-self:end;font-size:30px}.donut-hole span{align-self:start;font-size:12px}.chart-legend{gap:14px;display:grid}.chart-legend div{grid-template-columns:10px minmax(0,1fr) auto;align-items:center;gap:9px;display:grid}.chart-legend i{border-radius:3px;width:10px;height:10px}.chart-legend span{color:#626b77;min-width:0;font-size:13px}.chart-legend strong{color:var(--main);font-size:13px}.latest-panel{border:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:24px}.latest-panel .order-list{grid-template-columns:1fr}.panel-head,.toolbar,.modal-head,.modal-actions{justify-content:space-between;align-items:center;gap:18px;display:flex}.panel-head h2,.toolbar h2,.modal h2{color:var(--main);font-size:16px;font-weight:600}.panel-head button,.row-actions button,.ghost{color:var(--action);border:1px solid var(--line);background:#fff;border-radius:4px;padding:7px 12px}.primary{color:#fff;background:var(--action);border:1px solid var(--action);border-radius:4px;justify-content:center;align-items:center;gap:6px;min-height:34px;padding:7px 14px;display:inline-flex}.primary:hover:not(:disabled){background:#2159ac}.order-list{gap:0;margin-top:12px;display:grid}.order-list article,.mix-list div{border-bottom:1px solid var(--line);background:#fff;border-radius:0;justify-content:space-between;align-items:center;gap:16px;padding:13px 0;display:flex}.order-list article:last-child{border-bottom:0}.panel-head p{margin-top:3px;font-size:12px}.order-list strong{color:var(--main);margin-bottom:6px;display:block}.mix-list{gap:12px;margin-top:18px;display:grid}.mix-list strong{color:var(--action);font-size:22px}.toolbar{background:0 0;border:0;padding:0 0 16px}.toolbar>div:first-child,.resource-actions{align-items:center;gap:12px;display:flex}.record-total{color:var(--muted);font-size:12px}.resource-actions{flex-shrink:0}.filters{border:1px solid var(--line);background:#fff;border-bottom:0;flex-wrap:wrap;align-items:center;gap:10px;padding:16px;display:flex}input,select,textarea{min-height:36px;color:var(--main);border:1px solid var(--line);background:#fff;border-radius:4px;outline:none}input,select{padding:0 13px}textarea{resize:vertical;width:100%;padding:12px 13px}.filters input{width:280px}input[type=checkbox]{width:16px;height:16px;min-height:16px;accent-color:var(--action);flex:0 0 16px;padding:0}.filters input[type=checkbox]{flex-basis:16px;width:16px}.latest-panel .panel-head>button{white-space:nowrap;flex-shrink:0}.table-wrap{margin-top:0;overflow-x:auto}table{border-collapse:collapse;width:100%}th,td{text-align:left;vertical-align:middle;border-bottom:1px solid var(--line);padding:12px 16px}th{color:#636c78;white-space:nowrap;background:#fafbfc;font-size:13px;font-weight:500}td{color:#3d4551;font-size:14px}tbody tr:hover{background:#fafbfc}tbody tr:last-child td{border-bottom:0}td:last-child{min-width:112px}.table-image-link{border:1px solid var(--line);background:#f4f5f7;border-radius:4px;justify-content:center;align-items:center;width:52px;height:52px;display:inline-flex;position:relative;overflow:hidden}.image-load-failed:after{color:#8aa0b8;content:"图片不可用";white-space:nowrap;font-size:11px}.image-count{color:#fff;text-align:center;background:#1a3a6ecc;border-radius:10px;min-width:18px;padding:1px 4px;font-size:11px;position:absolute;bottom:3px;right:3px}.table-thumb{object-fit:cover;width:100%;height:100%}.empty-image{color:#9aabba;white-space:nowrap;font-size:12px}.empty-cell{color:var(--muted);text-align:center;padding:54px 16px}.status,.order-list b{color:#55708d;white-space:nowrap;background:#7b8fa31f;border-radius:4px;align-items:center;min-height:28px;padding:5px 10px;font-size:12px;display:inline-flex}.status.is-good,.order-list b.is-good{color:#0f766e;background:#14b8a61f}.status.is-warn,.order-list b.is-warn{color:#b45309;background:#f59e0b21}.status.is-done,.order-list b.is-done{color:#2563eb;background:#3b82f621}.inline-status{cursor:pointer;border:0;border-radius:4px;max-width:118px;min-height:30px;padding:4px 26px 4px 10px;font-size:12px}.inline-status.is-good{color:#0f766e;background:#14b8a61f}.inline-status.is-warn{color:#b45309;background:#f59e0b21}.inline-status.is-done{color:#2563eb;background:#3b82f621}.row-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.row-actions button,.row-actions .primary{min-height:30px;color:var(--action);background:0 0;border:0;border-radius:0;padding:3px 0;font-size:13px}.row-actions button:hover,.row-actions .primary:hover{background:0 0;text-decoration:underline}.row-chat-button,.row-follow-up-button,.row-report-button{border-radius:9px;padding:8px 11px;font-size:12px}.report-tabs{border:0;border-bottom:1px solid var(--line);background:0 0;border-radius:0;gap:4px;width:max-content;margin-bottom:14px;padding:0;display:flex}.report-tabs button{color:#5f7896;background:0 0;border-bottom:2px solid #0000;border-radius:0;min-width:124px;padding:10px 18px;font-size:14px}.report-tabs button.active,.report-tabs button:hover{color:var(--action);border-bottom-color:var(--action);background:0 0}.row-actions .danger{color:#c34d4d;background:0 0}.pagination{color:var(--muted);background:0 0;border:0;border-radius:0;justify-content:flex-end;align-items:center;gap:16px;margin-top:14px;padding:10px 14px;font-size:13px;display:flex}.pagination button{color:var(--action);border:1px solid var(--line);background:#fff;border-radius:4px;padding:8px 12px}.error-banner{color:#9f2d2d;background:#fee2e2eb;border:1px solid #ef444438;border-radius:4px;justify-content:space-between;align-items:center;gap:16px;margin-top:14px;padding:12px 16px;display:flex}.error-banner button{color:#9f2d2d;background:0 0;flex-shrink:0;padding:5px 10px}.modal-mask{z-index:10;background:#181d2561;place-items:center;padding:28px;display:grid;position:fixed;inset:0}.chat-drawer-mask{z-index:20;background:#181d2561;justify-content:flex-end;display:flex;position:fixed;inset:0}.follow-up-mask,.report-mask{z-index:20}.report-detail-modal{background:#f5f5f5;border-radius:8px;flex-direction:column;width:min(980px,100vw - 56px);max-height:calc(100vh - 56px);display:flex;overflow:hidden;box-shadow:0 16px 48px #181d2526}.report-detail-head-admin{background:#fff;border-bottom:1px solid #dce3ec;justify-content:space-between;align-items:flex-start;gap:18px;padding:26px 30px 22px;display:flex}.report-detail-head-admin h2{color:#333;font-size:20px;line-height:1.3}.report-detail-meta-admin{color:#777;flex-wrap:wrap;gap:16px;margin-top:12px;font-size:13px;display:flex}.report-detail-head-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.report-file-link{text-decoration:none}.report-detail-loading,.report-detail-empty{color:var(--muted);text-align:center;padding:48px 30px}.report-meta-grid{background:#dce3ec;border:1px solid #dce3ec;border-radius:6px;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin:22px 30px 0;display:grid;overflow:hidden}.report-meta-grid div{background:#fff;min-height:92px;padding:20px}.report-meta-grid span{color:#777;font-size:13px;display:block}.report-meta-grid strong{color:#333;word-break:break-word;margin-top:12px;font-size:16px;line-height:1.4;display:block}.report-content-admin{background:#fff;border-radius:6px;min-height:0;margin:18px 30px 30px;overflow-y:auto}.report-subtitle-admin,.report-content-summary{color:#777;white-space:pre-wrap;padding:20px 24px 0;line-height:1.7}.report-subtitle-admin{color:#333;font-size:15px;font-weight:700}.report-check-list-admin{margin-top:12px}.report-check-item-admin{border-bottom:1px solid #dcdcdc;padding:22px 24px 26px}.report-check-item-admin h3{color:#333;font-size:17px;line-height:1.4}.report-check-item-admin p{color:#777;white-space:pre-wrap;margin-top:10px;line-height:1.7}.report-images-admin{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:18px;display:grid}.report-images-admin a,.report-images-admin img{object-fit:cover;border-radius:6px;width:100%;height:108px;display:block;overflow:hidden}.report-images-admin a{background:#edf2f8}.report-uploaded-images{padding:22px 24px 28px}.report-uploaded-images h3{color:#333;font-size:16px}.follow-up-modal{background:#fff;border-radius:8px;flex-direction:column;width:min(1080px,100vw - 56px);max-height:calc(100vh - 56px);display:flex;overflow:hidden;box-shadow:0 16px 48px #181d2526}.follow-up-head,.follow-up-progress-head{justify-content:space-between;align-items:center;gap:18px;display:flex}.follow-up-head{border-bottom:1px solid var(--line);padding:26px 30px 22px}.detail-eyebrow{color:var(--action);margin-bottom:7px;font-size:15px;font-weight:700;display:block}.follow-up-head h2{color:#16263e;font-size:20px}.follow-up-loading,.follow-up-empty{color:var(--muted);text-align:center;padding:48px 30px}.follow-up-overview{border:1px solid var(--line);grid-template-columns:minmax(260px,1.35fr) repeat(3,minmax(140px,.75fr));margin:22px 30px 0;display:grid}.overview-summary,.overview-cell{border-right:1px solid var(--line);min-height:142px;padding:26px 24px}.overview-summary{background:#f7f8fa}.overview-cell:last-child{border-right:0}.overview-summary strong,.overview-cell span{color:#1c2b40;font-size:16px;font-weight:700;display:block}.overview-summary p{color:#24364f;white-space:pre-wrap;margin-top:17px;font-size:17px;font-weight:600;line-height:1.8}.overview-cell{flex-direction:column;justify-content:center;gap:17px;display:flex}.overview-cell span{font-size:14px}.overview-cell strong{color:#1c2b40;word-break:break-word;font-size:17px;line-height:1.5}.follow-up-progress{background:#f8fafc;border:1px solid #d5deea;border-radius:6px;min-height:0;margin:26px 30px 30px;overflow-y:auto}.follow-up-progress-head{border-bottom:1px solid #d5deea;padding:18px 24px 14px}.follow-up-progress-head h3{color:#52637b;font-size:20px}.follow-up-progress-head span{color:var(--muted);margin-top:4px;font-size:12px;display:block}.follow-up-progress-head .primary{flex-shrink:0}.follow-up-timeline{padding:26px 30px 30px}.follow-up-node{grid-template-columns:28px minmax(0,1fr);column-gap:14px;min-height:82px;display:grid;position:relative}.follow-up-node:not(:last-child):before{content:"";background:#cbd7e5;width:2px;position:absolute;top:25px;bottom:-5px;left:13px}.follow-up-marker{z-index:1;background:#fff;border:3px solid #cbd7e5;border-radius:50%;place-items:center;width:28px;height:28px;display:grid;position:relative}.follow-up-marker i{background:#cbd7e5;border-radius:50%;width:10px;height:10px}.follow-up-node.latest .follow-up-marker{border-color:#2563eb}.follow-up-node.latest .follow-up-marker i{background:#2563eb}.follow-up-entry{padding-bottom:22px}.follow-up-entry-head{flex-wrap:wrap;align-items:center;gap:10px;min-height:28px;display:flex}.follow-up-entry-head strong{color:#2b5ed0;font-size:16px;line-height:1.5}.follow-up-node:not(.latest) .follow-up-entry-head strong{color:#64758c;font-weight:600}.latest-badge{color:#2563eb;background:#dceaff;border-radius:4px;padding:5px 9px;font-size:12px;font-weight:700}.follow-up-entry p{color:#52637b;white-space:pre-wrap;margin-top:8px;font-size:14px;line-height:1.7}.follow-up-images{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.follow-up-images a,.follow-up-images img{object-fit:cover;border-radius:5px;width:84px;height:64px;display:block;overflow:hidden}.follow-up-images a{background:#e9eff7}.chat-drawer{background:#f5f6f8;grid-template-rows:auto auto minmax(0,1fr);width:min(560px,100vw);height:100%;display:grid;overflow:hidden;box-shadow:-8px 0 32px #181d251a}.chat-drawer-head{border-bottom:1px solid var(--line);background:#ffffffeb;justify-content:space-between;align-items:center;gap:14px;padding:22px 24px;display:flex}.chat-drawer-title,.chat-participants>div,.admin-message-meta{align-items:center;display:flex}.chat-drawer-title{gap:12px}.chat-avatar{color:#fff;background:var(--action);border-radius:6px;place-items:center;width:44px;height:44px;font-size:18px;font-weight:800;display:grid}.chat-drawer-head h2{color:var(--main);font-size:19px}.chat-drawer-head span,.chat-participants>span,.chat-participants small,.admin-message-meta span{color:var(--muted);font-size:12px}.chat-participants{border-bottom:1px solid var(--line);background:#fafbfc;gap:9px;padding:14px 24px;display:grid}.chat-participants>div{flex-wrap:wrap;gap:8px}.chat-participants b{color:#315c93;background:#fff;border:1px solid #3b82f629;border-radius:8px;align-items:baseline;gap:5px;padding:6px 9px;font-size:12px;display:inline-flex}.chat-messages{background:#f5f6f8;flex-direction:column;gap:18px;padding:24px;display:flex;overflow-y:auto}.admin-message{max-width:86%}.admin-message.is-homeowner{align-self:flex-start}.admin-message.is-consultant{align-self:flex-end}.admin-message.is-system,.admin-message.notification{align-self:stretch;max-width:100%}.admin-message-meta{gap:8px;margin:0 5px 6px}.admin-message.is-consultant .admin-message-meta{justify-content:flex-end}.admin-message-meta strong{color:var(--main);font-size:13px}.admin-message-bubble{color:var(--main);white-space:pre-wrap;word-break:break-word;background:#fff;border:1px solid #7a94b726;border-radius:4px 8px 8px;padding:12px 14px;line-height:1.65}.admin-message.is-consultant .admin-message-bubble{color:#fff;background:var(--action);border-color:#0000;border-radius:8px 4px 8px 8px}.admin-message.notification .admin-message-bubble{color:#365475;background:#fff;border-left:3px solid #3b82f6;border-radius:8px}.admin-message-bubble p{margin:0}.admin-message-bubble img,.admin-message-bubble video{border-radius:8px;max-width:280px;max-height:260px;display:block}.chat-empty{min-height:220px;color:var(--muted);place-items:center;display:grid}.modal{border-radius:8px;width:min(980px,100vw - 56px);max-height:calc(100vh - 56px);padding:24px;overflow:auto;box-shadow:0 16px 48px #181d2526}.modal-head{border-bottom:1px solid #7a94b729;padding-bottom:18px}.modal-head>button:not(.primary),.follow-up-head>button{color:#68717d;background:#f5f6f8;border-radius:4px;padding:6px 12px}.modal-head p{color:var(--muted);margin-top:5px}.form-grid{grid-template-columns:repeat(2,1fr);gap:14px;margin-top:18px;display:grid}.form-field{color:#646d79;gap:8px;font-size:13px;display:grid}.form-field.wide{grid-column:1/-1}.form-field>input,.form-field>select{align-self:start;width:100%;height:36px}.form-checkbox{accent-color:var(--action);align-self:start;margin:9px 0 13px;width:20px!important;height:20px!important;min-height:20px!important}.structured-editor{border:1px solid var(--line);background:#fafbfc;border-radius:4px;gap:10px;padding:12px;display:grid}.rich-text-editor{background:#fff;border:1px solid #7a94b74d;border-radius:6px;overflow:hidden}.rich-text-toolbar{background:#fbfcfe;border-bottom:1px solid #7a94b72e;flex-wrap:wrap;gap:10px;padding:12px 16px 16px;display:flex}.rich-text-tool{color:#5f636a;background:#fff;border:1px solid #d6dce5;border-radius:5px;min-width:62px;min-height:36px;padding:6px 14px;font-size:15px;font-weight:600;transition:color .18s,border-color .18s,background .18s}.rich-text-tool.strong{min-width:54px;font-family:Georgia,serif;font-size:19px}.rich-text-tool:hover,.rich-text-tool:focus-visible{color:#2563eb;background:#f3f7ff;border-color:#9dbcf3;outline:none}.rich-text-toolbar input[type=file]{display:none}.rich-text-canvas,.rich-text-source{color:#24466f;background:#fff;border:0;border-radius:0;outline:none;width:100%;min-height:340px;padding:22px 24px;font-size:16px;line-height:1.9}.rich-text-canvas:empty:before{color:#a5afbd;content:"请输入家装资料正文...";pointer-events:none}.rich-text-canvas p,.rich-text-canvas h2,.rich-text-canvas h3,.rich-text-canvas blockquote,.rich-text-canvas pre,.rich-text-canvas ul,.rich-text-canvas ol{margin:0 0 14px}.rich-text-canvas h2{color:#1a3a6e;font-size:24px;line-height:1.45}.rich-text-canvas h3{color:#315c93;font-size:19px;line-height:1.5}.rich-text-canvas blockquote{color:#607894;background:#f5f8fc;border-left:4px solid #3b82f6;padding:10px 16px}.rich-text-canvas pre{color:#dbeafe;background:#1e293b;border-radius:6px;padding:12px 14px;font:13px/1.7 ui-monospace,SFMono-Regular,Menlo,monospace;overflow-x:auto}.rich-text-canvas a{color:#2563eb;text-decoration:underline}.rich-text-canvas img{object-fit:contain;max-width:100%;max-height:420px;margin:12px 0;display:block}.rich-text-source{resize:vertical;font:13px/1.7 ui-monospace,SFMono-Regular,Menlo,monospace}.field-hint{color:#8aa0b8;margin:0;font-size:12px}.structured-items{gap:10px;display:grid}.structured-block,.structured-row{background:#fffc;border:1px solid #7a94b733;border-radius:4px;gap:8px;padding:11px;display:grid}.structured-row{background:0 0;border:0;grid-template-columns:minmax(0,1fr) auto;align-items:center;padding:0}.structured-block-head{color:#315c93;justify-content:space-between;align-items:center;font-size:12px;display:flex}.remove-structured{color:#b45353;background:0 0;padding:3px 7px;font-size:12px}.add-structured{width:max-content;color:var(--action);background:#3b82f61a;border-radius:8px;padding:8px 12px;font-size:13px}.image-picker{gap:8px;display:grid}.document-picker{gap:10px;display:grid}.document-picker-row{min-height:58px;color:var(--muted);border:1px solid var(--line);background:#fafbfc;border-radius:4px;justify-content:space-between;align-items:center;gap:16px;padding:10px 12px;display:flex}.document-picker-row a{color:var(--action);font-weight:700;text-decoration:none}.image-picker-row{border:1px solid var(--line);background:#fafbfc;border-radius:4px;align-items:center;gap:12px;min-height:96px;padding:10px;display:flex}.image-preview,.image-placeholder{border-radius:8px;flex:none;width:112px;height:76px}.image-preview{object-fit:cover;background:#edf4fb}.image-preview.image-load-failed{color:#8aa0b8;object-fit:initial;place-items:center;font-size:11px;display:grid}.image-placeholder{color:#8aa0b8;background:#edf4fb;place-items:center;font-size:12px;display:grid}.image-picker-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.upload-button,.clear-image{border-radius:4px;min-height:36px;padding:9px 13px;font-size:13px}.upload-button{background:var(--action);cursor:pointer;place-items:initial!important;color:#fff!important;display:inline-flex!important}.upload-button input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.clear-image{color:#d14343;background:#ef444417}.image-url-input{width:100%}.image-gallery{flex-wrap:wrap;gap:8px;display:flex}.gallery-item{background:#edf4fb;border-radius:8px;width:88px;height:72px;position:relative;overflow:hidden}.gallery-item img{object-fit:cover;width:100%;height:100%}.gallery-item button{color:#fff;background:#9f2d2dd9;border-radius:5px;padding:2px 5px;font-size:11px;position:absolute;bottom:3px;right:3px}.gallery-empty{color:#8aa0b8;font-size:12px}.gallery-upload{width:max-content;margin-top:2px}.modal-actions{border-top:1px solid var(--line);justify-content:flex-end;margin-top:20px;padding-top:16px}.toast{z-index:20;color:#fff;background:#303640;border-radius:6px;padding:14px 18px;position:fixed;bottom:28px;right:28px;box-shadow:0 4px 20px #181d251a}@media (width<=980px){body{min-width:0}.shell{grid-template-columns:192px minmax(0,1fr)}.sidebar{z-index:5;padding:0 10px 20px}.brand{padding:16px 6px}.nav,.nav-group{display:grid}.nav-group-title{display:block}.nav button{white-space:nowrap;width:100%;padding:8px 10px}.main{padding:0 20px 24px}.hero{min-height:76px;margin:0 -20px;padding:16px 20px}.stats{grid-template-columns:repeat(2,1fr)}.stat-card:nth-child(3n){border-right:1px solid var(--line)}.stat-card:nth-child(2n){border-right:0}.stat-card:nth-child(n+3){border-top:1px solid var(--line)}.grid{grid-template-columns:1fr}.chart-grid{grid-template-columns:1fr;gap:0}.chart-panel+.chart-panel{border-left:0;border-top:1px solid var(--line)}.latest-panel .order-list{grid-template-columns:1fr}.toolbar{align-items:center}.filters{width:100%}.filters input{flex:1;width:auto}}@media (width<=760px){.shell{display:block}.sidebar{z-index:9;visibility:hidden;width:232px;height:100dvh;transition:transform .18s;position:fixed;top:0;left:0;transform:translate(-100%)}.sidebar.is-open{visibility:visible;transform:translate(0)}.navigation-toggle,.navigation-close{display:inline-flex}.navigation-close{margin-left:auto}.navigation-backdrop{z-index:8;background:#181d2560;display:block;position:fixed;inset:0}.main{padding:0 16px 24px}.hero{gap:8px;min-height:64px;margin:0 -16px;padding:12px 16px}.hero-copy h1{font-size:18px}.hero-actions{gap:2px}.hero-actions button{flex:0 0 32px}.account-name{display:none}.workspace-head{margin-bottom:12px}.toolbar{flex-wrap:wrap;gap:12px}.toolbar h2{font-size:15px}.record-total{white-space:nowrap}.resource-actions{gap:4px}.resource-actions .primary{padding:7px 9px;font-size:12px}.filters{flex-wrap:wrap;gap:8px;padding:12px}.filters input{flex-basis:100%;width:100%}.filters select{flex:1;min-width:100px}.filters button{flex-shrink:0}.trash-toggle{order:4}.bar-chart{gap:7px;padding-left:0;padding-right:0}.bar-column>span{font-size:11px}.donut-layout{grid-template-columns:1fr;justify-items:center}.chart-legend{width:100%}.stats{gap:0}.stat-card{min-height:108px;padding:16px}.stat-card:nth-child(2n){border-right:0}.stat-card:nth-child(n+3){border-top:1px solid var(--line)}.panel{padding:18px 16px}.chart-panel{min-height:320px}.order-list strong{font-size:13px}.order-list span{font-size:12px}.order-list article>div{min-width:0}.order-list strong,.order-list span{overflow-wrap:anywhere}.order-list b{flex-shrink:0}.stat-card strong{font-size:28px}.form-grid{grid-template-columns:1fr}.form-field.wide{grid-column:auto}.modal-mask{padding:12px}.modal{width:100%;max-height:calc(100vh - 24px);padding:18px}.modal-head{align-items:flex-start}.follow-up-modal{width:100%;max-height:calc(100vh - 24px)}.follow-up-head{padding:20px}.follow-up-head h2{font-size:24px}.follow-up-overview{grid-template-columns:1fr 1fr;margin:16px 20px 0}.overview-summary{grid-column:1/-1}.overview-cell:nth-child(3){border-right:0}.overview-summary,.overview-cell{min-height:100px;padding:18px}.follow-up-progress{margin:18px 20px 20px}.follow-up-progress-head,.follow-up-timeline{padding-left:18px;padding-right:18px}.report-detail-modal{width:100%;max-height:calc(100vh - 24px)}.report-detail-head-admin{padding:20px}.report-detail-head-admin h2{font-size:24px}.report-detail-head-actions{flex-direction:column;align-items:stretch}.report-meta-grid{grid-template-columns:1fr 1fr;margin:16px 20px 0}.report-meta-grid div{min-height:82px;padding:16px}.report-content-admin{margin:16px 20px 20px}.report-images-admin{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important}}.ai-room-editor[data-v-befb8960]{gap:16px;display:grid}section[data-v-befb8960]{border-bottom:1px solid #dce3eb;padding-bottom:16px}.ai-room-row[data-v-befb8960]{justify-content:space-between;gap:12px;margin-bottom:12px;display:flex}label[data-v-befb8960]{flex:1;gap:6px;min-width:0;display:grid}input[data-v-befb8960],select[data-v-befb8960],textarea[data-v-befb8960]{box-sizing:border-box;width:100%}.room-error[data-v-befb8960]{color:#b42318;margin-top:8px;display:block}.room-original[data-v-befb8960]{flex-wrap:wrap;align-items:center;gap:12px;margin-top:16px;display:flex}.room-original img[data-v-befb8960]{object-fit:cover;border-radius:6px;width:160px;height:110px;display:block}.room-upload[data-v-befb8960]{cursor:pointer;color:#2563eb;flex:0 auto}.room-upload input[data-v-befb8960]{max-width:230px}@media (width<=600px){.ai-room-row[data-v-befb8960]{flex-wrap:wrap}label[data-v-befb8960]{flex-basis:100%}}.ai-design-detail[data-v-14a8bf98]{max-width:960px}pre[data-v-14a8bf98],dd[data-v-14a8bf98],li[data-v-14a8bf98]{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.7}dd[data-v-14a8bf98]{margin:4px 0 12px}dt[data-v-14a8bf98]{font-weight:600}.ai-prompt-room[data-v-14a8bf98]{border-top:1px solid #dce3eb;margin-top:20px;padding-top:12px}img[data-v-14a8bf98]{width:100%;max-width:480px;height:auto}summary[data-v-14a8bf98]{cursor:pointer;color:#2563eb;padding:8px 0}.ai-warning[data-v-14a8bf98]{color:#a63b19}.ai-review[data-v-14a8bf98]{color:#525d6c}.ai-format-diagnostic[data-v-14a8bf98]{background:#fff9ef;border-left:3px solid #da9b3b;margin:16px 0;padding:12px 16px}.ai-format-diagnostic pre[data-v-14a8bf98]{max-height:320px;overflow:auto}
