/* Shared workspace design, matching the CRM library. */
:root{--bg:#f6f8fb;--ink:#26364d;--sub:#8190a3;--line:#e9edf3;--soft:#f8fafc;--brand:#4b79dc;--brand-soft:#edf3ff;--shadow:0 3px 14px #1d355504}
button,input,select,textarea{font-family:inherit}button{touch-action:manipulation}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid #7096e8;outline-offset:3px}
button:disabled{opacity:.45;cursor:not-allowed}.btn.primary:disabled{filter:none}.topbar{min-height:70px;padding:12px 26px;border-color:var(--line);gap:22px}.brand{font-weight:650;font-size:18px;color:#293c59}.brand-ico{width:28px;height:28px;vertical-align:-8px;margin-right:10px}.mod-switch{margin-left:48px;gap:8px}.mod-switch button{font-size:13px;font-weight:500;padding:10px 17px;border:0;border-radius:9px}.mod-switch button.active{background:var(--brand-soft);color:var(--brand)}.login-user{font-weight:500;color:#6c7e95}.login-user .avatar{background:#edf3fc;color:#6c89b6}.sidebar{width:194px;padding:25px 14px}.sidebar .sidetitle{font-size:10px;letter-spacing:1px;color:#98a4b4;font-weight:500;margin-bottom:16px}.sidebar button{font-size:13px;font-weight:500;padding:12px 14px;margin:6px 0;color:#74859b}.sidebar button.active{color:#4e79c6;background:#edf3ff}.sidebar button.active:after{content:'';float:right;width:5px;height:5px;margin-top:8px;border-radius:50%;background:#779be0}.work{padding:28px 30px;min-width:0}.work-inner{max-width:1440px}.workspace-heading{margin:8px 0 24px}.workspace-heading .crm-eyebrow{margin-bottom:7px}.workspace-heading h1{font-size:28px;line-height:1.35;font-weight:650;letter-spacing:-.6px;margin:0;color:#1d293d}.workspace-heading p{font-size:13px;line-height:1.7;color:#8290a2;margin:8px 0 0}.stack{gap:22px}.card{padding:23px;border-radius:14px;border-color:var(--line);box-shadow:var(--shadow)}.card>strong,.card>.row>strong,.card>.row>div>strong{font-size:15px;font-weight:650}.hint{font-size:12px;line-height:1.85;margin:8px 0 15px;color:#8795a7}.row>.m{font-size:11px;color:#94a0b1}label{font-weight:500;color:#73839a;margin-bottom:7px}input,select,textarea{border-color:#e2e8f0;color:#425671;font-size:13px;padding:9px 12px;border-radius:8px;transition:border-color .15s,box-shadow .15s}input::placeholder,textarea::placeholder{color:#a5afbd}input:focus,select:focus,textarea:focus{border-color:#9db9ed;box-shadow:0 0 0 3px #eef4ff}input[type=checkbox]:focus,input[type=radio]:focus{box-shadow:none}/* 勾选类控件不吃文本框的焦点光环：14px 小方框套 3px 光环就是一圈阴影边框，且选中态已由 accent-color 表达 */input[type=checkbox],input[type=radio]{width:15px;height:15px;flex:none;accent-color:var(--brand)}textarea{line-height:1.8;min-height:110px}.two,.three{gap:16px}.two>div,.three>div,.contact-3>div{min-width:0}.btn{font-weight:500;font-size:12px;padding:8px 14px;color:#70839e;border-color:#dfe7f2;border-radius:8px}.btn.primary{box-shadow:0 3px 8px #4b79dc16}.btn.ghost{background:#fff}.btn.sm{padding:6px 11px;font-size:11px}.btn.xs{padding:4px 9px;font-size:11px}.btn.danger{color:#a18585}.btn.danger:hover{background:#fff5f3}.seg{padding:3px;background:#f4f7fb;border-color:#e9eef5;border-radius:8px;gap:2px}.seg button{font-weight:500;background:transparent;border-radius:5px;font-size:11px}.seg button.on{color:#537dcb;background:#fff;box-shadow:0 1px 4px #324d7a10}.item{padding:20px;border-color:#edf1f6;border-radius:10px;transition:border-color .15s}.item:hover{border-color:#d5e2f6}.item h3{font-size:14px;font-weight:600;line-height:1.65}.item .bd{font-size:13px;color:#748298;line-height:1.85;margin:12px 0}.item .m{font-size:11px;color:#95a0b0;gap:12px}.acts{border-top:1px solid #f0f3f7;padding-top:12px;margin-top:13px;gap:8px}.tag{border-radius:5px;background:#f1f5fa;color:#8090a6;font-size:10px;padding:3px 8px}.tag.topic{background:#fff7e9;color:#b39364}.pill{font-size:10px;font-weight:500;border-radius:5px;padding:4px 8px}.p-active{background:#edf8f3;color:#649c86}.p-used{background:#edf3ff;color:#6c8bc1}.empty{padding:40px 20px;color:#96a3b5;font-size:12px;background:#fbfcfe;border:1px dashed #e5ecf5;border-radius:10px}.list{gap:12px}.hooks-head{display:none}.hooks-add{padding:23px;border-color:var(--line);border-radius:14px;margin-bottom:22px}.hooks-add textarea{padding:12px;font-size:13px;min-height:130px;background:#fbfcfe}.ha-actions{margin-top:14px}.hooks-list{background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px;gap:12px}.hook-count{font-size:14px;font-weight:600;color:#485c78}.hook-toolbar{padding:12px 0;border-bottom:1px solid var(--line)}.hook-row{padding:16px;border-color:#edf1f6}.hook-text{color:#687b95;font-size:13px;line-height:1.8}.hook-ops{gap:8px}.tag-item{background:#f5f8fc;border-color:#e5ecf5;border-radius:7px;color:#7287a3;padding:7px 11px;font-size:12px}.cat-row{padding:10px;background:#f9fbfe;border:1px solid #edf1f7;border-radius:9px;margin:0}.cat-row input{background:white}.row:has(>#acc-cat-new),.row:has(>#cfg-source-new){flex-wrap:nowrap}.row>#acc-cat-new,.row>#cfg-source-new{flex:1;min-width:0}.row:has(>#acc-cat-new)>.btn,.row:has(>#cfg-source-new)>.btn{white-space:nowrap}#acc-rows>.row,#wb-rows>.row,#wb-perms>.row{padding:14px 0!important;gap:14px}#acc-rows>.row>span,#wb-rows>.row>span{line-height:2}.fu-item{padding:20px;margin:0;border-color:#edf1f7}.fu-item .fu-cust{font-size:14px;font-weight:600}.fu-item .fu-meta{font-size:11px;color:#99a4b5;margin-top:9px}.fu-item .fu-result{line-height:1.85;color:#6e8098;margin-top:12px}.acc-drop,.combo-list,.ss-list,.col-pop{border-color:#e5ecf5;box-shadow:0 10px 35px #263d6018}.acc-drop-item{font-weight:500;color:#72839b}.ss-opt:hover{background:#f0f5ff}
/* Every dialog shares headings, form surfaces and actions. */
.crm-customer small{max-width:none!important}.crm-table td{height:96px;padding:14px 16px}.crm-note-slot{height:60px;display:flex;align-items:center;white-space:normal}.crm-note-preview{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;max-height:60px;line-height:20px;font-size:12px;color:#75879f;white-space:pre-wrap;overflow-wrap:anywhere;cursor:help}.crm-note-preview:focus-visible{outline:2px solid #a8bfe7;outline-offset:3px;border-radius:3px}.crm-note-tooltip{position:fixed;z-index:250;width:340px;max-width:calc(100vw - 24px);max-height:min(300px,calc(100dvh - 24px));overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;padding:14px 16px;border:1px solid #e0e8f4;border-radius:10px;background:#fff;color:#617793;font-size:12px;line-height:1.85;box-shadow:0 10px 30px #263d6020;scrollbar-width:thin}.crm-row-actions{gap:6px}.crm-row-actions .btn{padding:5px 9px}.crm-row-actions .btn.danger{color:#a48687;border-color:#eee2e2;background:#fffafa}.layout-progress{font-size:11px;line-height:1.8;color:#8196b3;margin:8px 0}.layout-progress.error{color:#cc7e73}.layout-progress button{margin-left:12px}
.modal .box>.ed-field+.ed-field{margin-top:12px}.ed-foot>#m-cancel,.ed-foot>#detail-close{order:-1}.modal .ed-fields>div{padding:16px;border:1px solid #edf1f7;border-radius:10px;background:#fbfcfe}
.modal{background:#24365255;backdrop-filter:blur(3px);padding:16px}.modal .box,.modal .box.wide{border:1px solid #e5ecf5;border-radius:18px;padding:28px;max-height:calc(100dvh - 48px);box-shadow:0 24px 80px #1d35552b}.modal h2{font-size:21px;font-weight:650;letter-spacing:-.3px;color:#263950;margin-bottom:20px;line-height:1.5;overflow-wrap:anywhere}.modal .box>h2{padding-bottom:17px;border-bottom:1px solid var(--line)}.modal .box>h2:before{content:'工作台 / WORKSPACE';display:block;font-size:9px;letter-spacing:1.3px;color:#9aa7b9;font-weight:500;margin-bottom:7px}.modal .hint{font-size:12px;line-height:1.9}.modal .ed-field{padding:16px;background:#fbfcfe;border:1px solid #edf1f7;border-radius:10px}.modal .ed-field label{color:#7389a6;font-size:12px}.modal .ed-field textarea{background:#fff}.modal .ed-foot{padding-top:18px;margin-top:18px;gap:10px}.modal .ed-scroll{padding-right:10px}.modal .kv-block{padding:18px;border:1px solid #e9eff7;border-radius:11px;background:#fcfdff;margin:14px 0}.modal .kv-block .k{font-weight:500;color:#8194af}.modal .kv-block .v{font-size:13px;line-height:1.9;color:#506581}.detail-meta{padding:10px 0;gap:14px;line-height:1.9}.pm-head{padding:12px 15px;background:#f8fafd}.pm-title{font-size:12px;font-weight:500;color:#7890ac}.pm-body{padding:16px;color:#637994;line-height:1.85}.model-row{padding:10px;border:1px solid #ecf1f7;background:#fbfcfe;border-radius:9px;margin:9px 0}.model-row .st{font-size:11px;font-weight:500}.model-tip{padding:14px;background:#f8fafc;border-color:#eaf0f6;font-size:11px;color:#94a0b2}.layout-cmp textarea{padding:16px;background:#fbfcfe;border-color:#e6edf6}.layout-cmp .lc-head{color:#8194ae;font-weight:500;font-size:12px}.toast{z-index:200;background:#324966;box-shadow:0 6px 22px #263b5e20;font-size:12px}
/* Customer editor and follow-up: fixed shell with a scrollable body. */
#lead-modal .box,#followup-modal .box{padding:0;display:flex;flex-direction:column;overflow:hidden;width:720px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 48px)}#followup-modal .box{width:860px}.dialog-heading{padding:23px 28px 20px;display:flex;justify-content:space-between;gap:18px;align-items:flex-start;border-bottom:1px solid var(--line);flex:none}.dialog-heading h2{font-size:22px;margin:0;line-height:1.4}.dialog-heading p{font-size:12px;color:#96a3b5;margin:6px 0 0}.dialog-close{border:1px solid #e9eef5;background:#fafcfe;color:#96a6ba;border-radius:8px;width:30px;height:30px;font-size:20px;cursor:pointer;flex:none}.dialog-body{padding:22px 28px;overflow:auto;min-height:0;flex:1;scrollbar-width:thin;scrollbar-color:#c4cbd6 transparent}.dialog-footer{padding:17px 28px;display:flex;justify-content:flex-end;gap:10px;border-top:1px solid var(--line);background:white;flex:none}.form-section{border:1px solid #e7edf6;border-radius:12px;padding:18px;background:#fcfdff;margin-bottom:16px}.form-section-title{display:flex;align-items:center;gap:9px;font-size:13px;color:#647d9f;font-weight:600;margin-bottom:16px}.form-section-title span{display:inline-flex;align-items:center;justify-content:center;width:23px;height:23px;background:#eef3fc;border-radius:6px;font-size:10px;color:#829bc0}.form-section-title small{font-size:11px;font-weight:400;color:#9da9ba;margin-left:auto}.form-section .contact-3{margin:0}.form-section textarea{min-height:94px}.form-section .grp-label{margin:0 0 12px;font-size:11px;font-weight:400;color:#94a2b6}.lead-reminder-details{padding:17px;background:#fbfcfe;border:1px solid #e7edf6;border-radius:12px;margin-top:0}.lead-reminder-details summary{margin:0;font-weight:500}.lead-reminder-details[open] summary{margin-bottom:14px}.lead-reminder-details .reminder-picker{background:#fff}.lead-sum{background:#fbfcfe;border-color:#e7edf6;border-radius:12px;padding:16px 18px;margin-bottom:16px}.lead-sum .ls-row{font-size:12px;gap:6px 16px;margin:8px 0;overflow-wrap:anywhere}.lead-sum b{font-weight:500;color:#617794}.lead-sum .ls-row span{font-size:11px;color:#9aa8ba}.followup-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px}.followup-entry{margin-bottom:0;align-self:start}.followup-history{min-width:0}.followup-history>strong{font-size:13px;color:#6e85a4;font-weight:500;display:block;margin:0 0 20px}.timeline{border-left:1px solid #e3ebf6;margin-left:7px;padding-left:18px;gap:22px}.tl-item:before{width:7px;height:7px;left:-22px;top:5px;background:#98afd0;box-shadow:0 0 0 4px #f5f8fd}.tl-time{font-size:10px;font-weight:400;color:#99a7ba;line-height:1.7}.tl-text{font-size:12px;line-height:1.85;color:#6f829d;margin-top:7px;overflow-wrap:anywhere}.tl-del{font-size:10px;color:#ad9b9b}.fu-reminder-banner{margin-bottom:20px}.dialog-body label{font-size:12px}.dialog-body input,.dialog-body select{min-height:39px}.dialog-body .ss-list{z-index:25}.dialog-body .reminder-shortcuts button{font-size:11px}.dialog-body .form-section .two{gap:14px}.reminder-modal .box{padding:26px}.reminder-dialog-head h2{margin-bottom:0}.crm-library .crm-search input{box-shadow:none}.crm-library .crm-search:focus-within{border-color:#aac3ef}.crm-library{padding-top:8px}
@media(min-width:1500px){.work{padding:32px 42px}}
@media(max-width:1100px){.mod-switch{margin-left:8px;gap:2px}.mod-switch button{padding:10px;font-size:12px}.sidebar{width:170px}.work{padding:22px}.topbar{padding:12px 18px;gap:14px}.card{padding:20px}.model-row{flex-wrap:wrap}.model-row input{min-width:140px}.model-row .st{min-width:0}.modal .box.wide{width:min(880px,96vw)}}
@media(max-width:760px){.topbar{flex-wrap:wrap;padding:10px 14px;gap:9px;min-height:0}.brand{font-size:16px}.mod-switch{order:3;width:100%;margin:0;justify-content:flex-start;overflow:auto}.mod-switch button{flex:1;white-space:nowrap}.acc-area{gap:7px}.sidebar{width:124px;padding:14px 8px}.sidebar .sidetitle{font-size:9px;padding:6px;margin-bottom:8px}.sidebar button{font-size:12px;padding:11px 8px}.sidebar button.active:after{display:none}.work{padding:14px 12px}.workspace-heading{margin:7px 0 18px}.workspace-heading h1{font-size:23px}.workspace-heading p{font-size:12px}.card{padding:16px}.two,.three,.contact-3,.followup-columns{grid-template-columns:1fr}.dialog-heading{padding:18px}.dialog-body{padding:18px}.dialog-footer{padding:14px 18px}.dialog-heading h2{font-size:20px}.form-section{padding:14px}.form-section-title{flex-wrap:wrap}.form-section-title small{margin-left:0}.modal .box,.modal .box.wide{padding:20px;max-height:calc(100dvh - 32px)}#lead-modal .box,#followup-modal .box{padding:0;max-height:calc(100dvh - 32px)}.hook-row{flex-wrap:wrap}.hook-ops{margin-left:auto}.hooks-list,.hooks-add{padding:16px}.row select{max-width:100%}.crm-stats{gap:10px}.crm-stat{padding:14px}.model-row input{min-width:100px}.model-row .st{text-align:left}.modal .ed-scroll{padding-right:3px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
