:root{--sidebar-bg:#29465B;--sidebar-hover:#365C73;--sidebar-active:#3F718A;--primary:#2F7D8C;--primary-hover:#276B78;--page-bg:#F3F6F8;--card-bg:#FFFFFF;--border:#DCE5EA;--text-primary:#182A36;--text-secondary:#667985;--warning:#C58A45;--danger:#C75B56;--success:#3F8068;--bg:var(--page-bg);--panel:var(--card-bg);--text:var(--text-primary);--muted:var(--text-secondary);--line:var(--border);--soft:#EAF1F4;--accent:var(--primary);--accent-dark:var(--primary-hover)}*{box-sizing:border-box}body.sino-booting .shell{visibility:hidden}body.app-booting .sidebar,body.app-booting .mobile-appbar{visibility:hidden}
body{margin:0;min-height:100vh;font-family:"Microsoft YaHei","PingFang SC",Arial,sans-serif;color:var(--text);background:var(--bg);display:flex}button,input,select,textarea{font:inherit}button{border:0;cursor:pointer}.sidebar{width:232px;min-height:100vh;position:sticky;top:0;background:#102a2a;color:#fff;padding:22px 14px}.brand{padding:0 8px 18px;border-bottom:1px solid rgba(255,255,255,.12);margin-bottom:14px}.brand strong{display:block;font-size:22px}.brand span{display:block;margin-top:5px;color:#b7c6c3;font-size:13px}.nav{width:100%;display:block;margin:4px 0;padding:11px 12px;border-radius:6px;text-align:left;background:transparent;color:#d9e8e4;font-size:15px}.nav.active,.nav:hover{background:#1c4a47;color:#fff}.shell{flex:1;min-width:0;padding:22px 24px 32px}.topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}h1{margin:0 0 6px;font-size:26px}h2{margin:0 0 14px;font-size:18px}h3{margin:0 0 10px;font-size:16px}p{color:var(--muted);line-height:1.7;margin:0}#toast{min-height:36px;max-width:520px;padding:9px 12px;border-radius:6px;color:#fff;background:transparent}#toast.show{background:var(--accent)}#toast.error{background:var(--danger)}.page{display:none}.page.active{display:block}.panel,.stat,.card{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:16px}.grid{display:grid;gap:14px}.stats{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:14px}.stat strong{display:block;font-size:30px;color:var(--accent-dark)}.stat span{color:var(--muted);font-size:14px}.cards{grid-template-columns:repeat(3,minmax(0,1fr))}.card{text-align:left;color:var(--text)}.card:hover{border-color:var(--accent)}.card b{display:block;margin-bottom:8px}.card small{color:var(--muted);line-height:1.5}.workbench{display:grid;grid-template-columns:380px minmax(0,1fr);gap:16px;align-items:start}.form-grid{display:grid;gap:12px}label{display:block;color:#344054;font-size:14px}label span{display:block;margin-bottom:5px;font-weight:600}input,select,textarea{width:100%;border:1px solid #cbd5dd;border-radius:6px;padding:9px 10px;background:#fff;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(15,118,110,.12)}textarea{resize:vertical;line-height:1.65}.check-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.check-row label,.checkline{display:flex;align-items:center;gap:8px;margin:0;font-weight:400}.check-row input,.checkline input{width:auto}.actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.primary,.secondary,.danger,.ghost{border-radius:6px;padding:9px 13px;min-height:38px}.primary{background:var(--accent);color:white}.primary:hover{background:var(--accent-dark)}.secondary{background:#e9eff2;color:#24323f}.secondary:hover{background:#dce6ea}.danger{background:var(--danger);color:#fff}.ghost{background:transparent;color:var(--accent-dark);border:1px solid var(--line)}button:disabled{opacity:.55;cursor:not-allowed}.result-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:10px}.result-box{min-height:520px;font-size:15px}.quick{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.modify-bar{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:12px}.warning{color:var(--warning);background:#fff7e6;border:1px solid #f3d19e;border-radius:6px;padding:10px 12px;margin-bottom:12px}.toolbar{display:grid;grid-template-columns:minmax(0,1fr) 180px auto;gap:10px;margin-bottom:14px}.list{display:grid;gap:10px}.item{background:#fbfcfd;border:1px solid var(--line);border-radius:8px;padding:14px}.item-title{display:flex;justify-content:space-between;gap:10px;margin-bottom:8px}.meta{color:var(--muted);font-size:13px}.excerpt{color:#3f4c5a;line-height:1.65;max-height:82px;overflow:hidden;white-space:pre-wrap}.empty{color:var(--muted);padding:26px;text-align:center;border:1px dashed var(--line);border-radius:8px}@media(max-width:980px){body{display:block}.sidebar{width:100%;min-height:auto;position:static}#nav{display:flex;gap:6px;overflow-x:auto}.nav{width:auto;white-space:nowrap}.shell{padding:16px}.workbench,.stats,.cards,.toolbar{grid-template-columns:1fr}.topbar,.result-head{display:block}.modify-bar{grid-template-columns:1fr}}
.preset-row{display:flex;flex-wrap:wrap;gap:8px}.preset-btn{min-width:110px}.hint{font-size:13px;color:var(--muted);margin-top:8px}

.card-editor{display:grid;grid-template-columns:390px minmax(0,1fr);gap:16px;align-items:start}.card-controls{position:sticky;top:18px;display:grid;gap:12px}.card-edit-list{display:grid;gap:12px;max-height:68vh;overflow:auto;padding-right:4px}.card-edit-item{border:1px solid var(--line);background:#fbfcfd;border-radius:8px;padding:12px;display:grid;gap:10px}.card-preview-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.card-preview{background:#fff;border:1px solid var(--line);border-radius:8px;padding:12px;display:grid;gap:10px}.card-preview canvas{width:100%;height:auto;border:1px solid var(--line);border-radius:6px;background:#fff}@media(max-width:980px){.card-editor{grid-template-columns:1fr}.card-controls{position:static}.card-edit-list{max-height:none}}

.product-ui .sidebar{width:260px;background:#0f2827;padding:24px 16px}.product-ui .brand{margin-bottom:18px;padding:0 8px 18px}.product-ui .brand strong{font-size:21px;line-height:1.25}.product-ui #nav{display:block}.nav-group{margin:8px 0}.nav-group-title{width:100%;display:flex;justify-content:space-between;align-items:center;padding:10px 10px;border-radius:6px;background:transparent;color:#aebfbc;font-size:13px;font-weight:700}.nav-group-title:hover,.nav-group.active-group .nav-group-title{background:rgba(255,255,255,.06);color:#fff}.nav-caret{transition:transform .18s}.nav-group.open .nav-caret{transform:rotate(180deg)}.nav-group-items{display:none;padding:4px 0 4px 8px}.nav-group.open .nav-group-items{display:block}.product-ui .nav{font-size:14px;margin:3px 0;padding:10px 12px 10px 16px;color:#d7e4e1}.product-ui .nav.active{background:#1f5a54;color:#fff}.welcome-panel{background:#fff;border:1px solid var(--line);border-radius:10px;padding:24px;display:flex;justify-content:space-between;gap:24px;align-items:center;margin-bottom:16px}.welcome-panel h2{font-size:26px;margin-bottom:8px}.eyebrow{font-size:12px;font-weight:700;color:var(--accent-dark);letter-spacing:0;margin-bottom:8px}.welcome-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.compact-stats{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:18px}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin:18px 0 10px}.section-head h2{margin:0}.section-head p{font-size:14px}.workspace-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.workspace-card{min-height:260px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:18px;display:flex;flex-direction:column;justify-content:space-between;gap:18px}.workspace-card:hover{border-color:var(--accent);box-shadow:0 10px 24px rgba(20,35,50,.07)}.workspace-card h3{font-size:19px;margin-bottom:10px}.workspace-card .scenario{color:#253746;font-weight:700;line-height:1.65;margin-bottom:8px}.quick-entry-row{display:flex;gap:10px;flex-wrap:wrap}.product-ui .card{border-radius:10px}.product-ui .panel,.product-ui .stat{border-radius:10px}@media(max-width:1180px){.workspace-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.welcome-panel{display:block}.welcome-actions{justify-content:flex-start;margin-top:16px}}@media(max-width:980px){.product-ui .sidebar{width:100%;padding:14px}.nav-group-items{display:block}.workspace-cards,.compact-stats{grid-template-columns:1fr}.section-head{display:block}}

.knowledge-hero{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:18px;align-items:start;margin-bottom:14px}.knowledge-hero h2{font-size:20px}.knowledge-paths{display:grid;gap:6px;background:#f7fafb;border:1px solid var(--line);border-radius:8px;padding:12px}.knowledge-paths span{font-size:12px;color:var(--muted);font-weight:700}.knowledge-paths b{font-size:13px;word-break:break-all;color:#263744}.knowledge-upload{grid-template-columns:220px minmax(220px,1fr) minmax(260px,1.2fr) auto;align-items:end;margin-bottom:14px}.knowledge-upload h2{grid-column:1/-1;margin-bottom:0}.knowledge-toolbar{grid-template-columns:minmax(0,1fr) 180px auto}.knowledge-list{display:grid;gap:10px}.knowledge-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:start;border:1px solid var(--line);background:#fbfcfd;border-radius:8px;padding:14px}.knowledge-main{min-width:0}.knowledge-meta{display:flex;flex-wrap:wrap;gap:8px;margin:7px 0 8px}.knowledge-meta span{font-size:12px;color:#526170;background:#edf2f4;border-radius:999px;padding:4px 8px}.status-pill{display:inline-flex;align-items:center;border-radius:999px;padding:4px 9px;font-size:12px;font-weight:700}.status-pill.ok{background:#e7f6f2;color:#0f766e}.status-pill.bad{background:#fff1f0;color:var(--danger)}@media(max-width:1180px){.knowledge-hero,.knowledge-upload,.knowledge-row{grid-template-columns:1fr}.knowledge-row .actions{justify-content:flex-start}}

.reference-panel{margin-top:12px;border:1px solid var(--line);background:#f8fbfb;border-radius:8px;padding:14px}.reference-panel h3{margin-bottom:6px}.reference-item{border-top:1px solid var(--line);padding-top:10px;margin-top:10px}.knowledge-badges{display:flex;flex-wrap:wrap;gap:8px;align-content:flex-start}.knowledge-badges span{background:#e7f6f2;color:#0f5f59;border:1px solid #bfe5df;border-radius:999px;padding:7px 10px;font-size:13px;font-weight:700}.knowledge-edit{display:grid;grid-template-columns:120px 100px 120px minmax(180px,1fr) auto;gap:8px;margin:10px 0}.knowledge-edit input{padding:7px 8px;font-size:13px}.knowledge-test{margin-bottom:14px}.detail{white-space:pre-wrap;line-height:1.75;color:#24323f}@media(max-width:1180px){.knowledge-edit{grid-template-columns:1fr}.knowledge-badges{margin-top:12px}}

.full{grid-column:1/-1}.check-list{display:grid;gap:8px;max-height:260px;overflow:auto;border:1px solid var(--line);border-radius:8px;padding:10px;background:#fbfcfd}.check-list label{display:flex;gap:8px;align-items:flex-start;margin:0}.check-list input{width:auto;margin-top:3px}.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.xhs-card{position:relative;aspect-ratio:3/4;background:#f7fbfa;border:1px solid var(--line);border-radius:8px;padding:52px 28px 42px;overflow:hidden}.xhs-card:before{content:"";position:absolute;left:0;right:0;top:0;height:8px;background:var(--accent)}.xhs-card h3{font-size:24px;line-height:1.3;margin:42px 0 24px;color:#102a2a}.xhs-card p{font-size:17px;line-height:1.75;color:#334155;white-space:pre-wrap}.xhs-card footer{position:absolute;left:28px;bottom:24px;color:var(--accent-dark);font-weight:700}.logo-box{position:absolute;right:24px;top:22px;width:74px;height:44px;border:1px solid var(--accent);border-radius:4px;color:var(--accent-dark);font-size:13px;display:flex;align-items:center;justify-content:center}.card-grid textarea{margin-top:8px}.danger:hover{filter:brightness(.95)}
.flow-toolbar{grid-template-columns:minmax(0,1fr) 160px 180px auto}.flow-admin textarea{font-size:14px}.flow-admin hr{border:0;border-top:1px solid var(--line);margin:12px 0}
.nav-group-title span:last-child{transition:transform .18s}.nav-group.open .nav-group-title span:last-child{transform:rotate(180deg)}.brief-card{background:#fff}.brief-card .detail{background:#f7fafb;border:1px solid var(--line);border-radius:8px;padding:12px;margin:10px 0}.brief-card p{margin:8px 0}.flow-admin .detail{min-height:420px}.flow-admin .toolbar{grid-template-columns:repeat(auto-fit,minmax(130px,auto));align-items:center}.template-center .item,.brief-card{border-radius:10px}.workspace-card p{color:#526170}.shell{max-width:1480px;margin:0 auto;width:100%}@media(max-width:980px){.flow-toolbar,.toolbar{grid-template-columns:1fr}.welcome-panel{padding:18px}.panel{padding:14px}}
.drop-zone{margin-top:8px;border:1px dashed #9fb5bd;background:#f8fbfb;border-radius:8px;padding:18px;text-align:center;color:#526170}.drop-zone.dragover{border-color:var(--accent);background:#e7f6f2;color:#0f5f59}.upload-drop input[type=file]{background:#fff}.brief-card textarea,#momentsResult textarea{min-height:150px}.welcome-actions{max-width:680px}.compact-stats .stat strong{font-size:24px}.knowledge-row .actions,.item .actions{align-self:start}

.assistant-layout{grid-template-columns:420px minmax(0,1fr)}
.assistant-result{display:grid;gap:14px}
.assistant-result section{border:1px solid var(--line);background:#fbfcfd;border-radius:8px;padding:14px}
.assistant-result h3{margin:0 0 8px;font-size:15px;color:#102a2a}
.assistant-result ul,.assistant-result ol{margin:8px 0 0 20px;padding:0;color:#344054;line-height:1.75}
.assistant-tags,.priority-list{display:flex;flex-wrap:wrap;gap:8px}
.assistant-tags span,.priority-list span{display:inline-flex;align-items:center;border-radius:999px;background:#edf2f4;color:#344054;font-size:13px;padding:6px 10px}
.assistant-tags span:first-child{background:#e7f6f2;color:#0f5f59;font-weight:700}
.assistant-actions{border-top:1px solid var(--line);padding-top:12px}
@media(max-width:980px){.assistant-layout{grid-template-columns:1fr}}

.paste-zone{border:1px dashed #9fb7b1;background:#f8fbfa;border-radius:8px;padding:18px;display:flex;flex-direction:column;gap:6px;cursor:text;outline:none;min-height:96px;justify-content:center}
.paste-zone:focus,.paste-zone.dragover{border-color:#0f766e;background:#ecfdf5;box-shadow:0 0 0 3px rgba(15,118,110,.12)}
.paste-zone b{font-size:15px;color:#123b36}
.paste-zone span{font-size:13px;color:#64748b;line-height:1.5}
.paste-zone em{font-style:normal;font-size:13px;color:#0f766e}
.paste-zone.has-file{border-style:solid;background:#f0fdfa}

.quick-flow-presets{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.quick-flow-presets button{white-space:nowrap}

.work-home-hero{align-items:flex-start}.work-overview{margin-bottom:16px}.task-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.task-columns h3{font-size:16px;margin:0 0 10px;color:#1f2937}.mini-task{border:1px solid var(--line);background:#fbfcfd;border-radius:8px;padding:12px;margin-bottom:10px}.mini-task-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.mini-task b{font-size:14px;line-height:1.45}.mini-task p{font-size:12px;color:#526170;margin:6px 0 0}.task-pill{display:inline-flex;align-items:center;border-radius:999px;padding:3px 8px;font-size:12px;font-weight:700;white-space:nowrap}.task-pill.danger{background:#fee2e2;color:#991b1b}.task-pill.warn{background:#fff7ed;color:#9a3412}.task-pill.ok{background:#dcfce7;color:#166534}.task-pill.normal{background:#edf2f4;color:#334155}.urgent-stat strong{color:#b91c1c}.task-row.urgent{border-left:4px solid #dc2626}.task-row.soon{border-left:4px solid #f97316}.task-row.later{border-left:4px solid #94a3b8}.task-grid input[type=datetime-local]{padding:7px 8px;font-size:13px}.small-empty{padding:14px;min-height:auto}.compact-workspace-cards .workspace-card{min-height:190px}@media(max-width:1180px){.task-columns{grid-template-columns:1fr}.compact-workspace-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.compact-workspace-cards{grid-template-columns:1fr}.mini-task-head{display:block}.task-pill{margin-top:6px}}

.daily-brief-page{max-width:1180px}.brief-morning{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;margin-bottom:14px}.brief-morning h2{font-size:26px;margin:4px 0 8px}.brief-status{background:#f8fbfb;border:1px solid var(--line);border-radius:8px;padding:10px 12px;color:#526170;margin:10px 0 14px}.brief-daily-list{display:grid;gap:14px}.brief-news-card{display:grid;grid-template-columns:46px minmax(0,1fr);gap:14px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:18px}.brief-news-index{width:34px;height:34px;border-radius:50%;background:#0f5f59;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800}.brief-news-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:8px}.brief-news-head h3{font-size:20px;line-height:1.35;margin:0;color:#102a2a}.brief-news-card section{border-top:1px solid #edf2f4;padding-top:10px;margin-top:10px}.brief-news-card h4{font-size:14px;margin:0 0 6px;color:#334155}.brief-news-card p{line-height:1.75;color:#344054}.friend-copy textarea{width:100%;min-height:118px;background:#fbfcfd;border:1px solid var(--line);border-radius:8px;padding:10px;line-height:1.7;resize:vertical}.brief-source{margin-top:12px;border:1px solid var(--line);border-radius:8px;background:#f8fbfb}.brief-source summary{cursor:pointer;padding:10px 12px;font-weight:700;color:#334155}.brief-source div{padding:0 12px 12px}.brief-source p{font-size:13px;margin:6px 0}@media(max-width:760px){.brief-morning{display:block}.brief-news-card{grid-template-columns:1fr}.brief-news-head{display:block}.brief-news-head .status-pill{margin-top:8px}}
.brief-summary-card{padding:14px 16px;box-shadow:0 10px 24px rgba(15,23,42,.04)}.brief-summary-card .brief-news-head h3{font-size:18px}.brief-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.brief-summary-grid section{background:#f8fbfb;border:1px solid #edf2f4;border-radius:8px;margin-top:0;padding:10px 12px}.brief-summary-grid p{margin:0;font-size:14px}.brief-clamp-2,.brief-clamp-3{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}.brief-clamp-2{-webkit-line-clamp:2}.brief-clamp-3{-webkit-line-clamp:3}.brief-detail-extra{border-top:1px solid #edf2f4;margin-top:12px;padding-top:2px}.brief-detail-extra[hidden]{display:none!important}.brief-summary-card .brief-card-footer{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;flex-wrap:wrap;margin-top:10px}.brief-summary-card .brief-source{margin-top:0;min-width:190px;max-width:320px;flex:1}.brief-summary-card .actions{margin:0;display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.brief-summary-card .actions button{white-space:nowrap}.brief-summary-card .friend-copy textarea{min-height:94px}.brief-summary-card.open .brief-summary-grid section{background:#fff}@media(max-width:980px){.brief-summary-grid{grid-template-columns:1fr}.brief-summary-card .brief-card-footer{display:block}.brief-summary-card .actions{justify-content:flex-start;margin-top:10px}}

.flow-manage-split{grid-template-columns:minmax(460px,.95fr) minmax(0,1fr)}.flow-library-view .toolbar{grid-template-columns:minmax(260px,1fr) repeat(3,150px) auto}.flow-library-view .item .meta{display:block;margin-top:4px}.flow-admin textarea[name=content]{font-family:inherit}.flow-admin .form-grid h2{grid-column:1/-1}@media(max-width:1180px){.flow-manage-split{grid-template-columns:1fr}.flow-library-view .toolbar{grid-template-columns:1fr}}

.task-table-panel{max-width:none}.task-table-toolbar{grid-template-columns:minmax(260px,1fr) 130px 130px 120px auto}.task-table-wrap{overflow:auto;border:1px solid var(--line);border-radius:8px;background:#fff}.task-table{width:100%;border-collapse:collapse;min-width:1180px;font-size:13px}.task-table th{position:sticky;top:0;background:#f3f7f7;color:#334155;text-align:left;border-bottom:1px solid var(--line);padding:9px 8px;white-space:nowrap}.task-table td{border-bottom:1px solid #edf2f4;padding:7px 8px;vertical-align:middle}.task-table tr:hover{background:#f8fbfb}.task-table tr.urgent{background:#fff7f7}.task-table tr.soon{background:#fffaf3}.task-table select,.task-table input{height:30px;padding:4px 6px;font-size:12px;min-width:84px}.task-title-cell{min-width:220px;font-weight:700;color:#1f2937}.task-op{white-space:nowrap}.task-op button{padding:6px 8px;font-size:12px;margin-right:4px}.modal-backdrop{position:fixed;inset:0;background:rgba(15,23,42,.35);z-index:50;align-items:center;justify-content:center;padding:24px}.modal-card{background:#fff;border-radius:10px;border:1px solid var(--line);box-shadow:0 24px 70px rgba(15,23,42,.25);max-height:88vh;overflow:auto}.task-detail-card{width:min(980px,96vw);padding:20px}.task-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.task-detail-grid section{border:1px solid var(--line);border-radius:8px;background:#fbfcfd;padding:12px}.task-detail-grid h3{font-size:14px;margin:0 0 8px}.task-detail-grid pre{white-space:pre-wrap;line-height:1.65;margin:0;color:#334155}@media(max-width:900px){.task-table-toolbar{grid-template-columns:1fr}.task-detail-grid{grid-template-columns:1fr}}


.assistant-note{margin-top:10px;color:#526170;background:#f8fbfb;border:1px solid var(--line);border-radius:8px;padding:10px 12px}
.assistant-raw{white-space:pre-wrap;line-height:1.7;color:#334155;background:#fff;border:1px solid var(--line);border-radius:8px;padding:12px;max-height:260px;overflow:auto}


.office-hero h2{font-size:28px}.office-stats{grid-template-columns:repeat(5,minmax(0,1fr));margin-bottom:16px}.office-task-panel{margin-bottom:16px}.mini-office-table .task-table{min-width:980px}.office-entry-cards .workspace-card{min-height:170px}.assistant-result .assistant-note{margin-top:10px}.assistant-result pre.assistant-raw{font-size:14px}.task-detail-grid ul{margin:0 0 0 18px;color:#344054;line-height:1.7}@media(max-width:1180px){.office-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.office-stats{grid-template-columns:1fr}}


.assistant-tabs{display:flex;gap:8px;margin-bottom:14px}.assistant-task-panel{margin-top:0}.assistant-file-preview{display:grid;grid-template-columns:160px minmax(0,1fr);gap:12px;align-items:start;border:1px solid var(--line);background:#fbfcfd;border-radius:8px;padding:12px}.assistant-file-preview img{width:160px;max-height:180px;object-fit:contain;border:1px solid var(--line);border-radius:6px;background:#fff}.assistant-file-preview details{margin-top:8px}.assistant-file-preview pre{white-space:pre-wrap;line-height:1.6;max-height:180px;overflow:auto;background:#fff;border:1px solid var(--line);border-radius:6px;padding:8px}@media(max-width:900px){.assistant-file-preview{grid-template-columns:1fr}.assistant-file-preview img{width:100%;max-height:240px}}
.status-pill.warn{background:#fff7e8;color:#9a6a2f}
.diagnostic-page{display:grid;gap:14px;max-width:1180px}.diagnostic-top{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:start}.diagnostic-top .primary{min-width:96px;height:38px}.diagnostic-summary-modern{display:grid;gap:12px}.diagnostic-result{display:grid;gap:12px}.diagnostic-attention-list,.diagnostic-group-list{display:grid;gap:8px}.diagnostic-empty-ok{border:1px solid #d7e9e3;background:#f6fbf9;border-radius:8px;padding:14px;color:#0f766e;font-weight:700}.diagnostic-all>summary{list-style:none;cursor:pointer;font-weight:800;color:var(--primary);display:flex;align-items:center;justify-content:space-between}.diagnostic-all>summary::-webkit-details-marker,.diagnostic-group>summary::-webkit-details-marker{display:none}.diagnostic-all>summary:after{content:'展开';font-size:12px;color:var(--muted);font-weight:700}.diagnostic-all[open]>summary:after{content:'收起'}.diagnostic-groups{display:grid;gap:10px;margin-top:14px}.diagnostic-group{border:1px solid var(--line);border-radius:10px;background:#fbfcfd;overflow:hidden}.diagnostic-group>summary{list-style:none;display:flex;justify-content:space-between;gap:12px;align-items:center;cursor:pointer;padding:11px 13px;font-weight:800}.diagnostic-group>summary em{font-style:normal;color:var(--muted);font-weight:700;font-size:12px}.diagnostic-group[open]>summary{border-bottom:1px solid var(--line);background:#fff}.diagnostic-group-list{padding:10px}.diagnostic-item{border:1px solid var(--line);border-radius:8px;background:#fff;padding:10px 12px}.diagnostic-item.bad{border-left:3px solid #b42318}.diagnostic-item.warn{border-left:3px solid #d28a20}.diagnostic-item.ok{opacity:.82}.diagnostic-item-main{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:start}.diagnostic-item-main b{display:block;color:var(--text);margin-bottom:4px}.diagnostic-item-main p{margin:0;color:var(--muted);line-height:1.55}.diagnostic-tech-detail{margin-top:8px}.diagnostic-tech-detail summary{cursor:pointer;color:var(--primary);font-weight:700;font-size:13px}.diagnostic-tech-detail pre{white-space:pre-wrap;word-break:break-word;max-height:220px;overflow:auto;margin:8px 0 0;background:#f7fafb;border:1px solid var(--line);border-radius:8px;padding:10px;color:#475569;font-size:12px;line-height:1.55}@media(max-width:1050px){.diagnostic-top{grid-template-columns:1fr}.diagnostic-top .primary{justify-self:start}}@media(max-width:640px){.diagnostic-item-main{grid-template-columns:1fr}.diagnostic-page{gap:10px}}
.diagnostic-page.panel{display:grid;gap:16px;max-width:1220px;margin:0;padding:18px 20px;border-radius:10px}.diagnostic-page.panel .diagnostic-top{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:start;border-bottom:1px solid var(--line);padding-bottom:14px}.diagnostic-page.panel .diagnostic-top .primary{min-width:96px;height:36px;padding:7px 13px}.diagnostic-statusbar{display:flex;flex-wrap:wrap;align-items:center;gap:28px;min-height:30px}.diagnostic-statusbar>div{display:flex;align-items:baseline;gap:8px}.diagnostic-statusbar span{color:var(--muted);font-size:13px}.diagnostic-statusbar b{display:inline-flex;align-items:center;gap:6px;color:var(--text);font-size:16px}.diagnostic-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#d28a20;flex:0 0 auto}.diagnostic-dot.ok{background:#0f766e}.diagnostic-dot.warn{background:#d28a20}.diagnostic-dot.bad{background:#b42318}.diagnostic-metric-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#fff}.diagnostic-metric{min-width:0;padding:9px 12px;border-right:1px solid #edf2f4}.diagnostic-metric:last-child{border-right:0}.diagnostic-metric span{display:block;color:var(--muted);font-size:12px;margin-bottom:5px}.diagnostic-metric b{display:flex;align-items:center;gap:6px;color:#344054;font-size:13px;white-space:nowrap}.diagnostic-metric.ok b{color:#0f766e}.diagnostic-metric.warn b{color:#9a6a2f}.diagnostic-metric.bad b{color:#b42318}.diagnostic-result{display:grid;gap:0}.diagnostic-attention{padding-top:2px}.diagnostic-attention h2{font-size:17px;margin:0 0 10px}.diagnostic-attention-list{display:grid;gap:0;border-top:1px solid #edf2f4}.diagnostic-attention-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:start;padding:12px 0;border-bottom:1px solid #edf2f4}.diagnostic-attention-item b{display:block;color:#1f2937;margin-bottom:4px}.diagnostic-attention-item p{margin:0;color:#526170;line-height:1.55}.diagnostic-attention-item.bad{border-left:0}.diagnostic-attention-item.bad b{color:#b42318}.diagnostic-attention-item.warn b{color:#8a5a18}.diagnostic-attention-item .diagnostic-tech-detail{margin:0;justify-self:end}.diagnostic-attention-item .diagnostic-tech-detail pre{min-width:min(520px,70vw);text-align:left}.diagnostic-empty-ok{border:0;background:#f6fbf9;border-radius:8px;padding:12px 14px;color:#0f766e;font-weight:700}.diagnostic-all{border-top:1px solid var(--line);margin-top:16px;padding-top:12px}.diagnostic-all>summary{min-height:34px}.diagnostic-all>summary:after{content:'›';font-size:18px;line-height:1;color:var(--muted)}.diagnostic-all[open]>summary:after{content:'⌃';font-size:15px}.diagnostic-groups{margin-top:10px}.diagnostic-group{border-radius:8px}.diagnostic-group>summary{padding:10px 12px}.diagnostic-group-list{padding:10px;background:#fff}.diagnostic-item.ok{opacity:.7}@media(max-width:1050px){.diagnostic-page.panel .diagnostic-top{grid-template-columns:1fr}.diagnostic-page.panel .diagnostic-top .primary{justify-self:start}.diagnostic-metric-row{grid-template-columns:repeat(2,minmax(0,1fr))}.diagnostic-metric:nth-child(2n){border-right:0}.diagnostic-statusbar{gap:12px 22px}}@media(max-width:640px){.diagnostic-metric-row{grid-template-columns:1fr}.diagnostic-metric{border-right:0;border-bottom:1px solid #edf2f4}.diagnostic-metric:last-child{border-bottom:0}.diagnostic-attention-item{grid-template-columns:1fr}.diagnostic-attention-item .diagnostic-tech-detail{justify-self:start}.diagnostic-page.panel{padding:14px}}
/* customer ledger styles 20260818 */
.ledger-toolbar{grid-template-columns:minmax(280px,1fr) 140px 130px 120px auto}
.ledger-table{min-width:1880px}
.ledger-table th,.ledger-table td{font-size:12px}
.ledger-table .task-title-cell{min-width:240px}
.ledger-table input[list]{min-width:118px}
.ledger-table input[data-task-next]{min-width:180px}
.ledger-table input[data-task-remark]{min-width:160px}
.attachment-count{white-space:nowrap;color:#475569;font-weight:600}
.assistant-attachment-strip{display:flex;flex-direction:column;gap:10px}
.assistant-attachment-card{display:grid;grid-template-columns:82px minmax(0,1fr) auto;gap:12px;align-items:start;border:1px solid var(--line);background:#fbfcfd;border-radius:8px;padding:10px}
.assistant-attachment-card details{margin-top:6px}.assistant-attachment-card pre{white-space:pre-wrap;max-height:140px;overflow:auto;background:#fff;border:1px solid var(--line);border-radius:6px;padding:8px}
.attachment-list{display:flex;flex-direction:column;gap:10px}.attachment-item{display:grid;grid-template-columns:84px minmax(0,1fr) auto;gap:12px;border:1px solid var(--line);background:#fbfcfd;border-radius:8px;padding:10px;align-items:start}
.attachment-thumb{width:76px;height:76px;border:1px solid var(--line);border-radius:6px;background:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden}.attachment-thumb img{max-width:100%;max-height:100%;object-fit:contain}.attachment-icon{font-size:13px;color:#475569;text-transform:uppercase;font-weight:700}
.ledger-detail-card{width:min(1120px,96vw)}.ledger-detail-grid .full-span{grid-column:1/-1}.timeline-list{display:flex;flex-direction:column;gap:8px}.timeline-item{border-left:3px solid #0f766e;background:#fff;padding:8px 10px;border-radius:4px}.timeline-item b{font-size:12px;color:#475569}.timeline-item p{margin:4px 0 0}.timeline-add{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-top:10px}
@media(max-width:900px){.ledger-toolbar{grid-template-columns:1fr}.assistant-attachment-card,.attachment-item{grid-template-columns:1fr}.attachment-thumb{width:100%;height:140px}.timeline-add{grid-template-columns:1fr}}

/* data backup management */
.data-backup-panel{display:grid;gap:16px;max-width:1220px;margin:0;padding:18px 20px;border-radius:10px;white-space:normal}
.backup-command-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:start;border-bottom:1px solid var(--line);padding-bottom:14px}
.backup-status-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#fff}
.backup-status-item{min-width:0;padding:9px 12px;border-right:1px solid #edf2f4}
.backup-status-item:last-child{border-right:0}
.backup-status-item span,.backup-latest-row span,.backup-count-row span{display:block;color:var(--muted);font-size:12px;margin-bottom:5px}
.backup-status-item b{display:block;color:#344054;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.backup-status-item.ok b{color:#0f766e}.backup-status-item.warn b{color:#9a6a2f}.backup-status-item.bad b{color:#b42318}
.backup-main-actions{justify-content:flex-end}
.backup-section{display:grid;gap:10px}
.backup-section .section-head{margin:0}
.backup-section .section-head h2,.backup-result-head h2{font-size:17px;margin:0 0 4px}
.backup-section .section-head p,.backup-result-head p{font-size:13px;line-height:1.55}
.backup-latest-row{display:grid;grid-template-columns:1.3fr .8fr .7fr .7fr auto;gap:12px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:8px;padding:12px}
.backup-latest-row b,.backup-count-row b{color:#1f2937;font-size:15px}
.backup-count-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) minmax(180px,auto);gap:0;align-items:center;border:1px solid var(--line);border-radius:8px;background:#fff;overflow:hidden}
.backup-count-row>div{padding:10px 12px;border-right:1px solid #edf2f4}
.backup-count-row small{padding:10px 12px;color:var(--muted);font-size:12px}
.backup-storage-summary{gap:12px}
.backup-storage-chips{display:flex;flex-wrap:wrap;gap:8px}
.backup-storage-chips span{display:inline-flex;align-items:center;min-height:30px;border:1px solid #d7e9e3;background:#f6fbf9;color:#0f766e;border-radius:999px;padding:5px 10px;font-size:13px;font-weight:700}
.backup-details,.backup-restore-zone{border-top:1px solid var(--line);padding-top:10px}
.backup-details>summary,.backup-restore-zone>summary{list-style:none;cursor:pointer;font-weight:800;color:var(--primary);display:flex;justify-content:space-between;align-items:center;min-height:34px}
.backup-details>summary::-webkit-details-marker,.backup-restore-zone>summary::-webkit-details-marker{display:none}
.backup-details>summary:after,.backup-restore-zone>summary:after{content:'>';color:var(--muted);font-size:16px}
.backup-details[open]>summary:after,.backup-restore-zone[open]>summary:after{transform:rotate(90deg)}
.backup-path-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px;margin-top:8px;background:#f8fbfb;border:1px solid var(--line);border-radius:8px;padding:12px}
.backup-path-grid p,.backup-path-detail p{font-size:12px;line-height:1.55;word-break:break-all}
.backup-path-grid code,.backup-path-detail code{font-size:12px;color:#475569}
.backup-result{min-height:auto;text-align:left}
.backup-result.empty{text-align:center}
.backup-result.detail{background:#fbfcfd;border:1px solid var(--line);border-radius:8px;padding:12px}
.backup-result.detail b{display:block;margin-bottom:6px;color:#1f2937}
.backup-list{display:grid;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#fff}
.backup-list-row{display:grid;grid-template-columns:minmax(220px,1fr) 120px 100px 120px;gap:12px;align-items:center;padding:10px 12px;border-bottom:1px solid #edf2f4}
.backup-list-row:last-child{border-bottom:0}
.backup-list-row b{display:block;color:#1f2937;margin:0}
.backup-list-row small{display:block;margin-top:3px;color:var(--muted);font-size:12px}
.backup-path-detail summary{cursor:pointer;color:var(--primary);font-weight:700;font-size:13px}
.backup-path-detail p{margin-top:6px}
.backup-restore-zone{margin-top:2px}
.backup-restore-zone>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;background:#fffaf7;border:1px solid #f3d2c6;border-radius:8px;padding:12px}
.backup-restore-zone p{font-size:13px;color:#7a4b36}
.backup-restore-button{color:#9f2a24;border-color:#e8c4be;background:#fff}
@media(max-width:1050px){.backup-command-row{grid-template-columns:1fr}.backup-main-actions{justify-content:flex-start}.backup-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.backup-status-item:nth-child(2n){border-right:0}.backup-latest-row,.backup-count-row{grid-template-columns:repeat(2,minmax(0,1fr))}.backup-count-row small{grid-column:1/-1;border-top:1px solid #edf2f4}.backup-list-row{grid-template-columns:minmax(0,1fr) 110px}}
@media(max-width:640px){.data-backup-panel{padding:14px}.backup-status-grid,.backup-latest-row,.backup-count-row,.backup-path-grid,.backup-list-row,.backup-restore-zone>div{grid-template-columns:1fr}.backup-status-item,.backup-count-row>div{border-right:0;border-bottom:1px solid #edf2f4}.backup-status-item:last-child,.backup-count-row>div:last-of-type{border-bottom:0}.backup-latest-row .ghost,.backup-restore-button{justify-self:start}}


/* task pagination and trash 20260818 */
.task-table-toolbar.ledger-toolbar{grid-template-columns:minmax(260px,1fr) 130px 130px 120px 110px auto}
.ledger-table input[data-task-latest]{min-width:220px}
.task-pager{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 4px 0;color:#526170;font-size:13px}
.pager-buttons{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}
.pager-buttons button{padding:6px 10px;min-height:30px;font-size:12px}
.pager-gap{display:inline-flex;align-items:center;padding:0 4px;color:#64748b}
.trash-list{display:grid;gap:10px}
.trash-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;border:1px solid var(--line);background:#fbfcfd;border-radius:8px;padding:12px;align-items:start}
.trash-row b{display:block;margin-bottom:5px}
@media(max-width:900px){.task-table-toolbar.ledger-toolbar{grid-template-columns:1fr}.task-pager,.trash-row{display:block}.pager-buttons{justify-content:flex-start;margin-top:8px}}


/* attachment input clarity 20260818 */
.assistant-attach-field{display:block}
.assistant-hidden-file{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}
.assistant-main-paste{min-height:150px;border:2px dashed #0f766e;background:#effaf7;padding:22px;text-align:center;align-items:center}
.assistant-main-paste:focus,.assistant-main-paste:hover,.assistant-main-paste.dragover{background:#e4f8f2;border-color:#0b5f59;box-shadow:0 0 0 4px rgba(15,118,110,.14)}
.paste-main-title{font-size:18px;font-weight:800;color:#0f3f3a;line-height:1.35}
.paste-main-sub{font-size:14px;color:#36535a;line-height:1.6;margin-top:8px}
.paste-main-hint{margin-top:10px;font-size:13px;font-weight:700;color:#0f766e;background:#fff;border:1px solid #bfe5df;border-radius:999px;padding:6px 12px;display:inline-flex}
.assistant-upload-actions{display:flex;gap:10px;align-items:center;margin-top:10px;color:#64748b;font-size:13px}
.assistant-upload-actions button{padding:7px 11px;min-height:32px}
.attachment-preview-title{font-weight:800;color:#1f2937;margin:12px 0 6px}
@media(max-width:760px){.assistant-upload-actions{display:block}.assistant-upload-actions span{display:block;margin-top:6px}}

/* flow detail readability 20260818 */
.flow-readable-wrap{white-space:normal;line-height:1.7;color:#24323f}
.flow-readable{display:grid;gap:14px}
.flow-meta-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.flow-meta-card{border:1px solid #dfe7ec;background:#f8fbfb;border-radius:8px;padding:10px 12px;min-height:66px}
.flow-meta-card span{display:block;color:#64748b;font-size:12px;font-weight:700;margin-bottom:5px}
.flow-meta-card b{display:block;color:#1f2937;font-size:15px;line-height:1.35}
.flow-section-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.flow-section{border:1px solid #dfe7ec;border-left:4px solid #0f766e;background:#fff;border-radius:8px;padding:14px 16px}
.flow-section.full{grid-column:1/-1}
.flow-section h3{font-size:15px;color:#102a2a;margin:0 0 10px;display:flex;align-items:center;gap:8px}
.flow-section h3:before{content:"";width:7px;height:7px;border-radius:50%;background:#0f766e;display:inline-block}
.flow-body{color:#24323f;font-size:15px}
.flow-line{margin:0 0 7px;line-height:1.85;color:#24323f;white-space:normal}
.flow-line.flow-step{padding-left:14px;position:relative}
.flow-line.flow-step:before{content:"";position:absolute;left:0;top:.82em;width:5px;height:5px;border-radius:50%;background:#8aa3a0}
.flow-gap{height:7px}
.flow-muted{color:#8a98a8;margin:0}
.flow-notes{background:#fbfcfd;border-left-color:#64748b}
.flow-raw{border:1px dashed var(--line);border-radius:8px;background:#fbfcfd}
.flow-raw summary{cursor:pointer;padding:10px 12px;font-weight:700;color:#475569}
.flow-raw pre{margin:0;padding:0 12px 12px;white-space:pre-wrap;line-height:1.7;color:#334155;max-height:280px;overflow:auto}
.flow-related-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-end;margin:6px 0 10px}
.flow-related-head h3{margin:0}
.flow-related-head p{font-size:13px}
.flow-template-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}
.flow-template-card{border:1px solid var(--line);background:#fbfcfd;border-radius:8px;padding:12px}
.flow-template-card b{display:block;color:#1f2937;margin-bottom:5px}
.flow-template-card span{font-size:12px;color:#64748b}
@media(max-width:900px){.flow-meta-cards,.flow-section-grid{grid-template-columns:1fr}.flow-related-head{display:block}}

/* company task split 20260818 */
.task-table tr.multi-company-task{box-shadow:inset 4px 0 0 #0f766e}
.split-company-btn{background:#e7f6f2;color:#0f5f59;border:1px solid #bfe5df;font-weight:700}
.split-company-btn:hover{background:#d8f0ea}


/* workflow ledger upgrade 20260818 */
.workflow-filter-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 12px}
.workflow-stats{display:flex;gap:10px;flex-wrap:wrap;margin:6px 0 10px}
.workflow-stats span{background:#f8fbfb;border:1px solid var(--line);border-radius:8px;padding:8px 10px;color:#475569;font-size:13px}
.workflow-stats b{color:#102a2a}
.workflow-toolbar{grid-template-columns:minmax(260px,1fr) 130px 120px 110px auto!important}
.workflow-ledger-table{min-width:2060px}
.workflow-ledger-table .task-title-cell{min-width:220px}
.workflow-progress{display:grid;gap:4px;min-width:86px}
.workflow-progress div:first-child{display:flex;justify-content:space-between;gap:8px;color:#334155;font-size:12px}
.workflow-progress b{font-size:13px;color:#102a2a}
.workflow-progress span{color:#64748b}
.workflow-bar{height:6px;background:#edf2f4;border-radius:999px;overflow:hidden}
.workflow-bar i{display:block;height:100%;background:#0f766e;border-radius:999px}
.workflow-progress.no-flow{color:#8a98a8}
.node-cell{font-weight:700;color:#1f2937;min-width:96px}
.process-status-cell{display:grid;gap:5px;min-width:118px}
.process-badge{display:inline-flex;align-items:center;gap:4px;border-radius:999px;padding:3px 8px;font-size:12px;font-weight:700;width:max-content}
.process-badge.blue{background:#eff6ff;color:#1d4ed8}
.process-badge.orange{background:#fff7ed;color:#9a3412}
.process-badge.red{background:#fff1f0;color:#b42318}
.process-badge.gray{background:#edf2f4;color:#475569}
.process-badge.green{background:#ecfdf3;color:#166534}
.next-action-input{min-width:260px;max-width:320px;text-overflow:ellipsis}
.quick-suggestions{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}
.quick-suggestions button{padding:6px 9px;min-height:30px;font-size:12px}
.workflow-history{display:grid;gap:10px;margin:12px 0}
.workflow-history-step{border:1px solid var(--line);border-left:4px solid #cbd5dd;border-radius:8px;background:#fbfcfd;padding:12px}
.workflow-history-step.done{border-left-color:#0f766e}
.workflow-history-step.current{border-left-color:#f97316;background:#fffaf3}
.workflow-history-step b{display:block;margin-bottom:5px}
.workflow-next-section{border:1px solid var(--line);border-radius:8px;background:#fff;padding:12px}
.workflow-template-list{display:grid;gap:12px}
.workflow-template-edit{display:grid;grid-template-columns:minmax(180px,.4fr) minmax(280px,1fr) auto;gap:10px;align-items:end;border:1px solid var(--line);background:#fbfcfd;border-radius:8px;padding:12px}
.workflow-template-edit .full{grid-column:auto}
@media(max-width:900px){.workflow-toolbar,.workflow-template-edit{grid-template-columns:1fr!important}.workflow-ledger-table{min-width:1300px}.next-action-input{min-width:180px}.workflow-template-edit .full{grid-column:1/-1}}


/* pager page size selector 20260818 */
.pager-info{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.pager-size-select{width:auto;min-width:96px;height:32px;padding:4px 8px;font-size:13px}


/* customer management module 20260818 */
.customer-page{max-width:none}
.customer-stats{display:flex;gap:10px;flex-wrap:wrap;margin:8px 0 14px}
.customer-stats span{background:#f8fbfb;border:1px solid var(--line);border-radius:8px;padding:8px 10px;color:#475569;font-size:13px}
.customer-stats b{color:#102a2a}
.customer-toolbar{grid-template-columns:minmax(260px,1fr) 160px 160px auto}
.customer-table{min-width:1500px}
.customer-pill{display:inline-flex;border-radius:999px;padding:3px 8px;font-size:12px;font-weight:700;white-space:nowrap}
.customer-pill.blue{background:#eff6ff;color:#1d4ed8}
.customer-pill.orange{background:#fff7ed;color:#9a3412}
.customer-pill.deep-orange{background:#ffedd5;color:#9a3412}
.customer-pill.red{background:#fff1f0;color:#b42318}
.customer-pill.green{background:#ecfdf3;color:#166534}
.customer-pill.gray{background:#edf2f4;color:#475569}
.customer-detail-card{width:min(1180px,96vw);padding:20px}
.customer-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.customer-detail-grid section{border:1px solid var(--line);background:#fbfcfd;border-radius:8px;padding:12px}
.customer-detail-grid .full-span{grid-column:1/-1}
@media(max-width:900px){.customer-toolbar,.customer-detail-grid{grid-template-columns:1fr}.customer-table{min-width:1100px}}


/* customer pagination and compact task table 20260818 */
.customer-toolbar-paged{grid-template-columns:minmax(260px,1fr) 150px 150px 112px auto}
.customer-table td:nth-child(1),.customer-table td:nth-child(4),.customer-table td:nth-child(11){max-width:230px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.customer-table{min-width:1420px}
.compact-workflow-table{min-width:1780px}
.compact-workflow-table th,.compact-workflow-table td{padding:6px 7px}
.compact-workflow-table .compact-title-cell{min-width:150px;max-width:210px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.compact-workflow-table .node-cell{min-width:82px;max-width:120px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.compact-workflow-table input[type="date"][data-task-due]{width:122px;min-width:122px}
.compact-workflow-table input[data-task-owner]{width:104px;min-width:104px}
.compact-workflow-table .next-action-input{min-width:220px;max-width:280px}
.compact-workflow-table input[data-task-remark]{width:120px;min-width:120px}
@media(max-width:900px){.customer-toolbar-paged{grid-template-columns:1fr}.compact-workflow-table{min-width:1280px}.compact-workflow-table .next-action-input{min-width:180px}}


/* simplified editable customer table 20260818 */
.customer-table-simplified{min-width:1320px}
.customer-table-simplified th,.customer-table-simplified td{padding:6px 7px}
.customer-table-simplified td:nth-child(1){max-width:240px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.customer-table-simplified .customer-service-input{width:150px;min-width:150px}
.customer-table-simplified .customer-date-input{width:122px;min-width:122px}
.customer-table-simplified .customer-note-input{width:220px;min-width:220px}
.customer-table-simplified td:nth-child(3){max-width:150px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:900px){.customer-table-simplified{min-width:1050px}.customer-table-simplified .customer-note-input{width:170px;min-width:170px}}


/* task ledger batch actions 20260818 */
.task-batch-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 12px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:#fbfcfd}
.task-batch-toolbar span{color:#475569;font-size:13px}
.batch-check{display:flex;align-items:center;gap:6px;margin:0;color:#344054;font-size:13px}
.batch-check input,.task-row-check,.task-select-all{width:16px!important;min-width:16px!important;height:16px!important;padding:0!important;margin:0}
.batch-workflow-table{min-width:1820px}
.batch-workflow-table .select-col{width:42px;min-width:42px;text-align:center}
.batch-workflow-table .select-col input{vertical-align:middle}
@media(max-width:900px){.task-batch-toolbar{align-items:flex-start}.batch-workflow-table{min-width:1320px}}


/* privacy center and staff management 20260818 */
.privacy-page{max-width:none}
.privacy-warning{background:#fff7e6;border:1px solid #f3d19e;color:#9a6700;border-radius:8px;padding:9px 12px;font-size:13px;max-width:420px}
.privacy-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 14px}
.embedded-customer-page{padding:0;border:0;background:transparent}
.staff-toolbar{grid-template-columns:minmax(260px,1fr) 150px auto}
.staff-table{min-width:1120px}
.staff-table td:nth-child(1){font-weight:700}
.staff-table td:nth-child(3),.staff-table td:nth-child(7){max-width:220px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.staff-editor-card{width:min(760px,96vw);padding:20px}
.staff-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.staff-form .full{grid-column:1/-1}
.batch-workflow-table select[data-task-owner]{width:108px;min-width:108px}
@media(max-width:900px){.staff-toolbar,.staff-form{grid-template-columns:1fr}.staff-table{min-width:900px}.privacy-warning{max-width:none;margin-top:10px}}


/* information architecture, homepage and attachments 20260818 */
.shell{max-width:none;margin:0;width:100%;padding:20px 22px 30px}
.topbar{margin-bottom:14px}
.product-ui .sidebar,.sidebar{width:252px}
.nav-group-title{font-size:14px;font-weight:800;padding:11px 10px;margin-top:4px}
.nav-group-items{padding-left:10px}
.product-ui .nav,.nav{font-size:13px;padding:9px 12px 9px 16px;border-radius:6px}
.product-ui .nav.active,.nav.active{background:rgba(47,129,118,.34);box-shadow:inset 3px 0 0 #6ee7d8}
.sidebar-collapse{position:absolute;top:16px;right:14px;width:44px;height:44px;min-height:44px;padding:0;border:0;border-radius:0;background:transparent;color:#d7e4e1;display:grid;place-items:center;font-size:18px;line-height:1;z-index:2}
.sidebar-collapse:hover,.sidebar-collapse:focus-visible{background:transparent;color:#fff;outline:none}
.sidebar>.brand{padding-right:48px}
.sidebar-collapsed .sidebar{width:62px;padding:18px 9px;overflow:visible;z-index:40}
.nav-compact-icon{display:none}
.sidebar-collapsed .brand span,.sidebar-collapsed .brand strong,.sidebar-collapsed .nav-label,.sidebar-collapsed .nav-caret{display:none}
.sidebar-collapsed .brand{width:44px;height:38px;margin-bottom:8px;padding:0;border-bottom:0}
.sidebar-collapsed .sidebar-collapse{top:15px;right:9px;width:44px;height:44px;min-height:44px;padding:0;font-size:18px;text-align:center;background:transparent}
.sidebar-collapsed #nav{width:44px;overflow:visible;display:flex;flex-direction:column;align-items:center}
.sidebar-collapsed #nav .nav,.sidebar-collapsed #nav .nav-group-title{position:relative;width:44px;height:44px;min-height:44px;margin:1px 0;padding:0;display:grid;place-items:center;text-align:center;white-space:nowrap;border:0;border-radius:0;background:transparent!important;box-shadow:none!important;color:#cbdadf;transition:color .14s ease}
.sidebar-collapsed #nav>.nav:hover,.sidebar-collapsed #nav>.nav:focus-visible,.sidebar-collapsed #nav .nav-group-title:hover,.sidebar-collapsed #nav .nav-group-title:focus-visible{background:transparent!important;color:#fff;outline:none}
.sidebar-collapsed #nav>.nav.active,.sidebar-collapsed #nav .nav-group.active-group>.nav-group-title{background:transparent!important;color:#8fd3df;box-shadow:none!important}
.sidebar-collapsed #nav .nav-compact-icon{position:relative;z-index:1;width:18px;height:18px;display:grid;place-items:center;color:currentColor;pointer-events:none}
.sidebar-collapsed #nav .nav-compact-icon svg{display:block;width:18px;height:18px;overflow:visible;vector-effect:non-scaling-stroke}
.sidebar-collapsed #nav .nav-group{position:relative;width:44px;margin:1px 0}
.sidebar-collapsed #nav .nav-group-items{display:none;position:absolute;left:48px;top:0;z-index:20;width:220px;padding:7px;background:var(--sidebar-bg);border:1px solid rgba(255,255,255,.12);border-radius:9px;box-shadow:0 12px 30px rgba(15,23,42,.28)}
.sidebar-collapsed #nav .nav-group.compact-open>.nav-group-items{display:block}
.sidebar-collapsed #nav .nav-group-items .nav{width:100%;height:auto;min-height:38px;margin:2px 0;padding:9px 12px;font-size:13px;display:block;text-align:left;border-radius:6px;color:#d7e4e1}
.sidebar-collapsed #nav .nav-group-items .nav:hover,.sidebar-collapsed #nav .nav-group-items .nav:focus-visible{background:var(--sidebar-hover)!important;color:#fff}
.sidebar-collapsed #nav .nav-group-items .nav.active{background:var(--sidebar-active)!important;color:#fff}
.sidebar-collapsed #nav .nav-group-items .nav .nav-label{display:inline}
.sidebar-collapsed #nav .nav-group-items .nav .nav-compact-icon{display:none}
.private-attachments{display:grid;gap:10px}
.private-upload{border:1px dashed var(--line);border-radius:8px;background:#fbfcfd;padding:12px;display:grid;gap:8px}
.private-upload span{color:#667085;font-size:13px}
.attachment-list{display:grid;gap:8px}
.attachment-row{display:flex;justify-content:space-between;align-items:center;gap:12px;border:1px solid var(--line);border-radius:8px;background:#fff;padding:10px 12px}
.attachment-row p{font-size:12px}
.embedded-customer-page .result-head{margin-top:2px}
.panel,.stat,.card,.workspace-card{border-radius:8px}
input,select,textarea{min-height:34px}
@media(max-width:900px){.attachment-row{display:block}.attachment-row .actions{margin-top:8px}.sidebar-collapsed .sidebar{width:100%}.sidebar-collapse{display:none}}


/* customer matters professional table UI 20260818 */
.matter-page{max-width:none}
.matter-page-head{margin-bottom:12px}
.matter-page-head .actions{gap:8px}
.icon-button{min-width:38px;padding:8px 12px;font-weight:800}
.matter-stat-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:8px 0 12px}
.matter-stat{background:#fff;border:1px solid var(--line);border-radius:8px;padding:10px 12px;text-align:left}
.matter-stat span{display:block;color:#64748b;font-size:12px;margin-bottom:4px}
.matter-stat b{font-size:23px;color:#102a2a}
.matter-stat.active{border-color:#0f766e;box-shadow:inset 0 0 0 1px rgba(15,118,110,.22)}
.matter-stat.doing b{color:#1d4ed8}.matter-stat.waiting b{color:#9a3412}.matter-stat.overdue b{color:#b42318}.matter-stat.done b{color:#166534}
.task-view-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 12px}
.task-view-tab{border:1px solid var(--border);background:#fff;color:var(--text-secondary);border-radius:999px;padding:7px 14px;font-size:14px;line-height:1.2;cursor:pointer}
.task-view-tab:hover{border-color:var(--primary);color:var(--primary)}
.task-view-tab.active{background:rgba(47,125,140,.1);border-color:var(--primary);color:var(--primary);font-weight:700}
.matter-filter-bar{display:grid;grid-template-columns:minmax(260px,1fr) 120px 120px 110px 110px auto;gap:10px;margin-bottom:10px}
.matter-batch-toolbar{display:none;margin:0 0 10px;padding:8px 10px}
.matter-batch-toolbar.show{display:flex}
.matter-table-wrap{width:100%;overflow:auto;border-color:#dde5eb}
.matter-table{table-layout:fixed;min-width:1535px;border-collapse:separate;border-spacing:0}
.matter-table col.c-select{width:36px}.matter-table col.c-index{width:44px}.matter-table col.c-client{width:210px}.matter-table col.c-title{width:210px}.matter-table col.c-region{width:70px}.matter-table col.c-business{width:80px}.matter-table col.c-progress{width:100px}.matter-table col.c-node{width:110px}.matter-table col.c-status{width:95px}.matter-table col.c-due{width:110px}.matter-table col.c-owner{width:90px}.matter-table col.c-next{width:210px}.matter-table col.c-payment{width:90px}.matter-table col.c-op{width:130px}
.matter-table th{height:40px;padding:8px 8px;font-size:13px;font-weight:700;background:#f7fafb;border-bottom:1px solid #dce5ea;color:#334155}
.matter-table td{height:52px;max-height:60px;padding:7px 8px;border-bottom:1px solid #edf2f4;background:#fff;vertical-align:middle}
.matter-table tr:hover td{background:#f8fbfb}
.matter-table tr.matter-overdue-row td{background:#fff}
.matter-table tr.matter-overdue-row td:first-child{box-shadow:inset 3px 0 0 #b42318}
.matter-table .sticky-select{position:sticky;left:0;z-index:3}
.matter-table th.sticky-client,.matter-table td.sticky-client{position:sticky;left:36px;z-index:2}
.matter-table th.sticky-op,.matter-table td.sticky-op{position:sticky;right:0;z-index:2}
.matter-table th.sticky-client,.matter-table th.sticky-op,.matter-table th.sticky-select{z-index:4}
.matter-table .client-cell,.matter-table .title-cell{font-weight:700;color:#1f2937;line-height:1.35;white-space:normal;word-break:normal;overflow:hidden}
.cell-link{display:block;width:100%;padding:0;background:transparent;text-align:left;color:inherit;font-weight:700;line-height:1.35}
.cell-link:hover{color:#0f766e;text-decoration:underline}
.clamp-1{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:normal}
.region-cell,.index-cell{text-align:center;color:#475569}
.plain-dash,.editable-text.muted,.next-action-view.muted{color:#94a3b8}
.matter-pill,.matter-status,.editable-text,.next-action-view{display:inline-flex;max-width:100%;align-items:center;border-radius:999px;padding:3px 8px;font-size:12px;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}
.matter-pill.business{background:#eef6f5;color:#115e59}
.matter-pill.gray{background:#edf2f4;color:#475569}.matter-pill.orange{background:#fff7ed;color:#9a3412}.matter-pill.blue{background:#eff6ff;color:#1d4ed8}.matter-pill.green{background:#ecfdf3;color:#166534}
.matter-status.blue{background:#eff6ff;color:#1d4ed8}.matter-status.orange{background:#fff7ed;color:#9a3412}.matter-status.red{background:#fff1f0;color:#b42318}.matter-status.gray{background:#edf2f4;color:#475569}.matter-status.green{background:#ecfdf3;color:#166534}
.editable-text{padding:2px 0;border-radius:4px;color:#334155}
.editable-text:hover,.next-action-view:hover{background:#eef6f5;color:#115e59}
.editable-text.due.overdue{color:#b42318;font-weight:700}.editable-text.due.soon{color:#9a3412;font-weight:700}
.next-action-view{display:block;width:100%;max-width:200px;border-radius:4px;padding:3px 4px;color:#334155}
.inline-editor{height:30px!important;min-width:80px!important;width:100%;padding:4px 6px!important;font-size:12px!important;border:1px solid #0f766e!important;border-radius:6px!important;background:#fff!important}
.next-inline-editor{min-width:190px!important}
.matter-progress{display:grid;gap:4px;width:82px}
.matter-progress div{display:flex;justify-content:space-between;gap:6px;font-size:12px;color:#475569}
.matter-progress b{color:#102a2a}.matter-progress.done b{color:#166534}
.matter-progress i{display:block;height:7px;background:#e8eef1;border-radius:999px;overflow:hidden}
.matter-progress em{display:block;height:100%;background:#0f766e;border-radius:999px}
.matter-progress.done em{background:#16a34a}
.remark-mark,.attach-mark{display:inline-flex;margin-top:3px;margin-right:4px;border-radius:999px;background:#f1f5f9;color:#64748b;font-size:11px;padding:1px 6px;font-weight:600}
.attach-mark{background:#eef6f5;color:#115e59}
.task-op{white-space:nowrap;text-align:right}
.task-op .detail-btn,.task-op .flow-btn,.task-op .more-btn{height:30px;min-height:30px;padding:5px 8px;font-size:12px}
.task-more-menu{position:fixed;z-index:80;min-width:150px;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 14px 40px rgba(15,23,42,.18);padding:6px}
.task-more-menu button{display:block;width:100%;background:#fff;color:#263744;text-align:left;border-radius:6px;padding:8px 10px}
.task-more-menu button:hover{background:#f3f7f7}.task-more-menu button:disabled{opacity:.45}.task-more-menu .danger-text{color:#b42318}
.matter-table .process-status-cell,.matter-table input[data-task-remark],.matter-table select[data-task-payment],.matter-table select[data-task-group],.matter-table select[data-task-owner],.matter-table input[type=date][data-task-due]{display:none}
.matter-table .task-row-check,.matter-table .task-select-all{width:15px!important;min-width:15px!important;height:15px!important}
@media(max-width:1180px){.matter-filter-bar{grid-template-columns:1fr 120px 120px}.matter-stat-row{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.matter-stat-row,.matter-filter-bar{grid-template-columns:1fr}.matter-table{min-width:1320px}}


/* matter row height refinement 20260818 */
.matter-table .client-cell,.matter-table .title-cell{position:relative;padding-right:42px!important}
.matter-table .client-cell .cell-link,.matter-table .title-cell .cell-link{max-height:38px}
.matter-table .remark-mark,.matter-table .attach-mark{position:absolute;right:6px;margin:0;padding:1px 5px;line-height:16px}
.matter-table .attach-mark{top:8px}
.matter-table .remark-mark{bottom:7px}
.matter-table td{height:54px;max-height:60px}


/* staff auto intake and salary type 20260818 */
.staff-editor-wide{width:min(980px,96vw)}
.staff-intake-panel{border:1px solid var(--line);border-radius:8px;background:#fbfcfd;padding:12px;margin-bottom:12px;display:grid;gap:10px}
.staff-paste-zone{border:1px dashed #b8c7cf;border-radius:8px;background:#fff;padding:12px;display:grid;gap:8px;outline:none}
.staff-paste-zone.active,.staff-paste-zone:focus{border-color:#0f766e;box-shadow:0 0 0 3px rgba(15,118,110,.1)}
.staff-paste-zone b{color:#102a2a}
.staff-paste-zone p{font-size:13px}
.staff-paste-zone textarea{min-height:84px}
.staff-paste-zone input[type=file]{height:auto;padding:7px;background:#f8fbfb}
.staff-auto-result{background:#eef6f5;color:#115e59;border-radius:8px;padding:9px 10px;font-size:13px}
.staff-form{align-items:start}
.staff-form h3{margin:0 0 8px}
@media(max-width:900px){.staff-editor-wide{width:96vw}}


/* customer and matter unified model 20260818 */
.customer-v2-table{min-width:1280px;table-layout:fixed}
.customer-v2-table th,.customer-v2-table td{padding:8px 9px;vertical-align:middle}
.customer-v2-table th:nth-child(1){width:240px}.customer-v2-table th:nth-child(4){width:220px}.customer-v2-table th:nth-child(10){width:190px}
.customer-v2-table small{color:#667085;font-size:12px}
.customer-editor-card{width:min(1280px,96vw);max-height:92vh;overflow:auto;padding:24px}
.customer-editor-form{display:grid;gap:14px}
.customer-editor-form section{border:1px solid var(--line);background:#fbfcfd;border-radius:8px;padding:14px}
.customer-editor-form h3{margin:0 0 10px;font-size:16px}
.customer-editor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 14px}
.customer-editor-grid .full{grid-column:1/-1}
.customer-service-edit-card{border:1px solid #dce5ea;background:#fff;border-radius:8px;padding:12px;margin-bottom:10px}
.service-card-head{display:flex;justify-content:space-between;gap:12px;align-items:end;margin-bottom:10px}
.service-card-head label{min-width:220px}
.customer-service-picker{border:1px dashed #b9ccd7;background:#f7fbfc;border-radius:8px;padding:12px;margin-bottom:12px}
.customer-service-picker .meta{margin:0 0 8px;color:#667985}
.customer-service-tags{display:flex;flex-wrap:wrap;gap:8px}
.customer-service-tags button{border:1px solid #d5e2e8;background:#fff;color:#29465b;border-radius:999px;padding:7px 12px;cursor:pointer}
.customer-service-tags button.active{border-color:var(--primary);background:#e7f3f5;color:var(--primary);font-weight:700}
.customer-service-card-list{display:grid;gap:10px}
.service-card-title{display:flex;gap:8px;align-items:baseline}
.service-card-title b{font-size:15px;color:#182a36}
.service-card-title span{font-size:12px;color:#667985}
.service-edit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.customer-service-edit-card [data-service-amount]{
  width:152px;
  color:#102A36;
  font-size:16px;
  font-weight:700;
}
.customer-service-edit-card label:has([data-service-amount]) span{
  color:#344054;
  font-size:14px;
  font-weight:700;
}
.address-extra{margin-top:12px;border-top:1px dashed #dce5ea;padding-top:10px}
.address-extra h4{font-size:14px;margin:0 0 8px;color:#344054}
.address-extra.muted-extra{display:none}
.service-summary-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.service-summary-card{border:1px solid var(--line);background:#fff;border-radius:8px;padding:12px}
.service-summary-card>div:first-child{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-bottom:6px}
.service-summary-card p{font-size:13px;margin:4px 0;color:#475569}
.customer-v2-detail{width:min(1180px,96vw)}
.customer-v2-detail .customer-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:980px){.customer-editor-grid,.service-edit-grid,.customer-v2-detail .customer-detail-grid,.service-summary-list{grid-template-columns:1fr}.customer-v2-table{min-width:1050px}.service-card-head{display:block}.service-card-head button{margin-top:8px}}


/* Customer center consolidation 20260818 */
.customer-center-page .result-head{align-items:flex-start}
.customer-filter-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}
.customer-center-table th:nth-child(1){min-width:220px}
.customer-center-table th:nth-child(2){min-width:150px}
.customer-center-table th:nth-child(3){min-width:150px}
.customer-center-table th:nth-child(9){min-width:190px}
.customer-center-detail{max-width:1120px;width:min(1120px,94vw);max-height:92vh;overflow:auto}
.detail-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 16px}
.customer-detail-body section{border:1px solid #d8e1e7;border-radius:8px;padding:16px;margin-bottom:14px;background:#fff}
.info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px}
.info-grid p{margin:0;padding:8px 0;border-bottom:1px solid #eef2f5}
.info-grid b{display:block;color:#607086;font-size:12px;margin-bottom:3px}
.info-grid .wide{grid-column:1/-1}
.money-summary{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0}
.money-summary span{border:1px solid #d8e1e7;border-radius:8px;padding:9px 12px;background:#f8fafb}
.service-contract-item{display:flex;justify-content:space-between;gap:12px}
.contract-plan-item{display:flex;gap:12px;border:1px solid #d8e1e7;border-radius:8px;padding:12px;margin:10px 0;background:#fff}
.contract-plan-item input{margin-top:4px}
.button-link{display:inline-flex;align-items:center;text-decoration:none}
.contract-generate-card,.contract-template-card{max-width:760px;width:min(760px,94vw);max-height:90vh;overflow:auto}
.error-text{color:#b42318}
.customer-pill.blue{background:#e8f1ff;color:#1d4ed8}
.customer-pill.green{background:#e8f7ee;color:#047857}
.customer-pill.orange{background:#fff4e5;color:#b45309}
.customer-pill.gray{background:#eef2f5;color:#536271}
@media(max-width:760px){.info-grid{grid-template-columns:1fr}.customer-center-table{min-width:980px}}
/* Flow detail stepper override 20260819 */
.flow-exec-wrap{display:block}
.flow-exec-detail{display:grid;gap:16px}
.flow-exec-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;border:1px solid #d8e1e7;background:#fff;border-radius:8px;padding:18px 18px 16px}
.flow-exec-head h2{margin:0 0 8px;color:#102a2a;font-size:22px}
.flow-exec-head p{margin:10px 0 0;color:#526170;line-height:1.55}
.flow-tags{display:flex;gap:7px;flex-wrap:wrap}
.flow-tags span{display:inline-flex;align-items:center;border:1px solid #d8e1e7;background:#f7fafb;color:#475569;border-radius:999px;padding:3px 9px;font-size:12px}
.flow-exec-body{display:grid;grid-template-columns:minmax(250px,30%) minmax(0,1fr);gap:16px;align-items:start}
.flow-step-column,.flow-step-panel,.flow-original,.flow-related-strip{border:1px solid #d8e1e7;border-radius:8px;background:#fff}
.flow-step-column{padding:10px}
.flow-stepper{display:grid;gap:8px}
.flow-stepper button{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:8px;align-items:center;width:100%;text-align:left;border:1px solid #e3ebef;background:#fff;color:#334155;border-radius:8px;padding:10px}
.flow-stepper button span{display:inline-flex;width:24px;height:24px;border-radius:999px;align-items:center;justify-content:center;background:#edf2f4;color:#64748b;font-size:12px;font-weight:800}
.flow-stepper button b{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.flow-stepper button small{font-size:12px;color:#7b8794}
.flow-stepper button.current{border-color:#0f766e;background:#f3fbf9;box-shadow:inset 0 0 0 1px rgba(15,118,110,.12)}
.flow-stepper button.current span{background:#0f766e;color:#fff}
.flow-stepper button.done span{background:#ecfdf3;color:#047857}
.flow-step-panel{padding:18px;display:grid;gap:16px}
.flow-step-panel-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;border-bottom:1px solid #eef2f5;padding-bottom:12px}
.flow-step-panel-head span{display:block;color:#667085;font-size:12px;margin-bottom:4px}
.flow-step-panel-head h3{margin:0;color:#102a2a;font-size:20px}
.flow-progress-mini{min-width:112px;display:grid;gap:5px;text-align:right}
.flow-progress-mini b{font-size:14px;color:#102a2a}
.flow-progress-mini i{height:7px;background:#e8eef1;border-radius:999px;overflow:hidden}
.flow-progress-mini em{display:block;height:100%;background:#0f766e;border-radius:999px}
.flow-step-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.flow-step-grid>div{border:1px solid #eef2f5;border-radius:8px;background:#fbfcfd;padding:13px}
.flow-step-grid h4{margin:0 0 9px;color:#102a2a;font-size:15px}
.flow-step-grid ol,.flow-step-grid ul{margin:0;padding-left:20px;color:#334155;line-height:1.75}
.flow-check-list{list-style:none!important;padding-left:0!important}
.flow-check-list li{display:flex;gap:8px;align-items:flex-start}
.flow-check-list span{width:14px;height:14px;border:1px solid #b8c7cf;border-radius:3px;display:inline-block;margin-top:6px;flex:0 0 auto;background:#fff}
.flow-template-chips{display:flex;gap:8px;flex-wrap:wrap}
.flow-soft-hint{margin:0;color:#7b8794;font-size:13px}
.flow-task-action{border-top:1px solid #eef2f5;padding-top:12px;display:flex;justify-content:space-between;align-items:center;gap:12px}
.flow-task-action p{margin:0;color:#475569}
.flow-task-action.muted{display:block;background:#f8fafb;border:1px dashed #d8e1e7;border-radius:8px;padding:10px 12px}
.flow-original{padding:0;overflow:hidden}
.flow-original summary{cursor:pointer;padding:13px 16px;color:#334155;font-weight:700;background:#fbfcfd}
.flow-original pre{white-space:pre-wrap;margin:0;padding:16px;line-height:1.75;color:#1f2937;background:#fff}
.flow-related-strip{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 12px;margin-top:12px}
.flow-related-strip b{color:#102a2a;margin-right:4px}
.flow-start-card{width:min(760px,94vw);max-height:90vh;overflow:auto}
.flow-start-form{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.flow-start-form .full,.flow-start-preview{grid-column:1/-1}
.flow-start-preview{border:1px dashed #d8e1e7;background:#fbfcfd;border-radius:8px;padding:12px}
.flow-start-preview b{display:block;margin-bottom:6px;color:#102a2a}
.flow-start-preview ol{margin:0;padding-left:20px;line-height:1.7;color:#475569}
@media(max-width:980px){.flow-exec-head{display:block}.flow-exec-head .actions{margin-top:12px}.flow-exec-body{grid-template-columns:1fr}.flow-step-grid,.flow-start-form{grid-template-columns:1fr}.flow-stepper button{grid-template-columns:28px minmax(0,1fr)}.flow-stepper button small{grid-column:2/-1}.flow-task-action{display:block}.flow-task-action button{margin-top:10px}}


/* Customer two-view simplification 20260819 */
.customer-two-page .result-head{align-items:flex-start}
.customer-two-toolbar{display:grid;grid-template-columns:2fr repeat(3,minmax(130px,1fr)) auto;gap:10px;align-items:center;margin:14px 0}
.boss-toolbar{grid-template-columns:2fr repeat(5,minmax(120px,1fr)) auto}
.customer-staff-table{min-width:1120px;table-layout:fixed}
.boss-customer-table{min-width:1900px;table-layout:fixed}
.customer-staff-table th,.customer-staff-table td,.boss-customer-table th,.boss-customer-table td{padding:8px 9px;vertical-align:middle}
.customer-staff-table th:nth-child(1){width:240px}.customer-staff-table th:nth-child(8){width:240px}
.boss-customer-table th:nth-child(1){width:240px}.boss-customer-table th:nth-child(17){width:220px}
.customer-two-pager{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap;margin-top:12px}
.customer-two-pager label{display:inline-flex;gap:6px;align-items:center}
.customer-two-pager select{height:30px;padding:3px 8px}
.customer-two-detail{width:min(1120px,96vw);max-height:92vh;overflow:auto}
.customer-two-detail section{border:1px solid #d8e1e7;background:#fff;border-radius:8px;padding:16px;margin-bottom:14px}
.customer-paste-zone{border:1px dashed #b8c7cf;background:#f8fbfb;border-radius:8px;padding:14px;margin-bottom:12px;display:grid;gap:8px;outline:none}
.customer-paste-zone:focus,.customer-paste-zone.active{border-color:#0f766e;box-shadow:0 0 0 3px rgba(15,118,110,.1);background:#f3fbf9}
.customer-paste-zone b{color:#102a2a}
.customer-paste-zone p{font-size:13px;color:#526170;margin:0}
.customer-paste-zone input[type=file]{height:auto;background:#fff;padding:8px}
.customer-doc-uploader{border:1px solid #dde8ed;background:#fbfdfe;border-radius:10px;padding:12px;margin-bottom:14px}
.customer-doc-uploader .customer-paste-zone{margin-bottom:0}
.mini-field{display:grid;gap:6px;margin-bottom:10px;max-width:260px;font-size:13px;font-weight:700;color:#20333f}
.mini-field select{height:36px;border:1px solid #c9d8df;border-radius:8px;background:#fff;padding:0 10px;color:#182a36}
.attachment-title-line{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.doc-type-pill{display:inline-flex;align-items:center;border:1px solid #cde2e7;background:#eef7f9;color:#2f6f7d;border-radius:999px;padding:2px 8px;font-size:12px;font-weight:700}
.login-account-list{display:grid;gap:10px}
.login-account-row{display:flex;justify-content:space-between;gap:14px;border:1px solid #e3ebef;background:#fbfcfd;border-radius:8px;padding:12px}
.login-account-row p{margin:5px 0;color:#475569}
.login-account-row code{background:#eef2f5;border-radius:4px;padding:2px 5px}
.customer-doc-list,.customer-contract-list{display:grid;gap:10px}
.customer-doc-list .attachment-row,.customer-contract-list .attachment-row{border:1px solid #e3ebef;background:#fbfcfd;border-radius:8px;padding:10px 12px}
@media(max-width:980px){.customer-two-toolbar,.boss-toolbar{grid-template-columns:1fr}.customer-two-detail{width:96vw}.login-account-row{display:block}.login-account-row .actions{margin-top:8px}}

/* Customer detail refinement 20260824 */
.customer-two-detail{
  width:min(1320px,96vw);
  padding:26px 34px 32px;
  max-height:92vh;
  overflow:auto;
}
.customer-two-detail>.result-head{
  margin:0 0 14px;
  padding-bottom:14px;
  border-bottom:1px solid var(--border);
  align-items:flex-start;
}
.customer-two-detail>.result-head h2{
  margin-bottom:4px;
  font-size:21px;
}
.customer-two-detail .detail-tabs{
  margin:0 0 14px;
  padding-bottom:6px;
}
#customerTwoDetailBody{
  display:block;
}
.customer-detail-groups{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  align-items:stretch;
}
.customer-detail-groups .customer-info-card{
  border:1px solid var(--border);
  border-radius:12px;
  background:#fff;
  padding:18px;
  margin:0;
  box-shadow:0 6px 18px rgba(24,42,54,.035);
}
.customer-detail-groups .customer-info-card.full{
  grid-column:1/-1;
}
.customer-detail-groups.editable .customer-info-card:first-child{
  grid-column:1/-1;
  padding:16px 18px;
}
.customer-detail-groups.editable .customer-info-card:first-child .customer-field-grid{
  grid-template-columns:repeat(4,minmax(0,1fr));
}
.customer-detail-groups.editable .customer-info-card:first-child .customer-field.wide{
  grid-column:span 2;
}
.customer-detail-groups.editable .customer-info-card:nth-child(3),
.customer-detail-groups.editable .customer-info-card:nth-child(4){
  min-height:238px;
}
.customer-info-card h3{
  margin:0 0 12px;
  color:var(--text-primary);
  font-size:16px;
}
.customer-field-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px 14px;
}
.customer-field{
  display:grid;
  gap:5px;
  margin:0;
}
.customer-field.wide{
  grid-column:1/-1;
}
.customer-field span{
  color:var(--text-secondary);
  font-size:12px;
  font-weight:700;
}
.customer-field b{
  min-height:34px;
  display:flex;
  align-items:center;
  color:var(--text-primary);
  font-size:14px;
  line-height:1.6;
}
.customer-field input,
.customer-field select,
.customer-field textarea{
  width:100%;
  min-height:34px;
  border:1px solid #C8D7DF;
  border-radius:8px;
  background:#fff;
  padding:7px 10px;
  color:var(--text-primary);
  font-size:14px;
}
.customer-field textarea{
  line-height:1.65;
  resize:vertical;
}
.customer-field input:focus,
.customer-field select:focus,
.customer-field textarea:focus{
  outline:none;
  border-color:var(--primary);
  box-shadow:0 0 0 3px rgba(47,125,140,.12);
}
.customer-info-card .meta{
  margin:10px 0 0;
  font-size:12px;
}
.service-project-editor{
  display:grid;
  gap:14px;
  padding:2px 0 4px;
}
.service-project-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.service-project-row{
  position:relative;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  align-items:end;
  gap:10px;
  min-height:112px;
  padding:12px;
  border:1px solid var(--border);
  border-radius:10px;
  background:#F7FAFB;
}
.service-project-name{
  grid-column:1/-1;
  display:flex;
  align-items:center;
  min-width:0;
}
.service-project-name span{
  color:var(--text-primary);
  font-size:15px;
  font-weight:700;
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.service-project-remove{
  position:absolute;
  top:9px;
  right:9px;
  width:24px;
  height:24px;
  min-height:24px;
  padding:0;
  border:0;
  border-radius:999px;
  background:#E8EEF2;
  color:var(--text-secondary);
  cursor:pointer;
}
.service-project-remove:hover{
  background:#F3E2E0;
  color:var(--danger);
}
.service-project-row label{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:5px;
  margin:0;
  color:#344054;
  font-size:14px;
  font-weight:700;
  white-space:nowrap;
}
.service-project-row input{
  width:100%;
  min-height:34px;
  border:1px solid #C8D7DF;
  border-radius:8px;
  padding:7px 10px;
  background:#fff;
  color:#102A36;
  font-size:16px;
  font-weight:700;
}
.service-project-row input[type="date"]{
  width:100%;
  font-size:14px;
  font-weight:600;
}
.service-check-dropdown{
  position:relative;
  width:min(680px,100%);
  max-width:100%;
}
.service-check-dropdown summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  min-height:40px;
  padding:0 13px;
  border:1px solid #C8D7DF;
  border-radius:8px;
  background:#fff;
  color:#102A36;
  font-weight:700;
  cursor:pointer;
  list-style:none;
}
.service-check-dropdown summary::-webkit-details-marker{
  display:none;
}
.service-check-dropdown summary::after{
  content:"⌄";
  color:#667985;
  font-size:13px;
}
.service-check-dropdown[open] summary{
  border-color:var(--primary);
  box-shadow:0 0 0 3px rgba(47,125,140,.1);
}
.service-check-dropdown summary b{
  margin-left:auto;
  color:#667985;
  font-size:12px;
  font-weight:600;
}
.service-check-panel{
  position:absolute;
  z-index:20;
  left:0;
  right:0;
  top:calc(100% + 6px);
  display:flex;
  flex-direction:column;
  padding:0;
  border:1px solid #D8E1E7;
  border-radius:10px;
  background:#fff;
  box-shadow:0 16px 38px rgba(24,42,54,.16);
  overflow:hidden;
}
.service-check-options{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  max-height:min(280px,42vh);
  padding:12px;
  overflow:auto;
}
.service-check-actions{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-height:54px;
  padding:9px 12px;
  border-top:1px solid #E1E8ED;
  background:#fff;
}
.service-check-actions>span{
  color:var(--text-secondary);
  font-size:12px;
}
.service-check-actions>div{
  display:flex;
  gap:8px;
}
.service-check-actions button{
  min-height:34px;
  padding:6px 14px;
}
.service-check-option{
  display:flex;
  align-items:center;
  gap:7px;
  min-height:34px;
  padding:7px 9px;
  border:1px solid #E1E8ED;
  border-radius:8px;
  background:#F8FAFB;
  color:#243B4A;
  font-size:13px;
  font-weight:700;
  cursor:pointer;
  user-select:none;
  white-space:nowrap;
}
.service-check-option input{
  width:15px;
  height:15px;
  margin:0;
  accent-color:var(--primary);
}
.service-check-option.active,
.service-check-option:has(input:checked){
  border-color:rgba(47,125,140,.45);
  background:#EAF5F6;
  color:var(--primary);
}
.service-check-option:hover{
  border-color:#B9CCD7;
  background:#F1F6F7;
}
.service-project-confirm-backdrop{
  position:fixed;
  display:flex;
  z-index:9999;
  align-items:center;
  justify-content:center;
  padding:24px;
  background:rgba(15,23,42,.36);
}
.service-project-confirm-page{
  inset:0;
}
.service-project-confirm-scoped{
  border-radius:10px;
  overflow:hidden;
}
.service-project-confirm-card{
  width:min(360px,calc(100vw - 32px));
  padding:22px 24px;
  border:1px solid #D8E1E7;
  border-radius:10px;
  background:#fff;
  box-shadow:0 18px 50px rgba(15,23,42,.18);
}
.service-project-confirm-card h3{
  margin:0 0 10px;
  color:#102A36;
  font-size:18px;
}
.service-project-confirm-card p{
  margin:0;
  color:#475569;
  font-size:15px;
  line-height:1.6;
}
.service-project-confirm-card .actions{
  justify-content:flex-end;
  gap:10px;
  margin-top:20px;
}
.service-project-confirm-card .danger{
  background:#C94F4F;
  color:#fff;
}
.service-add-line,
.address-resource-picker{
  display:flex;
  gap:10px;
  align-items:center;
}
.service-add-line select,
.address-resource-picker select{
  flex:1;
  min-width:0;
}
.address-resource-picker button{
  white-space:nowrap;
}
.address-resource-manager{width:min(860px,94vw);max-height:88vh;overflow:auto}
.address-resource-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.address-resource-form label{display:grid;gap:6px}
.address-resource-form .wide{grid-column:1/-1}
.address-resource-list{display:grid;gap:10px}
.address-resource-item{display:flex;justify-content:space-between;gap:12px;align-items:center;border:1px solid var(--border);border-radius:8px;background:#fff;padding:10px 12px}
.address-resource-item b{color:var(--text-primary)}
.address-resource-item p{margin:4px 0 0;color:var(--text-secondary);font-size:13px}
.address-resource-edit-slot{margin:6px 0 12px}
.address-resource-edit-slot:empty{display:none}
@media(max-width:900px){
  .customer-two-detail{padding:22px 18px}
  .customer-detail-groups,.customer-field-grid{grid-template-columns:1fr}
  .service-project-list,.service-project-row{grid-template-columns:1fr}
  .service-project-name{grid-column:auto}
  .service-check-options{grid-template-columns:repeat(2,minmax(0,1fr))}
  .service-add-line,.address-resource-picker{align-items:stretch;flex-direction:column}
  .address-resource-form{grid-template-columns:1fr}
}


/* Focused compact matter page/status fix 20260819 */
.matter-page-compact{max-width:min(1540px,calc(100vw - 312px));margin:0 auto}
.matter-filter-bar.compact{grid-template-columns:minmax(260px,1fr) 130px 130px 118px 118px auto}
.matter-table-wrap{overflow-x:hidden}
.compact-matter-table{width:100%;min-width:0;table-layout:fixed}
.compact-matter-table col.c-main{width:30%}
.compact-matter-table col.c-flow{width:16%}
.compact-matter-table col.c-next{width:22%}
.compact-matter-table col.c-status{width:10%}
.compact-matter-table col.c-due{width:8%}
.compact-matter-table col.c-owner{width:8%}
.compact-matter-table col.c-op{width:6%}
.compact-matter-table th,.compact-matter-table td{padding:8px 9px}
.compact-matter-table td{height:58px}
.main-matter-cell{min-width:0}
.matter-main-link{display:grid;gap:3px;text-align:left}
.matter-main-link b,.matter-main-link span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.matter-main-link span{font-weight:500;color:#334155}
.matter-subline{display:flex;align-items:center;gap:5px;min-width:0;margin-top:4px}
.matter-subline small{font-size:11px;color:#64748b;white-space:nowrap}
.matter-subline .matter-pill{padding:1px 6px;font-size:11px}
.compact-matter-table .remark-mark,.compact-matter-table .attach-mark{position:static;margin:0;padding:1px 5px;line-height:16px}
.workflow-compact{display:grid;gap:5px;width:100%;padding:0;background:transparent;text-align:left;color:#334155}
.workflow-compact span{display:flex;justify-content:space-between;gap:7px;align-items:center}
.workflow-compact b{font-size:13px;color:#102a2a}
.workflow-compact em{font-style:normal;font-size:12px;color:#475569;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.workflow-compact i{display:block;height:7px;background:#e8eef1;border-radius:999px;overflow:hidden}
.workflow-compact u{display:block;height:100%;background:#0f766e;border-radius:999px;text-decoration:none}
.workflow-compact.no-flow{color:#94a3b8}
.next-cell{min-width:0}
.next-action-view{max-width:100%;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border:1px dashed transparent}
.next-action-view.muted{border-color:#d8e1e7;background:#fbfcfd;color:#64748b}
.inline-status-edit{display:grid;grid-template-columns:1fr;gap:6px}
.inline-status-edit select{min-width:94px!important}
.compact-matter-table .task-op{display:flex;gap:6px;justify-content:flex-end;align-items:center}
.compact-matter-table .task-op button{padding:5px 7px;font-size:12px}
.matter-drawer-backdrop{justify-content:flex-end!important;align-items:stretch!important;background:rgba(15,23,42,.22)}
.matter-drawer-card{width:min(720px,94vw);height:100vh;overflow:auto;background:#fff;padding:20px;box-shadow:-18px 0 42px rgba(15,23,42,.18)}
.drawer-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;border-bottom:1px solid #e5edf2;padding-bottom:14px;margin-bottom:14px}
.drawer-head h2{margin:0 0 6px;color:#102a2a}
.drawer-head p{margin:0;color:#64748b}
.matter-drawer-card section{border:1px solid #e3ebef;border-radius:8px;background:#fff;padding:14px;margin-bottom:12px}
.matter-drawer-card h3{font-size:15px;margin:0 0 10px;color:#102a2a}
.drawer-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 14px}
.drawer-info-grid p{margin:0;border-bottom:1px solid #eef2f5;padding-bottom:7px;color:#334155}
.drawer-info-grid b{display:block;color:#64748b;font-size:12px;margin-bottom:3px}
.drawer-info-grid .wide{grid-column:1/-1}
.matter-drawer-card pre{white-space:pre-wrap;line-height:1.7;color:#334155;margin:0;max-height:240px;overflow:auto;background:#fbfcfd;border-radius:6px;padding:10px}
.drawer-attachment-list{display:grid;gap:8px}
.drawer-attachment-list div,.drawer-timeline p{border:1px solid #edf2f4;background:#fbfcfd;border-radius:8px;padding:9px 10px;margin:0}
.drawer-attachment-list b,.drawer-attachment-list span,.drawer-timeline b{display:block}
.drawer-attachment-list span,.drawer-timeline b{font-size:12px;color:#64748b}
@media(max-width:1180px){.matter-page-compact{max-width:100%}.matter-filter-bar.compact{grid-template-columns:1fr 120px 120px}.compact-matter-table{min-width:980px}.matter-table-wrap{overflow-x:auto}}
@media(max-width:760px){.matter-filter-bar.compact{grid-template-columns:1fr}.drawer-info-grid{grid-template-columns:1fr}.matter-drawer-card{width:96vw}}

/* Task management workbench refinement 20260824 */
.task-workbench-page{max-width:min(1520px,calc(100vw - 300px))}
.task-workbench-head h2{font-size:24px}
.task-filter-bar{grid-template-columns:minmax(240px,1.4fr) 132px 118px 126px 116px 112px auto!important;align-items:center}
.task-workbench-list{display:grid;gap:10px;margin-top:12px}
.task-workbench-card{display:grid;grid-template-columns:minmax(260px,1.35fr) minmax(240px,1.4fr) minmax(190px,1fr) 96px 88px 108px 112px;gap:12px;align-items:center;border:1px solid var(--border);border-radius:12px;background:var(--card-bg);padding:13px 14px;box-shadow:0 6px 20px rgba(24,42,54,.04)}
.task-workbench-card:hover{border-color:#c9d8df;box-shadow:0 10px 28px rgba(24,42,54,.07)}
.task-workbench-card.is-overdue{border-color:rgba(199,91,86,.35);background:#fffafa}
.task-workbench-card label{display:block;font-size:12px;color:var(--text-secondary);margin-bottom:5px}
.task-card-title{display:grid;text-align:left;gap:4px}
.task-card-title b{font-size:15px;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.task-card-title span{font-size:13px;color:#405362;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.task-card-tags{display:flex;gap:6px;align-items:center;margin-top:7px;flex-wrap:wrap}
.task-card-tags small{color:var(--text-secondary);font-size:12px}
.task-card-next .next-action-view{line-height:1.45;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.task-card-actions{display:flex;justify-content:flex-end;gap:7px}
.task-card-actions button{padding:7px 10px;font-size:13px}
.task-flow-line{display:flex;align-items:center;gap:7px;width:100%;min-height:32px;background:#f8fbfc;border:1px solid #e4edf1;border-radius:8px;padding:6px 8px;text-align:left;overflow:hidden}
.task-flow-line.no-flow{color:#7b8b96;background:#fbfcfd}
.task-flow-line span{display:flex;align-items:center;gap:4px;min-width:0;max-width:112px}
.task-flow-line span i{width:9px;height:9px;border-radius:50%;border:1px solid #adc3ce;background:#fff;flex:0 0 auto}
.task-flow-line span b{font-size:12px;font-weight:600;color:#506472;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.task-flow-line span.done i{background:var(--primary);border-color:var(--primary)}
.task-flow-line span.current i{background:#fff;border:3px solid var(--primary)}
.task-flow-line span.current b{color:var(--primary)}
.task-flow-line em{font-style:normal;font-size:12px;color:var(--text-secondary)}
.task-card-flow small{display:block;margin-top:5px;color:var(--text-secondary);font-size:12px}
.owner-inline-editor{min-width:120px}
.task-empty{padding:36px}
.task-create-backdrop,.task-detail-page-backdrop{align-items:center!important;justify-content:center!important;background:rgba(24,42,54,.34)}
.task-create-card{width:min(760px,94vw);padding:20px}
.task-create-form{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.task-create-form label{display:grid;gap:6px;color:var(--text-primary);font-weight:700}
.task-create-form label span b{color:var(--danger)}
.task-create-form .full,.task-customer-results.full{grid-column:1/-1}
.task-create-form input,.task-create-form select,.task-create-form textarea{width:100%}
.task-create-files{display:flex;flex-wrap:wrap;gap:6px;min-height:38px;align-items:center;color:var(--text-secondary);border:1px dashed var(--border);border-radius:8px;padding:8px 10px;background:#f8fbfc}
.task-create-files span{display:inline-flex;align-items:center;max-width:220px;padding:4px 8px;border:1px solid var(--border);border-radius:999px;background:#fff;color:var(--text-primary);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.task-customer-results{border:1px dashed var(--border);border-radius:8px;background:#fbfcfd;min-height:46px;padding:8px;color:var(--text-secondary)}
.task-customer-results button{display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%;border:1px solid #e5edf2;background:#fff;border-radius:8px;padding:8px 10px;margin-bottom:6px;text-align:left}
.task-customer-results button:hover{border-color:var(--primary);background:#f3fafb}
.selected-customer{display:flex;justify-content:space-between;align-items:center;color:var(--text-primary)}
.task-detail-page-card{width:min(1180px,96vw);max-height:92vh;overflow:auto;padding:20px}
.task-detail-page-grid{display:grid;grid-template-columns:minmax(240px,.9fr) minmax(360px,1.3fr) minmax(260px,.9fr);gap:14px;align-items:start}
.task-detail-page-card section,.task-detail-page-card aside{border:1px solid var(--border);background:#fff;border-radius:10px;padding:14px}
.task-detail-page-card h3{font-size:15px;margin:0 0 10px;color:var(--text-primary)}
.task-detail-page-card p{margin:0 0 9px;color:#344854;line-height:1.55}
.task-detail-page-card p b{display:block;font-size:12px;color:var(--text-secondary);margin-bottom:2px}
.task-detail-page-card pre{white-space:pre-wrap;max-height:180px;overflow:auto;background:#f8fbfc;border-radius:8px;padding:10px;line-height:1.65;color:#344854}
.task-detail-right{display:grid;gap:11px}
.task-detail-right label{display:grid;gap:6px;font-weight:700;color:var(--text-primary)}
.task-detail-right input,.task-detail-right select,.task-detail-right textarea,.task-detail-bottom textarea{width:100%}
.task-detail-right input[type="date"]{cursor:pointer}
.task-next-flow-tool{display:flex;align-items:center;gap:8px;margin-top:2px;font-weight:400}
.task-next-flow-tool .secondary{height:30px;padding:0 10px;white-space:nowrap}
.task-next-flow-tool span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-secondary);font-size:12px}
.task-detail-step-list{display:grid;gap:8px;margin-top:12px}
.task-detail-step-list p{display:grid;grid-template-columns:28px minmax(0,1fr) 78px;gap:8px;align-items:center;border:1px solid #e5edf2;border-radius:8px;background:#fbfcfd;padding:8px;margin:0}
.task-detail-step-list p b{width:24px;height:24px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#e8eef2;color:#526675;margin:0;font-size:12px}
.task-detail-step-list p.done b{background:var(--success);color:#fff}
.task-detail-step-list p.current{border-color:rgba(47,125,140,.45);background:#f1fafb}
.task-detail-step-list p.current b{background:var(--primary);color:#fff}
.task-detail-step-list span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text-primary)}
.task-detail-step-list small{color:var(--text-secondary);font-size:12px;text-align:right}
.task-step-advance-panel{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:10px 0 10px;padding:9px 10px;border:1px solid #e3edf2;border-radius:10px;background:#fff;box-shadow:0 3px 10px rgba(24,42,54,.035)}
.task-step-advance-panel div{display:grid;gap:2px;min-width:0}
.task-step-advance-panel b{font-size:12px;color:var(--text-secondary);font-weight:700}
.task-step-advance-panel span{font-size:15px;font-weight:800;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.task-step-advance-panel small{font-size:12px;color:var(--text-secondary);line-height:1.3}
.task-step-advance-panel .primary{height:32px;white-space:nowrap}
.task-step-advance-actions{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:8px!important;flex:0 0 auto}
.task-step-advance-actions .secondary,.task-step-advance-actions .primary{height:32px;white-space:nowrap;padding:0 12px}
.task-step-advance-panel.done{display:block;color:var(--success);font-weight:700}
.task-detail-bottom{margin-top:14px}
.handover-history{display:grid;gap:7px;margin-top:8px}
.handover-history p{border:1px solid #e5edf2;background:#fbfcfd;border-radius:8px;padding:8px;margin:0}
.handover-history small{display:block;color:var(--text-secondary);margin-top:3px}
@media(max-width:1180px){.task-workbench-page{max-width:100%}.task-filter-bar{grid-template-columns:1fr 120px 110px!important}.task-workbench-card{grid-template-columns:1fr 1fr}.task-card-actions{justify-content:flex-start}.task-detail-page-grid{grid-template-columns:1fr}.task-create-form{grid-template-columns:1fr}}
@media(max-width:760px){.task-workbench-card{grid-template-columns:1fr}.task-flow-line{flex-wrap:wrap}.task-detail-page-card,.task-create-card{width:96vw;padding:16px}}

/* Task management daily workbench polish 20260824 */
.task-workbench-page .matter-stat-row{display:flex;gap:8px;align-items:stretch;margin:6px 0 10px;flex-wrap:wrap}
.task-workbench-page .matter-stat{min-width:118px;min-height:58px;padding:8px 11px;border-radius:10px;background:#fff;box-shadow:0 3px 12px rgba(24,42,54,.035)}
.task-workbench-page .matter-stat span{font-size:12px;margin-bottom:2px;color:var(--text-secondary)}
.task-workbench-page .matter-stat b{font-size:20px;line-height:1.15;color:var(--text-primary)}
.task-workbench-page .matter-stat.active{border-color:rgba(47,125,140,.35);background:#f6fbfc;box-shadow:inset 3px 0 0 var(--primary)}
.task-workbench-page .matter-stat.waiting.is-zero{display:none}
.task-workbench-page .matter-stat.doing b{color:#2F6F9F}
.task-workbench-page .matter-stat.waiting b{color:var(--warning)}
.task-workbench-page .matter-stat.overdue b{color:var(--danger)}
.task-workbench-page .matter-stat.done b{color:var(--success)}
.task-workbench-card{position:relative;grid-template-columns:minmax(270px,1.28fr) minmax(260px,1.22fr) minmax(210px,1fr) minmax(170px,.82fr) 92px;gap:14px;padding:14px 14px 14px 18px;border-radius:12px;overflow:hidden}
.task-workbench-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:#A8B6BF}
.task-workbench-card.status-blue:before{background:#4F8EBA}
.task-workbench-card.status-orange:before{background:var(--warning)}
.task-workbench-card.status-red:before{background:var(--danger)}
.task-workbench-card.status-green:before{background:var(--success)}
.task-workbench-card.is-overdue{background:#fffafa;border-color:rgba(199,91,86,.42)}
.task-card-main{min-width:0}
.task-card-title b{font-size:16px;line-height:1.35}
.task-card-title span{font-size:14px;line-height:1.45;color:#344854}
.task-card-flow{min-width:0}
.task-flow-summary{display:grid;gap:5px;width:100%;border:1px solid #e3edf2;background:#f8fbfc;border-radius:10px;padding:9px 10px;text-align:left;color:var(--text-primary)}
.task-flow-summary:hover{border-color:rgba(47,125,140,.45);background:#f4fafb}
.task-flow-summary.no-flow{color:#738692;background:#fbfcfd}
.task-flow-summary p{display:grid;grid-template-columns:72px minmax(0,1fr);gap:7px;align-items:center;margin:0;min-width:0}
.task-flow-summary b{font-size:12px;color:var(--text-secondary);font-weight:700}
.task-flow-summary span{font-size:13px;color:#2c4250;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.task-card-next{min-width:0}
.task-card-next label,.task-card-meta label{font-size:12px;color:var(--text-secondary);margin:0 0 4px}
.task-card-next .next-action-view{display:block;max-width:none;padding:7px 8px;border-radius:8px;background:#f8fbfc;border:1px dashed #d6e2e8;color:#263f4c;line-height:1.5}
.task-card-next .next-action-view.muted{background:#fffaf4;border-color:#ead6b9;color:#9a6a2f}
.task-card-meta{display:grid;gap:7px;min-width:0}
.task-card-meta p{display:grid;grid-template-columns:58px minmax(0,1fr);gap:7px;align-items:center;margin:0}
.task-card-meta label{margin:0;white-space:nowrap}
.task-card-meta .matter-status,.task-card-meta .editable-text{justify-self:start}
.task-card-actions{justify-content:flex-end;align-self:center}
.task-card-actions .detail-btn{height:32px;padding:6px 10px}
.task-card-actions .more-btn{width:32px;height:32px;min-width:32px;padding:0;font-weight:800;letter-spacing:1px}
.matter-status.blue{background:#eaf5fb;color:#235f8a}
.matter-status.orange{background:#fff7ed;color:#9a6a2f}
.matter-status.red{background:#fff1f0;color:#a54743}
.matter-status.green{background:#edf8f2;color:#2f6f58}
@media(max-width:1320px){.task-workbench-card{grid-template-columns:minmax(250px,1.2fr) minmax(240px,1.1fr) minmax(190px,1fr) minmax(160px,.8fr) 86px}}
@media(max-width:1080px){.task-workbench-card{grid-template-columns:1fr 1fr}.task-card-actions{justify-content:flex-start}.task-card-meta{grid-template-columns:repeat(3,minmax(0,1fr));grid-column:1/-1}.task-card-actions{grid-column:1/-1}}
@media(max-width:760px){.task-workbench-page .matter-stat{min-width:calc(50% - 4px)}.task-workbench-card{grid-template-columns:1fr}.task-card-meta{grid-template-columns:1fr}}


/* Auth and SOP flow workspace 20260819 */
.login-overlay{position:fixed;inset:0;z-index:999;display:none;align-items:center;justify-content:center;background:rgba(244,246,248,.96)}
.login-card{width:min(420px,92vw);background:#fff;border:1px solid #d8e0e7;border-radius:10px;padding:24px;box-shadow:0 24px 70px rgba(15,23,42,.18)}
.login-return-link{display:inline-flex;align-items:center;min-height:30px;margin:-6px 0 12px;padding:0;border:0;background:transparent;color:var(--primary);font-size:14px;font-weight:800}
.login-return-link:hover{background:transparent;color:#1F5A54;text-decoration:underline}
.login-brand b{display:block;font-size:26px;color:#102a2a}.login-brand span{display:block;margin:6px 0 18px;color:#667085}
.login-card form{display:grid;gap:12px}.login-card .primary{width:100%;margin-top:4px}.login-hint{margin-top:12px;font-size:13px}
@keyframes sinoLoginAutofillStart{from{outline-color:transparent}to{outline-color:transparent}}
.sino-login-identity:-webkit-autofill,[data-sino-login-url-guard="true"]:-webkit-autofill{animation-name:sinoLoginAutofillStart;animation-duration:.01s}
.auth-user-bar{display:flex;gap:8px;align-items:center;justify-content:flex-end;color:#475569}
.auth-user-bar span{font-size:13px}
.account-page .warning,.login-card .warning{background:#fff7ed;color:#9a3412;border:1px solid #fed7aa;border-radius:8px;padding:10px;margin-bottom:12px}
.sop-flow-toolbar{display:grid;grid-template-columns:minmax(260px,1fr) 120px 120px 130px auto;gap:10px;margin:12px 0}
.sop-flow-list{display:grid;gap:10px}
.sop-flow-card{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;border:1px solid #d8e0e7;background:#fff;border-radius:8px;padding:14px}
.sop-flow-card h3{margin:0 0 6px;color:#102a2a}.sop-flow-card .sop-intro{margin:7px 0;color:#475569}.sop-flow-card small{color:#667085}
.sop-flow-detail-panel{margin-top:14px}
.sop-detail-wrap{display:grid;gap:14px}
.sop-detail-modal-card{width:min(1280px,96vw);max-height:92vh;overflow:auto;background:#f6f8fa!important;padding:22px 24px!important}
.sop-detail-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;border:1px solid #e5e7eb;background:#fff;border-radius:10px;padding:20px 22px;box-shadow:0 8px 18px rgba(24,42,54,.035)}
.sop-detail-head h2{margin:0 0 8px;color:#182a36;font-size:24px;letter-spacing:0}
.sop-detail-head p{margin:5px 0 0;color:#667985;line-height:1.6}
.sop-detail-head .actions{display:flex;gap:8px;align-items:center;justify-content:flex-end;flex-wrap:wrap;white-space:nowrap}
.sop-detail-grid{display:grid;grid-template-columns:280px minmax(0,1fr);gap:20px;align-items:start;margin-top:18px}
.sop-step-nav,.sop-step-main{border:1px solid #e5e7eb;background:#fff;border-radius:10px}
.sop-step-nav{position:sticky;top:14px;padding:18px 16px;display:grid;gap:14px}
.sop-step-nav h3{margin:0;color:#182a36;font-size:15px}
.sop-step-track{display:grid;gap:2px;position:relative}
.sop-step-track:before{content:"";position:absolute;left:14px;top:18px;bottom:18px;width:1px;background:#e2e8ee}
.sop-step-nav button{position:relative;display:grid;grid-template-columns:30px minmax(0,1fr);gap:10px;align-items:center;text-align:left;border:0;background:transparent;color:#334155;border-radius:8px;padding:9px 10px;cursor:pointer}
.sop-step-nav button:hover{background:#f7fafb}
.sop-step-nav button.active{background:#eef8fa;color:#182a36}
.sop-step-nav button span{width:28px;height:28px;border-radius:999px;background:#eef2f5;border:1px solid #d9e2e8;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;color:#667985;z-index:1}
.sop-step-nav button.active span{background:#2f7d8c;color:#fff;border-color:#2f7d8c}
.sop-step-nav button.done span{background:#e8f6f0;color:#3f8068;border-color:#badfce}
.sop-step-nav button b{font-size:14px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sop-step-main{display:grid;gap:16px;padding:0;background:transparent;border:0}
.sop-step-hero{border:1px solid #e5e7eb;background:#fff;border-radius:10px;padding:22px 24px;box-shadow:0 8px 18px rgba(24,42,54,.025)}
.sop-step-hero span{display:block;margin-bottom:7px;color:#667985;font-size:12px;font-weight:800}
.sop-step-main h2{font-size:24px;margin:0;color:#182a36;letter-spacing:0}
.sop-step-hero p{margin:10px 0 0;color:#334155;font-size:15px;line-height:1.75}
.sop-step-content-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.sop-content-block{border:1px solid #e5e7eb;background:#fff;border-radius:10px;padding:18px 20px;min-width:0}
.sop-content-block.wide{grid-column:1/-1}
.sop-content-block.optional{background:#fbfcfd}
.sop-content-block h3{font-size:15px;margin:0 0 12px;color:#263744}
.sop-step-main pre{white-space:pre-wrap;line-height:1.75;margin:0;color:#334155;font-family:inherit}
.sop-entry-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0}
.sop-entry-list div{border:1px solid #edf2f4;background:#fbfcfd;border-radius:8px;padding:10px 12px;min-width:0}
.sop-entry-list div.wide{grid-column:1/-1}
.sop-entry-list dt{color:#667985;font-size:12px;font-weight:800;margin:0 0 5px}
.sop-entry-list dd{margin:0;color:#182a36;line-height:1.6;word-break:break-all}
.sop-entry-list dd a{color:#2f7d8c;text-decoration:none}
.sop-entry-list dd .mini{margin-left:8px;min-height:28px;padding:4px 8px;font-size:12px}
.sop-checks{list-style:none;padding-left:0;margin:0;display:grid;gap:8px}.sop-checks li{display:flex;gap:8px;color:#334155;line-height:1.65}.sop-checks span{width:14px;height:14px;border:1px solid #b8c7cf;border-radius:3px;margin-top:6px;background:#fff;flex:0 0 auto}
.sop-empty-note{border:1px dashed #d8e1e7;border-radius:8px;background:#f8fafb;color:#8a99a6;padding:12px 14px;font-size:13px}
.sop-shot-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}.sop-shot-grid figure{margin:0;border:1px solid #e5edf2;border-radius:8px;background:#fff;overflow:hidden}.sop-shot-grid img{width:100%;height:130px;object-fit:cover;cursor:pointer}.sop-shot-grid figcaption{padding:8px;font-size:13px;color:#475569}
.sop-editor-card{width:min(1280px,96vw);max-height:92vh;overflow:auto}
.sop-editor-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:14px}.sop-edit-steps{display:grid;gap:8px;align-content:start}.sop-edit-steps button{display:grid;grid-template-columns:28px minmax(0,1fr);gap:8px;text-align:left;align-items:center;background:#fff;border:1px solid #d8e0e7;border-radius:8px;padding:9px;color:#334155}.sop-edit-steps button.active{border-color:#0f766e;background:#f2fbf9}
.sop-edit-main{display:grid;gap:12px}.sop-meta-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.sop-meta-grid .full{grid-column:1/-1}
.sop-paste-zone{border:1px dashed #b8c7cf;background:#fbfcfd;border-radius:8px;padding:14px;color:#115e59;outline:none}.sop-paste-zone.active,.sop-paste-zone:focus{border-color:#0f766e;box-shadow:0 0 0 3px rgba(15,118,110,.1)}
.sop-shot-edit-list{display:grid;gap:10px;margin-top:10px}.sop-shot-edit{display:grid;grid-template-columns:120px minmax(0,1fr) auto auto auto;gap:8px;align-items:center;border:1px solid #e5edf2;border-radius:8px;background:#fff;padding:8px}.sop-shot-edit img{width:120px;height:80px;object-fit:cover;border-radius:6px}
.sop-attach-list{display:grid;gap:8px}.duplicate-flow-row{display:grid;grid-template-columns:1fr auto 1fr auto;gap:10px;border:1px solid #e5edf2;border-radius:8px;padding:10px;margin:8px 0}.image-preview-card{width:min(1100px,96vw);max-height:92vh;overflow:auto}.image-preview-card img{max-width:100%;display:block;margin-top:10px}
.sop-screenshot-lightbox{position:fixed;inset:0;display:none;align-items:center;justify-content:center;padding:24px;background:rgba(15,23,42,.72);z-index:90}
.sop-screenshot-lightbox .image-preview-card{position:relative;padding:14px;background:#fff}
.sop-screenshot-lightbox #closeImg{position:sticky;top:0;float:right;z-index:2}
@media(max-width:980px){.sop-flow-toolbar,.sop-detail-grid,.sop-editor-layout,.sop-entry,.sop-meta-grid{grid-template-columns:1fr}.sop-detail-head,.sop-flow-card{display:block}.sop-detail-head .actions,.sop-flow-card .actions{margin-top:10px}.sop-step-nav{position:static}.sop-shot-edit{grid-template-columns:1fr}.sop-shot-edit img{width:100%;height:auto}}


/* Flow list compact two-column layout 20260819 */
.sop-flow-list{
  grid-template-columns:repeat(2,minmax(0,1fr));
  align-items:stretch;
}
.sop-flow-card{
  min-height:148px;
}
.sop-flow-card .actions{
  min-width:112px;
  display:flex;
  flex-direction:column;
  align-items:stretch;
}
.sop-flow-card .actions button{
  width:100%;
}
.sop-detail-modal-card{
  width:min(1280px,96vw);
  max-height:92vh;
  overflow:auto;
  background:#f6f8fa!important;
  padding:22px 24px!important;
}
.sop-detail-modal-card .sop-detail-head{
  border:1px solid #e5e7eb;
  border-radius:10px;
  padding:20px 22px;
  margin-bottom:0;
}
@media(max-width:1100px){
  .sop-flow-list{grid-template-columns:1fr;}
}


/* Compact flow management table 20260819 */
.flow-manage-compact{max-width:100%}
.flow-manage-toolbar{display:grid;grid-template-columns:minmax(280px,1fr) 130px 130px 140px auto;gap:10px;margin:12px 0}
.flow-manage-table-wrap{overflow:auto;border:1px solid #d8e0e7;border-radius:8px;background:#fff}
.flow-manage-table{min-width:980px}
.flow-manage-table th,.flow-manage-table td{padding:9px 10px;vertical-align:middle}
.flow-manage-table th:first-child,.flow-manage-table td:first-child{width:54px;text-align:center;color:#64748b}
.flow-title-cell{max-width:520px}
.flow-title-cell b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#102a2a}
.flow-title-cell small{display:block;margin-top:3px;color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px}
.flow-manage-op{white-space:nowrap;text-align:right}
.flow-manage-op button{padding:5px 8px;font-size:12px;margin-left:4px}
.table-pager{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:12px;color:#475569}
.table-pager select{width:auto;min-width:72px;padding:5px 8px}
.table-page-info{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.flow-import-card{width:min(760px,94vw);max-height:88vh;overflow:auto}
@media(max-width:980px){.flow-manage-toolbar{grid-template-columns:1fr}.table-pager{align-items:flex-start;flex-direction:column}.flow-manage-table{min-width:860px}}


/* Work progress compact filters 20260819 */
.work-progress-page .wp-table-panel{padding-top:12px}
.work-progress-page .wp-toolbar{
  display:grid;
  grid-template-columns:minmax(240px,1fr) 108px 118px 128px repeat(4,112px) 92px;
  gap:8px;
  align-items:center;
  margin:8px 0 12px;
}
.work-progress-page .wp-toolbar input,
.work-progress-page .wp-toolbar select{
  height:32px;
  min-height:32px;
  padding:5px 8px;
  font-size:13px;
  border-radius:5px;
}
.work-progress-page .wp-toolbar label{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;
  gap:4px;
  margin:0;
  font-size:12px;
  color:#64748b;
  white-space:nowrap;
}
.work-progress-page .wp-toolbar label input{
  min-width:0;
  width:100%;
}
.work-progress-page #wpSearch{min-width:220px}
.work-progress-page #wpOwnerFilter{min-width:0}
.work-progress-page #wpPageSize{min-width:82px}
.work-progress-page .wp-stats{
  margin:6px 0 10px;
}
.work-progress-page .wp-stats button{
  padding:5px 8px;
  min-height:30px;
  font-size:13px;
}
@media(max-width:1320px){
  .work-progress-page .wp-toolbar{
    grid-template-columns:minmax(220px,1fr) repeat(4,112px) 92px;
  }
}
@media(max-width:900px){
  .work-progress-page .wp-toolbar{
    grid-template-columns:1fr 1fr;
  }
  .work-progress-page #wpSearch{grid-column:1/-1}
}


/* Work progress normal-width filter bar 20260819 */
.work-progress-page .wp-toolbar{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
}
.work-progress-page #wpSearch{
  flex:0 1 420px;
  width:420px;
  max-width:460px;
  min-width:260px;
}
.work-progress-page #wpStatusFilter{width:112px;flex:0 0 112px}
.work-progress-page #wpOwnerFilter{width:118px;flex:0 0 118px}
.work-progress-page #wpBusinessFilter{width:128px;flex:0 0 128px}
.work-progress-page #wpPageSize{width:92px;flex:0 0 92px}
.work-progress-page .wp-toolbar label{
  flex:0 0 auto;
  width:auto;
}
.work-progress-page .wp-toolbar label input{
  width:108px;
  min-width:108px;
}
@media(max-width:900px){
  .work-progress-page #wpSearch{
    flex:1 1 100%;
    width:100%;
    max-width:none;
  }
}

/* work assistant new item balanced layout 20260819 */
#workAssistant > .assistant-tabs {
  max-width: 1500px;
  margin-left: auto;
  margin-right: auto;
}

#workAssistant > .workbench.assistant-layout {
  grid-template-columns: minmax(540px, 600px) minmax(560px, 1fr);
  max-width: 1500px;
  margin: 0 auto;
  gap: 16px;
  align-items: start;
}

#workAssistant > .workbench.assistant-layout > .panel {
  min-width: 0;
}

#workAssistant > .workbench.assistant-layout > .panel:last-child {
  min-height: 190px;
}

#workAssistant #assistantForm {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

#workAssistant #assistantForm label.full,
#workAssistant #assistantForm .full,
#workAssistant #assistantForm .actions,
#workAssistant #assistantForm .meta {
  grid-column: 1 / -1;
}

#workAssistant #assistantForm textarea[name="text"] {
  min-height: 250px;
}

#workAssistant #assistantResult.empty {
  min-height: 96px;
  display: flex;
  align-items: center;
  justify-content: center;
}

@media (max-width: 1180px) {
  #workAssistant > .workbench.assistant-layout {
    grid-template-columns: 1fr;
    max-width: 900px;
  }

  #workAssistant #assistantForm {
    grid-template-columns: 1fr;
  }
}

/* Customer two-view compact toolbar/actions 20260819 */
.customer-two-page .result-head {
  align-items: flex-start;
  gap: 14px;
}

.customer-two-actions {
  flex: 0 0 auto;
  justify-content: flex-end;
}

.customer-two-hint {
  margin: 8px 0 12px;
  color: #526170;
  font-size: 13px;
  line-height: 1.6;
}

.customer-two-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  margin: 12px 0;
}

.customer-two-toolbar input,
.customer-two-toolbar select,
.customer-two-toolbar button {
  height: 36px;
  min-height: 36px;
  padding-top: 6px;
  padding-bottom: 6px;
}

.customer-two-toolbar input#customerSearch {
  flex: 0 1 360px;
  width: 360px;
  max-width: 420px;
}

.customer-two-toolbar select {
  flex: 0 0 auto;
  width: auto;
  min-width: 112px;
  max-width: 178px;
}

.customer-two-toolbar #customerServiceFilter {
  min-width: 150px;
}

.customer-two-toolbar #customerTypeFilter,
.customer-two-toolbar #customerSourceFilter {
  min-width: 138px;
}

.customer-two-toolbar #customerOwnerFilter {
  min-width: 128px;
}

.customer-two-toolbar #customerRefresh {
  min-width: 72px;
}

.boss-customer-table {
  min-width: 1780px;
}

.boss-customer-table th,
.boss-customer-table td,
.customer-staff-table th,
.customer-staff-table td {
  padding: 7px 8px;
}

.boss-customer-table th:nth-child(1){width:220px}
.boss-customer-table th:nth-child(2){width:105px}
.boss-customer-table th:nth-child(3){width:95px}
.boss-customer-table th:nth-child(4){width:100px}
.boss-customer-table th:nth-child(5){width:150px}
.boss-customer-table th:nth-child(6){width:88px}
.boss-customer-table th:nth-child(7),
.boss-customer-table th:nth-child(8){width:98px}
.boss-customer-table th:nth-child(9),
.boss-customer-table th:nth-child(10),
.boss-customer-table th:nth-child(11),
.boss-customer-table th:nth-child(13),
.boss-customer-table th:nth-child(14),
.boss-customer-table th:nth-child(15){width:92px}
.boss-customer-table th:nth-child(12){width:130px}
.boss-customer-table th:nth-child(16){width:100px}
.boss-customer-table th:nth-child(17){width:180px}
.boss-customer-table th:nth-child(18),
.boss-customer-table th:nth-child(19),
.boss-customer-table th:nth-child(20){width:82px}

@media(max-width:980px){
  .customer-two-toolbar input#customerSearch,
  .customer-two-toolbar select,
  .customer-two-toolbar button {
    width: 100%;
    max-width: none;
  }
}

/* Customer info table polish 20260828 */
.customer-two-page {
  max-width: min(1760px, calc(100vw - 292px));
  margin: 0;
  padding: 18px 20px 20px;
  background: #fff;
}

.customer-two-title-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 0 0 12px;
}

.customer-two-title-row h2 {
  margin: 0;
  font-size: 22px;
  line-height: 1.25;
  color: var(--text-primary);
}

.customer-info-toolbar {
  display: grid;
  grid-template-columns: minmax(300px, 1.2fr) 140px 160px 150px 86px auto;
  gap: 10px;
  align-items: center;
  margin: 0 0 12px;
}

.customer-info-toolbar input,
.customer-info-toolbar select,
.customer-info-toolbar button {
  width: 100%;
  min-height: 36px;
}

.customer-info-toolbar input#customerSearch {
  width: 100%;
  max-width: none;
}

.customer-info-toolbar select {
  max-width: none;
}

.customer-info-toolbar .customer-two-actions {
  justify-self: end;
  display: flex;
  align-items: center;
  gap: 8px;
  white-space: nowrap;
}

.customer-info-toolbar .customer-two-actions button {
  width: auto;
}

.customer-info-table-wrap {
  border: 0;
  background: #fff;
  border-radius: 10px;
  overflow: auto;
}

.customer-staff-table,
.boss-customer-table,
.customer-staff-access-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  background: #fff;
}

.customer-staff-table,
.boss-customer-table {
  min-width: 1630px;
  table-layout: fixed;
}

.customer-staff-access-table {
  min-width: 1060px;
  table-layout: fixed;
}

.customer-staff-table thead th,
.boss-customer-table thead th,
.customer-staff-access-table thead th {
  height: 46px;
  padding: 10px 11px;
  background: #edf3f6;
  border-bottom: 1px solid #d7e2e8;
  color: #243746;
  font-size: 14px;
  font-weight: 800;
  white-space: nowrap;
}

.customer-staff-table tbody td,
.boss-customer-table tbody td,
.customer-staff-access-table tbody td {
  height: 52px;
  padding: 8px 11px;
  border-bottom: 1px solid #edf1f4;
  color: #253746;
  font-size: 14px;
  line-height: 1.42;
  vertical-align: middle;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.customer-staff-table tbody tr:hover td,
.boss-customer-table tbody tr:hover td,
.customer-staff-access-table tbody tr:hover td {
  background: #f7fafc;
}

.customer-name-cell .cell-link {
  max-width: 100%;
  font-weight: 700;
  line-height: 1.35;
  color: #102a2a;
  overflow: hidden;
  text-align: left;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.customer-no-cell {
  color: #607582;
  font-family: ui-monospace, SFMono-Regular, Consolas, "Liberation Mono", monospace;
  font-size: 12px;
  font-weight: 700;
}

.customer-nature-pill {
  justify-content: center;
  min-width: 44px;
}

.customer-service-cell {
  color: #334e5c;
}

.customer-remark-cell {
  max-width: 160px;
  color: #5c7080;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.customer-mini-link {
  min-height: 24px;
  padding: 2px 4px;
  border: 0;
  border-radius: 6px;
  background: transparent;
  color: #607582;
  font-size: 13px;
  white-space: nowrap;
  cursor: pointer;
}

.customer-mini-link:hover {
  background: #edf3f6;
  color: var(--primary);
}

.customer-mini-link.has-count {
  background: #eef7f9;
  color: var(--primary);
  font-weight: 700;
}

.customer-staff-table th:nth-child(1),
.boss-customer-table th:nth-child(1) { width: 118px; }
.customer-staff-table th:nth-child(2),
.boss-customer-table th:nth-child(2) { width: 340px; }
.customer-staff-table th:nth-child(3),
.boss-customer-table th:nth-child(3) { width: 122px; }
.customer-staff-table th:nth-child(4),
.boss-customer-table th:nth-child(4) { width: 116px; }
.customer-staff-table th:nth-child(5),
.boss-customer-table th:nth-child(5) { width: 138px; }
.customer-staff-table th:nth-child(6),
.boss-customer-table th:nth-child(6) { width: 74px; }
.customer-staff-table th:nth-child(7),
.boss-customer-table th:nth-child(7) { width: 172px; }
.customer-staff-table th:nth-child(8),
.boss-customer-table th:nth-child(8) { width: 118px; }
.customer-staff-table th:nth-child(9),
.boss-customer-table th:nth-child(9) { width: 104px; }
.customer-staff-table th:nth-child(10),
.boss-customer-table th:nth-child(10) { width: 114px; }
.customer-staff-table th:nth-child(11),
.boss-customer-table th:nth-child(11) { width: 96px; }
.customer-staff-table th:nth-child(12),
.boss-customer-table th:nth-child(12),
.customer-staff-table th:nth-child(13),
.boss-customer-table th:nth-child(13),
.customer-staff-table th:nth-child(14),
.boss-customer-table th:nth-child(14) { width: 78px; }
.customer-staff-access-table th:nth-child(1) { width: 118px; }
.customer-staff-access-table th:nth-child(2) { width: 330px; }
.customer-staff-access-table th:nth-child(3) { width: 126px; }
.customer-staff-access-table th:nth-child(4) { width: 172px; }
.customer-staff-access-table th:nth-child(5) { width: 118px; }
.customer-staff-access-table th:nth-child(6) { width: 114px; }
.customer-staff-access-table th:nth-child(7) { width: 96px; }

@media(max-width:980px){
  .customer-two-page {
    max-width: 100%;
    padding: 16px;
  }

  .customer-info-toolbar {
    grid-template-columns: 1fr;
  }

  .customer-info-toolbar .customer-two-actions {
    justify-self: start;
  }
}

/* work assistant attachments on right 20260819 */
#workAssistant .assistant-side-panel {
  display: grid;
  gap: 14px;
}

#workAssistant .assistant-attachment-side {
  display: grid;
  gap: 10px;
  border-top: 1px solid var(--line);
  padding-top: 14px;
}

#workAssistant .assistant-attachment-side h3 {
  margin: 0 0 4px;
}

#workAssistant .assistant-attachment-side > input[type=file] {
  background: #fff;
}

#workAssistant .assistant-attachment-side .paste-zone {
  min-height: 118px;
}

#workAssistant .assistant-attachment-side #assistantFilePreview .empty {
  min-height: 88px;
}


/* Simplified SOP editor and attachment purpose 20260819 */
.sop-editor-simple {
  width: min(1180px, 96vw);
}

.sop-editor-simple .sop-edit-main {
  max-width: 880px;
}

.sop-simple-section {
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 14px;
  background: #fbfcfd;
  margin: 12px 0;
}

.sop-simple-section h3 {
  margin: 0 0 10px;
  font-size: 15px;
}

.sop-simple-section label {
  display: grid;
  gap: 6px;
  margin: 10px 0;
}

.sop-advanced-block {
  margin-top: 12px;
  border-top: 1px dashed var(--line);
  padding-top: 10px;
}

.sop-advanced-block summary {
  cursor: pointer;
  color: #526170;
  font-weight: 700;
}

.attachment-purpose {
  display: flex;
  gap: 8px;
  align-items: center;
  margin-top: 6px;
  font-size: 12px;
}

.attachment-purpose select {
  height: 30px;
  padding: 3px 8px;
  min-width: 132px;
}


/* Flow editor step page layout 20260819 */
.sop-editor-step-pages {
  width: min(1240px, 96vw);
  padding: 16px;
}

.sop-editor-step-pages .sop-editor-head {
  margin-bottom: 12px;
}

.sop-editor-top {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fbfcfd;
  padding: 12px;
  margin-bottom: 12px;
}

.sop-editor-top h3 {
  margin: 0 0 10px;
  font-size: 15px;
}

.sop-step-tabs-wrap {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  padding: 10px;
  margin-bottom: 12px;
}

.sop-step-tabs {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  align-items: center;
}

.sop-step-tabs button {
  min-width: 128px;
  max-width: 220px;
  display: grid;
  gap: 2px;
  text-align: left;
  border: 1px solid #d8e0e7;
  border-radius: 8px;
  background: #fff;
  color: #334155;
  padding: 8px 10px;
}

.sop-step-tabs button span {
  font-size: 12px;
  color: #64748b;
}

.sop-step-tabs button b {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.sop-step-tabs button.active {
  border-color: #0f766e;
  background: #eefaf7;
  color: #0f3f3a;
}

.sop-step-tabs .add-step-tab {
  min-width: 108px;
  display: inline-flex;
  justify-content: center;
  text-align: center;
}

.sop-step-page {
  max-width: 980px;
  margin: 0 auto;
}

.sop-step-page-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  margin-bottom: 10px;
}

.sop-step-page-head h3,
.sop-step-page-head .meta {
  margin: 0;
}

.sop-editor-savebar {
  position: sticky;
  bottom: 0;
  background: rgba(255,255,255,.96);
  border-top: 1px solid var(--line);
  padding-top: 10px;
}

@media(max-width:980px){
  .sop-step-page-head {
    display: block;
  }
  .sop-step-page-head .actions {
    margin-top: 8px;
  }
  .sop-step-tabs button {
    min-width: 100%;
    max-width: none;
  }
}

/* Customer editor targeted paste recognition 20260819 */
.customer-paste-intake {
  border: 1px dashed #b8cbd1;
  background: #f7fbfa;
}
.customer-paste-grid {
  display: grid;
  grid-template-columns: minmax(280px, 1.2fr) minmax(260px, .8fr);
  gap: 12px;
  align-items: stretch;
}
.customer-paste-text {
  min-height: 112px;
  resize: vertical;
}
.customer-paste-drop {
  border: 1px dashed #0f766e;
  border-radius: 8px;
  background: #eefaf7;
  min-height: 112px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 6px;
  padding: 14px;
  color: #0f3f3a;
  text-align: center;
  cursor: pointer;
}
.customer-paste-drop.dragover {
  background: #ddf5ef;
  border-color: #0b7f72;
}
.customer-paste-drop input {
  display: none;
}
.customer-paste-status {
  margin-top: 10px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  color: #516173;
}
.customer-paste-chip {
  border: 1px solid #d5e2e4;
  background: #fff;
  border-radius: 999px;
  padding: 5px 9px;
  font-size: 13px;
}
@media (max-width: 900px) {
  .customer-paste-grid {
    grid-template-columns: 1fr;
  }
}

/* Editable OCR result 20260819 */
.ocr-edit-box {
  display: block;
  margin-top: 8px;
}
.ocr-edit-box span {
  display: block;
  margin-bottom: 4px;
  color: #516173;
  font-size: 13px;
}
.ocr-edit-box textarea {
  width: 100%;
  min-height: 86px;
  resize: vertical;
  border: 1px solid #cbd8df;
  border-radius: 6px;
  padding: 8px;
  line-height: 1.55;
  background: #fff;
}



/* Flow import file visibility 20260819 */
.flow-import-file-status{
  grid-column:1/-1;
  border:1px solid #cbd8e2;
  background:#f8fafc;
  border-radius:8px;
  padding:10px 12px;
  display:flex;
  flex-direction:column;
  gap:4px;
  color:#334155;
}
.flow-import-file-status b{color:#0f172a}
.flow-import-file-status span{font-size:13px;color:#64748b}
.flow-import-file-status em{font-style:normal;font-size:13px;color:#0f766e}
.flow-import-file-status.empty{border-style:dashed;background:#fff}
.flow-import-file-status.error{border-color:#f2b8b5;background:#fff8f7}
.flow-import-file-status.error em{color:#b42318}


/* Flow upload visibility 20260819 */
.sop-source-banner{
  margin:12px 0;
  padding:10px 12px;
  border:1px solid #b8d9d4;
  background:#f0fdfa;
  border-radius:8px;
  color:#134e4a;
  display:flex;
  flex-direction:column;
  gap:3px;
}
.sop-source-banner b{color:#0f172a}
.sop-source-banner span{font-size:13px;color:#35605c}
.sop-source-banner em{font-size:13px;font-style:normal;color:#0f766e}
.sop-inline-attach-summary{
  border:1px solid #d8e0e7;
  background:#f8fafc;
  border-radius:8px;
  padding:9px 10px;
  margin:8px 0 12px;
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  align-items:center;
}
.sop-inline-attach-summary b{margin-right:4px}
.sop-inline-attach-summary span{
  display:inline-flex;
  gap:6px;
  align-items:center;
  background:#fff;
  border:1px solid #d8e0e7;
  border-radius:999px;
  padding:4px 8px;
  font-size:13px;
}
.sop-inline-attach-summary .danger{padding:2px 6px;font-size:12px}
.sop-draft-banner{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:14px;
  border:1px solid #f3d19e;
  background:#fffaf0;
  border-radius:8px;
  padding:10px 12px;
  margin:0 0 12px;
}
.sop-draft-banner b{display:block;color:#7a4b00}
.sop-draft-banner span{display:block;color:#475569;font-size:13px;margin-top:2px}
.sop-draft-banner em{display:block;color:#7a4b00;font-style:normal;font-size:12px;margin-top:3px}
.flow-draft-shelf{
  display:grid;
  gap:10px;
  border:1px solid #f3d19e;
  background:#fffaf0;
  border-radius:8px;
  padding:12px;
  margin:0 0 12px;
}
.flow-draft-shelf>div:first-child{
  display:flex;
  justify-content:space-between;
  gap:12px;
  color:#7a4b00;
}
.flow-draft-shelf>div:first-child span{color:#64748b;font-size:13px}
.flow-draft-list{display:grid;gap:8px}
.flow-draft-item{
  display:grid;
  grid-template-columns:minmax(180px,1fr) auto auto auto;
  gap:8px;
  align-items:center;
  background:#fff;
  border:1px solid #f1e3c2;
  border-radius:8px;
  padding:8px;
}
.flow-draft-item span{font-weight:700;color:#172033}
.flow-draft-item small{color:#667085}
@media(max-width:900px){
  .sop-draft-banner,.flow-draft-shelf>div:first-child{display:block}
  .sop-draft-banner button{margin-top:8px}
  .flow-draft-item{grid-template-columns:1fr}
}


/* FAQ page layout redesign 20260820 */
.faq-redesign{max-width:1320px;margin:0 auto;padding:0 4px 32px}
.faq-top-panel,.faq-list-panel{background:#fff;border:1px solid #d7e0e8;border-radius:8px;padding:18px;margin-bottom:14px}
.faq-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}
.faq-title-row h2{margin:0 0 6px;font-size:22px;color:#102033}
.faq-title-row p{margin:0;color:#4c5f78;line-height:1.6}
.faq-search-row{display:grid;grid-template-columns:minmax(320px,1fr) auto auto 116px;gap:10px;align-items:center;margin-bottom:12px}
.faq-search-row input,.faq-search-row select{height:40px}
.faq-category-chips{display:flex;flex-wrap:wrap;gap:8px}
.faq-chip{border:1px solid #cdd9e3;background:#f7fafc;color:#26384f;border-radius:999px;padding:7px 14px;cursor:pointer}
.faq-chip.active{background:#087f73;border-color:#087f73;color:#fff}
.faq-list-meta{font-size:13px;color:#62708a;margin-bottom:10px}
.faq-card-list{display:grid;gap:12px}
.faq-card{background:#fff;border:1px solid #d8e2ec;border-radius:8px;padding:16px 18px}
.faq-card:hover{border-color:#a9c4d7;box-shadow:0 3px 12px rgba(18,38,63,.06)}
.faq-card-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:12px}
.faq-card-head h3{margin:0 0 8px;font-size:18px;color:#102033;line-height:1.35}
.faq-tag{display:inline-flex;align-items:center;border-radius:999px;background:#eaf6f3;color:#087f73;padding:3px 10px;font-size:13px;font-weight:600}
.faq-card-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}
.faq-copy-btn{min-width:112px}
.faq-more{position:relative}
.faq-more summary{list-style:none;border:1px solid #d7e0e8;background:#f2f6f8;border-radius:6px;padding:8px 12px;cursor:pointer}
.faq-more summary::-webkit-details-marker{display:none}
.faq-more-menu{position:absolute;right:0;top:38px;z-index:20;background:#fff;border:1px solid #d7e0e8;border-radius:8px;box-shadow:0 8px 24px rgba(18,38,63,.12);min-width:132px;padding:6px}
.faq-more-menu button{display:block;width:100%;text-align:left;border:0;background:transparent;padding:8px 10px;border-radius:6px;cursor:pointer;color:#1f2a44}
.faq-more-menu button:hover{background:#f2f6f8}
.faq-more-menu .danger-text{color:#b42318}
.faq-summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.faq-summary-grid b{display:block;color:#1f2a44;margin-bottom:5px}
.faq-summary-text{margin:0;color:#24344d;line-height:1.7;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.faq-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px;border-top:1px solid #edf2f7;padding-top:14px}
.faq-detail-grid section{background:#f8fafc;border:1px solid #e6edf3;border-radius:8px;padding:14px}
.faq-detail-grid h4{margin:0 0 8px;color:#102033}
.faq-detail-grid p{margin:0;color:#1f2a44;line-height:1.75;white-space:normal}
.faq-pager{display:flex;justify-content:flex-end;align-items:center;gap:10px;margin-top:14px}
.faq-empty{padding:32px;text-align:center}
.faq-drawer-backdrop{position:fixed;inset:0;z-index:1000;background:rgba(15,23,42,.42);display:flex;justify-content:flex-end}
.faq-drawer{width:min(640px,calc(100vw - 32px));height:100%;background:#fff;box-shadow:-16px 0 36px rgba(15,23,42,.18);padding:20px;overflow:auto}
.faq-drawer-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:16px}
.faq-drawer-head h2{margin:0 0 6px;font-size:22px}
.faq-drawer-head p{margin:0;color:#5b6b82}
.faq-drawer-form{display:grid;gap:12px}
.faq-drawer-form label{display:grid;gap:6px;font-weight:600;color:#1f2a44}
.faq-drawer-form input,.faq-drawer-form select,.faq-drawer-form textarea{width:100%;box-sizing:border-box}
.faq-drawer-form textarea{resize:vertical;line-height:1.6}
.faq-drawer-actions{display:flex;justify-content:flex-end;gap:10px;position:sticky;bottom:0;background:#fff;padding-top:12px}
@media(max-width:900px){
  .faq-search-row{grid-template-columns:1fr 1fr}
  .faq-search-row input{grid-column:1/-1}
  .faq-card-head{display:block}
  .faq-card-actions{margin-top:12px;flex-wrap:wrap}
  .faq-summary-grid,.faq-detail-grid{grid-template-columns:1fr}
}
@media(max-width:560px){
  .faq-search-row{grid-template-columns:1fr}
  .faq-title-row{display:block}
  .faq-title-row .primary{margin-top:12px}
}


/* Warm home dashboard 20260820 */
.warm-home{max-width:1320px;margin:0 auto;padding:0 4px 34px;color:#122033}
.home-welcome{display:flex;justify-content:space-between;align-items:center;gap:20px;background:linear-gradient(135deg,#f5f2e9,#eef7f3);border:1px solid #d9e3dc;border-radius:12px;padding:24px 28px;margin-bottom:16px;box-shadow:0 8px 24px rgba(31,50,73,.05);position:relative;overflow:hidden}
.home-welcome:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 12px 12px,rgba(14,90,79,.04) 1px,transparent 1px);background-size:18px 18px;pointer-events:none}
.home-greeting{position:relative;z-index:1}
.home-greeting .eyebrow{margin:0 0 8px;color:#087f73;font-weight:700;font-size:13px;letter-spacing:.08em}
.home-greeting h2{margin:0 0 8px;font-size:28px;line-height:1.25;color:#102033}
.home-greeting p{margin:0;color:#40536c;line-height:1.7}
.home-greeting blockquote{margin:16px 0 0;padding-left:14px;border-left:3px solid #087f73;color:#26384f;font-size:16px}
.home-weather{position:relative;z-index:1;min-width:190px;display:flex;align-items:center;gap:12px;background:rgba(255,255,255,.62);border:1px solid rgba(178,195,187,.75);border-radius:12px;padding:14px 16px;color:#26384f}
.home-weather b{display:block;color:#102033}
.home-weather span{font-size:14px}
.weather-line-icon{width:38px;height:28px;position:relative;flex:none}
.weather-line-icon:before{content:"";position:absolute;left:6px;top:10px;width:28px;height:14px;border:2px solid #087f73;border-radius:18px;border-top-color:transparent}
.weather-line-icon span:before{content:"";position:absolute;left:12px;top:2px;width:15px;height:15px;border:2px solid #087f73;border-radius:50%;background:transparent}
.home-focus-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:16px;align-items:start}
.home-card{background:#fff;border:1px solid #dce5ec;border-radius:12px;padding:18px;box-shadow:0 6px 18px rgba(31,50,73,.035)}
.home-card h2{font-size:18px;margin:0 0 10px;color:#102033}
.home-section-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin-bottom:12px}
.home-section-head h2{margin:0 0 5px}
.home-section-head p{margin:0;color:#55657b;line-height:1.6}
.quiet-link{border:0;background:transparent;color:#087f73;cursor:pointer;padding:6px 0;font-weight:700}
.home-stats{display:flex;gap:10px;margin:12px 0 14px}
.home-stats button{border:1px solid #d6e2df;background:#f8fbfa;border-radius:10px;padding:12px 16px;min-width:120px;text-align:left;cursor:pointer}
.home-stats b{display:block;font-size:22px;color:#087f73;line-height:1}
.home-stats span{display:block;margin-top:5px;color:#40536c;font-size:13px}
.home-priority-head,.home-priority-row{display:grid;grid-template-columns:1.1fr 1.5fr 1.05fr 1.6fr .75fr .7fr .75fr;gap:10px;align-items:center}
.home-priority-head{padding:9px 12px;color:#64748b;font-size:13px;border-bottom:1px solid #e8eef3}
.home-priority-row{width:100%;border:0;border-bottom:1px solid #edf2f7;background:#fff;text-align:left;padding:12px;cursor:pointer;color:#1f2a44}
.home-priority-row:hover{background:#f8fbfa}
.home-client,.home-title{font-weight:700;color:#102033;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.home-node,.home-next{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.home-next.missing{color:#9a5b18;background:#fff7ed;border-radius:999px;padding:3px 8px;display:inline-block;width:max-content;max-width:100%}
.home-status{display:inline-flex;border-radius:999px;padding:4px 8px;font-size:12px;font-weight:700;background:#eef2f7;color:#475569}
.home-status.red{background:#fff1f2;color:#b42318}.home-status.orange{background:#fff7ed;color:#b45309}.home-status.blue{background:#eef6ff;color:#175cd3}.home-status.green{background:#ecfdf3;color:#067647}
.home-schedule-row,.home-recent{display:block;width:100%;text-align:left;border:0;border-bottom:1px solid #edf2f7;background:#fff;padding:10px 0;color:#1f2a44}
.home-schedule-row b,.home-recent b{display:block;color:#102033;margin-bottom:4px}
.home-schedule-row span,.home-recent span{color:#52637a;font-size:13px;line-height:1.5}
.home-tool-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.home-tool{display:flex;align-items:center;gap:8px;border:1px solid #d8e3ea;background:#fbfcfd;border-radius:10px;padding:10px;cursor:pointer;color:#122033}
.home-tool:hover{border-color:#087f73;background:#f4fbf8}
.home-tool i{width:18px;height:18px;border:2px solid #087f73;border-radius:5px;display:inline-block;position:relative}
.home-tool i:after{content:"";position:absolute;left:4px;top:4px;width:6px;height:6px;border-right:2px solid #087f73;border-bottom:2px solid #087f73}
.home-lower-grid{display:grid;grid-template-columns:1.25fr .95fr .85fr;gap:16px;margin-top:16px}
.home-flow-search{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;margin:10px 0}
.home-flow-search input{height:40px}
.home-flow-tags{display:flex;flex-wrap:wrap;gap:8px}
.home-tag{border:1px solid #cfdde5;background:#f8fbfa;color:#26384f;border-radius:999px;padding:7px 12px;cursor:pointer}
.home-tag:hover{border-color:#087f73;color:#087f73}
.home-reminder-grid{display:grid;gap:8px}
.home-reminder{display:flex;justify-content:space-between;align-items:center;border:1px solid #d8e3ea;background:#fbfcfd;border-radius:10px;padding:10px 12px;cursor:pointer;color:#122033}
.home-reminder b{color:#087f73}
.home-empty{border:1px dashed #d8e3ea;border-radius:10px;background:#fbfcfd;color:#62708a;padding:18px;text-align:center;line-height:1.6}
.home-empty.small{padding:14px;font-size:14px}
.home-brand-line{text-align:center;color:#8a98aa;margin:18px 0 0;font-size:13px}
@media(max-width:1180px){.home-focus-grid,.home-lower-grid{grid-template-columns:1fr}.home-side-stack{grid-template-columns:1fr 1fr}.home-priority-head{display:none}.home-priority-row{grid-template-columns:1fr 1fr}.home-priority-row span:nth-child(n+5){font-size:13px}}
@media(max-width:760px){.home-welcome{display:block}.home-weather{margin-top:16px}.home-side-stack{grid-template-columns:1fr}.home-stats{flex-wrap:wrap}.home-stats button{flex:1;min-width:130px}.home-tool-grid{grid-template-columns:1fr}.home-flow-search{grid-template-columns:1fr}}

/* Mist blue theme 20260820 */
:root{--sidebar-bg:#29465B;--sidebar-hover:#365C73;--sidebar-active:#3F718A;--primary:#2F7D8C;--primary-hover:#276B78;--page-bg:#F3F6F8;--card-bg:#FFFFFF;--border:#DCE5EA;--text-primary:#182A36;--text-secondary:#667985;--warning:#C58A45;--danger:#C75B56;--success:#3F8068;--bg:var(--page-bg);--panel:var(--card-bg);--text:var(--text-primary);--muted:var(--text-secondary);--line:var(--border);--soft:#EAF1F4;--accent:var(--primary);--accent-dark:var(--primary-hover)}
body{background:var(--page-bg);color:var(--text-primary)}
.shell{background:var(--page-bg)}
.sidebar,.product-ui .sidebar{background:var(--sidebar-bg);color:#F4F8FA}
.brand{border-bottom-color:rgba(255,255,255,.16)}
.brand span{color:rgba(244,248,250,.76)}
.nav,.product-ui .nav{color:rgba(244,248,250,.88);border-left:3px solid transparent}
.nav:hover,.product-ui .nav:hover{background:var(--sidebar-hover);color:#fff}
.nav.active,.product-ui .nav.active{background:var(--sidebar-active);color:#fff;border-left-color:#BFD8E2;box-shadow:none}
.nav-group-title{color:rgba(244,248,250,.78)}
.nav-group-title:hover,.nav-group.active-group .nav-group-title{background:var(--sidebar-hover);color:#fff}
.panel,.stat,.card,.workspace-card,.home-card,.faq-top-panel,.faq-list-panel,.faq-card,.modal-card,.login-card,.sop-flow-card,.sop-detail-head,.sop-step-nav,.sop-step-main{background:var(--card-bg);border-color:var(--border);box-shadow:0 8px 22px rgba(24,42,54,.035)}
h1,h2,h3,.home-greeting h2,.home-card h2,.faq-title-row h2,.faq-card-head h3,.flow-section h3,.sop-step-main h2,.sop-flow-card h3{color:var(--text-primary)}
p,.meta,.home-section-head p,.home-schedule-row span,.home-recent span,.faq-title-row p,.faq-list-meta{color:var(--text-secondary)}
input,select,textarea{border-color:#C9D6DD;color:var(--text-primary);background:#fff}
input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(47,125,140,.14)}
.primary{background:var(--primary);color:#fff}
.primary:hover{background:var(--primary-hover)}
.secondary{background:#E8EEF2;color:var(--text-primary)}
.secondary:hover{background:#DCE7EC}
.ghost{color:var(--primary-hover);border-color:var(--border);background:transparent}
.danger{background:var(--danger);color:#fff}
#toast.show{background:var(--primary)}
#toast.error{background:var(--danger)}
.warning,.account-page .warning,.login-card .warning,.sop-draft-banner,.flow-draft-active-banner{color:#7A5528;background:#FFF7EC;border-color:#E7C99B}
.status-pill.ok,.assistant-tags span:first-child,.knowledge-badges span,.split-company-btn{background:#E8F4F1;color:var(--success);border-color:#C9E2DA}
.status-pill.bad{background:#FFF1EF;color:var(--danger)}
.task-table-wrap,.flow-manage-table-wrap{border-color:var(--border);background:#fff}
.task-table th,.flow-manage-table th{background:#EEF4F7;color:var(--text-primary);border-bottom-color:var(--border)}
.task-table td,.flow-manage-table td{border-bottom-color:#EDF3F6}
.task-table tr:nth-child(even),.flow-manage-table tr:nth-child(even){background:#FAFCFD}
.task-table tr:hover,.flow-manage-table tr:hover{background:#F3F8FA}
.task-table tr.urgent{background:#FFF5F4}
.task-table tr.soon{background:#FFF8EF}
.stat strong,.customer-stats b,.workflow-stats b,.home-stats b,.home-reminder b{color:var(--primary)}
.home-welcome{background:#EAF2F5;border-color:#D5E3E9;box-shadow:0 10px 28px rgba(24,42,54,.045)}
.home-welcome:after{background:radial-gradient(circle at 12px 12px,rgba(47,125,140,.06) 1px,transparent 1px);background-size:18px 18px}
.home-greeting .eyebrow,.quiet-link,.home-tag:hover,.home-tool:hover,.faq-tag,.faq-chip.active{color:var(--primary)}
.home-greeting blockquote{border-left-color:var(--primary);color:var(--text-primary)}
.home-weather{background:rgba(255,255,255,.72);border-color:#C7D8E0;color:var(--text-primary)}
.weather-line-icon:before,.weather-line-icon span:before{border-color:var(--primary);border-top-color:transparent}
.home-stats button,.home-tool,.home-reminder,.home-tag,.faq-chip{border-color:var(--border);background:#F8FBFC;color:var(--text-primary)}
.home-stats button:hover,.home-tool:hover,.home-reminder:hover,.home-tag:hover,.faq-chip:hover{border-color:var(--primary);background:#F0F7F9}
.home-priority-row,.home-schedule-row,.home-recent{background:#fff;color:var(--text-primary);border-bottom-color:#EDF3F6}
.home-priority-row:hover{background:#F5F9FB}
.home-client,.home-title,.home-schedule-row b,.home-recent b{color:var(--text-primary)}
.home-next.missing{color:#8A5A28;background:#FFF4E6}
.home-status,.process-badge,.customer-pill,.task-pill{background:#EEF3F6;color:var(--text-secondary)}
.home-status.blue,.process-badge.blue,.customer-pill.blue{background:#EAF5F8;color:var(--primary-hover)}
.home-status.orange,.process-badge.orange,.customer-pill.orange,.customer-pill.deep-orange,.task-pill.warn{background:#FFF4E6;color:var(--warning)}
.home-status.red,.process-badge.red,.customer-pill.red,.task-pill.danger{background:#FFF1EF;color:var(--danger)}
.home-status.green,.process-badge.green,.customer-pill.green,.task-pill.ok{background:#EAF5F0;color:var(--success)}
.home-tool i{border-color:var(--primary)}
.home-tool i:after{border-color:var(--primary)}
.brief-news-index,.workflow-bar i,.workflow-compact u,.flow-progress-mini em{background:var(--primary)}
.flow-section{border-color:var(--border);border-left-color:var(--primary)}
.flow-section h3:before,.workflow-history-step.done{border-left-color:var(--primary)}
.workflow-history-step.current{border-left-color:var(--warning);background:#FFF8EF}
.flow-line.flow-step:before{background:#8AA9B6}
.flow-meta-card,.flow-step-grid>div,.customer-two-detail section,.matter-drawer-card section,.sop-step-main section,.task-detail-grid section{border-color:var(--border);background:#FBFCFD}
.paste-zone,.drop-zone,.assistant-main-paste,.customer-paste-zone,.sop-paste-zone{border-color:#B7CBD4;background:#F7FBFC;color:var(--text-secondary)}
.paste-zone:focus,.paste-zone.dragover,.drop-zone.dragover,.assistant-main-paste:focus,.assistant-main-paste:hover,.assistant-main-paste.dragover,.customer-paste-zone:focus,.customer-paste-zone.active,.sop-paste-zone.active,.sop-paste-zone:focus{border-color:var(--primary);background:#EFF7F9;box-shadow:0 0 0 3px rgba(47,125,140,.12)}
.paste-zone b,.paste-main-title,.customer-paste-zone b,.sop-paste-zone,.sop-source-banner em,.flow-import-file-status em{color:var(--primary-hover)}
.faq-chip.active{background:var(--primary);border-color:var(--primary);color:#fff}
.faq-card:hover{border-color:#AFC9D4;box-shadow:0 6px 18px rgba(24,42,54,.06)}
.faq-more summary,.faq-detail-grid section,.faq-more-menu{border-color:var(--border);background:#F8FBFC}
.faq-more-menu button:hover{background:#EEF4F7}
.faq-more-menu .danger-text{color:var(--danger)}
.modal-backdrop,.faq-drawer-backdrop,.matter-drawer-backdrop{background:rgba(24,42,54,.34)}
.auth-user-bar{color:var(--text-secondary)}
.login-overlay{background:rgba(243,246,248,.96)}
.login-brand b{color:var(--text-primary)}


/* Today reading home 20260820 */
.warm-home{max-width:1380px;margin:0 auto;padding:4px 4px 28px;color:var(--text-primary);}
.home-welcome{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding:24px 28px;border:1px solid var(--border);border-radius:14px;background:linear-gradient(135deg,#edf5f8,#f7f4ed);box-shadow:0 8px 24px rgba(24,42,54,.05);}
.welcome-kicker{margin:0 0 8px;color:var(--primary);font-weight:700;}
.home-welcome h1{margin:0;font-size:26px;letter-spacing:0;color:var(--text-primary);}
.welcome-weather,.welcome-line{margin:9px 0 0;color:var(--text-secondary);}
.welcome-line{font-size:16px;color:#405761;}
.welcome-line small{display:block;margin-top:4px;font-size:13px;color:var(--text-secondary);}
.weather-mark{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--primary);font-size:26px;border:1px solid var(--border);box-shadow:0 8px 20px rgba(47,125,140,.08);}
.home-card{background:var(--card-bg);border:1px solid var(--border);border-radius:12px;box-shadow:0 4px 16px rgba(24,42,54,.04);}
.home-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px;}
.home-section-head h2{margin:0 0 5px;font-size:20px;color:var(--text-primary);}
.home-section-head p{margin:0;color:var(--text-secondary);}
.home-section-head.compact h2{font-size:18px;}
.home-reading{padding:20px 22px;margin-bottom:16px;background:#fffdf8;}
.reading-preview-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}
.reading-row{display:flex;gap:12px;align-items:flex-start;justify-content:space-between;min-height:138px;padding:15px;border:1px solid #e3edf0;border-radius:12px;background:#fff;text-decoration:none;color:inherit;}
.reading-row-main{min-width:0;}
.reading-row-title{font-weight:800;font-size:16px;line-height:1.45;margin-bottom:8px;color:var(--text-primary);}
.reading-row-summary{line-height:1.65;color:#405761;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.reading-row-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;color:var(--text-secondary);font-size:12px;}
.reading-tag,.reading-note{display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:999px;background:#e9f3f5;color:var(--primary);font-size:12px;}
.reading-note{background:#fff3df;color:var(--warning);}
.reading-empty{padding:24px;border:1px dashed var(--border);border-radius:12px;color:var(--text-secondary);text-align:center;background:#fbfdfe;}
.reading-empty.big{margin-top:10px;padding:52px;}
.home-three-grid{display:grid;grid-template-columns:1.05fr 1fr .9fr;gap:16px;margin-bottom:16px;}
.home-work-mini,.home-tools-card,.home-note-card,.home-flow-quick{padding:18px;}
.work-mini-stats{display:flex;gap:10px;margin-bottom:0;}
.work-mini-stats button{flex:1;text-align:left;border:1px solid var(--border);border-radius:10px;background:#f8fbfc;padding:10px 12px;cursor:pointer;}
.work-mini-stats b{display:block;font-size:22px;color:var(--primary);}
.work-mini-stats span{font-size:13px;color:var(--text-secondary);}
.soft-warning{color:var(--warning);font-weight:700;}
.home-status{display:inline-flex;align-items:center;margin-top:8px;height:24px;padding:0 8px;border-radius:999px;background:#e9f3f5;color:var(--primary);font-size:12px;}
.home-status.orange{background:#fff3df;color:var(--warning);}
.home-status.red{background:#fff0ef;color:var(--danger);}
.home-status.green{background:#edf8f3;color:var(--success);}
.tool-chip-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
.tool-chip,.flow-tags button{height:36px;border:1px solid var(--border);border-radius:10px;background:#f8fbfc;color:var(--text-primary);cursor:pointer;}
.tool-chip:hover,.flow-tags button:hover{border-color:var(--primary);color:var(--primary);background:#f1f8fa;}
.home-note-card textarea{width:100%;min-height:142px;resize:vertical;border:1px solid var(--border);border-radius:10px;padding:12px;line-height:1.6;background:#fbfdfe;color:var(--text-primary);}
.home-flow-quick{margin-bottom:10px;}
.flow-quick-line{display:flex;gap:10px;}
.flow-quick-line input{flex:1;height:38px;border:1px solid var(--border);border-radius:10px;padding:0 12px;}
.flow-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;}
.flow-tags button{padding:0 12px;}
.home-footer-line{text-align:center;color:#91a0a7;margin:18px 0 0;}
.drawer-mask{position:fixed;inset:0;background:rgba(24,42,54,.28);z-index:3000;}
.reading-drawer{position:fixed;right:0;top:0;bottom:0;width:min(760px,92vw);background:var(--page-bg);z-index:3001;box-shadow:-20px 0 45px rgba(24,42,54,.16);padding:22px;overflow:auto;}
.drawer-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:12px;}
.drawer-head h2{margin:0 0 4px;font-size:22px;}
.drawer-head p,.drawer-actions span{margin:0;color:var(--text-secondary);}
.drawer-actions{display:flex;align-items:center;gap:12px;margin-bottom:14px;}
.reading-full-list{display:grid;gap:12px;}
.reading-full-item{padding:16px;border:1px solid var(--border);border-radius:12px;background:#fff;}
.reading-full-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;}
.btn.small{min-height:30px;padding:5px 10px;font-size:13px;}
.btn.danger{background:var(--danger);color:#fff;border-color:var(--danger);}
@media (max-width: 1100px){
  .reading-preview-list,.home-three-grid{grid-template-columns:1fr;}
  .home-welcome{padding:20px;}
  .weather-mark{display:none;}
}
@media (max-width: 700px){
  .home-section-head,.reading-row,.flow-quick-line{flex-direction:column;align-items:stretch;}
  .tool-chip-grid{grid-template-columns:1fr;}
}

/* Flow table builder 20260820 */
.flow-manage-page,.flow-builder-page{max-width:1380px;margin:0 auto 18px;}
.flow-manage-list-panel{padding:18px 20px;}
.flow-manage-toolbar{display:grid;grid-template-columns:minmax(260px,1fr) 140px 140px 150px auto;gap:10px;align-items:center;}
.flow-manage-table th,.flow-manage-table td{white-space:nowrap;}
.flow-manage-table td:nth-child(2){white-space:normal;min-width:260px;}
.flow-status{display:inline-flex;align-items:center;height:24px;padding:0 8px;border-radius:999px;font-size:12px;font-weight:700;background:#eef3f6;color:var(--text-secondary);}
.flow-status.ok{background:#eaf5f0;color:var(--success);}
.flow-status.draft{background:#fff4e6;color:var(--warning);}
.flow-status.off{background:#eef0f2;color:#7a8790;}
.flow-builder-shelf{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:12px 0;padding:10px 12px;border:1px dashed var(--border);border-radius:10px;background:#fbfdfe;color:var(--text-secondary);}
.flow-builder-shelf b{color:var(--text-primary);margin-right:4px;}
.flow-builder-shelf span{display:inline-flex;gap:6px;align-items:center;border:1px solid var(--border);border-radius:999px;background:#fff;padding:4px 8px;}
.mini{min-height:28px;padding:4px 8px;font-size:12px;}
.flow-builder-page{padding:0;border-radius:12px;overflow:visible;}
.flow-builder-modal-backdrop{display:flex;align-items:center;justify-content:center;padding:20px;overflow:hidden;}
.flow-builder-modal-card{width:min(1320px,96vw);height:min(88vh,860px);max-height:min(88vh,860px);overflow:hidden;display:flex;flex-direction:column;box-sizing:border-box;box-shadow:0 24px 70px rgba(24,42,54,.22);}
.flow-ai-card{width:min(760px,94vw);padding:18px;max-height:calc(100vh - 56px);overflow:auto;}
.flow-ai-parse-card{display:grid;grid-template-rows:auto auto auto minmax(160px,1fr) auto;gap:12px;overflow:hidden;}
.flow-ai-sticky-head{margin:0;padding-bottom:10px;border-bottom:1px solid var(--border);}
.flow-ai-sticky-actions{margin-top:0;background:#fff;}
.flow-ai-mode-row{display:flex;flex-wrap:wrap;gap:14px;color:var(--text-secondary);font-size:14px;}
.flow-ai-mode-row label{display:inline-flex;align-items:center;gap:6px;}
.flow-ai-parse-card .flow-ai-preview{min-height:160px;overflow:auto;}
.flow-ai-card textarea{width:100%;min-height:230px;border:1px solid #c9d6dd;border-radius:10px;padding:10px 12px;line-height:1.65;resize:vertical;background:#fff;color:var(--text-primary);}
.flow-ai-preview{margin-top:12px;border:1px solid var(--border);border-radius:10px;background:#fbfdfe;padding:12px;color:var(--text-primary);}
.flow-ai-preview.empty{color:var(--text-secondary);text-align:center;border-style:dashed;}
.flow-ai-preview h3{margin:0 0 6px;font-size:18px;}
.flow-ai-preview p{margin:0 0 10px;color:var(--text-secondary);}
.flow-ai-preview ol{display:grid;gap:8px;margin:0 0 12px;padding-left:22px;}
.flow-ai-preview li span{display:block;color:#405761;line-height:1.6;}
.flow-ai-summary{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 12px;}
.flow-ai-summary span{display:inline-flex;align-items:center;gap:3px;border:1px solid var(--border);border-radius:999px;background:#fff;padding:5px 10px;color:var(--text-secondary);font-size:13px;}
.flow-ai-summary b{color:var(--primary);}
.flow-ai-sections{display:grid;gap:10px;}
.flow-ai-sections section{border:1px solid var(--border);border-radius:10px;background:#fff;padding:10px 12px;}
.flow-ai-sections h4{margin:0 0 8px;font-size:14px;color:var(--text-primary);}
.flow-ai-sections ul{margin:0;padding-left:18px;color:#405761;line-height:1.7;}
.flow-ai-tags{display:flex;flex-wrap:wrap;gap:6px;}
.flow-ai-tags span{display:inline-flex;border:1px solid #cfe0e5;border-radius:999px;background:#f3f8fa;color:#2f6572;padding:4px 8px;font-size:12px;}
.flow-builder-top{position:sticky;top:0;z-index:20;flex:0 0 auto;display:flex;justify-content:space-between;gap:16px;align-items:center;padding:12px 18px;border-bottom:1px solid var(--border);background:rgba(255,255,255,.98);backdrop-filter:saturate(140%) blur(8px);border-radius:12px 12px 0 0;}
.flow-builder-top h2{margin:0 0 3px;font-size:20px;}
.flow-builder-heading{min-width:0;}
.flow-draft-line{display:flex;align-items:center;gap:8px;min-height:24px;}
.flow-builder-draft{margin:0;font-size:13px;color:var(--text-secondary);}
.flow-builder-draft.saving{color:var(--primary);}
.flow-builder-draft.warn{display:inline-block;padding:4px 8px;border-radius:8px;background:#fff4e6;color:var(--warning);}
.flow-clear-draft{border:0;background:transparent;color:var(--primary);padding:2px 4px;font-size:13px;cursor:pointer;}
.flow-clear-draft:hover{text-decoration:underline;}
.flow-clear-draft:disabled{color:#9aa7ad;cursor:not-allowed;text-decoration:none;}
.flow-basic-card{display:grid;grid-template-columns:minmax(220px,24fr) minmax(110px,12fr) minmax(120px,12fr) minmax(280px,52fr);gap:10px;padding:14px 18px;border-bottom:1px solid var(--border);background:#fbfdfe;}
.flow-basic-card label,.flow-step-detail-grid label{display:grid;gap:6px;font-weight:700;color:var(--text-primary);}
.flow-basic-card input,.flow-basic-card select,.flow-step-table input,.flow-step-table textarea,.flow-step-table select,.flow-step-detail-grid input,.flow-step-detail-grid textarea,.flow-step-detail-grid select{width:100%;border:1px solid #c9d6dd;border-radius:8px;padding:8px 10px;line-height:1.45;background:#fff;}
.flow-basic-card input,.flow-basic-card select{height:40px;box-sizing:border-box;}
.req{color:var(--danger);margin-left:2px;}
.flow-more-settings{grid-column:1/-1;border:1px solid var(--border);border-radius:10px;background:#fff;padding:8px 10px;}
.flow-more-settings[open]{display:grid;grid-template-columns:180px 180px;gap:10px;}
.flow-more-settings summary{cursor:pointer;color:var(--primary);}
.flow-builder-scrollbody{flex:1 1 auto;min-height:0;overflow-y:scroll;overflow-x:hidden;scrollbar-gutter:stable;overscroll-behavior:contain;background:#fff;}
.flow-step-table-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 18px 8px;}
.flow-step-table-head h3{margin:0 0 4px;}
.flow-step-table-head p{margin:0;color:var(--text-secondary);}
.flow-step-table-wrap{padding:0 18px 18px;overflow-x:auto;}
.flow-step-table{width:100%;min-width:1160px;border-collapse:separate;border-spacing:0 6px;table-layout:fixed;}
.flow-step-table th{height:34px;text-align:left;color:var(--text-secondary);font-size:13px;font-weight:700;}
.flow-step-table th:nth-child(1){width:72px}.flow-step-table th:nth-child(2){width:18%}.flow-step-table th:nth-child(3){width:28%}.flow-step-table th:nth-child(4){width:24%}.flow-step-table th:nth-child(5){width:16%}.flow-step-table th:nth-child(6){width:150px}
.flow-step-row td{background:#fff;border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:7px;vertical-align:top;}
.flow-step-row td:first-child{border-left:1px solid var(--border);border-radius:10px 0 0 10px;}
.flow-step-row td:last-child{border-right:1px solid var(--border);border-radius:0 10px 10px 0;}
.flow-step-block.is-dragging{opacity:.55;}
.flow-step-block.is-drag-over .flow-step-row td{border-top-color:var(--primary);border-bottom-color:var(--primary);background:#f4fafb;}
.drag-cell{color:var(--text-secondary);font-weight:700;user-select:none;}
.flow-drag-handle{display:inline-flex;align-items:center;justify-content:center;margin-right:5px;padding:4px;color:var(--primary);cursor:grab;touch-action:none;}
.flow-drag-handle:active{cursor:grabbing;}
.flow-step-row textarea{resize:vertical;min-height:56px;max-height:78px;line-height:1.45;}
.flow-entry-cell{display:flex;gap:5px;align-items:center;flex-wrap:wrap;}
.flow-entry-cell input{min-width:0;flex:1 1 110px;}
.flow-entry-cell select{flex:1 1 118px;min-width:0;}
.flow-entry-cell .mini{flex:0 0 auto;}
.system-custom-input.hidden{display:none!important;}
.material-editor{min-height:35px;border:1px solid #c9d6dd;border-radius:8px;background:#fff;padding:4px;display:flex;flex-wrap:wrap;gap:4px;align-items:center;}
.material-editor input{border:0;box-shadow:none;padding:3px;min-width:110px;flex:1;}
.material-tag{display:inline-flex;align-items:center;gap:4px;border-radius:999px;background:#e7f4f3;color:var(--primary-hover);padding:3px 7px;font-size:12px;}
.material-tag button{border:0;background:transparent;color:var(--primary-hover);cursor:pointer;font-weight:800;}
.material-suggestions{display:flex;flex-wrap:wrap;gap:4px;margin-top:5px;max-height:54px;overflow:auto;}
.material-suggestions button{border:1px solid #d5e2e8;border-radius:999px;background:#fff;color:var(--text-secondary);padding:3px 7px;font-size:12px;cursor:pointer;}
.material-suggestions button:hover{border-color:var(--primary);color:var(--primary);}
.material-suggestions button.is-selected{border-color:var(--primary);background:#e7f4f3;color:var(--primary-hover);box-shadow:inset 0 0 0 1px rgba(32,111,119,.08);}
.material-suggestions button.is-selected::before{content:'✓ ';font-weight:800;}
.flow-row-actions{display:flex;gap:5px;flex-wrap:wrap;}
.flow-step-detail-row td{padding:0 7px 7px;}
.flow-step-detail-panel{padding:12px 14px;border:1px solid var(--border);border-radius:10px;background:#f8fbfc;}
.flow-step-detail-panel h4{margin:0 0 10px;font-size:15px;color:var(--text-primary);}
.flow-step-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 14px;}
.flow-step-detail-grid .full{grid-column:1/-1;}
.flow-step-detail-grid textarea{resize:vertical;min-height:58px;}
.flow-preview-panel{padding:0 0 18px;}
.flow-fit{padding:0 18px;color:var(--text-secondary);}
.flow-preview-steps{display:grid;gap:10px;margin:14px 18px 0;padding:0;list-style:none;}
.flow-preview-steps li{border:1px solid var(--border);border-radius:10px;background:#fbfdfe;padding:12px;}
.flow-preview-steps p{margin:6px 0;color:var(--text-primary);}
.flow-preview-steps small{color:var(--text-secondary);}
.flow-employee-detail{background:#fff;border:1px solid var(--border);border-radius:12px;padding:16px;}
.flow-employee-detail header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;border-bottom:1px solid var(--border);padding-bottom:10px;margin-bottom:12px;}
.flow-employee-detail h2{margin:0 0 4px;}
.flow-employee-detail p{color:var(--text-secondary);}
.flow-employee-steps{display:grid;gap:10px;}
.flow-employee-steps section{border:1px solid var(--border);border-radius:10px;background:#fbfdfe;padding:12px;}
.flow-employee-steps span{color:var(--primary-hover);font-weight:700;}
.account-modal-card{width:min(660px,94vw);padding:18px;}
.account-modal-card .form-grid{grid-template-columns:1fr 1fr;}
.account-modal-card .actions{grid-column:1/-1;}
@media(max-width:1100px){
  .flow-manage-toolbar,.flow-basic-card{grid-template-columns:1fr 1fr;}
  .flow-step-table{min-width:1040px;}
}
@media(max-width:760px){
  .flow-builder-modal-backdrop{padding:0;align-items:stretch;justify-content:stretch;}
  .flow-builder-modal-card{width:100%;height:100dvh;max-height:100dvh;border-radius:0;}
  .flow-builder-top,.flow-step-table-head,.flow-employee-detail header{display:block;}
  .flow-builder-top .actions,.flow-step-table-head .primary{margin-top:10px;}
  .flow-basic-card,.flow-more-settings[open],.flow-step-detail-grid{grid-template-columns:1fr;}
  .flow-step-detail-grid .full{grid-column:auto;}
}


/* home final truth fixes 20260820 */
.home-three-grid{align-items:stretch;}
.home-three-grid>.home-card{height:100%;box-sizing:border-box;}
.reading-row-title{display:block;text-decoration:none;}
.reading-row-title:hover{color:var(--primary);}
.reading-source-link{opacity:.72;font-weight:500;}
.reading-source-link:hover{opacity:1;}
.home-note-card{display:flex;flex-direction:column;}
.home-note-card textarea{flex:1;min-height:118px;}
.home-note-actions{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-top:8px;}
.home-note-actions .home-note-hint{margin:0;min-width:0;}
.home-note-actions [data-note-save]{white-space:nowrap;}
.home-note-hint{margin:8px 0 0;color:#8b9aa3;font-size:12px;line-height:1.5;}
#home-note-status.note-error{color:var(--danger);}
#home-note-status.note-unsaved{color:var(--warning);}
.home-note-list{display:grid;gap:8px;margin-top:12px;max-height:180px;overflow:auto;}
.home-note-row{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;padding:10px;border:1px solid var(--border);border-radius:10px;background:#fbfdfe;}
.home-note-row.converted{opacity:.68;background:#f5f8f9;}
.home-note-row p{margin:0;color:var(--text-primary);line-height:1.55;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.home-note-row small{display:block;margin-top:4px;color:var(--text-secondary);}
.home-note-row .btn{flex:0 0 auto;}
.home-note-empty{margin-top:12px;padding:16px;border:1px dashed var(--border);border-radius:10px;color:var(--text-secondary);text-align:center;background:#fbfdfe;}
.home-task-modal-backdrop{display:flex;align-items:center;justify-content:center;padding:24px;}
.home-task-modal{width:min(940px,calc(100vw - 48px));max-height:88vh;overflow:auto;padding:20px 22px;}
.home-task-modal .result-head{cursor:move;user-select:none;}
.home-task-modal .result-head button{cursor:pointer;}
.task-create-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px;}
.task-create-grid label{display:grid;gap:6px;font-weight:700;color:var(--text-primary);}
.task-create-grid .full{grid-column:1/-1;}
.task-create-grid input,.task-create-grid select,.task-create-grid textarea{width:100%;border:1px solid #c9d6dd;border-radius:8px;padding:8px 10px;background:#fff;color:var(--text-primary);}
.task-create-grid textarea{min-height:110px;resize:vertical;line-height:1.6;}
.task-create-grid small{color:var(--text-secondary);font-weight:400;}
.customer-search-results{display:grid;gap:6px;max-height:160px;overflow:auto;}
.customer-search-results button{border:1px solid var(--border);border-radius:8px;background:#fff;text-align:left;padding:8px 10px;cursor:pointer;}
.customer-search-results button:hover{border-color:var(--primary);color:var(--primary);}
.customer-result-empty,.selected-customer-info{padding:9px 10px;border:1px dashed var(--border);border-radius:8px;background:#f8fbfc;color:var(--text-secondary);}
.home-task-file-list{display:flex;flex-wrap:wrap;gap:6px;color:var(--text-secondary);}
.home-task-file-list span{display:inline-flex;align-items:center;max-width:220px;height:28px;padding:0 8px;border:1px solid var(--border);border-radius:999px;background:#f8fbfc;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:14px;padding-top:12px;border-top:1px solid var(--border);}
.home-skeleton{height:68px;border-radius:10px;background:linear-gradient(90deg,#edf3f6,#f8fbfc,#edf3f6);background-size:200% 100%;animation:homeSkeleton 1.2s ease-in-out infinite;margin:10px 0;}
.sino-confirm-backdrop{position:fixed;inset:0;z-index:10100;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(15,31,42,.22);}
.sino-confirm-card{width:min(360px,calc(100vw - 48px));background:#fff;border:1px solid var(--border);border-radius:10px;box-shadow:0 18px 45px rgba(24,42,54,.18);padding:20px;}
.sino-confirm-card h3{margin:0 0 8px;font-size:17px;color:var(--text-primary);}
.sino-confirm-card p{margin:0;color:var(--text-secondary);line-height:1.65;}
.sino-confirm-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px;}
.home-skeleton.short{height:42px;width:78%;}
@keyframes homeSkeleton{0%{background-position:0 0}100%{background-position:-200% 0}}
.tool-chip{display:inline-flex;align-items:center;justify-content:center;gap:8px;}
.tool-dot{width:7px;height:7px;border-radius:50%;background:var(--primary);opacity:.7;}
.policy-review-block{margin-top:14px;padding-top:14px;border-top:1px solid var(--border);}
.policy-review-block h3{margin:0 0 4px;font-size:16px;color:var(--text-primary);}
.policy-review-block>p{margin:0 0 10px;color:var(--text-secondary);font-size:13px;}
.home-footer-line{color:#6f818b;}
.gpt-widget,.floating-assistant,.ai-assistant-float,.assistant-float{bottom:90px!important;}

/* Today reading 3-card refinement 20260821 */
.reading-preview-list.cards-0{grid-template-columns:1fr;}
.reading-preview-list.cards-1{grid-template-columns:1fr;}
.reading-preview-list.cards-2{grid-template-columns:repeat(2,minmax(0,1fr));}
.reading-preview-list.cards-3{grid-template-columns:repeat(3,minmax(0,1fr));}
.reading-preview-list .reading-row{flex-direction:column;justify-content:space-between;min-height:172px;}
.reading-preview-list .reading-row-main{width:100%;}
.reading-preview-list .reading-row-title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-decoration:none;}
.reading-preview-list .reading-row-title:hover{color:var(--primary);}
.reading-preview-list .reading-row-summary{min-height:48px;}
.reading-preview-list .reading-row-meta{gap:7px 9px;}
.reading-preview-list .reading-source-link{align-self:flex-start;margin-top:4px;opacity:.82;}
@media (max-width:900px){.reading-preview-list.cards-2,.reading-preview-list.cards-3{grid-template-columns:1fr;}}

/* Tax morning brief 20260821 */
.tax-brief-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:start;}
.brief-column{border:1px solid var(--border);border-radius:12px;background:#fff;padding:14px;min-width:0;}
.brief-column-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-bottom:10px;border-bottom:1px solid #edf3f5;margin-bottom:10px;}
.brief-column-head h3{margin:0;font-size:16px;color:var(--text-primary);}
.brief-column-head span{font-size:12px;color:var(--text-secondary);}
.brief-item{padding:10px 0;border-bottom:1px dashed #e6eef2;cursor:pointer;}
.brief-item:last-child{border-bottom:0;padding-bottom:0;}
.brief-item-title{font-weight:800;color:var(--text-primary);line-height:1.45;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.brief-item p{margin:6px 0 7px;color:#405761;line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.brief-item-meta{display:flex;flex-wrap:wrap;gap:8px;color:var(--text-secondary);font-size:12px;}
.brief-item-actions{display:flex;gap:8px;align-items:center;margin-top:8px;}
.btn.tiny{min-height:26px;padding:4px 8px;font-size:12px;border-radius:7px;}
.tax-brief-drawer{gap:18px;}
.brief-drawer-section{display:grid;gap:10px;}
.brief-drawer-section h3{margin:6px 0 0;font-size:16px;}
.reading-full-item h4{margin:8px 0;font-size:17px;}
.reading-full-item.active{border-color:var(--primary);box-shadow:0 0 0 2px rgba(47,125,140,.12);}
.brief-insight{display:grid;gap:5px;margin-top:10px;padding:10px 12px;border-radius:10px;background:#f4f8f9;color:#405761;line-height:1.65;}
.brief-insight b{color:var(--text-primary);}
.brief-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px;}
.brief-tags span{font-size:12px;color:var(--primary);background:#eef6f7;border:1px solid #d9eaee;border-radius:999px;padding:3px 8px;}
@media (max-width:1000px){.tax-brief-grid{grid-template-columns:1fr;}}

/* Home tax brief with compact featured list 20260824 */
.home-reading-layout{display:grid;grid-template-columns:minmax(0,2.1fr) minmax(280px,.95fr);gap:16px;align-items:start;}
.home-reading-layout.no-picks{grid-template-columns:1fr;}
.home-reading-main{min-width:0;}
.home-reading-picks{border:1px solid var(--border);border-radius:12px;background:#fbfdfe;padding:14px;min-width:0;}
.featured-reading-list{display:grid;gap:2px;}
.featured-reading-row{display:block;padding:9px 0;border-bottom:1px dashed #e2ebef;text-decoration:none;color:var(--text-primary);}
.featured-reading-row:last-child{border-bottom:0;}
.featured-reading-row strong{display:-webkit-box;font-size:14px;line-height:1.45;overflow:hidden;text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;}
.featured-reading-row span{display:block;margin-top:4px;color:var(--text-secondary);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.featured-reading-row:hover strong{color:var(--primary);}
.reading-card-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:12px;}
.reading-save-knowledge{white-space:nowrap;}
.reading-save-knowledge.is-saved{border-color:#B9DEE4;background:#E8F4F1;color:#1F7A86;}
.btn.tiny{min-height:30px;padding:5px 8px;font-size:12px;border-radius:7px;}
.featured-reading-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;}
.featured-reading-row>a{min-width:0;text-decoration:none;color:inherit;}
.featured-reading-row .reading-save-knowledge{opacity:.72;}
.featured-reading-row:hover .reading-save-knowledge,.featured-reading-row .reading-save-knowledge.is-saved{opacity:1;}
.tax-news-card-list .reading-row{min-height:148px;}
.tax-news-card-list .reading-row-summary{-webkit-line-clamp:2;}
@media (max-width:1100px){.home-reading-layout{grid-template-columns:1fr;}.home-reading-picks{padding:13px;}}


/* Tax navigation 20260821 */
.tax-nav-shell,.tax-nav-manage-shell{max-width:1380px;margin:0 auto;display:grid;gap:14px;}
.tax-nav-head,.tax-nav-manage-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;}
.tax-nav-head h2,.tax-nav-manage-head h2{margin:0 0 6px;color:var(--text-primary);}
.tax-nav-head p,.tax-nav-manage-head p{margin:0;color:var(--text-secondary);line-height:1.7;}
.tax-nav-toolbar{display:grid;grid-template-columns:minmax(260px,1fr) 90px 90px;gap:10px;align-items:center;}
.tax-nav-toolbar input{height:38px;border:1px solid var(--border);border-radius:8px;padding:0 12px;background:#fff;color:var(--text-primary);}
.tax-nav-sections{display:grid;gap:14px;}
.tax-nav-category{padding:16px;}
.tax-nav-category-title{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;border-bottom:1px solid #edf3f5;padding-bottom:10px;}
.tax-nav-category-title h3{margin:0;font-size:18px;color:var(--text-primary);}
.tax-nav-category-title span{font-size:13px;color:var(--text-secondary);}
.tax-nav-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}
.tax-nav-card{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;border:1px solid var(--border);border-radius:12px;background:#fbfdfe;padding:13px;min-height:118px;}
.tax-nav-card h4{margin:0 0 7px;font-size:16px;color:var(--text-primary);}
.tax-nav-card p{margin:0 0 8px;color:#405761;line-height:1.6;}
.tax-nav-card small{display:block;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:320px;}
.tax-nav-card .btn{white-space:nowrap;align-self:flex-end;text-decoration:none;}
.tax-nav-empty{grid-column:1/-1;border:1px dashed var(--border);border-radius:10px;padding:18px;text-align:center;color:var(--text-secondary);background:#fbfdfe;}
.tax-nav-empty.compact{padding:10px;text-align:left;}
.tax-nav-loading{padding:22px;color:var(--text-secondary);}
.tax-nav-manage-head .actions{display:flex;gap:10px;flex-wrap:wrap;}
.tax-nav-manage-list{display:grid;gap:18px;}
.tax-nav-manage-group h3{display:flex;align-items:center;gap:8px;margin:0 0 10px;color:var(--text-primary);}
.tax-nav-manage-group h3 span{font-size:12px;color:var(--text-secondary);font-weight:500;}
.tax-nav-manage-table{display:grid;gap:8px;}
.tax-nav-manage-row{display:grid;grid-template-columns:minmax(280px,1fr) 150px 150px;gap:12px;align-items:center;border:1px solid var(--border);border-radius:10px;background:#fbfdfe;padding:11px 12px;}
.tax-nav-manage-row.disabled{opacity:.62;background:#f5f7f8;}
.tax-nav-manage-main{display:grid;gap:4px;min-width:0;}
.tax-nav-manage-main b{color:var(--text-primary);}
.tax-nav-manage-main span{color:#405761;line-height:1.5;}
.tax-nav-manage-main small{color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.tax-nav-manage-meta{display:grid;gap:4px;color:var(--text-secondary);font-size:13px;}
.tax-nav-row-actions{display:flex;gap:8px;justify-content:flex-end;}
.tax-nav-drawer-backdrop{position:fixed;inset:0;background:rgba(24,42,54,.35);z-index:1000;display:flex;justify-content:flex-end;}
.tax-nav-drawer{width:min(620px,92vw);height:100%;background:#fff;box-shadow:-18px 0 42px rgba(24,42,54,.18);padding:22px;overflow:auto;}
.tax-nav-drawer-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:16px;}
.tax-nav-drawer-head h2{margin:0 0 4px;}
.tax-nav-drawer-head p{margin:0;color:var(--text-secondary);}
.tax-nav-form{display:grid;grid-template-columns:1fr 1fr;gap:13px;}
.tax-nav-form label{display:grid;gap:6px;font-weight:700;color:var(--text-primary);}
.tax-nav-form label.full{grid-column:1/-1;}
.tax-nav-form input,.tax-nav-form select,.tax-nav-form textarea{width:100%;border:1px solid var(--border);border-radius:8px;padding:9px 10px;background:#fff;color:var(--text-primary);}
.tax-nav-check{display:flex!important;grid-column:1/-1;grid-template-columns:auto 1fr!important;align-items:center;font-weight:600!important;}
.tax-nav-check input{width:auto;}
.tax-nav-drawer-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:10px;margin-top:4px;}
@media(max-width:1100px){.tax-nav-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.tax-nav-manage-row{grid-template-columns:1fr;}.tax-nav-row-actions{justify-content:flex-start;}}
@media(max-width:760px){.tax-nav-head,.tax-nav-manage-head{display:block;}.tax-nav-toolbar,.tax-nav-grid,.tax-nav-form{grid-template-columns:1fr;}.tax-nav-form label.full,.tax-nav-check,.tax-nav-drawer-actions{grid-column:auto;}.tax-nav-card{display:block;}.tax-nav-card .btn{margin-top:10px;display:inline-flex;}}

/* Finance morning brief compact list 20260821 */
.tax-brief-compact{display:grid;gap:10px;}
.brief-compact-item{display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;padding:11px 0;border-bottom:1px dashed #e6eef2;cursor:pointer;}
.brief-compact-item:last-child{border-bottom:0;}
.brief-number{font-weight:800;color:var(--primary);line-height:1.8;}
.brief-compact-body{display:grid;gap:4px;min-width:0;}
.brief-compact-body p{margin:0;color:#405761;line-height:1.65;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.brief-compact-body b{color:var(--text-primary);font-weight:800;}
.brief-empty{padding:14px;border:1px dashed var(--border);border-radius:10px;background:#fbfdfe;color:var(--text-secondary);}
@media(max-width:760px){.brief-compact-item{grid-template-columns:28px minmax(0,1fr);}}

/* Tax morning news cards 20260821 */
.tax-news-card-list{grid-template-columns:repeat(3,minmax(0,1fr));}
.tax-news-card{min-height:166px;flex-direction:column;justify-content:space-between;cursor:pointer;}
.tax-news-card .reading-row-main{width:100%;}
.tax-news-card .reading-row-summary{-webkit-line-clamp:3;margin:0;}
.tax-news-card .reading-row-meta{margin-top:14px;}
.tax-news-card .reading-source-link{align-self:flex-start;margin-top:12px;}
@media(max-width:1000px){.tax-news-card-list{grid-template-columns:1fr;}}

/* Task management modern compact workspace 20260824 */
.task-workbench-page{max-width:min(1500px,calc(100vw - 292px));}
.task-workbench-page .matter-stat-row{gap:7px;margin:4px 0 10px;}
.task-workbench-page .matter-stat{
  min-width:106px;
  min-height:46px;
  padding:7px 10px;
  border:1px solid transparent;
  border-radius:12px;
  background:#fff;
  box-shadow:none;
}
.task-workbench-page .matter-stat span{font-size:12px;line-height:1.2;margin:0 0 2px;}
.task-workbench-page .matter-stat b{font-size:18px;line-height:1.15;}
.task-workbench-page .matter-stat.active,
.task-workbench-page .matter-stat.overdue{
  background:#fff;
  border-color:#dbe7ec;
  box-shadow:0 5px 14px rgba(24,42,54,.04);
}
.task-workbench-page .matter-stat.active{box-shadow:inset 3px 0 0 var(--primary),0 5px 14px rgba(24,42,54,.04);}
.task-workbench-page .matter-stat.overdue{box-shadow:inset 3px 0 0 var(--danger),0 5px 14px rgba(24,42,54,.04);}
.task-workbench-page .matter-stat.waiting{min-width:96px;opacity:.78;}
.task-workbench-list{gap:8px;margin-top:10px;}
.task-workbench-card{
  grid-template-columns:minmax(330px,1.65fr) minmax(300px,1.28fr) minmax(188px,.72fr) 76px;
  gap:14px;
  align-items:center;
  padding:11px 12px 11px 17px;
  border:0;
  border-radius:12px;
  background:#fff;
  box-shadow:0 1px 0 rgba(24,42,54,.06),0 8px 22px rgba(24,42,54,.035);
}
.task-workbench-card:hover{
  border-color:transparent;
  box-shadow:0 1px 0 rgba(24,42,54,.08),0 12px 28px rgba(24,42,54,.06);
  transform:translateY(-1px);
}
.task-workbench-card:before{width:3px;top:10px;bottom:10px;border-radius:999px;}
.task-workbench-card.is-overdue{
  background:#fff;
  border:0;
  box-shadow:0 0 0 1px rgba(199,91,86,.16),0 8px 24px rgba(199,91,86,.05);
}
.task-card-main{display:grid;gap:5px;min-width:0;}
.task-card-title{gap:2px;}
.task-card-title b{font-size:15px;line-height:1.35;}
.task-card-title span{font-size:13px;line-height:1.42;color:#344854;}
.task-card-tags{margin-top:0;gap:5px;}
.task-card-flow-inline{margin-top:1px;min-width:0;}
.task-flow-summary{
  display:flex;
  align-items:center;
  gap:12px;
  width:100%;
  border:0;
  background:transparent;
  border-radius:0;
  padding:0;
  color:#405761;
  text-align:left;
}
.task-flow-summary:hover{background:transparent;border-color:transparent;}
.task-flow-summary p{display:flex;align-items:center;gap:5px;min-width:0;margin:0;}
.task-flow-summary p:nth-child(3){display:none;}
.task-flow-summary b{font-size:12px;color:var(--text-secondary);white-space:nowrap;font-weight:600;}
.task-flow-summary span{font-size:12px;color:#405761;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.task-flow-summary.no-flow span{color:var(--text-secondary);}
.task-card-next-primary{align-self:stretch;display:grid;align-content:center;gap:5px;min-width:0;}
.task-card-next-primary label{font-size:12px;margin:0;color:var(--text-secondary);}
.task-card-next .next-action-view{
  display:block;
  max-width:none;
  padding:8px 10px;
  border:0;
  border-radius:10px;
  background:#f5f9fb;
  color:#233b48;
  font-weight:700;
  line-height:1.45;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.task-card-next .next-action-view.muted{background:#fff7ec;color:#9a6a2f;}
.task-card-meta{display:grid;gap:5px;align-content:center;min-width:0;}
.task-card-meta p{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:0;min-width:0;}
.task-card-meta label{font-size:12px;color:var(--text-secondary);margin:0;white-space:nowrap;}
.task-owner-select{
  width:92px;
  min-width:92px!important;
  height:28px!important;
  padding:3px 22px 3px 8px!important;
  border:1px solid transparent!important;
  border-radius:8px!important;
  background:#f4f8fa!important;
  color:var(--text-primary)!important;
  font-size:12px!important;
  line-height:1.2!important;
  cursor:pointer;
}
.task-owner-select:hover,
.task-owner-select:focus{
  border-color:#bfd2db!important;
  background:#fff!important;
  outline:0;
}
.task-link-flow-panel{display:grid;gap:10px;padding:12px;border:1px dashed var(--border);border-radius:10px;background:#fbfdfe;}
.task-link-flow-panel .empty.small{border:0;background:transparent;padding:0;text-align:left;}
.task-link-flow-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;}
.task-link-flow-row select{height:36px;border:1px solid var(--border);border-radius:8px;background:#fff;padding:0 10px;color:var(--text-primary);}
.task-link-flow-row .primary{height:36px;white-space:nowrap;}
.matter-status{
  border:0;
  border-radius:999px;
  padding:4px 8px;
  font-size:12px;
  line-height:1.2;
  font-weight:700;
}
.task-card-actions{display:flex;justify-content:flex-end;gap:6px;}
.task-card-actions .detail-btn{height:30px;padding:5px 9px;font-size:12px;}
.task-card-actions .more-btn{width:30px;height:30px;min-height:30px;padding:0;font-size:16px;line-height:1;}
@media(max-width:1260px){
  .task-workbench-card{grid-template-columns:minmax(280px,1.4fr) minmax(260px,1.1fr) minmax(170px,.75fr) 72px;}
  .task-flow-summary p:nth-child(2){display:none;}
}
@media(max-width:980px){
  .task-workbench-card{grid-template-columns:1fr;gap:8px;padding:12px 12px 12px 16px;}
  .task-card-meta{grid-template-columns:repeat(3,minmax(0,1fr));}
  .task-card-actions{justify-content:flex-start;}
}

/* Task card balance pass 20260824 */
.task-workbench-card{
  grid-template-columns:minmax(360px,1.65fr) minmax(300px,1.05fr) minmax(250px,.9fr) 74px;
  gap:16px;
  min-height:104px;
  padding:13px 14px 13px 18px;
}
.task-card-main{align-self:center}
.task-card-flow-inline{margin-top:6px}
.task-flow-summary{gap:10px;color:#536978}
.task-flow-summary p{max-width:48%}
.task-flow-summary b{font-size:12px;color:#7a8b96}
.task-flow-summary span{font-size:12px;color:#435966}
.task-card-next-primary{align-content:center}
.task-card-next .next-action-view{
  min-height:34px;
  padding:8px 11px;
  background:#f4f8fa;
  border:1px solid #e8eff3;
}
.task-card-meta{
  align-content:center;
  gap:8px;
  padding:8px 10px;
  border-radius:12px;
  background:#f8fbfc;
}
.task-card-meta p{
  display:grid;
  grid-template-columns:64px minmax(0,1fr);
  justify-content:initial;
  gap:8px;
}
.task-card-meta label{color:#748794}
.task-meta-due .editable-text{
  justify-self:start;
  color:#263f4c;
  font-weight:700;
  padding:4px 8px;
  border-radius:8px;
  background:#fff;
  border:1px solid #e5edf2;
}
.task-meta-due .editable-text.muted{
  color:#8a9aa5;
  font-weight:600;
  background:#fff;
}
.task-meta-due .editable-text.overdue{
  color:var(--danger);
  border-color:rgba(199,91,86,.28);
  background:#fff7f6;
}
.task-meta-due .editable-text.soon{
  color:var(--warning);
  border-color:rgba(197,138,69,.3);
  background:#fffaf2;
}
.task-card-actions{align-self:center}
@media(max-width:1260px){
  .task-workbench-card{grid-template-columns:minmax(280px,1.35fr) minmax(250px,1fr) minmax(230px,.92fr) 72px;}
  .task-flow-summary p{max-width:100%}
}
@media(max-width:980px){
  .task-workbench-card{grid-template-columns:1fr;min-height:auto}
  .task-card-meta{grid-template-columns:repeat(3,minmax(0,1fr));}
  .task-card-meta p{grid-template-columns:1fr;gap:4px}
}

/* Task list width and date interaction pass 20260824 */
.task-workbench-card{
  grid-template-columns:minmax(0,45fr) minmax(0,25fr) minmax(280px,25fr) minmax(58px,5fr);
  gap:14px;
  min-height:94px;
  padding:12px 13px 12px 18px;
}
.task-card-title b{font-size:15px}
.task-card-title span{font-size:13px}
.task-card-flow-inline{margin-top:5px}
.task-card-next .next-action-view{min-height:32px;padding:7px 10px}
.task-card-meta{
  padding:9px 12px;
  gap:7px;
  min-width:280px;
}
.task-card-meta p{
  grid-template-columns:64px minmax(0,1fr);
  align-items:center;
}
.task-card-meta label{font-size:12px}
.task-meta-due .editable-text{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  max-width:100%;
  cursor:pointer;
  white-space:nowrap;
}
.task-meta-due .editable-text:not(.muted){
  font-size:12px;
}
.task-meta-due input[type="date"].inline-editor{
  width:100%;
  min-width:150px;
  height:30px;
  cursor:pointer;
}
.task-card-actions{
  justify-content:flex-end;
  align-self:center;
}
.task-card-actions .detail-btn{width:38px}
@media(max-width:1260px){
  .task-workbench-card{
    grid-template-columns:minmax(0,40fr) minmax(0,25fr) minmax(260px,28fr) minmax(58px,7fr);
  }
}

/* Administrator diagnostics: readable health status and shared service snapshot. */
.diagnostic-page.panel{width:min(100%,1220px);max-width:1220px;margin:0;padding:20px;gap:20px}
.diagnostic-page .diagnostic-top{grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:start;padding-bottom:18px}
.diagnostic-page .diagnostic-summary-modern{min-width:0}
.diagnostic-page .diagnostic-statusbar{justify-content:space-between;gap:16px 28px;padding:2px 0}
.diagnostic-page .diagnostic-statusbar>div{min-width:0;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.diagnostic-page .diagnostic-statusbar>div:last-child{justify-content:flex-end}
.diagnostic-page .diagnostic-statusbar span{white-space:nowrap}
.diagnostic-page .diagnostic-statusbar b{white-space:nowrap}
.diagnostic-page .diagnostic-statusbar em{font-style:normal;font-size:12px;font-weight:700;color:var(--muted);white-space:nowrap}
.diagnostic-dot.unchecked{background:#98a2b3}
.diagnostic-page .diagnostic-metric-row{display:grid;grid-template-columns:repeat(5,minmax(150px,1fr));gap:10px;border:0;background:transparent;overflow:visible}
.diagnostic-page .diagnostic-metric{min-width:150px;min-height:104px;padding:13px 14px;border:1px solid var(--line)!important;border-radius:9px;background:#fff}
.diagnostic-page .diagnostic-metric>span{font-size:13px;margin-bottom:8px;white-space:nowrap}
.diagnostic-page .diagnostic-metric>b{display:flex;font-size:14px;white-space:nowrap}
.diagnostic-page .diagnostic-metric>p{margin:8px 0 0;color:#667085;font-size:12px;line-height:1.45;word-break:normal;overflow-wrap:break-word}
.diagnostic-page .diagnostic-metric.ok{border-color:#cfe7df!important}
.diagnostic-page .diagnostic-metric.warn{border-color:#ecd9b6!important}
.diagnostic-page .diagnostic-metric.bad{border-color:#efc4c0!important}
.diagnostic-page .diagnostic-metric.unchecked{border-color:#dce2e8!important}
.diagnostic-checking{min-height:120px;display:grid;place-items:center;border:1px dashed var(--line);border-radius:10px;color:var(--muted);background:#fbfcfd}
.diagnostic-result{gap:22px}
.diagnostic-section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:12px}
.diagnostic-section-head h2{margin:0 0 4px;font-size:17px}
.diagnostic-section-head p{margin:0;color:var(--muted);font-size:13px;line-height:1.5}
.diagnostic-progress-label{color:var(--primary);font-size:13px;font-weight:700;white-space:nowrap}
.diagnostic-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.diagnostic-service-card{min-width:0;padding:15px;border:1px solid var(--line);border-radius:10px;background:#fff}
.diagnostic-service-card.ok{border-top:3px solid #0f766e}
.diagnostic-service-card.warn{border-top:3px solid #d28a20}
.diagnostic-service-card.bad{border-top:3px solid #b42318}
.diagnostic-service-card.unchecked{border-top:3px solid #98a2b3}
.diagnostic-service-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:9px}
.diagnostic-service-head>div{min-width:0}
.diagnostic-service-head span{display:block;color:var(--muted);font-size:11px;margin-bottom:3px;white-space:nowrap}
.diagnostic-service-head h3{margin:0;font-size:16px;line-height:1.35;white-space:normal;word-break:keep-all}
.diagnostic-service-card>p{min-height:42px;margin:0 0 12px;color:#526170;font-size:13px;line-height:1.55;word-break:normal;overflow-wrap:break-word}
.diagnostic-state{display:inline-flex!important;align-items:center;gap:6px;color:#667085;font-size:13px;white-space:nowrap;word-break:keep-all;overflow-wrap:normal}
.diagnostic-state.ok{color:#0f766e}.diagnostic-state.warn{color:#9a6700}.diagnostic-state.bad{color:#b42318}.diagnostic-state.unchecked{color:#667085}
.diagnostic-fields{display:grid;gap:0;margin:0;border-top:1px solid #edf2f4}
.diagnostic-fields>div{display:grid;grid-template-columns:minmax(92px,118px) minmax(0,1fr);gap:10px;padding:8px 0;border-bottom:1px solid #edf2f4;align-items:start}
.diagnostic-fields dt{color:var(--muted);font-size:12px;white-space:nowrap;word-break:keep-all}
.diagnostic-fields dd{min-width:0;margin:0;color:#344054;font-size:12px;line-height:1.45;word-break:normal;overflow-wrap:anywhere}
.diagnostic-service-detail{margin-top:11px}
.diagnostic-service-detail>summary,.diagnostic-tech-detail>summary,.diagnostic-raw>summary{cursor:pointer;color:var(--primary);font-size:13px;font-weight:700;white-space:nowrap;word-break:keep-all}
.diagnostic-service-detail>p{margin:9px 0 0;padding:9px 10px;border-radius:7px;background:#f7fafb;color:#526170;font-size:12px;line-height:1.5}
.diagnostic-raw{margin-top:9px}
.diagnostic-raw pre{max-height:260px;overflow:auto;margin:8px 0 0;padding:11px;border:1px solid var(--line);border-radius:8px;background:#f7fafb;color:#475569;font-size:12px;line-height:1.55;white-space:pre-wrap;word-break:break-word;overflow-wrap:anywhere}
.diagnostic-attention{padding-top:0}
.diagnostic-attention-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;border:0}
.diagnostic-attention-item{display:block;min-width:0;padding:14px;border:1px solid var(--line);border-left:3px solid #d28a20;border-radius:9px;background:#fff}
.diagnostic-attention-item.bad{border-left:3px solid #b42318}
.diagnostic-problem-grid{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px 18px}
.diagnostic-problem-grid>div{min-width:0}
.diagnostic-problem-grid>.full{grid-column:1/-1}
.diagnostic-problem-grid span{display:block;margin-bottom:4px;color:var(--muted);font-size:11px;white-space:nowrap;word-break:keep-all}
.diagnostic-problem-grid b{display:block;color:#1f2937;font-size:14px;line-height:1.4;word-break:normal;overflow-wrap:break-word}
.diagnostic-problem-grid p{margin:0;color:#526170;font-size:13px;line-height:1.55;word-break:normal;overflow-wrap:break-word}
.diagnostic-attention-item .diagnostic-tech-detail{margin:10px 0 0;justify-self:auto}
.diagnostic-detail-text{margin-top:8px;padding:10px;border:1px solid var(--line);border-radius:8px;background:#f7fafb;color:#475569;font-size:12px;line-height:1.55;white-space:pre-wrap;word-break:normal;overflow-wrap:anywhere}
.diagnostic-page .diagnostic-item-main{grid-template-columns:minmax(180px,1fr) auto}
.diagnostic-page .diagnostic-item-main b,.diagnostic-page .diagnostic-item-main p{word-break:normal;overflow-wrap:break-word}
@media(max-width:1180px){.diagnostic-page .diagnostic-top{grid-template-columns:1fr}.diagnostic-page .diagnostic-top .primary{justify-self:start}.diagnostic-page .diagnostic-metric-row{grid-template-columns:repeat(3,minmax(150px,1fr))}}
@media(max-width:900px){.diagnostic-service-grid{grid-template-columns:1fr}.diagnostic-attention-list{grid-template-columns:1fr}.diagnostic-service-card>p{min-height:0}}
@media(max-width:680px){.diagnostic-page.panel{padding:14px}.diagnostic-page .diagnostic-metric-row{grid-template-columns:1fr}.diagnostic-page .diagnostic-metric{min-width:0;min-height:0}.diagnostic-page .diagnostic-statusbar>div:last-child{justify-content:flex-start}.diagnostic-fields>div{grid-template-columns:1fr;gap:3px}.diagnostic-problem-grid{grid-template-columns:1fr}.diagnostic-problem-grid>.full{grid-column:auto}}
@media(max-width:980px){
  .task-workbench-card{grid-template-columns:1fr}
  .task-card-meta{min-width:0;grid-template-columns:repeat(3,minmax(0,1fr));}
}

/* Task list quiet display polish 20260824 */
.task-workbench-list{
  gap:10px;
}
.task-workbench-card{
  border-color:rgba(220,229,234,.48);
  background:#fff;
  box-shadow:0 1px 0 rgba(24,42,54,.04),0 10px 26px rgba(24,42,54,.03);
}
.task-workbench-card:hover{
  border-color:rgba(190,207,216,.72);
  box-shadow:0 1px 0 rgba(24,42,54,.06),0 14px 30px rgba(24,42,54,.055);
}
.task-card-title{
  gap:4px;
}
.task-card-title b{
  font-size:16px;
  font-weight:800;
  color:var(--text-primary);
}
.task-card-title span{
  font-size:13px;
  font-weight:600;
  color:#536978;
}
.task-card-tags{
  margin-top:7px;
  gap:6px;
}
.task-card-next-primary label{
  font-weight:700;
  color:#6f838f;
}
.task-card-next .task-next-info{
  display:block;
  min-height:auto;
  padding:0 0 0 10px;
  border:0;
  border-left:3px solid rgba(47,125,140,.34);
  border-radius:0;
  background:transparent;
  color:#1f3440;
  font-weight:800;
  line-height:1.55;
  white-space:normal;
  overflow:hidden;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
}
.task-card-next .task-next-info.muted{
  color:#9a6a2f;
  background:transparent;
  border-left-color:rgba(197,138,69,.45);
}
.task-card-meta{
  background:#f9fbfc;
  border:1px solid rgba(220,229,234,.62);
}
.task-owner-name{
  display:inline-flex;
  align-items:center;
  min-height:26px;
  max-width:100%;
  color:#263f4c;
  font-size:13px;
  font-weight:800;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.task-owner-name.muted{
  color:#8a9aa5;
  font-weight:600;
}
.task-flow-summary{
  gap:14px;
  padding-top:2px;
}
.task-flow-summary p{
  max-width:none;
}
.task-flow-summary b{
  color:#7c8e99;
  font-weight:700;
}
.task-flow-summary span{
  color:#344854;
  font-weight:700;
}
.task-card-actions .detail-btn{
  width:54px;
  min-width:54px;
  white-space:nowrap;
}
.task-card-actions .more-btn{
  width:32px;
  min-width:32px;
}
@media(max-width:1260px){
  .task-card-actions .detail-btn{
    width:54px;
    min-width:54px;
  }
}

/* Task workspace final visual polish 20260824 */
.task-workbench-page{
  max-width:min(1480px,calc(100vw - 292px));
}
.task-workbench-page .matter-stat-row{
  gap:8px;
  margin:4px 0 12px;
}
.task-workbench-page .matter-stat{
  min-width:104px;
  min-height:42px;
  padding:6px 10px;
  border:0;
  border-radius:12px;
  background:#fff;
  box-shadow:0 1px 0 rgba(24,42,54,.05),0 6px 18px rgba(24,42,54,.025);
}
.task-workbench-page .matter-stat span{
  font-size:12px;
  color:#6f838f;
}
.task-workbench-page .matter-stat b{
  font-size:18px;
  color:#203745;
}
.task-workbench-page .matter-stat.overdue b,
.task-workbench-page .matter-stat.overdue.active b{
  color:var(--danger);
}
.task-workbench-page .matter-stat.done{
  opacity:.72;
}
.task-workbench-page .matter-stat.active{
  background:#f7fbfc;
  box-shadow:inset 3px 0 0 var(--primary),0 1px 0 rgba(24,42,54,.05),0 8px 20px rgba(24,42,54,.035);
}
.task-filter-bar{
  gap:10px!important;
  align-items:center!important;
}
.task-filter-bar input,
.task-filter-bar select,
.task-filter-bar button{
  height:38px;
}
.task-filter-bar input{
  background:#fff;
  border-color:#d6e2e8;
}
.task-workbench-list{
  gap:9px;
  margin-top:10px;
}
.task-workbench-card{
  grid-template-columns:minmax(0,45fr) minmax(0,30fr) minmax(260px,25fr) 76px;
  gap:16px;
  min-height:86px;
  padding:10px 12px 10px 18px;
  border:0;
  border-radius:13px;
  background:#fff;
  box-shadow:0 1px 0 rgba(24,42,54,.05),0 8px 20px rgba(24,42,54,.028);
}
.task-workbench-card:hover{
  transform:translateY(-1px);
  box-shadow:0 1px 0 rgba(24,42,54,.07),0 12px 26px rgba(24,42,54,.055);
}
.task-workbench-card:before{
  width:3px;
  top:12px;
  bottom:12px;
  border-radius:999px;
}
.task-workbench-card.status-blue:before{background:#4F8EBA;}
.task-workbench-card.status-orange:before{background:var(--warning);}
.task-workbench-card.status-red:before{background:var(--danger);}
.task-workbench-card.status-green:before{background:var(--success);}
.task-workbench-card.is-overdue{
  background:#fff;
  box-shadow:0 0 0 1px rgba(199,91,86,.14),0 8px 22px rgba(199,91,86,.045);
}
.task-card-main{
  align-self:center;
  gap:5px;
}
.task-card-title b{
  font-size:16px;
  line-height:1.35;
  letter-spacing:0;
}
.task-card-title span{
  margin-top:1px;
  font-size:13px;
  line-height:1.35;
  color:#536978;
  font-weight:600;
}
.task-card-tags{
  margin-top:3px;
}
.task-card-flow-inline{
  margin-top:1px;
}
.task-flow-summary{
  gap:12px;
  line-height:1.4;
}
.task-flow-summary p{
  min-width:0;
  max-width:46%;
}
.task-flow-summary b{
  color:#78909d;
  font-weight:700;
}
.task-flow-summary span{
  color:#344854;
  font-weight:700;
}
.task-card-next-primary{
  align-self:center;
  gap:5px;
}
.task-card-next-primary label{
  font-size:12px;
  color:#7c8e99;
  font-weight:700;
}
.task-card-next .task-next-info{
  position:relative;
  min-height:0;
  padding:0 0 0 18px;
  border:0;
  border-radius:0;
  background:transparent;
  color:#1f3440;
  font-size:14px;
  font-weight:800;
  line-height:1.55;
  -webkit-line-clamp:2;
}
.task-card-next .task-next-info:before{
  content:"▶";
  position:absolute;
  left:0;
  top:1px;
  color:var(--primary);
  font-size:12px;
}
.task-card-next .task-next-info.muted{
  color:#9a6a2f;
  background:transparent;
  border:0;
}
.task-card-next .task-next-info.muted:before{
  color:var(--warning);
}
.task-card-meta{
  align-self:center;
  gap:5px;
  min-width:260px;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
}
.task-card-meta p{
  display:grid;
  grid-template-columns:54px minmax(0,1fr);
  align-items:center;
  gap:8px;
}
.task-card-meta label{
  color:#7c8e99;
  font-size:12px;
  font-weight:700;
}
.task-card-meta .matter-status{
  justify-self:start;
  padding:3px 9px;
  font-size:12px;
  font-weight:800;
}
.task-card-meta .matter-status:before{
  content:"";
  display:inline-block;
  width:7px;
  height:7px;
  margin-right:5px;
  border-radius:999px;
  background:currentColor;
}
.task-owner-name{
  min-height:22px;
  font-size:13px;
  font-weight:800;
  color:#263f4c;
}
.task-meta-due .editable-text{
  min-height:22px;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  color:#263f4c;
  font-size:13px!important;
  font-weight:800;
}
.task-meta-due .editable-text.muted{
  background:transparent;
  color:#8a9aa5;
}
.task-meta-due .editable-text.overdue{
  border:0;
  background:transparent;
  color:var(--danger);
}
.task-meta-due .editable-text.soon{
  border:0;
  background:transparent;
  color:var(--warning);
}
.task-card-actions{
  align-self:center;
  justify-content:flex-end;
  gap:6px;
}
.task-card-actions .detail-btn{
  width:52px;
  min-width:52px;
  height:32px;
  padding:0 10px;
  white-space:nowrap;
}
.task-card-actions .more-btn{
  width:32px;
  min-width:32px;
  height:32px;
  padding:0;
  font-size:18px;
}
@media(max-width:1260px){
  .task-workbench-card{
    grid-template-columns:minmax(0,42fr) minmax(0,30fr) minmax(248px,25fr) 72px;
    gap:12px;
  }
}
@media(max-width:980px){
  .task-workbench-card{
    grid-template-columns:1fr;
    min-height:auto;
  }
  .task-card-meta{
    min-width:0;
    grid-template-columns:repeat(3,minmax(0,1fr));
    padding-top:4px;
  }
  .task-card-meta p{
    grid-template-columns:1fr;
    gap:3px;
  }
}

/* Task inline edit polish 20260824 */
.task-card-meta p[data-edit-field]{
  cursor:pointer;
  border-radius:8px;
}
.task-card-meta p[data-edit-field]:hover{
  background:rgba(47,125,140,.045);
}
.task-card-meta .inline-status-edit,
.task-card-meta .task-card-inline-editor{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:5px;
  min-width:0;
  width:100%;
}
.task-card-meta .inline-status-edit select,
.task-card-meta .task-inline-owner-editor,
.task-card-meta .task-inline-date-editor{
  width:100%;
  min-width:0;
  height:30px;
  padding:3px 8px;
  border:1px solid #bfd2db;
  border-radius:8px;
  background:#fff;
  color:var(--text-primary);
  font-size:12px;
  font-weight:700;
  outline:0;
  box-shadow:0 0 0 2px rgba(47,125,140,.08);
}
.task-card-meta .inline-status-edit select[data-status-wait]{
  margin-top:4px;
}
.task-card-meta .task-inline-date-editor{
  cursor:pointer;
}
.task-card-meta .task-owner-name,
.task-card-meta .editable-text,
.task-card-meta .matter-status{
  cursor:pointer;
}

/* Usability polish 20260825 quick note and task filters */
.home-note-row-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:6px;
  flex:0 0 auto;
  flex-wrap:wrap;
}
.home-note-converted{
  display:inline-flex;
  align-items:center;
  height:30px;
  padding:0 10px;
  border-radius:8px;
  background:#edf7f3;
  color:#2f8f7a;
  font-size:12px;
  font-weight:700;
  white-space:nowrap;
}
.home-knowledge-modal{max-width:680px;}
.home-note-row .note-delete-btn{
  color:var(--danger);
  background:#fff5f4;
}
.home-note-row .note-delete-btn:hover{
  background:#fde9e7;
}
.task-workbench-page .task-filter-bar{
  grid-template-columns:minmax(300px,1fr) minmax(210px,260px) 128px 136px 128px 118px 64px!important;
  gap:10px!important;
  align-items:center!important;
}
.task-workbench-page .task-filter-bar input,
.task-workbench-page .task-filter-bar select,
.task-workbench-page .task-filter-bar button{
  box-sizing:border-box;
  height:38px;
  min-width:0;
}
.task-workbench-page .task-filter-bar select{
  width:100%;
  padding-left:14px;
  padding-right:30px;
  white-space:nowrap;
  color:var(--text-primary);
  font-size:14px;
}
.task-workbench-page #taskOwnerFilter{min-width:210px;position:relative;height:38px;}
.task-workbench-page .task-owner-filter-toggle{
  width:100%;
  height:38px;
  border:1px solid #cbd8e3;
  background:#fff;
  border-radius:8px;
  padding:0 12px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  color:var(--text-primary);
  font-size:14px;
  text-align:left;
}
.task-workbench-page .task-owner-filter-toggle em{
  flex:1;
  display:flex;
  gap:5px;
  align-items:center;
  min-width:0;
  overflow:hidden;
  font-style:normal;
}
.task-workbench-page .task-owner-filter-toggle > span{
  white-space:nowrap;
}
.task-workbench-page .task-owner-filter-toggle i{
  color:var(--text-muted);
  font-style:normal;
  font-size:12px;
}
.task-workbench-page .task-owner-chip{
  max-width:74px;
  display:inline-flex;
  align-items:center;
  gap:3px;
  padding:2px 6px;
  border-radius:999px;
  background:#eef5f6;
  color:#285463;
  font-size:12px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.task-workbench-page .task-owner-chip b{
  font-weight:700;
  color:#64748b;
}
.task-workbench-page .task-owner-chip.muted{
  color:#64748b;
  background:#f1f5f9;
}
.task-workbench-page .task-owner-filter-menu{
  position:absolute;
  z-index:50;
  top:44px;
  left:0;
  width:260px;
  max-height:320px;
  overflow:auto;
  border:1px solid #d6e0e8;
  border-radius:10px;
  background:#fff;
  box-shadow:0 18px 42px rgba(15,40,60,.16);
  padding:8px;
}
.task-workbench-page .task-owner-filter-actions{
  display:flex;
  justify-content:flex-end;
  padding:2px 2px 8px;
  border-bottom:1px solid #edf2f7;
  margin-bottom:6px;
}
.task-workbench-page .task-owner-filter-actions button{
  height:28px;
  min-width:52px;
  padding:0 8px;
  border:0;
  background:#eef3f6;
  border-radius:6px;
  color:#475569;
}
.task-workbench-page .task-owner-filter-options{
  display:grid;
  gap:2px;
}
.task-workbench-page .task-owner-filter-options label{
  display:flex;
  align-items:center;
  gap:8px;
  padding:7px 8px;
  border-radius:6px;
  font-size:14px;
  cursor:pointer;
}
.task-workbench-page .task-owner-filter-options label:hover{
  background:#f5f8fa;
}
.task-workbench-page .task-owner-filter-options input{
  width:14px;
  height:14px;
}
.task-workbench-page #taskBusinessGroup{min-width:136px;}
.task-workbench-page #taskSort{min-width:128px;}
.task-workbench-page #taskPageSize{min-width:118px;}
.task-workbench-page #taskRefresh{min-width:64px;padding-left:12px;padding-right:12px;}

/* Task handling workspace 20260904 */
.task-detail-page-backdrop{
  align-items:center;
  padding:18px;
}
.task-detail-page-card{
  width:min(1320px,96vw);
  max-height:94vh;
  display:flex;
  flex-direction:column;
  overflow:hidden;
}
.task-detail-page-head{
  flex:0 0 auto;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  padding:18px 22px 14px;
  border-bottom:1px solid #e4edf2;
}
.task-detail-title-block h2{
  margin:6px 0 8px;
  font-size:22px;
  line-height:1.35;
}
.task-detail-kicker{
  display:flex;
  align-items:center;
  gap:8px;
  color:#607480;
  font-size:13px;
  font-weight:700;
}
.task-business-chip,.task-status-chip{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:2px 9px;
  border-radius:999px;
  background:#eef5f6;
  color:#285463;
  font-size:12px;
}
.task-status-chip.red{background:#fff1f0;color:#c75b56}
.task-status-chip.orange{background:#fff7e8;color:#9a6a2f}
.task-status-chip.green{background:#eaf8f1;color:#2f8f67}
.task-status-flow{
  display:flex;
  align-items:center;
  gap:7px;
  color:#81919b;
  font-size:12px;
  font-weight:700;
}
.task-status-flow span{
  display:inline-flex;
  align-items:center;
  gap:7px;
}
.task-status-flow span:not(:last-child)::after{
  content:"→";
  color:#a8b5bd;
}
.task-status-flow span.active{
  color:var(--primary);
}
.task-detail-scroll{
  overflow:auto;
  padding:16px 22px 20px;
}
.task-detail-page-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) 320px;
  gap:16px;
  align-items:start;
}
.task-detail-main{
  display:grid;
  gap:14px;
}
.task-detail-right{
  position:sticky;
  top:0;
  display:grid;
  gap:12px;
}
.task-detail-section{
  border:1px solid #dce8ee;
  border-radius:10px;
  background:#fff;
  padding:14px;
}
.task-detail-section h3{
  margin:0 0 12px;
  font-size:16px;
  color:#123040;
}
.task-summary-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}
.task-summary-grid p,.task-meta-grid-light p{
  margin:0;
  display:grid;
  gap:5px;
  padding:10px 12px;
  border-radius:8px;
  background:#f8fbfc;
}
.task-summary-grid b,.task-meta-grid-light b{
  color:#6b7f8a;
  font-size:12px;
}
.task-summary-grid span{
  color:#172f3c;
  font-size:15px;
  font-weight:800;
  line-height:1.5;
}
.task-summary-grid p.danger span{
  color:var(--danger);
}
.task-meta-grid-light{
  margin-top:10px;
  opacity:.86;
}
.task-processing-section{
  border-color:#b9d8dd;
}
.task-section-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.task-section-head span{
  color:#71848e;
  font-size:12px;
}
.task-work-record-editor{
  display:grid;
  gap:10px;
}
.task-work-record-editor textarea,
.task-work-record-editor input,
.task-handle-panel textarea,
.task-handle-panel input,
.task-handle-panel select{
  width:100%;
  box-sizing:border-box;
}
.task-record-drop-zone{
  display:grid;
  place-items:center;
  gap:5px;
  min-height:108px;
  border:1px dashed #a9c7cf;
  border-radius:10px;
  background:#f7fbfc;
  text-align:center;
  outline:0;
}
.task-record-drop-zone:focus,.task-record-drop-zone.dragover{
  border-color:var(--primary);
  background:#eef8f7;
  box-shadow:0 0 0 3px rgba(47,125,140,.12);
}
.task-record-drop-zone b{
  color:#163642;
}
.task-record-drop-zone span{
  color:#6f838f;
  font-size:12px;
}
.task-record-file-preview{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.task-record-file-empty{
  color:#83929a;
  font-size:13px;
}
.task-record-file-chip{
  display:flex;
  align-items:center;
  gap:7px;
  max-width:240px;
  padding:5px 7px;
  border:1px solid #d9e5ea;
  border-radius:8px;
  background:#fff;
}
.task-record-file-chip img{
  width:34px;
  height:34px;
  border-radius:6px;
  object-fit:cover;
}
.task-record-file-chip b{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:12px;
}
.task-record-file-chip button{
  border:0;
  background:transparent;
  color:#64748b;
  cursor:pointer;
}
.task-record-actions{
  display:flex;
  justify-content:flex-end;
  gap:10px;
}
.task-record-actions button{
  min-height:38px;
}
.task-handle-timeline{
  display:grid;
  gap:10px;
  margin-top:12px;
}
.task-handle-record{
  border-left:3px solid var(--primary);
  border-radius:8px;
  background:#f8fbfc;
  padding:10px 12px;
}
.task-handle-record header{
  display:flex;
  gap:10px;
  color:#637783;
  font-size:12px;
}
.task-handle-record p{
  margin:7px 0;
  color:#193541;
  line-height:1.65;
  white-space:pre-wrap;
}
.task-handle-record small{
  color:#2f7d8c;
  font-weight:700;
}
.task-record-attachments{
  display:grid;
  gap:8px;
  margin-top:8px;
}
.task-original-block pre{
  max-height:96px;
  overflow:auto;
  margin:0;
  white-space:pre-wrap;
  color:#536978;
  font-size:13px;
}
.task-all-attachments{
  margin-top:10px;
}
.task-all-attachments summary{
  cursor:pointer;
  color:var(--primary);
  font-weight:700;
}
.task-attachment-row-actions button,
.task-attachment-row-actions a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:28px;
  min-width:48px;
  padding:0 8px;
  border-radius:6px;
  text-decoration:none;
}
.task-handle-panel{
  background:#f8fbfc;
  border-color:#b9d8dd;
}
.task-handle-panel label,.task-handover-form label,.task-customer-portal-panel label{
  display:grid;
  gap:6px;
  margin-bottom:10px;
  color:#536978;
  font-size:13px;
  font-weight:700;
}
.task-handle-panel .primary,.task-handle-panel .danger{
  width:100%;
  margin-top:6px;
}
.task-handover-form{
  margin-top:10px;
}
.task-detail-bottom{
  margin-top:14px;
}
.task-attachment-preview-modal{
  position:fixed;
  inset:0;
  z-index:9999;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:18px;
  background:rgba(11,26,36,.68);
}
.task-preview-card{
  width:min(1080px,96vw);
  max-height:94vh;
  display:flex;
  flex-direction:column;
  border-radius:12px;
  background:#fff;
  overflow:hidden;
}
.task-preview-card header,.task-preview-card footer{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:10px 14px;
  border-bottom:1px solid #e5edf2;
}
.task-preview-card footer{
  border-top:1px solid #e5edf2;
  border-bottom:0;
}
.task-preview-card header button{
  width:32px;
  height:32px;
  border:0;
  border-radius:8px;
  background:transparent;
  font-size:20px;
  cursor:pointer;
}
.task-preview-card header button:hover{
  background:#eef3f6;
}
.task-preview-body{
  min-height:420px;
  flex:1;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:auto;
  background:#0f1720;
}
.task-preview-body img{
  max-width:100%;
  max-height:78vh;
  object-fit:contain;
}
.task-preview-body iframe{
  width:100%;
  height:78vh;
  border:0;
  background:#fff;
}
@media(max-width:900px){
  .task-detail-page-backdrop{padding:8px}
  .task-detail-page-card{width:100%;max-height:98vh}
  .task-detail-scroll{padding:12px}
  .task-detail-page-grid{grid-template-columns:1fr}
  .task-detail-right{position:static}
  .task-summary-grid{grid-template-columns:1fr}
}
@media(max-width:1180px){
  .task-workbench-page .task-filter-bar{
    grid-template-columns:minmax(260px,1fr) repeat(3,minmax(132px,1fr))!important;
  }
  .task-workbench-page #taskRefresh{grid-column:auto;}
}
@media(max-width:760px){
  .task-workbench-page .task-filter-bar{grid-template-columns:1fr!important;}
  .home-note-row{align-items:stretch;}
  .home-note-row-actions{justify-content:flex-start;}
}

/* Home layout adjustment 20260825: tasks/tools/flow first row, notes second row */
.home-flow-compact{margin-bottom:0;display:flex;flex-direction:column;min-width:0;}
.home-flow-compact .home-section-head{margin-bottom:10px;}
.home-flow-compact .flow-quick-line{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;}
.home-flow-compact .flow-quick-line input{min-width:0;height:36px;}
.home-flow-compact .flow-quick-line .btn{height:36px;white-space:nowrap;padding:0 12px;}
.home-flow-compact .flow-tags{margin-top:10px;gap:7px;}
.home-flow-compact .flow-tags button{height:30px;padding:0 10px;font-size:13px;}
.home-note-wide{display:grid;grid-template-columns:minmax(360px,.75fr) minmax(0,1.25fr);gap:18px;margin-bottom:16px;padding:18px;align-items:stretch;}
.home-note-compose,.home-note-today{min-width:0;}
.home-note-compose{display:flex;flex-direction:column;}
.home-note-wide textarea{min-height:156px;flex:1;}
.home-note-action-buttons{display:flex;gap:8px;flex:0 0 auto;}
.home-note-today{border-left:1px solid var(--border);padding-left:18px;display:flex;flex-direction:column;}
.home-note-today #home-note-list-wrap{min-height:0;}
.home-note-today .home-note-list{max-height:236px;overflow:auto;padding-right:4px;margin-top:0;}
.home-note-today .home-note-empty{margin-top:0;}
.home-note-wide .home-note-row{padding:11px 12px;}
.home-note-wide .home-note-row p{-webkit-line-clamp:3;}
@media(max-width:1100px){.home-note-wide{grid-template-columns:1fr;}.home-note-today{border-left:0;border-top:1px solid var(--border);padding-left:0;padding-top:16px;}.home-flow-compact .flow-quick-line{grid-template-columns:1fr;}}

/* Home reading display tightening 20260825 */
.home-reading-picks .home-section-head.compact{align-items:flex-start;}
.home-reading-picks .home-section-head.compact .btn{white-space:nowrap;}
.featured-reading-row{min-height:unset;}
.featured-reading-row span{opacity:.82;}

/* Address resource manager comfort layout 20260827 */
.address-resource-backdrop{
  z-index:80;
}
.address-resource-manager{
  width:min(1080px,96vw)!important;
  max-height:90vh;
  overflow:auto;
  padding:28px 34px 34px!important;
}
.address-resource-manager>.result-head{
  margin:0 0 20px;
  padding-bottom:16px;
  border-bottom:1px solid var(--border);
}
.address-resource-manager section{
  border:1px solid var(--border);
  border-radius:12px;
  background:#fff;
  padding:18px;
  margin:0 0 16px;
  box-shadow:0 6px 18px rgba(24,42,54,.035);
}
.address-resource-manager section h3{
  margin:0 0 14px;
  font-size:16px;
  color:var(--text-primary);
}
.address-resource-manager .address-resource-form{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px 18px;
}
.address-resource-manager .address-resource-form label{
  display:grid;
  gap:7px;
  font-weight:700;
  color:var(--text-primary);
}
.address-resource-manager .address-resource-form label span{
  font-size:13px;
  color:var(--text-secondary);
}
.address-resource-manager .address-resource-form input,
.address-resource-manager .address-resource-form select{
  min-height:40px;
  border:1px solid #C8D7DF;
  border-radius:8px;
  background:#fff;
  padding:8px 10px;
  color:var(--text-primary);
}
.address-resource-manager .address-resource-form input:focus,
.address-resource-manager .address-resource-form select:focus{
  outline:none;
  border-color:var(--primary);
  box-shadow:0 0 0 3px rgba(47,125,140,.12);
}
.address-resource-manager .address-resource-form .wide{grid-column:1/-1}
.address-resource-manager .address-resource-list{display:grid;gap:12px}
.address-resource-manager .address-resource-item{
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:center;
  border:1px solid var(--border);
  border-radius:10px;
  background:#F9FBFC;
  padding:14px 16px;
}
.address-resource-manager .address-resource-item b{color:var(--text-primary);font-size:15px}
.address-resource-manager .address-resource-item p{margin:6px 0 0;color:var(--text-secondary);font-size:13px;line-height:1.6}
.address-resource-manager .address-resource-edit-slot{margin:10px 0 16px;padding:0}
.address-resource-manager .address-resource-edit-slot:not(:empty){border:1px dashed #C8D7DF;border-radius:12px;background:#FBFDFE;padding:16px}
.address-resource-manager .address-resource-edit-slot:empty{display:none}
@media(max-width:900px){
  .address-resource-manager{padding:22px 18px!important;width:96vw!important}
  .address-resource-manager .address-resource-form{grid-template-columns:1fr}
  .address-resource-manager .address-resource-item{align-items:flex-start;flex-direction:column}
}


.address-resource-manager .result-head .actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.address-resource-manager .address-resource-item-main{min-width:0;flex:1}
.address-resource-manager .address-resource-actions{display:flex;gap:8px;align-items:center;flex:0 0 auto}
.address-resource-manager .address-resource-actions button{min-width:58px;white-space:nowrap}
.address-resource-manager .address-resource-form-placeholder{display:none!important}



/* AI service compact management */
.ai-settings-workbench{width:100%;max-width:1220px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr)!important;gap:14px}
.ai-settings-compact{width:100%;max-width:1220px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr)!important;gap:14px}
.ai-management-headwrap{display:grid;gap:8px;align-items:start;min-width:0}
.ai-service-tabs{display:flex;gap:18px;align-items:center;justify-self:stretch;padding:0 0 9px;border:0;border-bottom:1px solid var(--border);border-radius:0;background:transparent}
.ai-service-tabs button{min-width:auto;height:32px;border:0;border-radius:0;background:transparent;color:var(--text-secondary);font-weight:700;cursor:pointer;padding:0 2px;border-bottom:2px solid transparent}
.ai-service-tabs button.active{background:transparent;color:var(--primary);border-bottom-color:var(--primary)}
.ai-service-tabs button:hover{color:var(--primary)}
.ai-service-overview{display:flex;align-items:center;gap:8px 16px;flex-wrap:wrap;padding:0;color:var(--text-secondary);font-size:13px}
.ai-overview-label{color:var(--text-primary);font-weight:800}
.ai-overview-inline{border:1px solid transparent;background:transparent;padding:3px 0;display:inline-flex;align-items:center;gap:6px;color:inherit;cursor:pointer;white-space:nowrap;line-height:1.4}
.ai-overview-inline.active span{color:var(--text-primary);font-weight:700}
.ai-overview-inline.takeover span{color:#9a6a2f;font-weight:700}
.ai-overview-inline b{font-size:13px;line-height:1}
.ai-overview-inline b.success,.ai-status-dot.success{color:var(--success)}
.ai-overview-inline b.warning,.ai-status-dot.warning{color:var(--warning)}
.ai-overview-inline b.danger,.ai-status-dot.danger{color:var(--danger)}
.ai-route-panel,.ai-service-table-panel{width:100%;min-width:0;padding:16px 18px;border:1px solid #e5e7eb;border-radius:10px;background:#fff;box-shadow:0 8px 20px rgba(24,42,54,.035);overflow:visible}
.ai-route-title{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:12px}
.ai-route-title h2,.ai-provider-summary-card h2,.ai-service-table-panel h2{margin:0;color:var(--text-primary);font-size:18px}
.ai-route-title p,.ai-provider-summary-head p,.ai-service-table-panel p{margin:5px 0 0;color:var(--text-secondary);font-size:13px}
.ai-route-title .tag{border:1px solid transparent;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:800;white-space:nowrap}
.ai-route-title .tag.success{background:#eaf7ef;color:#2f7d4b;border-color:#cce9d5}
.ai-route-title .tag.warning{background:#fff7e8;color:#9a6a2f;border-color:#f0ddb9}
.ai-route-title .tag.danger{background:#fdeeee;color:#a43f3b;border-color:#f4c9c7}
.ai-route-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 14px;align-items:end}
.ai-route-grid-modern{grid-template-columns:minmax(220px,1fr) minmax(220px,1fr) minmax(260px,1.15fr)}
.ai-route-grid label,.ai-provider-edit-form label{display:grid;gap:6px;font-weight:700;color:var(--text-primary);min-width:0}
.ai-route-grid label span,.ai-provider-edit-form label span{font-size:12px;color:var(--text-secondary)}
.ai-route-grid select,.ai-provider-edit-form input,.ai-provider-edit-form select{height:36px;min-height:36px;border:1px solid var(--border);border-radius:8px;background:#fff;padding:7px 10px;color:var(--text-primary);min-width:0}
.ai-route-service{align-self:stretch;background:#fbfcfd;border:1px solid #edf1f3;border-radius:8px;padding:10px}
.ai-route-service-head{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0}
.ai-route-service-head>b{display:flex;align-items:center;gap:8px;min-width:0;color:var(--text-primary);font-size:15px;white-space:nowrap}
.ai-status-inline{display:inline-flex;align-items:center;gap:5px;font-size:13px;font-weight:700;color:var(--text-primary)}
.ai-route-recent{display:grid;gap:4px;align-self:stretch;background:#fbfcfd;border:1px solid #edf1f3;border-radius:8px;padding:10px;min-width:0}
.ai-route-recent span{color:var(--text-secondary);font-size:12px;font-weight:700}
.ai-route-recent b{color:var(--text-primary);font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ai-route-recent small{color:var(--text-secondary);font-size:12px;line-height:1.4}
.ai-route-now{border-left:3px solid var(--primary);padding-left:12px;color:var(--text-secondary);font-size:13px;line-height:1.6;align-self:stretch}
.ai-route-now.enterprise-route-summary{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px 16px;border-left:0;border:1px solid #edf1f3;border-radius:10px;background:#f8fbfc;padding:12px 14px}
.ai-route-now p{margin:0}
.ai-route-now.enterprise-route-summary p{display:grid;gap:3px;min-width:0}
.ai-route-now.enterprise-route-summary b{color:var(--text-secondary);font-size:12px;font-weight:700}
.ai-route-now.enterprise-route-summary span{color:var(--text-primary);font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ai-route-actions{grid-column:1/-1;justify-content:flex-end;align-items:center;white-space:nowrap;gap:8px;margin-top:0}
.ai-provider-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.ai-service-card-list{display:grid;grid-template-columns:1fr;gap:16px}
.ai-provider-summary-card{padding:16px 18px;border-color:var(--border);box-shadow:0 10px 26px rgba(24,42,54,.04)}
.ai-wide-service-card{min-height:auto}
.ai-provider-summary-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}
.ai-provider-summary-head .tag{background:transparent!important;border:0!important;padding:0!important;color:var(--text-primary)!important;font-weight:700}
.ai-provider-kv{display:grid;grid-template-columns:82px minmax(0,1fr);gap:8px 12px;font-size:13px;color:var(--text-secondary)}
.ai-provider-kv-wide{grid-template-columns:92px minmax(0,1fr)}
.ai-provider-kv b{color:var(--text-primary);font-weight:700;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ai-provider-actions{margin-top:16px;gap:8px;flex-wrap:wrap}.ai-error-detail{margin-top:12px;padding:12px;border:1px solid #dbe8ee;border-radius:8px;background:#f8fbfc;white-space:pre-wrap;color:var(--text-secondary);font-size:12px;line-height:1.6}
.ai-network-compact-row{display:grid;grid-template-columns:minmax(150px,.8fr) minmax(180px,1fr) auto;gap:12px;align-items:center;border-top:1px solid #eef2f4;padding-top:10px}
.ai-network-compact-row span{display:block;color:var(--text-secondary);font-size:12px;margin-bottom:4px}
.ai-network-compact-row b{display:block;color:var(--text-primary);font-size:14px;line-height:1.35}
.ai-network-compact-row .ai-provider-actions{margin-top:0;justify-content:flex-end}
.ai-service-placeholder{padding:20px}
.ai-provider-editor-card{width:min(680px,94vw);padding:22px 24px}.ai-provider-edit-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px}.ai-provider-edit-form .full{grid-column:1/-1}
.ai-service-table-wrap{width:100%;max-height:none;overflow:visible}
.ai-service-table{width:100%;border-collapse:separate;border-spacing:0;font-size:14px;table-layout:fixed}
.ai-service-table th{padding:9px 12px;border-bottom:1px solid #e5e7eb;color:var(--text-secondary);font-size:12px;text-align:left;font-weight:800;white-space:nowrap}
.ai-service-table td{padding:11px 12px;border-bottom:1px solid #eef2f4;color:var(--text-primary);vertical-align:middle;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ai-service-table th:nth-child(1),.ai-service-table td:nth-child(1){width:185px}
.ai-service-table th:nth-child(2),.ai-service-table td:nth-child(2){width:220px}
.ai-service-table th:nth-child(3),.ai-service-table td:nth-child(3){width:120px}
.ai-service-table th:nth-child(4),.ai-service-table td:nth-child(4){width:130px}
.ai-service-table th:nth-child(5),.ai-service-table td:nth-child(5){width:auto}
.ai-service-table th:nth-child(6),.ai-service-table td:nth-child(6){width:210px;overflow:visible}
.ai-service-table td:nth-child(2),.ai-service-table td:nth-child(5){white-space:normal;line-height:1.45}
.ai-service-table tr:last-child td{border-bottom:0}
.ai-service-table td:first-child b{display:block;color:var(--text-primary);font-size:14px}
.ai-service-table td:first-child small{display:block;margin-top:4px;color:var(--text-secondary)}
.ai-service-status{font-weight:700;white-space:nowrap;overflow:visible!important}
.ai-service-status span{vertical-align:middle}
.ai-status-dot{font-size:13px;margin-right:5px}
.ai-service-status-pill{display:inline-flex;align-items:center;justify-content:flex-start;gap:5px;max-width:100%;min-width:0;min-height:24px;padding:0;border-radius:0;border:0;background:transparent;color:var(--text-primary);line-height:1.2;font-size:13px;font-weight:700}
.ai-service-status-pill.success{background:transparent;border-color:transparent;color:var(--text-primary)}
.ai-service-status-pill.warning{background:transparent;border-color:transparent;color:var(--text-primary)}
.ai-service-status-pill.danger{background:transparent;border-color:transparent;color:var(--text-primary)}
.ai-service-status-pill .ai-status-dot{display:inline!important;width:auto!important;min-height:0!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;color:currentColor!important;font-size:12px!important;line-height:1!important}
.ai-service-status-label{display:inline-block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ai-service-row-actions{display:flex;align-items:center;gap:6px;overflow:visible!important;white-space:nowrap}
.ai-service-row-actions button,.ai-route-actions button{height:34px;min-height:34px;white-space:nowrap;padding:6px 11px;border-radius:8px}
.ai-muted-model{display:block;color:var(--text-secondary);font-size:13px;line-height:1.4}
.ai-service-table td:nth-child(2) small,.ai-result-main+small{display:block;margin-top:3px;color:var(--text-secondary);font-size:12px;line-height:1.35;white-space:normal}
.ai-result-main{display:block;color:var(--text-primary);font-size:13px;line-height:1.25}
.ai-result-main.success{color:var(--success)}.ai-result-main.warning{color:var(--warning)}.ai-result-main.danger{color:var(--danger)}
.ai-error-toggle[aria-expanded="true"]{border-color:#8dbfc9;background:#e7f4f6;color:#1d6f7b}
.ai-row-more{position:relative}
.ai-row-more summary{list-style:none;display:inline-flex;align-items:center;justify-content:center;min-width:72px;height:34px;border-radius:8px;background:#eef3f6;color:var(--text-primary);font-weight:700;cursor:pointer;line-height:1;padding:0 10px;font-size:13px}
.ai-row-more summary::-webkit-details-marker{display:none}
.ai-row-more div{position:absolute;right:0;top:42px;z-index:20;min-width:132px;padding:6px;border:1px solid var(--border);border-radius:8px;background:#fff;box-shadow:0 12px 26px rgba(24,42,54,.12);display:grid;gap:4px}
.ai-row-more div button,.ai-row-more div a{border:0;background:transparent;padding:8px 10px;border-radius:6px;color:var(--text-primary);text-align:left;text-decoration:none;font-size:13px;cursor:pointer}
.ai-row-more div button:hover,.ai-row-more div a:hover{background:#f3f7f9}
.ai-service-error-row td{padding:0 12px!important;border-bottom:0!important;white-space:normal!important;max-width:none!important}
.enterprise-error-detail{margin:0 0 12px;padding:12px 14px;white-space:normal;word-break:break-word;overflow-wrap:anywhere}
.enterprise-error-detail[hidden]{display:none!important}
.enterprise-error-field{display:grid;grid-template-columns:96px minmax(0,1fr);gap:8px;padding:4px 0;align-items:start}
.enterprise-error-field b{color:var(--text-secondary);font-weight:700;white-space:nowrap}
.enterprise-error-field span{color:var(--text-primary);white-space:normal;word-break:break-word;overflow-wrap:anywhere}

.ai-management-topline{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;border-bottom:1px solid var(--border)}
.ai-management-topline .ai-service-tabs{border-bottom:0;padding-bottom:9px}
.ai-recharge-menu{position:relative;z-index:25}
.ai-recharge-menu summary{list-style:none;display:inline-flex;align-items:center;height:32px;border:1px solid var(--border);border-radius:8px;background:#fff;color:var(--primary);font-size:13px;font-weight:700;padding:0 12px;cursor:pointer;white-space:nowrap}
.ai-recharge-menu summary::-webkit-details-marker{display:none}
.ai-recharge-menu[open] summary{border-color:var(--primary);background:#f4fafb}
.ai-recharge-menu div{position:absolute;right:0;top:38px;z-index:30;width:300px;padding:6px;border:1px solid var(--border);border-radius:8px;background:#fff;box-shadow:0 12px 26px rgba(24,42,54,.12);display:grid;gap:4px}
.ai-recharge-menu a{display:block;text-decoration:none;color:var(--text-primary);border-radius:6px;padding:9px 10px}
.ai-recharge-menu a:hover{background:#f3f7f9}
.ai-recharge-menu a b{display:block;font-size:14px;line-height:1.35;margin-bottom:3px}
.ai-recharge-menu a span{display:block;color:var(--text-secondary);font-size:12px;line-height:1.45}
.ai-service-row-actions a.secondary{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;height:34px;min-height:34px;white-space:nowrap;padding:6px 11px;border-radius:8px;background:#E8EEF2;color:var(--text-primary);font-size:14px}
.ai-service-row-actions a.secondary:hover{background:#DCE7EC}
@media(max-width:980px){.ai-management-topline{display:block}.ai-recharge-menu{margin:8px 0 10px}.ai-recharge-menu div{left:0;right:auto;width:min(300px,calc(100vw - 40px))}}
@media(max-width:980px){.ai-settings-workbench,.ai-settings-compact{width:100%}.ai-route-grid,.ai-route-grid-modern,.ai-provider-grid,.ai-service-card-list,.ai-provider-edit-form{grid-template-columns:1fr}.ai-route-now.enterprise-route-summary{grid-template-columns:1fr 1fr}.ai-route-actions{justify-content:flex-start}.ai-route-title,.ai-provider-summary-head{flex-direction:column}.ai-service-overview{gap:8px 14px}.ai-service-table-wrap{overflow-x:auto}.ai-service-table{min-width:900px}}
@media(max-width:640px){.ai-settings-workbench,.ai-settings-compact{width:calc(100% - 20px);gap:14px}.ai-route-panel,.ai-service-table-panel{padding:18px 16px}.ai-service-tabs{gap:14px;overflow-x:auto}.ai-route-now.enterprise-route-summary{grid-template-columns:1fr}}

/* Contract center 20260827 */
.contract-center-page{max-width:1400px;margin:0 auto}
.contract-tabs{display:flex;gap:8px;margin:14px 0 18px;border-bottom:1px solid var(--border);padding-bottom:10px}
.contract-tabs button{border:0;background:#edf3f6;color:var(--text-primary);border-radius:8px;padding:9px 16px;cursor:pointer}
.contract-tabs button.active{background:var(--primary);color:#fff}
.contract-generate-layout{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.contract-card{background:var(--card-bg);border:1px solid var(--border);border-radius:12px;padding:16px;box-shadow:0 10px 24px rgba(24,42,54,.04)}
.contract-card.full-span{grid-column:1 / -1}
.contract-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.contract-form-grid label{display:flex;flex-direction:column;gap:6px;font-weight:600;color:var(--text-primary)}
.contract-form-grid input,.contract-form-grid select,.contract-form-grid textarea{width:100%;border:1px solid var(--border);border-radius:8px;padding:9px 10px;background:#fff;color:var(--text-primary)}
.contract-form-grid .full-span{grid-column:1 / -1}
.contract-customer-summary{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px;color:var(--text-secondary)}
.contract-service-choices{display:grid;gap:10px}
.contract-service-choice{display:grid;grid-template-columns:auto 1fr;gap:5px 10px;align-items:center;border:1px solid var(--border);border-radius:10px;padding:10px;background:#f8fbfc}
.contract-service-choice span{grid-column:2;color:var(--text-secondary);font-size:13px}
.contract-preview-box{border:1px dashed var(--border);border-radius:10px;padding:14px;background:#fbfdfe}
.contract-preview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.contract-preview-grid p{margin:0;padding:10px;border-radius:8px;background:#f3f6f8}
.contract-preview-grid b{display:block;color:var(--text-secondary);font-size:12px;margin-bottom:4px}
.contract-record-list,.contract-template-list{display:grid;gap:10px}
.contract-record-row,.contract-template-row{display:grid;grid-template-columns:1.8fr .8fr .8fr auto;gap:12px;align-items:center;border-bottom:1px solid var(--border);padding:12px 0}
.contract-record-row:last-child,.contract-template-row:last-child{border-bottom:0}
.contract-record-row p,.contract-template-row p{margin:4px 0 0;color:var(--text-secondary)}
.contract-record-row .actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.contract-record-row .actions button{white-space:nowrap}
.contract-record-tools{display:flex;align-items:center;gap:8px}
.contract-record-tools select{height:36px;border:1px solid var(--border);border-radius:8px;background:#fff;padding:0 10px}
.contract-record-row-locked{opacity:.72;background:#f7f8f9}
.contract-history-list{display:grid;gap:8px;margin:8px 0 14px}
.contract-history-row{border:1px solid var(--border);border-radius:8px;background:#fbfdfe;padding:10px 12px}
.contract-history-row b{display:block;margin-bottom:4px;color:var(--text-primary)}
.contract-history-row span,.contract-history-row small{color:var(--text-secondary)}
.contract-history-row p{margin:6px 0 0;color:var(--text-primary)}
.contract-lifecycle-modal{width:min(620px,92vw);padding:18px}
.contract-lifecycle-modal .actions{display:flex;justify-content:flex-end;gap:8px;margin-top:2px}
.contract-check-list{display:grid;gap:10px}
.contract-check-list h4{margin:8px 0 0;font-size:14px;color:var(--text-primary)}
.contract-check-list label{display:inline-flex;align-items:center;gap:6px;margin:4px 12px 4px 0;color:var(--text-primary)}
.contract-record-detail-modal{width:min(860px,94vw);padding:18px}
.contract-template-modal{max-width:760px}
.inline-check{display:flex;align-items:center;gap:6px;font-weight:500;color:var(--text-secondary)}
@media (max-width:900px){.contract-generate-layout,.contract-form-grid,.contract-preview-grid,.contract-record-row,.contract-template-row{grid-template-columns:1fr}}


.contract-step-layout{grid-template-columns:1fr}
.contract-step-card{padding:18px 20px}
.contract-step-title{display:flex;align-items:flex-start;gap:12px}
.contract-step-title>span{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:var(--primary);color:#fff;font-weight:700;flex:0 0 auto}
.contract-step-title h3{margin:0 0 4px}.contract-step-title p{margin:0;color:var(--text-secondary)}
.contract-source-toggle{display:flex;gap:16px;align-items:center;margin:14px 0}.contract-source-toggle label{display:inline-flex;align-items:center;gap:6px;color:var(--text-primary)}
.contract-customer-picker{display:grid;grid-template-columns:minmax(220px,1fr) minmax(260px,1.2fr);gap:10px;margin-bottom:12px}.contract-customer-picker input,.contract-customer-picker select{border:1px solid var(--border);border-radius:8px;padding:9px 10px;background:#fff}
.contract-template-groups{display:grid;gap:18px}
.contract-template-category{display:grid;gap:10px}
.contract-template-category h4{margin:0;color:var(--text-primary);font-size:15px}
.contract-template-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:4px}.contract-template-pick{position:relative;text-align:left;border:1px solid var(--border);border-radius:12px;background:#fbfdfe;padding:16px;min-height:96px;cursor:pointer;color:var(--text-primary)}
.contract-template-pick b{display:block;margin-bottom:8px;padding-right:92px}.contract-template-pick span,.contract-template-pick small{display:block;color:var(--text-secondary);font-size:13px;line-height:1.5}.contract-template-pick em{position:absolute;right:12px;top:12px;font-style:normal;font-size:12px;color:var(--primary);background:#e8f5f7;border-radius:999px;padding:2px 8px}.contract-template-pick.selected{border-color:var(--primary);box-shadow:0 0 0 2px rgba(47,125,140,.12);background:#f3fbfc}.contract-template-pick:disabled{opacity:.5;cursor:not-allowed}.contract-template-hint{margin-top:10px}.contract-service-details{margin-top:14px}.contract-service-details summary{cursor:pointer;font-weight:700;color:var(--text-primary);margin-bottom:10px}.official-template-row,.contract-template-row{grid-template-columns:minmax(280px,1.6fr) minmax(130px,.45fr) minmax(170px,.55fr) minmax(360px,auto)}.official-template-row .actions,.contract-template-row .actions{display:flex;gap:6px;flex-wrap:nowrap;justify-content:flex-end}.official-template-row .actions button,.contract-template-row .actions button{white-space:nowrap}
.contract-template-section-title{margin:16px 0 8px;font-size:14px;color:var(--text-secondary);font-weight:800}
@media (max-width:900px){.contract-customer-picker,.contract-template-cards,.official-template-row,.contract-template-row{grid-template-columns:1fr}.contract-template-row .actions{justify-content:flex-start;flex-wrap:wrap}.contract-template-pick b{padding-right:0}}


/* Contract generation page polish */
.contract-step-card.compact-contract-step{padding:18px 20px}
.contract-final-head{align-items:flex-start;gap:14px}
.contract-source-toggle{flex-wrap:wrap}
.contract-selected-customer{display:flex;align-items:center;gap:10px;margin:0 0 10px;padding:10px 12px;border:1px solid rgba(47,125,140,.18);border-radius:10px;background:#f2fbfc;color:var(--text-primary)}
.contract-selected-customer b{font-size:15px}.contract-pick-note{margin:0 0 8px}
.contract-template-pick{min-height:92px}.contract-template-pick .contract-template-badges{position:absolute;right:12px;top:12px;display:flex;gap:6px;align-items:center}.contract-template-pick em{position:static}.contract-template-pick .selected-mark{background:var(--primary);color:#fff}.contract-template-pick.selected b{color:var(--primary)}
.contract-params-grid{grid-template-columns:repeat(3,minmax(180px,1fr))}
.contract-money-input{display:flex;align-items:center;border:1px solid var(--border);border-radius:8px;background:#fff;overflow:hidden}
.contract-money-input input{border:0!important;box-shadow:none!important;flex:1;min-width:0;background:transparent}.contract-money-input em{font-style:normal;color:var(--text-secondary);padding:0 10px;white-space:nowrap;border-left:1px solid var(--border);height:100%;display:flex;align-items:center}
.contract-service-details{border-top:1px solid var(--border);padding-top:12px}.contract-service-details summary{list-style:none}.contract-service-details summary::-webkit-details-marker{display:none}
.contract-check-list{display:grid;gap:14px;margin-top:14px}.contract-check-section{display:grid;gap:10px}.contract-check-list h4{margin:0;font-size:14px;color:var(--text-primary)}
.contract-checkbox-grid{display:grid;grid-template-columns:repeat(3,minmax(150px,1fr));gap:8px 10px}.contract-checkbox-grid-small{grid-template-columns:repeat(4,minmax(130px,1fr))}
.contract-check-list label.contract-check-item{display:flex;align-items:center;gap:8px;margin:0;padding:8px 10px;border:1px solid var(--border);border-radius:9px;background:#fff;color:var(--text-primary);min-height:38px;line-height:1.3}.contract-check-item input{margin:0;flex:0 0 auto}.contract-check-item span{display:inline-block;white-space:nowrap}
.contract-preview-box.loading{color:var(--text-secondary);background:#f8fbfc}.contract-preview-box.error{border-color:rgba(199,91,86,.35);background:#fff7f7;color:#8f2f2b}.contract-preview-box.success{border-color:rgba(63,128,104,.28);background:#fbfffd}
.contract-preview-box.error b{display:block;margin-bottom:6px;color:#8f2f2b}
.contract-preview-box.error p{margin:0;color:#8f2f2b;line-height:1.7}
.contract-error-list{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:10px}
.contract-error-list span{color:var(--text-secondary);font-size:13px}
.contract-error-list em{font-style:normal;border:1px solid rgba(199,91,86,.24);border-radius:999px;background:#fff;padding:3px 9px;color:#8f2f2b;font-size:13px}
.contract-validation-box{margin:12px 0;padding:12px 14px;border:1px solid rgba(197,138,69,.34);border-radius:10px;background:#fff8ec;color:#6f4b1b}.contract-validation-box ul{margin:8px 0 0 18px;padding:0}.contract-validation-box li{margin:4px 0}
.contract-preview-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.contract-preview-summary>div{padding:11px 12px;border-radius:9px;background:#f3f6f8}.contract-preview-summary span{display:block;color:var(--text-secondary);font-size:12px;margin-bottom:4px}.contract-preview-summary b{display:block;color:var(--text-primary)}
.contract-preview-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:12px 0 4px}.contract-success-actions{display:grid;gap:8px;margin-top:12px}.contract-success-actions .actions{display:flex;gap:8px;flex-wrap:wrap}
.contract-generate-simple{padding-bottom:78px}
.contract-manual-btn{margin-left:auto}
.contract-customer-combobox{position:relative;max-width:620px;margin:12px 0}
.contract-combo-label{display:block;margin:0 0 6px;font-weight:700;color:var(--text-primary)}
.contract-combo-input{width:100%;height:42px;border:1px solid var(--border);border-radius:10px;background:#fff;padding:0 12px;color:var(--text-primary);box-shadow:0 1px 0 rgba(24,42,54,.02)}
.contract-combo-input:focus{outline:0;border-color:var(--primary);box-shadow:0 0 0 3px rgba(47,125,140,.12)}
.contract-combo-results{position:absolute;z-index:30;left:0;right:0;top:68px;max-height:320px;overflow:auto;background:#fff;border:1px solid var(--border);border-radius:12px;box-shadow:0 16px 34px rgba(24,42,54,.14);padding:6px}
.contract-customer-option{width:100%;border:0;background:#fff;text-align:left;border-radius:9px;padding:10px 12px;cursor:pointer;color:var(--text-primary)}
.contract-customer-option:hover{background:#edf5f7}
.contract-customer-option b{display:block;margin-bottom:3px}
.contract-customer-option span{display:block;color:var(--text-secondary);font-size:13px}
.contract-customer-summary-card{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:flex-start;margin:12px 0;padding:14px;border:1px solid rgba(47,125,140,.20);border-radius:12px;background:#f3fbfc}
.contract-customer-summary-card .summary-check{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--primary);color:#fff;font-weight:700}
.contract-customer-summary-card .summary-main span,.contract-service-summary span{display:block;color:var(--text-secondary);font-size:12px;margin-bottom:4px}
.contract-customer-summary-card .summary-main b,.contract-service-summary b{display:block;color:var(--text-primary);font-size:16px;margin-bottom:5px}
.contract-customer-summary-card p,.contract-service-summary p{margin:3px 0;color:var(--text-secondary);line-height:1.55}
.contract-missing-tip,.contract-core-missing-tip{color:var(--warning)!important}
.contract-optional-missing-tip{color:var(--text-secondary)!important}
.summary-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.contract-customer-fields.is-collapsed{display:none}
.contract-manual-panel{margin:12px 0;padding:12px;border:1px dashed var(--border);border-radius:12px;background:#fbfdfe}
.compact-section-head{align-items:center;margin:0}.compact-section-head h4{margin:0}.compact-section-head p{margin:4px 0 0;color:var(--text-secondary)}
.contract-params-grid{grid-template-columns:repeat(4,minmax(160px,1fr))}
.contract-more-settings{margin-top:12px}.contract-more-settings summary{cursor:pointer;font-weight:700;color:var(--primary)}
.contract-more-grid{margin-top:10px;grid-template-columns:repeat(2,minmax(160px,260px))}
.contract-service-summary{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:14px;padding:12px 14px;border-radius:12px;background:#f6fafb;border:1px solid #e5edf1}
.contract-service-details.is-closed{display:none}
.contract-service-details.is-open{margin-top:12px;border-top:1px solid var(--border);padding-top:12px}
.contract-preview-compact{padding:12px 16px}
.contract-sticky-actions{position:sticky;bottom:0;z-index:20;display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:2px;padding:12px 16px;border:1px solid var(--border);border-radius:12px;background:rgba(255,255,255,.96);box-shadow:0 -10px 26px rgba(24,42,54,.08);backdrop-filter:blur(8px)}
.contract-sticky-actions .muted{margin-right:auto}
.contract-center-page{
  max-width:1280px;
  padding:18px 20px 20px;
}
.contract-center-page>.result-head{
  margin-bottom:8px;
  align-items:center;
}
.contract-center-page>.result-head h2{
  margin-bottom:4px;
  font-size:20px;
}
.contract-center-page>.result-head p{
  font-size:14px;
}
.contract-tabs{
  gap:6px;
  margin:10px 0 14px;
  padding-bottom:10px;
}
.contract-tabs button{
  min-height:36px;
  padding:8px 14px;
  border:1px solid transparent;
  background:#EEF3F6;
  color:#344054;
}
.contract-tabs button.active{
  border-color:rgba(47,125,140,.22);
  background:#E8F5F7;
  color:var(--primary);
  font-weight:700;
}
.contract-generate-layout{
  gap:12px;
}
.contract-card,
.contract-step-card.compact-contract-step{
  border-color:#D8E4EA;
  border-radius:10px;
  padding:16px 18px;
  box-shadow:0 1px 2px rgba(24,42,54,.03);
}
.contract-step-title{
  align-items:center;
  gap:10px;
  margin-bottom:12px;
}
.contract-step-title>span{
  width:26px;
  height:26px;
  font-size:14px;
}
.contract-step-title h3{
  margin:0 0 2px;
  font-size:17px;
}
.contract-step-title p{
  font-size:13px;
  line-height:1.5;
}
.contract-template-groups{
  gap:14px;
}
.contract-template-category{
  gap:8px;
}
.contract-template-category h4{
  font-size:14px;
}
.contract-template-cards{
  gap:10px;
}
.contract-template-pick{
  min-height:84px;
  padding:14px;
  border-radius:10px;
  background:#fff;
}
.contract-template-pick b{
  margin-bottom:6px;
  color:#102A36;
  font-size:16px;
  line-height:1.35;
}
.contract-template-pick span,
.contract-template-pick small{
  color:#667985;
  font-size:12px;
}
.contract-template-pick.selected{
  background:#F3FBFC;
  box-shadow:0 0 0 2px rgba(47,125,140,.10);
}
.contract-money-input.is-suggested input{
  color:#667985;
  font-weight:500;
}
.contract-money-input.is-suggested input::placeholder{
  color:#9AAAB4;
  font-weight:500;
}
.contract-sticky-actions{
  margin-top:0;
  padding:12px 14px;
  border-radius:10px;
  box-shadow:0 -6px 18px rgba(24,42,54,.06);
}
.contract-sticky-actions .primary{
  min-width:132px;
}
.contract-sticky-actions .secondary{
  min-width:108px;
}
@media (max-width:1100px){.contract-params-grid,.contract-checkbox-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.contract-checkbox-grid-small{grid-template-columns:repeat(2,minmax(0,1fr))}.contract-preview-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:760px){.contract-params-grid,.contract-checkbox-grid,.contract-checkbox-grid-small,.contract-preview-summary{grid-template-columns:1fr}.contract-final-head{display:grid}.contract-final-head .actions{justify-content:flex-start}.contract-customer-summary-card{grid-template-columns:1fr}.summary-actions{justify-content:flex-start}.contract-sticky-actions{display:grid}.contract-sticky-actions .muted{margin-right:0}}

/* Contract generator visual cleanup 20260828 */
.contract-center-page{
  max-width:1240px;
  margin:0 auto;
  padding:18px 20px 20px;
}
.contract-center-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-bottom:14px;
  padding-bottom:12px;
  border-bottom:1px solid #E5E7EB;
}
.contract-center-toolbar .contract-tabs{
  margin:0;
  padding:0;
}
.contract-center-actions{
  flex-wrap:nowrap;
}
.contract-generate-layout.contract-step-layout{
  display:grid;
  gap:14px;
}
.contract-generate-layout .contract-card,
.contract-generate-layout .contract-step-card.compact-contract-step{
  border-color:#E5E7EB;
  border-radius:10px;
  box-shadow:none;
  padding:18px 20px;
}
.contract-generate-layout .contract-step-title{
  margin-bottom:12px;
  align-items:center;
}
.contract-generate-layout .contract-step-title h3{
  margin:0;
  font-size:17px;
}
.contract-generate-layout .contract-step-title p,
.contract-template-hint{
  display:none;
}
.contract-generate-layout .contract-template-groups{
  gap:12px;
}
.contract-generate-layout .contract-template-category{
  gap:8px;
}
.contract-generate-layout .contract-template-category h4{
  margin:0;
  color:#475467;
  font-size:13px;
  font-weight:700;
}
.contract-generate-layout .contract-template-cards{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}
.contract-generate-layout .contract-template-pick{
  min-height:72px;
  padding:13px 14px;
  border:1px solid #E5E7EB;
  border-radius:9px;
  background:#fff;
  box-shadow:none;
}
.contract-generate-layout .contract-template-pick b{
  max-width:calc(100% - 88px);
  margin:0 0 5px;
  color:#182A36;
  font-size:15px;
  line-height:1.35;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.contract-generate-layout .contract-template-pick .contract-template-version{
  color:#7A8B96;
  font-size:12px;
}
.contract-generate-layout .contract-template-pick small{
  display:none;
}
.contract-generate-layout .contract-template-pick.selected{
  border-color:#2F7D8C;
  background:#F7FCFD;
  box-shadow:0 0 0 2px rgba(47,125,140,.10);
}
.contract-generate-layout .contract-template-pick .contract-template-badges{
  top:12px;
  right:12px;
}
.contract-generate-layout .contract-params-grid{
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}
.contract-generate-layout .contract-service-summary{
  margin-top:12px;
  padding:11px 13px;
  border-color:#EDF2F4;
  border-radius:9px;
  background:#F8FAFB;
}
.contract-generate-layout .contract-service-summary b{
  margin-bottom:3px;
  font-size:15px;
}
.contract-generate-layout .contract-service-summary p{
  font-size:13px;
  line-height:1.5;
}
.contract-generate-layout .contract-preview-compact{
  padding:0;
  border:0;
  background:transparent;
}
.contract-generate-layout .contract-preview-box{
  border-style:solid;
  border-color:#E5E7EB;
  background:#fff;
}
.contract-sticky-actions{
  justify-content:flex-end;
  margin-top:0;
  padding:12px 14px;
  border-color:#E5E7EB;
  border-radius:10px;
  box-shadow:0 -4px 16px rgba(24,42,54,.05);
}
.contract-sticky-actions .muted{
  margin-right:auto;
  font-size:13px;
}
@media (max-width:1100px){
  .contract-generate-layout .contract-template-cards,
  .contract-generate-layout .contract-params-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:760px){
  .contract-center-toolbar{display:grid}
  .contract-center-actions{justify-content:flex-start}
  .contract-generate-layout .contract-template-cards,
  .contract-generate-layout .contract-params-grid{grid-template-columns:1fr}
}

/* Contract template edit modal width 20260828 */
.contract-template-modal{
  width:min(1040px,94vw);
  max-width:1040px;
  padding:22px 24px;
}
.contract-template-modal .result-head{
  align-items:flex-start;
  margin-bottom:16px;
}
.contract-template-modal .contract-form-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px 16px;
}
.contract-template-modal textarea{
  min-height:118px;
}
@media (max-width:760px){
  .contract-template-modal{
    width:min(96vw,640px);
    padding:18px;
  }
  .contract-template-modal .contract-form-grid{
    grid-template-columns:1fr;
  }
}

/* Contract service scope selector 20260828 */
.contract-service-details.is-open{
  margin-top:12px;
  padding-top:0;
  border-top:0;
}
.contract-service-panel{
  border:1px solid #E5E7EB;
  border-radius:10px;
  background:#fff;
  padding:16px;
}
.contract-service-choice-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin-bottom:14px;
}
.contract-service-choice,
.contract-check-list label.contract-check-item{
  display:flex;
  align-items:center;
  gap:8px;
  min-height:38px;
  margin:0;
  padding:8px 10px;
  border:1px solid #E5E7EB;
  border-radius:8px;
  background:#fff;
  color:#182A36;
  line-height:1.3;
  cursor:pointer;
  overflow:hidden;
}
.contract-service-choice input,
.contract-check-list label.contract-check-item input{
  width:14px;
  height:14px;
  margin:0;
  flex:0 0 auto;
}
.contract-service-choice b,
.contract-check-list label.contract-check-item span{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:14px;
}
.contract-service-choice span{
  display:none;
}
.contract-service-choice:has(input:checked),
.contract-service-choice.is-selected,
.contract-check-list label.contract-check-item:has(input:checked),
.contract-check-list label.contract-check-item.is-selected{
  border-color:rgba(47,125,140,.38);
  background:#F3FBFC;
  color:#1F6F7C;
}
.contract-check-list{
  gap:16px;
  margin-top:0;
}
.contract-check-section{
  gap:10px;
}
.contract-check-list h4{
  margin:0;
  font-size:14px;
  color:#344054;
}
.contract-checkbox-grid,
.contract-checkbox-grid-small{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:9px;
}
.contract-service-panel-footer{
  display:flex;
  justify-content:flex-end;
  gap:10px;
  margin-top:16px;
  padding-top:14px;
  border-top:1px solid #EEF2F4;
}
.contract-report-scope-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
.contract-report-scope-grid label,
.contract-other-scope{
  display:flex;
  flex-direction:column;
  gap:6px;
  color:#344054;
  font-weight:600;
}
.contract-report-scope-grid .full-span{
  grid-column:1 / -1;
}
.contract-report-scope-grid input,
.contract-report-scope-grid select,
.contract-report-scope-grid textarea,
.contract-other-scope textarea{
  border:1px solid #DCE5EA;
  border-radius:8px;
  padding:9px 10px;
  background:#fff;
}
@media (max-width:900px){
  .contract-service-choice-grid,
  .contract-checkbox-grid,
  .contract-checkbox-grid-small,
  .contract-report-scope-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media (max-width:560px){
  .contract-service-choice-grid,
  .contract-checkbox-grid,
  .contract-checkbox-grid-small,
  .contract-report-scope-grid{
    grid-template-columns:1fr;
  }
}

/* Task status closure 20260828 */
.status-subreason{display:inline-flex;align-items:center;max-width:150px;margin-left:6px;padding:2px 7px;border-radius:999px;background:#fff7ed;color:#9a6a2f;font-size:12px;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;vertical-align:middle}
.overdue-tag{margin-left:6px}
.task-workbench-card.status-gray:before{background:#A8B6BF}
.task-workbench-card.status-red:before{background:var(--danger)}
.task-terminate-card{width:min(460px,92vw);padding:22px;border-radius:12px;background:var(--card-bg)}
.task-terminate-card label{display:block;margin-top:14px;font-size:14px;color:var(--text-primary)}
.task-terminate-card label span{display:block;margin-bottom:6px;font-weight:700}
.task-terminate-card select,.task-terminate-card textarea{width:100%;border:1px solid var(--border);border-radius:8px;padding:9px 10px;background:#fff;color:var(--text-primary)}
.task-card-inline-editor{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.task-card-inline-editor .inline-editor{min-width:112px;height:34px}

/* Task create/edit modal layout polish 20260828 */
.task-create-card{
  width:min(980px,96vw);
  max-height:90vh;
  overflow:auto;
  padding:22px 24px;
  border-radius:10px;
}
.task-create-head{align-items:flex-start;margin-bottom:14px}
.task-create-head h2{margin-bottom:4px}
.task-create-modern{
  display:grid;
  grid-template-columns:1fr;
  gap:14px;
}
.task-create-section{
  border:1px solid #e5edf1;
  border-radius:10px;
  background:#fff;
  padding:16px;
}
.task-create-section label{
  display:grid;
  gap:6px;
  margin:0;
  color:var(--text-primary);
  font-weight:700;
}
.task-create-section label span{
  font-size:13px;
  color:#405362;
}
.task-create-section input,
.task-create-section select,
.task-create-section textarea{
  width:100%;
  min-height:38px;
  border:1px solid var(--border);
  border-radius:8px;
  background:#fff;
  color:var(--text-primary);
  padding:8px 10px;
  font-size:14px;
}
.task-create-section textarea{
  min-height:118px;
  line-height:1.55;
  resize:vertical;
}
.task-title-field input{
  min-height:42px;
  font-size:16px;
  font-weight:700;
}
.task-core-grid{
  display:grid;
  grid-template-columns:minmax(160px,210px) minmax(150px,180px) minmax(110px,130px) minmax(110px,130px);
  gap:12px 14px;
  align-items:end;
  margin-top:12px;
}
.task-create-secondary{
  display:grid;
  grid-template-columns:minmax(280px,1.2fr) minmax(220px,.9fr) minmax(140px,.55fr) minmax(180px,.75fr);
  gap:12px 14px;
  align-items:start;
}
.task-customer-pick{
  display:grid;
  gap:8px;
}
.task-create-content{
  display:grid;
  grid-template-columns:minmax(260px,.8fr) minmax(420px,1.4fr);
  gap:12px 14px;
  align-items:start;
}
.task-create-attachments{
  display:grid;
  grid-template-columns:minmax(260px,.7fr) minmax(360px,1fr);
  gap:12px 14px;
  align-items:start;
  background:#fbfdfe;
}
.task-create-attachments small{
  color:var(--text-secondary);
  font-weight:400;
}
.task-create-files{
  min-height:38px;
  padding:8px 10px;
  align-content:start;
  background:#fff;
}
.task-create-actions{
  display:flex;
  justify-content:flex-end;
  gap:10px;
  margin-top:2px;
  padding-top:12px;
  border-top:1px solid #edf2f4;
}
.task-create-actions button{min-width:86px;height:38px}
.task-create-modern .task-customer-results{
  min-height:38px;
  padding:8px 10px;
  font-size:13px;
}
.task-create-modern .task-customer-results button{
  margin-bottom:6px;
}
.task-detail-page-card{
  padding:22px 24px;
}
.task-detail-page-head{
  align-items:flex-start;
  margin-bottom:14px;
}
.task-detail-page-grid{
  grid-template-columns:minmax(240px,.85fr) minmax(420px,1.45fr) minmax(280px,.9fr);
  gap:16px;
}
.task-detail-page-card section,
.task-detail-page-card aside{
  padding:16px;
}
.task-detail-right{
  gap:12px;
}
.task-detail-right h3{
  margin-top:4px;
}
.task-detail-right label{
  gap:6px;
  font-size:13px;
}
.task-detail-right select,
.task-detail-right input,
.task-detail-right textarea,
.task-detail-bottom textarea{
  min-height:38px;
  border-radius:8px;
  padding:8px 10px;
  font-size:14px;
}
.task-detail-right textarea{
  min-height:96px;
  line-height:1.55;
}
.task-detail-right .actions{
  justify-content:flex-end;
  margin-top:2px;
}
.task-detail-right .actions button,
.task-detail-right > button{
  min-height:36px;
}
.task-detail-bottom{
  margin-top:14px;
}
.task-detail-bottom .actions{
  justify-content:flex-end;
  gap:8px;
  margin-top:10px;
}
@media(max-width:980px){
  .task-core-grid,
  .task-create-secondary,
  .task-create-content,
  .task-create-attachments{
    grid-template-columns:1fr 1fr;
  }
  .task-customer-pick,
  .task-create-content label:last-child,
  .task-create-attachments .task-create-files{
    grid-column:1/-1;
  }
}
@media(max-width:680px){
  .task-create-card{width:96vw;padding:16px}
  .task-core-grid,
  .task-create-secondary,
  .task-create-content,
  .task-create-attachments{
    grid-template-columns:1fr;
  }
}

/* Enterprise data lookup 20260828 */
.customer-company-lookup{border:1px solid rgba(47,125,140,.18)!important;background:#f7fbfc!important}
.customer-company-lookup input{width:100%;min-height:40px;border:1px solid var(--border);border-radius:8px;padding:9px 10px;background:#fff;color:var(--text-primary)}
.customer-info-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 14px}
.customer-info-card-head h3{margin:0}
.customer-info-card-head .compact{
  min-height:30px;
  padding:5px 10px;
  font-size:13px;
  line-height:1.2;
  white-space:nowrap;
}
.company-lookup-result{margin-top:10px}
.company-lookup-list{display:grid;gap:8px}
.company-lookup-option{width:100%;border:1px solid var(--border);border-radius:10px;background:#fff;padding:10px 12px;text-align:left;cursor:pointer;color:var(--text-primary)}
.company-lookup-option:hover{border-color:rgba(47,125,140,.42);background:#eef7f9}
.company-lookup-option b{display:block;margin-bottom:4px}
.company-lookup-option span,.company-lookup-option small{display:block;color:var(--text-secondary);font-size:13px;line-height:1.55}
.company-lookup-empty,.contract-company-lookup-empty{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px dashed var(--border);border-radius:10px;background:#fff;padding:12px;color:var(--text-secondary)}
.company-lookup-result.warning{border:1px solid rgba(197,138,69,.35);border-radius:10px;background:#fff8ec;padding:12px;color:#7b5521}
.company-lookup-picked{border:1px solid rgba(47,125,140,.22);border-radius:10px;background:#f2fafb;padding:10px 12px;color:var(--text-primary);font-size:13px}
.company-lookup-source-note{padding:7px 9px;color:var(--text-secondary);font-size:12px}
.contract-company-option small{margin-top:3px}
.contract-save-customer-option{display:flex;align-items:center;gap:8px;margin:10px 0 0;color:var(--text-primary);font-size:14px}
.contract-save-customer-option input{margin:0}

/* Customer edit density and address service files 20260828 */
.customer-two-detail{
  width:min(1460px,98vw);
  padding:22px 30px 26px;
  font-size:15px;
}
.customer-two-detail>.result-head{
  margin-bottom:10px;
  padding-bottom:10px;
}
.customer-two-detail .detail-tabs{
  margin-bottom:10px;
}
.customer-detail-groups{
  gap:12px;
  align-items:start;
}
.customer-detail-groups .customer-info-card{
  padding:14px;
  border-radius:10px;
  box-shadow:none;
}
.customer-detail-groups.editable .customer-info-card:first-child{
  padding:12px 14px;
}
.customer-detail-groups.editable .customer-info-card:nth-child(3),
.customer-detail-groups.editable .customer-info-card:nth-child(4){
  min-height:unset;
}
.customer-info-card h3{
  margin-bottom:9px;
  font-size:15px;
}
.customer-info-card-head{
  margin-bottom:9px;
}
.customer-info-card-head .compact{
  min-height:28px;
  padding:4px 9px;
  font-size:12px;
}
.customer-field-grid{
  gap:8px 12px;
}
.customer-field{
  gap:4px;
}
.customer-field b,
.customer-field input,
.customer-field select,
.customer-field textarea{
  min-height:32px;
}
.customer-field input,
.customer-field select,
.customer-field textarea{
  padding:6px 9px;
}
.customer-info-card .meta{
  margin-top:7px;
}
.compact-fee-card .customer-fee-inline{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.compact-fee-card .customer-field b{
  min-height:32px;
  font-size:15px;
}
.compact-fee-card .customer-field input{
  font-size:15px;
  font-weight:700;
}
.address-service-card h3{
  display:flex;
  align-items:center;
  gap:8px;
}
.address-service-state{
  display:inline-flex;
  align-items:center;
  min-height:20px;
  padding:1px 8px;
  border-radius:999px;
  background:#EEF7F9;
  color:var(--primary);
  font-size:12px;
  font-weight:800;
}
.address-service-card .address-service-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.address-resource-picker{
  gap:8px;
}
.address-resource-picker button{
  min-height:32px;
  padding:5px 9px;
}
.address-related-files{
  margin-top:10px;
  padding-top:10px;
  border-top:1px solid #E7EEF2;
}
.address-related-files h4{
  margin:0 0 8px;
  color:var(--text-primary);
  font-size:14px;
}
.address-service-files{
  display:grid;
  gap:8px;
}
.address-file-upload-line{
  position:relative;
  min-height:34px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:6px 10px;
  border:1px dashed #B7CBD4;
  border-radius:8px;
  background:#F8FBFC;
  color:var(--text-secondary);
  font-size:13px;
  cursor:pointer;
  outline:none;
}
.address-file-upload-line:hover,
.address-file-upload-line:focus,
.address-file-upload-line.active{
  border-color:var(--primary);
  background:#EFF7F9;
  color:var(--primary);
}
.address-file-upload-line input{
  position:absolute;
  inset:0;
  opacity:0;
  cursor:pointer;
}
.address-file-list{
  display:grid;
  gap:7px;
}
.address-file-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:8px 10px;
  border:1px solid #E3EBEF;
  border-radius:8px;
  background:#FBFCFD;
}
.address-file-row b{
  display:block;
  max-width:340px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:var(--text-primary);
  font-size:13px;
}
.address-file-row p{
  margin:3px 0 0;
  color:var(--text-secondary);
  font-size:12px;
}
.address-file-row .actions{
  flex:0 0 auto;
  gap:6px;
}
.address-file-row .actions button{
  min-height:28px;
  padding:4px 8px;
  font-size:12px;
}
@media(max-width:980px){
  .customer-two-detail{padding:18px 16px}
  .compact-fee-card .customer-fee-inline,
  .address-service-card .address-service-grid{
    grid-template-columns:1fr;
  }
  .address-file-row{align-items:flex-start;flex-direction:column}
}

/* Renewal payment and document template polish 20260828 */
.renewal-page{max-width:1280px;margin:0 auto}
.renewal-head{align-items:center;margin-bottom:14px}
.renewal-head h2{margin:0}
.renewal-stats{
  display:grid;
  grid-template-columns:repeat(4,minmax(120px,1fr));
  gap:12px;
  margin-bottom:14px;
}
.renewal-stats div{
  border:1px solid #e5e7eb;
  border-radius:9px;
  background:#fff;
  padding:12px 14px;
}
.renewal-stats span{
  display:block;
  color:#64748b;
  font-size:13px;
  margin-bottom:4px;
}
.renewal-stats b{
  color:#0f2d3d;
  font-size:22px;
  line-height:1.1;
}
.renewal-table th,.renewal-table td{
  white-space:nowrap;
}
.renewal-table th:first-child,.renewal-table td:first-child{
  min-width:220px;
}
.renewal-table th:nth-child(2),.renewal-table td:nth-child(2){
  min-width:140px;
}
.template-upload-form{
  margin-top:14px;
}
.template-manage-row .actions{
  flex-wrap:nowrap;
}

/* Customer Q&A and tax knowledge cleanup 20260831 */
.qa-page,.tax-kb-page,.kb-manage-page{max-width:1280px;margin:0 auto;padding:0 4px 28px}
.qa-toolbar,.tax-kb-search-card,.kb-manage-head,.kb-manage-panel{background:#fff;border:1px solid #E2E8EF;border-radius:10px;padding:18px 20px;box-shadow:0 8px 20px rgba(24,42,54,.035)}
.qa-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:12px}
.qa-search{display:grid;grid-template-columns:minmax(360px,1fr) auto auto;gap:10px;align-items:center;flex:1}
.qa-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px}
.qa-tabs button{border:1px solid #D6E1E8;background:#F7FAFC;color:#334155;border-radius:999px;padding:7px 13px;cursor:pointer}
.qa-tabs button.active{border-color:#2B8794;background:#EAF7F9;color:#1D6F7A;font-weight:700}
.qa-list{background:#fff;border:1px solid #E2E8EF;border-radius:10px;padding:14px 16px}
.qa-count{font-size:13px;color:#64748B;margin:0 0 10px}
.qa-cards{display:grid;gap:10px}
.qa-card{border:1px solid #E4EBF0;border-radius:9px;background:#fff;padding:14px 16px}
.qa-card:hover{border-color:#BCD2DC;background:#FCFEFF}
.qa-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.qa-question h3{margin:0 0 7px;font-size:17px;line-height:1.35;color:#102033}
.qa-question span,.tax-kb-meta span,.kb-status{display:inline-flex;align-items:center;border-radius:999px;padding:3px 9px;font-size:12px;font-weight:700}
.qa-question span{background:#EDF8F7;color:#20717A}
.qa-actions,.kb-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.qa-actions .subtle{background:#F5F8FA}
.qa-more{position:relative}
.qa-more summary{list-style:none;border:1px solid #DDE7ED;background:#F4F7F9;border-radius:7px;padding:8px 11px;cursor:pointer}
.qa-more summary::-webkit-details-marker{display:none}
.qa-more div{position:absolute;right:0;top:38px;z-index:30;min-width:132px;padding:6px;background:#fff;border:1px solid #DCE5EB;border-radius:8px;box-shadow:0 10px 26px rgba(15,23,42,.12)}
.qa-more button{display:block;width:100%;border:0;background:transparent;text-align:left;padding:8px 10px;border-radius:6px;color:#1F2937;cursor:pointer}
.qa-more button:hover{background:#F4F7F9}
.danger-text{color:#B42318!important}
.qa-reply{margin-top:12px;background:#F8FBFC;border:1px solid #E6EEF2;border-radius:8px;padding:11px 12px}
.qa-reply b,.qa-internal b{display:block;margin-bottom:5px;color:#1F2A44}
.qa-reply p,.qa-internal p{margin:0;color:#23364A;line-height:1.65}
.qa-internal{margin-top:10px;color:#475569}
.qa-internal p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:#526170}
.qa-internal.expanded p{display:block;white-space:pre-wrap;color:#23364A}
.qa-pager{display:flex;align-items:center;justify-content:flex-end;gap:9px;margin-top:12px}
.qa-drawer-backdrop,.kb-drawer-backdrop{position:fixed;inset:0;z-index:1000;background:rgba(24,42,54,.34);display:flex;justify-content:flex-end}
.qa-drawer,.kb-drawer{width:min(620px,calc(100vw - 30px));height:100%;background:#fff;padding:20px;box-shadow:-14px 0 32px rgba(15,23,42,.16);overflow:auto}
.qa-drawer-head,.kb-drawer-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid #E5EDF2}
.qa-drawer-head h2,.kb-drawer-head h2{margin:0;font-size:20px;color:#102033}
.qa-drawer-form,.kb-drawer-form{display:grid;gap:12px}
.qa-drawer-form label,.kb-drawer-form label{display:grid;gap:6px;font-weight:700;color:#243447}
.qa-drawer-form textarea,.kb-drawer-form textarea{resize:vertical;line-height:1.6}
.qa-drawer-actions,.kb-drawer-actions{position:sticky;bottom:0;background:#fff;padding-top:12px;display:flex;justify-content:flex-end;gap:10px}
.hidden{display:none!important}
.tax-kb-search-card{display:grid;grid-template-columns:minmax(240px,.8fr) minmax(360px,1.2fr);gap:16px;align-items:center;margin-bottom:14px}
.tax-kb-search-card h2,.kb-manage-head h2{margin:0 0 6px;color:#102033}
.tax-kb-search-card p,.kb-manage-head p{margin:0;color:#64748B;line-height:1.6}
.tax-kb-search{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}
.tax-kb-tags{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px}
.tax-kb-list{display:grid;gap:10px}
.tax-kb-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:start;background:#fff;border:1px solid #E2E8EF;border-radius:9px;padding:14px 16px}
.tax-kb-card h3{margin:0 0 8px;font-size:17px;color:#102033}
.tax-kb-card p{margin:0;color:#334155;line-height:1.7}
.tax-kb-meta{display:flex;align-items:flex-end;flex-direction:column;gap:7px;color:#64748B;white-space:nowrap}
.tax-kb-meta span{background:#F1F5F9;color:#64748B}
.tax-kb-employee-head{grid-template-columns:minmax(260px,1fr) auto}
.tax-kb-head-actions{display:flex;justify-content:flex-end}
.tax-kb-employee-head .tax-kb-search{grid-column:1/-1;grid-template-columns:minmax(0,1fr) auto auto}
.tax-kb-tags .active{background:#E8F4F1;color:#1F7A86;border-color:#B9DEE4}
.tax-kb-section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:2px 0 10px}
.tax-kb-section-title h3{margin:0;font-size:18px;color:#102033}
.tax-kb-section-title span{font-size:13px;color:#64748B}
.tax-kb-table-wrap{background:#fff;border:1px solid #E2E8EF;border-radius:10px;overflow:hidden}
.tax-kb-table{width:100%;border-collapse:collapse;table-layout:fixed}
.tax-kb-table th{background:#F1F6F8;color:#34495A;text-align:left;font-weight:800;font-size:13px;padding:12px 14px;border-bottom:1px solid #DDE7ED}
.tax-kb-table td{padding:12px 14px;border-bottom:1px solid #EEF3F6;color:#334155;vertical-align:middle}
.tax-kb-table tr:last-child td{border-bottom:0}
.tax-kb-table tbody tr{cursor:pointer}
.tax-kb-table tbody tr:hover{background:#F8FBFC}
.tax-kb-table th:nth-child(1),.tax-kb-table td:nth-child(1){width:52%}
.tax-kb-table th:nth-child(2),.tax-kb-table td:nth-child(2){width:18%}
.tax-kb-table th:nth-child(3),.tax-kb-table td:nth-child(3){width:15%}
.tax-kb-table th:nth-child(4),.tax-kb-table td:nth-child(4){width:15%}
.tax-kb-title-btn{border:0;background:transparent;padding:0;margin:0;color:#102033;font-size:15px;font-weight:800;text-align:left;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}
.tax-kb-title-btn:hover{color:#1F7A86;text-decoration:underline}
.tax-kb-reader-backdrop{position:fixed;inset:0;z-index:1000;background:rgba(24,42,54,.34);display:flex;align-items:center;justify-content:center;padding:24px}
.tax-kb-reader{width:min(80vw,1200px);height:88vh;max-width:1240px;max-height:calc(100dvh - 32px);background:#fff;border:1px solid #DCE6EC;border-radius:10px;box-shadow:0 24px 70px rgba(15,23,42,.22);display:flex;flex-direction:column;overflow:hidden}
.tax-kb-reader-head{flex:0 0 auto;display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:22px 28px 18px;border-bottom:1px solid #E2E8EF;background:#fff}
.tax-kb-reader-title{min-width:0}
.tax-kb-reader-title h2{margin:0;color:#102033;font-size:24px;line-height:1.35;letter-spacing:0}
.tax-kb-reader-title p{margin:8px 0 0;color:#64748B;font-size:13px;line-height:1.6}
.tax-kb-reader-close{flex:0 0 auto;width:36px;height:36px;border:1px solid #DCE6EC;border-radius:8px;background:#fff;color:#334155;font-size:22px;line-height:1;cursor:pointer}
.tax-kb-reader-close:hover{background:#F8FBFC;color:#102033}
.tax-kb-reader-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;background:#FBFCFD;padding:28px 24px}
.tax-kb-reader-body{width:min(860px,100%);margin:0 auto;display:grid;gap:28px}
.tax-kb-reader-actions{flex:0 0 auto;display:flex;justify-content:flex-end;gap:10px;padding:14px 28px;border-top:1px solid #E2E8EF;background:#fff}
.tax-kb-source-link{display:inline-flex;margin-top:10px;color:#1F7A86;font-weight:800;text-decoration:none}
.tax-kb-source-link:hover{text-decoration:underline}
.tax-kb-detail-content{line-height:1.78;color:#263744;background:transparent;border:0;border-radius:0;padding:0}
.tax-kb-detail-content>h3{margin:0 0 18px;padding-bottom:12px;border-bottom:1px solid #DCE6EC;font-size:21px;line-height:1.35;color:#102033;letter-spacing:0}
.tax-kb-detail-content .tax-kb-section{padding:18px 0;border-top:1px solid #E8EEF2}
.tax-kb-detail-content .tax-kb-section:first-of-type{border-top:0;padding-top:0}
.tax-kb-detail-content .tax-kb-section h3{margin:0 0 10px;font-size:16px;line-height:1.45;color:#102033}
.tax-kb-detail-content .tax-kb-section:first-of-type{background:#F3F8F7;border:1px solid #D8E8E4;border-radius:8px;padding:16px 18px}
.tax-kb-detail-content .tax-kb-section:first-of-type h3{color:#0F5F59}
.tax-kb-detail-content p{margin:0 0 12px;font-size:15px}
.tax-kb-detail-content ol{margin:0 0 12px 22px;padding:0}
.tax-kb-detail-content li{margin:0 0 10px;line-height:1.78}
.kb-render-li{position:relative;padding-left:18px}
.kb-render-li::before{content:"";position:absolute;left:3px;top:.78em;width:5px;height:5px;border-radius:50%;background:#94A3B8}
.tax-kb-fetch-failed{color:#B42318;background:#FFF4F2;border:1px solid #FECACA;border-radius:8px;padding:10px 12px}
.tax-kb-source-box{padding:16px 0 0;border-top:1px solid #DCE6EC;color:#64748B}
.tax-kb-source-box h3{margin:0 0 12px;font-size:18px;color:#334155}
.tax-kb-source-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px 22px}
.tax-kb-source-box p{display:grid;grid-template-columns:82px minmax(0,1fr);gap:10px;margin:0;color:#334155;line-height:1.6}
.tax-kb-source-box span{color:#64748B}
.tax-kb-source-box strong{font-weight:700;color:#263744}
.tax-kb-source-box a{color:#1F7A86;font-weight:800;text-decoration:none}
.tax-kb-source-box a:hover{text-decoration:underline}
.kb-manage-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px}
.kb-manage-toolbar{display:grid;grid-template-columns:minmax(320px,1fr) 180px 130px auto;gap:10px;align-items:center;margin-bottom:12px}
.kb-table{width:100%;border-collapse:separate;border-spacing:0}
.kb-table th{background:#EEF4F7;color:#243447;text-align:left;font-weight:800;padding:11px 12px;border-bottom:1px solid #DCE6EC}
.kb-table td{padding:12px;border-bottom:1px solid #EEF2F5;vertical-align:middle;color:#334155}
.kb-table tr:hover td{background:#FAFCFD}
.kb-table td:first-child{min-width:300px}
.kb-table td:first-child b{display:block;max-width:420px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#102033}
.kb-table td:first-child p{margin:4px 0 0;max-width:500px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#64748B;font-size:12px}
.kb-table .is-disabled td{color:#94A3B8}
.kb-status.on{background:#E8F7EF;color:#15803D}
.kb-status.off{background:#F1F5F9;color:#64748B}
.kb-actions a{min-height:34px;display:inline-flex;align-items:center;text-decoration:none}
@media(max-width:900px){
  .qa-toolbar,.kb-manage-head{display:block}
  .qa-toolbar .primary,.kb-manage-head .actions{margin-top:10px}
  .qa-search,.tax-kb-search-card,.kb-manage-toolbar,.tax-kb-card{grid-template-columns:1fr}
  .qa-card-head{display:block}
  .qa-actions{margin-top:10px}
  .tax-kb-meta{align-items:flex-start;white-space:normal}
  .tax-kb-employee-head .tax-kb-search{grid-template-columns:1fr}
  .tax-kb-table{table-layout:auto}
  .tax-kb-reader-backdrop{padding:0;align-items:stretch}
  .tax-kb-reader{width:100vw;height:100dvh;max-width:100vw;max-height:100dvh;border:0;border-radius:0;box-shadow:none}
  .tax-kb-reader-head{padding:16px 18px 14px}
  .tax-kb-reader-title h2{font-size:19px}
  .tax-kb-reader-scroll{padding:20px 16px}
  .tax-kb-reader-body{width:100%;gap:24px}
  .tax-kb-reader-actions{padding:12px 16px}
  .tax-kb-source-grid{grid-template-columns:1fr}
}

/* Task detail modal layout polish 20260831 */
.task-detail-page-backdrop{
  align-items:center!important;
  justify-content:center!important;
  padding:18px!important;
  background:rgba(20,36,48,.34)!important;
}
.task-detail-page-card{
  width:min(1320px,96vw)!important;
  max-height:90vh!important;
  padding:0!important;
  overflow:hidden!important;
  display:flex!important;
  flex-direction:column!important;
  border-radius:10px!important;
  box-shadow:0 18px 42px rgba(15,35,48,.18)!important;
}
.task-detail-page-head{
  position:sticky!important;
  top:0!important;
  z-index:4!important;
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:18px!important;
  padding:18px 22px 14px!important;
  margin:0!important;
  background:#fff!important;
  border-bottom:1px solid #E5E7EB!important;
}
.task-detail-title-block{min-width:0;display:grid;gap:6px}
.task-detail-kicker{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
  color:#64748B;
  font-size:13px;
  line-height:1.3;
}
.task-detail-page-head h2{
  margin:0!important;
  max-width:920px;
  color:#102033;
  font-size:22px;
  line-height:1.35;
  font-weight:800;
}
.task-business-chip,.task-status-chip{
  display:inline-flex;
  align-items:center;
  min-height:22px;
  padding:0 8px;
  border-radius:999px;
  background:#EEF6F8;
  color:#1F7A86;
  font-size:12px;
  font-weight:700;
  white-space:nowrap;
}
.task-status-chip{background:#EEF2F6;color:#475569}
.task-status-chip.gray{background:#EEF2F6;color:#475569}
.task-status-chip.blue{background:#EAF7FA;color:#1F7A86}
.task-status-chip.green{background:#E8F7EF;color:#15803D}
.task-status-chip.orange{background:#FFF7E6;color:#B45309}
.task-status-chip.red{background:#FDECEC;color:#B91C1C}
.task-status-chip.done{background:#E8F7EF;color:#15803D}
.task-status-chip.doing{background:#EAF7FA;color:#1F7A86}
.task-status-chip.waiting{background:#FFF7E6;color:#B45309}
.task-status-chip.overdue{background:#FDECEC;color:#B91C1C}
.task-detail-scroll{
  min-height:0;
  overflow:auto;
  padding:18px 22px 20px;
  background:#F6F9FB;
}
.task-detail-page-grid{
  display:grid!important;
  grid-template-columns:minmax(0,7fr) minmax(300px,3fr)!important;
  gap:18px!important;
  align-items:start!important;
}
.task-detail-main,.task-detail-right{
  display:grid!important;
  gap:16px!important;
  align-content:start!important;
}
.task-detail-page-card .task-detail-section{
  border:1px solid #E5E7EB!important;
  background:#fff!important;
  border-radius:10px!important;
  padding:16px!important;
  box-shadow:none!important;
}
.task-detail-page-card .task-detail-section h3{
  margin:0 0 12px!important;
  color:#102033!important;
  font-size:16px!important;
  line-height:1.3!important;
  font-weight:800!important;
}
.task-section-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:12px;
}
.task-section-head h3{margin:0!important}
.task-section-head span{color:#64748B;font-size:13px;white-space:nowrap}
.task-meta-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px 22px;
}
.task-meta-grid p{
  display:grid;
  grid-template-columns:64px minmax(0,1fr);
  gap:10px;
  align-items:baseline;
  margin:0!important;
  color:#102033!important;
  line-height:1.45!important;
}
.task-meta-grid b{
  display:block!important;
  margin:0!important;
  color:#718096!important;
  font-size:12px!important;
  font-weight:700!important;
}
.task-meta-grid span{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#1F2D3D;
  font-size:14px;
}
.task-business-object-list{
  display:grid;
  gap:8px;
  margin-top:14px;
  padding-top:14px;
  border-top:1px solid #EEF2F5;
}
.task-business-object-list p,
.task-invoice-grid p{
  display:grid;
  grid-template-columns:132px minmax(0,1fr);
  gap:10px;
  align-items:baseline;
  margin:0!important;
}
.task-business-object-list b,
.task-invoice-grid b{
  color:#718096!important;
  font-size:12px!important;
}
.task-business-object-list span,
.task-invoice-grid span{
  min-width:0;
  color:#1F2D3D;
  word-break:break-word;
}
.task-invoice-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px 18px;
}
.task-invoice-grid .wide{grid-column:1/-1}
.task-invoice-items{
  margin-top:14px;
  padding-top:14px;
  border-top:1px solid #EEF2F5;
}
.task-invoice-items h4{
  margin:0 0 8px;
  color:#102033;
  font-size:14px;
  font-weight:800;
}
.task-invoice-item{
  display:grid;
  grid-template-columns:minmax(120px,.55fr) minmax(0,1fr);
  gap:12px;
  align-items:center;
  padding:9px 10px;
  border:1px solid #EEF2F5;
  border-radius:8px;
  background:#FAFCFD;
}
.task-invoice-item + .task-invoice-item{margin-top:8px}
.task-invoice-item b{color:#102033}
.task-invoice-item span{color:#475569}
.task-attachment-list .task-attachment-clue{
  border-style:dashed;
  background:#FFFDF7;
}
.task-attachment-list .task-attachment-clue b::before{content:'📄 ';font-weight:400}
.task-attachment-actions{
  display:flex;
  justify-content:flex-start;
}
.task-attachment-actions button{
  min-height:34px;
}
.task-attachment-row-actions{
  display:flex!important;
  gap:8px;
  margin:8px 0 0!important;
}
.task-attachment-row-actions a{
  text-decoration:none;
  min-height:30px;
  padding:6px 10px;
}
.task-original-block{
  margin-top:14px;
  padding-top:14px;
  border-top:1px solid #EEF2F5;
}
.task-main-description{
  margin-top:14px;
  padding:12px 14px;
  border:1px solid #E8EEF3;
  border-radius:8px;
  background:#F8FBFC;
}
.task-main-description b{
  display:block;
  margin-bottom:6px;
  color:#102033;
  font-size:14px;
}
.task-main-description p{
  margin:0;
  color:#263746;
  line-height:1.7;
}
.task-original-details,
.assistant-source-raw{
  border:1px solid #E8EEF3;
  border-radius:8px;
  background:#FAFCFD;
}
.task-original-details summary,
.assistant-source-raw summary{
  cursor:pointer;
  padding:10px 12px;
  color:#52677A;
  font-size:14px;
  font-weight:700;
}
.task-original-details .task-original-block{
  margin-top:0;
  padding:0 12px 12px;
  border-top:0;
}
.task-original-block h4{
  margin:0 0 8px;
  color:#102033;
  font-size:14px;
  font-weight:800;
}
.task-detail-page-card .task-original-block pre{
  max-height:128px!important;
  margin:0!important;
  padding:10px 12px!important;
  border:1px solid #EEF2F5;
  border-radius:8px;
  background:#F8FBFC!important;
  color:#334155!important;
  font-size:13px;
  line-height:1.65!important;
}
.task-detail-flow-row{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:10px!important;
  margin:0 0 12px!important;
}
.task-detail-flow-row select{min-width:0}
.task-detail-flow-row button{height:36px;min-width:72px}
.task-detail-flow-section .task-flow-line{margin-top:2px}
.task-detail-step-list{
  margin-top:12px!important;
  gap:8px!important;
}
.task-detail-step-list p{
  grid-template-columns:28px minmax(0,1fr) 78px!important;
  padding:8px 10px!important;
  border-color:#E8EEF3!important;
  background:#FAFCFD!important;
}
.task-detail-step-list p.current{
  border-color:rgba(47,125,140,.36)!important;
  background:#F1FAFB!important;
}
.task-empty-line{
  min-height:32px;
  display:flex;
  align-items:center;
  color:#94A3B8;
  font-size:13px;
}
.task-detail-right{
  position:sticky;
  top:0;
}
.task-handle-panel,.task-handover-panel{
  display:grid;
  gap:12px;
}
.task-detail-right label{
  display:grid!important;
  gap:6px!important;
  color:#64748B!important;
  font-size:13px!important;
  font-weight:700!important;
}
.task-detail-right select,
.task-detail-right input,
.task-detail-right textarea,
.task-detail-remark textarea{
  width:100%!important;
  min-height:38px!important;
  border-radius:8px!important;
  padding:8px 10px!important;
  font-size:14px!important;
}
.task-detail-right textarea{
  min-height:116px!important;
  line-height:1.55!important;
  resize:vertical;
}
.task-handle-panel #saveTaskSide,
.task-handover-panel > button,
.task-handover-form button{
  width:100%;
  justify-content:center;
  min-height:38px;
}
.task-handover-form[hidden]{display:none!important}
.task-handover-form{
  display:grid;
  gap:12px;
  padding-top:12px;
  border-top:1px solid #EEF2F5;
}
.task-detail-bottom{
  width:100%!important;
  margin:16px 0 0!important;
}
.task-record-timeline{
  display:grid;
  gap:10px;
}
.task-record-timeline p{
  display:grid;
  grid-template-columns:14px 140px minmax(0,1fr);
  gap:10px;
  align-items:start;
  margin:0!important;
  color:#334155!important;
  line-height:1.45!important;
}
.task-record-timeline i{
  width:8px;
  height:8px;
  margin-top:6px;
  border-radius:50%;
  background:#2F7D8C;
}
.task-record-timeline time{
  color:#64748B;
  font-size:12px;
  white-space:nowrap;
}
.task-record-timeline span{
  min-width:0;
  color:#243447;
  font-size:13px;
}
.task-detail-remark textarea{
  min-height:72px!important;
  line-height:1.55;
  resize:vertical;
}
.task-detail-remark .actions{
  justify-content:flex-end!important;
  gap:8px!important;
  margin-top:10px!important;
}
@media(max-width:980px){
  .task-detail-page-grid{grid-template-columns:1fr!important}
  .task-detail-right{position:static}
  .task-meta-grid{grid-template-columns:1fr}
}

.sino-toast-stack{position:fixed;top:22px;right:24px;z-index:120;display:grid;gap:10px;width:min(360px,calc(100vw - 48px));pointer-events:none}
.sino-toast{display:flex;align-items:flex-start;gap:10px;min-height:42px;padding:11px 13px;border:1px solid var(--border);border-radius:9px;background:#fff;color:var(--text-primary);box-shadow:0 12px 28px rgba(24,42,54,.12);font-size:14px;line-height:1.45;opacity:0;transform:translateY(-8px);transition:opacity .2s ease,transform .2s ease}
.sino-toast.show{opacity:1;transform:translateY(0)}
.sino-toast-dot{width:8px;height:8px;border-radius:999px;margin-top:6px;flex:0 0 auto;background:var(--primary)}
.sino-toast-success .sino-toast-dot{background:var(--success)}
.sino-toast-warning .sino-toast-dot{background:var(--warning)}
.sino-toast-error .sino-toast-dot{background:var(--danger)}
.sino-toast-success{border-color:#CFE6DD}
.sino-toast-warning{border-color:#EAD1A9}
.sino-toast-error{border-color:#E7C3C1}
#toast{display:none!important}
.sino-confirm-backdrop{position:fixed;inset:0;z-index:10100;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(24,42,54,.32)}
.sino-confirm-card{position:relative;width:min(420px,calc(100vw - 48px));background:#fff;border:1px solid var(--border);border-radius:10px;box-shadow:0 20px 50px rgba(24,42,54,.18);padding:20px 20px 18px}
.sino-confirm-card h3{margin:0 30px 10px 0;font-size:17px;line-height:1.35;color:var(--text-primary)}
.sino-confirm-card p{margin:0;color:var(--text-secondary);line-height:1.7;font-size:14px}
.sino-confirm-close{position:absolute;top:10px;right:10px;width:30px;height:30px;min-height:30px;border-radius:6px;background:#EEF3F6;color:var(--text-secondary);font-size:20px;line-height:1}
.sino-confirm-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}
.sino-prompt-card{width:min(460px,calc(100vw - 48px))}
.sino-prompt-field{display:block;margin-top:14px}
.sino-prompt-field span{display:block;margin-bottom:6px;color:var(--text-primary);font-size:13px;font-weight:700}
.sino-prompt-field input,.sino-prompt-field textarea{width:100%}

@media (min-width: 769px){
  table.task-table,
  table.boss-customer-table,
  table.customer-staff-table,
  table.flow-manage-table,
  table.staff-table{
    display:table;
  }
  table.task-table thead,
  table.boss-customer-table thead,
  table.customer-staff-table thead,
  table.flow-manage-table thead,
  table.staff-table thead{
    display:table-header-group;
  }
  table.task-table tbody,
  table.boss-customer-table tbody,
  table.customer-staff-table tbody,
  table.flow-manage-table tbody,
  table.staff-table tbody{
    display:table-row-group;
  }
  table.task-table tr,
  table.boss-customer-table tr,
  table.customer-staff-table tr,
  table.flow-manage-table tr,
  table.staff-table tr{
    display:table-row;
  }
  table.task-table th,
  table.task-table td,
  table.boss-customer-table th,
  table.boss-customer-table td,
  table.customer-staff-table th,
  table.customer-staff-table td,
  table.flow-manage-table th,
  table.flow-manage-table td,
  table.staff-table th,
  table.staff-table td{
    display:table-cell;
  }
  table.task-table td:before,
  table.boss-customer-table td:before,
  table.customer-staff-table td:before,
  table.flow-manage-table td:before,
  table.staff-table td:before{
    content:none;
    display:none;
  }
}

/* unified mobile responsive shell 20260831 */
.mobile-appbar,.mobile-nav-mask,.mobile-drawer-close{display:none}
@media(max-width:768px){
  html,body{width:100%;max-width:100%;overflow-x:hidden}
  body{display:block;background:#F3F6F8;padding-top:56px}
  .mobile-appbar{
    position:fixed;
    inset:0 0 auto 0;
    z-index:70;
    height:56px;
    display:grid;
    grid-template-columns:44px minmax(0,1fr) auto;
    align-items:center;
    gap:8px;
    padding:8px 12px;
    background:#fff;
    border-bottom:1px solid #E5E7EB;
    box-shadow:0 2px 10px rgba(15,23,42,.04);
  }
  .mobile-menu-btn{
    width:40px;
    height:40px;
    min-height:40px;
    border-radius:8px;
    display:grid;
    place-content:center;
    gap:4px;
    background:#EEF4F7;
  }
  .mobile-menu-btn span{
    display:block;
    width:18px;
    height:2px;
    border-radius:999px;
    background:#254558;
  }
  .mobile-app-title{
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    text-align:center;
    color:#102033;
    font-size:16px;
    font-weight:800;
  }
  .mobile-user{
    max-width:78px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    color:#64748B;
    font-size:12px;
    text-align:right;
  }
  .mobile-nav-mask{
    position:fixed;
    inset:0;
    z-index:80;
    display:block;
    background:rgba(15,23,42,.32);
    opacity:0;
    pointer-events:none;
    transition:opacity .2s ease;
  }
  .sidebar,.product-ui .sidebar{
    position:fixed!important;
    top:0!important;
    left:0!important;
    z-index:90;
    width:min(82vw,304px)!important;
    height:100vh!important;
    min-height:100vh!important;
    padding:18px 14px 18px!important;
    transform:translateX(-104%);
    transition:transform .22s ease;
    overflow-y:auto;
    overscroll-behavior:contain;
    box-shadow:16px 0 40px rgba(15,23,42,.18);
  }
  body.mobile-nav-open .sidebar{transform:translateX(0)}
  body.mobile-nav-open .mobile-nav-mask{opacity:1;pointer-events:auto}
  .brand{
    position:relative;
    padding-right:42px!important;
    margin-bottom:12px!important;
  }
  .brand strong{font-size:20px!important}
  .mobile-drawer-close{
    position:absolute;
    top:0;
    right:0;
    width:34px;
    height:34px;
    min-height:34px;
    display:grid;
    place-items:center;
    border-radius:8px;
    background:rgba(255,255,255,.08);
    color:#fff;
    font-size:22px;
    line-height:1;
  }
  .product-ui #nav,#nav{display:block!important;overflow:visible!important}
  .nav-group{margin:7px 0!important}
  .nav-group-title{
    min-height:42px;
    padding:10px 10px!important;
    font-size:14px!important;
  }
  .nav-group:not(.open) .nav-group-items{display:none!important}
  .nav-group.open .nav-group-items{display:block!important}
  .product-ui .nav,.nav{
    width:100%!important;
    min-height:42px;
    margin:3px 0!important;
    padding:10px 12px 10px 16px!important;
    white-space:nowrap;
    font-size:14px!important;
  }
  .shell{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    padding:12px 12px 22px!important;
    margin:0!important;
  }
  .topbar{
    display:none!important;
  }
  .page{width:100%;min-width:0}
  h1{font-size:22px}
  h2{font-size:18px}
  h3{font-size:16px}
  p,.meta{font-size:13px;line-height:1.6}
  .panel,.card,.stat,.item{
    width:100%;
    max-width:100%;
    padding:14px!important;
    border-radius:10px!important;
  }
  .grid,.workbench,.cards,.stats,.toolbar,.form-grid,.customer-toolbar,.customer-two-toolbar,.task-table-toolbar,.ledger-toolbar,.flow-toolbar,.knowledge-toolbar,.knowledge-upload,.knowledge-hero,.customer-editor-grid,.service-edit-grid,.task-detail-page-grid,.assistant-layout{
    grid-template-columns:1fr!important;
  }
  .result-head,.section-head,.brief-morning,.welcome-panel,.mini-task-head{
    display:block!important;
  }
  .actions,.welcome-actions,.quick-entry-row{
    gap:8px;
  }
  button,.primary,.secondary,.danger:not(.ai-service-status-pill),.ghost,input,select,textarea{
    min-height:44px;
    font-size:15px;
  }
  input,select,textarea{
    padding:10px 11px!important;
    max-width:100%;
  }
  textarea{min-height:92px}
  .welcome-panel{
    margin-bottom:12px!important;
  }
  .welcome-panel h2,.office-hero h2,.brief-morning h2{
    font-size:22px!important;
    line-height:1.3!important;
  }
  .compact-stats,.office-stats{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
  }
  .stat strong{font-size:22px!important}
  .workspace-cards,.compact-workspace-cards{
    grid-template-columns:1fr!important;
    gap:10px!important;
  }
  .workspace-card{
    min-height:auto!important;
    padding:15px!important;
    gap:12px!important;
  }
  .task-columns{grid-template-columns:1fr!important}
  .task-view-tabs,.assistant-tabs,.privacy-tabs,.workflow-filter-tabs{
    display:flex;
    overflow-x:auto;
    flex-wrap:nowrap;
    gap:8px;
    padding-bottom:2px;
  }
  .task-view-tab,.assistant-tabs button,.privacy-tabs button,.workflow-filter-tabs button{
    flex:0 0 auto;
    white-space:nowrap;
    min-height:40px;
  }
  .task-table-wrap,.customer-info-table-wrap,.flow-manage-table-wrap,.staff-table-wrap{
    overflow:visible!important;
    border:0!important;
    background:transparent!important;
  }
  table.task-table,
  table.customer-table,
  table.customer-staff-table,
  table.boss-customer-table,
  table.customer-table-simplified,
  table.flow-manage-table,
  table.staff-table{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    table-layout:auto!important;
    border-collapse:separate!important;
    border-spacing:0!important;
    background:transparent!important;
  }
  table.task-table thead,
  table.customer-table thead,
  table.customer-staff-table thead,
  table.boss-customer-table thead,
  table.flow-manage-table thead,
  table.staff-table thead{display:none!important}
  table.task-table tbody,
  table.customer-table tbody,
  table.customer-staff-table tbody,
  table.boss-customer-table tbody,
  table.flow-manage-table tbody,
  table.staff-table tbody{display:grid!important;gap:10px!important;width:100%!important}
  table.task-table tr,
  table.customer-table tr,
  table.customer-staff-table tr,
  table.boss-customer-table tr,
  table.flow-manage-table tr,
  table.staff-table tr{
    display:block!important;
    width:100%!important;
    border:1px solid #E5E7EB!important;
    border-radius:10px!important;
    background:#fff!important;
    padding:12px!important;
    box-shadow:0 4px 12px rgba(15,23,42,.035);
  }
  table.task-table td,
  table.customer-table td,
  table.customer-staff-table td,
  table.boss-customer-table td,
  table.flow-manage-table td,
  table.staff-table td{
    display:grid!important;
    grid-template-columns:88px minmax(0,1fr)!important;
    gap:8px!important;
    align-items:start!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    padding:5px 0!important;
    border:0!important;
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
    color:#243447;
    font-size:14px!important;
    line-height:1.45!important;
  }
  table.task-table td:before,
  table.customer-table td:before,
  table.customer-staff-table td:before,
  table.boss-customer-table td:before,
  table.flow-manage-table td:before,
  table.staff-table td:before{
    content:attr(data-label);
    color:#718096;
    font-size:12px;
    font-weight:700;
    line-height:1.5;
  }
  .task-title-cell,.customer-name-cell{
    font-size:16px!important;
    font-weight:800!important;
  }
  .task-op,.task-table td.task-op,.boss-customer-table td.task-op{
    display:flex!important;
    grid-template-columns:none!important;
    flex-wrap:wrap!important;
    gap:8px!important;
    padding-top:10px!important;
  }
  .task-op:before{display:none!important}
  .task-op button{margin:0!important;min-height:38px!important}
  .customer-pill,.task-pill,.status-pill{
    width:max-content;
    max-width:100%;
  }
  .task-pager,.table-pager{
    display:block!important;
    padding:10px 0 0!important;
  }
  .pager-buttons{justify-content:flex-start!important;margin-top:8px}
  .modal-backdrop,.drawer-mask,.qa-drawer-backdrop,.kb-drawer-backdrop{
    padding:0!important;
    align-items:stretch!important;
  }
  .modal-card,
  .task-detail-page-card,
  .task-detail-card,
  .customer-detail-card,
  .customer-editor-card,
  .ledger-detail-card,
  .staff-editor-card,
  .qa-drawer,
  .kb-drawer,
  .reading-drawer{
    width:100vw!important;
    max-width:100vw!important;
    height:100dvh!important;
    max-height:100dvh!important;
    margin:0!important;
    border-radius:0!important;
    overflow:auto!important;
    box-shadow:none!important;
  }
  .customer-detail-card,
  .customer-center-detail,
  .customer-two-detail{
    overflow-x:hidden!important;
  }
  .customer-detail-card *,
  .customer-center-detail *,
  .customer-two-detail *{
    box-sizing:border-box;
    max-width:100%;
  }
  .customer-detail-card .actions,
  .customer-center-detail .actions,
  .customer-two-detail .actions,
  .customer-detail-card .result-head,
  .customer-center-detail .result-head,
  .customer-two-detail .result-head{
    flex-wrap:wrap!important;
    align-items:flex-start!important;
  }
  .customer-detail-card input,
  .customer-detail-card select,
  .customer-detail-card textarea,
  .customer-center-detail input,
  .customer-center-detail select,
  .customer-center-detail textarea,
  .customer-two-detail input,
  .customer-two-detail select,
  .customer-two-detail textarea{
    width:100%!important;
    min-width:0!important;
  }
  .task-detail-page-card{
    display:flex!important;
    flex-direction:column!important;
  }
  .task-detail-page-head{
    position:sticky;
    top:0;
    z-index:2;
    padding:14px 14px 12px!important;
  }
  .task-detail-page-head .actions{
    margin-top:10px;
  }
  .task-detail-scroll{
    padding:12px!important;
  }
  .task-detail-page-grid,.task-detail-main,.task-detail-right{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:12px!important;
  }
  .task-detail-right{position:static!important}
  .task-meta-grid,.customer-detail-groups,.customer-detail-grid,.customer-field-grid{
    grid-template-columns:1fr!important;
  }
  .task-record-timeline p{
    grid-template-columns:14px minmax(0,1fr)!important;
  }
  .task-record-timeline time{grid-column:2}
  .assistant-main-paste{min-height:132px!important;padding:18px!important}
  .assistant-file-preview,.assistant-attachment-card,.attachment-item{
    grid-template-columns:1fr!important;
  }
  .assistant-file-preview img,
  .assistant-attachment-card img,
  .attachment-thumb{
    width:100%!important;
    max-width:100%!important;
    height:auto!important;
    max-height:280px!important;
    object-fit:contain!important;
  }
  #workAssistant > .workbench.assistant-layout{
    gap:12px!important;
  }
  #workAssistant #assistantForm,
  #workAssistant > .workbench.assistant-layout > .panel{
    min-width:0!important;
  }
  #assistantResult section,
  .assistant-result section{
    padding:12px!important;
  }
  .customer-two-title-row h2{
    margin-bottom:10px!important;
  }
  .customer-two-toolbar{
    gap:8px!important;
  }
  .customer-info-toolbar .primary,
  .customer-info-toolbar .secondary{
    width:100%;
  }
  .customer-detail-card .result-head,
  .customer-editor-card .result-head{
    position:sticky;
    top:0;
    z-index:2;
    background:#fff;
    padding-bottom:10px;
    border-bottom:1px solid #E5E7EB;
  }
  .customer-detail-groups .customer-info-card,
  .customer-detail-body section{
    width:100%!important;
    min-width:0!important;
    padding:13px!important;
    margin-bottom:10px!important;
  }
  .customer-detail-groups,
  .customer-field-grid,
  .customer-fee-inline,
  .service-project-editor,
  .service-project-list,
  .address-service-grid{
    width:100%!important;
    min-width:0!important;
  }
  .customer-detail-groups.editable,
  .customer-detail-groups.editable .customer-info-card:first-child .customer-field-grid,
  .customer-detail-groups.editable .customer-info-card:first-child,
  .customer-detail-groups.editable .customer-info-card:nth-child(3),
  .customer-detail-groups.editable .customer-info-card:nth-child(4){
    display:grid!important;
    grid-template-columns:1fr!important;
    grid-column:1/-1!important;
    width:100%!important;
    min-width:0!important;
  }
  .customer-detail-groups.editable .customer-info-card:first-child .customer-field.wide{
    grid-column:1/-1!important;
  }
  .service-row,.service-edit-row{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
    height:auto!important;
  }
  .service-project-row{
    width:100%!important;
    min-width:0!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
  }
  .service-project-row > *{
    width:100%!important;
    min-width:0!important;
  }
  .sino-toast-stack{
    top:64px!important;
    right:12px!important;
    width:calc(100vw - 24px)!important;
  }
  .sino-confirm-backdrop{
    padding:16px!important;
    align-items:center!important;
  }
  .sino-confirm-card,.sino-prompt-card{
    width:100%!important;
    max-width:430px!important;
  }
}

@media(min-width:821px){
  body.mobile-nav-open .mobile-nav-mask{display:none!important}
}

.portal-staff-panel{display:grid;gap:14px}.portal-staff-card,.portal-staff-page section{border:1px solid #E5E7EB;border-radius:8px;background:#fff;padding:16px;box-shadow:none}
.portal-staff-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:14px}
.portal-staff-head h2{margin:0 0 6px}.portal-staff-head p{margin:0;color:#64748B}
.portal-staff-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:10px 0 14px}
.portal-staff-stats span{border:1px solid #E5E7EB;border-radius:10px;background:#F8FAFC;padding:12px;color:#475569}
.portal-staff-stats b{display:block;font-size:24px;color:#0F766E}
.portal-staff-main-workspace{min-width:0}.portal-workstream-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.portal-workstream-head h3{margin:0 0 5px}.portal-workstream-head p{margin:0;color:#64748B;font-size:13px;line-height:1.5}.portal-workstream-head>span{flex:none;min-width:28px;padding:3px 8px;border-radius:999px;background:#EEF5F6;color:#286876;font-size:12px;text-align:center}.portal-workstream{padding-top:16px}.portal-staff-acl{margin-top:2px}
.portal-staff-list{display:grid;gap:10px}
.portal-staff-list article{border:1px solid #E5E7EB;border-radius:10px;background:#fff;padding:12px}
.portal-staff-list header{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.portal-staff-list header b{font-size:15px;line-height:1.35}.portal-staff-list header span{border-radius:999px;background:#ECFDF5;color:#047857;padding:4px 8px;font-size:12px;white-space:nowrap}
.portal-staff-list p{margin:8px 0;color:#334155;line-height:1.55}.portal-staff-list small{display:block;color:#64748B;line-height:1.5}
.portal-staff-file{display:grid;gap:6px;margin-top:10px;color:#64748B;font-size:13px}.portal-staff-file input{width:100%}
.portal-staff-list .actions,.portal-staff-head .actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.portal-staff-list button[disabled]{opacity:.45;cursor:not-allowed}.portal-staff-attachments{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0}.portal-staff-attachments a{font-size:12px;color:var(--primary);background:#EEF7F8;border:1px solid #CFE0E6;border-radius:6px;padding:5px 8px}.small-empty{padding:18px 8px!important;background:transparent!important}.sino-inline-spinner{display:inline-block;width:13px;height:13px;border:2px solid rgba(255,255,255,.55);border-top-color:#fff;border-radius:50%;vertical-align:-2px;animation:sinoSpin .8s linear infinite}@keyframes sinoSpin{to{transform:rotate(360deg)}}
@media(max-width:900px){.portal-staff-head{display:grid}.portal-staff-stats{grid-template-columns:1fr}.portal-staff-list .actions button{flex:1 1 42%}}

.portal-request-track-card{cursor:pointer}.portal-request-track-card:focus-visible{outline:2px solid #2B8795;outline-offset:2px}.portal-request-track-card.has-link-error{border-color:#F1C4C0}.portal-destination{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 12px;margin-top:10px;padding:10px 12px;border-left:3px solid #77AEB7;background:#F4F9FA;color:#365A61}.portal-destination b{font-size:13px}.portal-destination span{font-size:12px}.portal-destination span:last-child{grid-column:1/-1;color:#64748B}.portal-destination.is-empty{border-left-color:#94A3B8;background:#F8FAFC}.portal-destination.is-error{border-left-color:#C2413B;background:#FFF7F6;color:#9F2D28}.portal-destination.is-error span{grid-column:1/-1;color:#A23B35}.portal-linkage-drawer-backdrop{position:fixed;inset:0;z-index:1300;display:flex;justify-content:flex-end;background:rgba(15,23,42,.28)}.portal-linkage-drawer{display:flex;flex-direction:column;width:min(620px,calc(100vw - 32px));height:100%;background:#fff;box-shadow:-8px 0 24px rgba(15,23,42,.12)}.portal-linkage-drawer-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px 20px;border-bottom:1px solid #E2E8F0}.portal-linkage-drawer-head small{color:#64748B}.portal-linkage-drawer-head h2{margin:4px 0 0;font-size:20px}.portal-linkage-drawer-body{display:grid;gap:0;overflow:auto;padding:0 20px 24px}.portal-linkage-drawer-body>section{padding:18px 0;border:0;border-bottom:1px solid #E8EEF1;border-radius:0;box-shadow:none}.portal-linkage-drawer-body h3{margin:0 0 12px;font-size:15px}.portal-task-created{display:grid;gap:4px;margin-top:16px;padding:12px 14px;border-left:3px solid #0F766E;background:#ECFDF5;color:#155E59}.portal-task-created span{font-size:13px}.portal-linkage-warning{color:#9F2D28!important;background:#FFF7F6;padding:14px!important;margin-top:16px}.portal-linkage-warning p{margin:5px 0}.portal-linkage-chain{display:grid;grid-template-columns:1fr 24px 1fr 24px 1fr;align-items:center}.portal-linkage-chain>i{text-align:center;color:#94A3B8;font-style:normal}.portal-chain-node{display:grid;gap:3px;min-width:0;padding:11px;border:1px solid #D8E3E7;border-radius:7px}.portal-chain-node small{color:#64748B}.portal-chain-node b,.portal-chain-node span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portal-chain-node span{font-size:12px;color:#526875}.portal-chain-node.is-ready{border-color:#9FC8C2;background:#F1FAF8}.portal-chain-node.is-empty{background:#F8FAFC}.portal-chain-node.is-error{border-color:#E9AAA5;background:#FFF7F6;color:#9F2D28}.portal-linkage-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px;margin:0}.portal-linkage-meta div{min-width:0}.portal-linkage-meta .wide{grid-column:1/-1}.portal-linkage-meta dt{margin-bottom:3px;color:#64748B;font-size:12px}.portal-linkage-meta dd{margin:0;color:#172F3A;font-weight:650;overflow-wrap:anywhere}.portal-linkage-content{margin:14px 0 0;padding:11px 12px;background:#F8FAFC;white-space:pre-wrap}.portal-interaction-timeline{display:grid;gap:12px}.portal-interaction-event{display:grid;grid-template-columns:70px minmax(0,1fr);gap:12px}.portal-interaction-event>span{align-self:start;padding:3px 7px;border-radius:999px;background:#EAF7FA;color:#1F6F7D;font-size:12px;text-align:center}.portal-interaction-event b{font-size:13px}.portal-interaction-event p{margin:4px 0;color:#475569;white-space:pre-wrap}.portal-interaction-event time{color:#94A3B8;font-size:12px}
.portal-action-menu{position:relative}.portal-action-menu>summary{min-height:36px;padding:8px 12px;border:1px solid #CBD8DE;border-radius:6px;background:#fff;color:#365A61;cursor:pointer;list-style:none}.portal-action-menu>summary::-webkit-details-marker{display:none}.portal-action-menu>summary::after{content:' ▾';color:#7B9098}.portal-action-menu[open]>summary::after{content:' ▴'}.portal-action-menu>div{position:absolute;right:0;z-index:20;display:grid;min-width:170px;margin-top:5px;padding:6px;border:1px solid #D7E2E6;border-radius:7px;background:#fff;box-shadow:0 8px 20px rgba(15,23,42,.12)}.portal-action-menu>div>button,.portal-action-menu>div>label{width:100%;min-height:38px;margin:0;border:0;background:#fff;text-align:left}.portal-action-menu>div>button:hover{background:#F1F7F8}.portal-document-request-list{display:grid;gap:10px}.portal-document-request-list article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;padding:10px 0;border-bottom:1px solid #EDF2F4}.portal-document-request-list article:last-child{border-bottom:0}.portal-document-request-list p,.portal-document-request-list small{grid-column:1/-1;margin:0;color:#64748B}.portal-document-request-list span{color:#9A5B10;font-size:12px}
@media(max-width:700px){.portal-linkage-drawer{width:100%}.portal-linkage-chain{grid-template-columns:1fr}.portal-linkage-chain>i{padding:4px;transform:none}.portal-linkage-meta{grid-template-columns:1fr}.portal-destination{grid-template-columns:1fr}.portal-destination span:last-child{grid-column:auto}}


.task-customer-portal-panel{display:grid;gap:12px}
.task-customer-portal-panel .task-portal-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px!important;margin-top:0!important}
.task-customer-portal-panel .task-portal-actions button{min-height:36px;justify-content:center}

/* AI task customer matching 20260907 */
.assistant-customer-match,
.task-customer-binding-section{
  display:grid;
  gap:12px;
}
.assistant-customer-match-grid,
.task-customer-binding-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}
.task-customer-binding-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.assistant-customer-match-grid p,
.task-customer-binding-grid p{
  margin:0;
  padding:10px 12px;
  border:1px solid #E5EDF2;
  border-radius:8px;
  background:#FAFCFD;
}
.assistant-customer-match-grid b,
.task-customer-binding-grid b{
  display:block;
  margin-bottom:4px;
  color:#64748B;
  font-size:12px;
}
.assistant-customer-match-grid span,
.task-customer-binding-grid span{
  color:#102033;
  font-size:14px;
  font-weight:700;
}
.assistant-customer-search-row,
.task-customer-binding-search{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto;
  gap:8px;
  align-items:center;
}
.assistant-customer-search-row input,
.task-customer-binding-search input{
  min-height:36px;
}
.assistant-customer-candidates,
.task-customer-candidate-list{
  display:grid;
  gap:8px;
}
.assistant-customer-candidates button,
.task-customer-candidate-list button{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  width:100%;
  padding:9px 11px;
  border:1px solid #E5EDF2;
  border-radius:8px;
  background:#fff;
  color:#102033;
  text-align:left;
}
.assistant-customer-candidates button:hover,
.task-customer-candidate-list button:hover{
  border-color:var(--primary);
  background:#F3FAFB;
}
.assistant-customer-candidates button span,
.task-customer-candidate-list button span{
  color:#1F7A86;
  font-size:12px;
  white-space:nowrap;
}
@media(max-width:760px){
  .assistant-customer-match-grid,
  .task-customer-binding-grid,
  .assistant-customer-search-row,
  .task-customer-binding-search{
    grid-template-columns:1fr;
  }
}
.nav-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;margin-left:6px;padding:0 6px;border-radius:999px;background:#FDE68A;color:#92400E;font-size:12px;font-style:normal;font-weight:800}
.portal-staff-reply-card{width:min(520px,92vw);padding:18px;display:grid;gap:14px}
.portal-staff-reply-card label{display:grid;gap:8px;color:#475569;font-weight:700}
.portal-staff-reply-card textarea{width:100%;min-height:120px;border:1px solid #CBD5E1;border-radius:8px;padding:10px;line-height:1.55;resize:vertical}
.portal-staff-reply-card .actions{display:flex;justify-content:flex-end;gap:8px;margin-top:0}
.portal-acl-box{display:grid;gap:10px}
.portal-acl-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:8px;align-items:end}
.portal-bind-form{grid-template-columns:repeat(2,minmax(0,1fr))}
.portal-module-checks{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;background:#F8FAFC;border:1px solid #E5E7EB;border-radius:8px;padding:10px}
.portal-module-checks label{display:flex;align-items:center;gap:6px;margin:0;font-weight:400}
.portal-module-checks input{width:auto}
@media(max-width:900px){.portal-acl-form,.portal-bind-form,.portal-module-checks{grid-template-columns:1fr}.portal-staff-acl{min-width:0}}

/* unified customer/visitor workspace 20260904 */
body.portal-client-mode{background:#F3F6F8}
body.portal-client-mode .sidebar{display:flex;flex-direction:column;height:100vh;min-height:100vh;box-sizing:border-box;overflow:hidden;padding-bottom:14px;background:#25495C}
body.portal-client-mode .nav.active,body.portal-client-mode .nav:hover{background:#3F718A}
body.portal-client-mode .brand{flex:none}
body.portal-client-mode #nav{display:flex;flex:1 1 auto;min-height:0;overflow:hidden;flex-direction:column}
body.portal-client-mode .portal-nav-menu{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
body.portal-client-mode .portal-staff-entry{flex:none;margin-top:auto;padding:12px 0 2px;border-top:1px solid rgba(255,255,255,.16)}
body.portal-client-mode .portal-staff-login{display:flex;align-items:center;gap:8px;min-height:42px;margin:0;padding:10px 11px;font-size:13px;font-weight:600;color:rgba(232,241,244,.72);background:transparent;border:0;border-radius:7px}
body.portal-client-mode .portal-staff-login:hover,body.portal-client-mode .portal-staff-login:focus-visible{background:rgba(255,255,255,.07);color:#fff;outline:none}
body.portal-client-mode .portal-staff-icon{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;color:currentColor;font-size:14px;line-height:1}
.portal-client-page{display:none}
.portal-client-page.active{display:block}
.portal-client-shell{display:grid;gap:18px;max-width:1480px}
.portal-customer-switch{display:flex;justify-content:flex-end}
.portal-customer-switch label{width:min(360px,100%)}
.portal-overview,.portal-work-panel,.portal-grid section,.portal-home-card,.portal-visitor-hero,.portal-home-strip{background:#fff;border:1px solid var(--border);border-radius:8px;padding:18px}
.portal-overview{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.85fr);align-items:center;gap:28px}
.portal-overview h2,.portal-work-panel h2{margin:0 0 8px}
.portal-visitor-hero{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:28px}
.portal-visitor-hero h2{font-size:28px;line-height:1.35;margin:0 0 10px;color:var(--text-primary)}
.portal-visitor-hero p{max-width:620px}
.portal-hero-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.portal-hero-actions button{min-height:42px;font-weight:700}
.portal-hero-actions [data-portal-login]{background:#fff;color:var(--primary);border:1px solid rgba(47,125,140,.42);font-weight:800}
.portal-hero-actions [data-portal-login]:hover{background:#F0F8FA;border-color:var(--primary)}
.portal-home-strip{padding:16px 18px}
.portal-home-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.portal-home-cards button{display:block;text-align:left;background:#F7FAFB;border:1px solid transparent;border-radius:8px;padding:14px;color:var(--text-primary)}
.portal-home-cards button:hover{border-color:#CFE0E6;background:#F0F8FA}
.portal-home-cards b,.portal-home-cards span{display:block}
.portal-home-cards span{margin-top:5px;color:#64748B;font-size:13px}
.portal-home-faqs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.portal-home-faqs button{background:#fff;border:1px solid var(--border);border-radius:8px;padding:11px 12px;text-align:left;color:var(--text-primary)}
.portal-kpis{display:grid;grid-template-columns:repeat(3,minmax(112px,1fr));gap:10px}
.portal-kpis span,.portal-module-grid div{background:#F7FAFB;border:1px solid var(--border);border-radius:8px;padding:12px}
.portal-kpis b{display:block;font-size:24px;color:var(--primary)}
.portal-grid{display:grid;gap:14px}
.portal-grid-main{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr)}
.portal-home-layout{display:grid;gap:16px}
.portal-home-primary{display:grid;grid-template-columns:1fr;gap:16px;align-items:start}
.portal-home-card{min-width:0}
.portal-todo-section{border-color:#D8E5E8;background:#FCFEFE}
.portal-recent-section{width:100%;box-sizing:border-box}
.portal-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}
.portal-section-head h2,.portal-section-head h3{margin:0}
.portal-list{display:grid;gap:10px}
.portal-list article{border:1px solid var(--border);border-radius:8px;background:#fff;padding:12px}
.portal-list header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.portal-list header b{font-size:15px;line-height:1.45}
.portal-list header span{background:#EEF8F4;color:#1E6B57;border-radius:999px;padding:3px 8px;font-size:12px;white-space:nowrap}
.portal-list p{margin:8px 0;color:#334155;line-height:1.65;white-space:pre-wrap}
.portal-list small{display:block;color:#64748B;line-height:1.5}
.portal-list details{margin-top:10px;background:#F8FAF8;border:1px solid #E3E8E1;border-radius:8px;padding:10px}
.portal-list summary{cursor:pointer;color:#1F5A54;font-weight:700}
.portal-source{margin-top:8px;color:#64748B;font-size:12px;white-space:pre-wrap}
.portal-quick{display:flex;gap:8px;flex-wrap:wrap}
.portal-quick button{background:#EEF4F1;color:#1F514B;border:1px solid #D6E3DE;border-radius:6px;padding:8px 10px}
.portal-work-panel{display:grid;gap:12px}
.portal-natural-form,.portal-inline-form{display:grid;gap:10px}
.portal-natural-form textarea{font-size:16px}
.portal-recommend{margin-top:12px;border:1px solid #D6E3DE;border-radius:8px;background:#F7FBF9;padding:12px}
.portal-recommend b{display:block;font-size:18px;color:#1F5A54;margin-bottom:4px}
.portal-recommend span{display:block;color:#64748B;margin-bottom:8px}
.portal-recommend ol{margin:8px 0 10px;padding-left:22px;color:#334155}
.portal-common-services{margin-top:-4px}
.portal-common-services button{font-weight:700}
.portal-service-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:2px}
.portal-service-groups>div{border:1px solid var(--border);border-radius:8px;padding:12px;background:#F7FAFB}
.portal-faq-search{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}
.portal-cats{display:flex;gap:8px;flex-wrap:wrap}
.portal-cats button{border:1px solid #D6E3DE;background:#fff;color:#1F514B;border-radius:999px;padding:7px 10px}
.portal-module-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.portal-module-grid b,.portal-module-grid span{display:block}
.portal-module-grid span{color:#64748B;margin-top:4px}
.portal-module-grid .muted{opacity:.56}
.portal-timeline{display:grid;gap:10px;margin:12px 0}
.portal-timeline>div{border-left:3px solid var(--primary);background:#F7FAFB;padding:10px 12px}
.portal-auth-card{width:min(460px,92vw);padding:22px 24px;border:1px solid #BBD5DD;box-shadow:0 22px 58px rgba(24,42,54,.2)}
.portal-auth-card .portal-section-head{align-items:center;margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid #E7EEF2}
.portal-auth-card .portal-section-head h2{font-size:22px;color:var(--text-primary)}
.portal-auth-card label{display:grid;gap:6px;margin:0 0 10px;font-weight:700;color:#405362}
.portal-auth-card input{min-height:42px;border-color:#BFD2DA;border-radius:8px;background:#fff}
.portal-auth-card input:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(47,125,140,.12);outline:0}
.portal-auth-card .actions{margin-top:12px}
.portal-auth-card .actions .primary{width:100%;min-height:42px;border:1px solid #276B78;border-radius:8px;font-weight:800}
.portal-auth-card p{margin:12px 0 0;color:var(--text-secondary);line-height:1.6}
@media(max-width:900px){
  body.portal-client-mode #nav{display:flex!important;min-height:0;overflow:hidden!important}
  .portal-overview,.portal-visitor-hero{display:grid}
  .portal-hero-actions{justify-content:flex-start}
  .portal-kpis,.portal-grid-main,.portal-home-primary,.portal-service-groups,.portal-module-grid,.portal-faq-search,.portal-home-cards,.portal-home-faqs{grid-template-columns:1fr;min-width:0}
  .portal-section-head{display:grid}
  .portal-customer-switch{justify-content:stretch}
  .portal-list .actions button{flex:1 1 42%}
}

/* Customer portal experience closure 20260908 */
body.portal-client-mode .shell{padding:24px clamp(20px,3vw,44px) 40px}
body.portal-client-mode .topbar,
body.portal-client-mode .portal-client-shell{width:100%;max-width:1280px;margin-left:auto;margin-right:auto;box-sizing:border-box}
body.portal-client-mode .topbar{align-items:center;margin-bottom:20px}
body.portal-client-mode #authUserBar{max-width:min(560px,52vw)}
body.portal-client-mode #authUserBar>span{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.portal-client-shell{gap:16px}
.portal-customer-switch{min-height:48px;align-items:center;padding:7px 8px 7px 14px;border:1px solid #DCE5EA;border-radius:12px;background:#fff}
.portal-customer-switch label{display:flex;align-items:center;justify-content:flex-end;gap:12px;width:100%;margin:0}
.portal-customer-switch label>span{flex:none;margin:0;color:#64748B;font-size:13px;font-weight:700}
.portal-customer-switch select{width:min(420px,100%);min-height:38px;padding:8px 34px 8px 12px;border:1px solid #CBD5E1;border-radius:9px;background-color:#fff;color:#102A43;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.portal-overview,.portal-work-panel,.portal-grid section,.portal-home-card,.portal-visitor-hero,.portal-home-strip{border-color:#DCE5EA;border-radius:12px;padding:20px;box-shadow:0 6px 18px rgba(15,23,42,.035)}
.portal-overview{align-items:stretch;padding:22px}
.portal-welcome-summary{display:flex;min-width:0;flex-direction:column;justify-content:center}
.portal-welcome-summary small,.portal-enterprise-summary>small{margin-bottom:5px;color:#6B7C87;font-size:12px;font-weight:800}
.portal-welcome-summary h2{margin:0 0 9px;color:#102A43;font-size:24px}
.portal-welcome-summary p{margin:0;color:#526170;font-size:14px;line-height:1.65}
.portal-weather-line{color:#1F6F7D!important;font-weight:700}
.portal-enterprise-summary{display:flex;min-width:0;flex:1;flex-direction:column;justify-content:center}
.portal-enterprise-summary h2{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#102A43;font-size:22px}
.portal-enterprise-summary p{font-size:14px}
.portal-kpis{gap:12px}
.portal-kpi-card{position:relative;display:grid;grid-template-rows:auto auto;gap:3px;min-height:82px;padding:13px 15px;border:1px solid #DCE5EA;border-radius:10px;background:#F8FAFC;color:#475569;text-align:left;cursor:pointer;transition:background .16s ease}
.portal-kpi-card:hover{background:#F0F8FA}
.portal-kpi-card:focus-visible{outline:3px solid rgba(47,125,140,.2);outline-offset:2px}
.portal-kpi-card b{grid-column:1;display:block;color:var(--primary);font-size:27px;line-height:1.1}
.portal-kpi-card span{grid-column:1;display:block;padding:0;border:0;border-radius:0;background:transparent;color:#526170;font-size:13px;font-weight:700}
.portal-grid-main{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}
.portal-home-card{scroll-margin-top:18px;transition:border-color .18s ease,box-shadow .18s ease}
.portal-home-card.portal-section-focus{border-color:#2F7D8C;box-shadow:0 0 0 3px rgba(47,125,140,.12),0 8px 20px rgba(15,23,42,.05)}
.portal-section-head{align-items:center;margin-bottom:14px}
.portal-section-head h2{font-size:21px;color:#102A43}
.portal-section-head h3{font-size:17px;color:#102A43}
.portal-section-head>span{color:#64748B;font-size:13px}
.portal-list{gap:11px}
.portal-list article{border-color:#E1E8EC;border-radius:10px;padding:14px}
.portal-list .portal-record-card{position:relative;cursor:pointer;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}
.portal-list .portal-record-card:hover{transform:translateY(-1px);border-color:#AFC9D1;box-shadow:0 7px 18px rgba(15,23,42,.055)}
.portal-list .portal-record-card:focus-visible{outline:3px solid rgba(47,125,140,.18);outline-offset:2px}
.portal-customer-action{display:flex;align-items:flex-start;gap:8px;margin-top:9px;padding:8px 10px;border-left:3px solid #9FB4BC;background:#F8FAFC;color:#526170;font-size:12px;line-height:1.5}.portal-customer-action b{flex:none;color:#365A61}.portal-customer-action.needs-action{border-left-color:#C88A2B;background:#FFF9EE;color:#805719}.portal-customer-action.needs-action b{color:#805719}.portal-task-history{margin-top:18px;padding-top:14px;border-top:1px solid #E2E8F0}.portal-task-history>summary{margin-bottom:12px;color:#365A61;font-weight:800;cursor:pointer}
.portal-list header b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#102A43}
.portal-list .actions{margin-top:10px;padding-top:9px;border-top:1px solid #EEF2F4}
.portal-text-action{min-height:30px;padding:3px 2px;background:transparent;color:#1F6F7D;font-size:13px;font-weight:800}
.portal-text-action:hover{background:transparent;color:#124F5A;text-decoration:underline}
.portal-card-affordance{display:flex;align-items:center;justify-content:flex-end;gap:6px;margin-top:10px;padding-top:9px;border-top:1px solid #EEF2F4;color:#1F6F7D;font-size:13px;font-weight:800}
.portal-card-affordance i{font-style:normal;transition:transform .16s ease}
.portal-record-card:hover .portal-card-affordance i{transform:translateX(3px)}
.portal-quick-section .portal-quick{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}
.portal-quick-section .portal-quick button{min-height:40px;padding:9px 12px;border-radius:9px;text-align:center;font-weight:700}
.portal-quick-section{padding:4px 0 2px;border:0;background:transparent;box-shadow:none}
.portal-reading-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:22px;padding:8px 0 2px}
.portal-reading-panel{min-width:0;padding-top:16px;border-top:1px solid #DCE5EA}
.portal-reading-panel .portal-section-head{margin-bottom:5px}
.portal-news-list{display:grid}
.portal-news-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;padding:11px 2px;border-bottom:1px solid #E8EEF1;color:#102A43;text-decoration:none}
.portal-news-row:last-child{border-bottom:0}
.portal-news-row:hover strong{color:#1F6F7D}
.portal-news-main{min-width:0}
.portal-news-main strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;line-height:1.5;transition:color .16s ease}
.portal-news-main small{display:-webkit-box;margin-top:4px;overflow:hidden;color:#64748B;font-size:13px;line-height:1.55;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.portal-news-meta{display:flex;flex-direction:column;align-items:flex-end;gap:3px;color:#84929C;font-size:12px;white-space:nowrap}
.portal-news-meta em{max-width:140px;overflow:hidden;text-overflow:ellipsis;color:#64748B;font-style:normal}
.portal-news-empty{padding:18px 2px;color:#84929C;font-size:13px}
.portal-page-return{display:flex;align-items:center;min-height:34px}
.portal-back-link{min-height:32px;padding:4px 0;background:transparent;color:#1F6F7D;font-weight:800;text-align:left}
.portal-back-link:hover{background:transparent;color:#124F5A;text-decoration:underline}
body.portal-client-mode .primary,
body.portal-client-mode .secondary,
body.portal-client-mode .ghost{min-height:40px;padding:9px 15px;border-radius:9px;font-size:14px;font-weight:700}
body.portal-client-mode .secondary{border:1px solid #D6E0E5;background:#F1F5F7;color:#334155}
body.portal-client-mode .secondary:hover{border-color:#B8CAD2;background:#E9F0F3}
body.portal-client-mode input,
body.portal-client-mode select,
body.portal-client-mode textarea{box-sizing:border-box;border-color:#C7D5DC;border-radius:9px;background:#fff;color:#102A43}
body.portal-client-mode select{min-height:40px}
body.portal-client-mode textarea{padding:11px 12px}
.portal-advisor-public{display:flex;align-items:center;gap:8px;min-height:28px;margin-top:-3px;color:#64748B;font-size:13px}
.portal-advisor-public span{font-weight:700}
.portal-advisor-public em{display:inline-flex;align-items:center;min-height:24px;padding:2px 8px;border-radius:999px;background:#EAF7FA;color:#1F6F7D;font-size:12px;font-style:normal;font-weight:800}
.portal-client-modal{align-items:center;justify-content:center;padding:20px;overflow:hidden;background:rgba(15,23,42,.38)}
.portal-client-modal .modal-card{box-sizing:border-box;border:1px solid #DCE5EA;border-radius:14px;background:#fff;box-shadow:0 24px 70px rgba(15,23,42,.24)}
.portal-client-modal .portal-task-detail-card{display:flex;flex-direction:column;width:min(720px,calc(100vw - 40px));max-height:min(88vh,840px);padding:0;overflow:hidden}
.portal-client-modal .portal-request-detail-card{display:flex;flex-direction:column;width:min(680px,calc(100vw - 40px));max-height:min(86vh,780px);padding:0;overflow:auto}
.portal-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px 20px 15px;border-bottom:1px solid #E7EDF0;background:#fff}
.portal-modal-head>div{min-width:0}
.portal-modal-head small{display:block;margin-bottom:5px;color:#64748B;font-size:12px;font-weight:800;letter-spacing:.04em}
.portal-modal-head h2{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#102A43;font-size:21px;line-height:1.35}
.portal-icon-close{display:inline-flex;flex:none;align-items:center;justify-content:center;width:34px;height:34px;min-height:34px;padding:0;border-radius:9px;background:#F1F5F7;color:#64748B;font-size:22px;line-height:1}
.portal-icon-close:hover{background:#E7EEF2;color:#102A43}
.portal-task-summary,.portal-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:14px 20px;background:#F8FAFC;border-bottom:1px solid #E7EDF0}
.portal-task-summary>div,.portal-detail-grid>div{min-width:0;padding:10px 11px;border:1px solid #E1E8EC;border-radius:9px;background:#fff}
.portal-task-summary span,.portal-detail-grid span{display:block;margin-bottom:4px;color:#64748B;font-size:12px;font-weight:700}
.portal-task-summary b,.portal-detail-grid b{display:block;overflow:hidden;color:#102A43;font-size:14px;line-height:1.45;text-overflow:ellipsis}
.portal-task-original{padding:12px 20px;border-bottom:1px solid #E7EDF0;background:#fff}.portal-task-original small{display:block;margin-bottom:4px;color:#64748B;font-weight:700}.portal-task-original p{margin:0;color:#334155;line-height:1.6;white-space:pre-wrap}.portal-task-customer-need{display:flex;align-items:flex-start;gap:8px;padding:10px 20px;border-bottom:1px solid #E7EDF0;background:#F8FAFC;color:#526170;font-size:13px}.portal-task-customer-need.needs-action{background:#FFF9EE;color:#805719}.portal-task-customer-need b{flex:none}.portal-task-reply{margin-top:16px;padding-top:16px;border-top:1px solid #E7EDF0}
.portal-detail-tabs{display:flex;flex:none;gap:4px;padding:0 20px;border-bottom:1px solid #E7EDF0;background:#fff}
.portal-detail-tabs button{position:relative;min-height:45px;padding:11px 13px;background:transparent;color:#64748B;font-size:14px;font-weight:800}
.portal-detail-tabs button:hover{background:#F8FAFC;color:#1F6F7D}
.portal-detail-tabs button.active{color:#1F6F7D}
.portal-detail-tabs button.active::after{content:"";position:absolute;left:10px;right:10px;bottom:-1px;height:2px;background:#2F7D8C}
.portal-detail-panels{min-height:260px;padding:18px 20px 20px;overflow:auto;background:#fff}
.portal-detail-panels>section[hidden]{display:none}
.portal-task-timeline{position:relative;display:grid;gap:0;padding-left:4px}
.portal-timeline-item{position:relative;display:grid;grid-template-columns:18px minmax(0,1fr);gap:10px;padding:0 0 18px;background:transparent}
.portal-timeline-item:last-child{padding-bottom:2px}
.portal-timeline-item>i{position:relative;width:11px;height:11px;margin-top:6px;border:3px solid #D7E6EA;border-radius:50%;background:#2F7D8C;box-sizing:border-box;z-index:1}
.portal-timeline-item:not(:last-child)>i::after{content:"";position:absolute;top:8px;left:2px;width:2px;height:calc(100% + 26px);background:#DCE5EA}
.portal-timeline-item.document>i{background:#B7791F;border-color:#F8E8C8}
.portal-timeline-item.message>i{background:#5268A6;border-color:#E1E6F5}
.portal-timeline-item.urge>i{background:#C2664F;border-color:#F7DED8}
.portal-timeline-item.status>i{background:#2F8F67;border-color:#DDF2E8}
.portal-timeline-item header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.portal-timeline-item header b{color:#102A43;font-size:14px}
.portal-timeline-item header small{flex:none;color:#84929C;font-size:12px}
.portal-timeline-item p{margin:5px 0 0;color:#475569;line-height:1.6;white-space:pre-wrap}
.portal-timeline-item.compact{padding-bottom:14px}
.portal-status-trail{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:7px}
.portal-status-trail span{display:inline-flex;align-items:center;min-height:24px;padding:2px 8px;border-radius:999px;background:#EEF7F8;color:#1F6F7D;font-size:12px;font-weight:800}
.portal-status-trail i{color:#94A3B8;font-size:12px;font-style:normal}
.portal-document-request{margin-bottom:12px;border:1px solid #F0D9A8;border-radius:9px;background:#FFFBF2;padding:12px}
.portal-document-request header{display:flex;justify-content:space-between;gap:12px}
.portal-document-request header span{color:#9A6700;font-size:12px;font-weight:800}
.portal-document-request p{margin:7px 0;color:#475569}
.portal-document-request small{color:#7C6540}
.portal-file-list{display:grid;gap:8px;margin-top:14px;padding-top:14px;border-top:1px solid #E7EDF0}
.portal-file-list h4{margin:0 0 2px;color:#102A43;font-size:14px}
.portal-file-list a{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 11px;border:1px solid #E1E8EC;border-radius:9px;background:#F8FAFC;color:#102A43;text-decoration:none}
.portal-file-list a:hover{border-color:#AFC9D1;background:#F0F8FA}
.portal-file-list a span{min-width:0}
.portal-file-list a b,.portal-file-list a small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.portal-file-list a small{margin-top:3px;color:#64748B;font-size:12px}
.portal-file-list a em{flex:none;color:#1F6F7D;font-size:13px;font-style:normal;font-weight:800}
.portal-modal-footer{display:flex;flex:none;align-items:center;justify-content:flex-end;gap:9px;padding:13px 20px;border-top:1px solid #E7EDF0;background:#F8FAFC}
.portal-request-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 20px;color:#64748B;font-size:13px}
.portal-request-summary span{display:inline-flex;align-items:center;min-height:25px;padding:2px 9px;border-radius:999px;background:#EAF7FA;color:#1F6F7D;font-weight:800}
.portal-request-question{margin:0 20px 16px;padding:13px 14px;border-left:3px solid #86B8C1;border-radius:0 9px 9px 0;background:#F8FAFC}
.portal-request-question small{display:block;margin-bottom:5px;color:#64748B;font-size:12px;font-weight:800}
.portal-request-question p{margin:0;color:#334155;line-height:1.65;white-space:pre-wrap}
.portal-request-detail-card>.portal-task-timeline,.portal-request-detail-card>.portal-file-list{margin-left:20px;margin-right:20px}
.portal-request-detail-card>.portal-file-list{margin-bottom:18px}
.portal-section-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px}
.portal-communication-list,.portal-message-list{display:grid;min-width:0}
.portal-communication-row{display:grid;grid-template-columns:minmax(0,1fr) 150px auto;align-items:center;gap:14px;min-height:58px;padding:9px 2px;border-bottom:1px solid #E8EEF1;cursor:pointer}
.portal-communication-row:last-child{border-bottom:0}
.portal-communication-row:hover{background:#F8FBFC}
.portal-communication-row:focus-visible{outline:3px solid rgba(47,125,140,.16);outline-offset:1px}
.portal-communication-copy{min-width:0}
.portal-communication-copy strong,.portal-communication-copy p{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.portal-communication-copy strong{color:#102A43;font-size:14px;line-height:1.45}
.portal-communication-copy p{margin:3px 0 0;color:#64748B;font-size:13px;line-height:1.4}
.portal-communication-row time{color:#84929C;font-size:12px;white-space:nowrap}
.portal-communication-row>span{display:inline-flex;align-items:center;justify-content:center;min-height:24px;padding:2px 8px;border-radius:999px;background:#EEF7F8;color:#1F6F7D;font-size:12px;font-weight:800;white-space:nowrap}
.portal-compact-empty{padding:28px 2px}
.portal-client-modal .portal-compact-modal-card{display:flex;flex-direction:column;width:min(720px,calc(100vw - 40px));height:min(680px,86vh);padding:0;overflow:hidden}
.portal-compact-modal-body{min-height:0;flex:1;padding:4px 20px;overflow-y:auto;overscroll-behavior:contain}
.portal-compact-modal-footer{display:flex;flex:none;align-items:center;justify-content:space-between;gap:12px;min-height:56px;padding:8px 20px;border-top:1px solid #E7EDF0;background:#F8FAFC;color:#64748B;font-size:12px}
.portal-modal-title-line{display:flex;align-items:center;gap:10px}
.portal-modal-title-line>span{display:inline-flex;align-items:center;min-height:24px;padding:2px 8px;border-radius:999px;background:#EEF7F8;color:#1F6F7D;font-size:12px;font-weight:800;white-space:nowrap}
.portal-message-modal-head{align-items:center}
.portal-message-head-actions{display:flex;align-items:center;gap:10px}
.portal-message-head-actions .portal-text-action:disabled{color:#A5B1B8;text-decoration:none;cursor:default}
.portal-message-row{position:relative;display:grid;grid-template-columns:72px minmax(0,1fr) 150px 44px;align-items:center;gap:12px;width:100%;min-height:62px;padding:9px 3px;border-bottom:1px solid #E8EEF1;border-radius:0;background:#fff;color:#334155;text-align:left}
.portal-message-row:last-child{border-bottom:0}
.portal-message-row:hover{background:#F8FBFC}
.portal-message-row.unread{background:#F3F9FA}
.portal-message-row.unread::before{content:"";position:absolute;left:0;top:50%;width:3px;height:24px;border-radius:3px;background:#2F7D8C;transform:translateY(-50%)}
.portal-message-type{display:inline-flex;align-items:center;justify-content:center;min-height:24px;padding:2px 8px;border-radius:999px;background:#EEF3F5;color:#526170;font-size:12px;font-weight:800;white-space:nowrap}
.portal-message-copy{min-width:0}
.portal-message-copy strong,.portal-message-copy small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.portal-message-copy strong{color:#102A43;font-size:14px;line-height:1.45}
.portal-message-copy small{margin-top:3px;color:#64748B;font-size:13px;line-height:1.4}
.portal-message-row time{color:#84929C;font-size:12px;white-space:nowrap}
.portal-read-state{color:#84929C;font-size:12px;text-align:right;white-space:nowrap}
.portal-message-row.unread .portal-read-state{color:#1F6F7D;font-weight:800}
@media(max-width:980px){
  body.portal-client-mode .shell{padding:16px}
  body.portal-client-mode #authUserBar{max-width:100%}
  .portal-overview{display:grid}
  .portal-kpis{min-width:0;width:100%}
  .portal-grid-main{grid-template-columns:1fr}
  .portal-home-primary{grid-template-columns:1fr}
  .portal-reading-grid{grid-template-columns:1fr}
  .portal-quick-section .portal-quick{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(min-width:769px) and (max-width:980px){
  body.portal-client-mode{display:flex}
}
@media(max-width:768px){
  body.portal-client-mode .sidebar{padding-bottom:14px!important}
}
@media(max-width:640px){
  .portal-customer-switch label{display:grid;gap:5px}
  .portal-customer-switch select{width:100%}
  .portal-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}
  .portal-task-summary,.portal-detail-grid{grid-template-columns:1fr}
  .portal-overview{grid-template-columns:1fr;gap:18px}
  .portal-news-row{grid-template-columns:1fr;gap:5px}
  .portal-news-meta{flex-direction:row;align-items:center;justify-content:space-between}
  .portal-quick-section .portal-quick{grid-template-columns:repeat(2,minmax(0,1fr))}
  .portal-client-modal{padding:8px}
  .portal-client-modal .portal-task-detail-card,.portal-client-modal .portal-request-detail-card{width:100%;max-height:96vh}
  .portal-modal-head,.portal-task-summary,.portal-detail-grid,.portal-detail-panels{padding-left:14px;padding-right:14px}
  .portal-detail-tabs{padding:0 8px;overflow-x:auto}
  .portal-detail-tabs button{white-space:nowrap}
  .portal-modal-footer{padding:11px 14px}
  .portal-timeline-item header{display:grid;gap:3px}
  .portal-section-actions{gap:7px}
  .portal-communication-row{grid-template-columns:minmax(0,1fr) auto;gap:7px 10px;padding:10px 1px}
  .portal-communication-row time{grid-column:1;color:#84929C}
  .portal-communication-row>span{grid-column:2;grid-row:1 / span 2}
  .portal-client-modal .portal-compact-modal-card{width:100%;height:96vh}
  .portal-compact-modal-body{padding-left:14px;padding-right:14px}
  .portal-compact-modal-footer{padding-left:14px;padding-right:14px}
  .portal-message-row{grid-template-columns:64px minmax(0,1fr) auto;gap:7px 9px;padding:10px 1px}
  .portal-message-row time{grid-column:2;color:#84929C}
  .portal-read-state{grid-column:3;grid-row:1 / span 2}
  .portal-message-head-actions{gap:4px}
}

.coop-page{display:grid;gap:14px}
.coop-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;border:1px solid #DCE5EA;background:#fff;border-radius:10px;padding:16px 18px;box-shadow:0 10px 24px rgba(15,23,42,.04)}
.coop-toolbar h2{margin:0 0 6px;font-size:20px;color:#102A43}
.coop-toolbar p{margin:0;color:#64748B;line-height:1.5}
.coop-actions,.coop-modal-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.coop-actions .coop-quick-btn{font-weight:700;color:#1F6F7D;background:#EAF3F5}
.coop-filters{display:grid;grid-template-columns:minmax(280px,2.2fr) minmax(120px,1fr) minmax(130px,1fr) minmax(130px,1fr) minmax(120px,1fr) auto;gap:8px;border:1px solid #DCE5EA;background:#fff;border-radius:10px;padding:12px;align-items:start}
.coop-filters input,.coop-filters select,.coop-form-grid input,.coop-form-grid select,.coop-form-grid textarea,.coop-service-form input,.coop-service-form textarea,.coop-modal textarea,.coop-modal input,.coop-raw textarea{width:100%;box-sizing:border-box;border:1px solid #CBD5E1;border-radius:8px;background:#fff;color:#0F172A;padding:9px 10px;min-height:38px}
.coop-list{border:1px solid #DCE5EA;background:#fff;border-radius:10px;overflow:visible}
.coop-table{width:100%;min-width:0;table-layout:fixed;border-collapse:separate;border-spacing:0}
.coop-table th,.coop-table td{vertical-align:top}
.coop-table th{padding:10px 12px;font-size:12px;color:#64748B;white-space:nowrap}
.coop-table td{padding:12px;border-top:1px solid #EEF2F6;color:#102A43}
.coop-table tbody tr:first-child td{border-top:0}
.coop-table tbody tr:hover td{background:#F8FAFC}
.coop-table td small,.coop-table td b{display:block}
.coop-table td small{margin-top:4px;color:#64748B;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.coop-table td:nth-child(6),.coop-table td:nth-child(7),.coop-table td:nth-child(8),.coop-table td:nth-child(9){white-space:nowrap}
.coop-table td:nth-child(9){text-align:right}
.coop-pill{display:inline-flex;align-items:center;border-radius:999px;background:#F1F5F9;color:#475569;padding:4px 9px;font-size:12px;font-weight:700}
.coop-supplier-link{display:block;width:100%;min-height:auto;padding:0;border:0;background:transparent;color:#102A43;font-size:15px;font-weight:800;line-height:1.35;text-align:left;white-space:normal;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.coop-supplier-link:hover{color:#1F6F7D;background:transparent;text-decoration:underline}
.coop-service-name,.coop-contact-name{font-size:14px;color:#102A43;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.coop-price-range{font-size:16px;color:#0F766E;line-height:1.3;white-space:nowrap}
.coop-more-link,.coop-attach-link{color:#1F6F7D;background:transparent;border:0;padding:2px 0;min-height:auto;text-align:left;white-space:nowrap}
.coop-more-link:hover,.coop-attach-link:hover{text-decoration:underline;background:transparent}
.coop-table td:nth-child(9) .secondary{min-height:32px;padding:6px 10px;border-radius:7px;white-space:nowrap}
.coop-more-filters{position:relative;min-width:92px}
.coop-more-filters summary{list-style:none;cursor:pointer;min-height:38px;border:1px solid #CBD5E1;border-radius:8px;padding:9px 12px;box-sizing:border-box;color:#475569;background:#fff}
.coop-more-filters summary::-webkit-details-marker{display:none}
.coop-more-filters[open] summary{border-color:#2F7D8C;color:#1F6F7D}
.coop-more-filters div{position:absolute;right:0;top:44px;z-index:10;width:230px;border:1px solid #DCE5EA;border-radius:8px;background:#fff;box-shadow:0 16px 40px rgba(15,23,42,.14);padding:10px;display:grid;gap:8px}
.coop-modal-backdrop{position:fixed;inset:0;background:rgba(15,23,42,.34);display:flex;align-items:center;justify-content:center;z-index:10000;padding:18px;overflow:hidden}
.coop-modal{width:min(980px,96vw);max-height:90vh;overflow:hidden;background:#fff;border-radius:10px;border:1px solid #DCE5EA;box-shadow:0 24px 70px rgba(15,23,42,.24);padding:0;display:flex;flex-direction:column}
.coop-modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;border-bottom:1px solid #E5E7EB;background:#fff;flex:none}
.coop-modal-head h3{margin:0;font-size:18px;line-height:1.35;color:#102A43}
.coop-icon-close{width:32px;height:32px;min-width:32px;min-height:32px;border-radius:8px;background:transparent;color:#64748B;font-size:22px;line-height:1;display:inline-flex;align-items:center;justify-content:center;padding:0}
.coop-icon-close:hover{background:#EEF3F6;color:#0F172A}
.coop-modal-body{padding:14px 18px;overflow:auto;flex:1;min-height:0}
.coop-modal>textarea,.coop-modal>input,.coop-modal>p,.coop-modal #coopCandidateForm{margin:0}
.coop-modal-actions{border-top:1px solid #E5E7EB;background:#fff;padding:12px 18px;flex:none}
.coop-cancel-btn,.coop-primary-btn{min-height:38px;padding:9px 16px;border-radius:8px}
.coop-primary-btn{font-weight:700}
.coop-modal>textarea{min-height:220px;resize:vertical}
.coop-paste-grid{display:grid;grid-template-columns:minmax(300px,1fr) minmax(300px,1fr);gap:14px;margin:0}
.coop-paste-zone{min-height:320px;border:2px dashed #CBD5E1;border-radius:10px;background:#F8FAFC;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden;cursor:pointer}
.coop-paste-zone.dragover{border-color:#2F7D8C;background:#ECFDF5}
.coop-paste-empty{display:grid;justify-items:center;gap:10px;color:#64748B;padding:18px}
.coop-paste-empty b{font-size:18px;color:#102A43}
.coop-paste-empty span{line-height:1.55}
.coop-paste-zone img{max-width:100%;max-height:70vh;object-fit:contain;display:block}
.coop-image-queue{width:100%;display:grid;grid-template-columns:repeat(auto-fill,minmax(128px,1fr));gap:10px;padding:12px;box-sizing:border-box}
.coop-thumb{display:grid;gap:6px;align-content:start;border:1px solid #DCE5EA;border-radius:8px;background:#fff;padding:8px;text-align:left}
.coop-thumb img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:6px;background:#F1F5F9}
.coop-thumb b{display:block;font-size:13px;color:#102A43}
.coop-thumb span{display:block;min-height:32px;color:#64748B;font-size:12px;line-height:1.35;word-break:break-all}
.coop-paste-modal .coop-raw{margin:0}
.coop-paste-modal .coop-raw textarea{min-height:250px}
.coop-recognition-summary{display:flex;align-items:center;gap:10px;flex-wrap:wrap;border:1px solid #DCE5EA;background:#F8FAFC;border-radius:8px;padding:9px 10px;margin-bottom:12px;color:#475569;font-size:13px}
.coop-recognition-summary b{color:#102A43}
.coop-recognition-summary small{flex-basis:100%;color:#B45309;line-height:1.45}
.coop-parse-status{margin:0 0 12px;border:1px solid #BAE6FD;background:#F0F9FF;color:#075985;border-radius:8px;padding:10px}
.coop-form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.coop-form-grid label,.coop-service-form label,.coop-raw{display:grid;gap:6px;color:#475569;font-size:13px;font-weight:700}
.coop-form-grid .wide,.coop-service-form .wide,.coop-raw{grid-column:1/-1}
.coop-form-grid textarea,.coop-service-form textarea,.coop-raw textarea{min-height:72px;resize:vertical}
.coop-duplicates{border:1px solid #FDE68A;background:#FFFBEB;border-radius:8px;padding:10px;margin:12px 0;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.coop-duplicates{align-items:stretch}
.coop-duplicates>div:first-child{flex-basis:100%;display:grid;gap:3px}
.coop-duplicates small{color:#92400E;line-height:1.4}
.coop-duplicate-row{flex-basis:100%;display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:center;border:1px solid #FDE68A;background:#fff;border-radius:8px;padding:8px}
.coop-duplicate-row.selected{border-color:#2F7D8C;background:#F0FDFA}
.coop-duplicate-row span{display:grid;gap:3px;min-width:0}
.coop-duplicate-scan{display:grid;gap:10px}
.coop-duplicate-pair{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;border:1px solid #E5E7EB;border-radius:8px;background:#F8FAFC;padding:10px}
.coop-duplicate-pair p{grid-column:1/-1;margin:0;color:#92400E}
.coop-duplicate-pair small{display:block;margin-top:4px;color:#64748B;line-height:1.4}
.coop-duplicate-pair .coop-row-actions{grid-column:1/-1;margin-top:0}
.coop-head-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.coop-section-title{margin:14px 0 10px;font-size:15px;color:#102A43}
.coop-confirm-section{border:1px solid #E5E7EB;border-radius:8px;background:#fff;padding:12px;margin-bottom:12px}
.coop-confirm-section>h4,.coop-confirm-section .coop-service-head h4{margin:0 0 10px;font-size:15px;color:#102A43}
.coop-region-split{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.coop-region-split b{display:block;margin-bottom:8px;color:#102A43;font-size:13px}
.coop-region-editor{display:grid;gap:8px}
.coop-region-controls{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.coop-district-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(92px,1fr));gap:6px;border:1px solid #E5E7EB;border-radius:8px;background:#F8FAFC;padding:8px}
.coop-district-grid label{display:flex;align-items:center;gap:6px;margin:0;color:#475569;font-weight:500}
.coop-district-grid input{width:auto;min-height:auto}
.coop-region-actions{display:flex;justify-content:flex-end}
.coop-region-tags{display:flex;flex-wrap:wrap;gap:6px;min-height:30px;align-items:center}
.coop-region-tags button{min-height:28px;border-radius:999px;background:#EAF3F5;color:#1F6F7D;padding:4px 9px;font-size:12px}
.coop-region-tags span{color:#94A3B8;font-size:13px}
.coop-batch-quote{margin-top:10px;border-top:1px solid #E5E7EB;padding-top:10px}
.coop-batch-quote>summary{cursor:pointer;color:#1F6F7D;font-weight:800;list-style:none}
.coop-batch-quote>summary::-webkit-details-marker{display:none}
.coop-batch-inner{display:grid;gap:10px;margin-top:10px}
.coop-batch-help{color:#64748B;font-size:13px;line-height:1.45}
.coop-batch-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;margin-top:10px}
.coop-batch-grid label{display:grid;grid-template-columns:54px minmax(0,1fr);gap:6px;align-items:center;border:1px solid #E5E7EB;border-radius:8px;background:#F8FAFC;padding:7px}
.coop-batch-grid span{color:#475569;font-size:13px}
.coop-recognition-evidence{margin-top:16px;border-top:1px solid #E5E7EB;padding-top:10px}
.coop-recognition-evidence>summary{cursor:pointer;color:#475569;font-weight:700;list-style-position:inside}
.coop-evidence-list{display:grid;gap:8px;margin-top:10px}
.coop-evidence-item{border:1px solid #E5E7EB;border-radius:6px;background:#F8FAFC;padding:8px 10px}
.coop-evidence-item summary{cursor:pointer;color:#475569;font-weight:700}
.coop-evidence-item p{margin:7px 0;color:#64748B}
.coop-evidence-item pre{max-height:220px;overflow:auto;white-space:pre-wrap;word-break:break-word;margin:8px 0 0;color:#64748B;line-height:1.55;font-size:12px}
.coop-service-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;border:1px solid #E5E7EB;background:#F8FAFC;border-radius:8px;padding:12px;margin-bottom:10px}
.coop-service-head{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:12px;margin:-2px 0 2px}
.coop-service-head b{font-size:14px;color:#102A43}
.coop-danger-lite{min-height:30px;border-radius:7px;background:transparent;color:#64748B;padding:6px 10px;font-size:13px}
.coop-danger-lite:hover{background:#FEF2F2;color:#B91C1C}
.coop-detail{width:min(1180px,96vw);height:min(820px,90vh);max-height:90vh}
.coop-detail-head{align-items:flex-start;padding:16px 18px}
.coop-supplier-summary{min-width:0;display:grid;gap:5px}
.coop-supplier-summary>div{display:flex;align-items:center;gap:9px;min-width:0}
.coop-supplier-summary h3{font-size:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.coop-supplier-summary p{margin:0;color:#64748B;font-size:13px;line-height:1.45}
.coop-supplier-summary p span{margin:0 7px;color:#CBD5E1}
.coop-pill.is-inactive{background:#F1F5F9;color:#64748B}
.coop-row-inactive{opacity:.78}
.coop-detail-menu{position:relative}
.coop-detail-menu>summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;min-height:38px;padding:8px 12px;border:1px solid #CBD5E1;border-radius:8px;background:#fff;color:#334155}
.coop-detail-menu>summary::-webkit-details-marker{display:none}
.coop-detail-menu>div{position:absolute;right:0;top:44px;z-index:6;width:168px;padding:6px;border:1px solid #DCE5EA;border-radius:8px;background:#fff;box-shadow:0 12px 32px rgba(15,23,42,.14)}
.coop-detail-menu>div button{display:block;width:100%;min-height:36px;text-align:left}
.coop-detail-tabs{display:flex;gap:4px;padding:0 18px;border-bottom:1px solid #E5E7EB;background:#fff;flex:none}
.coop-detail-tabs button{position:relative;min-height:42px;padding:10px 14px;border:0;border-radius:0;background:transparent;color:#64748B;font-weight:700}
.coop-detail-tabs button:hover{background:#F8FAFC;color:#1F6F7D}
.coop-detail-tabs button.active{color:#1F6F7D}
.coop-detail-tabs button.active::after{content:"";position:absolute;left:12px;right:12px;bottom:-1px;height:2px;background:#2F7D8C}
.coop-detail-tabs span,.coop-history summary span{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;margin-left:4px;border-radius:10px;background:#EEF3F6;color:#64748B;font-size:11px}
.coop-detail-body{padding:0;overflow:auto;background:#fff}
.coop-tab-panel{padding:18px;min-height:100%}
.coop-tab-panel[hidden]{display:none}
.coop-section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}
.coop-section-heading h4{margin:0;color:#102A43;font-size:16px}
.coop-section-heading p{margin:4px 0 0;color:#64748B;font-size:13px}
.coop-summary-strips{display:grid;gap:8px;margin-bottom:16px}
.coop-summary-strips>div{display:grid;grid-template-columns:82px minmax(0,1fr);gap:10px;padding:9px 11px;border-left:3px solid #86B8C1;background:#F8FAFC;color:#475569;font-size:13px;line-height:1.55}
.coop-summary-strips>div.is-warning{border-left-color:#D6A84B;background:#FFFBEB}
.coop-summary-strips b{color:#102A43}
.coop-detail-item{border-top:1px solid #E5E7EB;padding:10px 0}
.coop-detail-item:first-child{border-top:0}
.coop-detail-item p{margin:6px 0;color:#334155;line-height:1.55}
.coop-detail-item small,.coop-tab-panel .muted{color:#64748B}
.coop-detail-quotes{display:grid;gap:18px}
.coop-quote-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:16px;padding:10px;background:#F8FAFC;border-radius:8px}
.coop-quote-filters label{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:7px;color:#64748B;font-size:12px;font-weight:700}
.coop-quote-filters select{min-height:34px;padding:6px 8px;background:#fff}
.coop-quote-group{padding:0;background:transparent}
.coop-quote-group h5{margin:0 0 8px;font-size:15px;color:#102A43}
.coop-quote-table{width:100%;border-collapse:separate;border-spacing:0;border:1px solid #E5E7EB;border-radius:8px;overflow:hidden;background:#fff}
.coop-quote-table th,.coop-quote-table td{padding:9px 10px;border-top:1px solid #EEF2F6;text-align:left;vertical-align:top;font-size:13px}
.coop-quote-table th{border-top:0;background:#F8FAFC;color:#64748B;font-weight:700;white-space:nowrap}
.coop-quote-table td b{color:#0F766E;font-size:15px;white-space:nowrap}
.coop-quote-table details{display:inline-block;margin-left:6px}
.coop-quote-table details p{margin:4px 0;min-width:210px;color:#475569}
.coop-history{margin-top:20px;padding-top:14px;border-top:1px solid #E5E7EB}
.coop-history>summary{cursor:pointer;font-weight:800;color:#334155;list-style-position:inside}
.coop-history-list{margin-top:8px}
.coop-source-preview,.coop-pending-box{margin-top:10px;border:1px solid #E5E7EB;border-radius:8px;background:#F8FAFC;padding:8px}
.coop-source-preview summary,.coop-pending-box summary{cursor:pointer;font-weight:800;color:#475569}
.coop-source-preview pre{max-height:180px;overflow:auto;white-space:pre-wrap;word-break:break-word;color:#64748B;line-height:1.55;margin:8px 0 0}
.coop-attachment-list{display:grid}
.coop-attachment-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;border-top:1px solid #EEF2F6;padding:10px 0}
.coop-attachment-row:first-child{border-top:0;padding-top:0}
.coop-attachment-row span{color:#64748B;font-size:12px;font-weight:700}
.coop-attachment-name{min-height:auto;padding:0;border:0;background:transparent;color:#1F6F7D;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.coop-attachment-name:hover{background:transparent;text-decoration:underline}
.coop-attachment-actions{display:flex;align-items:center;gap:5px}
.coop-download-link{min-height:30px;padding:5px 10px;border-radius:7px;white-space:nowrap;text-decoration:none}
.coop-timeline{list-style:none;margin:0;padding:0;display:grid;gap:0}
.coop-timeline li{position:relative;display:grid;grid-template-columns:150px minmax(0,1fr);gap:20px;padding:0 0 18px 18px;border-left:1px solid #DCE5EA}
.coop-timeline li::before{content:"";position:absolute;left:-5px;top:4px;width:9px;height:9px;border-radius:50%;background:#2F7D8C}
.coop-timeline time{color:#64748B;font-size:12px}
.coop-timeline b{color:#102A43}
.coop-timeline p{margin:4px 0;color:#475569;line-height:1.55}
.coop-timeline small{color:#94A3B8}
.coop-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:0 0 18px;border-top:1px solid #E5E7EB}
.coop-settings-grid>div{display:grid;grid-template-columns:110px minmax(0,1fr);gap:10px;padding:11px 0;border-bottom:1px solid #E5E7EB}
.coop-settings-grid>div:nth-child(odd){padding-right:18px}
.coop-settings-grid>div:nth-child(even){padding-left:18px;border-left:1px solid #E5E7EB}
.coop-settings-grid dt{color:#64748B}
.coop-settings-grid dd{margin:0;color:#102A43;word-break:break-word}
.coop-setting-note{margin:0 0 18px;padding:11px 0;border-bottom:1px solid #E5E7EB}
.coop-setting-note p{margin:6px 0 0;color:#475569;white-space:pre-wrap;line-height:1.6}
.coop-danger-zone{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px;border:1px solid #FECACA;border-radius:8px;background:#FFFDFD}
.coop-danger-zone b{color:#7F1D1D}
.coop-danger-zone p{margin:5px 0 0;color:#64748B;font-size:13px}
.coop-danger-zone>div:last-child{display:flex;gap:8px;flex:none}
.coop-image-lightbox{z-index:10020;background:rgba(15,23,42,.62)}
.coop-image-preview-card{width:min(1100px,96vw);height:min(820px,92vh)}
.coop-image-preview-body{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;background:#0F172A;padding:12px;overflow:auto}
.coop-image-preview-body img{display:block;max-width:100%;max-height:100%;object-fit:contain;border-radius:6px;background:#fff}
.plain.danger{color:#64748B;background:transparent;border:0;padding:6px 10px;border-radius:7px}
.plain.danger:hover{background:#FEF2F2;color:#B91C1C}
.coop-list{overflow:auto}
.coop-table{min-width:1080px}
.coop-table th,.coop-table td{padding:11px 12px}
.coop-table td:nth-child(8){white-space:nowrap;color:#475569}
.coop-row-actions{display:flex;gap:8px;margin-top:8px}
.coop-service-form select[name="service_name"],.coop-service-form select[name="customer_type"]{font-weight:700}
.coop-service-form [data-custom-service-wrap],.coop-service-form [data-custom-customer-wrap]{background:#fff;border:1px dashed #CBD5E1;border-radius:8px;padding:8px}
@media(max-width:1100px){.coop-filters{grid-template-columns:1fr 1fr}.coop-more-filters div{left:0;right:auto}.coop-form-grid,.coop-service-form,.coop-region-split{grid-template-columns:1fr 1fr}.coop-list{overflow-x:auto}.coop-table{min-width:1040px}.coop-quote-filters{grid-template-columns:1fr 1fr}.coop-quote-filters label{grid-template-columns:78px minmax(0,1fr)}}
@media(max-width:720px){.coop-toolbar{display:grid}.coop-actions button{flex:1 1 auto}.coop-filters,.coop-form-grid,.coop-service-form,.coop-paste-grid,.coop-region-split,.coop-region-controls,.coop-quote-filters{grid-template-columns:1fr}.coop-table{min-width:900px}.coop-modal-backdrop{padding:8px;align-items:flex-start}.coop-modal{max-height:96vh}.coop-detail{height:96vh}.coop-modal-body{padding:12px}.coop-detail-body{padding:0}.coop-tab-panel{padding:12px}.coop-modal-actions{padding:10px 12px}.coop-paste-grid{margin:0}.coop-paste-zone{min-height:240px}.coop-duplicate-row{grid-template-columns:1fr}.coop-quote-table{min-width:760px}.coop-detail-head{display:grid}.coop-head-actions{justify-content:flex-start}.coop-detail-tabs{overflow-x:auto;padding:0 10px}.coop-settings-grid{grid-template-columns:1fr}.coop-settings-grid>div:nth-child(n){padding:10px 0;border-left:0}.coop-danger-zone{align-items:flex-start;display:grid}.coop-timeline li{grid-template-columns:1fr;gap:5px}.coop-section-heading{align-items:flex-start}.coop-summary-strips>div{grid-template-columns:1fr}}

/* Ordinary account customer access inspector */
.staff-access-page .staff-access-toolbar{grid-template-columns:minmax(260px,320px) minmax(320px,1fr) auto;align-items:end}
.staff-access-account{display:grid;gap:6px;margin:0}
.staff-access-account span{font-size:12px;color:#64748b;font-weight:700}
.customer-staff-access-table{min-width:960px;table-layout:fixed}
.customer-staff-access-table th,.customer-staff-access-table td{padding:9px 10px;vertical-align:middle}
.customer-staff-access-table th:nth-child(1){width:118px}
.customer-staff-access-table th:nth-child(2){width:280px}
.customer-staff-access-table th:nth-child(3){width:120px}
.customer-staff-access-table th:nth-child(4){width:190px}
.customer-staff-access-table th:nth-child(5){width:110px}
.customer-staff-access-table th:nth-child(6){width:112px}
.customer-staff-access-table th:nth-child(7){width:112px}
@media(max-width:980px){.staff-access-page .staff-access-toolbar{grid-template-columns:1fr}.customer-staff-access-table{min-width:920px}}

.customer-click-row{cursor:pointer;}
.customer-click-row:hover td{background:#f8fbfc;}
.customer-click-row .cell-link{cursor:pointer;}

/* customer archive scope */

.customer-archive-scope{display:inline-flex;align-items:center;gap:6px;margin-left:auto;background:#f4f8fa;border:1px solid #dbe6ea;border-radius:10px;padding:4px;white-space:nowrap}
.customer-archive-scope button{height:32px;border:0;background:transparent;color:#536271;border-radius:8px;padding:0 10px;font-size:13px;font-weight:700;cursor:pointer}
.customer-archive-scope button.active{background:#e6f4f7;color:#1f7a8c}
.customer-archive-scope button:hover{background:#edf5f7;color:#1f7a8c}
.customer-archived-badge{margin-left:8px;vertical-align:middle}
.customer-two-title-row{gap:12px}
@media(max-width:780px){.customer-archive-scope{width:100%;margin-left:0;justify-content:space-between}.customer-archive-scope button{flex:1;padding:0 6px}.customer-two-title-row{align-items:flex-start}}


/* settlement-management-ui-20260904 */
.settlement-page{background:#fff;border:1px solid #e3e8ef;border-radius:8px;padding:18px 20px 22px;font-size:14px;line-height:1.55;color:#172033}
body.settlement-manage-active #pageTitle{font-size:22px;line-height:1.35}
.settlement-page h2{font-size:22px;line-height:1.35}
.settlement-page h3{font-size:16px;line-height:1.4}
.settlement-page input,.settlement-page select,.settlement-page textarea,.settlement-page button{font-size:14px;line-height:1.4}
.settlement-metrics{display:grid;gap:12px;margin-bottom:10px}
.settlement-metrics-main{grid-template-columns:repeat(4,minmax(0,1fr))}
.settlement-metrics article{border:1px solid #e3e8ef;background:#f8fafc;border-radius:8px;padding:16px 18px;min-height:82px}
.settlement-metrics span{display:block;color:#687385;font-size:12px;line-height:1.4;margin-bottom:9px}
.settlement-metrics strong{display:block;color:#142235;font-size:20px;line-height:1.25;font-variant-numeric:tabular-nums}
.settlement-mini-metrics{display:flex;gap:18px;flex-wrap:wrap;margin:0 0 16px;color:#687385;font-size:12px;line-height:1.5}
.settlement-mini-metrics b{color:#172033;font-size:14px;font-variant-numeric:tabular-nums}
.settlement-tabs,.settlement-status-tabs{display:flex;gap:8px;flex-wrap:wrap}
.settlement-tabs{margin:4px 0 0;border-bottom:1px solid #e8edf3;padding-bottom:10px}
.settlement-tabs button,.settlement-status-tabs button{border:1px solid #d7dde8;background:#fff;color:#304258;border-radius:8px;padding:8px 14px;min-height:36px;font-size:14px;cursor:pointer}
.settlement-tabs button.active,.settlement-status-tabs button.active{background:#123247;color:#fff;border-color:#123247}
.settlement-ledger-section{background:#fff;padding:16px 0 0;margin-top:0}
.settlement-workbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:12px}
.settlement-search{display:flex;gap:8px;align-items:center;justify-content:flex-end}
.settlement-search input{min-width:250px;height:38px;box-sizing:border-box}
.settlement-search #settlementFilterBtn{min-width:64px}
.settlement-search #newBiz{min-width:132px;white-space:nowrap}
.settlement-advanced-filter{display:flex;align-items:center;gap:10px;margin:0 0 12px;padding:10px 12px;background:#f8fafc;border:1px solid #e3e8ef;border-radius:8px;color:#687385;font-size:12px;line-height:1.5}
.settlement-advanced-filter select{border:1px solid #d7dde8;border-radius:8px;background:#fff;color:#687385;padding:8px 10px;font-size:14px}
.settlement-advanced-filter span{white-space:nowrap;min-width:56px}
.settlement-work-note{display:flex;align-items:center;gap:10px;margin:0 0 14px;padding:10px 12px;background:#f8fafc;border:1px solid #e3e8ef;border-radius:8px;color:#687385;font-size:14px;line-height:1.55}
.settlement-work-note b{color:#172033}
.settlement-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px}
.settlement-section-head p{margin:0;color:#687385;font-size:12px;line-height:1.6}
.settlement-section-head h3,.settlement-ledger-section h3{margin:0 0 10px;color:#172033;font-size:16px;letter-spacing:0}
.settlement-pending-work h3{margin-top:18px}
.settlement-table-wrap{border:1px solid #e3e8ef;border-radius:8px;overflow:auto;background:#fff}
.settlement-table{font-size:14px;line-height:1.45;min-width:1280px}
.settlement-table th,.settlement-table td{white-space:nowrap;vertical-align:middle;font-size:14px;line-height:1.45}
.settlement-table th{padding:13px 12px;background:#eef4f7;color:#334155;font-weight:700}
.settlement-table td{padding:13px 12px;border-bottom:1px solid #edf3f6}
.settlement-table tr{min-height:56px}
.settlement-table .num{text-align:right;font-variant-numeric:tabular-nums}
.settlement-table .strong{font-weight:700;color:#7a4d12}
.settlement-table small{display:block;color:#8a94a6;margin-top:4px;font-size:12px;line-height:1.45;font-weight:400}
.settlement-table b{font-size:14px;line-height:1.45}
.settlement-table .customer-pill{font-size:12px;line-height:1.4}
.settlement-table .task-op{display:flex;gap:6px;align-items:center;white-space:nowrap}
.settlement-table .task-op button,.settlement-section-head button,.settlement-search button{min-height:34px;padding:7px 12px;border-radius:7px;font-size:14px;line-height:1.4;margin:0}
.settlement-table .task-op small{display:inline-block;margin:0;color:#8a94a6;font-size:12px;line-height:1.35;white-space:normal;max-width:118px}
.settlement-action-disabled{opacity:.55;cursor:not-allowed}
.settlement-muted-action{font-weight:500}
.settlement-link-customer{display:inline-block;margin-top:4px;font-size:12px!important;color:#687385!important;font-weight:400!important}
.link-btn{border:0;background:transparent;color:#245b8f;padding:0;cursor:pointer;text-align:left;font-size:14px;line-height:1.45}
.settlement-empty{border:1px dashed #ccd5e1;background:#f8fafc;border-radius:8px;text-align:center;padding:38px 18px;color:#687385;font-size:14px;line-height:1.55}
.settlement-empty h3{margin:0 0 8px;color:#172033;font-size:16px}
.settlement-empty p{margin:0;font-size:14px;line-height:1.6}
.settlement-modal-backdrop{align-items:center;justify-content:center;padding:20px}
.settlement-business-modal{position:relative;width:min(860px,calc(100vw - 40px));max-height:calc(100vh - 48px);overflow:auto;padding:0}
.settlement-referrer-modal{position:relative;width:min(680px,calc(100vw - 40px));max-height:calc(100vh - 48px);overflow:auto;padding:0}
.settlement-business-modal header,.settlement-referrer-modal header{padding:22px 26px 12px;border-bottom:1px solid #e8edf3}
.settlement-business-modal header h2,.settlement-referrer-modal header h2{margin:0 0 6px;font-size:20px;line-height:1.35;color:#172033}
.settlement-business-modal header p,.settlement-referrer-modal header p{margin:0;color:#687385;font-size:14px;line-height:1.55}
.settlement-x{position:absolute;top:14px;right:16px;width:30px;height:30px;border:0;background:transparent;color:#687385;font-size:24px;line-height:1;cursor:pointer}
.settlement-form{padding:18px 26px 22px;font-size:14px;line-height:1.55}
.settlement-form section{padding:0 0 18px;margin:0 0 18px;border-bottom:1px solid #edf1f5}
.settlement-form section:last-of-type{border-bottom:0;margin-bottom:4px}
.settlement-form h3{margin:0 0 12px;font-size:16px;line-height:1.4;color:#172033;letter-spacing:0}
.settlement-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px}
.settlement-form label{display:flex;flex-direction:column;gap:7px;color:#304258;font-size:14px;line-height:1.45}
.settlement-form label.full{grid-column:1/-1}
.settlement-form input,.settlement-form select,.settlement-form textarea{width:100%;box-sizing:border-box;border:1px solid #ccd5e1;border-radius:8px;background:#fff;color:#172033;padding:10px 11px;min-height:40px;font-size:14px;line-height:1.45}
.settlement-form textarea{resize:vertical}
.settlement-form small{color:#7c8796;font-size:12px;line-height:1.5}
.settlement-form .hidden,.settlement-page .hidden{display:none!important}
.settlement-check{flex-direction:row!important;align-items:center;gap:8px}
.settlement-check input{width:auto;min-height:0}
.settlement-form footer{display:flex;justify-content:flex-end;gap:10px;padding-top:4px}
.settlement-detail-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:18px 26px 24px;font-size:14px;line-height:1.55}
.settlement-detail-grid p{border:1px solid #e3e8ef;border-radius:8px;background:#f8fafc;margin:0;padding:14px;color:#172033}
.settlement-detail-grid b{display:block;color:#687385;font-size:12px;line-height:1.4;margin-bottom:7px}
@media (max-width: 900px){
  .settlement-metrics-main{grid-template-columns:repeat(2,minmax(0,1fr))}
  .settlement-workbar,.settlement-section-head{flex-direction:column;align-items:stretch}
  .settlement-search,.settlement-search input{width:100%;min-width:0}
}
@media (max-width: 640px){
  .settlement-page{padding:14px}
  .settlement-metrics-main,.settlement-form-grid,.settlement-detail-grid{grid-template-columns:1fr}
  .settlement-business-modal,.settlement-referrer-modal{width:calc(100vw - 24px)}
  .settlement-business-modal header,.settlement-referrer-modal header,.settlement-form{padding-left:18px;padding-right:18px}
}



/* settlement customer picker 20260904 */
.settlement-customer-picker{position:relative}
.settlement-customer-menu{position:absolute;z-index:30;left:0;right:0;top:100%;margin-top:6px;background:#fff;border:1px solid #d8e0ea;border-radius:8px;box-shadow:0 10px 24px rgba(15,23,42,.10);max-height:260px;overflow:auto;padding:6px}
.settlement-customer-menu button{display:block;width:100%;border:0;background:#fff;text-align:left;padding:9px 10px;border-radius:6px;color:#1f2a3d;cursor:pointer}
.settlement-customer-menu button:hover{background:#eef8fb}
.settlement-customer-menu b{display:block;font-size:13px;font-weight:700;line-height:1.35}
.settlement-customer-menu small{display:block;margin-top:3px;color:#667085;font-size:12px;line-height:1.3}
.settlement-customer-menu p{margin:6px 8px;color:#667085;font-size:13px}
.settlement-main-cell b{display:block;color:#1f2a3d;font-weight:700}

/* Customer detail typography consolidation 20260904 */
.customer-two-detail{
  font-size:14px;
  line-height:1.5;
}
.customer-two-detail>.result-head{
  align-items:center!important;
  gap:14px;
  margin:0 0 12px;
  padding-bottom:12px;
  border-bottom:1px solid var(--border);
}
.customer-two-detail>.result-head h2{
  margin:0 0 4px;
  color:var(--text-primary);
  font-size:20px;
  line-height:1.35;
  font-weight:700;
  letter-spacing:0;
}
.customer-two-detail>.result-head p,
.customer-two-detail .meta,
.customer-two-detail small,
.customer-two-detail .empty.small,
.customer-two-detail .company-lookup-source-note,
.customer-two-detail .doc-type-pill,
.customer-two-detail .address-service-state{
  font-size:12px;
  line-height:1.45;
  color:var(--text-secondary);
}
.customer-two-detail .actions{
  gap:8px;
}
.customer-two-detail .actions button,
.customer-two-detail button.primary,
.customer-two-detail button.secondary,
.customer-two-detail button.danger{
  min-height:36px;
  padding:7px 12px;
  border-radius:8px;
  font-size:14px;
  line-height:1.35;
  font-weight:600;
}
.customer-two-detail .detail-tabs{
  gap:8px;
  margin:0 0 12px;
  padding-bottom:8px;
}
.customer-two-detail .detail-tabs button{
  min-height:38px;
  padding:8px 13px;
  border-radius:8px;
  font-size:16px;
  line-height:1.35;
  font-weight:600;
}
.customer-two-detail .detail-tabs button.primary{
  font-weight:700;
}
.customer-detail-groups{
  gap:12px;
}
.customer-detail-groups .customer-info-card{
  padding:14px;
}
.customer-info-card h3,
.customer-info-card-head h3{
  margin:0 0 10px;
  font-size:16px;
  line-height:1.35;
  font-weight:700;
  letter-spacing:0;
}
.customer-info-card-head{
  margin:0 0 10px;
}
.customer-two-detail .customer-field-grid{
  gap:10px 12px;
}
.customer-two-detail .customer-field{
  gap:6px;
}
.customer-two-detail .customer-field span,
.customer-two-detail label span,
.customer-two-detail .mini-field{
  font-size:14px;
  line-height:1.35;
  font-weight:600;
  color:var(--text-secondary);
}
.customer-two-detail .customer-field b,
.customer-two-detail .login-account-row p,
.customer-two-detail .customer-doc-list .attachment-row,
.customer-two-detail .customer-contract-list .attachment-row{
  min-height:38px;
  font-size:14px;
  line-height:1.5;
  font-weight:500;
}
.customer-two-detail input,
.customer-two-detail select,
.customer-two-detail textarea{
  width:100%;
  min-height:38px;
  border-radius:8px;
  padding:8px 10px;
  font-size:14px;
  line-height:1.45;
}
.customer-two-detail textarea{
  min-height:92px;
  resize:vertical;
}
.customer-two-detail .customer-info-card .meta{
  margin-top:8px;
}
.customer-two-detail .compact-fee-card .customer-field b,
.customer-two-detail .compact-fee-card .customer-field input{
  font-size:16px;
  line-height:1.4;
  font-weight:700;
}
.customer-two-detail .customer-info-card-head .compact,
.customer-two-detail .customer-mini-link{
  min-height:32px;
  padding:5px 9px;
  border-radius:8px;
  font-size:14px;
  line-height:1.35;
  font-weight:600;
}
.customer-two-detail .service-project-row{
  min-height:46px;
  gap:12px;
  padding:8px 10px 8px 12px;
}
.customer-two-detail .service-project-name span,
.customer-two-detail .service-project-row input,
.customer-two-detail .service-project-row select{
  font-size:14px;
}
/* Customer detail typography residual cleanup 20260904 */
.customer-two-detail p,
.customer-two-detail li,
.customer-two-detail code,
.customer-two-detail .customer-field,
.customer-two-detail .company-lookup-picked,
.customer-two-detail .company-lookup-option span,
.customer-two-detail .customer-doc-list .attachment-row,
.customer-two-detail .customer-contract-list .attachment-row,
.customer-two-detail .login-account-row,
.customer-two-detail .login-account-row p{
  font-size:14px;
  line-height:1.5;
}
.customer-two-detail>.result-head p,
.customer-two-detail .meta,
.customer-two-detail .customer-paste-zone p,
.customer-two-detail .company-lookup-source-note,
.customer-two-detail .company-lookup-option small,
.customer-two-detail .doc-type-pill,
.customer-two-detail .address-service-state,
.customer-two-detail .empty.small{
  font-size:12px;
  line-height:1.45;
}
.customer-two-detail .mini-field,
.customer-two-detail .mini-field select{
  font-size:14px;
}
.customer-two-detail .mini-field select{
  min-height:38px;
}

/* Task handling workspace final overrides 20260904.
   Keep the active task detail page as a handling workspace: summary, records,
   original materials, preview, and side controls share one modal surface. */
.task-detail-page-backdrop{
  align-items:center!important;
  justify-content:center!important;
  padding:18px!important;
}
.task-detail-page-card{
  width:min(1320px,96vw)!important;
  max-height:94vh!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
  padding:0!important;
}
.task-detail-page-head{
  flex:0 0 auto!important;
  align-items:flex-start!important;
  padding:18px 22px 14px!important;
  margin:0!important;
  border-bottom:1px solid #e4edf2!important;
  background:#fff!important;
}
.task-detail-scroll{
  flex:1 1 auto!important;
  min-height:0!important;
  overflow:auto!important;
  padding:16px 22px 20px!important;
  background:#f6f9fb!important;
}
.task-detail-page-grid{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 320px!important;
  gap:16px!important;
  align-items:start!important;
}
.task-detail-main,
.task-detail-right{
  display:grid!important;
  gap:14px!important;
  align-content:start!important;
}
.task-detail-right{
  position:sticky!important;
  top:0!important;
}
.task-detail-page-card .task-detail-section{
  border:1px solid #dce8ee!important;
  border-radius:10px!important;
  background:#fff!important;
  padding:14px!important;
  box-shadow:none!important;
}
.task-detail-page-card .task-priority-summary{
  border-color:#b9d8dd!important;
}
.task-summary-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:10px!important;
}
.task-summary-grid p,
.task-meta-grid-light p{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:5px!important;
  margin:0!important;
  padding:10px 12px!important;
  border:0!important;
  border-radius:8px!important;
  background:#f8fbfc!important;
}
.task-summary-grid b,
.task-meta-grid-light b{
  color:#6b7f8a!important;
  font-size:12px!important;
}
.task-summary-grid span{
  color:#172f3c!important;
  font-size:15px!important;
  font-weight:800!important;
  line-height:1.5!important;
  white-space:normal!important;
}
.task-meta-grid-light{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:10px!important;
  margin-top:10px!important;
  opacity:.86!important;
}
.task-processing-section{
  border-color:#b9d8dd!important;
}
.task-work-record-editor{
  display:grid!important;
  gap:10px!important;
}
.task-record-drop-zone{
  display:grid!important;
  place-items:center!important;
  gap:5px!important;
  min-height:108px!important;
  border:1px dashed #a9c7cf!important;
  border-radius:10px!important;
  background:#f7fbfc!important;
  text-align:center!important;
  outline:0!important;
}
.task-record-drop-zone:focus,
.task-record-drop-zone.dragover{
  border-color:var(--primary)!important;
  background:#eef8f7!important;
  box-shadow:0 0 0 3px rgba(47,125,140,.12)!important;
}
.task-record-file-preview{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:8px!important;
}
.task-record-actions{
  display:flex!important;
  justify-content:flex-end!important;
  gap:10px!important;
}
.task-record-actions button{
  min-height:38px!important;
}
.task-handle-timeline{
  display:grid!important;
  gap:10px!important;
  margin-top:12px!important;
}
.task-handle-record{
  border-left:3px solid var(--primary)!important;
  border-radius:8px!important;
  background:#f8fbfc!important;
  padding:10px 12px!important;
}
.task-record-attachments{
  display:grid!important;
  gap:8px!important;
  margin-top:8px!important;
}
.task-all-attachments{
  margin-top:10px!important;
}
.task-all-attachments summary{
  cursor:pointer!important;
  color:var(--primary)!important;
  font-weight:700!important;
}
.task-handle-panel{
  background:#f8fbfc!important;
  border-color:#b9d8dd!important;
}
.task-handle-panel #saveTaskSide,
.task-handle-panel #completeTaskDetailBtn,
.task-handover-panel > button,
.task-handover-form button{
  width:100%!important;
  justify-content:center!important;
  min-height:38px!important;
}
.task-attachment-preview-modal{
  position:fixed!important;
  inset:0!important;
  z-index:9999!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:18px!important;
  background:rgba(11,26,36,.68)!important;
}
.task-preview-card{
  width:min(1080px,96vw)!important;
  max-height:94vh!important;
  display:flex!important;
  flex-direction:column!important;
  border-radius:12px!important;
  background:#fff!important;
  overflow:hidden!important;
}
.task-preview-body{
  min-height:420px!important;
  flex:1 1 auto!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:auto!important;
  background:#0f1720!important;
}
.task-preview-body img{
  max-width:100%!important;
  max-height:78vh!important;
  object-fit:contain!important;
}
.task-preview-body iframe{
  width:100%!important;
  height:78vh!important;
  border:0!important;
  background:#fff!important;
}
@media(max-width:980px){
  .task-detail-page-grid,
  .task-meta-grid-light,
  .task-summary-grid{
    grid-template-columns:1fr!important;
  }
  .task-detail-right{position:static!important}
}



/* unified AI action loading 20260908 */
.ai-action-spinner{width:13px;height:13px;border:2px solid currentColor;border-right-color:transparent;border-radius:999px;display:inline-block;vertical-align:-2px;animation:sinoAiSpin .72s linear infinite;flex:0 0 auto}.ai-action-done{font-weight:800;line-height:1}.primary[data-ai-busy="1"],.secondary[data-ai-busy="1"],.danger[data-ai-busy="1"],button[data-ai-busy="1"]{display:inline-flex;align-items:center;justify-content:center;gap:6px}.ai-action-status{display:inline-flex;align-items:center;gap:6px;margin-left:8px;color:#526170;font-size:13px;line-height:1.4;vertical-align:middle}.ai-action-status.is-active{color:#2f6f7d}.ai-action-status.is-success{color:#0f766e}.ai-action-status.is-error{color:#b42318}.sino-ai-global-status{position:fixed;right:20px;bottom:20px;z-index:120;display:inline-flex;align-items:center;gap:8px;max-width:min(420px,calc(100vw - 32px));padding:10px 13px;border-radius:8px;border:1px solid #d7e9e3;background:#fff;color:#344054;box-shadow:0 12px 30px rgba(15,23,42,.12);font-size:14px}.sino-ai-global-status.is-active{color:#2f6f7d}.sino-ai-global-status.is-success{color:#0f766e}.sino-ai-global-status.is-error{color:#b42318;border-color:#f0c7c3;background:#fffafa}@keyframes sinoAiSpin{to{transform:rotate(360deg)}}@media(max-width:640px){.ai-action-status{display:flex;margin:6px 0 0}.sino-ai-global-status{left:12px;right:12px;bottom:12px;max-width:none}}

/* Customer management workspace 20260908 */
.customer-management-page{max-width:none}
.customer-management-page .customer-two-title-row>div:first-child p{margin:4px 0 0;color:var(--text-secondary);font-size:13px}
.customer-management-page .customer-info-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.customer-management-page .customer-info-toolbar>input{flex:1 1 220px;min-width:190px}
.customer-management-page .customer-info-toolbar>select{flex:0 1 150px;min-width:128px}
.customer-management-page .customer-two-actions{margin-left:auto}
.customer-management-table{width:100%;min-width:1000px!important;table-layout:fixed!important}
.customer-management-table th:nth-child(1){width:24%!important}
.customer-management-table th:nth-child(2){width:9%!important}
.customer-management-table th:nth-child(3){width:15%!important}
.customer-management-table th:nth-child(4){width:11%!important}
.customer-management-table th:nth-child(5){width:13%!important}
.customer-management-table th:nth-child(6){width:11%!important}
.customer-management-table th:nth-child(7){width:7%!important}
.customer-management-table th:nth-child(8){width:10%!important}
.customer-management-table tbody td{height:66px!important;white-space:normal!important;vertical-align:middle!important}
.customer-management-table .customer-name-cell .cell-link{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700;color:var(--text-primary);text-align:left}
.customer-management-table .customer-name-cell small{display:block;margin-top:4px;color:var(--text-secondary);font-size:12px;font-weight:500}
.customer-service-compact{display:flex;align-items:center;gap:5px;min-width:0;white-space:nowrap;overflow:hidden;color:var(--text-primary)}
.customer-service-compact span{overflow:hidden;text-overflow:ellipsis}
.customer-service-compact i{font-style:normal;color:#9aa8b5}
.customer-service-compact em{flex:0 0 auto;padding:1px 5px;border-radius:999px;background:#edf4f6;color:#2f6f7d;font-size:11px;font-style:normal;font-weight:700}
.customer-muted-value{color:var(--text-secondary)}
.customer-expiry{display:flex;flex-direction:column;gap:2px}
.customer-expiry b{font-size:13px;font-weight:650;color:var(--text-primary)}
.customer-expiry span{font-size:12px;color:#9a6700}
.customer-expiry.overdue span{color:#b42318}
.customer-owner-cell{overflow:hidden;text-overflow:ellipsis}
.customer-task-count{min-width:32px;min-height:30px;padding:4px 8px;border:1px solid var(--border);border-radius:8px;background:#f7f9fa;color:var(--text-secondary);font-weight:700}
.customer-task-count.has-count{border-color:#acd0d7;background:#edf7f9;color:#236c7a;cursor:pointer}
.customer-task-overdue{display:block;margin-top:3px;color:#b42318;font-size:11px}
.customer-payment-summary{display:flex;flex-direction:column;gap:2px}
.customer-payment-summary b{font-size:13px;color:var(--text-primary)}
.customer-payment-summary span{font-size:12px;color:#21805d}
.customer-payment-summary.due span{color:#b26a00}
.customer-overview-page{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:12px}
.customer-overview-hero,.customer-attention-card{grid-column:1/-1;border:1px solid var(--border);border-radius:10px;background:#fff;padding:16px}
.customer-overview-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.customer-overview-heading h3{margin:0 0 3px;font-size:20px;color:var(--text-primary)}
.customer-overview-heading p{margin:0;color:var(--text-secondary);font-size:12px}
.customer-overview-tags{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}
.customer-overview-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:14px}
.customer-overview-metrics>div,.customer-billing-summary>div{min-width:0;padding:10px 12px;border:1px solid #e5eaee;border-radius:8px;background:#f8fafb}
.customer-overview-metrics span,.customer-billing-summary span{display:block;margin-bottom:4px;color:var(--text-secondary);font-size:12px}
.customer-overview-metrics b,.customer-overview-metrics button,.customer-billing-summary b{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;border:0;background:none;padding:0;color:var(--text-primary);font-size:16px;font-weight:700;text-align:left;white-space:nowrap}
.customer-overview-metrics button{color:#236c7a;cursor:pointer}
.customer-attention-card{padding:13px 16px;background:#fbfcfd}
.customer-attention-card h3{margin:0 0 9px;font-size:15px}
.customer-attention-list{display:flex;flex-wrap:wrap;gap:8px}
.customer-attention-list span{padding:5px 9px;border:1px solid #d8e5e9;border-radius:7px;background:#fff;color:#40515f;font-size:13px}
.customer-attention-list .warning{border-color:#ead5a8;color:#8a5a00;background:#fffdf6}
.customer-attention-list .danger{border-color:#edc7c4;color:#a83a32;background:#fffafa}
.customer-attention-empty{margin:0;color:var(--text-secondary);font-size:13px}
.customer-overview-basic,.customer-overview-service{margin:0!important}
.customer-inline-editor{grid-column:1/-1}
.customer-service-billing-page,.customer-access-page{display:grid;gap:12px}
.customer-service-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.customer-service-card{padding:13px;border:1px solid #e1e8ec;border-radius:9px;background:#fbfcfd}
.customer-service-card>div{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}
.customer-service-card h4{margin:0;font-size:15px}
.customer-service-card p{display:grid;grid-template-columns:78px minmax(0,1fr);gap:8px;margin:5px 0}
.customer-service-card p span{color:var(--text-secondary);font-size:12px}
.customer-service-card p b{overflow:hidden;text-overflow:ellipsis;font-size:13px;font-weight:600;white-space:nowrap}
.customer-billing-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.customer-billing-summary .due b{color:#b26a00}
.customer-service-editor-wrap{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.customer-service-editor-wrap[hidden]{display:none!important}
.customer-service-editor-wrap>.full{grid-column:1/-1}
.customer-detail-more{position:relative}
.customer-detail-more-menu{position:absolute;right:0;top:calc(100% + 6px);z-index:8;display:grid;min-width:156px;padding:6px;border:1px solid var(--border);border-radius:9px;background:#fff;box-shadow:0 12px 28px rgba(15,35,45,.14)}
.customer-detail-more-menu[hidden]{display:none}
.customer-detail-more-menu button{width:100%;min-height:34px!important;border:0!important;background:transparent!important;color:var(--text-primary)!important;text-align:left!important;justify-content:flex-start!important}
.customer-detail-more-menu button:hover{background:#f2f6f7!important}
.customer-detail-more-menu .danger-text{color:#b42318!important}
.business-scope-text{display:-webkit-box!important;overflow:hidden;-webkit-line-clamp:4;-webkit-box-orient:vertical;white-space:normal!important}
.business-scope-text.expanded{display:block!important;overflow:visible;-webkit-line-clamp:unset}
.business-scope-toggle{justify-self:start;margin-top:5px;padding:0;border:0;background:none;color:#287587;cursor:pointer;font-size:12px}
.task-customer-scope{display:flex;align-items:center;gap:6px;min-height:38px;padding:6px 8px 6px 10px;border:1px solid #b9d8df;border-radius:8px;background:#edf7f9;color:#236c7a;font-size:13px;font-weight:600}
.task-customer-scope button{min-width:24px;min-height:24px;padding:0;border:0;border-radius:6px;background:transparent;color:#236c7a;font-size:18px;line-height:1;cursor:pointer}
@media(max-width:1180px){.customer-management-page .customer-info-table-wrap{overflow-x:auto}.customer-service-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.customer-overview-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.customer-management-table{min-width:0!important}.customer-overview-page{grid-template-columns:1fr}.customer-overview-heading{display:grid}.customer-overview-tags{justify-content:flex-start}.customer-overview-metrics,.customer-billing-summary,.customer-service-cards,.customer-service-editor-wrap{grid-template-columns:1fr}.customer-service-editor-wrap>.full{grid-column:auto}.customer-detail-more-menu{left:0;right:auto}.customer-management-page .customer-info-toolbar>input,.customer-management-page .customer-info-toolbar>select{flex:1 1 100%;width:100%}.customer-management-page .customer-two-actions{margin-left:0}}

/* Task todo-view semantics and card interaction refinement 20260908 */
.task-workbench-card{
  grid-template-columns:minmax(0,45fr) minmax(0,30fr) minmax(260px,25fr) 40px;
  cursor:pointer;
}
.task-workbench-card:focus-visible{
  outline:2px solid rgba(47,125,140,.5);
  outline-offset:2px;
}
.task-workbench-card.is-overdue{
  background:#fff;
  box-shadow:0 1px 0 rgba(24,42,54,.05),0 8px 20px rgba(24,42,54,.028);
}
.task-workbench-card.is-overdue:before{background:var(--danger);}
.task-card-actions{min-width:32px;}
.task-card-actions .more-btn{margin-left:auto;}
.task-workbench-page #taskMoreFilter{min-width:118px;}
@media(max-width:1260px){
  .task-workbench-card{grid-template-columns:minmax(0,42fr) minmax(0,30fr) minmax(248px,25fr) 40px;}
}
@media(max-width:980px){
  .task-workbench-card{grid-template-columns:1fr;cursor:default;}
  .task-card-actions{justify-content:flex-end;}
}

/* Customer detail stable modal final override 20260908 */
#customerDetailModal.modal-backdrop{
  overflow:hidden;
}
.customer-two-detail{
  width:min(90vw,1400px)!important;
  height:min(88vh,900px)!important;
  max-height:min(88vh,900px)!important;
  padding:0!important;
  overflow:hidden!important;
  display:flex!important;
  flex-direction:column!important;
}
.customer-two-detail>.result-head.customer-two-detail-head{
  flex:0 0 auto;
  margin:0!important;
  padding:18px 24px 14px!important;
  min-height:82px;
  border-bottom:1px solid var(--border);
}
.customer-two-detail>.result-head.customer-two-detail-head>div:first-child{
  min-width:0;
}
.customer-two-detail>.result-head.customer-two-detail-head h2{
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.customer-detail-actions{
  flex:0 0 auto;
  min-height:38px;
  align-items:center;
  justify-content:flex-end;
}
.customer-two-detail>.detail-tabs.customer-two-detail-tabs{
  flex:0 0 auto;
  margin:0!important;
  padding:10px 24px!important;
  border-bottom:1px solid var(--border);
  background:#fff;
}
#customerTwoDetailBody.customer-two-detail-body{
  flex:1 1 auto;
  min-height:0;
  overflow-y:auto;
  overflow-x:hidden;
  scrollbar-gutter:stable;
  padding:18px 24px 22px;
  background:#f7f9fa;
}
#customerTwoDetailBody.customer-two-detail-body>section,
#customerTwoDetailBody.customer-two-detail-body .customer-overview-hero,
#customerTwoDetailBody.customer-two-detail-body .customer-attention-card,
#customerTwoDetailBody.customer-two-detail-body .customer-info-card{
  max-width:100%;
}
#customerTwoDetailBody.customer-two-detail-body .customer-overview-page,
#customerTwoDetailBody.customer-two-detail-body .customer-service-billing-page,
#customerTwoDetailBody.customer-two-detail-body .customer-access-page,
#customerTwoDetailBody.customer-two-detail-body .customer-detail-groups{
  width:100%;
}
#customerTwoDetailBody.customer-two-detail-body .empty,
#customerTwoDetailBody.customer-two-detail-body .small-empty{
  min-height:120px;
  display:flex;
  align-items:center;
  justify-content:center;
}
@media(max-width:760px){
  #customerDetailModal.modal-backdrop{
    padding:0!important;
    align-items:stretch!important;
    justify-content:stretch!important;
  }
  .customer-two-detail{
    width:100%!important;
    height:100dvh!important;
    max-height:100dvh!important;
    border-radius:0!important;
  }
  .customer-two-detail>.result-head.customer-two-detail-head{
    padding:14px 14px 12px!important;
    min-height:74px;
  }
  .customer-two-detail>.detail-tabs.customer-two-detail-tabs{
    padding:8px 14px!important;
    overflow-x:auto;
    flex-wrap:nowrap;
  }
  #customerTwoDetailBody.customer-two-detail-body{
    padding:14px;
  }
}
