:root{--ink:#15221d;--muted:#6e7973;--line:#dfe7e1;--paper:#f7faf7;--forest:#17643f;--dark:#0d2e20;--mint:#d8f1df;--danger:#bb3535;--soft:#f3f7f4}*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;color:var(--ink);background:var(--paper)}button,input,select,textarea{font:inherit}button{cursor:pointer}.hidden{display:none!important}.eyebrow{margin:0;color:#70bd8d;letter-spacing:.13em;font-size:.72rem;font-weight:800}.muted,.tip{color:var(--muted);font-size:.88rem}h2,h3,p{margin-top:0}h2{letter-spacing:-.04em}label{display:grid;gap:.48rem;color:#45514a;font-size:.86rem;font-weight:650}input,select,textarea{width:100%;border:1px solid #cbd7ce;border-radius:9px;padding:.78rem .85rem;background:#fff;color:var(--ink);outline:none}textarea{resize:vertical;line-height:1.5}input:focus,select:focus,textarea:focus{border-color:var(--forest);box-shadow:0 0 0 3px rgba(23,100,63,.13)}.primary-button,.secondary-button,.page-button,.logout-button,.icon-button{border:0;border-radius:9px;padding:.72rem 1rem;font-weight:750}.primary-button{background:var(--forest);color:#fff}.primary-button:hover{background:#105333}.primary-button:disabled,.secondary-button:disabled,.page-button:disabled{opacity:.5;cursor:not-allowed}.secondary-button,.page-button{border:1px solid #cedad1;background:#fff;color:#2d4035}.text-button{border:0;padding:0;background:none;color:var(--forest);font-weight:700}.text-button.danger{color:var(--danger)}.form-error{min-height:1.15rem;margin:0;font-size:.85rem;color:var(--danger)}
.login-view{min-height:100vh;display:grid;grid-template-columns:1.15fr .85fr;background:#fff}.brand-panel{position:relative;overflow:hidden;padding:clamp(3rem,8vw,8rem);color:#f3f9f4;background:linear-gradient(135deg,#103a2a,#17643f)}.brand-panel h1{font-family:Georgia,serif;font-size:clamp(3rem,6vw,6rem);line-height:1.05;max-width:650px;margin:1rem 0;letter-spacing:-.06em}.brand-panel>p:not(.eyebrow){max-width:410px;color:#cbe6d2;font-size:1.06rem;line-height:1.8}.brand-orb{position:absolute;width:min(42vw,620px);aspect-ratio:1;right:-14%;bottom:-28%;border:1px solid #70bd8d;border-radius:48% 52% 61% 39% / 42% 37% 63% 58%;box-shadow:inset 0 0 0 55px rgba(154,227,174,.07),inset 0 0 0 115px rgba(154,227,174,.05);transform:rotate(-24deg)}.login-card{width:min(390px,100%);align-self:center;justify-self:center;display:grid;gap:1.25rem;padding:2rem}.login-card h2{margin:.45rem 0;font-size:1.8rem}
.console-view{min-height:100vh;display:grid;grid-template-columns:250px minmax(0,1fr)}.sidebar{padding:1.55rem;display:flex;flex-direction:column;background:var(--dark);color:#fff}.logo{display:flex;align-items:center;gap:.65rem;color:#fff;text-decoration:none;font-weight:800;font-size:1.2rem}.logo span{display:grid;place-items:center;width:30px;height:30px;background:#76cc95;color:var(--dark);border-radius:8px}nav{display:grid;gap:.5rem;margin-top:3.5rem}.nav-item{display:flex;align-items:center;gap:.6rem;width:100%;padding:.75rem .8rem;border:0;border-radius:8px;background:transparent;color:#c6dbce;text-align:left;font-size:.92rem}.nav-item.active{color:#fff;background:#24543e}.logout-button{margin-top:auto;text-align:left;background:transparent;color:#c6dbce;padding:.75rem .8rem}.content{padding:clamp(1.5rem,4vw,4rem);overflow:hidden}.topbar{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem}.topbar h1{margin:.35rem 0 0;font-size:2rem;letter-spacing:-.05em}.current-user{display:flex;align-items:center;gap:.65rem;padding:.65rem .9rem;border:1px solid var(--line);border-radius:10px;background:#fff;text-align:left;font-size:.85rem}.current-user:hover{border-color:#9ab9a4}.avatar{display:grid;place-items:center;flex:0 0 auto;width:30px;height:30px;overflow:hidden;border-radius:50%;background:var(--mint);color:var(--forest);font-size:.7rem;font-weight:800}.avatar-large{width:34px;height:34px}.avatar img{display:block;width:100%;height:100%;object-fit:cover}.panel,.notice{border:1px solid var(--line);border-radius:14px;background:#fff}.notice{padding:1rem 1.2rem;margin-bottom:1rem;border-color:#f0d29b;background:#fff9ed;color:#765013}.section-heading{display:flex;justify-content:space-between;align-items:start;gap:1rem;padding:1.25rem 1.25rem 0}.section-heading h2{margin:0 0 .35rem}.toolbar{display:flex;gap:.65rem;padding:1rem;border-bottom:1px solid var(--line)}.search-box{flex:1;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:.4rem;padding:0 .8rem;border:1px solid #cbd7ce;border-radius:9px}.search-box input{border:0;padding:.65rem 0;box-shadow:none}.search-box:focus-within{border-color:var(--forest);box-shadow:0 0 0 3px rgba(23,100,63,.13)}.table-wrap{min-height:300px;overflow:auto}table{width:100%;border-collapse:collapse;text-align:left}th{padding:.9rem 1rem;color:#65736a;font-size:.72rem;letter-spacing:.07em;text-transform:uppercase;background:#f9fbf9}td{padding:1rem;border-top:1px solid #edf1ee;font-size:.9rem}.user-cell{display:flex;align-items:center;gap:.7rem}.username{font-weight:750}.role-tag,.status-tag{display:inline-block;border-radius:999px;padding:.24rem .55rem;font-size:.7rem;font-weight:750}.role-tag.admin{background:#e0ebff;color:#2454a4}.role-tag.user{background:#e8f4eb;color:#236a3e}.status-tag.active,.status-tag.success{background:#e4f5e9;color:#227643}.status-tag.disabled,.status-tag.fail{background:#f9e4e4;color:#a93333}.status-tag.processing{background:#fff1d9;color:#8d6408}.row-actions{display:flex;gap:.6rem}.empty-state{margin:4rem 0;text-align:center;color:var(--muted)}.pagination{display:flex;justify-content:space-between;align-items:center;padding:1rem;border-top:1px solid var(--line);color:var(--muted);font-size:.85rem}.pagination div{display:flex;align-items:center;gap:.7rem}
.chat-layout{height:calc(100vh - 165px);min-height:520px;display:grid;grid-template-columns:250px minmax(0,1fr);border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff}.session-panel{display:flex;min-height:0;flex-direction:column;border-right:1px solid var(--line);background:#fbfdfb}.session-heading{display:flex;justify-content:space-between;align-items:center;padding:1rem;border-bottom:1px solid var(--line)}.icon-button{display:grid;place-items:center;width:31px;height:31px;padding:0;color:#506058;background:#edf2ee;font-size:1.3rem}.session-list{min-height:0;flex:1;overflow-y:auto;overscroll-behavior:contain;padding:.5rem}.session-item{position:relative;display:grid;gap:.25rem;width:100%;padding:.75rem;border:0;border-radius:8px;background:transparent;text-align:left;color:var(--ink)}.session-item:hover,.session-item.active{background:#eaf5ed}.session-item span{padding-right:16px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.87rem;font-weight:650}.session-item small{color:var(--muted);font-size:.68rem}.session-item i{position:absolute;right:.65rem;top:.62rem;font-style:normal;color:#799084;opacity:0}.session-item:hover i{opacity:1}.session-empty{padding:1rem;color:var(--muted);font-size:.82rem}.chat-panel{display:grid;min-height:0;grid-template-rows:minmax(0,1fr) auto;min-width:0}.chat-empty{align-self:center;justify-self:center;max-width:440px;padding:2rem;text-align:center;color:var(--muted)}.chat-empty span{display:grid;place-items:center;width:54px;height:54px;margin:auto auto 1rem;border-radius:50%;background:var(--mint);color:var(--forest);font-size:1.5rem}.chat-empty h2{margin-bottom:.5rem;color:var(--ink)}.message-list{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:1.5rem clamp(1rem,4vw,4rem);scroll-behavior:smooth}.message{max-width:850px;margin:0 auto 1.5rem}.message-role{display:block;margin-bottom:.45rem;color:var(--forest);font-size:.72rem;font-weight:800}.message-content{white-space:pre-wrap;line-height:1.75}.user-message .message-content{display:inline-block;padding:.7rem .9rem;border-radius:12px;background:#eaf5ed}.assistant-message .message-content{padding:.3rem 0}.references{margin-top:.8rem;border-left:2px solid #afd9ba;padding-left:.8rem;color:var(--muted);font-size:.8rem}.references summary{cursor:pointer;color:#386348;font-weight:700}.references div{padding:.45rem 0;border-bottom:1px solid #edf1ee}.references p{margin:.25rem 0 0;line-height:1.5}.chat-composer{padding:1rem;border-top:1px solid var(--line);background:#fff}.category-filter{display:flex;gap:.45rem;overflow:auto;padding-bottom:.7rem}.filter-chip{flex:0 0 auto;border:1px solid #d4dfd6;border-radius:999px;padding:.32rem .65rem;background:#fff;color:#52625a;font-size:.76rem}.filter-chip.active{border-color:#6eaa80;background:#e8f4eb;color:#17643f;font-weight:700}.compose-row{display:flex;gap:.75rem;align-items:end}.compose-row textarea{min-height:48px}.compose-row button{height:48px}
.knowledge-grid{display:grid;grid-template-columns:minmax(250px,.75fr) minmax(430px,1.5fr);gap:1rem}.category-list{padding:1rem}.category-card{display:grid;grid-template-columns:auto 1fr auto;gap:.8rem;align-items:center;padding:.9rem 0;border-bottom:1px solid #edf1ee}.category-card:last-child{border-bottom:0}.category-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:8px;background:var(--mint);color:var(--forest)}.category-card strong{font-size:.9rem}.category-card p{margin:.25rem 0 0;color:var(--muted);font-size:.78rem}.document-list{min-height:280px}.document-row{display:grid;grid-template-columns:auto 1fr auto auto auto;gap:1rem;align-items:center;padding:1rem;border-bottom:1px solid #edf1ee}.file-badge{display:grid;place-items:center;min-width:42px;padding:.35rem;border-radius:6px;background:#e9f0fb;color:#34568b;font-size:.65rem;font-weight:800}.document-main{min-width:0}.document-main strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.9rem}.document-main p{margin:.25rem 0 0;color:var(--muted);font-size:.75rem}.document-actions{display:flex;gap:.6rem;white-space:nowrap}.profile-panel{max-width:540px;padding:1.5rem}.profile-panel form{display:grid;gap:1rem}.profile-panel hr{margin:2rem 0;border:0;border-top:1px solid var(--line)}
.residence-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-bottom:1rem}.residence-stats article{display:grid;gap:.35rem;padding:1rem 1.1rem;border:1px solid var(--line);border-radius:12px;background:linear-gradient(145deg,#fff,#f3f8f4)}.residence-stats span{color:var(--muted);font-size:.75rem}.residence-stats strong{font-family:Georgia,serif;color:var(--forest);font-size:1.75rem}.section-actions{display:flex;gap:.65rem}.residence-table-wrap table{min-width:1180px}.residence-table-wrap td{vertical-align:top}.residence-table-wrap td:first-child,.residence-table-wrap td:nth-child(4){min-width:150px}.residence-name,.residence-address{display:block}.residence-table-wrap small{display:block;margin-top:.32rem;color:var(--muted);font-size:.7rem}.region-tag{display:inline-block;padding:.24rem .52rem;border-radius:999px;background:#edf3ee;color:#42604d;font-size:.7rem;font-weight:750}.region-tag.east{background:#e4f2ff;color:#25618d}.region-tag.west{background:#f0e9ff;color:#65449b}.region-tag.north{background:#fff0db;color:#8d5e16}.region-tag.south{background:#e4f5e9;color:#227643}.map-link{color:var(--forest);font-size:.8rem;font-weight:750;text-decoration:none;white-space:nowrap}.map-link:hover{text-decoration:underline}.residence-dialog{width:min(680px,calc(100vw - 2rem))}
.recommendation-rule{border-color:#c9dfcf;background:#f2faf4;color:#315c3e}.recommendation-table-wrap{margin-top:1rem}.recommendation-table-wrap table{min-width:900px}.recommendation-table-wrap small{display:block;margin-top:.3rem;color:var(--muted);font-size:.72rem}.recommendation-priority{display:grid;place-items:center;width:42px;height:32px;border-radius:8px;background:var(--mint);color:var(--forest)}
.residence-detail-dialog{width:min(820px,calc(100vw - 2rem))}.residence-detail-dialog textarea{font-family:inherit}.residence-detail-dialog .form-grid{max-height:65vh;overflow-y:auto;padding-right:.3rem}
.user-dialog{width:min(520px,calc(100vw - 2rem));border:0;border-radius:14px;padding:0;box-shadow:0 20px 70px rgba(10,44,28,.26)}.user-dialog::backdrop{background:rgba(8,31,21,.48)}.user-dialog form{padding:1.5rem}.dialog-heading{display:flex;justify-content:space-between;align-items:start;margin-bottom:1.5rem}.dialog-heading h2{margin:.35rem 0 0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.full-width{grid-column:1/-1}.optional{color:var(--muted);font-weight:400}.dialog-actions{display:flex;justify-content:flex-end;gap:.7rem;margin-top:1.4rem}.toast{position:fixed;z-index:10;left:50%;bottom:2rem;transform:translate(-50%,130%);padding:.8rem 1.05rem;border-radius:9px;background:#173c2a;color:#fff;font-size:.9rem;opacity:0;transition:.22s ease}.toast.show{transform:translate(-50%,0);opacity:1}
.message-content h1,.message-content h2,.message-content h3,.message-content h4,.message-content h5,.message-content h6{margin:1.1em 0 .45em;line-height:1.3}.message-content h1{font-size:1.45em}.message-content h2{font-size:1.25em}.message-content h3{font-size:1.1em}.message-content p{margin:.65em 0}.message-content ul,.message-content ol{margin:.65em 0;padding-left:1.5em}.message-content li{margin:.3em 0}.message-content blockquote{margin:.8em 0;padding:.1em 0 .1em .9em;border-left:3px solid #a8cfb2;color:#52625a}.message-content pre{overflow:auto;margin:.8em 0;padding:.8rem;border-radius:8px;background:#10251b;color:#e5f4e8}.message-content code{padding:.12em .32em;border-radius:4px;background:#edf3ee;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.9em}.message-content pre code{padding:0;background:transparent;color:inherit}.message-content a{color:#17643f;text-decoration:underline}.message-content hr{border:0;border-top:1px solid var(--line);margin:1em 0}
.markdown-table-wrap{max-width:100%;overflow-x:auto;margin:.85em 0;border:1px solid #dbe5dd;border-radius:8px;scrollbar-gutter:stable}.message-content .markdown-table-wrap table{min-width:1320px;width:100%;border-collapse:collapse;table-layout:auto;white-space:normal;font-size:.86rem}.message-content .markdown-table-wrap th{padding:.65rem .7rem;border:1px solid #dbe5dd;background:#edf5ef;color:#345743;font-size:.72rem;letter-spacing:0;text-transform:none;white-space:nowrap}.message-content .markdown-table-wrap td{padding:.65rem .7rem;border:1px solid #e1e8e3;vertical-align:top;line-height:1.5;word-break:normal;overflow-wrap:normal}.message-content .markdown-table-wrap th:nth-child(1),.message-content .markdown-table-wrap td:nth-child(1){min-width:155px}.message-content .markdown-table-wrap th:nth-child(2),.message-content .markdown-table-wrap td:nth-child(2){min-width:245px}.message-content .markdown-table-wrap th:nth-child(3),.message-content .markdown-table-wrap td:nth-child(3){min-width:220px}.message-content .markdown-table-wrap th:nth-child(4),.message-content .markdown-table-wrap td:nth-child(4){min-width:185px}.message-content .markdown-table-wrap th:nth-child(5),.message-content .markdown-table-wrap td:nth-child(5){min-width:155px}.message-content .markdown-table-wrap th:nth-child(6),.message-content .markdown-table-wrap td:nth-child(6),.message-content .markdown-table-wrap th:nth-child(7),.message-content .markdown-table-wrap td:nth-child(7){min-width:105px;white-space:nowrap}.message-content .markdown-table-wrap th:nth-child(8),.message-content .markdown-table-wrap td:nth-child(8){min-width:135px}.message-content .markdown-table-wrap th:nth-child(9),.message-content .markdown-table-wrap td:nth-child(9){min-width:220px}.message-content .markdown-table-wrap tbody tr:nth-child(even){background:#fafcfb}
@media(min-width:1600px){.console-view{grid-template-columns:290px minmax(0,1fr)}.sidebar{padding:2rem}.content{width:min(100%,1680px);margin:0 auto;padding:3rem 4.5rem}.chat-layout{height:calc(100vh - 205px);min-height:600px;grid-template-columns:290px minmax(0,1fr)}.message{max-width:1200px}.knowledge-grid{grid-template-columns:minmax(330px,.75fr) minmax(680px,1.5fr)}.topbar h1{font-size:2.35rem}.document-row{padding:1.15rem 1.25rem}}
@media(max-width:1100px){.console-view{grid-template-columns:220px minmax(0,1fr)}.sidebar{padding:1.2rem}.knowledge-grid{grid-template-columns:1fr}.residence-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.document-row{grid-template-columns:auto 1fr auto}.document-row>.muted{display:none}}
@media(max-width:760px){body{background:#fff}.login-view{grid-template-columns:1fr}.brand-panel{display:none}.login-card{min-height:100vh;padding:1.5rem}.console-view{display:flex;min-height:100vh;flex-direction:column}.sidebar{position:sticky;z-index:5;top:0;display:flex;min-height:auto;flex-direction:row;align-items:center;gap:.5rem;padding:.55rem .7rem;overflow:hidden}.logo{flex:0 0 auto;font-size:0}.logo span{width:28px;height:28px;font-size:1.1rem}.sidebar nav{display:flex;flex:1;gap:.25rem;margin:0;overflow-x:auto;scrollbar-width:none}.sidebar nav::-webkit-scrollbar{display:none}.nav-item{flex:0 0 auto;width:auto;padding:.55rem .65rem;font-size:.78rem;white-space:nowrap}.logout-button{flex:0 0 auto;margin:0;padding:.55rem .35rem;font-size:0}.logout-button::before{content:'退出';font-size:.76rem}.content{padding:1rem;overflow:visible}.topbar{margin-bottom:1rem}.topbar h1{font-size:1.55rem}.current-user{padding:.45rem}.current-user>span:last-child{display:none}.chat-layout{height:calc(100vh - 145px);min-height:480px;grid-template-columns:1fr;border-radius:10px}.session-panel{display:block;max-height:130px;border-right:0;border-bottom:1px solid var(--line)}.session-heading{padding:.65rem .8rem}.session-list{display:flex;gap:.4rem;overflow-x:auto;overflow-y:hidden;padding:.45rem}.session-item{flex:0 0 min(190px,62vw);min-height:58px;border:1px solid var(--line)}.chat-empty{padding:1.25rem}.message-list{padding:1rem}.message{margin-bottom:1.15rem}.chat-composer{position:sticky;bottom:0;padding:.75rem}.compose-row{gap:.45rem}.compose-row button{padding:.65rem .75rem}.residence-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.residence-stats article{padding:.75rem}.residence-stats strong{font-size:1.35rem}.toolbar{flex-wrap:wrap}.search-box{flex-basis:100%}.toolbar button{flex:1}.section-heading{padding:1rem 1rem 0}.section-heading .primary-button{padding:.6rem .7rem;font-size:.8rem}.form-grid{grid-template-columns:1fr}.full-width{grid-column:auto}.table-wrap>table>thead>tr>th:nth-child(5),.table-wrap>table>tbody>tr>td:nth-child(5){display:none}.table-wrap{margin:0 -1px}.document-row{grid-template-columns:auto 1fr auto;gap:.65rem;padding:.85rem}.document-row .document-actions{grid-column:2/-1;justify-content:flex-end}.document-main p{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-dialog{width:calc(100vw - 1rem);max-height:calc(100vh - 1rem)}.user-dialog form{max-height:calc(100vh - 1rem);overflow:auto;padding:1.2rem}.toast{bottom:1rem;width:max-content;max-width:calc(100vw - 2rem)}}
.assistant-message .message-content.thinking{color:var(--muted);font-style:italic}.assistant-message .message-content.thinking::after{content:'...';display:inline-block;width:1.4em;overflow:hidden;vertical-align:bottom;animation:thinking-dots 1.2s steps(4,end) infinite}@keyframes thinking-dots{0%{width:0}100%{width:1.4em}}
.assistant-message .message-content.tool-progress{padding:.55rem .75rem;border-left:3px solid #78ae87;border-radius:0 8px 8px 0;background:#f2f8f3;color:#386348;font-style:normal}
.reference-link{display:block;padding:0;border:0;background:none;color:var(--forest);font-weight:800;text-align:left;cursor:pointer}.reference-dialog{padding:1.5rem}.reference-dialog section{margin-top:1.25rem}.reference-dialog h3{margin:0 0 .5rem;font-size:.9rem}.reference-snippet{margin:0;color:var(--muted);line-height:1.65;white-space:pre-wrap}.reference-dialog .primary-button{display:inline-block;margin-top:1rem;text-decoration:none}
.status-tag.unknown{background:#edf1ef;color:#66736b}.heading-actions{display:flex;gap:.65rem}.offer-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-bottom:1rem}.offer-stats article{display:grid;gap:.35rem;padding:1rem 1.1rem;border:1px solid var(--line);border-radius:12px;background:linear-gradient(145deg,#fff,#f3f8f4)}.offer-stats span{color:var(--muted);font-size:.75rem}.offer-stats strong{font-family:Georgia,serif;color:var(--forest);font-size:1.75rem}.offer-toolbar select{width:auto;min-width:155px}.offer-table-wrap table{min-width:1180px}.offer-table-wrap td{vertical-align:top}.offer-table-wrap td:first-child{min-width:250px}.offer-table-wrap td:nth-child(4){min-width:310px}.offer-table-wrap small{display:block;margin-top:.35rem;color:var(--muted);font-size:.72rem}.offer-room-name{display:block;margin-bottom:.2rem}.root-type-tag{display:inline-block;margin-top:.45rem;padding:.18rem .45rem;border-radius:999px;background:#edf3ee;color:#42604d;font-size:.68rem;font-weight:750}.date-range{white-space:nowrap}.price-chip-list{display:flex;flex-wrap:wrap;gap:.38rem}.price-chip{display:inline-flex;gap:.38rem;align-items:center;padding:.3rem .5rem;border:1px solid #d8e5db;border-radius:7px;background:#f7fbf8;color:#476052;font-size:.72rem;white-space:nowrap}.price-chip b{color:var(--forest)}.offer-import-panel{margin-top:1rem}.offer-import-history{padding:1rem}.offer-import-history article{display:flex;justify-content:space-between;gap:1rem;padding:.8rem 0;border-bottom:1px solid #edf1ee}.offer-import-history article:last-child{border-bottom:0}.offer-import-history p{margin:.25rem 0 0;color:var(--muted);font-size:.78rem}.offer-import-history article>div:last-child{display:grid;justify-items:end;gap:.35rem}.offer-import-history small{color:var(--muted);font-size:.7rem}.offer-dialog{width:min(900px,calc(100vw - 2rem))}.offer-dialog form{max-height:calc(100vh - 3rem);overflow:auto}.price-tier-heading{display:flex;justify-content:space-between;align-items:start;gap:1rem;margin:1.7rem 0 .75rem;padding-top:1.2rem;border-top:1px solid var(--line)}.price-tier-heading h3{margin:0 0 .25rem}.price-tier-heading p{margin:0}.price-tier-list{display:grid;gap:.7rem}.price-tier-card{position:relative;padding:1rem 3.4rem 1rem 1rem;border:1px solid var(--line);border-radius:10px;background:#f9fbf9}.price-tier-grid{display:grid;grid-template-columns:repeat(4,minmax(110px,1fr));gap:.8rem}.tier-updated-field{grid-column:span 2}.tier-note-field{grid-column:span 2}.remove-price-tier{position:absolute;right:.8rem;top:.8rem}.import-result{margin:1rem 0 0;padding:1rem;border:1px solid #b9dec4;border-radius:9px;background:#eff9f2;color:#245b36}.import-result p{margin:.35rem 0}.import-result details{font-size:.8rem}.import-result ul{margin:.5rem 0 0;padding-left:1.2rem}
@media(max-width:1100px){.offer-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.price-tier-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.offer-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.offer-stats article{padding:.75rem}.offer-stats strong{font-size:1.35rem}.offer-toolbar select{flex:1;min-width:0}.heading-actions{width:100%;flex-wrap:wrap}.heading-actions button{flex:1}.price-tier-grid{grid-template-columns:1fr}.tier-updated-field,.tier-note-field{grid-column:auto}}
.residence-toolbar{display:grid;grid-template-columns:minmax(240px,1.35fr) minmax(160px,.8fr) minmax(160px,.8fr) auto}.residence-toolbar .search-box{min-width:0}.residence-toolbar select{min-width:0}
@media(max-width:1100px){.residence-toolbar{grid-template-columns:minmax(220px,1fr) minmax(140px,.7fr) minmax(140px,.7fr) auto}}
@media(max-width:760px){.residence-toolbar{grid-template-columns:1fr 1fr}.residence-toolbar .search-box,.residence-toolbar button{grid-column:1/-1}}

/* Londonist professional workspace */
:root{--ink:#17211d;--muted:#69746e;--line:#e1e7e3;--paper:#f6f8f6;--forest:#075c40;--dark:#063c2c;--mint:#e5f3e9;--danger:#b43b3b;--soft:#f3f6f4}
body{font-size:14px;background:var(--paper);-webkit-font-smoothing:antialiased}
.console-view{grid-template-columns:216px minmax(0,1fr)}
.sidebar{position:sticky;top:0;height:100vh;padding:24px 16px 18px;background:var(--dark)}
.logo{padding:0 8px;font-size:16px;letter-spacing:-.01em}
.logo span{width:32px;height:32px;border-radius:8px;background:#78d39a;font-size:16px}
.sidebar nav{gap:4px;margin-top:48px}
.nav-item{gap:12px;padding:11px 12px;border-radius:7px;color:#c6d9d0;font-size:14px;font-weight:560}
.nav-item i{width:18px;font-size:18px;text-align:center}
.nav-item:hover{background:rgba(255,255,255,.06);color:#fff}
.nav-item.active{background:#17694e;color:#fff;box-shadow:inset 3px 0 #86d8a4}
.logout-button{display:flex;align-items:center;gap:11px;width:100%;padding:10px 12px;color:#bfd4ca;font-size:14px}
.logout-button:hover{color:#fff;background:rgba(255,255,255,.06)}
.content{width:min(100%,1680px);margin:0 auto;padding:30px clamp(28px,3vw,52px) 52px;overflow:visible}
.topbar{align-items:center;margin-bottom:26px}
.topbar h1{margin-top:5px;font-size:27px;font-weight:720;letter-spacing:-.035em}
.eyebrow{color:#318260;font-size:11px;letter-spacing:.12em}
.topbar-actions{display:flex;align-items:center;gap:10px}
.locale-control{display:flex;grid-template-columns:none;align-items:center;gap:7px;height:42px;padding:0 10px;border:1px solid var(--line);border-radius:8px;background:#fff;color:#56645d}
.locale-control i{font-size:17px}
.locale-control select{width:auto;min-width:72px;border:0;padding:0 24px 0 0;background:transparent;box-shadow:none;font-size:13px}
.current-user{height:42px;padding:4px 10px 4px 6px;border-color:var(--line);border-radius:8px;box-shadow:none}
.current-user:hover{border-color:#aebdb4;background:#fafcfa}
.current-user>i{color:#718078;font-size:17px}
.avatar-large{width:30px;height:30px}
.panel,.notice{border-color:var(--line);border-radius:10px;box-shadow:none}
.section-heading{align-items:center;padding:18px 18px 0}
.section-heading h2{margin-bottom:4px;font-size:18px;letter-spacing:-.025em}
.section-heading .muted{margin:0;font-size:12px}
.section-actions,.heading-actions{align-items:center;gap:8px}
.primary-button,.secondary-button,.page-button{min-height:38px;border-radius:7px;padding:8px 13px;font-size:13px;font-weight:650;white-space:nowrap}
.primary-button,.secondary-button{display:inline-flex;align-items:center;justify-content:center;gap:7px}
.primary-button{background:var(--forest)}
.primary-button:hover{background:#044c34}
.secondary-button,.page-button{border-color:#d5ddd8;color:#35443c}
.secondary-button:hover,.page-button:hover:not(:disabled){border-color:#aebdb4;background:#f8faf8}
.residence-stats,.offer-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}
.residence-stats article,.offer-stats article{gap:8px;padding:16px 18px;border-color:var(--line);border-radius:9px;background:#fff}
.residence-stats span,.offer-stats span{font-size:12px}
.residence-stats strong,.offer-stats strong{font-family:inherit;font-size:24px;font-weight:720;letter-spacing:-.03em}
.toolbar{align-items:center;flex-wrap:wrap;gap:10px;padding:16px 18px;border-color:var(--line)}
.residence-toolbar{grid-template-columns:minmax(300px,1.5fr) minmax(170px,.7fr) minmax(170px,.7fr) auto}
.search-box{min-height:42px;border-color:#d3ddd6;border-radius:7px;background:#fff;color:#758079}
.search-box i{font-size:18px}
.search-box input{min-width:0;padding:9px 0;font-size:13px}
.toolbar select{height:42px;border-color:#d3ddd6;border-radius:7px;padding:8px 34px 8px 12px;font-size:13px}
.table-wrap{min-height:320px}
.table-wrap table{font-size:13px}
.table-wrap thead{position:sticky;z-index:2;top:0}
th{height:42px;padding:0 16px;border-bottom:1px solid var(--line);background:#f7f9f7;color:#657169;font-size:11px;font-weight:680;letter-spacing:.045em}
td{height:58px;padding:10px 16px;border-color:#edf0ee;line-height:1.45}
tbody tr{transition:background .15s ease}
tbody tr:hover{background:#f8fbf9}
.residence-table-wrap table{min-width:1120px}
.residence-table-wrap td:first-child{min-width:172px}
.residence-table-wrap td:nth-child(4){min-width:285px}
.residence-name{font-size:13px;font-weight:700}
.residence-table-wrap small{margin-top:2px;font-size:10px}
.region-tag{padding:3px 7px;border-radius:5px;font-size:10px}
.map-link{display:inline-flex;align-items:center;gap:4px;font-size:12px}
.text-button{font-size:12px;font-weight:650}
.row-actions{align-items:center;justify-content:flex-end;gap:8px;white-space:nowrap}
.row-menu{position:relative}
.row-menu summary{display:grid;place-items:center;width:30px;height:30px;border-radius:6px;color:#617068;cursor:pointer;list-style:none}
.row-menu summary::-webkit-details-marker{display:none}
.row-menu summary:hover,.row-menu[open] summary{background:#edf3ef;color:var(--forest)}
.row-menu-popover{position:absolute;z-index:8;right:0;top:34px;display:grid;min-width:118px;padding:6px;border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:0 10px 30px rgba(19,42,30,.13)}
.row-menu-popover button{width:100%;padding:8px 10px;border-radius:5px;text-align:left}
.row-menu-popover button:hover{background:#f2f6f3}
.pagination{padding:13px 18px;border-color:var(--line);font-size:12px}
.page-button{min-height:34px;padding:6px 11px}
.chat-layout{border-radius:10px;box-shadow:none}
.user-dialog{border-radius:10px;box-shadow:0 24px 70px rgba(8,35,23,.2)}
.user-dialog form{padding:22px}
input,select,textarea{border-radius:7px;border-color:#d3ddd6}
.notice{border-radius:8px}
.toast{border-radius:7px;box-shadow:0 12px 32px rgba(8,35,23,.22)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.wecom-notice{margin-bottom:16px}.wecom-toolbar{display:grid;grid-template-columns:minmax(220px,.55fr) minmax(560px,1.45fr);align-items:end}.wecom-toolbar>label,.wecom-add-form label{display:grid;gap:6px;color:var(--muted);font-size:12px}.wecom-toolbar select,.wecom-add-form input,.wecom-add-form select{width:100%;height:42px}.wecom-add-form{display:grid;grid-template-columns:minmax(210px,.8fr) minmax(230px,1fr) auto;align-items:end;gap:10px}.wecom-table-wrap table{min-width:760px}.assignment-ready{display:inline-flex;padding:3px 8px;border-radius:5px;background:#e5f3e9;color:#17643f;font-size:11px;font-weight:700}

@media(max-width:1100px){
    .console-view{grid-template-columns:196px minmax(0,1fr)}
    .content{padding:24px}
    .residence-toolbar{grid-template-columns:minmax(220px,1fr) minmax(135px,.65fr) minmax(135px,.65fr) auto}
}
@media(max-width:760px){
    .sidebar{position:sticky;height:auto;padding:8px 10px}
    .content{padding:18px 14px 36px}
    .topbar{align-items:flex-start}
    .topbar-actions{gap:6px}
    .locale-control{height:38px}
    .current-user{height:38px}
    .residence-stats,.offer-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
    .residence-toolbar{grid-template-columns:1fr 1fr}
    .residence-toolbar .search-box,.residence-toolbar button{grid-column:1/-1}
    .section-actions{width:100%;flex-wrap:wrap}
    .section-actions button{flex:1}
    .wecom-toolbar,.wecom-add-form{grid-template-columns:1fr}.wecom-add-form button{width:100%}
}

/* Londonist DMC brand system — based on the public Londonist landing page */
:root{--ink:#1e293b;--muted:#6f7785;--line:#dfe3e8;--paper:#f7f7f6;--forest:#ff6c00;--dark:#1e293b;--mint:#fff0e5;--soft:#fafafa;--brand-orange:#ff6c00;--brand-navy:#1e293b;--brand-green:#20ad63}
body{font-family:Helvetica,Arial,"PingFang SC","Microsoft YaHei",sans-serif;color:var(--ink);background:var(--paper)}
button,input,select,textarea{font-family:inherit}
input:focus,select:focus,textarea:focus{border-color:var(--brand-orange);box-shadow:0 0 0 3px rgba(255,108,0,.13)}

.login-view{grid-template-columns:minmax(0,1.18fr) minmax(420px,.82fr);background:#fff}
.brand-panel{display:flex;min-height:100vh;flex-direction:column;justify-content:center;padding:clamp(3rem,7vw,7rem);background-color:var(--brand-navy);background-image:url("assets/londonist-hero.webp");background-position:center;background-size:cover;background-blend-mode:multiply;color:#fff}
.brand-panel .login-brand-logo{width:210px;margin-bottom:clamp(3.5rem,8vh,7rem);padding:18px;background:#fff}
.brand-panel h1{max-width:760px;margin:1.1rem 0;font-family:Helvetica,Arial,sans-serif;font-size:clamp(2.75rem,5.2vw,5.5rem);font-weight:700;line-height:.98;letter-spacing:-.055em}
.brand-panel>p:not(.eyebrow){max-width:520px;color:rgba(255,255,255,.82);font-size:1rem;line-height:1.7}
.brand-panel .brand-tagline{margin-bottom:1.2rem;color:var(--brand-orange)!important;font-size:clamp(1.05rem,1.5vw,1.35rem)!important;font-style:italic;font-weight:700}
.brand-panel .eyebrow{color:#fff}
.brand-orb{display:none}
.login-card{width:min(420px,100%);gap:1.3rem}
.mobile-login-logo{display:none}
.filing-footer{color:#818896;font-size:12px;text-align:center}.filing-footer a{color:inherit;text-decoration:none}.filing-footer a:hover{color:var(--brand-orange);text-decoration:underline}.login-filing{position:absolute;right:0;bottom:22px;width:41%}.console-filing{margin-top:28px;padding:14px 0 0;border-top:1px solid var(--line)}
.login-card .eyebrow{color:var(--brand-orange)}
.login-card h2{color:var(--brand-navy);font-size:2rem}

.console-view{grid-template-columns:200px minmax(0,1fr);background:var(--paper)}
.sidebar{position:sticky;top:0;height:100vh;padding:26px 0 18px;border-right:1px solid var(--line);background:#fff;color:var(--brand-navy)}
.logo{display:block;height:66px;padding:0 26px}
.logo img{display:block;width:144px;height:auto}
.sidebar nav{gap:3px;margin-top:24px}
.nav-item{gap:13px;padding:12px 26px;border-radius:0;color:#354158;font-size:14px;font-weight:600}
.nav-item i{width:20px;color:#526078;font-size:20px}
.nav-item:hover{background:#fff6ef;color:var(--brand-orange)}
.nav-item:hover i{color:var(--brand-orange)}
.nav-item.active{border-left:4px solid var(--brand-orange);padding-left:22px;background:var(--brand-orange);color:#fff;box-shadow:none}
.nav-item.active i{color:#fff}
.brand-signature{display:grid;width:max-content;gap:1px;margin-top:auto;margin-left:28px;padding:18px 0 10px;border-bottom:2px solid var(--brand-orange);color:#697386;font-size:8px;font-weight:700;letter-spacing:.24em;line-height:1.35}
.logout-button{display:flex;align-items:center;gap:11px;width:calc(100% - 32px);margin:8px 16px 0;padding:10px 12px;border-radius:6px;color:#687386}
.logout-button:hover{background:#fff3ea;color:var(--brand-orange)}
.logout-button::before{content:none}

.content{position:relative;width:100%;max-width:none;margin:0;padding:0 28px 42px;overflow:visible}
.brand-hero{position:relative;display:flex;height:204px;justify-content:space-between;margin:0 -28px 26px;padding:28px 48px 24px;overflow:hidden;background-color:var(--brand-navy);background-image:url("assets/londonist-westminster.jpg");background-position:center;background-size:cover;color:#fff}
.brand-hero-copy{display:grid;align-content:center;gap:10px;max-width:390px}
.brand-hero-copy strong{font-size:31px;line-height:.95;letter-spacing:-.035em}
.brand-hero-copy em{color:var(--brand-orange);font-size:15px;font-weight:700}
.brand-hero-mark{align-self:end;padding-bottom:8px;border-bottom:2px solid var(--brand-orange);color:rgba(255,255,255,.9);font-size:9px;font-weight:700;letter-spacing:.32em;line-height:1.5;text-align:right}
.topbar{align-items:flex-end;margin-bottom:20px}
.topbar h1{margin-top:4px;color:var(--brand-navy);font-size:34px;font-weight:700;letter-spacing:-.045em}
.view-tagline{margin:4px 0 0;color:var(--brand-orange);font-size:14px;font-style:italic;font-weight:700}
.eyebrow{color:#657084;font-size:10px;letter-spacing:.08em}
.topbar-label{margin:0;font-size:10px;font-weight:800;letter-spacing:.08em}.brand-context{color:var(--brand-orange)}
.topbar-actions{position:absolute;z-index:2;top:18px;right:28px;display:flex;align-items:center;gap:8px}
.locale-control,.current-user{height:40px;border:1px solid rgba(255,255,255,.28);background:rgba(30,41,59,.82);color:#fff}
.locale-control select{color:#fff}
.locale-control select option{color:var(--brand-navy)}
.locale-control i,.current-user>i{color:#fff}
.current-user:hover,.locale-control:hover{border-color:rgba(255,255,255,.65);background:rgba(30,41,59,.94)}
.avatar{background:#fff;color:var(--brand-orange)}

.panel,.notice,.chat-layout{border-color:var(--line);border-radius:8px;background:#fff;box-shadow:none}
.notice{border-left:3px solid var(--brand-orange);background:#fff8f3;color:#6c4a33}
.section-heading{padding:18px 20px 0}
.section-heading h2{color:var(--brand-navy);font-size:18px}
.primary-button{background:var(--brand-orange);color:#fff}
.primary-button:hover{background:#e76000}
.secondary-button,.page-button{border-color:#cfd5dc;color:var(--brand-navy)}
.secondary-button:hover,.page-button:hover:not(:disabled){border-color:var(--brand-orange);background:#fff7f1;color:var(--brand-orange)}
.text-button,.map-link,.reference-link{color:var(--brand-orange)}
.toolbar{gap:12px;padding:16px 20px}
.search-box{border-color:#cfd5dc;border-radius:6px}
.search-box:focus-within{border-color:var(--brand-orange);box-shadow:0 0 0 3px rgba(255,108,0,.12)}
input,select,textarea{border-color:#cfd5dc;border-radius:6px}
.toolbar select{border-radius:6px}
th{height:42px;background:#f5f6f7;color:#596477;font-size:10px;letter-spacing:.04em}
td{height:54px;border-color:#eceef1;color:#334057}
tbody tr:hover{background:#fff8f3}
.role-tag.admin{background:#e9eef7;color:#334c75}
.role-tag.user{background:#fff0e5;color:#a94c0a}
.status-tag.active,.status-tag.success,.assignment-ready{background:#e6f7ee;color:#14874a}
.status-tag.processing{background:#fff0e5;color:#b4510a}
.status-tag.disabled,.status-tag.fail{background:#f7e8e8;color:#a93333}
.region-tag,.root-type-tag{background:#f0f2f5;color:#536073}
.region-tag.east{background:#eef4ff;color:#2d5c9f}
.region-tag.west{background:#f5efff;color:#6842a0}
.region-tag.north{background:#fff0e5;color:#a54b0b}
.region-tag.south{background:#e6f7ee;color:#14874a}
.residence-stats article,.offer-stats article{border-radius:8px;background:#fff}
.residence-stats strong,.offer-stats strong{color:var(--brand-navy)}
.chat-layout{height:calc(100vh - 348px);min-height:520px}
.session-panel{background:#fafafa}
.session-item:hover,.session-item.active{background:#fff0e5}
.chat-empty span{background:#fff0e5;color:var(--brand-orange)}
.message-role{color:var(--brand-orange)}
.user-message .message-content{background:#fff0e5}
.filter-chip.active{border-color:var(--brand-orange);background:#fff0e5;color:#a94c0a}
.message-content pre{background:var(--brand-navy)}
.message-content a{color:var(--brand-orange)}
.toast{background:var(--brand-navy)}
.user-dialog{border-radius:8px;box-shadow:0 24px 70px rgba(30,41,59,.2)}
.user-dialog::backdrop{background:rgba(30,41,59,.55)}

@media(min-width:1600px){
    .console-view{grid-template-columns:220px minmax(0,1fr)}
    .content{max-width:none;padding:0 46px 52px}
    .brand-hero{height:220px;margin:0 -46px 28px;padding-inline:64px}
    .brand-hero-copy strong{font-size:36px}
    .topbar-actions{right:46px}
}
@media(max-width:1100px){
    .console-view{grid-template-columns:184px minmax(0,1fr)}
    .content{padding:0 22px 36px}
    .brand-hero{height:176px;margin:0 -22px 22px;padding:24px 32px}
    .brand-hero-copy strong{font-size:27px}
    .topbar-actions{right:22px}
    .logo{padding-inline:20px}.logo img{width:132px}
    .nav-item{padding-inline:20px}.nav-item.active{padding-left:16px}
}
@media(max-width:760px){
    body{background:var(--paper)}
    .login-view{position:relative;grid-template-columns:1fr}.brand-panel{display:none}
    .login-card{width:100%;min-height:100svh;align-content:center;padding:clamp(24px,8vw,42px)}
    .mobile-login-logo{display:block;width:150px;margin-bottom:34px}
    .login-filing{right:0;bottom:14px;width:100%;font-size:11px}.console-filing{margin-top:20px;padding-bottom:4px;font-size:11px}
    .sidebar{position:sticky;height:auto;padding:8px 10px;border-right:0;border-bottom:1px solid var(--line)}
    .logo{height:auto;padding:0}.logo img{width:76px}
    .sidebar nav{min-width:0;margin:0;overscroll-behavior-inline:contain}
    .nav-item{padding:.55rem .65rem;border-radius:6px}.nav-item.active{border-left:0;padding-left:.65rem}
    .brand-signature{display:none}
    .logout-button{width:auto;margin:0;padding:.55rem .35rem}
    .content{padding:0 14px 32px}
    .brand-hero{height:112px;margin:0 -14px 16px;padding:18px;background-position:center}
    .brand-hero-copy{gap:5px}.brand-hero-copy strong{font-size:19px}.brand-hero-copy em{font-size:10px}
    .brand-hero-mark{display:none}
    .topbar{align-items:flex-start;gap:12px;margin-bottom:14px}
    .topbar h1{font-size:25px}.view-tagline{font-size:12px}
    .topbar-actions{position:static;flex:0 0 auto;gap:6px;margin-left:auto}
    .locale-control,.current-user{height:38px;border-color:var(--line);background:#fff;color:var(--brand-navy)}
    .locale-control select{color:var(--brand-navy)}
    .locale-control i,.current-user>i{color:var(--brand-navy)}
    .current-user:hover,.locale-control:hover{border-color:var(--brand-orange);background:#fff8f3}
    #current-user-name{display:none}
    .panel{max-width:100%}.table-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
    .wecom-notice{font-size:12px;line-height:1.55}
    .wecom-toolbar{padding:14px}.wecom-add-form{gap:12px}
    .wecom-table-wrap table{min-width:680px}
    .chat-layout{height:calc(100svh - 285px);min-height:480px}
}
@media(max-width:480px){
    .brand-hero{height:96px;padding:14px;background-position:58% center}
    .brand-hero-copy{max-width:205px}.brand-hero-copy strong{font-size:16px}.brand-hero-copy em{font-size:9px;line-height:1.3}
    .topbar h1{font-size:23px}.topbar-label{font-size:8px}.brand-context{display:none}
    .locale-control{padding-inline:8px}.locale-control select{min-width:60px;padding-right:18px}
    .current-user{padding-inline:5px}.avatar-large{width:28px;height:28px}
    .section-heading{align-items:flex-start;flex-wrap:wrap;padding:15px 14px 0}.section-heading>.secondary-button{margin-left:auto}
    .toolbar{padding:14px}.notice{padding:12px 14px}
}

/* Customer workspace: scoped to avoid changing existing management tables. */
.customer-workspace{margin-bottom:24px;background:#fff;border:1px solid #e0e4e9;border-radius:10px;overflow:hidden}
.customer-workspace>.section-heading{padding:20px;margin:0}
.customer-layout{display:grid;grid-template-columns:minmax(250px,30%) minmax(0,1fr);border-top:1px solid #e0e4e9}
.customer-sidebar{border-right:1px solid #e0e4e9;padding:16px;min-width:0;background:#fafbfc}
.customer-search{display:flex;gap:8px;margin-bottom:16px}.customer-search input{width:100%;min-width:0}
.customer-card{display:block;width:100%;text-align:left;padding:14px;border:1px solid #e0e4e9;border-radius:8px;background:#fff;margin-bottom:8px;color:#1d2939;cursor:pointer}
.customer-card.active{border-color:#ff7900;background:#fff5ec}.customer-card>small{display:block;margin-top:9px}
.customer-person{display:flex;gap:12px;align-items:center;min-width:0}.customer-person>div{min-width:0}.customer-person strong,.customer-person small{display:block;overflow-wrap:anywhere}
.customer-avatar{position:relative;display:grid;place-items:center;width:44px;height:44px;flex:0 0 44px;background:#fff0e4;color:#bd5500;border-radius:50%;overflow:hidden}
.customer-avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.customer-pagination{display:flex;gap:8px;align-items:center;justify-content:space-between;margin-top:12px;font-size:12px}
.customer-detail{min-width:0;padding:22px}.customer-heading{display:flex;justify-content:space-between;gap:14px;align-items:center}
.customer-detail .section-heading{padding:0;margin:16px 0;gap:10px}.customer-detail h3{font-size:16px;margin:0}
.customer-detail .muted{font-size:12px;line-height:1.7}.customer-summary{background:#f8fafc;border:1px solid #e0e4e9;padding:16px;border-radius:8px;margin:18px 0}
.customer-summary .section-heading{margin-top:0}.customer-text{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.7;font-size:14px}
.customer-messages{max-height:600px;overflow:auto;padding:12px 0}.customer-message{padding:12px 16px;background:#f5f6f8;border-radius:8px;margin:10px 0 10px 28px}
.customer-message.from-customer{background:#fff3e8;margin-left:0;margin-right:28px}.customer-message>small{display:block;margin-bottom:6px}
@media(max-width:1000px){.customer-layout{grid-template-columns:1fr}.customer-sidebar{border-right:0;border-bottom:1px solid #e0e4e9}#customer-list{max-height:290px;overflow:auto}}
@media(max-width:600px){.customer-detail{padding:14px}.customer-heading{align-items:flex-start;flex-direction:column}.customer-summary{padding:12px}.customer-workspace>.section-heading{padding:14px}.customer-message{margin-left:12px}.customer-message.from-customer{margin-right:12px}.customer-detail .section-heading{flex-wrap:wrap}.customer-search .secondary-button{white-space:nowrap}}
