:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;color:#1f2a30;background:#f6f8f9;line-height:1.5}
*{box-sizing:border-box}body{margin:0;min-width:320px}.site-shell{display:flex;min-height:100vh}.site-sidebar{width:240px;background:#1f3542;color:#fff;padding:28px 18px;display:flex;flex-direction:column}.brand-mark{font-size:22px;font-weight:700;letter-spacing:.03em}.brand-subtitle{font-size:12px;color:#b9cbd2;margin-top:4px}.site-nav{display:grid;gap:6px;margin-top:34px}.site-nav a,.site-logout{padding:10px 12px;border:0;border-radius:8px;color:#d6e3e7;text-decoration:none;background:transparent;text-align:left;cursor:pointer;font-size:14px}.site-nav a:hover,.site-nav a:focus,.site-logout:hover{background:#365b6a;color:#fff}.site-logout{margin-top:auto;border-top:1px solid #45616c}.site-main{flex:1;min-width:0}.site-header{height:72px;background:#fff;border-bottom:1px solid #e3eaec;display:flex;align-items:center;justify-content:space-between;padding:0 32px}.eyebrow{display:block;color:#8a949b;font-size:11px;letter-spacing:.08em;text-transform:uppercase}.user-chip{border:1px solid #d3dbe0;border-radius:999px;padding:7px 12px;font-size:13px}.site-content{max-width:1180px;margin:auto;padding:42px 32px}.page-heading h1{font-size:30px;margin:6px 0}.page-heading p{color:#5b6770}.module-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;margin-top:30px}.module-card,.auth-card{background:#fff;border:1px solid #e3eaec;border-radius:12px;box-shadow:0 2px 8px #1f2a3010;padding:24px}.module-card h2{margin-top:0;font-size:18px}.module-card p{color:#5b6770;min-height:48px}.primary-button,.secondary-button,.code-row button{border-radius:8px;padding:10px 16px;border:1px solid #7ab5be;background:#8ABCD1;color:#1f3a44;font-weight:600;cursor:pointer;box-shadow:0 2px 6px rgba(138,189,209,.30)}.secondary-button,.code-row button{background:#fff;color:#5a94a8}.auth-page{min-height:100vh;display:grid;place-items:center;padding:24px}.auth-card{width:min(430px,100%);padding:32px}.auth-card h1{font-size:24px;margin:22px 0 4px}.auth-card p{color:#5b6770}.auth-tabs{display:flex;gap:8px;margin:22px 0}.auth-tabs a{flex:1;text-align:center;padding:9px;border:1px solid #d3dbe0;border-radius:8px;text-decoration:none;color:#5a94a8}.auth-tabs a.active{background:#8ABCD1;color:#1A3540;border-color:#7ab5be}.auth-card form{display:grid;gap:12px}.auth-card label{display:grid;gap:5px;font-size:13px;color:#5b6770}.auth-card input{border:1px solid #d3dbe0;border-radius:8px;padding:10px 12px;font:inherit}.code-row{display:flex;gap:8px}.code-row input{flex:1}.form-message{min-height:20px;color:#c0392b;font-size:13px}@media(max-width:760px){.site-sidebar{width:190px}.site-header{padding:0 18px}.site-content{padding:28px 18px}}
.admin-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:28px 0}.admin-stats article,.admin-panel{background:#fff;border:1px solid #e3eaec;border-radius:12px;padding:20px}.admin-stats span{display:block;color:#5b6770;font-size:13px}.admin-stats strong{display:block;font-size:26px;margin-top:6px}.admin-panel{margin-top:18px}.admin-panel>h2{font-size:18px;margin:0 0 16px}.status-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.status-grid>div{border:1px solid #e3eaec;border-radius:8px;padding:14px}.status-grid span{display:block;color:#5b6770;font-size:12px;margin-bottom:6px}.status-tag{display:inline-block;border-radius:999px;padding:3px 9px;font-size:12px;font-weight:600}.status-tag.success{background:#e8f3ec;color:#15803d}.status-tag.warning{background:#fbf1e3;color:#b45309}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;font-size:13px}th,td{text-align:left;padding:11px 12px;border-bottom:1px solid #e3eaec}th{background:#f6f8f9;color:#5b6770}@media(max-width:900px){.admin-stats,.status-grid{grid-template-columns:repeat(2,1fr)}}
.forgot-link{text-align:center;color:#8a2524;text-decoration:none;font-size:13px}
.module-link{display:inline-block;text-decoration:none}
.inline-form{display:grid;grid-template-columns:1fr 1fr auto;gap:10px}.inline-form input{border:1px solid #d3dbe0;border-radius:8px;padding:10px 12px;font:inherit}.task-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:18px;margin-top:20px}.task-card,.empty-panel{background:#fff;border:1px solid #e3eaec;border-radius:12px;padding:20px}.task-card.active{border-color:#8abcd1;box-shadow:0 0 0 3px #eef5f8}.task-card h2{font-size:18px;margin:12px 0 4px}.task-card p{color:#5b6770}.task-card dl{border-top:1px solid #e3eaec;padding-top:12px}.task-card dt{font-size:11px;color:#8a949b}.task-card dd{margin:3px 0;font-size:13px}.task-actions{display:flex;gap:8px;margin-top:16px}.danger-button{border:1px solid #ead2ce;background:#fff;color:#c0392b;border-radius:8px;padding:9px 14px;cursor:pointer}.empty-panel{grid-column:1/-1;text-align:center;color:#5b6770;padding:44px}@media(max-width:760px){.inline-form{grid-template-columns:1fr}.site-sidebar{position:sticky;top:0}}
.upload-panel{display:flex;align-items:center;justify-content:space-between;gap:20px;background:#fff;border:1px dashed #8abcd1;border-radius:12px;padding:24px;margin-top:24px}.upload-panel h2{margin:0 0 5px}.upload-panel p{margin:0;color:#5b6770}.file-button{cursor:pointer;white-space:nowrap}
.matching-actions{display:flex;align-items:center;gap:14px;margin:18px 0}.matching-actions span{color:#5b6770;font-size:13px}.manual-match-form{display:grid;grid-template-columns:1.2fr 1.2fr .6fr auto;gap:10px}.manual-match-form select,.manual-match-form input{border:1px solid #d3dbe0;border-radius:8px;padding:10px;font:inherit}.status-tag.danger{background:#fbeae8;color:#c0392b}small{color:#8a949b}@media(max-width:900px){.manual-match-form{grid-template-columns:1fr}.match-stats{grid-template-columns:repeat(2,1fr)}}
.plan-form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.plan-form-grid label{display:grid;gap:6px;color:#5b6770;font-size:13px}.plan-form-grid input,.plan-form-grid select,.map-source,.ledger-generate-form select{border:1px solid #d3dbe0;border-radius:8px;padding:9px 10px;font:inherit;background:#fff}.editor-actions,.ledger-generate-form{display:flex;align-items:center;gap:12px;margin-top:18px}.ledger-generate-form select{min-width:360px}@media(max-width:800px){.plan-form-grid{grid-template-columns:1fr}.editor-actions,.ledger-generate-form{align-items:stretch;flex-direction:column}.ledger-generate-form select{min-width:0;width:100%}}
.admin-stats-wide{grid-template-columns:repeat(6,1fr)}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.panel-heading h2{margin:0;font-size:18px}.admin-search{width:min(280px,100%);border:1px solid #d3dbe0;border-radius:8px;padding:8px 10px;font:inherit}.panel-note{color:#5b6770;font-size:13px}.module-toggle{display:block;margin-top:14px}@media(max-width:1100px){.admin-stats-wide{grid-template-columns:repeat(3,1fr)}}@media(max-width:700px){.admin-stats-wide{grid-template-columns:repeat(2,1fr)}.panel-heading{align-items:stretch;flex-direction:column}.admin-search{width:100%}}
.ai-admin-grid,.resource-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:18px}.ai-admin-grid>div,.resource-grid article{border:1px solid #e3eaec;border-radius:10px;padding:16px}.ai-admin-grid span,.resource-grid span{display:block;color:#5b6770;font-size:12px}.ai-admin-grid strong,.resource-grid h3{display:block;font-size:18px;margin:6px 0}.ai-admin-grid p,.resource-grid p{color:#5b6770;font-size:13px}.ai-settings-form{display:grid;grid-template-columns:1fr 1.2fr 1.6fr auto auto;gap:10px;align-items:end;margin:18px 0}.ai-settings-form label{display:grid;gap:5px;font-size:12px;color:#5b6770}.ai-settings-form input,.ai-settings-form select,.resource-lookup-form input{border:1px solid #d3dbe0;border-radius:8px;padding:9px 10px;font:inherit;background:#fff}.resource-lookup-form{display:flex;align-items:center;gap:10px;margin-top:18px}@media(max-width:1000px){.ai-settings-form{grid-template-columns:1fr 1fr}.ai-admin-grid,.resource-grid{grid-template-columns:1fr}}@media(max-width:700px){.ai-settings-form,.resource-lookup-form{display:flex;flex-direction:column;align-items:stretch}}
[data-import-organization]{border:1px solid #d3dbe0;border-radius:8px;padding:8px 10px;background:#fff;max-width:240px}

.ledger-center-shell{max-width:980px;margin:0 auto;padding:32px 30px}.ledger-center-heading h2{font-size:20px;color:#111827;margin:0}.ledger-center-heading p{font-size:12px;color:#6b7280;margin:7px 0 0}.ledger-function-list{display:grid;gap:16px;margin-top:24px}.ledger-function-card{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:18px;align-items:center;padding:22px 24px;border:1px solid #dce6f8;border-radius:12px;background:#fff;box-shadow:0 8px 24px rgba(36,99,235,.06);transition:box-shadow .2s ease,transform .2s ease}.ledger-function-card:hover{box-shadow:0 12px 32px rgba(36,99,235,.11);transform:translateY(-1px)}.ledger-function-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:12px;background:#e8effd;color:#1a56db;font-size:25px}.ledger-function-name{font-size:16px;font-weight:600;color:#111827}.ledger-function-copy{font-size:13px;color:#6b7280;margin-top:5px;line-height:1.7}.ledger-function-meta{font-size:12px;color:#9ca3af;margin-top:8px}.ledger-function-card .primary-button{white-space:nowrap;text-decoration:none}@media(max-width:700px){.ledger-center-shell{padding:22px 0}.ledger-function-card{grid-template-columns:1fr;gap:12px;padding:18px}.ledger-function-card .primary-button{width:100%;text-align:center}}
.module-shell{max-width:1180px;margin:0 auto;min-height:calc(100vh - 120px)}.module-heading{padding:4px 0 6px}.module-heading h1{font-size:24px;color:#111827;margin:4px 0 6px}.module-heading p{font-size:13px;color:#6b7280;margin:0}.module-actions{display:flex;justify-content:flex-end;padding:14px 0 10px}.task-create-bar{margin:8px 0 18px;padding:16px 18px;border:1px solid #dce6f8;border-radius:10px;background:#fbfcfe}.task-create-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;color:#111827}.task-create-form{display:grid;grid-template-columns:1fr 1fr;gap:14px}.task-create-form label{display:grid;gap:6px;font-size:12px;color:#6b7280}.task-create-form input{border:1px solid #d3dbe0;border-radius:8px;padding:10px 12px;font:inherit;background:#fff}.req{color:#dc2626;margin-left:3px}.task-create-foot{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:16px;color:#8a949b;font-size:12px}.task-list-surface{border-top:1px solid #e5e7eb;border-bottom:1px solid #e5e7eb;background:#fff}.module-list-head{min-height:62px;padding:14px 20px;display:flex;align-items:center;justify-content:space-between;gap:18px;border-bottom:1px solid #e5e7eb}.module-list-title{font-size:15px;font-weight:600;color:#111827}.module-upload-help{font-size:12px;color:#8a949b;margin-top:4px}.task-count{font-size:12px;color:#6b7280}.task-list-surface .task-grid{padding:18px 20px;margin:0}.task-card{box-shadow:0 2px 8px rgba(15,23,42,.04)}.task-card h2{font-size:16px}.task-card.active{border-color:#8abcd1;box-shadow:0 0 0 3px #eef5f8}.task-card dl{margin:12px 0 0}.task-card dd{color:#4b5563}@media(max-width:700px){.task-create-form{grid-template-columns:1fr}.task-create-foot{grid-column:auto;align-items:stretch;flex-direction:column}.task-create-foot .primary-button{width:100%}.module-list-head{padding:14px 16px}.task-list-surface .task-grid{padding:14px 16px}}
.upload-panel{display:flex;align-items:center;gap:16px;margin:18px auto 0;max-width:1180px;padding:16px 18px;border:1.5px dashed #c9dce4;border-radius:10px;background:linear-gradient(180deg,#fcfeff,#f4f9fb);box-shadow:none}.upload-panel>div{flex:1}.upload-panel h2{font-size:14px;margin:0;color:#1f2937}.upload-panel p{font-size:12px;color:#6b7280;margin:4px 0 0}.upload-panel .file-button{margin-left:auto}.admin-panel{max-width:1180px;margin:18px auto 0;border:1px solid #e5e7eb;border-radius:10px;box-shadow:0 2px 8px rgba(15,23,42,.04)}.admin-panel>h2{font-size:15px;padding-bottom:12px;border-bottom:1px solid #e5e7eb}.admin-panel .table-scroll{margin:0 -20px -20px;padding-top:4px}.admin-panel table{font-size:12px}.admin-panel th{font-size:12px;background:#fbfcfe}.admin-panel td{color:#4b5563}.form-message{margin:10px auto;max-width:1180px;color:#b45309;font-size:13px;min-height:20px}@media(max-width:700px){.upload-panel{align-items:stretch;flex-direction:column}.upload-panel .file-button{margin-left:0;text-align:center}.admin-panel .table-scroll{margin:0 -16px -16px}}
.match-stats{max-width:1180px;margin:20px auto 0;grid-template-columns:repeat(4,1fr)}.match-stats article{border:1px solid #dce6f8;border-radius:10px;background:#fff;box-shadow:0 2px 8px rgba(15,23,42,.04)}.match-stats article strong{color:#1a56db}.matching-actions{max-width:1180px;margin:16px auto;display:flex;align-items:center;gap:14px}.matching-actions span{font-size:12px;color:#6b7280}.manual-match-form{display:grid;grid-template-columns:1.25fr 1.25fr .65fr auto;gap:10px}.manual-match-form select,.manual-match-form input{border:1px solid #d3dbe0;border-radius:8px;padding:10px;font:inherit;background:#fff}.status-tag.danger{background:#fbeae8;color:#c0392b}.admin-panel .manual-match-form{padding-top:4px}.admin-panel:has(.manual-match-form){padding-bottom:20px}@media(max-width:900px){.match-stats{grid-template-columns:repeat(2,1fr)}.manual-match-form{grid-template-columns:1fr}}@media(max-width:700px){.match-stats{grid-template-columns:1fr 1fr}.matching-actions{align-items:stretch;flex-direction:column}}
.plan-form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.plan-form-grid label{display:grid;gap:6px;font-size:12px;color:#6b7280}.plan-form-grid input,.plan-form-grid select,.map-source,.ledger-generate-form select{border:1px solid #d3dbe0;border-radius:8px;padding:10px;font:inherit;background:#fff}.editor-actions,.ledger-generate-form{display:flex;align-items:center;gap:12px;margin-top:18px}.ledger-generate-form select{min-width:360px}.plan-meta{padding-bottom:20px}.plan-meta h2{margin-bottom:14px}.editor-actions{max-width:1180px;margin-left:auto;margin-right:auto}.resource-grid{max-width:1180px;margin-left:auto;margin-right:auto}@media(max-width:800px){.plan-form-grid{grid-template-columns:1fr}.editor-actions,.ledger-generate-form{align-items:stretch;flex-direction:column}.ledger-generate-form select{min-width:0;width:100%}}

/* Historical desktop workflow styling. */
.ledger-kpi-grid{max-width:1180px;margin:20px auto 0;grid-template-columns:repeat(4,1fr)}.ledger-kpi-grid article{border:1px solid #dce6f8;border-radius:10px;background:#fff;padding:16px;box-shadow:0 2px 8px rgba(15,23,42,.04)}.ledger-kpi-grid span,.ledger-kpi-grid small{display:block;color:#6b7280;font-size:12px}.ledger-kpi-grid strong{display:block;color:#1a56db;font-size:24px;margin:6px 0}.ledger-archive-panel{max-width:1180px;margin:18px auto 0}@media(max-width:900px){.ledger-kpi-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.ledger-kpi-grid{grid-template-columns:1fr}}
.template-wizard-steps{max-width:1180px;margin:18px auto;display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.wizard-step{display:flex;align-items:center;gap:8px;padding:12px 14px;border:1px solid #d6dee5;border-radius:8px;background:#fff;color:#8a949b;font-size:13px}.wizard-step b{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#eef4ff;color:#45616c}.wizard-step.active{border-color:#8abcd1;background:#f4f9fb;color:#1f3542}.wizard-step.active b,.wizard-step.done b{background:#d7ebf0;color:#1A3540}.wizard-step.done{color:#365b6a}.template-setup-panel{padding-bottom:20px}.template-setup-actions{grid-column:1/-1;display:flex;align-items:center;gap:10px;margin-top:4px}.template-locked-note{margin:14px 0 0;color:#6b7280;font-size:12px}.template-setup-panel input:disabled{background:#f6f8f9}.template-setup-actions .file-button{display:inline-flex;align-items:center}.match-filter-tabs{display:flex;gap:8px;margin:0 0 14px;flex-wrap:wrap}.match-filter-tabs button{border:1px solid #d6dee5;background:#fff;color:#52606d;border-radius:16px;padding:6px 14px;cursor:pointer}.match-filter-tabs button.active{border-color:#8abcd1;background:#eef5f8;color:#1f3542}
.form-label-line{display:inline-flex;align-items:center;gap:0;white-space:nowrap}
.template-structure-grid>label{display:block}.template-structure-grid>label>.form-select,.template-structure-grid>label>.template-structure-row{width:100%;margin-top:7px}
.plan-next-step{display:block;margin:0 18px 18px auto}.template-upload-surface[hidden],.template-plan-setup[hidden],.plan-next-step[hidden]{display:none}.template-upload-head>button{margin-left:auto}.template-save-success-inline{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:18px 30px;padding:16px 18px;text-align:left}.template-save-success-inline>div{display:flex;align-items:baseline;gap:12px}.template-save-success-inline strong{color:#167245}.template-save-success-inline span{color:#6b7280;font-size:13px}
.plans-workflow-page #templateUploadSurface .template-upload-head>div,.plans-workflow-page #templateUploadSurface #uploadStepStatus,.plans-workflow-page #templateUploadSurface .template-locked-note{display:none}.plans-workflow-page #templateUploadSurface .upload-bar-text{display:block}.plans-workflow-page #templateUploadSurface .upload-bar-sub{display:none}
.plans-workflow-page #templateUploadSurface .template-upload-head>button{display:none!important}
.user-profile-entry{width:100%;margin:0;padding:10px 10px;border:0;border-radius:10px;background:rgba(255,255,255,.15);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:inherit;text-align:left;cursor:pointer;transition:all .18s ease;display:flex;align-items:center;gap:10px}.user-profile-entry:hover,.user-profile-entry.is-active{background:rgba(255,255,255,.35);transform:translateY(-1px)}.user-profile-entry:focus-visible{outline:2px solid #E9AD5F;outline-offset:2px}.user-profile-entry .user-profile-arrow{margin-left:auto;color:rgba(26,53,64,.4);font-size:18px;line-height:1;transition:transform .15s,color .15s}.user-profile-entry:hover .user-profile-arrow{color:#1A3540;transform:translateX(2px)}.profile-page{max-width:1120px;margin:0 auto}.profile-hero{display:flex;align-items:center;gap:20px;padding:26px 28px;border:1px solid #dde6ea;border-radius:16px;background:#fff;box-shadow:0 8px 28px rgba(23,59,99,.06)}.profile-avatar-large{width:72px;height:72px;flex:0 0 72px;border-radius:22px;background:#8abcd1;color:#173b63;display:grid;place-items:center;font-size:29px;font-weight:750;box-shadow:inset 0 0 0 1px rgba(23,59,99,.08)}.profile-hero-copy h1{margin:0;color:#17212b;font-size:24px;letter-spacing:-.02em}.profile-hero-copy p{margin:5px 0 10px;color:#6b7785;font-size:13px}.profile-badges{display:flex;flex-wrap:wrap;gap:7px}.profile-badges span{padding:4px 9px;border-radius:999px;background:#eef6f8;color:#356d80;font-size:11px}.profile-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:18px}.profile-card{min-width:0;padding:24px 26px;border:1px solid #dde6ea;border-radius:16px;background:#fff;box-shadow:0 5px 18px rgba(23,59,99,.045)}.profile-card-wide{grid-column:1/-1}.profile-card-heading{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:21px;padding-bottom:16px;border-bottom:1px solid #edf1f3}.profile-card-heading h2{margin:0;color:#1e2933;font-size:17px}.profile-card-heading p{margin:5px 0 0;color:#7b8794;font-size:12px}.profile-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.profile-form label{display:grid;gap:7px;color:#596674;font-size:12px}.profile-form input{width:100%;height:43px;padding:0 12px;border:1px solid #ced9df;border-radius:9px;background:#fff;color:#24313b;font:inherit;font-size:13px;outline:none}.profile-form input:focus{border-color:#8abcd1;box-shadow:0 0 0 3px rgba(138,188,209,.22)}.profile-form input[readonly]{background:#f6f8f9;color:#7a8590}.profile-form-actions{grid-column:1/-1;display:flex;align-items:center;justify-content:flex-end;gap:16px;margin-top:2px}.profile-form-message{min-height:18px;margin-right:auto;color:#4a7e8c;font-size:12px}.profile-info-list{display:grid;margin:0}.profile-info-list div{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:46px;border-bottom:1px solid #edf1f3}.profile-info-list div:last-child{border-bottom:0}.profile-info-list dt{color:#7b8794;font-size:12px}.profile-info-list dd{margin:0;color:#26323c;font-size:13px;font-weight:550;text-align:right}.profile-status-dot{display:inline-block;width:7px;height:7px;margin-right:7px;border-radius:50%;background:#2fa36b}.security-form{grid-template-columns:1fr}.security-form .profile-form-actions{grid-column:1}.profile-card .primary-button{background:#4b879b;border-color:#4b879b}.profile-card .primary-button:hover{background:#3d7487;border-color:#3d7487}@media(max-width:820px){.profile-settings-grid{grid-template-columns:1fr}.profile-card-wide{grid-column:auto}.profile-form{grid-template-columns:1fr}.profile-form-actions{grid-column:1}.profile-hero{padding:22px}.profile-card{padding:21px}.profile-avatar-large{width:62px;height:62px;flex-basis:62px;border-radius:18px}}
.plans-workflow-page .plan-summary-surface .status-green,.plans-workflow-page .template-mapping-surface .panel-heading>.status-tag.success{display:none!important}
.plans-workflow-page .mapping-guide{display:none!important}.plans-workflow-page .template-structure-grid>label{display:block;white-space:nowrap;min-width:0}.plans-workflow-page .template-structure-grid>label>.form-select,.plans-workflow-page .template-structure-grid>label>.template-structure-row{display:block;width:100%;margin-top:7px}.plans-workflow-page .template-structure-grid .req{display:inline-block;white-space:nowrap;margin-left:3px}.plans-workflow-page .template-plan-setup-body .form-input,.plans-workflow-page .template-plan-setup-body .form-select,.plans-workflow-page .template-structure-grid .form-input,.plans-workflow-page .template-structure-grid .form-select,.plans-workflow-page .map-source{min-height:42px;padding:10px 12px;font-size:14px;line-height:1.35}
.plans-workflow-page .template-structure-grid>label:first-child>.form-select{width:min(100%,420px)}

/* Website shell aligned with the desktop design source. */
.app{display:flex;height:100vh;min-height:680px;background:#f6f8f9;color:#1f2a30;overflow:hidden}.sidebar{width:224px;flex:0 0 224px;background:linear-gradient(180deg,#A8D4DC 0%,#8ABCD1 50%,#7AB5BE 100%);color:#1A3540;display:flex;flex-direction:column;border-right:1px solid rgba(90,148,168,.2);box-shadow:2px 0 12px rgba(90,148,168,.08);z-index:10}.logo{padding:20px 16px 14px;border-bottom:1px solid rgba(255,255,255,.25);display:grid;grid-template-columns:40px 1fr;grid-template-rows:auto auto;column-gap:12px;align-items:center}.logo-icon{width:40px;height:40px;background:rgba(255,255,255,.35);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:.5px solid rgba(255,255,255,.4);border-radius:10px;display:flex;align-items:center;justify-content:center;grid-row:1/3;box-shadow:0 2px 8px rgba(31,58,68,.1),inset 0 1px 0 rgba(255,255,255,.5);position:relative}.logo-icon::after{content:"";position:absolute;right:-3px;bottom:-3px;width:11px;height:11px;border-radius:4px;background:#E9AD5F;border:1.5px solid rgba(255,255,255,.6)}.logo h1{font-size:16px;font-weight:700;letter-spacing:0;margin:0;color:#1A3540;line-height:1.2}.logo p{font-size:10px;color:rgba(26,53,64,.55);margin:2px 0 0;line-height:1.3;white-space:nowrap}.nav{flex:1;padding:10px 10px 0;overflow-y:auto}.nav-group{margin-bottom:4px}.nav-group-title{font-size:10px;font-weight:600;text-transform:uppercase;color:rgba(26,53,64,.45);padding:10px 12px 6px;letter-spacing:.06em;border-bottom:1px solid rgba(255,255,255,.25);margin-bottom:4px}.workspace-app-label{font-size:11px;color:rgba(26,53,64,.5);padding:5px 12px 7px}.nav-item{position:relative;display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:9px;cursor:pointer;font-size:13px;color:rgba(26,53,64,.78);transition:all .15s ease;margin-bottom:1px;text-decoration:none;font-weight:500}.nav-item:hover{background:rgba(255,255,255,.22);color:rgba(26,53,64,.95)}.nav-item.active{background:rgba(255,255,255,.55);color:#1A3540;font-weight:600;box-shadow:0 1px 3px rgba(31,58,68,.08)}.nav-item.active:before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:3px;border-radius:0 2px 2px 0;background:#E9AD5F}.nav-item .icon{width:20px;text-align:center;font-size:17px;color:rgba(26,53,64,.55)}.nav-item:hover .icon{color:#1A3540}.nav-item.active .icon{color:#1A3540}.sidebar-footer{padding:12px 12px 14px;border-top:1px solid rgba(255,255,255,.25)}.user-info{display:flex;align-items:center;gap:10px}.user-info strong,.user-info small{display:block}.user-info strong{font-size:13px;color:#1A3540;font-weight:600;max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.3}.user-info small{font-size:11px;color:rgba(26,53,64,.55);max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.3;margin-top:1px}.user-avatar{width:36px;height:36px;flex:0 0 36px;border-radius:50%;background:#8ABCD1;color:#1A3540;display:grid;place-items:center;font-weight:700;font-size:14px;box-shadow:0 2px 6px rgba(31,58,68,.15),inset 0 1px 0 rgba(255,255,255,.3)}.user-profile-arrow{margin-left:auto;color:rgba(26,53,64,.4);font-size:18px;line-height:1}.site-logout{width:100%;padding:8px 10px;border:1px solid rgba(255,255,255,.3);border-radius:8px;color:rgba(26,53,64,.7);background:rgba(255,255,255,.1);text-align:center;cursor:pointer;font-size:12px;transition:all .15s}.site-logout:hover{background:rgba(255,255,255,.25);color:#1A3540}.main{flex:1;min-width:0;display:flex;flex-direction:column;overflow:hidden}.topbar{height:64px;flex:0 0 64px;background:rgba(255,255,255,.9);backdrop-filter:saturate(180%) blur(12px);border-bottom:1px solid #e5e7eb;display:flex;align-items:center;padding:0 24px;gap:16px;box-shadow:0 1px 2px rgba(0,0,0,.04)}.topbar-title{font-size:16px;font-weight:600;color:#1f2937}.topbar-right{margin-left:auto;display:flex;align-items:center;gap:8px;min-width:0}.status{border-radius:999px;padding:5px 10px;font-size:11px;white-space:nowrap}.status-yellow{background:#fff7df;color:#a16207;border:1px solid #f2d58b}.search-box input{width:245px;height:34px;border:1px solid #d6dee5;border-radius:7px;padding:0 11px;font:inherit;font-size:12px;background:#fff}.icon-btn{height:32px;padding:0 10px;border:1px solid #d6dee5;border-radius:7px;background:#fff;color:#52606d;font-size:12px;cursor:pointer}.icon-btn:hover{border-color:#8abcd1;color:#1a56db}.topbar-back,.mobile-nav-toggle{display:none}.content{flex:1;overflow:auto;padding:28px 32px 44px;max-width:none}.page-heading{max-width:1180px;margin:0 auto 22px}.page-heading h1{font-size:28px;letter-spacing:-.02em;color:#111827;margin:4px 0 7px}.page-heading p{font-size:13px;color:#6b7280}.module-grid{max-width:1180px;margin:20px auto 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.module-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:20px;box-shadow:0 1px 3px rgba(15,23,42,.05);min-height:160px}.module-card h2{font-size:16px;color:#111827;margin:0 0 9px}.module-card p{font-size:13px;color:#6b7280;min-height:44px}.primary-button,.secondary-button{box-shadow:none}.primary-button{background:#1a56db;border-color:#1a56db}.secondary-button{color:#1a56db;border-color:#b9cbe9;background:#fff}.primary-button:hover{background:#1040a0;border-color:#1040a0}.secondary-button:hover{background:#eef4ff;border-color:#7ea6ed}@media(max-width:1000px){.sidebar{width:218px;flex-basis:218px}.topbar-right .search-box{display:none}.module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.app{min-height:100vh}.sidebar{position:fixed;left:-250px;top:0;bottom:0;transition:left .2s}.sidebar.open{left:0}.content{padding:22px 16px 36px}.topbar{padding:0 16px}.topbar-title{font-size:14px}.topbar-right .status,.topbar-right .icon-btn{display:none}.mobile-nav-toggle{display:inline-flex;border:0;background:transparent;font-size:20px;color:#52606d;cursor:pointer}.module-grid{grid-template-columns:1fr}}
.template-list-actions{max-width:1180px;margin:0 auto 12px;padding:0}.template-workflow-toolbar{max-width:1180px;margin:18px auto 12px;display:flex;align-items:center;justify-content:space-between;gap:16px;color:#1f2937}.template-workflow-toolbar strong{font-size:16px}.template-plan-list{margin:0;padding:18px 20px}.template-plan-card .task-actions{flex-wrap:wrap}.capability-picker{grid-column:1/-1;display:grid;gap:6px;color:#6b7280;font-size:12px}.capability-picker details{border:1px solid #d3dbe0;border-radius:8px;background:#fff}.capability-picker summary{padding:10px 12px;cursor:pointer;color:#374151}.capability-options{display:flex;gap:16px;flex-wrap:wrap;padding:10px 12px;border-top:1px solid #e5e7eb}.capability-options label{display:flex;align-items:center;gap:6px;color:#4b5563}.entity-icon{width:40px;height:40px;margin:0 auto 10px;border-radius:10px;background:#eef4ff;color:#1a56db;display:grid;place-items:center;font-size:20px}
.plans-page{min-height:calc(100vh - 64px);margin:-28px -32px -44px;background:#fff;border-left:3px solid #f0b35b;color:#1f2937}.plans-page .template-list-actions{height:81px;max-width:none;margin:0;padding:18px 30px;border-bottom:1px solid #e5e7eb;display:flex;align-items:flex-start;justify-content:flex-end}.plans-page .template-plan-surface{max-width:none;margin:0;border:0;border-radius:0;box-shadow:none;background:#fff}.plans-page .module-list-head{padding:20px 30px 0;border:0}.plans-page .module-upload-help{margin-top:5px}.plans-page .template-plan-list{min-height:205px;padding:34px 30px;border-bottom:1px solid #e5e7eb;display:flex;align-items:center;justify-content:center}.plans-page .empty-panel{width:100%;min-height:120px;border:0;box-shadow:none;background:transparent;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px}.plans-page .empty-panel h2{margin:0;font-size:14px;font-weight:400;color:#9ca3af}.plans-page .empty-panel p,.plans-page .entity-icon,.plans-page .task-count{display:none}.plans-loading,.plans-error{padding:80px 30px;color:#6b7280}
.plans-shell .sidebar{display:none}.plans-shell .topbar{height:70px;flex-basis:70px;padding:0 30px;border-bottom:1px solid #edf0f2;box-shadow:none}.plans-shell .topbar-title{font-size:18px;font-weight:600}.plans-shell .topbar-back{display:none}.plans-shell .topbar-right .status{display:none}.plans-shell .topbar-right{gap:16px}.plans-shell .search-box{order:0}.plans-shell .search-box input{width:108px;height:34px;border-radius:9px;padding-left:30px}.plans-shell .icon-btn{border:0;background:transparent;padding:0 2px;color:#4b5563}.plans-shell .main{width:100%}.plans-shell .content{padding:28px 10px 44px}.plans-shell .plans-page{margin:-28px -10px -44px}.plans-shell .plans-page .template-list-actions{height:81px;padding-right:32px}
.plans-shell .primary-button{background:#4b879b;border-color:#4b879b}.plans-shell .primary-button:hover{background:#3f7486;border-color:#3f7486}.plans-task-pill{height:32px;padding:0 14px;border:1px solid #f2d7ab;border-radius:999px;background:#fff8ed;color:#c66a18;font-size:12px}.plans-moon{border:0;background:transparent;color:#4b5563;font-size:20px;line-height:1;padding:0 4px}.plans-logout{border:0;background:transparent}.plans-shell .search-box input{color:#6b7280}.plans-shell .search-box input::placeholder{color:#6b7280}
/* The historical plan-list view is intentionally full-width; the plan editor uses workspace-shell. */
.plans-shell .main{width:auto}.plans-shell .content{padding:28px 32px 44px}.plans-shell .plans-page{margin:-28px -32px -44px}.plans-shell .plans-page .template-list-actions{padding-right:30px}
.app{min-height:0}.sidebar{width:240px;flex-basis:240px}.nav-group{margin-bottom:4px}.nav-group-title{color:rgba(26,53,64,.45);padding:12px 12px 6px;border-bottom:0;margin-bottom:0}.workspace-app-label{padding:4px 12px 7px;color:rgba(26,53,64,.5)}.nav-item.active{background:rgba(255,255,255,.55);color:#1A3540;box-shadow:0 1px 3px rgba(31,58,68,.08)}.nav-item.active:before{display:block;background:#E9AD5F}.topbar{height:56px;flex-basis:56px;padding:0 24px;gap:16px;box-shadow:0 1px 2px rgba(0,0,0,.05)}.topbar-right{gap:12px}.search-box input{width:280px;height:auto;padding:8px 12px 8px 36px;background:#f9fafb;font-size:13px}.icon-btn{width:36px;height:36px;padding:0;border:0;background:transparent;font-size:13px}.content{padding:24px}.app-footer{height:30px;flex:0 0 30px;border-top:1px solid #e5e7eb;background:#fff;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 16px;color:#6b7280;font-size:10px}.app-footer-left{display:flex;align-items:center;gap:6px}.app-footer-dot{width:7px;height:7px;border-radius:50%;background:#059669}.app-footer-center{text-align:center}.app-footer-right{text-align:right}.plans-shell .topbar{height:56px;flex-basis:56px;padding:0 24px}.plans-shell .content{padding:24px}.plans-shell .plans-page{min-height:calc(100vh - 86px);margin:-24px}.plans-shell .plans-page .template-list-actions{padding-right:30px}
.legacy-page{min-height:100%;color:#1f2937}.legacy-page-actions{display:flex;justify-content:flex-end;align-items:center;margin-bottom:12px}.legacy-card{background:#fff;border-radius:12px;box-shadow:0 1px 3px rgba(0,0,0,.1),0 1px 2px rgba(0,0,0,.06);overflow:hidden}.legacy-card-spaced{margin-bottom:20px}.legacy-card-head{padding:16px 20px;border-bottom:1px solid #f3f4f6;display:flex;align-items:center;justify-content:space-between}.legacy-card-title{font-size:15px;font-weight:600}.legacy-card-body{padding:20px}.legacy-empty{text-align:center;padding:30px;color:#6b7280}.legacy-empty h3{font-size:16px;color:#374151;margin-bottom:6px}.legacy-empty p{font-size:13px;color:#9ca3af}.legacy-inline-actions{margin-top:16px;display:flex;gap:8px;justify-content:center}.legacy-empty-cell{text-align:center!important;color:#9ca3af!important;padding:30px!important}
.legacy-empty-icon{font-size:34px;color:#8abcd1;margin-bottom:10px}.timeline{position:relative;padding-left:16px}.timeline-item{position:relative;padding:0 0 22px 24px;border-left:2px solid #e5e7eb}.timeline-item:last-child{padding-bottom:0}.timeline-item:before{content:"";position:absolute;left:-7px;top:3px;width:12px;height:12px;border-radius:50%;background:#8abcd1;border:3px solid #eef5f8}.timeline-time{font-size:11px;color:#8a949b}.timeline-title{font-size:14px;font-weight:600;margin:3px 0}.timeline-desc{font-size:12px;color:#6b7280}.archive-privacy-note{margin:12px auto 16px;max-width:620px;color:#6b7280!important}
.legacy-module-page{min-height:calc(100vh - 86px);margin:-24px;background:#fff}.legacy-loading{padding:36px 30px;color:#6b7280}.legacy-module-actions{height:76px;padding:18px 30px 0;display:flex;align-items:flex-start;justify-content:flex-end;border-bottom:1px solid #e5e7eb}.legacy-list-surface{background:#fff}.legacy-list-surface .module-list-head{padding:20px 30px 14px}.legacy-count{font-size:12px;color:#6b7280}.legacy-task-list{border-top:1px solid #f3f4f6}.legacy-task-item{display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:14px;align-items:center;padding:16px 30px;border-bottom:1px solid #e5e7eb;background:#fff}.legacy-task-item:hover{background:#f9fafb}.legacy-task-item.active{background:#f7faff}.legacy-task-number{width:30px;height:30px;border-radius:8px;background:#f3f4f6;color:#6b7280;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600}.legacy-task-item.active .legacy-task-number{background:#e8effd;color:#1a56db}.legacy-task-title-row{display:flex;align-items:center;gap:9px}.legacy-task-name{font-size:14px;font-weight:700;color:#111827}.legacy-task-meta{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:6px;font-size:11px;color:#6b7280}.legacy-cloud-path{margin-top:5px;font-size:11px;color:#9ca3af}.legacy-task-actions{display:flex;gap:8px}.legacy-task-actions .primary-button,.legacy-task-actions .danger-button{padding:6px 11px;font-size:12px}.legacy-empty{padding:52px 24px;text-align:center;color:#9ca3af}.legacy-empty p{margin-bottom:14px}.legacy-create-toolbar{display:flex;justify-content:space-between;align-items:center;padding:18px 30px 14px}.legacy-task-create{margin:0 30px 24px;padding:20px;background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 3px rgba(0,0,0,.08)}.legacy-task-create form{display:grid;gap:18px}.legacy-task-settings{display:grid;grid-template-columns:1fr 1fr;gap:16px}.legacy-cloud-storage{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center}.task-create-copy{font-size:11px;color:#9ca3af;margin-top:5px}.task-action-group{display:flex;align-items:center;gap:10px}.task-search-bar{display:flex;align-items:center;gap:8px}.task-search-bar .form-input{width:260px;height:38px}.task-search-bar .secondary-button{height:38px;padding:0 18px}
.plans-page .template-plan-list:has(.template-plan-item){display:block;padding:0;min-height:0}.template-plan-item{display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:14px;align-items:center;padding:16px 30px;border-bottom:1px solid #e5e7eb;background:#fff}.template-plan-item:last-child{border-bottom:0}.template-plan-name{font-size:14px;font-weight:700;color:#111827}.template-plan-desc{font-size:11px;line-height:1.55;color:#6b7280}.entity-meta{font-size:11px;color:#6b7280;margin-top:4px;word-break:break-all}.entity-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.entity-actions button{padding:6px 11px;font-size:12px}
.plans-page .template-plan-item{grid-template-columns:minmax(0,1fr) auto}.legacy-archive-page .legacy-empty{display:block!important}.legacy-archive-page .legacy-empty h3{margin-top:0}.legacy-archive-page .legacy-card-body{min-height:280px;display:flex;align-items:center;justify-content:center}
.legacy-task-create .form-label{display:block;margin-bottom:7px}.legacy-task-create .form-input,.legacy-task-create .form-select{width:100%;min-height:40px;padding:9px 12px;border:1px solid #d1d5db;border-radius:7px;background:#fff;font:inherit}.legacy-task-create .legacy-task-settings .form-label{margin-bottom:7px}.legacy-task-create .legacy-cloud-storage{margin-top:2px}
.modal-overlay{position:fixed;inset:0;z-index:5000;display:none;align-items:center;justify-content:center;padding:24px;background:rgba(15,23,42,.45);backdrop-filter:blur(2px)}.modal-overlay.show{display:flex}.modal{width:min(680px,100%);max-height:calc(100vh - 48px);overflow:auto;border-radius:12px;background:#fff;box-shadow:0 24px 70px rgba(15,23,42,.28)}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:18px 22px;border-bottom:1px solid #e5e7eb}.modal-header h3{margin:0;font-size:17px;color:#111827}.modal-subtitle{margin:4px 0 0;font-size:12px;color:#8a949b}.modal-close{width:32px;height:32px;border:0;border-radius:7px;background:transparent;color:#6b7280;font-size:22px;cursor:pointer}.modal-close:hover{background:#f3f4f6}.modal-body{padding:22px}.modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:9px;padding:14px 22px;border-top:1px solid #e5e7eb;background:#fafbfc}.manual-match-form{display:grid;grid-template-columns:1fr 1fr;gap:14px}.manual-match-form select,.manual-match-form input{min-height:42px;padding:9px 12px;border:1px solid #d1d5db;border-radius:8px;background:#fff;font:inherit}.manual-match-form input{grid-column:1/-1}@media(max-width:700px){.modal-overlay{padding:12px}.manual-match-form{grid-template-columns:1fr}.manual-match-form input{grid-column:auto}}
.manual-match-note{padding:12px 14px;margin-bottom:18px;border-radius:8px;background:#eef5f8;color:#5b6770;font-size:13px;line-height:1.7}.manual-match-field-labels{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:6px;color:#4b5563;font-size:12px}.manual-match-hint{margin-top:14px;padding:10px 12px;border:1px solid #e5e7eb;border-radius:7px;background:#f9fafb;color:#6b7280;font-size:12px}.manual-existing-links{margin-top:20px}.manual-existing-links h4{margin:0 0 10px;font-size:14px}.manual-existing-links>div{display:flex;justify-content:space-between;padding:8px 10px;border-top:1px solid #eef0f2;font-size:12px}.manual-existing-links p{margin:0;color:#9ca3af;font-size:12px}@media(max-width:700px){.manual-match-field-labels{grid-template-columns:1fr}}
.plans-workflow-page .template-wizard-steps{max-width:none;margin:18px 30px 0;display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid #e5e7eb;border-radius:10px;overflow:hidden}.plans-workflow-page .wizard-step{position:relative;border:0;border-right:1px solid #e5e7eb;border-radius:0;padding:15px 18px;background:#fff;color:#6b7280}.plans-workflow-page .wizard-step:last-child{border-right:0}.plans-workflow-page .wizard-step.active{background:#f7faff;color:#1f2937}.plans-workflow-page .wizard-step.active:after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:#1a56db}.plans-workflow-page .wizard-step b{width:26px;height:26px}.plans-workflow-page .template-workflow-toolbar{max-width:none;margin:18px 30px 14px}.plans-workflow-page .template-setup-panel,.plans-workflow-page .plan-meta,.plans-workflow-page #planEditor>.admin-panel{max-width:none;margin:18px 30px 0;border:1px solid #e5e7eb;border-radius:10px;box-shadow:none}.plans-workflow-page .template-setup-panel{padding:18px}.plans-workflow-page .plan-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px}.plans-workflow-page .capability-picker{grid-column:1/-1}.plans-workflow-page .template-setup-actions{grid-column:1/-1}
.recognition-history-page .legacy-recognition-upload{padding:18px 30px 0}.recognition-history-page .module-upload-body{padding:16px 18px;border:1px solid #e5e7eb;border-radius:10px;background:#fff}.upload-plan-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}.upload-plan-row label{display:grid;gap:6px;font-size:12px;color:#6b7280}.upload-plan-row input,.upload-plan-row select{width:100%;padding:9px 12px;border:1px solid #d1d5db;border-radius:8px;background:#fff}.upload-bar{display:flex;align-items:center;gap:14px;padding:16px 18px;border:1px dashed #d1d5db;border-radius:10px;background:#fbfcfe;cursor:pointer}.upload-bar:hover{border-color:#1a56db;background:#f7faff}.upload-bar.locked{opacity:.58}.upload-bar-icon{width:36px;height:36px;border-radius:8px;background:#e8effd;color:#1a56db;display:flex;align-items:center;justify-content:center}.upload-bar-text{flex:1}.upload-bar-title{font-size:13px;font-weight:700;color:#374151}.upload-bar-sub{font-size:11px;color:#9ca3af;margin-top:4px}.legacy-queue-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:14px 0 10px}.legacy-queue-head>div:last-child{display:flex;gap:8px}.legacy-queue-item{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:#f9fafb;border-radius:8px;margin-bottom:7px}.legacy-queue-item b,.legacy-queue-item small{display:block}.legacy-queue-item b{font-size:12px}.legacy-queue-item small{font-size:10px;color:#9ca3af;margin-top:3px}.recognition-history-page .legacy-recognition-list{margin-top:18px;border-top:1px solid #e5e7eb;border-bottom:1px solid #e5e7eb}.recognition-history-page .legacy-recognition-list .module-list-head{padding:14px 30px}.recognition-history-page .module-list-tools .form-input{width:260px;padding:6px 10px;font-size:12px}.recognition-history-page table{min-width:880px}
.legacy-invoice-heading{padding:18px 30px 0;display:flex;align-items:center;justify-content:space-between;gap:16px}.legacy-invoice-heading .module-title{font-size:18px;color:#111827}.legacy-invoice-heading #backToInvoiceUpload{margin-left:auto;white-space:nowrap}.invoice-history-table{min-width:1080px!important}.recognition-history-page .module-list-tools{display:flex;gap:8px}.recognition-history-page .module-list-tools select{width:130px;padding:6px 10px;font-size:12px}.invoice-history-table .num{text-align:right;white-space:nowrap}.recognition-history-page .upload-bar{justify-content:flex-start}.recognition-history-page .upload-bar>button{flex:0 0 auto;white-space:nowrap}.recognition-history-page .upload-bar>.invoice-results-button{order:4}@media(max-width:700px){.recognition-history-page .upload-bar{flex-wrap:wrap}.recognition-history-page .upload-bar-text{min-width:calc(100% - 52px)}.recognition-history-page .upload-bar>button{margin-left:auto}.recognition-history-page .upload-bar>.invoice-results-button{margin-left:0}}
.invoice-upload-history{margin-top:14px;border:1px solid #e3eaec;border-radius:10px;background:#fbfcfd;overflow:hidden}.invoice-upload-history-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 14px;border-bottom:1px solid #e3eaec}.invoice-upload-history-head>div{display:flex;align-items:center;gap:10px}.invoice-upload-history-head strong{font-size:12px;color:#26323b}.invoice-upload-history-head span{font-size:11px;color:#8a949b}.invoice-upload-history-head .danger-button{padding:5px 10px;font-size:11px}.invoice-upload-history-list{padding:4px 14px}.invoice-upload-history-item{display:grid;grid-template-columns:20px minmax(220px,1fr) auto;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid #edf1f3}.invoice-upload-history-item:last-child{border-bottom:0}.invoice-upload-history-file b,.invoice-upload-history-file small{display:block}.invoice-upload-history-file b{font-size:12px;color:#374151;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.invoice-upload-history-file small{margin-top:3px;font-size:11px;color:#9ca3af;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.invoice-upload-history-status{font-size:11px;white-space:nowrap;color:#6b7280}.invoice-upload-history-status.is-complete{color:#167245}.invoice-upload-history-status.is-failed{color:#8a2524}.invoice-upload-history-status.is-processing{color:#a16207}@media(max-width:700px){.invoice-upload-history-head{align-items:flex-start;flex-direction:column}.invoice-upload-history-item{grid-template-columns:20px 1fr;gap:7px}.invoice-upload-history-status{grid-column:2;justify-self:start}}
.matching-history-page{display:flex;flex-direction:column}.matching-history-page .task-workspace{flex:1;padding:0}.match-workbench{background:#fff}.match-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 18px;border-bottom:1px solid #e5e7eb}.match-toolbar-title{font-size:14px;font-weight:700}.match-toolbar-summary{font-size:11px;font-weight:400;color:#6b7280;margin-left:6px}.match-toolbar-controls{display:flex;align-items:center;gap:8px}.match-toolbar .tabs{display:flex;margin:0;border:0;gap:2px}.match-toolbar .tab{border:0;border-bottom:2px solid transparent;background:transparent;padding:8px 10px;color:#6b7280;cursor:pointer}.match-toolbar .tab.active{color:#1a56db;border-bottom-color:#1a56db}.matching-history-page .match-table-scroll{overflow:auto}.matching-history-page .match-table{min-width:1320px}.matching-history-page .match-table td:last-child{display:flex;gap:6px}.task-footer{height:40px;display:flex;align-items:center;gap:26px;padding:0 18px;border-top:1px solid #e5e7eb;background:#fbfcfe;color:#6b7280;font-size:11px}.task-footer strong{color:#374151}.manual-match-form{display:grid;grid-template-columns:1fr 1fr 140px;gap:12px}.manual-match-form select,.manual-match-form input{padding:9px 10px;border:1px solid #d1d5db;border-radius:8px}
.ledger-history-page .kpi-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;padding:20px 30px}.ledger-history-page .kpi-card{padding:18px;border:1px solid #e5e7eb;border-radius:10px;background:#fff}.kpi-label{font-size:12px;color:#6b7280}.kpi-value{font-size:22px;font-weight:700;color:#111827;margin-top:7px}.kpi-unit{font-size:12px;font-weight:500;margin-left:4px}.kpi-trend{font-size:10px;color:#6b7280;margin-top:6px}.kpi-trend.warn{color:#d97706}.ledger-history-list{margin-top:0;border-top:1px solid #e5e7eb;border-bottom:1px solid #e5e7eb}.ledger-history-list .module-list-head{padding:14px 30px}.ledger-history-list .module-list-tools{display:flex;gap:8px;align-items:center}.ledger-history-list .module-list-tools input,.ledger-history-list .module-list-tools select{width:auto;padding:6px 10px;font-size:12px}.ledger-history-list table{min-width:1280px}
.ledger-generated-files .ledger-file-filters{display:flex;align-items:end;gap:12px;padding:0 30px 14px}.ledger-generated-files .ledger-file-filters label{display:grid;gap:6px;font-size:12px;color:#667085}.ledger-generated-files .ledger-file-filters input{height:34px;padding:6px 10px;border:1px solid #d3dbe0;border-radius:8px;background:#fff;color:#172033}.ledger-generated-files .ledger-file-filters input[type="search"]{width:300px}.ledger-generated-files .ledger-file-filters input[type="date"]{width:160px}.ledger-generated-files .ledger-file-filters button{height:34px;white-space:nowrap}
.fatal-page{min-height:100vh;display:grid;place-items:center;background:#f6f8fa;padding:24px}.fatal-card{width:min(520px,100%);padding:32px;border:1px solid #dce3e8;border-radius:10px;background:#fff;box-shadow:0 8px 28px rgba(31,45,61,.08)}.fatal-card h1{margin:0 0 12px;font-size:22px}.fatal-card p{color:#65717c;line-height:1.7;word-break:break-word}.fatal-actions{display:flex;gap:12px;margin-top:22px}.fatal-actions a{text-decoration:none}
.legacy-detail-modal{width:min(1080px,calc(100vw - 48px));max-width:1080px}.legacy-detail-modal .modal-header small{display:block;margin-top:5px;color:#6b7280;font-size:12px;font-weight:400}.legacy-detail-summary{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:16px}.legacy-detail-summary span{min-width:150px;padding:11px 14px;border:1px solid #e5e7eb;border-radius:8px;background:#f9fafb;color:#6b7280;font-size:12px}.legacy-detail-summary b{display:block;margin-top:4px;color:#111827;font-size:15px}.legacy-detail-modal table{min-width:760px}
.invoice-scope-picker{position:relative;width:100%}.invoice-scope-picker summary{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:40px;padding:9px 12px;border:1px solid #d1d5db;border-radius:8px;background:#fff;color:#374151;cursor:pointer;list-style:none}.invoice-scope-picker summary::-webkit-details-marker{display:none}.invoice-scope-picker[open] summary{border-color:#1a56db;box-shadow:0 0 0 3px rgba(26,86,219,.1)}.invoice-scope-menu{position:absolute;z-index:20;top:calc(100% + 6px);left:0;right:0;max-height:220px;overflow:auto;padding:6px;border:1px solid #dce6ea;border-radius:9px;background:#fff;box-shadow:0 12px 28px rgba(31,42,48,.14)}.invoice-scope-menu label{display:flex;align-items:center;gap:8px;padding:8px 9px;border-radius:6px;color:#374151;cursor:pointer}.invoice-scope-menu label:hover{background:#f2f7f9}.invoice-scope-menu input{width:auto!important;padding:0!important}.upload-plan-row label small{font-size:10px;color:#9ca3af}
.supplier-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.supplier-form-grid label{display:grid;gap:7px;color:#4b5563;font-size:12px}.supplier-form-grid label:first-child{grid-column:1/-1}.rebate-ready-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.rebate-ready-summary>div{padding:18px;border:1px solid #e5e7eb;border-radius:9px;background:#f9fafb}.rebate-ready-summary span,.rebate-ready-summary b{display:block}.rebate-ready-summary span{color:#6b7280;font-size:12px}.rebate-ready-summary b{margin-top:8px;color:#111827;font-size:22px}.legacy-rebate-page .legacy-page-actions,.legacy-archive-page .legacy-inline-actions{display:flex;align-items:center;gap:10px}.legacy-page-actions input[type=month],.legacy-inline-actions input[type=month]{width:160px}@media(max-width:700px){.supplier-form-grid,.rebate-ready-summary{grid-template-columns:1fr}.supplier-form-grid label:first-child{grid-column:auto}}
.plans-workflow-page .wizard-step>span{display:grid;gap:2px}.plans-workflow-page .wizard-step small{color:#9ca3af;font-size:10px;font-weight:400}.template-upload-surface,.template-plan-setup,.template-save-success{margin:18px 30px 0;border:1px solid #e5e7eb;border-radius:10px;background:#fff}.template-plan-setup-head,.template-upload-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 18px;border-bottom:1px solid #e5e7eb}.template-plan-setup-title{font-size:14px;font-weight:700;color:#111827}.template-plan-setup-note{margin-top:5px;color:#6b7280;font-size:11px}.template-plan-setup-body,.template-upload-body{padding:18px}.template-plan-setup-body{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px}.template-plan-setup-body>label{display:grid;gap:7px;color:#4b5563;font-size:12px}.template-upload-progress{height:6px;margin-top:14px;border-radius:999px;overflow:hidden;background:#e9eef3}.template-upload-progress .recognition-progress-fill{height:100%;width:0;background:#1a56db;transition:width .2s}.template-mapping-surface{padding:0;overflow:hidden}.template-mapping-surface .panel-heading{padding:16px 18px}.template-structure-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:16px 18px;border-top:1px solid #e5e7eb;background:#fbfcfe}.template-structure-grid>label{display:grid;gap:7px;color:#4b5563;font-size:12px}.template-structure-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.template-mapping-surface .module-upload-help{margin:14px 18px}.template-mapping-surface .table-scroll{border-top:1px solid #e5e7eb}.mapping-confidence{display:inline-flex;align-items:center;margin-left:7px;padding:2px 7px;border-radius:999px;font-size:10px}.mapping-confidence.high{background:#eaf7ef;color:#167245}.mapping-confidence.medium{background:#fff7df;color:#a16207}.mapping-confidence.low{background:#fef0ec;color:#b5472f}.template-save-success{padding:58px 24px;text-align:center}.template-save-success .entity-icon{width:56px;height:56px;margin-bottom:18px;font-size:26px}.template-save-success h2{margin:0 0 10px;color:#111827;font-size:20px}.template-save-success p{max-width:520px;margin:0 auto 22px;color:#6b7280;font-size:13px;line-height:1.8}@media(max-width:800px){.plans-workflow-page .template-wizard-steps{grid-template-columns:1fr 1fr}.plans-workflow-page .wizard-step:nth-child(2){border-right:0}.template-plan-setup-body,.template-structure-grid{grid-template-columns:1fr}}@media(max-width:560px){.plans-workflow-page .template-wizard-steps{grid-template-columns:1fr}.plans-workflow-page .wizard-step{border-right:0;border-bottom:1px solid #e5e7eb}.template-plan-setup,.template-upload-surface,.template-save-success,.plans-workflow-page .template-workflow-toolbar,.plans-workflow-page .template-wizard-steps{margin-left:14px;margin-right:14px}}
.fi{font-family:"Segoe Fluent Icons","Segoe MDL2 Assets",sans-serif;display:inline-flex;align-items:center;justify-content:center;line-height:1}.declaration-history-page .module-shell{max-width:none}.declaration-plan-gate{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:13px 15px;border:1px solid #e5e7eb;border-radius:9px;background:#fbfcfe}.declaration-plan-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.declaration-plan-controls .form-select{width:280px}.declaration-history-page .upload-bar.drag{border-color:#1a56db;background:#eef5ff}.declaration-history-page .upload-bar.busy,.recognition-history-page .upload-bar.busy{opacity:.68;pointer-events:none}.declaration-history-page #declQueueCount{margin-left:8px;color:#6b7280;font-size:12px}.file-item{display:flex;align-items:center;gap:12px;padding:12px 10px;border-top:1px solid #eef0f2;background:#fff}.file-item:first-child{border-top:0}.file-order{width:24px;text-align:center;color:#6b7280;font-weight:600}.file-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:8px;background:#eef4ff;color:#1a56db}.file-info{flex:1;min-width:0}.file-name{overflow:hidden;color:#111827;font-size:13px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.file-meta{margin-top:3px;color:#8a949b;font-size:11px}.file-status{padding:4px 9px;border-radius:999px;font-size:11px;white-space:nowrap}.file-status.pending{background:#f3f4f6;color:#6b7280}.file-status.uploading,.file-status.processing{background:#eaf2ff;color:#1a56db}.file-status.success{background:#eaf7ef;color:#167245}.file-status.error{background:#fef0ec;color:#b5472f}.file-item .action-btns{display:flex;gap:5px}.file-item .action-btns button{width:30px;height:30px;border:1px solid #d6dee5;border-radius:6px;background:#fff;color:#52606d;cursor:pointer}.file-item .action-btns button:disabled{opacity:.35;cursor:not-allowed}.file-item .action-btns .del{color:#b42318}.file-item .action-btns .pause{color:#a16207}.file-item .action-btns .pause:hover{background:#fff7df;border-color:#f2d58b}.file-item.is-paused{background:#fffdf5}.recognition-progress-fill.paused{background:#f59e0b}.recognition-progress{display:none;margin-top:8px}.recognition-progress.show{display:block}.recognition-progress-head{display:flex;align-items:center;justify-content:space-between;color:#6b7280;font-size:10px}.recognition-progress-track{height:5px;margin-top:5px;border-radius:999px;overflow:hidden;background:#e5e7eb}.recognition-progress-fill{height:100%;width:0;background:#1a56db;transition:width .2s}.recognition-progress-fill.success{background:#1f9d62}.recognition-progress-fill.error{background:#dc4c3f}.batch-progress-box{display:none;margin:8px 0 12px;padding:10px 12px;border:1px solid #dbe4ed;border-radius:8px;background:#f9fbfd}.batch-progress-box.show{display:block}.declaration-ledger-table{table-layout:fixed;min-width:1020px}.declaration-ledger-table th:first-child{width:42px}.declaration-ledger-table th:nth-child(2){width:50px}.declaration-ledger-table th:nth-child(3){width:258px}.declaration-ledger-table th:nth-child(4){width:82px}.declaration-ledger-table th:nth-child(5){width:150px;text-align:right}.declaration-ledger-table th:nth-child(6){width:150px}.declaration-ledger-table th:nth-child(7){width:330px}.declaration-ledger-table td:nth-child(3) small{display:block;margin-top:4px;color:#6b7280;font-size:11px}.amount-cell{text-align:right;white-space:nowrap}.decl-ledger-actions{display:flex;align-items:center;gap:5px;white-space:nowrap}.decl-ledger-actions .secondary-button,.decl-ledger-actions .danger-button{padding:6px 8px;font-size:11px}.declaration-batch-bar{position:fixed;left:50%;bottom:22px;z-index:50;display:flex;align-items:center;gap:10px;transform:translateX(-50%);padding:10px 12px;border:1px solid #d6dee5;border-radius:10px;background:#fff;box-shadow:0 12px 32px rgba(15,23,42,.18)}.declaration-batch-bar[hidden]{display:none}.declaration-batch-bar>span{padding:0 8px;color:#4b5563;font-size:12px}.declaration-batch-bar .batch-clear{border:0;background:transparent;color:#6b7280;cursor:pointer}.declaration-history-page .empty{padding:32px 20px;text-align:center;color:#8a949b}.declaration-history-page .empty-icon{font-size:40px;color:#b8c3cc}@media(max-width:800px){.declaration-plan-controls{width:100%}.declaration-plan-controls .form-select{width:100%}.file-item{align-items:flex-start}.file-status{display:none}.decl-ledger-actions{flex-wrap:wrap}}

/* Historical 20260806 workspace geometry and visual language. */
.workspace-shell .sidebar{width:224px;flex:0 0 224px}
.workspace-shell .logo{height:auto;padding:20px 16px 14px;display:grid;grid-template-columns:40px 1fr;grid-template-rows:auto auto;column-gap:12px;align-items:center;border-bottom:1px solid rgba(255,255,255,.25)}
.workspace-shell .logo-icon{grid-row:1/3;width:40px;height:40px;margin:0;border-radius:10px}
.workspace-shell .logo h1{font-size:16px;line-height:1.2;font-weight:700;color:#1A3540;letter-spacing:0}
.workspace-shell .logo p{font-size:10px;line-height:1.3;margin:0;color:rgba(26,53,64,.55);white-space:nowrap}
.workspace-shell .nav{padding:10px 10px 0}
.workspace-shell .nav-group-title{padding:10px 12px 6px;font-size:10px;font-weight:600;letter-spacing:.06em}
.workspace-shell .workspace-app-label{padding:5px 12px 7px;font-size:12px}
.workspace-shell .nav-item{padding:9px 12px;font-size:13px;font-weight:500}
.workspace-shell .nav-item .icon{font-family:"Segoe Fluent Icons","Segoe MDL2 Assets",sans-serif;font-size:17px}
.workspace-shell .topbar{height:64px;flex-basis:64px;padding:0 24px;gap:16px;background:rgba(255,255,255,.82);box-shadow:0 1px 2px rgba(31,42,48,.04)}
.workspace-shell .topbar-back{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 9px;border:1px solid #e3eaec;border-radius:7px;background:#fff;color:#3f4a52;font-size:11px;font-weight:600;cursor:pointer}
.workspace-shell .topbar-back-icon{font-family:"Segoe Fluent Icons","Segoe MDL2 Assets",sans-serif;font-size:12px}
.workspace-shell .topbar-title{font-size:16px;font-weight:600;white-space:nowrap}
.workspace-shell .tb-crumb{margin-right:7px;color:#8a949b;font-size:12px;font-weight:500}
.workspace-shell .tb-sep{margin-right:7px;color:#d3dbe0;font-weight:400}
.workspace-shell .topbar-right{gap:8px}
.workspace-shell .cmdk-trigger{display:flex;align-items:center;gap:6px;height:34px;padding:6px 10px;border:1px solid #e3eaec;border-radius:8px;background:#fff;color:#5b6770;font-size:12px;white-space:nowrap;cursor:pointer}
.workspace-shell .cmdk-trigger kbd{margin-left:2px;padding-left:6px;border-left:1px solid #e3eaec;color:#8a949b;font-family:inherit;font-size:11px}
.workspace-shell .status{padding:4px 12px;font-size:12px;font-weight:600}
.workspace-shell .search-box{position:relative}
.workspace-shell .search-box:before{content:"\e721";position:absolute;left:11px;top:50%;z-index:1;transform:translateY(-50%);font-family:"Segoe Fluent Icons","Segoe MDL2 Assets",sans-serif;color:#8a949b;font-size:14px}
.workspace-shell .search-box input{width:292px;height:36px;padding:8px 12px 8px 32px;border-color:#d3dbe0;border-radius:8px;background:#fff}
.workspace-shell .icon-btn{width:auto;height:36px;padding:0 9px;border:1px solid transparent;border-radius:8px;background:transparent;color:#3f4a52}
.workspace-shell .theme-button{width:36px;padding:0;font-size:18px}
.workspace-shell .content{padding:24px 30px;background:linear-gradient(180deg,#f6f8f9 0%,#fbfcfd 100%)}
.workspace-shell .app-footer{height:40px;flex-basis:40px;padding:0 24px;display:flex;justify-content:space-between;background:#fbfcfe;font-size:11px}
.workspace-shell .app-footer-center{flex:1}
.workspace-shell .legacy-module-page{min-height:calc(100vh - 104px);margin:-24px}
.workspace-shell .primary-button{padding:9px 16px;border:1px solid #7ab5be;border-radius:8px;background:#8ABCD1;color:#1f3a44;font-size:13.5px;box-shadow:0 2px 6px rgba(138,189,209,.30)}
.workspace-shell .secondary-button{padding:9px 16px;border-color:#d3dbe0;border-radius:8px;color:#2c353b}
.declaration-history-page .legacy-recognition-upload{margin:18px 30px 0;padding:0;border:1px solid #e3eaec;border-radius:12px;box-shadow:0 1px 2px rgba(31,42,48,.05),0 1px 3px rgba(31,42,48,.04)}
.declaration-history-page .module-upload-body{padding:16px 18px}
.declaration-history-page .declaration-plan-gate{justify-content:flex-start;padding:2px 2px 14px;margin-bottom:14px;border:0;border-bottom:1px solid #e3eaec;border-radius:0;background:transparent;font-size:13px}
.declaration-history-page .declaration-plan-gate>b{min-width:92px;color:#253139}
.declaration-history-page .declaration-plan-gate .module-upload-help{display:none}
.declaration-history-page .declaration-plan-controls .form-select{width:336px;height:40px;padding:8px 12px;border:1px solid #d3dbe0;border-radius:8px;background:#fff}
.declaration-history-page .upload-bar{min-height:76px;margin:0 0 16px;padding:14px 18px;border:1.5px dashed #c9dce4;border-radius:12px;background:linear-gradient(180deg,#fcfeff,#f4f9fb)}
.declaration-history-page .upload-bar-icon{width:42px;height:42px;border-radius:10px;background:#ddecf0;color:#5a94a8;font-size:20px}
.declaration-history-page .upload-bar-title{color:#1f2a30;font-size:14px;font-weight:600}
.declaration-history-page .upload-bar-sub{margin-top:2px;color:#5b6770;font-size:12px}
.declaration-history-page .legacy-recognition-list{margin-top:18px;border:1px solid #e3eaec;border-radius:12px;box-shadow:0 1px 2px rgba(31,42,48,.05),0 1px 3px rgba(31,42,48,.04)}
.declaration-history-page .legacy-recognition-list .module-list-head{min-height:62px;padding:16px 18px;border-bottom:1px solid #e3eaec;border-radius:12px 12px 0 0}
.declaration-history-page .module-list-title{font-size:15px;font-weight:600}
.declaration-history-page .module-list-tools{display:flex;align-items:center;gap:8px}
.declaration-history-page .module-list-tools .form-input{width:260px;height:34px;padding:6px 10px;border:1px solid #d3dbe0;border-radius:8px;font-size:12px}
.declaration-history-page .module-list-tools .secondary-button,.declaration-history-page .module-list-tools .primary-button{height:34px;padding:6px 12px;font-size:12px;white-space:nowrap}
.declaration-history-page #confirmLedgerOrder{display:none}
.declaration-history-page .table-scroll{overflow:auto;border-radius:0 0 12px 12px}
.declaration-history-page .declaration-ledger-table{width:100%;min-width:1020px;table-layout:fixed;font-size:13.5px;border-collapse:collapse}
.declaration-history-page .declaration-ledger-table col.col-select{width:44px}
.declaration-history-page .declaration-ledger-table col.col-index{width:56px}
.declaration-history-page .declaration-ledger-table col.col-items{width:92px}
.declaration-history-page .declaration-ledger-table col.col-total{width:104px}
.declaration-history-page .declaration-ledger-table col.col-time{width:176px}
.declaration-history-page .declaration-ledger-table col.col-actions{width:248px}
.declaration-history-page .declaration-ledger-table th,.declaration-history-page .declaration-ledger-table td{padding:12px 0;border-bottom:1px solid #eef2f4;vertical-align:middle}
.declaration-history-page .declaration-ledger-table th{border-bottom-color:#d3dbe0;background:#f4f7f9;color:#3f4a52;font-size:12.5px;font-weight:600}
.declaration-history-page .declaration-ledger-table th:first-child,.declaration-history-page .declaration-ledger-table td:first-child{padding-left:14px;padding-right:8px;text-align:center}
.declaration-history-page .declaration-ledger-table th:nth-child(2),.declaration-history-page .declaration-ledger-table td:nth-child(2){padding-left:8px;padding-right:12px;text-align:center;color:#5b6770}
.declaration-history-page .declaration-ledger-table th:nth-child(3),.declaration-history-page .declaration-ledger-table td:nth-child(3){padding-left:12px;padding-right:18px}
.declaration-history-page .declaration-ledger-table th:nth-child(4),.declaration-history-page .declaration-ledger-table td:nth-child(4){padding-left:10px;padding-right:8px;text-align:center}
.declaration-history-page .declaration-ledger-table th:nth-child(5),.declaration-history-page .declaration-ledger-table td:nth-child(5){padding-left:6px;padding-right:8px;text-align:right}
.declaration-history-page .declaration-ledger-table th:nth-child(6),.declaration-history-page .declaration-ledger-table td:nth-child(6){padding-left:30px;padding-right:10px;white-space:nowrap}
.declaration-history-page .declaration-ledger-table th:nth-child(7),.declaration-history-page .declaration-ledger-table td:nth-child(7){padding-left:12px;padding-right:14px}
.declaration-history-page .decl-ledger-actions-head,.declaration-history-page .decl-ledger-actions{width:204px;max-width:100%}
.declaration-history-page .decl-ledger-actions-head{display:inline-block;text-align:center;font-weight:600}
.declaration-history-page .declaration-ledger-table td:nth-child(3) b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.declaration-history-page .declaration-ledger-table td:nth-child(3) small{display:block;margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#6b7280;font-size:11px}
.declaration-history-page .declaration-ledger-table .amount-cell{font-variant-numeric:tabular-nums;white-space:nowrap}
.declaration-history-page .decl-ledger-actions{display:flex;align-items:center;gap:6px;white-space:nowrap}
.declaration-history-page .decl-ledger-actions .secondary-button,.declaration-history-page .decl-ledger-actions .danger-button{padding:6px 10px;font-size:12px}
.declaration-history-page .ledger-sort-button{display:inline-flex;align-items:center;gap:5px;margin:0;padding:4px 2px;border:0;border-radius:6px;background:transparent;color:inherit;font:inherit;font-weight:600;white-space:nowrap;cursor:pointer;vertical-align:middle}
.declaration-history-page .ledger-sort-label{line-height:1.2}
.declaration-history-page .ledger-sort-icon{position:relative;flex-shrink:0;width:10px;height:14px}
.declaration-history-page .ledger-sort-icon::before,.declaration-history-page .ledger-sort-icon::after{content:'';position:absolute;left:50%;transform:translateX(-50%);border-left:4px solid transparent;border-right:4px solid transparent}
.declaration-history-page .ledger-sort-icon::before{top:1px;border-bottom:5px solid #b8c5cb}
.declaration-history-page .ledger-sort-icon::after{bottom:1px;border-top:5px solid #b8c5cb}
.declaration-history-page .ledger-sort-button:hover{background:#e8f1f3;color:#2c687b}
.declaration-history-page .ledger-sort-button.is-active{color:#2f7185}
.declaration-history-page .ledger-sort-button.is-asc .ledger-sort-icon::before{border-bottom-color:#2f7185}
.declaration-history-page .ledger-sort-button.is-desc .ledger-sort-icon::after{border-top-color:#2f7185}
.declaration-history-page .icon-order-button{width:28px;height:28px;padding:0;border:1px solid #d3dbe0;border-radius:7px;background:#fff;color:#58717d;font-size:15px;line-height:1;cursor:pointer}
.declaration-history-page .icon-order-button:hover:not(:disabled){border-color:#8abcd1;background:#edf7f9;color:#2f667a}
.declaration-history-page .icon-order-button:disabled{opacity:.35;cursor:not-allowed}
.declaration-history-page .empty{min-height:190px;padding:52px 24px;display:flex;flex-direction:column;align-items:center;justify-content:center}
.declaration-history-page .empty-icon{margin-bottom:8px;color:#8abcd1;opacity:.45}
.declaration-history-page .empty p{margin:0}
@media(max-width:1180px){.workspace-shell .sidebar{width:200px;flex-basis:200px}.workspace-shell .logo p{display:none}}
.workspace-shell .nav-item.active{color:#1A3540}
.workspace-shell .nav-item.active:before{display:block;background:#E9AD5F}
.declaration-history-page .upload-bar.locked{opacity:1}
.declaration-history-page .upload-bar-sub{font-size:0}
.declaration-history-page .upload-bar-sub:before{content:"支持 PDF / JPG / PNG · 识别成功后立即删除原件";font-size:12px}

/* Plan editor: keep the field-mapping grid inside the page. */
.plans-workflow-page{width:auto;min-width:0;max-width:none}
.plans-workflow-page #planEditor,.plans-workflow-page .template-mapping-surface{width:auto;min-width:0;max-width:none}
.plans-workflow-page .template-mapping-surface .table-scroll{width:100%;max-width:100%;margin:0;padding-top:4px;overflow-x:auto;overflow-y:visible;overscroll-behavior-inline:contain}
.plans-workflow-page .mapping-table{width:100%;min-width:0;table-layout:fixed}
.plans-workflow-page .mapping-table th,.plans-workflow-page .mapping-table td{min-width:0;overflow:hidden;vertical-align:middle}
.plans-workflow-page .mapping-table th:nth-child(1){width:56px}
.plans-workflow-page .mapping-table th:nth-child(2){width:88px}
.plans-workflow-page .mapping-table th:nth-child(3){width:26%}
.plans-workflow-page .mapping-table th:nth-child(5){width:160px}
.plans-workflow-page .mapping-table td:nth-child(3){overflow-wrap:anywhere;word-break:break-word}
.plans-workflow-page .mapping-table .map-source{display:block;width:100%;min-width:0;max-width:100%;height:42px;padding:8px 12px;border:1px solid #d3dbe0;border-radius:8px;background:#fff;text-overflow:ellipsis}
.mapping-advanced-tools{margin-top:8px}.mapping-source-tools{display:flex;align-items:center;gap:8px}.mapping-source-tools .map-transform{width:150px;min-width:120px;padding:6px 8px}.map-transform-length-wrap{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.map-transform-length{width:66px;padding:6px}.mapping-calculation-tools{padding:9px;border:1px solid #dbe4e8;border-radius:8px;background:#fbfcfe}.mapping-formula-row{display:flex;align-items:flex-start;gap:7px;margin-top:7px}.map-calculation-expression{min-height:74px;resize:vertical}.map-test-formula{flex:0 0 auto}.map-calculation-result{min-height:18px;margin-top:5px;font-size:11px;color:#6b7280}.map-calculation-result.success{color:#15803d}.map-calculation-result.error{color:#b42318}.mapping-calculation-settings{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:6px;font-size:11px;color:#5b6770}.mapping-calculation-settings label{display:inline-flex;align-items:center;gap:4px}.map-calculation-decimals{width:56px;padding:5px}.map-calculation-missing{width:auto;padding:5px 7px}.mapping-advanced-tools [hidden]{display:none!important}
.plans-workflow-page .mapping-confidence{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* Plan field architecture: source hierarchy first, processing rules second. */
.mapping-guide{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 18px 18px}
.mapping-guide>div{display:grid;gap:4px;min-width:0;padding:13px 14px;border:1px solid #e6ebef;border-radius:12px;background:linear-gradient(180deg,#fff,#fafcfd)}
.mapping-guide b{color:#25313a;font-size:12px;letter-spacing:.01em}.mapping-guide span{color:#75818b;font-size:11px;line-height:1.55}
.plans-workflow-page .mapping-table th{padding:11px 14px;border-bottom:1px solid #dfe6ea;background:#f7f9fa;color:#66727c;font-size:11px;font-weight:650;letter-spacing:.02em;text-transform:none}
.plans-workflow-page .mapping-table td{padding:14px;border-bottom:1px solid #edf1f3;vertical-align:top;background:#fff}
.plans-workflow-page .mapping-table tbody tr:hover td{background:#fbfdfe}
.plans-workflow-page .mapping-table th:nth-child(1){width:52px}.plans-workflow-page .mapping-table th:nth-child(2){width:76px}.plans-workflow-page .mapping-table th:nth-child(3){width:23%}.plans-workflow-page .mapping-table th:nth-child(5){width:140px}
.mapping-column-letter{display:inline-grid;place-items:center;min-width:34px;height:30px;border:1px solid #dbe3e8;border-radius:8px;background:#f7f9fa;color:#44515b;font-size:12px;font-weight:700}
.mapping-enterprise-field{display:block;padding-top:6px;color:#26323b;font-size:13px;line-height:1.55;overflow-wrap:anywhere}
.plans-workflow-page .mapping-table .map-source{height:46px;padding:0 38px 0 13px;border:1px solid #cfd9df;border-radius:11px;background-color:#fff;color:#26323b;font-size:12px;font-weight:550;box-shadow:0 1px 2px rgba(28,42,50,.03);transition:border-color .16s ease,box-shadow .16s ease}
.plans-workflow-page .mapping-table .map-source:hover{border-color:#9fb7c2}.plans-workflow-page .mapping-table .map-source:focus{border-color:#4b8ca3;box-shadow:0 0 0 3px rgba(75,140,163,.13);outline:0}
.mapping-advanced-tools{display:grid;gap:8px;margin-top:9px}.mapping-source-meta{display:flex;align-items:center;gap:7px;min-height:22px;color:#77838d;font-size:11px;line-height:1.4}
.mapping-source-pill{display:inline-flex;align-items:center;flex:0 0 auto;padding:3px 7px;border-radius:999px;background:#edf6f8;color:#33768c;font-size:10px;font-weight:700}.mapping-source-pill.system{background:#eef2ff;color:#5264a8}.mapping-source-pill.custom{background:#f4f0e8;color:#8a6a32}.mapping-source-pill.formula{background:#f4efff;color:#7755a6}
.mapping-source-tools{min-height:40px;padding:8px 10px;border:1px solid #e5eaed;border-radius:10px;background:#fafcfd}.mapping-tool-label{flex:0 0 auto;color:#5e6a73;font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.mapping-source-tools .map-transform{width:156px;min-width:138px;height:34px;border-color:#d8e0e5;border-radius:8px;background:#fff;font-size:11px}.map-transform-length{height:34px;border-radius:8px}
.mapping-source-tools .map-transform-text{width:180px;height:34px;border-radius:8px;font-size:11px}
.mapping-calculation-tools{padding:12px;border:1px solid #ded8ec;border-radius:11px;background:#fbfaff}.mapping-calculation-tools>.mapping-tool-label{display:block;margin-bottom:8px;color:#6f5a91}.mapping-calculation-tools .map-calculation-variable{height:38px;border-color:#ddd6eb;border-radius:9px;background:#fff}
.mapping-formula-row{gap:8px;margin-top:8px}.map-calculation-expression{min-height:78px;border-radius:9px;background:#fff;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:11px;line-height:1.55}.map-test-formula{height:38px;white-space:nowrap}
.mapping-confidence{margin:6px 0 0!important;padding:4px 8px!important;font-weight:650}
@media(max-width:900px){.mapping-guide{grid-template-columns:1fr}.mapping-guide>div{padding:11px 12px}}

/* Mapping editor polish: give the formula editor a deliberate two-column rhythm. */
.plans-workflow-page .mapping-table th:nth-child(3){width:22%}
.plans-workflow-page .mapping-table th:nth-child(4){width:auto}
.plans-workflow-page .mapping-table th:nth-child(1),.plans-workflow-page .mapping-table td:nth-child(1){text-align:center}
.plans-workflow-page .mapping-table th:nth-child(2),.plans-workflow-page .mapping-table td:nth-child(2){text-align:center}
.plans-workflow-page .mapping-table td:nth-child(3){padding-right:24px}
.plans-workflow-page .mapping-table td:nth-child(4){padding-left:8px;padding-right:18px}
.plans-workflow-page .mapping-table tbody tr{height:72px}
.plans-workflow-page .mapping-table tbody tr:has(.mapping-advanced-tools){height:auto}
.plans-workflow-page .mapping-table th:nth-child(5){width:132px}
.plans-workflow-page .mapping-table td:nth-child(4){min-width:0}
.plans-workflow-page .mapping-table th:last-child,.plans-workflow-page .mapping-table td:last-child{display:none}
.plans-workflow-page .mapping-table th:nth-child(4){width:auto}
.mapping-source-meta{display:none!important}
.mapping-toggle{position:relative;display:inline-block;width:36px;min-width:36px;height:22px;padding:0;border:0;border-radius:999px;background:#e0524d;box-shadow:inset 0 0 0 1px rgba(122,25,22,.18),0 1px 2px rgba(31,41,55,.12);font-size:0;line-height:0;cursor:pointer;vertical-align:middle;transition:background-color .18s ease,box-shadow .18s ease}
.mapping-toggle::after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(31,41,55,.28);transition:transform .18s ease}
.mapping-toggle.is-enabled{background:#35a66f;box-shadow:inset 0 0 0 1px rgba(16,96,57,.16),0 1px 2px rgba(31,41,55,.12)}
.mapping-toggle.is-enabled::after{transform:translateX(14px)}
.mapping-toggle:hover{box-shadow:inset 0 0 0 1px rgba(31,41,55,.16),0 0 0 3px rgba(53,166,111,.14)}
.mapping-toggle.is-disabled:hover{box-shadow:inset 0 0 0 1px rgba(122,25,22,.18),0 0 0 3px rgba(224,82,77,.14)}
.map-enabled{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.mapping-reference-tools{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;margin-top:9px;padding:10px;border:1px solid #dce7eb;border-radius:10px;background:#f8fbfc}
.mapping-reference-tools label{display:grid;gap:5px;color:#63717a;font-size:11px;font-weight:600}
.mapping-reference-tools .form-select{min-width:0;width:100%;height:36px;padding:0 9px;border:1px solid #cfdde2;border-radius:8px;background:#fff;font-size:12px}
.mapping-reference-tools[hidden]{display:none!important}
.plans-workflow-page .template-structure-grid{grid-template-columns:minmax(320px,456px) 104px 104px auto;align-items:end;justify-content:start;gap:16px}
.plans-workflow-page .template-structure-confirm{display:flex;align-items:flex-end;padding-bottom:1px}
.plans-workflow-page .template-structure-confirm .secondary-button{min-height:42px;padding:10px 18px;white-space:nowrap}
.plans-workflow-page .template-structure-grid>label{min-width:0}
.plans-workflow-page .template-structure-grid .form-label-line{display:inline-flex;align-items:center;gap:3px;white-space:nowrap}
.plans-workflow-page .template-structure-grid .template-structure-number .form-input{width:96px}
.mapping-reference-tools>select{min-width:0;width:100%;height:36px;padding:0 9px;border:1px solid #cfdde2;border-radius:8px;background:#fff;font-size:12px}
.mapping-calculation-tools{display:grid;gap:9px;min-width:0}
.mapping-calculation-tools .map-calculation-variable{width:100%;min-width:0}
.mapping-formula-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:10px;min-width:0}
.map-calculation-expression{display:block;width:100%;min-width:0;box-sizing:border-box;padding:10px 12px}
.mapping-calculation-settings{padding-top:2px;border-top:1px solid #eeeaf5}
.mapping-calculation-settings label{min-height:32px}
.mapping-source-tools{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.mapping-source-meta{padding:1px 0}
@media(max-width:1100px){
  .plans-workflow-page .mapping-table{min-width:980px}
  .mapping-formula-row{grid-template-columns:minmax(0,1fr) 86px}
}
.profile-avatar-v3{position:relative;overflow:hidden;cursor:pointer;box-sizing:border-box;width:112px;height:112px;padding:0;border:0;background:linear-gradient(145deg,#b4dde4,#72b1c5)}.profile-avatar-v3:has(img){background:transparent;box-shadow:none}.profile-avatar-v3 img{display:block;width:100%;height:100%;object-fit:cover}.profile-avatar-v3 span{position:absolute;inset:auto 0 0;padding:5px 0;background:rgba(23,59,99,.78);color:#fff;font-size:11px;text-align:center;opacity:0;transition:opacity .18s}.profile-avatar-v3:hover span,.profile-avatar-v3:focus-visible span{opacity:1}.profile-v3-inline-input{box-sizing:border-box;width:170px;height:32px;padding:0 9px;border:1px solid #cbdde2;border-radius:7px;background:#fff;color:#2e3a43;font:inherit;font-size:13px;text-align:right;outline:none}.profile-v3-inline-input:focus{border-color:#5a94a8;box-shadow:0 0 0 3px rgba(90,148,168,.14)}
.enterprise-admin-contacts{margin-top:22px;padding-top:8px;border-top:1px solid #edf3f4}.enterprise-admin-contacts>.organization-card-heading{margin-bottom:14px}.enterprise-admin-contacts>.organization-card-heading span{color:#8a98a1;font-size:11px}.enterprise-admin-contact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:10px}.enterprise-admin-contact{display:grid;grid-template-columns:36px minmax(100px,1fr) auto;align-items:center;gap:11px;padding:13px 14px;border:1px solid #e5edef;border-radius:11px;background:#fff}.enterprise-admin-contact>div:nth-child(2){display:grid;gap:3px}.enterprise-admin-contact strong{color:#26323c;font-size:13px}.enterprise-admin-contact small{color:#8a98a1;font-size:11px}.enterprise-admin-contact-details{display:grid;gap:3px;color:#4a7e8c;font-size:11px;text-align:right}.enterprise-admin-contact-details span{white-space:nowrap}@media(max-width:760px){.enterprise-admin-contact{grid-template-columns:36px 1fr}.enterprise-admin-contact-details{grid-column:2;text-align:left}.profile-v3-inline-input{width:150px}}

/* Make mapping rows easy to scan without making the table feel loose. */
.plans-workflow-page .mapping-table tbody tr{height:82px;}
.plans-workflow-page .mapping-table tbody tr:nth-child(even) td{background:#fbfcfd;}
.plans-workflow-page .mapping-table tbody tr:hover td{background:#f3f8fa;}
.plans-workflow-page .mapping-table tbody tr + tr td{border-top:6px solid #f3f6f7;}
.plans-workflow-page .mapping-table tbody tr td{border-bottom:1px solid #dfe7eb;}
.plans-workflow-page .mapping-table tbody tr:has(.mapping-advanced-tools){height:auto;}
.calculation-sheet-picker{position:relative;margin-top:8px;}
.calculation-sheet-trigger{height:34px;padding:0 12px;border-color:#c5d8dd;color:#5a94a8;background:#fff;font-size:12px;}
.calculation-sheet-popover{position:absolute;z-index:20;top:40px;left:0;display:grid;grid-template-columns:170px minmax(220px,1fr);width:min(560px,calc(100vw - 80px));min-height:190px;border:1px solid #cfdde2;border-radius:10px;background:#fff;box-shadow:0 12px 28px rgba(31,42,48,.16);overflow:hidden;}
.calculation-sheet-popover[hidden]{display:none;}
.calculation-sheet-list{padding:8px;background:#f6fafb;border-right:1px solid #e3eaec;}
.calculation-sheet-item,.calculation-sheet-field{display:block;width:100%;border:0;text-align:left;cursor:pointer;font:inherit;}
.calculation-sheet-item{padding:9px 10px;border-radius:7px;background:transparent;color:#40505a;font-size:12px;}
.calculation-sheet-item:hover,.calculation-sheet-item.is-selected{background:#e7f2f5;color:#2f7187;font-weight:650;}
.calculation-sheet-fields{padding:12px;max-height:260px;overflow:auto;}
.calculation-sheet-fields-title{margin-bottom:8px;color:#593a28;font-size:12px;font-weight:700;}
.calculation-sheet-field{padding:8px 10px;border-bottom:1px solid #edf1f3;background:#fff;color:#26323b;font-size:12px;}
.calculation-sheet-field:hover{background:#f3f8fa;color:#2f7187;}
.plans-workflow-page .editor-actions{display:flex;justify-content:flex-end;align-items:center;gap:12px;padding:16px 18px;min-height:74px;}
.plans-workflow-page .editor-actions .form-message{margin-right:auto;}
.plans-workflow-page .editor-actions .primary-button{flex:0 0 auto;}
.plans-page .template-plan-name .status{display:none!important;}
.plans-page [data-plan-history]{display:none!important;}

/* Sidebar stays scrollable without showing a visual scrollbar. */
.sidebar,.sidebar .nav{scrollbar-width:none;-ms-overflow-style:none}
.sidebar::-webkit-scrollbar,.sidebar .nav::-webkit-scrollbar{width:0;height:0;display:none}
.nav-section-label{padding:12px 12px 6px;color:rgba(26,53,64,.5);font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}
.nav-task-type-label{margin:0 12px 6px;padding:6px 8px;border-left:2px solid rgba(26,53,64,.28);color:rgba(26,53,64,.72);font-size:10px;line-height:1.45}
.task-list-tools{margin-left:auto;display:flex;align-items:center}.task-list-tools .form-input{width:240px;height:36px}

@media(max-width:1100px){
  .plans-workflow-page .mapping-table{min-width:860px}
  .plans-workflow-page .template-mapping-surface .table-scroll{scrollbar-width:thin}
}

/* Authoritative historical shell: one geometry for every workspace page. */
.nav-item .icon{font-family:"Segoe Fluent Icons","Segoe MDL2 Assets",sans-serif}
.workspace-shell .sidebar{width:224px;flex:0 0 224px;background:linear-gradient(180deg,#A8D4DC 0%,#8ABCD1 50%,#7AB5BE 100%);border-right:1px solid rgba(90,148,168,.2);box-shadow:2px 0 12px rgba(90,148,168,.08)}
.workspace-shell .logo{height:auto;padding:20px 16px 14px;display:grid;grid-template-columns:40px 1fr;grid-template-rows:auto auto;column-gap:12px;align-items:center;border-bottom:1px solid rgba(255,255,255,.25)}
.workspace-shell .logo-icon{display:flex;align-items:center;justify-content:center;grid-row:1/3;width:40px;height:40px;margin:0;border-radius:10px;background:rgba(255,255,255,.35);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:.5px solid rgba(255,255,255,.4);box-shadow:0 2px 8px rgba(31,58,68,.1),inset 0 1px 0 rgba(255,255,255,.5);position:relative}
.workspace-shell .logo-icon svg path{stroke:#1A3540!important}
.workspace-shell .logo-icon::after{content:"";position:absolute;right:-3px;bottom:-3px;width:11px;height:11px;border-radius:4px;background:#E9AD5F;border:1.5px solid rgba(255,255,255,.6);box-shadow:0 1px 3px rgba(89,58,40,.25)}
.workspace-shell .logo h1{font-size:16px;line-height:1.2;font-weight:700;color:#1A3540;letter-spacing:0;margin:0}
.workspace-shell .logo p{display:block;margin:2px 0 0;color:rgba(26,53,64,.55);font-size:10px;line-height:1.3;white-space:nowrap}
.workspace-shell .nav{flex:1;padding:10px 10px 0;overflow-y:auto}
.workspace-shell .nav-group{margin-bottom:4px}
.workspace-shell .nav-group-title{padding:10px 12px 6px;color:rgba(26,53,64,.45);font-size:10px;font-weight:600;letter-spacing:.06em;border-bottom:1px solid rgba(255,255,255,.25);margin-bottom:4px;text-transform:uppercase}
.workspace-shell .workspace-app-label{padding:5px 12px 7px;color:rgba(26,53,64,.6);font-size:12px;font-weight:500}
.workspace-shell .nav-item{position:relative;display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:9px;color:rgba(26,53,64,.78);font-size:13px;font-weight:500;text-decoration:none;transition:all .15s ease;margin-bottom:1px;cursor:pointer}
.workspace-shell .nav-item:hover{background:rgba(255,255,255,.22);color:rgba(26,53,64,.95)}
.workspace-shell .nav-item .icon{width:20px;text-align:center;font-size:17px;color:rgba(26,53,64,.55);transition:color .15s}
.workspace-shell .nav-item:hover .icon{color:#1A3540}
.workspace-shell .nav-item.active{background:rgba(255,255,255,.55);color:#1A3540;font-weight:600;box-shadow:0 1px 3px rgba(31,58,68,.08),0 1px 2px rgba(31,58,68,.04)}
.workspace-shell .nav-item.active .icon{color:#1A3540}
.workspace-shell .nav-item.active:before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:3px;border-radius:0 2px 2px 0;background:#E9AD5F;display:block}
.workspace-shell .nav-item.has-submenu::after{content:"\E974";margin-left:auto;font-family:"Segoe Fluent Icons","Segoe MDL2 Assets",sans-serif;font-size:10px;color:rgba(26,53,64,.35);transition:transform .15s}
.workspace-shell .sidebar-footer{padding:12px 14px;border-top:1px solid rgba(255,255,255,.25);height:auto;min-height:56px;display:flex;align-items:center}
.workspace-shell .user-profile-entry{width:100%;margin:0;padding:6px 10px;border:0;border-radius:10px;background:transparent;color:inherit;text-align:left;cursor:pointer;transition:all .15s ease;display:flex!important;align-items:center!important;gap:12px!important;font-family:inherit}
.workspace-shell .user-profile-entry:hover,.workspace-shell .user-profile-entry.is-active{background:rgba(255,255,255,.28);transform:none}
.workspace-shell .user-avatar-mark{width:36px!important;height:36px!important;flex:0 0 36px!important;border-radius:50%!important;background:linear-gradient(135deg,#FFFFFF 0%,#E8F4F7 100%)!important;color:#5A94A8!important;display:grid!important;place-items:center!important;font-size:15px!important;font-weight:700!important;box-shadow:0 2px 8px rgba(31,58,68,.10),inset 0 1px 0 rgba(255,255,255,.9),0 0 0 .5px rgba(255,255,255,.4)!important;position:relative!important;overflow:hidden!important}
.workspace-shell .user-avatar-mark img{display:block;width:100%;height:100%;object-fit:cover;border-radius:50%}
.workspace-shell .user-avatar-mark:has(img){background:transparent!important;box-shadow:0 0 0 1px rgba(255,255,255,.55)!important}
.workspace-shell .user-dot{display:none!important}
.workspace-shell .user-profile-label{display:flex;align-items:center;min-width:0;flex:1}
.workspace-shell .user-profile-entry strong{display:block!important;font-size:14px!important;font-weight:700!important;color:#1A3540!important;line-height:1!important;margin:0!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.workspace-shell .user-profile-entry small{display:none!important}
@media(max-width:1180px){.workspace-shell .sidebar{width:212px;flex-basis:212px}.workspace-shell .logo p{display:block}}
@media(max-width:1000px){.workspace-shell .sidebar{width:212px;flex-basis:212px}}

.legacy-task-create form>div:first-child{position:relative;z-index:2;margin-bottom:6px}
.legacy-task-create form>div:first-child .form-select{min-height:44px;font-size:15px;line-height:1.4}
.legacy-archive-page .legacy-empty>p{display:none}
.plan-module-option{display:grid!important;grid-template-columns:20px 1fr;gap:10px;align-items:start;padding:12px!important;border:1px solid #dbe4ec;border-radius:8px;background:#fff}
.plan-module-option:has(input:checked){border-color:#3f88a3;background:#f2f9fb}
.plan-module-option span,.plan-module-option em{display:block}.plan-module-option small{color:#3f88a3}.plan-module-option em{margin-top:4px;color:#71808f;font-size:12px;font-style:normal;line-height:1.5}
.business-module-manager{margin-top:24px;padding-top:20px;border-top:1px solid #dbe4ec}.business-module-manager h3{margin:0 0 4px}.business-module-upload{display:inline-flex;align-items:center;cursor:pointer}
/* Task list visual pass: restore the historical entity icon and active rail. */
.task-history-page .legacy-task-item.active{box-shadow:inset 3px 0 0 #1a56db}
.task-history-page .legacy-task-number{width:32px;height:32px;border-radius:8px;background:#eef4ff;color:#1a56db;font-size:0;font-family:"Segoe Fluent Icons","Segoe MDL2 Assets",sans-serif}
.task-history-page .legacy-task-number::before{content:"\e8b7";font-size:16px}
.task-history-page .legacy-task-actions .primary-button{background:#8ABCD1;border-color:#7ab5be;color:#1f3a44}
/* Matching workbench: preserve the historical toolbar/table/footer rhythm. */
.matching-history-page .match-workbench{min-height:calc(100vh - 144px);display:flex;flex-direction:column}
.matching-history-page .match-toolbar{flex-wrap:wrap;align-items:center;padding:14px 18px}
.matching-history-page .match-toolbar-controls{flex-wrap:wrap;justify-content:flex-end}
.matching-selection-page .task-workspace{padding:0}.matching-selection-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:18px}.matching-selection-panel{border:1px solid #e5e7eb;border-radius:12px;background:#fff;min-width:0}.selection-panel-head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid #eef0f2}.selection-panel-head h3{margin:0;font-size:15px}.selection-panel-head span{font-size:12px;color:#6b7280}.selection-list{max-height:420px;overflow:auto;padding:10px}.selection-card{display:flex;align-items:center;gap:10px;padding:12px;border:1px solid transparent;border-radius:9px;cursor:pointer}.selection-card:hover{background:#f7fafc;border-color:#dbe5eb}.selection-card input{accent-color:#2d8caa}.selection-card span{display:flex;flex-direction:column;gap:4px;min-width:0}.selection-card b{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.selection-card small{font-size:11px;color:#7a8793}.selection-empty{padding:36px 12px;text-align:center;color:#8a96a3;font-size:13px}.selection-actions{display:flex;align-items:center;justify-content:flex-end;gap:14px;padding:14px 18px;border-top:1px solid #e5e7eb}.selection-actions .form-message{margin-right:auto}.matching-history-page .match-toolbar-controls #backToMatchingSelection{order:-1}
@media (max-width:900px){.matching-selection-grid{grid-template-columns:1fr}.matching-selection-page .match-toolbar{align-items:flex-start}.selection-list{max-height:300px}}
.selection-card em{width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;background:#f1f5f7;color:#527080;font-size:11px;font-style:normal}
.selection-select-all{display:inline-flex;align-items:center;gap:6px;color:#527080;font-size:12px;cursor:pointer}.selection-select-all input{accent-color:#2d8caa}
.matching-history-page .match-table-scroll{flex:1;max-height:calc(100vh - 190px);overflow:auto}
.matching-history-page .match-table th{position:sticky;top:0;z-index:2;background:#f4f7f9}
.matching-history-page .match-table td:last-child{display:flex;align-items:center;flex-wrap:wrap;gap:6px;min-width:150px}
.legacy-task-actions .secondary-button{padding:6px 11px;font-size:12px}

/* === 登录/注册页 · 品牌分栏 v2.0（AI Office 商务智能风） === */
.login-page{min-height:100vh;display:grid;grid-template-columns:1.05fr 1fr;background:#f6f8f9;font-feature-settings:"tnum" 1}
.brand-panel{position:relative;min-height:100vh;overflow:hidden;color:#fff;display:flex;flex-direction:column}
/* Animated gradient base */
.bp-bg{position:absolute;inset:-20%;background:linear-gradient(135deg,#5a94a8 0%,#8ABCD1 35%,#A8D4DC 75%,#7AB5BE 100%);background-size:300% 300%;animation:bp-gradient-shift 22s ease-in-out infinite alternate}
.bp-bg::after{content:"";position:absolute;inset:0;background:url('brand-visual.jpg') center center/cover no-repeat;opacity:.5;mix-blend-mode:screen;animation:bp-visual-breathe 28s ease-in-out infinite alternate}
.bp-bg::before{content:"";position:absolute;inset:0;background:linear-gradient(160deg,rgba(20,50,62,.48) 0%,rgba(20,50,62,.12) 40%,rgba(20,50,62,.32) 100%);z-index:1}
/* Floating orbs */
.bp-orbs{position:absolute;inset:0;z-index:1;overflow:hidden;pointer-events:none}
.bp-orb{position:absolute;border-radius:50%;filter:blur(60px);opacity:.18;will-change:transform}
.bp-orb-1{width:420px;height:420px;background:#fff;top:-120px;left:-80px;animation:bp-float-1 32s ease-in-out infinite}
.bp-orb-2{width:360px;height:360px;background:#E9AD5F;bottom:-100px;right:-60px;opacity:.13;animation:bp-float-2 28s ease-in-out infinite}
.bp-orb-3{width:280px;height:280px;background:#C7A59C;top:40%;left:60%;opacity:.1;animation:bp-float-3 35s ease-in-out infinite}
.bp-orb-4{width:200px;height:200px;background:#fff;bottom:20%;left:10%;opacity:.12;animation:bp-float-4 26s ease-in-out infinite}
@keyframes bp-gradient-shift{
  0%{background-position:0% 50%}
  50%{background-position:100% 50%}
  100%{background-position:30% 80%}
}
@keyframes bp-visual-breathe{
  0%{transform:scale(1) rotate(0deg);opacity:.45}
  100%{transform:scale(1.05) rotate(1.2deg);opacity:.55}
}
@keyframes bp-float-1{
  0%,100%{transform:translate(0,0) scale(1)}
  33%{transform:translate(40px,30px) scale(1.08)}
  66%{transform:translate(20px,50px) scale(.95)}
}
@keyframes bp-float-2{
  0%,100%{transform:translate(0,0) scale(1)}
  40%{transform:translate(-50px,-30px) scale(1.1)}
  70%{transform:translate(-20px,-50px) scale(.92)}
}
@keyframes bp-float-3{
  0%,100%{transform:translate(0,0) scale(1);opacity:.1}
  50%{transform:translate(-60px,-40px) scale(1.15);opacity:.16}
}
@keyframes bp-float-4{
  0%,100%{transform:translate(0,0) scale(1)}
  50%{transform:translate(30px,-40px) scale(1.12)}
}
/* Content layer */
.bp-content{position:relative;z-index:2;display:flex;flex-direction:column;min-height:100vh;padding:52px 56px}
/* Top bar: logo + tag */
.bp-topbar{display:flex;align-items:center;justify-content:space-between}
.bp-logo{display:flex;align-items:center;gap:12px}
.bp-logo-mark{width:38px;height:38px;border-radius:10px;background:rgba(255,255,255,.18);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);display:grid;place-items:center;border:.5px solid rgba(255,255,255,.25);box-shadow:0 2px 8px rgba(20,50,62,.15)}
.bp-logo-mark svg{width:20px;height:20px}
.bp-logo-text{font-size:16px;font-weight:600;color:#fff;letter-spacing:.02em;opacity:.95}
.bp-tag{padding:5px 12px;border-radius:20px;background:rgba(255,255,255,.12);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);font-size:10.5px;font-weight:600;color:rgba(255,255,255,.8);letter-spacing:.08em;text-transform:uppercase;border:.5px solid rgba(255,255,255,.15)}
/* Hero section */
.bp-hero{margin-top:auto;padding:60px 0 40px}
.bp-title{font-size:48px;font-weight:700;line-height:1.12;margin:0 0 18px 0;letter-spacing:-.025em;color:#fff;text-shadow:0 2px 20px rgba(20,50,62,.15)}
.bp-lead{font-size:15px;line-height:1.7;color:rgba(255,255,255,.78);margin:0;max-width:360px;font-weight:400}
/* Feature pills */
.bp-features{display:grid;grid-template-columns:1fr 1fr;gap:10px 8px;margin-bottom:48px}
.bp-feature{display:flex;flex-direction:column;gap:3px;padding:12px 0}
.bp-feature b{font-size:13.5px;font-weight:600;color:#fff;letter-spacing:.01em}
.bp-feature small{font-size:11px;color:rgba(255,255,255,.55);font-weight:400;letter-spacing:.02em}
/* Trust bar */
.bp-trust{display:flex;align-items:center;gap:14px;padding-top:20px;border-top:1px solid rgba(255,255,255,.15)}
.bp-trust span{font-size:11px;color:rgba(255,255,255,.5);font-weight:500;letter-spacing:.03em}
.bp-trust i{width:3px;height:3px;border-radius:50%;background:rgba(255,255,255,.25);flex-shrink:0}
.form-panel{background:#f6f8f9;display:flex;align-items:center;justify-content:center;padding:48px;min-height:100vh;position:relative}
.form-panel::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(180deg,#e9ad5f 0%,#c7a59c 50%,#593a28 100%)}
.login-card{width:100%;max-width:420px;background:#fff;border-radius:22px;border:0.5px solid #e8eef1;box-shadow:0 1px 2px rgba(31,42,48,.02),0 8px 24px rgba(31,42,48,.04),0 24px 64px rgba(31,42,48,.07);padding:44px 42px}
.card-title-row{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.card-stamp{width:8px;height:8px;border-radius:2px;background:#e9ad5f;flex-shrink:0}
.card-title{font-size:24px;font-weight:700;margin:0;color:#1f2a30;letter-spacing:-.02em}
.card-sub{font-size:13.5px;color:#55636d;margin:0 0 24px 0;line-height:1.6}
.field{display:block;margin-bottom:18px}
.field-label{display:block;font-size:13px;font-weight:600;color:#1f2a30;margin-bottom:8px;letter-spacing:.01em}
.input-wrap{position:relative;display:flex;align-items:center;height:46px;background:#fbfcfd;border:1.5px solid #dce4e8;border-radius:12px;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}
.input-icon{flex-shrink:0;width:20px;height:20px;margin:0 8px 0 14px;color:#9aa4ab;display:flex;align-items:center;justify-content:center;transition:color .18s ease}
.input-wrap input{flex:1;height:100%;border:none;outline:none;background:0 0;font-size:14px;color:#1f2a30;padding:0 14px 0 0;font-feature-settings:"tnum" 1}
.input-wrap input::placeholder{color:#a0aab2}
.input-wrap:focus-within{border-color:#8abcd1;background:#fff;box-shadow:0 0 0 4px rgba(138,189,209,.18)}
.input-wrap:focus-within .input-icon{color:#8abcd1}
.input-wrap.is-invalid{border-color:#8a2524;box-shadow:0 0 0 4px rgba(138,37,36,.10);background:#fff}
.field-error{display:none;margin-top:6px;font-size:12px;color:#8a2524}
.field.is-invalid .field-error{display:block}
.login-btn{position:relative;width:100%;height:48px;border:none;border-radius:12px;background:#8ABCD1;color:#1a3540;font-size:15.5px;font-weight:600;letter-spacing:.02em;transition:transform .15s ease,box-shadow .15s ease,filter .15s ease;box-shadow:0 4px 14px rgba(138,189,209,.35),inset 0 1px 0 rgba(255,255,255,.4);overflow:hidden;cursor:pointer;border:0.5px solid #7ab5be;margin-top:4px}
.login-btn:hover:not(:disabled){filter:brightness(1.05);transform:translateY(-1px);box-shadow:0 6px 20px rgba(138,189,209,.42),inset 0 1px 0 rgba(255,255,255,.4)}
.login-btn:active:not(:disabled){transform:translateY(0);filter:brightness(.97);box-shadow:0 2px 6px rgba(138,189,209,.30),inset 0 1px 0 rgba(255,255,255,.3)}
.login-btn:disabled{background:linear-gradient(180deg,#d4e3e8,#c5d8dd);color:#8a9aa2;cursor:not-allowed;box-shadow:none;border-color:#c5d8dd}
.login-btn .btn-text{transition:opacity .15s cubic-bezier(.4,0,.2,1);display:inline-block}
.login-btn .btn-spinner{position:absolute;top:50%;left:50%;width:22px;height:22px;transform:translate(-50%,-50%);opacity:0;transition:opacity .15s cubic-bezier(.4,0,.2,1);pointer-events:none}
.login-btn .btn-spinner::before{content:"";display:block;width:100%;height:100%;border-radius:50%;border:2.5px solid rgba(26,53,64,.15);border-top-color:#1a3540;animation:login-spin .9s linear infinite}
.login-btn.is-loading .btn-text{opacity:0}
.login-btn.is-loading .btn-spinner{opacity:1}
@keyframes login-spin{to{transform:rotate(360deg)}}
.helper-row{display:flex;align-items:center;justify-content:space-between;margin-top:16px;font-size:13px;color:#5b6770}
.remember{display:flex;align-items:center;gap:6px;cursor:pointer;user-select:none}
.remember input{accent-color:#8abcd1;width:14px;height:14px;margin:0}
.card-footer{margin-top:48px;padding-top:24px;border-top:1px solid #e3eaec;font-size:11px;color:#593a28;text-align:center;letter-spacing:.02em}
.form-message{margin-top:12px;font-size:13px;color:#8a2524;text-align:center;min-height:18px}
.register-card .card-sub{max-width:330px;line-height:1.7}
.register-links{display:flex;justify-content:space-between;gap:12px;margin-top:16px;font-size:13px}
.register-links a,.forgot-link{color:#5a94a8;text-decoration:none}
.register-links a:hover,.forgot-link:hover{text-decoration:underline}
.register-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:32px 20px;background:#f6f8f9;border-top:3px solid #e9ad5f}
.register-page .register-card{max-width:430px}
/* ── Register page v2 (Apple-style dual-pane, same shell as login) ── */
.hero-desc{color:rgba(255,255,255,.78);font-size:14px;line-height:1.65;margin:8px 0 28px;max-width:360px}
.register-card{max-width:440px;width:100%}
.register-card .card-sub{margin:6px 0 22px;color:#55636d;font-size:13.5px;line-height:1.6}
/* User type segmented radio */
.register-type-options{display:grid!important;grid-template-columns:1fr 1fr;gap:10px;margin-top:6px}
.type-option{position:relative;display:flex;align-items:center;justify-content:center;gap:10px;padding:0 14px;border:1.5px solid #dce4e8;border-radius:12px;background:#fbfcfd;cursor:pointer;transition:border-color .18s ease,background .18s ease,box-shadow .18s ease;height:46px}
.type-option:hover{border-color:#b8d1d9;background:#f0f7f9}
.type-option input{position:absolute;opacity:0;pointer-events:none}
.type-dot{flex-shrink:0;width:18px;height:18px;border-radius:50%;border:1.5px solid #c5cdd1;background:#fff;display:grid;place-items:center;transition:border-color .18s ease,background .18s ease}
.type-dot::after{content:'';width:8px;height:8px;border-radius:50%;background:transparent;transition:background .18s ease}
.type-option input:checked~.type-dot{border-color:#8abcd1;background:#8abcd1}
.type-option input:checked~.type-dot::after{background:#fff}
.type-option:has(input:checked){border-color:#8abcd1;background:#eef7fa;box-shadow:0 0 0 4px rgba(138,189,209,.15)}
.type-text{display:flex;align-items:center;line-height:1}
.type-text b{font-size:14px;font-weight:600;color:#1f2a30}
.type-text small{font-size:11.5px;color:#71808d;font-weight:400}
/* Code row inside register form */
.register-card .code-row{display:flex;align-items:stretch;gap:10px}
.register-card .code-row .input-wrap{flex:1;min-width:0}
.code-send-btn{height:46px!important;white-space:nowrap;padding:0 18px!important;border:1.5px solid #dce4e8!important;color:#5a94a8!important;background:#fbfcfd!important;border-radius:12px!important;font-size:13.5px;font-weight:600!important;transition:all .18s ease!important;box-shadow:none!important;flex-shrink:0;cursor:pointer;font-family:inherit}
.code-send-btn:hover:not(:disabled){background:#eef7fa!important;color:#4a7e8c!important;border-color:#8abcd1!important}
.code-send-btn:active:not(:disabled){transform:scale(.98)}
.code-send-btn:disabled{opacity:.5;cursor:not-allowed}
/* Readonly input (auto-filled fields) */
.input-wrap input[readonly]{color:#55636d;cursor:default}
.input-wrap:has(input[readonly]){background:#f4f7f8;border-style:dashed;border-color:#d3dde1}
/* Enterprise suggestions dropdown */
.enterprise-register-suggestions{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:30;background:#fff;border:1px solid #dce4e8;border-radius:12px;box-shadow:0 8px 24px rgba(31,42,48,.10);max-height:240px;overflow-y:auto;padding:6px}
.enterprise-register-suggestions button{display:block;width:100%;text-align:left;padding:11px 12px;border:none;background:transparent;border-radius:8px;cursor:pointer;transition:background .12s ease;font-size:14px;color:#1f2a30;font-weight:500}
.enterprise-register-suggestions button:hover{background:#f0f7f9}
.enterprise-register-loading,.enterprise-register-empty{padding:14px;font-size:13px;color:#71808d;text-align:center}
.enterprise-register-picker{position:relative}
/* Register card footer */
.register-card .card-footer{margin-top:22px;padding-top:16px;border-top:0.5px solid #e3eaec;text-align:center;font-size:11px;color:#9aa4ab}
@media(max-width:900px){
  .login-page{grid-template-columns:1fr;min-height:auto}
  .brand-panel{min-height:320px}
  .bp-content{padding:28px 24px;min-height:320px}
  .bp-logo-mark{width:32px;height:32px;border-radius:8px}
  .bp-logo-mark svg{width:17px;height:17px}
  .bp-logo-text{font-size:14px}
  .bp-tag{font-size:9.5px;padding:4px 10px}
  .bp-hero{padding:28px 0 20px;margin-top:16px}
  .bp-title{font-size:28px;line-height:1.2;margin-bottom:10px}
  .bp-lead{font-size:13px;line-height:1.6;max-width:100%}
  .bp-features{gap:6px 4px;margin-bottom:20px;grid-template-columns:1fr 1fr}
  .bp-feature b{font-size:12.5px}
  .bp-feature small{font-size:10px}
  .bp-trust{padding-top:14px;gap:10px;flex-wrap:wrap}
  .bp-trust span{font-size:10px}
  .form-panel{padding:24px 20px;min-height:auto}
  .form-panel::before{display:none}
  .login-card{padding:28px 22px;border-radius:16px;max-width:100%}
  .card-title{font-size:20px}
  .card-sub{font-size:12px;margin-bottom:22px}
  .login-btn{height:48px}
}

/* === 状态色补全（业务模块使用） === */
.status-green,.status-tag.success{background:#e6f4ec;color:#15803d;border:1px solid #bfe2cc}
.status-red{background:#fbe9e8;color:#8a2524;border:1px solid #e8b8b6}
.status-blue{background:#ddecf0;color:#5a94a8;border:1px solid #b8d6e0}
.status-gray{background:#eef1f3;color:#5b6770;border:1px solid #d3dbe0}
.status-yellow,.status-tag.warning{background:#fff7df;color:#a16207;border:1px solid #f2d58b}

/* Keep the shell stable when a page is replaced after saving a plan. */
html,body,#root{min-height:100%;}
#root{height:100vh;}
.workspace-shell.app{position:fixed;inset:0;width:100%;height:100vh;min-height:100vh;overflow:hidden;}
.workspace-shell .main{height:100%;min-height:0;}
.workspace-shell .content{min-height:0;}
.workspace-shell .app-footer{flex:0 0 40px;min-height:40px;}
.enterprise-space-page{max-width:1080px;margin:0 auto}.enterprise-space-entry-card{display:flex;align-items:center;gap:20px;min-height:176px;padding:30px 34px;border:1px solid #d9e7eb;border-radius:18px;background:linear-gradient(135deg,#fff 0%,#f1fafb 100%);box-shadow:0 12px 32px rgba(28,78,95,.07)}.enterprise-space-entry-mark{display:grid;width:58px;height:58px;flex:0 0 58px;place-items:center;border-radius:18px;background:linear-gradient(135deg,#a6d9df,#75b9c8);color:#173d50;font-size:24px;font-weight:750;box-shadow:0 7px 16px rgba(71,143,161,.2)}.enterprise-space-entry-copy{min-width:0;flex:1}.enterprise-space-entry-copy h2{margin:0;color:#1d2b34;font-size:23px;letter-spacing:-.02em}.enterprise-space-entry-copy p{margin:9px 0 0;color:#6b7d86;font-size:14px}.enterprise-space-entry-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.enterprise-space-entry-actions button{min-width:144px}.enterprise-space-form-card{max-width:760px;margin:0 auto}.enterprise-space-form-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:16px}.enterprise-space-form-actions [role=status]{min-width:100%;color:#55717d;font-size:12px}@media(max-width:720px){.enterprise-space-entry-card{align-items:flex-start;flex-wrap:wrap;padding:26px}.enterprise-space-entry-actions{width:100%;justify-content:flex-start}.enterprise-space-entry-actions button{flex:1;min-width:0}}
.enterprise-space-form-card .organization-form{overflow:visible}.enterprise-space-name-field{position:relative}.enterprise-space-name-field #enterpriseSearchResults{position:absolute;z-index:30;top:calc(100% + 6px);right:0;left:0;display:block;max-height:230px;overflow:auto;padding:5px;border:1px solid #d4e2e6;border-radius:10px;background:#fff;box-shadow:0 14px 28px rgba(29,65,78,.16)}.enterprise-space-name-field #enterpriseSearchResults:empty{display:none}.enterprise-space-name-field .enterprise-suggestion{display:flex;width:100%;align-items:flex-start;gap:3px;padding:10px 12px;border:0;border-radius:7px;background:transparent;color:#21313a;text-align:left;cursor:pointer;font:inherit}.enterprise-space-name-field .enterprise-suggestion:hover{background:#edf7f8}.enterprise-space-name-field .enterprise-suggestion strong{font-size:13px;font-weight:650}.enterprise-space-name-field .enterprise-suggestion span{color:#74838c;font-size:11px}.enterprise-space-name-field .enterprise-suggestion-empty{padding:11px;color:#75848d;font-size:12px}.enterprise-space-form-actions{justify-content:flex-end}.enterprise-space-form-actions [role=status]{margin-right:auto}@media(max-width:720px){.enterprise-space-form-actions button{flex:1;min-width:0}}
.enterprise-space-page .enterprise-management-section{margin-top:18px}.current-enterprise-card{padding-bottom:18px}.current-enterprise-list{display:grid;gap:10px}.current-enterprise-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:16px 24px;padding:17px 18px;border:1px solid #e7eef0;border-radius:12px;background:#fbfdfd}.current-enterprise-row>div:not(.current-enterprise-actions){display:grid;gap:4px;min-width:0}.current-enterprise-row-meta{display:flex;flex-wrap:wrap;align-items:flex-start;gap:12px 24px}.current-enterprise-row-meta>div{display:grid;gap:4px;min-width:0}.current-enterprise-row span{color:#75848d;font-size:11px}.current-enterprise-row strong{overflow:hidden;color:#1f2a30;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.current-enterprise-actions{grid-column:1/-1;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;min-width:0}.current-enterprise-actions .secondary-button,.current-enterprise-actions .danger-button{white-space:nowrap}.organization-invite-form{grid-template-columns:minmax(280px,560px) auto;align-items:end;gap:12px;margin-bottom:20px}.organization-invite-form .organization-invite-actions{min-height:43px;gap:10px}.organization-invite-form .organization-invite-actions [role=status]{position:absolute;max-width:360px;transform:translateY(30px)}.organization-invite-form .secondary-button{height:43px;white-space:nowrap}.enterprise-space-page .organization-members-card{margin-top:18px}.enterprise-space-page .organization-card-heading{margin-bottom:18px}@media(max-width:720px){.current-enterprise-row{grid-template-columns:1fr;gap:13px}.current-enterprise-actions{justify-content:flex-start}.organization-invite-form{grid-template-columns:1fr}.organization-invite-form .organization-invite-actions{width:100%}.organization-invite-form .secondary-button{width:100%}.organization-invite-form .organization-invite-actions [role=status]{position:static;transform:none}}
.notification-button{position:relative}.notification-badge{position:absolute;top:-4px;right:-5px;display:grid;min-width:17px;height:17px;padding:0 4px;place-items:center;border:2px solid #fff;border-radius:999px;background:#b5473b;color:#fff;font-size:10px;font-weight:700;line-height:1}.notification-modal{max-width:560px!important}.notification-item{padding:14px 2px;border-bottom:1px solid #edf0f2}.notification-item:last-child{border-bottom:0}.notification-item strong{color:#1f2937;font-size:14px}.notification-item p{margin:5px 0 0;color:#75808a;font-size:12px}.notification-item.is-unread strong:before{content:"";display:inline-block;width:7px;height:7px;margin-right:7px;border-radius:50%;background:#b5473b;vertical-align:1px}.notification-item-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.notification-item-actions .primary-button,.notification-item-actions .secondary-button{height:34px;padding:0 14px;font-size:12px}
.enterprise-space-page .organization-invite-form{display:flex!important;align-items:flex-end;gap:12px;max-width:760px}.enterprise-space-page .organization-invite-form>label{flex:1;min-width:0}.enterprise-space-page .organization-invite-form .organization-invite-actions{display:flex;flex:0 0 auto;align-items:center;min-height:43px}.enterprise-space-page .enterprise-request-history{padding:7px 12px;font-size:12px}.enterprise-request-modal{max-width:760px!important}@media(max-width:720px){.enterprise-space-page .organization-invite-form{display:grid!important}.enterprise-space-page .organization-invite-form .organization-invite-actions{width:100%}}
.enterprise-request-toolbar{display:flex;align-items:center;gap:12px;margin:18px 0 10px}.enterprise-request-toolbar label{font-size:12px;color:#53616b}.enterprise-request-toolbar .danger-button{padding:7px 11px;font-size:12px}.enterprise-request-table{min-width:1050px}.enterprise-request-table th,.enterprise-request-table td{white-space:nowrap}.enterprise-request-avatar{display:grid;width:28px;height:28px;place-items:center;border-radius:50%;background:#dff0f3;color:#285768;font-size:12px;font-weight:700}.enterprise-request-table .secondary-button,.enterprise-request-table .danger-button{padding:6px 9px;font-size:11px}
.enterprise-request-decision{padding:6px 9px;border:0;border-radius:7px;background:transparent;font:600 11px/1 inherit;cursor:default}.enterprise-request-decision.is-approved{color:#16834b}.enterprise-request-decision.is-rejected{color:#b5473b}.enterprise-request-pending{color:#78858d;font-size:12px}
.enterprise-table-pager{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding-top:12px;font-size:12px;color:#66747d}.enterprise-table-pager button{padding:6px 10px}.enterprise-member-filters{display:flex;gap:10px;margin:0 0 14px}.enterprise-member-filters input{height:36px;width:210px;padding:0 10px;border:1px solid #ced9df;border-radius:8px;font:inherit;font-size:12px}@media(max-width:720px){.enterprise-member-filters{flex-direction:column}.enterprise-member-filters input{width:100%}}
.enterprise-space-page{max-width:1180px}.enterprise-space-page .current-enterprise-card{padding:28px;overflow:hidden}.enterprise-space-page .current-enterprise-row{grid-template-columns:minmax(0,1fr) auto;gap:20px 28px;padding:22px 24px;border-color:#dce9ed;border-radius:14px;background:linear-gradient(135deg,#fff 0%,#f8fcfc 100%);box-shadow:inset 3px 0 0 #8dc7d2}.enterprise-space-page .current-enterprise-row>div:not(.current-enterprise-actions){gap:6px}.enterprise-space-page .current-enterprise-row-meta{gap:16px 32px}.enterprise-space-page .current-enterprise-row span{color:#71818a;font-size:12px}.enterprise-space-page .current-enterprise-row strong{color:#172b36;font-size:15px;font-weight:700}.enterprise-space-page .current-enterprise-name small{overflow:hidden;color:#71818a;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.enterprise-space-page .current-enterprise-actions .danger-button{height:40px;padding:0 17px;border-color:#e8c5be;background:#fff;color:#b5473b}.enterprise-space-page .current-enterprise-actions .danger-button:hover{background:#fff5f2}.enterprise-space-page .enterprise-member-filters{align-items:center;gap:12px;margin:0 0 18px}.enterprise-space-page .enterprise-member-filters input,.enterprise-space-page .enterprise-member-filters select{box-sizing:border-box;height:42px;border:1px solid #cbdde2;border-radius:10px;background:#fff;color:#253640;font:13px/1 inherit;outline:none;transition:border-color .18s ease,box-shadow .18s ease}.enterprise-space-page .enterprise-member-filters input{width:min(360px,100%);padding:0 13px}.enterprise-space-page .enterprise-member-filters select{min-width:170px;padding:0 32px 0 12px}.enterprise-space-page .enterprise-member-filters input:focus,.enterprise-space-page .enterprise-member-filters select:focus{border-color:#6caec0;box-shadow:0 0 0 3px rgba(108,174,192,.16)}.enterprise-space-page .organization-members-table th{height:46px;background:#f4f8f9;color:#61727e;font-size:12px;font-weight:650}.enterprise-space-page .organization-members-table td{height:66px;color:#273842;white-space:nowrap}.enterprise-space-page .organization-members-table .secondary-button,.enterprise-space-page .organization-members-table .danger-button{min-height:38px;border-radius:9px;white-space:nowrap}.enterprise-space-page .organization-members-card .table-scroll:last-child .organization-members-table th:first-child{font-size:0}.enterprise-space-page .organization-members-card .table-scroll:last-child .organization-members-table th:first-child::after{content:'已购功能模块';font-size:12px}@media(max-width:760px){.enterprise-space-page .current-enterprise-card{padding:20px}.enterprise-space-page .current-enterprise-row{grid-template-columns:1fr;gap:16px;padding:19px}.enterprise-space-page .enterprise-member-filters{align-items:stretch;flex-direction:column}.enterprise-space-page .enterprise-member-filters input,.enterprise-space-page .enterprise-member-filters select{width:100%}}
.map-calculation-variable optgroup{font-weight:700;color:#2f596b;}
.map-calculation-variable optgroup option{font-weight:400;color:#1f2a30;padding-left:12px;}
.invoice-upload-history-actions{flex-wrap:wrap}.invoice-upload-history-actions span{white-space:nowrap}.invoice-upload-history-search{width:210px;height:30px;padding:5px 9px;border:1px solid #cfdde2;border-radius:7px;background:#fff;font-size:12px}
.invoice-upload-history-table-wrap{overflow:auto}.invoice-upload-history-table{width:100%;min-width:760px;border-collapse:collapse;font-size:12px}.invoice-upload-history-table th,.invoice-upload-history-table td{padding:10px 12px;border-bottom:1px solid #edf1f3;text-align:left;vertical-align:middle}.invoice-upload-history-table th{background:#f6f9fa;color:#63717a;font-weight:650;white-space:nowrap}.invoice-upload-history-table .invoice-upload-history-item{display:table-row}.invoice-upload-history-table .invoice-upload-history-file b,.invoice-upload-history-table .invoice-upload-history-file small{display:block}.invoice-upload-history-table .invoice-upload-history-file b{font-size:12px;color:#374151;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:320px}.invoice-upload-history-table .invoice-upload-history-file small{margin-top:3px;font-size:11px;color:#9ca3af;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:320px}.invoice-upload-history-table .invoice-upload-history-status{white-space:nowrap}
.nav-admin-group { display: none !important; }
.profile-text-button{height:34px;padding:0 12px;border:1px solid #c8d8df;border-radius:8px;background:#fff;color:#4a7e8c;font:600 12px/1 inherit;cursor:pointer}.profile-text-button:hover{background:#eef6f8;border-color:#8abcd1}.organization-page{max-width:1120px;margin:0 auto}.organization-loading{padding:56px;border:1px solid #dde6ea;border-radius:16px;background:#fff;color:#71808d;text-align:center}.organization-loading.is-error{color:#a33a37}.organization-hero{min-height:132px;padding:26px 30px;display:flex;align-items:center;justify-content:space-between;border:1px solid #dde6ea;border-radius:16px;background:#fff;box-shadow:0 8px 28px rgba(23,59,99,.06)}.organization-hero>div:first-child>span{color:#71808d;font-size:12px}.organization-hero h1{margin:7px 0 5px;color:#17212b;font-size:24px;letter-spacing:-.02em}.organization-hero p{margin:0;color:#71808d;font-size:12px}.organization-hero-mark{width:60px;height:60px;border-radius:18px;background:#8abcd1;color:#173b63;display:grid;place-items:center;font-size:23px;font-weight:750}.organization-settings-grid{display:grid;gap:18px;margin-top:18px}.organization-card{padding:24px 26px;border:1px solid #dde6ea;border-radius:16px;background:#fff;box-shadow:0 5px 18px rgba(23,59,99,.045)}.organization-card-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid #edf1f3}.organization-card-heading h2{margin:0;color:#1e2933;font-size:17px}.organization-card-heading p{margin:5px 0 0;color:#7b8794;font-size:12px}.organization-card-heading>strong{padding:5px 10px;border-radius:999px;background:#eef6f8;color:#4a7e8c;font-size:12px}.organization-form{display:grid;grid-template-columns:minmax(0,560px);gap:16px}.organization-form label{display:grid;gap:7px;color:#596674;font-size:12px}.organization-form input{height:43px;padding:0 12px;border:1px solid #ced9df;border-radius:9px;font:inherit;font-size:13px;outline:none}.organization-form input:focus{border-color:#8abcd1;box-shadow:0 0 0 3px rgba(138,188,209,.22)}.organization-form>div{display:flex;align-items:center;gap:16px}.organization-form>div>span{min-height:18px;margin-right:auto;color:#4a7e8c;font-size:12px}.organization-readonly{display:grid;grid-template-columns:100px 1fr;margin:0}.organization-readonly dt{color:#7b8794;font-size:12px}.organization-readonly dd{margin:0;color:#26323c;font-size:13px;font-weight:600}.organization-members-card{padding-bottom:10px}.organization-members-table{min-width:760px}.organization-members-table th{height:42px;background:#f7f9fa;color:#667085;font-size:11px;white-space:nowrap}.organization-members-table td{height:60px;color:#344054;vertical-align:middle}.member-name-cell{display:flex;align-items:center;gap:10px}.member-name-cell>span{width:30px;height:30px;border-radius:9px;background:#e9f3f6;color:#4a7e8c;display:grid;place-items:center;font-size:12px;font-weight:700}.member-name-cell strong{font-size:13px}.member-status{display:inline-flex;align-items:center;gap:6px;font-size:12px}.member-status:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}.member-status.is-active{color:#21865a}.member-status.is-inactive{color:#b93835}@media(max-width:760px){.organization-hero{padding:22px}.organization-card{padding:20px}.organization-form{grid-template-columns:1fr}.organization-hero-mark{width:52px;height:52px;border-radius:15px}}
.admin-list-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.admin-list-heading h2{margin:0 0 6px}.admin-list-heading span,.admin-list-note{color:#6b7280;font-size:12px}.recognition-jobs-filters{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap;margin-bottom:16px;padding:12px;border:1px solid #e5e7eb;border-radius:9px;background:#fbfcfe}.recognition-jobs-filters label{display:grid;gap:5px;color:#6b7280;font-size:12px}.recognition-jobs-filters input,.recognition-jobs-filters select{min-width:130px;height:36px;padding:0 9px;border:1px solid #d3dbe0;border-radius:7px;background:#fff;font:inherit;color:#374151}.recognition-jobs-filters button{height:36px}.admin-pagination{display:flex;justify-content:flex-end;gap:8px;padding-top:16px}.admin-pagination button:disabled{opacity:.45;cursor:not-allowed}


/* ============================================================
   统一设计规范 v1 · Design Tokens 与统一组件
   适用范围：客户端 + 后台管理端（逐页迁移）
   规则：新页面/重构页面必须使用 td- 组件与 var(--td-*) 令牌
   ============================================================ */
:root{
  --td-primary:#8abcd1;
  --td-primary-deep:#5a94a8;
  --td-primary-darker:#427e94;--td-primary-light:#8abcd1;
  --td-primary-grad:#8ABCD1;--td-primary-grad-hover:linear-gradient(180deg,#8abcd1,#6fa8b8);
  --td-primary-soft:#ddecf0;--td-primary-faint:#eef5f8;
  --td-accent:#e9ad5f;
  --td-anchor:#593a28;
  --td-rouge:#c7a59c;
  --td-rouge-soft:#f5eeeb;
  --td-danger:#8a2524;
  --td-danger-soft:#f5eded;
  --td-success:#16824e;
  --td-success-soft:#e8f6ee;
  --td-warn:#a16207;
  --td-warn-soft:#fff7df;
  --td-border:#dce7eb;
  --td-border-soft:#e3eaec;
  --td-surface:#ffffff;
  --td-bg:#f6f8f9;
  --td-text:#1f2a30;
  --td-text-2:#55636d;
  --td-text-3:#71808d;
  --td-radius:12px;
  --td-radius-sm:8px;
  --td-radius-pill:999px;
  --td-shadow-card:0 1px 2px rgba(31,42,48,.04),0 4px 14px rgba(31,42,48,.05);
  --td-shadow-hover:0 6px 18px rgba(31,42,48,.07);
}

/* -- 统一页面骨架：紧凑页头（左说明，右主操作） -- */
.td-page{max-width:1180px;margin:0 auto;padding:24px 24px 48px}
.td-page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:16px}
.td-page-head-text p{margin:0;color:var(--td-text-3);font-size:13px;line-height:1.6}
.td-page-head-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}

/* -- 统一列表容器 -- */
.td-surface{background:var(--td-surface);border:1px solid var(--td-border);border-radius:var(--td-radius);box-shadow:var(--td-shadow-card);overflow:hidden}
.td-surface-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;border-bottom:1px solid var(--td-border-soft);background:#fbfdfe}
.td-surface-title{color:var(--td-text);font-size:15px;font-weight:600}
.td-count{color:var(--td-text-3);font-size:12px;font-variant-numeric:tabular-nums}

/* -- 统一列表行 -- */
.td-row{display:flex;align-items:center;gap:16px;padding:16px 18px;border-bottom:1px solid var(--td-border-soft);background:#fff;transition:background .15s ease}
.td-row:last-child{border-bottom:0}
.td-row:hover{background:#f7fafc}
.td-row.is-current{box-shadow:inset 3px 0 0 var(--td-primary);background:#fafcfd}
.td-row-main{flex:1;min-width:0}
.td-row-title-line{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.td-row-title{color:var(--td-text);font-size:15px;font-weight:600}
.td-row-meta{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:6px;color:var(--td-text-3);font-size:12px;font-variant-numeric:tabular-nums}
.td-row-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}
.td-tag{padding:3px 9px;border-radius:6px;background:var(--td-primary-soft);color:#4a7e8c;font-size:11px}
.td-row-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}
.td-row-actions .primary-button,.td-row-actions .secondary-button{height:34px;padding:0 13px;font-size:12px}
.td-row-actions .text-danger-button{margin-left:6px;border:0;background:transparent;color:#a33a37;font-size:12px;cursor:pointer}
.td-row-actions .text-danger-button:hover{text-decoration:underline}

/* -- 统一状态徽章（配合 .status 基类） -- */
.status-blue{background:var(--td-primary-soft);color:#4a7e8c;border:1px solid #c4dcea}

/* -- 统一空状态 -- */
.td-empty{padding:56px 20px;text-align:center;color:var(--td-text-3)}
.td-empty strong{display:block;color:#42515a;font-size:14px}
.td-empty p{margin:8px 0 18px;font-size:12px}

@media(max-width:760px){
  .td-page{padding:16px 14px 30px}
  .td-page-head{flex-direction:column;align-items:stretch}
  .td-row{flex-direction:column;align-items:stretch}
  .td-row-actions{justify-content:flex-end}
}


/* ===== 统一设计规范扩展：法务审核工作台组件 ===== */
.td-page-eyebrow{color:var(--td-primary);font-size:12px;font-weight:600;letter-spacing:.3px;text-transform:uppercase;margin-bottom:6px}
.td-page-head h1{margin:0;color:var(--td-text);font-size:22px;font-weight:700;line-height:1.3}
.td-page-head h2{margin:0;color:var(--td-text);font-size:20px;font-weight:700;line-height:1.3}
.td-page-head-text > p{margin-top:6px}
.td-stage-badge{display:inline-flex;align-items:center;height:28px;padding:0 14px;border-radius:var(--td-radius-pill);background:var(--td-primary-soft);color:#4a7e8c;font-size:12px;font-weight:500;white-space:nowrap}

/* 统计卡片 */
.td-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}
.td-stat{padding:16px 18px;background:#fff;border:1px solid var(--td-border);border-radius:var(--td-radius);box-shadow:var(--td-shadow-card)}
.td-stat-label{color:var(--td-text-3);font-size:12px}
.td-stat-value{display:block;margin-top:6px;color:var(--td-text);font-size:24px;font-weight:700;font-variant-numeric:tabular-nums;line-height:1.2}
.td-stat-note{display:block;margin-top:4px;color:var(--td-text-3);font-size:11px}

/* 双栏布局 */
.td-two-col{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}

/* 面板间距 */
.td-surface + .td-surface{margin-top:16px}
.td-surface-body{padding:18px}
.td-surface-body-compact{padding:14px 18px}

/* 面板标题描述 */
.td-surface-head p{margin:2px 0 0;color:var(--td-text-3);font-size:12px;line-height:1.5}

/* 步骤条 */
.td-steps{display:flex;flex-wrap:wrap;gap:6px;padding:18px}
.td-step{display:inline-flex;align-items:center;height:28px;padding:0 14px;border-radius:var(--td-radius-pill);background:#f0f4f6;color:var(--td-text-3);font-size:12px;font-weight:500}
.td-step.is-current{background:var(--td-primary-soft);color:#4a7e8c}
.td-step.is-done{background:#e6f4ea;color:#1e7e34}

/* 信息网格 */
.td-info-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--td-border-soft);padding:1px}
.td-info-grid > div{padding:14px 16px;background:#fff}
.td-info-grid span{display:block;color:var(--td-text-3);font-size:12px;margin-bottom:4px}
.td-info-grid strong{color:var(--td-text);font-size:14px}

/* 操作行 */
.td-action-row{display:flex;flex-wrap:wrap;gap:10px;padding:18px}

/* 文件行（复用 td-row 风格，带复选框和图标） */
.td-file-row{display:flex;align-items:center;gap:14px;padding:14px 18px;border-bottom:1px solid var(--td-border-soft);background:#fff;transition:background .15s ease}
.td-file-row:last-child{border-bottom:0}
.td-file-row:hover{background:#f7fafc}
.td-check{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}
.td-check input{width:16px;height:16px;accent-color:var(--td-primary);cursor:pointer}
.td-file-icon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:8px;background:var(--td-primary-soft);color:#4a7e8c;font-size:14px;font-weight:600;flex-shrink:0}
.td-file-main{flex:1;min-width:0}
.td-file-main strong{display:block;color:var(--td-text);font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.td-file-main small{display:block;margin-top:3px;color:var(--td-text-3);font-size:11px}
.td-file-status{display:inline-flex;align-items:center;height:24px;padding:0 10px;border-radius:var(--td-radius-pill);font-size:11px;font-weight:500;flex-shrink:0}
.td-file-status.uploaded,.td-file-status.ready,.td-file-status.complete{background:#e6f4ea;color:#1e7e34}
.td-file-status.processing,.td-file-status.pending{background:#fff7df;color:#b07800}
.td-file-status.failed{background:#fde8e8;color:#a33a37}
.td-file-action{display:flex;align-items:center;gap:8px;flex-shrink:0}
.td-file-action .secondary-button,.td-file-action .danger-button{height:30px;padding:0 12px;font-size:12px}
.td-file-parse-ok{color:#1e7e34;font-size:12px;font-weight:500}

/* 合同初审页：上传与解析入口和文件列表合并展示 */
.td-upload-panel{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:14px 18px 0;padding:14px 16px;border:1px solid var(--td-border-soft);border-radius:12px;background:#fbfdfe}
.td-upload-panel > div{display:flex;flex-direction:column;gap:4px;min-width:0}
.td-upload-panel strong{color:var(--td-text);font-size:13px;font-weight:600}
.td-upload-panel span{color:var(--td-text-3);font-size:12px;line-height:1.5}
.td-file-row.is-disabled{background:#fcfdfe}
.td-file-row.is-disabled .td-file-main strong{color:var(--td-text-2)}
.td-file-row.is-disabled .td-file-status{background:#f1f3f5;color:var(--td-text-3)}

/* 文件上传提示 */
.td-upload-hint{padding:10px 18px;background:#f7fafb;border-top:1px solid var(--td-border-soft);color:var(--td-text-3);font-size:12px}

/* 批量工具栏 */
.td-batch-bar{display:flex;align-items:center;gap:12px;padding:10px 18px;background:#f4f8fa;border-bottom:1px solid var(--td-border-soft);font-size:12px;color:var(--td-text-2)}
.td-batch-bar b{color:var(--td-primary);font-weight:600}

/* 基础三栏依据网格 */
.td-basis-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:18px}
.td-basis-card{padding:16px;border:1px solid var(--td-border-soft);border-radius:var(--td-radius-sm);background:#fbfdfe}
.td-basis-card b{display:block;color:var(--td-text);font-size:13px;margin-bottom:6px}
.td-basis-card p{margin:0 0 12px;color:var(--td-text-3);font-size:12px;line-height:1.6}
.td-basis-card .secondary-button{height:30px;padding:0 12px;font-size:12px}

/* 检查清单 */
.td-check-list{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--td-border-soft);margin:0 18px;border:1px solid var(--td-border-soft);border-radius:var(--td-radius-sm);overflow:hidden}
.td-check-list > div{padding:14px 16px;background:#fff}
.td-check-list span{display:block;color:var(--td-text-3);font-size:12px;margin-bottom:4px}
.td-check-list b{color:var(--td-text);font-size:13px;font-weight:600}

/* 风险卡片 */
.td-risk-list{padding:0 18px 18px}
.td-risk-card{padding:14px 16px;margin-top:10px;border:1px solid var(--td-border-soft);border-radius:var(--td-radius-sm);background:#fff;border-left:3px solid #f0ad4e}
.td-risk-card:first-child{margin-top:0}
.td-risk-card.legal-risk-high{border-left-color:#c0392b;background:#fdf6f5}
.td-risk-card.legal-risk-medium{border-left-color:#f0ad4e;background:#fefbf3}
.td-risk-card.legal-risk-low{border-left-color:#5bc0de;background:#f5fbfd}
.td-risk-card > div{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}
.td-risk-card b{color:var(--td-text);font-size:13px}
.td-risk-card span{font-size:11px;padding:2px 8px;border-radius:4px;font-weight:500}
.td-risk-card.legal-risk-high span{background:#fde8e8;color:#a33a37}
.td-risk-card.legal-risk-medium span{background:#fff7df;color:#b07800}
.td-risk-card.legal-risk-low span{background:#e6f4fa;color:#1f7a96}
.td-risk-card p{margin:0 0 6px;color:var(--td-text-2);font-size:12px;line-height:1.6}
.td-risk-card small{display:block;color:var(--td-text-3);font-size:11px;line-height:1.6;margin-bottom:6px}
.td-risk-card em{display:block;color:#4a7e8c;font-size:12px;font-style:normal;line-height:1.6;padding-top:8px;border-top:1px dashed var(--td-border-soft)}

/* 通知/提示条 */
.td-notice{margin:0 18px 18px;padding:10px 14px;border-radius:var(--td-radius-sm);background:#f7fafb;border:1px solid var(--td-border-soft);color:var(--td-text-2);font-size:12px;line-height:1.6}
.td-notice-warning{background:#fff7df;border-color:#f0e0a8;color:#8a6000}

/* 下一步引导卡片 */
.td-next-step{display:flex;align-items:center;gap:14px;padding:18px}
.td-next-step.is-active{background:linear-gradient(135deg,#f0f8fb 0%,#f7fafb 100%)}
.td-next-num{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:var(--td-primary);color:#1A3540;font-size:15px;font-weight:700;flex-shrink:0}
.td-next-step > div:nth-child(2){flex:1}
.td-next-step strong{display:block;color:var(--td-text);font-size:14px;margin-bottom:4px}
.td-next-step p{margin:0;color:var(--td-text-3);font-size:12px;line-height:1.5}

/* 法规检索结果 */
.td-law-search{display:flex;gap:10px;padding:18px;border-bottom:1px solid var(--td-border-soft)}
.td-law-search .form-input{flex:1}
.td-law-search .form-select{width:150px;flex-shrink:0}
.td-law-results{padding:0 18px 18px}
.td-law-result{display:flex;gap:12px;padding:14px 0;border-bottom:1px solid var(--td-border-soft);cursor:pointer}
.td-law-result:last-child{border-bottom:0}
.td-law-result input{width:16px;height:16px;margin-top:2px;accent-color:var(--td-primary);flex-shrink:0}
.td-law-result strong{display:block;color:var(--td-text);font-size:13px;margin-bottom:4px}
.td-law-result small{display:block;color:var(--td-text-3);font-size:11px;margin-bottom:6px}
.td-law-result p{margin:0 0 4px;color:var(--td-text-2);font-size:12px;line-height:1.6}
.td-law-result a{color:var(--td-primary);font-size:11px;text-decoration:none}
.td-law-result a:hover{text-decoration:underline}

/* 空状态适配 td-surface */
.td-surface .legal-empty-state{margin:18px}
.legal-empty-state{padding:36px 20px;text-align:center;color:var(--td-text-3);border:1px dashed var(--td-border);border-radius:var(--td-radius-sm);margin:18px}
.legal-empty-state strong{display:block;color:#42515a;font-size:14px;margin-bottom:6px}
.legal-empty-state p{margin:0;font-size:12px;line-height:1.6}

/* 表单消息 */
.form-message{padding:10px 18px;color:var(--td-text-3);font-size:12px;min-height:20px}
.form-message:empty{display:none}

/* 制度文件行（basis file row） */
.td-basis-file-row{display:flex;align-items:center;gap:12px;padding:12px 18px;border-bottom:1px solid var(--td-border-soft)}
.td-basis-file-row:last-child{border-bottom:0}
.td-basis-check{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}
.td-basis-check input{width:16px;height:16px;accent-color:var(--td-primary);cursor:pointer}
.td-basis-file-row .form-select{height:30px;font-size:12px;padding:0 8px}
.td-basis-file-row .form-input{height:30px;font-size:12px;padding:0 10px;width:70px;text-align:center}
.td-basis-save-bar{display:flex;align-items:center;justify-content:space-between;padding:12px 18px;background:#f7fafb;border-top:1px solid var(--td-border-soft);font-size:12px;color:var(--td-text-2)}

/* 保存底部条 */
.td-save-bar{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:14px 18px;background:#fbfdfe;border-top:1px solid var(--td-border-soft)}

/* 输出成果列表 */
.td-output-list{padding:0 18px}
.td-output-row{display:flex;align-items:center;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--td-border-soft)}
.td-output-row:last-child{border-bottom:0}
.td-output-row b{color:var(--td-text);font-size:13px}
.td-output-row span{color:var(--td-text-3);font-size:12px}

/* 三栏复核布局 */
.td-review-layout{display:grid;grid-template-columns:220px 1fr 240px;gap:1px;background:var(--td-border-soft);min-height:400px}
.td-review-layout > aside,.td-review-layout > main{padding:18px;background:#fff}
.td-review-layout aside b{display:block;color:var(--td-text);font-size:13px;margin-bottom:8px}
.td-review-layout aside p{margin:0;color:var(--td-text-3);font-size:12px;line-height:1.6}

/* 响应式 */
@media(max-width:960px){
  .td-stats{grid-template-columns:repeat(2,1fr)}
  .td-two-col{grid-template-columns:1fr}
  .td-basis-grid{grid-template-columns:1fr}
  .td-check-list{grid-template-columns:repeat(2,1fr)}
  .td-info-grid{grid-template-columns:repeat(2,1fr)}
  .td-review-layout{grid-template-columns:1fr}
}
@media(max-width:760px){
  .td-stats{grid-template-columns:1fr}
  .td-law-search{flex-direction:column}
  .td-law-search .form-select{width:100%}
  .td-file-row{flex-wrap:wrap}
  .td-file-action{width:100%;justify-content:flex-end}
}

/* ═══════════════════════════════════════════════════════════════
   Apple-style Edit Page (ap-* namespace)
   参考苹果设计语言：大标题、分组表单、卡片式布局、充足留白
   ═══════════════════════════════════════════════════════════════ */

.ap-edit-container{max-width:1080px;margin:0 auto;padding:0 24px 120px;}

/* 顶部操作栏 */
.ap-toolbar{display:flex;align-items:center;justify-content:space-between;padding:12px 0 20px;position:sticky;top:0;z-index:10;background:linear-gradient(180deg,#f5f5f7 60%,rgba(245,245,247,0));backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);}
.ap-toolbar-right{display:flex;align-items:center;gap:8px;}

/* 按钮 */
.ap-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:36px;padding:0 16px;border:none;border-radius:9px;background:transparent;color:#1d1d1f;font-size:14px;font-weight:500;font-family:inherit;line-height:1;cursor:pointer;transition:all .18s ease;white-space:nowrap;}
.ap-btn:focus-visible{outline:2px solid #007aff;outline-offset:2px;}
.ap-btn:disabled{opacity:.4;cursor:not-allowed;}
.ap-btn-primary{background:#007aff;color:#fff;}
.ap-btn-primary:hover{background:#0066d6;}
.ap-btn-primary:active{background:#0055b0;}
.ap-btn-secondary{background:#e8e8ed;color:#1d1d1f;}
.ap-btn-secondary:hover{background:#dcdce0;}
.ap-btn-ghost{color:#007aff;background:transparent;}
.ap-btn-ghost:hover{background:rgba(0,122,255,.08);}
.ap-btn-sm{height:32px;padding:0 12px;font-size:13px;border-radius:8px;}

/* 页面标题 */
.ap-page-title{display:flex;align-items:flex-start;gap:16px;padding:32px 0 28px;}
.ap-page-title-icon{flex-shrink:0;width:56px;height:56px;border-radius:14px;background:linear-gradient(135deg,#007aff,#5856d6);display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 4px 12px rgba(0,122,255,.25);}
.ap-page-title-text{flex:1;min-width:0;}
.ap-page-title-text h1{margin:0 0 6px;font-size:28px;font-weight:700;color:#1d1d1f;letter-spacing:-.3px;line-height:1.2;}
.ap-page-title-text p{margin:0;font-size:15px;color:#6e6e73;line-height:1.5;}

/* 分组表单 */
.ap-form-groups{display:flex;flex-direction:column;gap:32px;}
.ap-plain-section{padding:0 4px;}
.ap-plain-title{margin:0 0 12px;font-size:15px;font-weight:600;color:#1d1d1f;}
.ap-form-group{margin-bottom:24px;}
.ap-form-group-head{margin-bottom:10px;padding:0;display:flex;align-items:flex-end;justify-content:space-between;gap:16px;}
.ap-form-group-head > div:only-child{flex:1;}
.ap-form-group-head h2{margin:0 0 2px;font-size:20px;font-weight:700;color:#1d1d1f;letter-spacing:-.2px;}
.ap-form-group-head p{margin:0;font-size:13px;color:#8e8e93;line-height:1.4;}
.ap-form-group-body{background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 1px 3px rgba(0,0,0,.04);border:1px solid rgba(0,0,0,.04);}

/* 表单字段 */
.ap-field{padding:14px 18px;border-bottom:1px solid #f0f0f2;}
.ap-field:last-child{border-bottom:none;}
.ap-field-no-border{border-bottom:none;padding-bottom:18px;}
.ap-field-no-border + .ap-field-no-border{padding-top:0;}
.ap-field-full{grid-column:1/-1;}
.ap-field-row{display:grid;grid-template-columns:1fr 1fr;}
.ap-field-row .ap-field{border-right:1px solid #f0f0f2;}
.ap-field-row .ap-field:last-child{border-right:none;}
.ap-field-label{display:block;margin-bottom:6px;font-size:13px;font-weight:500;color:#1d1d1f;}

.ap-input{width:100%;height:36px;padding:0 12px;border:1px solid #d1d1d6;border-radius:8px;background:#fff;color:#1d1d1f;font-size:15px;font-family:inherit;font-weight:400;transition:border-color .18s ease,box-shadow .18s ease;box-sizing:border-box;}
.ap-input:focus{outline:none;border-color:#007aff;box-shadow:0 0 0 3px rgba(0,122,255,.12);}
.ap-input::placeholder{color:#aeaeb2;}
.ap-textarea{height:auto;padding:10px 12px;resize:vertical;line-height:1.5;}

.ap-readonly{height:36px;display:flex;align-items:center;color:#8e8e93;font-size:15px;}

/* Chip 多选 */
.ap-chip-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px;padding:14px;}
.ap-chip{display:flex;align-items:center;gap:8px;height:40px;padding:0 14px;border:1px solid #e5e5ea;border-radius:10px;background:#fff;cursor:pointer;transition:all .18s ease;user-select:none;}
.ap-chip:hover{border-color:#c7c7cc;background:#fafafa;}
.ap-chip input{display:none;}
.ap-chip span{font-size:14px;color:#1d1d1f;font-weight:400;}
.ap-chip.is-on{border-color:#007aff;background:#e8f1ff;}
.ap-chip.is-on span{color:#007aff;font-weight:500;}
.ap-chip-sm{height:32px;padding:0 12px;border-radius:8px;}
.ap-chip-sm span{font-size:13px;}
.ap-chip-inline{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px;}
.ap-chip-file-types{padding:14px 18px 4px;}
.ap-divider{height:1px;background:#f0f0f2;margin:12px 18px;}
.ap-chip-grid + .ap-divider{display:none;}
.ap-form-group-body > .ap-chip-grid{padding:4px 18px 18px;}
.ap-form-group-body > .ap-chip-inline{padding:18px;}

/* 制度依据卡片 */
.ap-basis-groups{display:grid;grid-template-columns:1fr;gap:12px;padding:14px;}
.ap-basis-card{border:1px solid #e5e5ea;border-radius:12px;background:#fafafa;overflow:hidden;transition:border-color .18s ease;}
.ap-basis-card:hover{border-color:#d1d1d6;}
.ap-basis-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid #ebebef;}
.ap-basis-card-head h3{margin:0 0 4px;font-size:15px;font-weight:600;color:#1d1d1f;}
.ap-basis-card-head p{margin:0;font-size:12px;color:#8e8e93;line-height:1.4;}
.ap-basis-list{padding:8px;}

/* 文件行 */
.ap-file-row{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:8px;transition:background-color .15s ease;}
.ap-file-row:hover{background:#f0f0f2;}
.ap-file-icon{flex-shrink:0;width:36px;height:36px;border-radius:8px;background:#e8f1ff;color:#007aff;display:flex;align-items:center;justify-content:center;}
.ap-file-info{flex:1;min-width:0;}
.ap-file-name{font-size:14px;color:#1d1d1f;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.ap-file-meta{font-size:12px;color:#8e8e93;margin-top:2px;}
.ap-file-delete{width:28px;height:28px;border:none;border-radius:6px;background:transparent;color:#8e8e93;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease;}
.ap-file-delete:hover{background:rgba(255,59,48,.1);color:#ff3b30;}

/* 空状态 */
.ap-empty-mini{padding:24px 16px;text-align:center;color:#8e8e93;font-size:13px;}

/* Toggle 开关 */
.ap-toggle-row{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;cursor:pointer;}
.ap-toggle-title{font-size:15px;color:#1d1d1f;font-weight:500;}
.ap-toggle-desc{font-size:12px;color:#8e8e93;margin-top:3px;}
.ap-toggle{position:relative;width:51px;height:31px;border-radius:999px;background:#e5e5ea;transition:background-color .25s ease;flex-shrink:0;}
.ap-toggle.is-on{background:#34c759;}
.ap-toggle-knob{position:absolute;top:2px;left:2px;width:27px;height:27px;border-radius:50%;background:#fff;box-shadow:0 2px 4px rgba(0,0,0,.15),0 1px 2px rgba(0,0,0,.1);transition:transform .25s cubic-bezier(.4,.0,.2,1);}
.ap-toggle.is-on .ap-toggle-knob{transform:translateX(20px);}
.ap-review-scopes{padding:0 18px}.ap-review-scope-row{display:flex;align-items:center;gap:16px;padding:16px 0;border-bottom:1px solid #edf0f2;cursor:pointer}.ap-review-scope-row:last-child{border-bottom:0}.ap-review-scope-row>span:first-child{min-width:0;flex:1}.ap-review-scope-row strong,.ap-review-scope-row small{display:block}.ap-review-scope-row strong{font-size:15px;color:#1d1d1f}.ap-review-scope-row small{margin-top:4px;font-size:12px;line-height:1.5;color:#8e8e93}.ap-review-scope-input{position:absolute;opacity:0;pointer-events:none}.ap-review-scope-input:focus-visible+.ap-toggle{outline:3px solid rgba(138,188,209,.4);outline-offset:2px}
.ap-annotation-settings{padding:18px}.ap-annotation-settings .ap-field{padding:0}.ap-annotation-settings .ap-field+.ap-field{margin-top:18px}.ap-annotation-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.ap-annotation-option{display:flex;align-items:flex-start;gap:12px;padding:16px;border:1px solid #dce3e8;border-radius:12px;background:#fff;cursor:pointer;transition:border-color .18s,box-shadow .18s,background .18s}.ap-annotation-option:has(input:checked){border-color:#8abcd1;background:#f3f9fb;box-shadow:0 0 0 3px rgba(138,188,209,.15)}.ap-annotation-option input{width:17px;height:17px;margin:2px 0 0;accent-color:#4b8ca5}.ap-annotation-option strong,.ap-annotation-option small{display:block}.ap-annotation-option strong{font-size:14px;color:#1d1d1f}.ap-annotation-option small{margin-top:5px;color:#7b8790;line-height:1.5}

/* 底部操作栏 */
.ap-bottom-bar{position:fixed;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:12px 24px;background:rgba(255,255,255,.82);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-top:1px solid rgba(0,0,0,.06);z-index:20;}
.ap-bottom-bar .ap-btn-primary{height:40px;padding:0 22px;font-size:15px;font-weight:600;}

/* 消息提示 */
.ap-form-message{display:none;position:fixed;top:60px;left:50%;transform:translateX(-50%);padding:10px 18px;border-radius:10px;font-size:14px;font-weight:500;z-index:100;box-shadow:0 8px 24px rgba(0,0,0,.12);}
.ap-form-message.is-success{background:#34c759;color:#fff;}
.ap-form-message.is-error{background:#ff3b30;color:#fff;}
.ap-form-message.is-info{background:#1d1d1f;color:#fff;}

/* 加载 / 错误 */
.ap-loading{padding:80px 20px;text-align:center;color:#8e8e93;font-size:15px;}
.ap-error{padding:40px 20px;text-align:center;color:#ff3b30;font-size:14px;}

/* 响应式 */
@media(max-width:760px){
  .ap-edit-container{padding:0 16px 100px;}
  .ap-page-title{padding:24px 0 20px;}
  .ap-page-title-text h1{font-size:24px;}
  .ap-form-group-head h2{font-size:18px;}
  .ap-chip-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));}
  .ap-field-row{grid-template-columns:1fr;}
  .ap-field-row .ap-field{border-right:none;}
  .ap-bottom-bar{padding:10px 16px;}
}

.ap-basis-card-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.ap-basis-folder-filter{width:132px;height:32px;padding:0 9px;font-size:12px}
.ap-basis-file-folder{width:116px;height:32px;padding:0 8px;font-size:12px;flex:none}
.ap-basis-card .ap-file-row{gap:10px}
.ap-basis-card .ap-file-info{min-width:0;flex:1}
.ap-basis-file-check{width:16px;height:16px;accent-color:var(--td-primary);flex:none}
.ap-btn-danger{color:#b42318;border-color:#f1b7b2;background:#fff}
@media (max-width:760px){.ap-basis-card-actions{width:100%}.ap-basis-folder-filter{flex:1}.ap-basis-card .ap-file-row{flex-wrap:wrap}.ap-basis-file-folder{margin-left:38px;width:calc(100% - 76px)}}

/* ===== 苹果风格：文件管理器 ===== */
.ap-file-manager{display:flex;height:560px;overflow:hidden;}
.ap-file-sidebar{width:220px;flex-shrink:0;background:#fafafa;border-right:1px solid #e5e5ea;display:flex;flex-direction:column;overflow-y:auto;}
.ap-file-sidebar-section{padding:12px 0;}
.ap-file-sidebar-title{display:flex;align-items:center;justify-content:space-between;padding:0 16px 8px;font-size:11px;font-weight:600;color:#8e8e93;text-transform:uppercase;letter-spacing:.5px;}
.ap-file-sidebar-item{display:flex;align-items:center;gap:8px;padding:7px 16px;cursor:pointer;transition:background-color .15s ease;font-size:13px;color:#1d1d1f;user-select:none;}
.ap-file-sidebar-item:hover{background:#ebebef;}
.ap-file-sidebar-item.is-active{background:#007aff;color:#fff;}
.ap-file-sidebar-item.is-active .ap-file-sidebar-count{color:rgba(255,255,255,.7);}
.ap-file-sidebar-icon{font-size:14px;width:18px;text-align:center;flex-shrink:0;}
.ap-file-sidebar-name{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.ap-file-sidebar-count{font-size:12px;color:#8e8e93;font-weight:500;}
.ap-folder-add{width:20px;height:20px;border:none;border-radius:5px;background:transparent;color:#8e8e93;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease;}
.ap-folder-add:hover{background:rgba(0,0,0,.08);color:#1d1d1f;}
.ap-file-main{flex:1;display:flex;flex-direction:column;min-width:0;}
.ap-file-toolbar{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid #f0f0f2;background:#fff;flex-shrink:0;}
.ap-file-toolbar-left{display:flex;align-items:center;gap:10px;}
.ap-file-toolbar-right{display:flex;align-items:center;gap:6px;}
.ap-file-count{font-size:13px;color:#8e8e93;}
.ap-select-count{font-size:13px;color:#1d1d1f;font-weight:500;}
.ap-btn-danger{color:#ff3b30;background:rgba(255,59,48,.1);}
.ap-btn-danger:hover{background:rgba(255,59,48,.18);}
.ap-file-list-area{flex:1;overflow-y:auto;background:#fff;position:relative;}
.ap-file-list-area.is-drag-over{background:#e8f1ff;}
.ap-file-list-area.is-drag-over::after{content:'';position:absolute;inset:20px;border:2px dashed #007aff;border-radius:12px;pointer-events:none;}
.ap-file-list{padding:4px 0;}
.ap-file-row{display:flex;align-items:center;gap:12px;padding:8px 14px;cursor:pointer;transition:background-color .12s ease;position:relative;}
.ap-file-row:hover{background:#f5f5f7;}
.ap-file-row.is-selected{background:#e8f1ff;}
.ap-file-row.is-selected:hover{background:#d6e8ff;}
.ap-file-check-col{flex-shrink:0;width:20px;}
.ap-file-check{width:18px;height:18px;border:1.5px solid #d1d1d6;border-radius:5px;display:flex;align-items:center;justify-content:center;background:#fff;transition:all .15s ease;}
.ap-file-check.is-checked{background:#007aff;border-color:#007aff;color:#fff;}
.ap-file-icon{flex-shrink:0;width:36px;height:36px;border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;letter-spacing:-.3px;}
.ap-file-info{flex:1;min-width:0;}
.ap-file-name{font-size:14px;color:#1d1d1f;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.ap-file-meta{font-size:12px;color:#8e8e93;margin-top:2px;}
.ap-file-status{flex-shrink:0;font-size:12px;font-weight:500;padding:3px 8px;border-radius:6px;}
.ap-status-ready{color:#34c759;background:rgba(52,199,89,.12);}
.ap-status-processing{color:#ff9500;background:rgba(255,149,0,.12);}
.ap-status-uploading{color:#007aff;background:rgba(0,122,255,.12);}
.ap-file-actions{display:flex;align-items:center;gap:2px;flex-shrink:0;opacity:0;transition:opacity .15s ease;}
.ap-file-row:hover .ap-file-actions{opacity:1;}
.ap-file-action-btn{width:28px;height:28px;border:none;border-radius:6px;background:transparent;color:#8e8e93;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease;}
.ap-file-action-btn:hover{background:#e5e5ea;color:#1d1d1f;}
.ap-file-action-danger:hover{background:rgba(255,59,48,.12);color:#ff3b30;}
.ap-file-progress{width:100%;height:4px;background:#e5e5ea;border-radius:2px;overflow:hidden;margin-top:6px;}
.ap-file-progress-bar{height:100%;background:#007aff;border-radius:2px;transition:width .3s ease;}
.ap-drop-hint{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center;}
.ap-drop-icon{width:72px;height:72px;border-radius:18px;background:#f0f0f2;color:#8e8e93;display:flex;align-items:center;justify-content:center;margin-bottom:16px;}
.ap-drop-title{font-size:16px;font-weight:600;color:#1d1d1f;margin-bottom:6px;}
.ap-drop-desc{font-size:13px;color:#8e8e93;margin-bottom:12px;}
.ap-drop-formats{font-size:12px;color:#aeaeb2;}
@media(max-width:760px){
  .ap-file-manager{height:420px;}
  .ap-file-sidebar{width:160px;}
}

/* ===== 苹果风格：弹窗 Sheet ===== */
.ap-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,0);z-index:200;display:flex;align-items:center;justify-content:center;transition:background-color .25s ease;pointer-events:none;}
.ap-modal-overlay.is-visible{background:rgba(0,0,0,.4);pointer-events:auto;}
.ap-modal-sheet{width:420px;max-width:90vw;background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.25);transform:scale(.92);opacity:0;transition:all .25s cubic-bezier(.4,.0,.2,1);}
.ap-modal-overlay.is-visible .ap-modal-sheet{transform:scale(1);opacity:1;}
.ap-modal-sheet-head{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid #f0f0f2;}
.ap-modal-sheet-cancel{border:none;background:transparent;color:#007aff;font-size:15px;font-weight:400;cursor:pointer;padding:4px 8px;border-radius:6px;font-family:inherit;}
.ap-modal-sheet-cancel:hover{background:rgba(0,122,255,.1);}
.ap-modal-sheet-title{font-size:16px;font-weight:600;color:#1d1d1f;}
.ap-modal-sheet-done{border:none;background:transparent;color:#007aff;font-size:15px;font-weight:600;cursor:pointer;padding:4px 8px;border-radius:6px;font-family:inherit;opacity:.4;}
.ap-modal-sheet-done.is-active{opacity:1;}
.ap-modal-sheet-done:hover:not(:disabled){background:rgba(0,122,255,.1);}
.ap-modal-sheet-body{max-height:60vh;overflow-y:auto;padding:8px 0;}

/* 文件夹选择器 */
.ap-folder-picker-item{display:flex;align-items:center;gap:12px;padding:12px 18px;cursor:pointer;transition:background-color .15s ease;}
.ap-folder-picker-item:hover{background:#f5f5f7;}
.ap-folder-picker-item.is-selected{background:#e8f1ff;}
.ap-folder-picker-icon{font-size:18px;width:24px;text-align:center;flex-shrink:0;}
.ap-folder-picker-name{flex:1;font-size:15px;color:#1d1d1f;}
.ap-folder-picker-check{width:20px;height:20px;border-radius:50%;border:1.5px solid #d1d1d6;flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:all .15s ease;}
.ap-folder-picker-item.is-selected .ap-folder-picker-check{background:#007aff;border-color:#007aff;}
.ap-folder-picker-item.is-selected .ap-folder-picker-check::after{content:'';width:10px;height:6px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(-45deg) translate(1px,-1px);}
.ap-folder-picker-empty{padding:24px 18px;text-align:center;color:#8e8e93;font-size:14px;}

/* 文件列表表头 */
.ap-file-header{display:flex;align-items:center;gap:12px;padding:8px 14px 6px;font-size:12px;font-weight:600;color:#8e8e93;border-bottom:1px solid #f0f0f2;background:#fafafa;position:sticky;top:0;z-index:1;}
.ap-file-header-index{width:32px;text-align:center;flex-shrink:0;}
.ap-file-header-name{flex:1;}
.ap-file-header-status{width:64px;text-align:center;flex-shrink:0;}
.ap-file-header-actions{width:56px;text-align:center;flex-shrink:0;}
.ap-file-index{width:32px;text-align:center;font-size:13px;color:#8e8e93;font-weight:500;flex-shrink:0;}
.legal-review-summary{margin:16px 0;padding:14px 16px;border:1px solid #e2e8ec;border-radius:12px;background:#f8fafb;color:#334155;font-size:13px;line-height:1.6}
.legal-contract-review-intro{margin:0 0 18px}.legal-contract-review-intro h2{margin:0 0 8px;font-size:22px;color:#1f3845}.legal-contract-review-intro p{margin:0;color:#596772;font-size:14px;line-height:1.6}.legal-review-upload-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:18px}.legal-review-panel{padding:16px 18px;border:1px solid #e2e8ec;border-radius:12px;background:#fff}.legal-review-panel h3{margin:0 0 6px;font-size:16px;color:#1f3845}.legal-review-hint{margin:0 0 12px;color:#8a97a3;font-size:12px}.legal-review-file-name,.legal-review-file-item{margin-top:10px;color:#334155;font-size:13px;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.legal-review-folder-hint{margin-top:8px;color:#64748b;font-size:12px;line-height:1.6}.legal-review-folder-hint code{font-size:12px;background:#f1f5f9;padding:2px 6px;border-radius:4px}.legal-review-output-panel{margin-bottom:18px}.legal-review-file-empty{margin-top:10px;color:#94a3b8;font-size:13px}.legal-review-actions{display:grid;gap:12px;margin-bottom:18px}.legal-review-position span{display:block;margin-bottom:6px;font-size:12px;color:#596772}.legal-review-action-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.legal-risk-desc{margin-bottom:6px;color:#1f3845;line-height:1.55}.legal-risk-suggestion{color:#8a2524;font-size:13px;line-height:1.5}.legal-review-warnings,.legal-review-error{margin-top:8px;font-size:13px;line-height:1.5}.legal-review-error{color:#b42318}@media(max-width:900px){.legal-review-upload-grid{grid-template-columns:1fr}}

/* 工商企业自动联想选择器 */
.enterprise-picker{position:relative;}
.enterprise-suggestions{position:absolute;z-index:30;left:0;right:0;top:calc(100% + 4px);max-height:280px;overflow:auto;background:#fff;border:1px solid #d6d6dc;border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,.12);padding:4px;}
.enterprise-suggestion{display:flex;width:100%;flex-direction:column;align-items:flex-start;gap:4px;border:0;border-radius:7px;background:#fff;padding:10px 12px;text-align:left;cursor:pointer;font:inherit;}
.enterprise-suggestion:hover{background:#f0f7ff;}
.enterprise-suggestion strong{color:#1d1d1f;font-size:14px;font-weight:600;}
.enterprise-suggestion span{color:#636366;font-size:12px;line-height:1.4;}
.enterprise-suggestion-loading,.enterprise-suggestion-empty{padding:12px;color:#636366;font-size:13px;line-height:1.5;}
.enterprise-selection-hint{margin-top:5px;color:#8e8e93;font-size:12px;line-height:1.4;}
.register-type-options{display:flex;gap:18px;align-items:center}.register-type-options label{display:flex;gap:7px;align-items:center;color:#33414a;font-size:13px}.enterprise-register-picker{position:relative}.enterprise-register-suggestions{position:absolute;z-index:40;left:0;right:0;top:calc(100% + 4px);max-height:260px;overflow:auto;background:#fff;border:1px solid #d6dfe3;border-radius:9px;box-shadow:0 8px 24px rgba(0,0,0,.12);padding:4px}.enterprise-register-suggestions button{display:flex;width:100%;flex-direction:column;align-items:flex-start;gap:4px;border:0;border-radius:7px;background:#fff;padding:10px 12px;text-align:left;cursor:pointer;font:inherit}.enterprise-register-suggestions button:hover{background:#f1f7f9}.enterprise-register-suggestions strong{color:#24323a;font-size:13px}.enterprise-register-suggestions span,.enterprise-register-loading,.enterprise-register-empty{color:#71808d;font-size:12px;line-height:1.5}.enterprise-register-loading,.enterprise-register-empty{padding:10px}.field-hint{margin-top:5px;color:#7d8b94;font-size:12px;line-height:1.5}
.enterprise-register-field[hidden]{display:none!important}.field-hint{display:none!important}
.profile-danger-card{border-color:#f0d8d4}.profile-danger-copy{margin:0;color:#7b5b57;font-size:12px;line-height:1.7}.profile-danger-actions{display:flex;align-items:center;gap:16px;margin-top:18px}.profile-danger-actions .profile-form-message{margin-right:auto}.profile-danger-actions .danger-button{padding:9px 14px}.danger-button:disabled{opacity:.55;cursor:not-allowed}

/* 企业/个人空间 */
.space-page{max-width:1120px;margin:0 auto}.space-hero{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;padding:8px 0 26px}.space-eyebrow{color:#718096;font-size:13px;margin-bottom:8px}.space-hero h1{margin:0;color:#172033;font-size:30px}.space-hero p{margin:10px 0 0;color:#728096}.space-scope-badge{padding:9px 14px;border:1px solid #b9d8ff;border-radius:18px;background:#f3f8ff;color:#2474c6;font-size:14px;white-space:nowrap}.space-card{background:#fff;border:1px solid #e1e8f0;border-radius:14px;box-shadow:0 4px 16px rgba(35,60,90,.05);padding:24px}.space-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px}.space-toolbar h2{margin:0;color:#1e293b;font-size:20px}.space-toolbar p{margin:8px 0 0;color:#7a8799;font-size:13px}.space-toolbar-actions{display:flex;gap:10px}.space-sharing-note{display:flex;align-items:center;gap:10px;margin:22px 0 16px;padding:13px 16px;background:#f2f8ff;border-left:3px solid #4b9be8;color:#49627e;font-size:14px}.space-note-icon{display:inline-flex;width:20px;height:20px;border-radius:50%;align-items:center;justify-content:center;background:#358fd8;color:#fff;font-size:13px}.space-file-list{border:1px solid #e6ebf2;border-radius:10px;overflow:hidden}.space-file-row{display:flex;align-items:center;gap:18px;padding:16px;border-bottom:1px solid #edf1f5}.space-file-row:last-child{border-bottom:0}.space-file-main{display:flex;align-items:center;gap:12px;min-width:0;flex:1}.space-file-icon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:8px;background:#edf5ff;color:#2d81cc;font-size:14px;flex:none}.space-file-main strong{display:block;max-width:430px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#26364a;font-size:14px}.space-file-main small{display:block;margin-top:6px;color:#8a96a5;font-size:12px}.space-file-status{color:#32936c;font-size:13px;white-space:nowrap}.space-file-actions{display:flex;gap:8px}.space-file-actions button{padding:7px 12px;font-size:13px}.space-empty{text-align:center;padding:54px 20px;color:#8490a0}.space-empty-icon{margin:auto;width:44px;height:44px;border-radius:50%;background:#edf5ff;color:#559bd5;font-size:28px;line-height:42px}.space-empty h3{margin:14px 0 6px;color:#475569;font-size:16px}.space-empty p{margin:0;font-size:13px}.space-error{text-align:center;padding:70px 20px}.space-error h2{margin:0 0 10px;color:#334155}.space-error p{color:#b04b42;margin:0 0 18px}@media (max-width:720px){.space-hero,.space-toolbar{display:block}.space-scope-badge{display:inline-block;margin-top:16px}.space-toolbar-actions{margin-top:16px}.space-file-row{align-items:flex-start;flex-wrap:wrap}.space-file-status{margin-left:48px}.space-file-actions{margin-left:48px}.space-file-main{width:calc(100% - 0px)}}
.space-module-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:18px}.space-module-card{display:grid;gap:7px;min-height:128px;padding:18px;text-align:left;border:1px solid #dce5ed;border-radius:12px;background:#fff;color:#26364a;cursor:pointer;box-shadow:0 2px 8px rgba(35,60,90,.035)}.space-module-card:hover{border-color:#8abcd1;background:#f8fcfd}.space-module-card.is-active{border-color:#3f88a3;box-shadow:0 0 0 2px rgba(63,136,163,.12);background:#f3f9fb}.space-module-card span{font-size:15px;font-weight:700}.space-module-card small{color:#71808f;font-size:12px;line-height:1.55}.space-module-card b{align-self:end;color:#3f88a3;font-size:12px}.space-file-protected{align-self:center;color:#89959f;font-size:12px;white-space:nowrap}@media(max-width:850px){.space-module-grid{grid-template-columns:1fr}} 
.space-hero-compact{padding:4px 0 16px}.space-hero-compact h1{font-size:26px}.space-hero-compact p{margin-top:6px;font-size:12px}.space-page .space-module-grid{display:flex;align-items:center;gap:4px;margin:0 0 14px;padding:0;border-bottom:1px solid #dce5ed}.space-page .space-module-card{display:inline-flex;align-items:center;gap:7px;min-height:42px;padding:0 14px;border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;box-shadow:none}.space-page .space-module-card:hover{border-bottom-color:#8abcd1;background:transparent}.space-page .space-module-card.is-active{border-bottom-color:#3f88a3;background:transparent;box-shadow:none;color:#245b70}.space-page .space-module-card span{font-size:13px;font-weight:600}.space-page .space-module-card b{align-self:auto;min-width:20px;padding:1px 6px;border-radius:10px;background:#edf4f6;color:#3f88a3;font-size:11px;text-align:center}.space-page .space-card{padding:20px}.space-page .space-toolbar{padding-bottom:14px}.space-page .space-toolbar h2{font-size:17px}.space-page .space-toolbar p{margin-top:4px;font-size:12px}.space-page .space-file-list{margin-top:0}@media(max-width:650px){.space-page .space-module-grid{overflow-x:auto}.space-page .space-module-card{flex:none;padding:0 10px}}
.profile-organization-code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.02em}
.profile-user-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 20px;margin:0 0 18px;padding:16px;background:#f8fafc;border:1px solid #e5ebf0;border-radius:10px}
.profile-user-summary>div{display:flex;justify-content:space-between;align-items:center;gap:12px;min-width:0}
.profile-user-summary span{color:#7b8794;font-size:12px}
.profile-user-summary strong{overflow:hidden;color:#26323c;font-size:13px;text-align:right;text-overflow:ellipsis;white-space:nowrap}
.profile-user-summary .profile-user-id,.profile-user-summary .profile-user-phone{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}
@media(max-width:720px){.profile-user-summary{grid-template-columns:1fr}}

/* 个人资料：精简身份信息，使用客户端蓝绿色主题。 */
.profile-page-v2{max-width:960px;margin:0 auto;padding:10px 0 26px}.profile-page-v2-head{margin:0 0 20px}.profile-page-v2-head span{display:block;color:#5a94a8;font-size:12px;font-weight:700;letter-spacing:.08em}.profile-page-v2-head h1{margin:7px 0 6px;color:#1a3540;font-size:28px;letter-spacing:-.035em}.profile-page-v2-head p{margin:0;color:#71808d;font-size:13px}.profile-identity-v2{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 26px;border:1px solid #d5e6ea;border-radius:18px;background:linear-gradient(135deg,#f6fcfd 0%,#fff 62%);box-shadow:0 10px 28px rgba(54,108,125,.08)}.profile-identity-v2-main{display:flex;align-items:center;min-width:0;gap:15px}.profile-avatar-v2{display:grid;width:58px;height:58px;flex:0 0 58px;place-items:center;border-radius:18px;background:linear-gradient(145deg,#9ed3df,#72b1c5);box-shadow:inset 0 1px 0 rgba(255,255,255,.55),0 6px 14px rgba(74,126,140,.18);color:#173b63;font-size:23px;font-weight:750}.profile-identity-v2 h2{margin:0;color:#1f2a30;font-size:19px;letter-spacing:-.02em}.profile-identity-v2 p{margin:5px 0 0;color:#74818a;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-verified-v2{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border:1px solid #d9ece5;border-radius:999px;background:#f2faf6;color:#31785c;font-size:12px;white-space:nowrap}.profile-verified-v2 i{width:6px;height:6px;border-radius:50%;background:#2fa36b}.profile-v2-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(280px,.92fr);gap:16px;margin-top:16px}.profile-v2-card{padding:22px 23px;border:1px solid #dce8eb;border-radius:16px;background:#fff;box-shadow:0 5px 18px rgba(54,108,125,.045)}.profile-v2-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-bottom:17px;border-bottom:1px solid #edf3f4}.profile-v2-card-heading h2{margin:0;color:#26323c;font-size:16px}.profile-v2-card-heading p{margin:5px 0 0;color:#7b8992;font-size:12px;line-height:1.6}.profile-v2-form{display:grid;gap:14px;margin-top:18px}.profile-v2-form label{display:grid;gap:7px;color:#5d6d77;font-size:12px}.profile-v2-form input{box-sizing:border-box;width:100%;height:44px;padding:0 12px;border:1px solid #cbdde2;border-radius:10px;background:#fbfdfd;color:#26323c;font:inherit;font-size:14px;outline:0;transition:border-color .15s,box-shadow .15s}.profile-v2-form input:focus{border-color:#6aa9bb;box-shadow:0 0 0 3px rgba(138,188,209,.2)}.profile-v2-form-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:2px}.profile-v2-form-actions span{margin-right:auto;color:#367b67;font-size:12px}.profile-v2-form-actions .primary-button{min-width:96px;background:#4b879b;border-color:#4b879b;box-shadow:0 5px 12px rgba(74,126,140,.18)}.profile-v2-form-actions .primary-button:hover{background:#3d7487;border-color:#3d7487}.profile-v2-link{border:0;background:transparent;color:#4a7e8c;font:inherit;font-size:12px;cursor:pointer}.profile-v2-link:hover{color:#245b70}.profile-workspace-v2-row{display:flex;align-items:center;gap:12px;margin-top:18px;padding:13px 0 0;border:0;background:transparent;cursor:pointer}.profile-workspace-v2-row:hover strong{color:#3d7487}.profile-workspace-v2-row:focus-visible{outline:2px solid #8abcd1;outline-offset:5px;border-radius:8px}.profile-workspace-v2-icon{display:grid;width:36px;height:36px;flex:0 0 36px;place-items:center;border-radius:11px;background:#eef6f8;color:#4a7e8c;font-size:14px;font-weight:700}.profile-workspace-v2-row div:nth-child(2){min-width:0;flex:1}.profile-workspace-v2-row strong,.profile-workspace-v2-row small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-workspace-v2-row strong{color:#2f3b44;font-size:13px}.profile-workspace-v2-row small{margin-top:5px;color:#81909a;font-size:11px}.profile-workspace-v2-row>span{color:#8ba0a8;font-size:21px;line-height:1}@media(max-width:780px){.profile-v2-grid{grid-template-columns:1fr}.profile-identity-v2{padding:21px}.profile-page-v2-head h1{font-size:25px}}@media(max-width:520px){.profile-identity-v2{align-items:flex-start;flex-direction:column;gap:14px}.profile-verified-v2{margin-left:73px;margin-top:-29px}.profile-v2-card{padding:19px}.profile-page-v2-head{margin-bottom:16px}}

.profile-account-v3{padding:24px 26px}.profile-account-v3-body{display:flex;gap:21px;margin-top:20px}.profile-account-v3-content{min-width:0;flex:1}.profile-account-v3-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px}.profile-account-v3-grid>div{display:flex;align-items:center;justify-content:space-between;gap:14px;min-width:0;padding:11px 0;border-bottom:1px solid #edf3f4}.profile-account-v3-grid span{color:#7b8992;font-size:12px;white-space:nowrap}.profile-account-v3-grid strong{overflow:hidden;color:#2e3a43;font-size:13px;font-weight:600;text-align:right;text-overflow:ellipsis;white-space:nowrap}.profile-account-v3-code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.02em}.profile-account-v3-form{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:16px;margin-top:20px}.profile-account-v3-form .profile-v2-form-actions{min-width:120px;margin:0}.profile-account-v3-form .profile-v2-form-actions span{position:absolute;transform:translateY(25px);white-space:nowrap}.profile-account-v3-settings{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:14px;padding:0 4px;color:#81909a;font-size:12px}.profile-account-v3-settings .profile-v2-link{white-space:nowrap;font-weight:600}@media(max-width:720px){.profile-account-v3{padding:21px}.profile-account-v3-body{align-items:flex-start;flex-direction:column;gap:14px}.profile-account-v3-grid{grid-template-columns:1fr}.profile-account-v3-form{grid-template-columns:1fr}.profile-account-v3-form .profile-v2-form-actions{width:100%}.profile-account-v3-form .profile-v2-form-actions span{position:static;transform:none}.profile-account-v3-settings{align-items:flex-start;flex-direction:column;gap:8px}}
.workspace-shell .user-profile-entry>div:last-child{min-width:0;align-self:center}.workspace-shell .user-profile-entry strong{max-width:none;overflow:visible;text-overflow:clip;white-space:nowrap;line-height:1}.workspace-shell .sidebar-footer{height:auto;min-height:56px}


/* 个人资料主页：参考轻量账户主页布局，减少后台卡片感。 */
.profile-page-v3{max-width:980px;margin:0 auto;padding:12px 0 34px}.profile-v3-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;border-bottom:1px solid #e4edef;padding:0 0 18px}.profile-v3-toolbar span{color:#5a94a8;font-size:12px;font-weight:700;letter-spacing:.06em}.profile-v3-toolbar h1{margin:6px 0 0;color:#173b63;font-size:25px;letter-spacing:-.035em}.profile-v3-actions{display:flex;gap:8px}.profile-v3-actions button{height:34px;padding:0 13px;border:1px solid #cfe1e5;border-radius:9px;background:#fff;color:#3d7487;font:inherit;font-size:12px;cursor:pointer}.profile-v3-actions button:hover{border-color:#7eb5c4;background:#f3fafb}.profile-v3-identity{display:flex;align-items:center;justify-content:center;gap:24px;padding:44px 20px 38px}.profile-avatar-v3{display:grid;width:88px;height:88px;place-items:center;border-radius:50%;background:linear-gradient(145deg,#b4dde4,#72b1c5);box-shadow:inset 0 1px 0 rgba(255,255,255,.65),0 8px 18px rgba(74,126,140,.17);color:#173b63;font-size:34px;font-weight:750}.profile-v3-name-form{display:grid;min-width:300px;gap:6px}.profile-v3-name-form label{color:#7b8992;font-size:11px}.profile-v3-name-form input{height:39px;padding:0 2px;border:0;border-bottom:1px solid #cbdde2;border-radius:0;background:transparent;color:#1f2a30;font:inherit;font-size:23px;font-weight:600;outline:0}.profile-v3-name-form input:focus{border-bottom-color:#5a94a8;box-shadow:0 2px 0 rgba(90,148,168,.2)}.profile-v3-email{display:flex;align-items:center;gap:9px;color:#74818a;font-size:13px}.profile-v3-status{display:inline-flex;align-items:center;gap:5px;padding:3px 7px;border:1px solid #d9ece5;border-radius:999px;background:#f2faf6;color:#31785c;font-size:10px}.profile-v3-status i{width:5px;height:5px;border-radius:50%;background:#2fa36b}.profile-v3-name-actions{display:flex;align-items:center;gap:10px;margin-top:8px}.profile-v3-name-actions span{min-height:18px;color:#367b67;font-size:11px}.profile-v3-name-actions .primary-button{height:31px;padding:0 12px;margin-left:auto;background:#4b879b;border-color:#4b879b;font-size:11px}.profile-v3-info{border:1px solid #e0eaed;border-radius:16px;background:rgba(255,255,255,.75);box-shadow:0 6px 18px rgba(54,108,125,.035)}.profile-v3-info-head{display:flex;align-items:baseline;justify-content:space-between;gap:20px;padding:19px 22px 14px;border-bottom:1px solid #edf3f4}.profile-v3-info-head h2{margin:0;color:#26323c;font-size:16px}.profile-v3-info-head p{margin:0;color:#8a98a1;font-size:11px}.profile-v3-info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:4px 22px 9px}.profile-v3-info-grid>div{display:flex;align-items:center;justify-content:space-between;gap:16px;min-width:0;padding:13px 0;border-bottom:1px solid #edf3f4}.profile-v3-info-grid>div:nth-last-child(-n+2){border-bottom:0}.profile-v3-info-grid span{color:#7b8992;font-size:12px;white-space:nowrap}.profile-v3-info-grid strong{overflow:hidden;color:#2e3a43;font-size:13px;font-weight:600;text-align:right;text-overflow:ellipsis;white-space:nowrap}.profile-v3-enterprise{grid-column:1/-1}.profile-v3-enterprise strong{max-width:75%}.profile-v3-footer{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:17px;color:#8a98a1;font-size:11px}.profile-v3-footer button{border:0;background:transparent;color:#4a7e8c;font:inherit;font-weight:650;cursor:pointer}.profile-v3-footer button:hover{color:#245b70}.profile-v3-footer b{font-size:16px;vertical-align:-1px}@media(max-width:650px){.profile-page-v3{padding-top:4px}.profile-v3-toolbar{align-items:flex-start;flex-direction:column}.profile-v3-actions{width:100%}.profile-v3-actions button{flex:1}.profile-v3-identity{align-items:center;flex-direction:column;gap:16px;padding:32px 10px}.profile-v3-name-form{width:min(100%,340px);min-width:0}.profile-v3-name-form input{text-align:center}.profile-v3-email,.profile-v3-name-actions{justify-content:center}.profile-v3-name-actions .primary-button{margin-left:0}.profile-v3-info-head{align-items:flex-start;flex-direction:column;gap:5px}.profile-v3-info-grid{grid-template-columns:1fr;padding-left:17px;padding-right:17px}.profile-v3-info-grid>div:nth-last-child(-n+2){border-bottom:1px solid #edf3f4}.profile-v3-info-grid>div:last-child{border-bottom:0}.profile-v3-enterprise{grid-column:auto}.profile-v3-enterprise strong{max-width:65%}.profile-v3-footer{align-items:flex-start;flex-direction:column}}

/* 个人资料表格对齐修正。 */
.profile-page-v3{max-width:900px;padding-top:28px}.profile-v3-identity{padding:46px 20px 42px}.profile-v3-info-grid{column-gap:38px}.profile-v3-info-grid>div{min-height:48px;padding:14px 0}.profile-v3-info-grid>div:nth-child(even){padding-left:26px;border-left:1px solid #edf3f4}.profile-v3-info-grid>div.profile-v3-enterprise{padding-left:0;border-left:0;grid-column:auto}.profile-v3-info-grid span{min-width:72px;color:#1f2a30;font-weight:600}.profile-v3-info-grid strong{flex:1}.profile-v3-phone-input{box-sizing:border-box;min-width:0;flex:1;height:32px;padding:0 2px;border:0;border-bottom:1px solid transparent;border-radius:0;background:transparent;color:#2e3a43;font:inherit;font-size:13px;font-weight:600;text-align:right;outline:none}.profile-v3-phone-input:hover,.profile-v3-phone-input:focus{border-bottom-color:#5a94a8}.profile-v3-phone-input::placeholder{color:#9aa4ab;font-weight:500}.profile-v3-footer{margin-top:16px}
.profile-avatar-v3{width:112px;height:112px;padding:0;border:0}
.profile-avatar-v3:has(img){background:transparent;box-shadow:none}
.profile-avatar-v3 img{display:block;width:100%;height:100%;object-fit:cover}

/* ========================================================
   Google Material 3 风格 · 现代化订单与订阅中心设计系统
   ======================================================== */
.billing-page-container{max-width:1160px;margin:0 auto;padding:24px 20px 84px;color:#1e293b;box-sizing:border-box}
.billing-scope-hint{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 18px;padding:12px 16px;border-radius:12px;background:#eff6ff;border:1px solid #bfdbfe;color:#1d4ed8;font-size:13px}
.billing-scope-hint .billing-btn-secondary{padding:6px 12px;font-size:12px}

/* Header & Subject Segmented Controls */
.billing-header{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding-bottom:20px;border-bottom:1px solid #e2e8f0}
.billing-header-main{min-width:0;flex:1}
.billing-header-badge{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;background:#f1f5f9;color:#475569;font-size:11px;font-weight:600;letter-spacing:.02em;margin-bottom:8px}
.billing-header-badge .billing-badge-dot{width:6px;height:6px;border-radius:50%;background:#0284c7}
.billing-header-badge.is-enterprise .billing-badge-dot{background:#d97706}
.billing-header-badge.is-enterprise{background:#fef3c7;color:#92400e}
.billing-title{margin:0 0 6px;color:#0f172a;font-size:24px;font-weight:700;letter-spacing:-.025em;line-height:1.25}
.billing-account-label{margin:0;color:#0f172a;font-size:20px;font-weight:700;letter-spacing:-.02em;line-height:1.3}
.billing-subtitle{margin:0;color:#64748b;font-size:13px;line-height:1.5}
.billing-subtitle strong{color:#1e293b;font-weight:600}

/* Segmented Switch */
.billing-mode-segmented{display:inline-flex;gap:4px;padding:4px;border:1px solid #e2e8f0;border-radius:12px;background:#f8fafc;box-shadow:inset 0 1px 2px rgba(0,0,0,.03)}
.billing-segmented-btn{display:inline-flex;align-items:center;gap:7px;height:36px;padding:0 16px;border:0;border-radius:8px;background:transparent;color:#64748b;font:inherit;font-size:13px;font-weight:600;cursor:pointer;transition:all .15s ease}
.billing-segmented-btn svg{color:#94a3b8;transition:color .15s}
.billing-segmented-btn:hover{color:#1e293b;background:rgba(255,255,255,.6)}
.billing-segmented-btn:hover svg{color:#64748b}
.billing-segmented-btn.is-active{background:#fff;color:#0f172a;box-shadow:0 1px 3px rgba(0,0,0,.08),0 1px 2px rgba(0,0,0,.04)}
.billing-segmented-btn.is-active svg{color:#0284c7}
.billing-segmented-btn.is-active.is-enterprise svg{color:#d97706}

/* Google-style KPI Metrics Strip */
.billing-kpi-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:24px 0 32px}
.billing-kpi-card{display:flex;align-items:center;gap:16px;padding:18px 20px;border:1px solid #e2e8f0;border-radius:14px;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.03),0 1px 2px rgba(0,0,0,.02);transition:box-shadow .2s,border-color .2s}
.billing-kpi-card:hover{box-shadow:0 4px 12px rgba(0,0,0,.05);border-color:#cbd5e1}
.billing-kpi-icon{display:grid;place-items:center;width:44px;height:44px;flex:none;border-radius:12px;color:#fff}
.billing-kpi-icon.is-green{background:#ecfdf5;color:#059669}
.billing-kpi-icon.is-blue{background:#eff6ff;color:#2563eb}
.billing-kpi-icon.is-amber{background:#fffbeb;color:#d97706}
.billing-kpi-content{min-width:0;flex:1}
.billing-kpi-label{display:block;color:#64748b;font-size:12px;font-weight:500;margin-bottom:4px}
.billing-kpi-value{display:block;color:#0f172a;font-size:18px;font-weight:700;line-height:1.2;font-variant-numeric:tabular-nums;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.billing-kpi-sub{display:block;margin-top:3px;color:#94a3b8;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* Section Common Header */
.billing-section-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:14px}
.billing-section-head h2{margin:0;color:#0f172a;font-size:16px;font-weight:700;letter-spacing:-.01em}
.billing-section-head span{color:#64748b;font-size:12px}

/* Services / Plans Cards */
.billing-modules-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:34px}
.billing-module-card{display:flex;flex-direction:column;justify-content:space-between;position:relative;padding:22px 24px;border:1px solid #e2e8f0;border-radius:14px;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.03);transition:border-color .15s,box-shadow .15s}
.billing-module-card:hover{border-color:#cbd5e1;box-shadow:0 4px 14px rgba(0,0,0,.05)}
.billing-module-card.is-active{border-color:#93c5fd;background:linear-gradient(180deg,#fafcff 0%,#fff 100%)}
.billing-module-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;min-width:0}
.billing-module-title-box{display:flex;align-items:center;gap:12px;flex:0 1 auto;min-width:0}
.billing-module-validity{flex:1 1 auto;min-width:0;margin:0 4px;color:#64748b;font-size:12px;font-weight:600;text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.billing-module-card.is-active .billing-module-validity{color:#0369a1}
.billing-module-avatar{display:grid;place-items:center;width:40px;height:40px;border-radius:10px;background:#f1f5f9;color:#334155;flex:none}
.billing-module-card.is-finance .billing-module-avatar{background:#eff6ff;color:#1d4ed8}
.billing-module-card.is-legal .billing-module-avatar{background:#f0fdf4;color:#047857}
.billing-module-name{margin:0;color:#0f172a;font-size:16px;font-weight:700}
.billing-module-stat{color:#64748b;font-size:12px;font-weight:600;white-space:nowrap}
.billing-module-card.is-clickable{cursor:pointer}
.billing-tier-switch{display:flex;align-items:flex-end;gap:0;position:absolute;top:-16px;left:24px;height:38px;z-index:4}
.billing-tier-btn{position:relative;top:2px;border:1px solid #dbe5ee;border-bottom-color:#8abdd1;border-radius:10px 10px 0 0;padding:7px 14px 8px;background:#edf3f6;color:#64748b;font-weight:700;font-size:12px;line-height:18px;cursor:pointer;transition:all .15s ease;box-shadow:0 -1px 2px rgba(15,23,42,.04)}
.billing-tier-btn + .billing-tier-btn{margin-left:-1px}
.billing-tier-btn span{margin-left:4px;font-size:10px;font-weight:600;color:#0f766e}
.billing-tier-btn.is-active{z-index:2;top:0;padding-top:8px;padding-bottom:10px;background:#fff;color:#0f172a;border-color:#8abdd1;border-bottom-color:#fff;box-shadow:0 -2px 6px rgba(15,23,42,.10)}
.billing-tier-panel{display:none}
.billing-tier-panel.is-active{display:block}
.billing-module-card .legacy-hidden{display:none!important}
.billing-module-price-row{display:flex;align-items:baseline;flex-wrap:wrap;gap:10px 14px;min-width:0}
.billing-module-bottom{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:auto}
.billing-seat-detail-dialog{width:min(640px,100%)}
.billing-seat-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:16px}
.billing-seat-summary div{padding:12px 14px;border:1px solid #e2e8f0;border-radius:12px;background:#f8fafc}
.billing-seat-summary span{display:block;margin-bottom:4px;color:#64748b;font-size:11px}
.billing-seat-summary strong{color:#0f172a;font-size:18px;font-weight:700}
.billing-seat-summary strong.is-warning{color:#b45309}
.billing-seat-table tr.is-expired td{color:#94a3b8;background:#fafafa}
.billing-seat-expired-tag{display:inline-flex;margin-left:8px;padding:2px 8px;border-radius:999px;background:#fef2f2;color:#b91c1c;font-size:11px;font-weight:700}
.billing-seat-detail-loading,.billing-seat-detail-error{margin:0;color:#64748b;font-size:13px}
.billing-seat-detail-error{color:#b91c1c}
.billing-badge{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:999px;font-size:11px;font-weight:600;white-space:nowrap}
.billing-badge.is-active{background:#ecfdf5;color:#047857;border:1px solid #a7f3d0}
.billing-badge.is-inactive{background:#f1f5f9;color:#64748b;border:1px solid #e2e8f0}
.billing-badge.is-pending{background:#fffbeb;color:#b45309;border:1px solid #fde68a}
.billing-badge.is-cancelled{background:#f8fafc;color:#94a3b8;border:1px solid #e2e8f0}
.billing-module-features{display:flex;flex-wrap:wrap;gap:6px 16px;margin:12px 0 20px;padding:12px 0;border-top:1px dashed #e2e8f0;border-bottom:1px dashed #e2e8f0}
.billing-module-feature{display:inline-flex;align-items:center;gap:6px;color:#475569;font-size:12px}
.billing-module-feature svg{color:#059669;flex:none}
.billing-module-price strong{color:#0f172a;font-size:22px;font-weight:700;font-variant-numeric:tabular-nums}
.billing-module-price span{color:#64748b;font-size:12px;margin-left:3px}
.billing-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:38px;padding:0 18px;border:1px solid #cbd5e1;border-radius:9px;background:#fff;color:#1e293b;font:inherit;font-size:13px;font-weight:600;cursor:pointer;transition:all .15s ease}
.billing-btn:hover{background:#f8fafc;border-color:#94a3b8}
.billing-btn-primary{background:#0284c7;border-color:#0284c7;color:#fff}
.billing-btn-primary:hover{background:#0369a1;border-color:#0369a1}
.billing-btn-success{background:#059669;border-color:#059669;color:#fff}
.billing-btn-success:hover{background:#047857;border-color:#047857}
.billing-btn:disabled{opacity:.55;cursor:not-allowed;pointer-events:none}
.billing-btn-current{background:#f1f5f9;border-color:#e2e8f0;color:#64748b;cursor:default}

/* Order Records Container & Toolbar */
.billing-orders-panel{border:1px solid #e2e8f0;border-radius:14px;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.03);overflow:hidden}
.billing-orders-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 20px;border-bottom:1px solid #e2e8f0;background:#fafbfc}
.billing-filter-tabs{display:flex;align-items:center;gap:6px}
.billing-filter-tab{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 12px;border:1px solid transparent;border-radius:8px;background:transparent;color:#64748b;font:inherit;font-size:12px;font-weight:500;cursor:pointer;transition:all .15s ease}
.billing-filter-tab:hover{background:#f1f5f9;color:#1e293b}
.billing-filter-tab.is-active{background:#fff;color:#0f172a;font-weight:600;border-color:#cbd5e1;box-shadow:0 1px 2px rgba(0,0,0,.04)}
.billing-filter-tab span{padding:1px 6px;border-radius:999px;background:#f1f5f9;color:#64748b;font-size:11px;font-weight:600}
.billing-filter-tab.is-active span{background:#e0f2fe;color:#0369a1}
.billing-orders-toolbar-actions{display:flex;align-items:center;gap:12px}
.billing-orders-bulk-delete{height:32px;padding:0 12px;border:1px solid #fecaca;border-radius:8px;background:#fff5f5;color:#b91c1c;font:inherit;font-size:12px;font-weight:600;cursor:pointer;transition:all .15s}
.billing-orders-bulk-delete:hover:not(:disabled){background:#fee2e2;border-color:#fca5a5}
.billing-orders-bulk-delete:disabled{opacity:.45;cursor:not-allowed}
.billing-order-select-col{width:42px;padding-left:14px!important;padding-right:8px!important;text-align:center}
.billing-order-select-col input[type=checkbox]{width:16px;height:16px;cursor:pointer}
.billing-orders-count{color:#64748b;font-size:12px}

/* Orders Table */
.billing-table-responsive{overflow-x:auto;width:100%}
.billing-table{width:100%;min-width:760px;border-collapse:collapse;text-align:left}
.billing-table th{height:42px;padding:0 18px;background:#f8fafc;color:#64748b;font-size:12px;font-weight:600;border-bottom:1px solid #e2e8f0;white-space:nowrap}
.billing-table td{height:54px;padding:10px 18px;border-bottom:1px solid #f1f5f9;color:#334155;font-size:13px;white-space:nowrap;vertical-align:middle}
.billing-table tr:last-child td{border-bottom:0}
.billing-table tbody tr:hover{background:#f8fafc}
.billing-order-no{display:inline-flex;align-items:center;gap:6px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px;color:#0f172a;font-weight:600}
.billing-copy-btn{display:inline-grid;place-items:center;width:24px;height:24px;border:0;border-radius:4px;background:transparent;color:#94a3b8;cursor:pointer;padding:0}
.billing-copy-btn:hover{background:#e2e8f0;color:#1e293b}
.billing-order-amount{font-weight:700;color:#0f172a;font-variant-numeric:tabular-nums;font-size:14px}
.billing-order-spec{color:#475569;font-size:12px}
.billing-order-time{color:#64748b;font-size:12px}
.billing-order-actions{display:flex;align-items:center;gap:8px}
.billing-action-pay{height:28px;padding:0 10px;border:1px solid #0284c7;border-radius:6px;background:#f0f9ff;color:#0284c7;font:inherit;font-size:12px;font-weight:600;cursor:pointer;transition:all .15s}
.billing-action-pay:hover{background:#0284c7;color:#fff}
.billing-action-del{height:28px;padding:0 8px;border:1px solid transparent;border-radius:6px;background:transparent;color:#94a3b8;font:inherit;font-size:12px;cursor:pointer;transition:all .15s}
.billing-action-del:hover{background:#fee2e2;color:#b91c1c;border-color:#fecaca}

/* Empty State */
.billing-empty-state{padding:48px 24px;text-align:center;color:#64748b}
.billing-empty-icon{display:grid;place-items:center;width:48px;height:48px;margin:0 auto 12px;border-radius:14px;background:#f1f5f9;color:#94a3b8}
.billing-empty-state h3{margin:0 0 6px;color:#1e293b;font-size:15px;font-weight:600}
.billing-empty-state p{margin:0;color:#94a3b8;font-size:13px}

/* Purchase Configuration & Payment Dialogs */
.billing-modal-overlay{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(15,23,42,.55);backdrop-filter:blur(3px);animation:billingFadeIn .18s ease-out}
.billing-dialog{position:relative;width:min(460px,100%);max-height:calc(100vh - 40px);overflow-y:auto;background:#fff;border-radius:18px;box-shadow:0 25px 50px -12px rgba(15,23,42,.25);border:1px solid #e2e8f0;padding:26px 28px}
.billing-dialog-close{position:absolute;right:18px;top:18px;display:grid;place-items:center;width:32px;height:32px;border:0;border-radius:8px;background:#f1f5f9;color:#64748b;font-size:20px;line-height:1;cursor:pointer;transition:all .15s}
.billing-dialog-close:hover{background:#e2e8f0;color:#0f172a}
.billing-dialog-header{margin-bottom:20px}
.billing-dialog-tag{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:999px;background:#eff6ff;color:#1d4ed8;font-size:11px;font-weight:600;margin-bottom:8px}
.billing-dialog-title{margin:0 0 6px;color:#0f172a;font-size:20px;font-weight:700}
.billing-dialog-desc{margin:0;color:#64748b;font-size:13px}

/* Stepper & Seat Config */
.billing-form-group{margin-bottom:18px}
.billing-form-label{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;color:#334155;font-size:13px;font-weight:600}
.billing-stepper{display:flex;align-items:center;gap:6px;width:100%}
.billing-stepper-btn{width:40px;height:40px;border:1px solid #cbd5e1;border-radius:8px;background:#f8fafc;color:#1e293b;font-size:18px;font-weight:600;cursor:pointer;transition:all .15s}
.billing-stepper-btn:hover{background:#e2e8f0}
.billing-stepper-input{flex:1;height:40px;border:1px solid #cbd5e1;border-radius:8px;text-align:center;font:inherit;font-size:15px;font-weight:700;color:#0f172a}
.billing-seat-chips{display:flex;gap:8px;margin-top:8px}
.billing-chip{flex:1;height:30px;border:1px solid #e2e8f0;border-radius:6px;background:#f8fafc;color:#475569;font:inherit;font-size:12px;font-weight:500;cursor:pointer;transition:all .15s}
.billing-chip:hover,.billing-chip.is-active{background:#e0f2fe;color:#0369a1;border-color:#7dd3fc;font-weight:600}

/* Bill Summary Box */
.billing-summary-box{margin:20px 0;padding:16px;border:1px solid #e2e8f0;border-radius:12px;background:#f8fafc}
.billing-summary-row{display:flex;justify-content:space-between;align-items:center;color:#64748b;font-size:13px;margin-bottom:8px}
.billing-summary-row:last-child{margin-bottom:0;padding-top:10px;border-top:1px solid #e2e8f0;color:#0f172a;font-weight:600}
.billing-summary-row strong{color:#0f172a}
.billing-summary-row.is-total strong{font-size:22px;color:#0284c7}

/* WeChat QR Box */
.billing-qr-box{display:grid;place-items:center;gap:12px;padding:20px;border:1px solid #e2e8f0;border-radius:14px;background:#f8fafc;margin:18px 0}
.billing-qr-box img{width:220px;height:220px;border-radius:8px;background:#fff;box-shadow:0 2px 6px rgba(0,0,0,.06)}
.billing-qr-status{color:#047857;font-size:13px;font-weight:600;display:inline-flex;align-items:center;gap:6px}

@keyframes billingFadeIn{from{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}

/* Responsive adjustments */
@media(max-width:860px){
  .billing-kpi-grid{grid-template-columns:1fr}
  .billing-modules-grid{grid-template-columns:1fr}
  .billing-header{flex-direction:column;align-items:flex-start;gap:16px}
  .billing-mode-segmented{width:100%}
  .billing-segmented-btn{flex:1;justify-content:center}
}


.billing-v4-payment-code{margin-top:12px;color:#71808d;font-size:11px}.billing-v4-payment-code summary{cursor:pointer;color:#4a7e8c}.billing-v4-payment-code code{display:block;max-height:58px;margin-top:8px;overflow:auto;padding:8px;border-radius:7px;background:#f5f8f9;color:#53636d;font-size:10px;word-break:break-all}
.billing-payment-modal-v4 .billing-v4-payment-qr{display:grid;gap:10px;place-items:center;margin:0 auto;padding:14px;border:1px solid #d7e8eb;border-radius:14px;background:#f7fbfc}.billing-payment-modal-v4 .billing-v4-payment-qr img{display:block;width:220px;height:220px;border-radius:7px;background:#fff}.billing-payment-modal-v4 .billing-v4-payment-qr small{color:#67838d;font-size:12px}
.admin-billing-catalog{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.admin-billing-product{padding:18px;border:1px solid #dfeaed;border-radius:14px;background:#fbfdfd}.admin-billing-product-head,.admin-billing-product-form,.admin-billing-price-form{display:flex;align-items:end;gap:10px}.admin-billing-product-head{align-items:center;justify-content:space-between;margin-bottom:16px}.admin-billing-product-head strong,.admin-billing-product-head small{display:block}.admin-billing-product-head strong{color:#263f49;font-size:15px}.admin-billing-product-head small{margin-top:4px;color:#8a9aa0;font-size:11px}.admin-billing-product-form,.admin-billing-price-form{padding-top:12px;border-top:1px solid #e8f0f1}.admin-billing-price-form{margin-top:13px}.admin-billing-product-form label,.admin-billing-price-form label{display:grid;flex:1;gap:6px;color:#74868d;font-size:11px}.admin-billing-product-form input:not([type=checkbox]),.admin-billing-price-form input,.admin-billing-price-form select{width:100%;box-sizing:border-box;height:33px;padding:0 9px;border:1px solid #cfdee2;border-radius:7px;background:#fff;color:#314650;font:inherit;font-size:12px}.admin-billing-switch{display:flex!important;align-items:center;gap:6px;min-width:98px}.admin-billing-product-form button,.admin-billing-price-form button{height:33px;white-space:nowrap;font-size:11px}.admin-billing-version{display:block;margin-top:12px;color:#7f9097;font-size:11px}@media(max-width:900px){.admin-billing-catalog{grid-template-columns:1fr}}@media(max-width:620px){.admin-billing-product-form,.admin-billing-price-form{align-items:stretch;flex-direction:column}.admin-billing-product-form button,.admin-billing-price-form button{width:100%}}

/* ========================================
   Tasks Page · Brand Color System
   秋波蓝 #8ABCD1 / 黄琉璃 #E9AD5F / 麝香褐 #593A28 / 肉红 #C7A59C / 椒红 #8A2524
   参照后台冷调蓝灰体系
   ======================================== */

:root{
  /* 秋波蓝主色 */
  --tp-primary:#8ABCD1;
  --tp-primary-deep:#5A94A8;
  --tp-primary-soft:#DDECF0;
  --tp-primary-faint:#EEF5F8;
  --tp-primary-grad:#8ABCD1;
  /* 黄琉璃点睛 */
  --tp-accent:#E9AD5F;
  --tp-accent-soft:#FFF7DF;
  /* 肉红柔和高亮 */
  --tp-rouge:#C7A59C;
  --tp-rouge-soft:#F5EEEB;
  /* 椒红危险 */
  --tp-danger:#8A2524;
  --tp-danger-soft:#F5EDED;
  /* 麝香褐（仅用于品牌装饰细节，不做文字主色） */
  --tp-seal:#593A28;
  /* 冷调蓝灰中性色 */
  --tp-text:#1F2A30;
  --tp-text-sec:#55636D;
  --tp-text-tert:#71808D;
  --tp-gray-2:#9AA4AB;
  --tp-gray-3:#C5CDD1;
  --tp-gray-4:#D3DBE0;
  --tp-gray-5:#DCE7EB;
  --tp-bg:#F6F8F9;
  --tp-card:#FFFFFF;
  /* 阴影（墨色调） */
  --tp-shadow-sm:0 1px 3px rgba(31,42,48,.04),0 1px 2px rgba(31,42,48,.06);
  --tp-shadow-md:0 4px 12px rgba(31,42,48,.06),0 2px 4px rgba(31,42,48,.04);
  --tp-radius:12px;
  --tp-radius-sm:8px;
}

/* Unified compact cascade picker for formula references. */
.plans-workflow-page .calculation-variable-wrap{position:relative;min-width:0}
.plans-workflow-page .calculation-variable-wrap .map-calculation-variable{display:none!important}
.calculation-variable-trigger{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;height:38px;padding:0 12px;border:1px solid #d8dfe3;border-radius:9px;background:#fff;color:#354550;font:inherit;font-size:12px;text-align:left;cursor:pointer}
.calculation-variable-trigger:hover,.calculation-variable-trigger.is-open{border-color:#8abcd1;box-shadow:0 0 0 3px rgba(138,188,209,.16)}
.calculation-variable-value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.calculation-variable-panel{position:fixed;z-index:10001;display:grid;grid-template-columns:142px 190px 210px;max-width:calc(100vw - 24px);max-height:min(300px,calc(100vh - 24px));overflow:hidden;border:1px solid #d9e2e6;border-radius:10px;background:#fff;box-shadow:0 14px 34px rgba(35,52,61,.18)}
.calculation-variable-panel[hidden]{display:none}
.calculation-variable-categories,.calculation-variable-items,.calculation-variable-fields{min-width:0;overflow:auto;padding:7px}
.calculation-variable-categories{background:#f7fafb;border-right:1px solid #e6edef}
.calculation-variable-items{border-right:1px solid #e6edef}
.calculation-variable-category,.calculation-variable-item{display:flex;align-items:center;justify-content:space-between;gap:7px;width:100%;min-height:34px;padding:7px 9px;border:0;border-radius:7px;background:transparent;color:#354550;font:inherit;font-size:12px;text-align:left;cursor:pointer}
.calculation-variable-category span{flex:0 0 auto;min-width:20px;padding:2px 5px;border-radius:10px;background:#edf2f4;color:#72838c;font-size:10px;text-align:center}
.calculation-variable-category.blue{color:#397f96}.calculation-variable-category.brown{color:#8a5a3c}
.calculation-variable-category:hover,.calculation-variable-category.is-active{background:#e8f3f6;font-weight:650}
.calculation-variable-category.brown:hover,.calculation-variable-category.brown.is-active{background:#f6eee8}
.calculation-variable-item{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.calculation-variable-item small{display:block;margin-top:2px;color:#8a989e;font-size:10px}
.calculation-variable-item:hover,.calculation-variable-item.is-active{background:#edf6f8;color:#2f7187}
.calculation-variable-fields .calculation-variable-field{color:#593a28}
.calculation-variable-empty{display:block;padding:12px 8px;color:#8a989e;font-size:11px}
@media(max-width:900px){.calculation-variable-panel{grid-template-columns:125px minmax(150px,1fr) minmax(150px,1fr)}}
@media(max-width:600px){.calculation-variable-panel{grid-template-columns:1fr;width:calc(100vw - 24px);max-height:360px}.calculation-variable-categories,.calculation-variable-items{border-right:0;border-bottom:1px solid #e6edef;max-height:120px}.calculation-variable-fields{max-height:160px}}

/* Formula picker follows the same compact downward/sideways cascade as the
   source-field picker. The base column opens below fx; children open to the
   right, and the whole cascade mirrors left when the viewport is tight. */
.legacy-module-page.plans-workflow-page .calculation-variable-panel{
  display:block !important;
  width:184px !important;
  max-width:none !important;
  max-height:330px !important;
  overflow:visible !important;
  border:1px solid #dfe6ea !important;
  border-radius:10px !important;
  background:#fff !important;
  box-shadow:0 10px 28px rgba(31,53,66,.15) !important;
}
.legacy-module-page.plans-workflow-page .calculation-variable-panel[hidden]{display:none !important}
.legacy-module-page.plans-workflow-page .calculation-variable-panel .calculation-variable-categories{
  width:100%;max-height:330px;box-sizing:border-box;overflow-y:auto;padding:5px;border:0;background:#fff;border-radius:10px;
}
.legacy-module-page.plans-workflow-page .calculation-variable-panel .calculation-variable-items,
.legacy-module-page.plans-workflow-page .calculation-variable-panel .calculation-variable-fields{
  position:absolute;top:0;width:282px;max-height:330px;box-sizing:border-box;overflow-y:auto;padding:5px;border:1px solid #dfe6ea;border-radius:10px;background:#fff;box-shadow:0 10px 28px rgba(31,53,66,.15);
}
.legacy-module-page.plans-workflow-page .calculation-variable-panel .calculation-variable-items{left:calc(100% + 6px)}
.legacy-module-page.plans-workflow-page .calculation-variable-panel .calculation-variable-fields{left:calc(100% + 294px);width:236px}
.legacy-module-page.plans-workflow-page .calculation-variable-panel.is-submenu-left .calculation-variable-items{left:auto;right:calc(100% + 6px)}
.legacy-module-page.plans-workflow-page .calculation-variable-panel.is-submenu-left .calculation-variable-fields{left:auto;right:calc(100% + 294px)}
.legacy-module-page.plans-workflow-page .calculation-variable-panel .calculation-variable-category,
.legacy-module-page.plans-workflow-page .calculation-variable-panel .calculation-variable-item{
  display:flex;align-items:center;justify-content:space-between;gap:7px;width:100%;min-height:36px;box-sizing:border-box;padding:0 9px;border:0;border-radius:7px;background:transparent;font:inherit;font-size:13px;text-align:left;cursor:pointer;white-space:nowrap;overflow:hidden;
}
.legacy-module-page.plans-workflow-page .calculation-variable-panel .calculation-variable-category.blue{color:#397f96}
.legacy-module-page.plans-workflow-page .calculation-variable-panel .calculation-variable-category.brown{color:#8a5a3c}
.legacy-module-page.plans-workflow-page .calculation-variable-panel .calculation-variable-category:hover,
.legacy-module-page.plans-workflow-page .calculation-variable-panel .calculation-variable-category.is-active{background:#eaf4f7;color:#3f7f96;font-weight:600}
.legacy-module-page.plans-workflow-page .calculation-variable-panel .calculation-variable-category.brown:hover,
.legacy-module-page.plans-workflow-page .calculation-variable-panel .calculation-variable-category.brown.is-active{background:#f6eee8;color:#8a5a3c}
.legacy-module-page.plans-workflow-page .calculation-variable-panel .calculation-variable-category span:first-of-type{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:#edf1f3;color:#8a9aa2;font-size:10px;font-weight:600}
.legacy-module-page.plans-workflow-page .calculation-variable-panel .calculation-variable-item{padding:0 12px;color:#26343c;font-weight:500;text-overflow:ellipsis}
.legacy-module-page.plans-workflow-page .calculation-variable-panel .calculation-variable-item:hover,
.legacy-module-page.plans-workflow-page .calculation-variable-panel .calculation-variable-item.is-active{background:#e6f2f6;color:#326f86}
.legacy-module-page.plans-workflow-page .calculation-variable-panel .calculation-variable-fields .calculation-variable-field{color:#593a28}
.legacy-module-page.plans-workflow-page .calculation-variable-panel .calculation-variable-chevron{flex:0 0 auto;color:#9aaab1;font-size:18px;line-height:1}
.legacy-module-page.plans-workflow-page .calculation-variable-panel .calculation-variable-empty{display:block;padding:18px 12px;color:#9fb0b8;font-size:12px}
@media(max-width:900px){
  .legacy-module-page.plans-workflow-page .calculation-variable-panel .calculation-variable-items{width:240px}
.legacy-module-page.plans-workflow-page .calculation-variable-panel .calculation-variable-fields{left:calc(100% + 252px);width:210px}
  .legacy-module-page.plans-workflow-page .calculation-variable-panel.is-submenu-left .calculation-variable-fields{right:calc(100% + 252px)}
}

/* Compact three-level calculation picker and balanced formula editor. */
.legacy-module-page.plans-workflow-page .calculation-variable-panel{
  grid-template-columns:184px 282px 236px !important;
  max-width:calc(100vw - 24px);
  overflow:hidden;
}
.legacy-module-page.plans-workflow-page .calculation-variable-categories,
.legacy-module-page.plans-workflow-page .calculation-variable-items,
.legacy-module-page.plans-workflow-page .calculation-variable-fields{
  min-width:0;
  max-height:320px;
  overflow-y:auto;
  overflow-x:hidden;
}
.legacy-module-page.plans-workflow-page .calculation-variable-category{
  display:flex !important;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  width:100%;
  min-height:40px;
  padding:0 12px !important;
  border:0 !important;
  border-radius:8px !important;
  background:transparent !important;
  box-shadow:none !important;
}
.legacy-module-page.plans-workflow-page .calculation-variable-category:hover,
.legacy-module-page.plans-workflow-page .calculation-variable-category.is-active{
  background:transparent !important;
  box-shadow:inset 2px 0 0 currentColor !important;
}
.legacy-module-page.plans-workflow-page .calculation-variable-category-label{
  min-width:0;
  overflow:hidden;
  color:#3b5560 !important;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.legacy-module-page.plans-workflow-page .calculation-variable-category-meta,
.legacy-module-page.plans-workflow-page .calculation-variable-child-meta{
  display:inline-flex !important;
  align-items:center;
  flex:0 0 auto;
  gap:8px;
}
.legacy-module-page.plans-workflow-page .calculation-variable-category-count,
.legacy-module-page.plans-workflow-page .calculation-variable-child-count{
  display:inline-grid !important;
  place-items:center;
  min-width:22px;
  height:22px;
  padding:0 5px;
  border:1px solid #e7eef0;
  border-radius:11px;
  background:transparent !important;
  color:#82949a !important;
  font-size:11px;
  line-height:1;
}
.legacy-module-page.plans-workflow-page .calculation-variable-category-chevron,
.legacy-module-page.plans-workflow-page .calculation-variable-chevron{
  color:#9aabb0 !important;
  font-size:18px;
  line-height:1;
}
.legacy-module-page.plans-workflow-page .calculation-variable-child{
  display:flex !important;
  align-items:center;
  justify-content:space-between;
  width:100%;
  min-height:40px;
  padding:0 12px !important;
  border:0 !important;
  border-radius:8px !important;
  background:transparent !important;
  color:#314c58 !important;
  text-align:left;
}
.legacy-module-page.plans-workflow-page .calculation-variable-child:hover,
.legacy-module-page.plans-workflow-page .calculation-variable-child.is-active{
  background:#f1f7f8 !important;
}
.legacy-module-page.plans-workflow-page .calculation-variable-field{
  display:block !important;
  width:100%;
  min-height:38px;
  padding:0 14px !important;
  border:0 !important;
  border-radius:8px !important;
  background:transparent !important;
  color:#294956 !important;
  text-align:left;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.legacy-module-page.plans-workflow-page .calculation-variable-field:hover{
  background:#edf6f7 !important;
}
.legacy-module-page.plans-workflow-page .mapping-source-layout .mapping-calculation-tools{
  width:100% !important;
  max-width:none !important;
  box-sizing:border-box;
}
.legacy-module-page.plans-workflow-page .mapping-source-layout .mapping-formula-row{
  display:block !important;
  width:100%;
}
.legacy-module-page.plans-workflow-page .mapping-source-layout .map-calculation-expression{
  display:block;
  width:100% !important;
  min-width:0;
  box-sizing:border-box;
}
.legacy-module-page.plans-workflow-page .mapping-source-layout .mapping-calculation-settings{
  display:flex !important;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:10px;
  width:100%;
}
.legacy-module-page.plans-workflow-page .mapping-source-layout .map-test-formula-separator{
  color:#c7a59c;
  user-select:none;
}
.legacy-module-page.plans-workflow-page .mapping-source-layout .map-test-formula{
  flex:0 0 auto;
  margin:0;
}

/* 发票识别页：主列表 + 上传弹窗 */
.app.workspace-shell:has(.invoice-recognition-page) .main{overflow:hidden}
.app.workspace-shell:has(.invoice-recognition-page) .content{overflow:auto;min-width:0;min-height:0}
.legacy-module-page.invoice-recognition-page{min-height:100%;margin:0;padding:0;background:transparent;overflow:visible}
.invoice-recognition-page .invoice-page-head{position:sticky;top:0;z-index:3;background:var(--tp-bg,#f6f8f9)}
.invoice-recognition-page .invoice-list-panel,.invoice-recognition-page .invoice-list-panel .table-scroll{overflow:visible}
.invoice-page-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 8px}
.invoice-page-actions,.invoice-page-tools{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.invoice-page-plan-field{display:inline-flex;align-items:center;gap:8px}
.invoice-page-plan-field>span{font-size:13px;color:#6b7280;white-space:nowrap}
.invoice-page-plan-field .form-select{width:min(220px,36vw);min-height:36px;padding:0 10px;border-radius:10px;font-size:13px}
.invoice-page-tools .form-select{width:132px;min-height:36px;padding:0 10px;border-radius:10px;font-size:13px}
.invoice-search-group{display:inline-flex;align-items:center;overflow:hidden;border:1px solid #d7e2e8;border-radius:10px;background:#fff}
.invoice-search-group .invoice-page-search{width:220px;min-height:34px;padding:0 12px;border:0;border-radius:0;box-shadow:none;font-size:13px}
.invoice-search-group .invoice-page-search:focus{outline:0}
.invoice-search-group .secondary-button{height:36px;padding:0 14px;border:0;border-left:1px solid #edf1f3;border-radius:0;background:transparent;color:#3f6f82}
.invoice-search-group .secondary-button:hover{background:#f5fafb}
.invoice-delete-button{height:36px;padding:0 12px;border:0;border-radius:10px;background:transparent;color:#b45353;font-size:13px;cursor:pointer}
.invoice-delete-button:disabled{color:#c9b4b1;cursor:default}
.invoice-delete-button:not(:disabled):hover{background:#fff5f4}
.invoice-batch-action-button.is-hidden{display:none}
.invoice-page-notice{margin:0 0 10px;padding:10px 14px;border:1px solid #d7e2e8;border-radius:10px;background:#f7fafc;color:#1f2a30;font-size:13px;line-height:1.5}
.invoice-page-notice.is-error{border-color:#f0c8c4;background:#fff5f4;color:#b45353}
.invoice-list-panel{border:0;background:transparent;overflow:visible}
.invoice-list-panel .table-scroll{overflow:visible}
.invoice-grid-table{width:100%;min-width:1280px;border-collapse:separate;border-spacing:0;background:transparent;color:#1f2a30;font-size:13px}
.invoice-grid-table thead th{position:sticky;top:0;z-index:1;padding:12px 16px 12px 0;border-bottom:1px solid var(--td-border);background:#f6f8f9;color:#1f2a30;font-size:12px;font-weight:600;letter-spacing:.01em;text-align:left;white-space:nowrap;vertical-align:middle}
.invoice-grid-table thead th:first-child,.invoice-grid-table tbody td:first-child{padding-left:4px}
.invoice-grid-table tbody td{padding:16px 16px 16px 0;border-bottom:1px solid var(--td-border-soft);vertical-align:top;background:transparent;color:#1f2a30}
.invoice-grid-table tbody tr:hover td{background:var(--td-primary-soft)}
.invoice-grid-table .col-select{width:36px}
.invoice-grid-table .col-index{width:206px;text-align:center;white-space:nowrap}
.invoice-grid-table .col-party{min-width:214px;max-width:274px}
.invoice-grid-table .col-tax-id{min-width:172px;max-width:212px}
.invoice-grid-table .col-amount{width:128px;white-space:nowrap}
.invoice-grid-table .col-content{min-width:172px;max-width:308px}
.invoice-grid-table .col-date{width:104px;white-space:nowrap;color:#1f2a30}
.invoice-grid-table .col-type{min-width:102px;max-width:132px;white-space:normal;color:#1f2a30}
.invoice-grid-table .col-category{width:92px;white-space:nowrap}
.invoice-grid-table .col-remark{width:52px;text-align:right}
.invoice-sort-button{display:inline-flex;align-items:center;gap:5px;margin:0;padding:0;border:0;background:transparent;color:inherit;font:inherit;font-weight:600;cursor:pointer}
.invoice-sort-button:hover,.invoice-sort-button.is-active{color:#2f7185}
.invoice-sort-icon{position:relative;width:8px;height:12px;opacity:.45}
.invoice-sort-icon::before,.invoice-sort-icon::after{content:"";position:absolute;left:0;border-left:4px solid transparent;border-right:4px solid transparent}
.invoice-sort-icon::before{top:0;border-bottom:4px solid currentColor}
.invoice-sort-icon::after{bottom:0;border-top:4px solid currentColor}
.invoice-index-cell{display:grid;gap:3px;justify-items:center}
.invoice-index-no{font-size:11px;color:#1f2a30;text-align:center}
.invoice-index-code{display:block;color:#1f2a30;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12.5px;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:.01em;white-space:nowrap}
.invoice-party-cell,.invoice-tax-cell{display:grid;gap:10px}
.invoice-stacked{display:grid;gap:2px}
.invoice-stacked-main{font-size:13px;line-height:1.4;color:#1f2a30}
.invoice-stacked-main.is-secondary{font-weight:400;color:#6b7280}
.invoice-stacked-sub{font-size:12px;line-height:1.4;color:#6b7280;font-variant-numeric:tabular-nums}
.invoice-tax-id{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;letter-spacing:.01em}
.invoice-amount-total{font-variant-numeric:tabular-nums;font-weight:650}
.invoice-content-text{display:block;white-space:normal;word-break:break-word;color:#1f2a30;line-height:1.5}
.invoice-category-button{padding:0;border:0;background:transparent;color:#1f2a30;font:inherit;font-size:13px;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.invoice-category-button:hover{color:var(--td-primary-darker)}
.invoice-view-link{padding:0;border:0;background:transparent;color:#1f2a30;font:inherit;font-size:13px;cursor:pointer}
.invoice-view-link:hover{color:var(--td-primary-darker);text-decoration:underline}
.invoice-upload-modal{width:min(760px,100%)}
.invoice-plan-row{margin-bottom:12px}
.invoice-plan-row label{display:grid;gap:6px;font-size:12px;color:#6b7280}
.invoice-upload-dropzone{display:flex;align-items:center;gap:14px;padding:18px;border:1px dashed #d1d5db;border-radius:12px;background:#fbfcfe;cursor:pointer}
.invoice-upload-dropzone:hover,.invoice-upload-dropzone.drag{border-color:#1a56db;background:#f7faff}
.invoice-upload-dropzone.busy{opacity:.68;pointer-events:none}
.invoice-modal-queue{margin-top:14px;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden}
.invoice-modal-queue-head{display:flex;align-items:center;gap:10px;padding:10px 12px;border-bottom:1px solid #edf1f3;background:#f8fafc}
.invoice-modal-queue-head strong{font-size:12px;color:#374151}
.invoice-modal-queue-head span{margin-right:auto;color:#6b7280;font-size:11px}
.invoice-upload-modal .batch-progress-box{margin-top:14px}
.invoice-upload-modal .batch-progress-box:not(.show){display:none}
.invoice-category-modal{width:min(560px,100%);color:#1f2a30}
.invoice-category-modal .modal-header{align-items:center}
.invoice-export-modal{width:min(520px,100%);color:#1f2a30}
.invoice-export-options{display:grid;gap:10px}
.invoice-export-option{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border:1px solid var(--td-border);border-radius:10px;background:#fff;cursor:pointer}
.invoice-export-option:has(input:checked){border-color:var(--td-primary);background:var(--td-primary-faint)}
.invoice-export-option input{margin-top:3px;accent-color:var(--td-primary-deep)}
.invoice-export-option-copy{display:grid;gap:4px}
.invoice-export-option-copy b{font-size:13px;color:#1f2a30}
.invoice-export-option-copy small{font-size:12px;line-height:1.55;color:#6b7280}
.invoice-export-plan-field{display:grid;gap:8px;margin-top:14px;font-size:13px;font-weight:600;color:#1f2a30}
.invoice-export-plan-field[hidden]{display:none!important}
.invoice-category-head-actions{display:flex;align-items:center;gap:8px}
.invoice-category-add{height:32px;padding:0 12px;border:1px solid var(--td-border);border-radius:999px;background:#fff;color:#1f2a30;font:inherit;font-size:12px;cursor:pointer}
.invoice-category-add:hover{border-color:var(--td-primary-deep);background:var(--td-primary-faint)}
.invoice-category-table-wrap{max-height:360px;overflow:auto;border:1px solid var(--td-border);border-radius:10px}
.invoice-category-table{width:100%;border-collapse:collapse;font-size:13px;color:#1f2a30}
.invoice-category-table th{padding:10px 14px;background:#f6f8f9;border-bottom:1px solid var(--td-border);text-align:left;font-weight:600}
.invoice-category-table td{padding:10px 14px;border-bottom:1px solid var(--td-border-soft);color:#1f2a30}
.invoice-category-table tr:hover td{background:var(--td-primary-faint)}
.invoice-category-table tr.is-group td{background:#fafcfd;font-weight:600}
.invoice-category-table tr.is-child td:first-child{padding-left:36px}
.invoice-category-folder{display:inline-flex;align-items:center;gap:8px}
.invoice-category-folder::before{content:"";width:14px;height:12px;border-radius:2px 2px 1px 1px;background:#e9ad5f;box-shadow:0 1px 0 #d49a4a}
.invoice-category-name{display:flex;align-items:center;gap:8px;cursor:pointer}
.invoice-category-name input{accent-color:var(--td-primary-deep)}
.invoice-category-empty{color:#1f2a30}
.invoice-category-remove{width:22px;height:22px;border:0;border-radius:50%;background:#d7e2e8;color:#1f2a30;font-size:14px;line-height:1;cursor:pointer}
.invoice-category-remove:hover{background:#c5d4da}
.invoice-category-selected{display:flex;align-items:center;gap:8px;padding:12px 22px;background:#f4f8fa;color:#1f2a30;font-size:13px}
.invoice-category-pill{display:inline-flex;align-items:center;height:26px;padding:0 10px;border:1px solid var(--td-border);border-radius:999px;background:#fff;color:#1f2a30}
.invoice-column-modal{width:min(720px,100%);color:#1f2a30}
.invoice-column-modal-body{display:grid;grid-template-columns:168px minmax(0,1fr);gap:0;min-height:360px;border:1px solid var(--td-border);border-radius:12px;overflow:hidden}
.invoice-column-nav{display:flex;flex-direction:column;gap:0;padding:10px 0;background:#f7fafc;border-right:1px solid var(--td-border)}
.invoice-column-nav-item{display:flex;align-items:center;gap:8px;width:100%;min-height:42px;padding:0 16px;border:0;background:transparent;color:#6b7280;font:inherit;font-size:13px;text-align:left;cursor:default}
.invoice-column-nav-item.is-active{background:#eef6ff;color:#1f2a30;font-weight:600}
.invoice-column-panel{padding:0;background:#fff}
.invoice-column-table-wrap{max-height:360px;overflow:auto}
.invoice-column-table{width:100%;border-collapse:collapse;font-size:13px;color:#1f2a30}
.invoice-column-table th{padding:12px 16px;background:#f6f8f9;border-bottom:1px solid var(--td-border);text-align:left;font-weight:600}
.invoice-column-table td{padding:12px 16px;border-bottom:1px solid var(--td-border-soft);color:#1f2a30}
.invoice-column-table tr.is-mandatory td{background:#fffdf5}
.invoice-column-table input[type=checkbox]{accent-color:var(--td-primary-deep)}
@media(max-width:900px){
  .invoice-page-head{flex-direction:column;align-items:flex-start}
  .invoice-page-tools{width:100%}
}

.workspace-shell .workspace-task-status{
  display:inline-flex;
  align-items:center;
  gap:8px;
  max-width:min(460px,40vw);
  padding:9px 16px;
  border:1px solid #f0c96b;
  border-radius:10px;
  background:linear-gradient(180deg,#fffbeb 0%,#fff7df 100%);
  box-shadow:0 1px 2px rgba(161,98,7,.08);
  color:#92400e;
  font-size:13px;
  font-weight:600;
  white-space:nowrap;
  overflow:hidden;
}
.workspace-shell .workspace-task-status.is-empty{
  border-color:#d7e2e8;
  background:#f8fafc;
  color:#64748b;
  box-shadow:none;
}
.workspace-shell .workspace-task-status-label{
  flex:0 0 auto;
  color:#b7791f;
  font-size:12px;
  font-weight:700;
  letter-spacing:.02em;
}
.workspace-shell .workspace-task-status.is-empty .workspace-task-status-label{color:#64748b}
.workspace-shell .workspace-task-status-name{
  overflow:hidden;
  text-overflow:ellipsis;
  font-size:14px;
  font-weight:700;
  color:#78350f;
}
.workspace-shell .workspace-task-status.is-empty .workspace-task-status-name{color:#475569;font-weight:600}
.notification-badge[hidden]{display:none!important}
.billing-orders-table th:last-child,.billing-orders-table td:last-child{width:92px;text-align:right}.billing-order-delete{padding:6px 9px;border:1px solid #e4c7c1;border-radius:7px;background:#fff;color:#b5473b;font:inherit;font-size:11px;white-space:nowrap;cursor:pointer}.billing-order-delete:hover{background:#fff5f2}.billing-v5:has(.billing-subject-card.is-personal) .billing-v4-plan .billing-seat-quantity{display:none}.billing-v5:has(.billing-subject-card.is-personal) .billing-orders-table th:nth-child(3),.billing-v5:has(.billing-subject-card.is-personal) .billing-orders-table td:nth-child(3){display:none}
.enterprise-space-page .organization-invite-form>label{flex:0 0 380px}.enterprise-space-page .organization-invite-form .organization-invite-actions{flex:0 0 auto}.enterprise-space-page .enterprise-member-filters [data-member-filter-confirm]{height:42px;padding:0 18px;white-space:nowrap}@media(max-width:720px){.enterprise-space-page .organization-invite-form>label{flex-basis:auto}}

/* 收费中心：沿用工作台的浅色纸张、青灰文字和圆角卡片语言。 */
.billing-page{max-width:1180px;margin:0 auto;padding:8px 0 40px;color:#294956}
.billing-hero{display:flex;justify-content:space-between;align-items:center;padding:30px 34px;border:1px solid #e5edef;border-radius:22px;background:linear-gradient(120deg,#f3fafb,#fbfcfa);box-shadow:0 12px 28px rgba(40,75,85,.05)}
.billing-hero h1{margin:8px 0;font-size:32px;color:#1e3e49}.billing-hero p{margin:0;color:#7a8e94}.billing-hero-mark{display:grid;place-items:center;width:74px;height:74px;border-radius:24px;background:#dceff1;color:#4f8d9a;font-size:38px;font-weight:700;transform:rotate(8deg)}
.billing-summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:18px 0 30px}.billing-summary-grid article,.billing-panel,.billing-plan-card{border:1px solid #e8eef0;border-radius:16px;background:#fff;box-shadow:0 8px 20px rgba(40,75,85,.035)}.billing-summary-grid article{padding:20px 22px}.billing-summary-grid span,.billing-summary-grid small{display:block;color:#8a9ba0;font-size:12px}.billing-summary-grid strong{display:block;margin:10px 0 4px;font-size:22px;color:#294956}.billing-summary-grid em{font-size:13px;font-style:normal;color:#9aadb2;font-weight:400}
.billing-section-heading,.billing-panel-heading{display:flex;justify-content:space-between;align-items:center;gap:16px}.billing-section-heading{margin-bottom:14px}.billing-section-heading h2,.billing-panel-heading h2{margin:0;color:#294956;font-size:19px}.billing-section-heading p,.billing-panel-heading p{margin:6px 0 0;color:#8a9ba0;font-size:12px}.billing-demo-note{padding:5px 10px;border-radius:999px;background:#f5f8f8;color:#93a3a7;font-size:11px}
.billing-plan-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.billing-plan-card{padding:24px}.billing-plan-card.blue{border-top:3px solid #78aebc}.billing-plan-card.teal{border-top:3px solid #8db7a9}.billing-plan-top{display:flex;justify-content:space-between;gap:14px}.billing-plan-kicker{font-size:11px;color:#86a0a7}.billing-plan-card h3{margin:7px 0 4px;font-size:20px}.billing-plan-card p{margin:0;color:#829499;font-size:12px}.billing-plan-status{height:24px;padding:5px 9px;border-radius:999px;background:#edf7f4;color:#6e9d8a;font-size:11px;white-space:nowrap}.teal .billing-plan-status{background:#f3f5f5;color:#9aa7aa}.billing-price-row{display:flex;align-items:baseline;justify-content:space-between;margin:24px 0 14px;padding-bottom:15px;border-bottom:1px solid #eef2f2}.billing-price-row strong{font-size:31px;color:#294956}.billing-price-row span{color:#87999e}.billing-price-row small{color:#9aadb0;font-size:11px}.billing-plan-card ul{list-style:none;margin:0;padding:0}.billing-plan-card li{padding:8px 0;color:#587078;font-size:13px}.billing-plan-card li span{display:inline-block;margin-right:8px;color:#74a997}.billing-plan-action{width:100%;margin-top:17px;padding:11px;border:1px solid #78aebc;border-radius:9px;background:#fff;color:#4c8996;cursor:pointer}.billing-plan-action:hover{background:#eff8f9}.billing-plan-action.is-current{border-color:#dce9e8;background:#f5faf9;color:#83a69d;cursor:default}
.billing-lower-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:20px}.billing-panel{padding:20px}.billing-panel-heading{padding-bottom:15px;border-bottom:1px solid #eef2f2}.billing-text-button,.billing-link-button{border:0;background:none;color:#6097a2;font-size:12px;cursor:pointer}.billing-order-row,.billing-entitlement-row{display:flex;align-items:center;gap:12px;padding:15px 0}.billing-order-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:#edf7f8;color:#6b9fa8}.billing-order-row strong,.billing-entitlement-row strong{display:block;font-size:13px}.billing-order-row small,.billing-entitlement-row small{display:block;margin-top:4px;color:#9aabad;font-size:11px}.billing-empty-tag{margin-left:auto;color:#a5b1b4;font-size:11px}.billing-entitlement-row+.billing-entitlement-row{border-top:1px solid #f0f3f3}.billing-entitlement-dot{width:8px;height:8px;border-radius:50%;background:#d5dddf}.billing-entitlement-dot.is-active{background:#79ad97;box-shadow:0 0 0 4px #edf7f1}.billing-valid{margin-left:auto;color:#76a28e;font-size:11px}.billing-help{display:flex;gap:12px;margin-top:18px;padding:15px 18px;border-radius:13px;background:#f5f9f9}.billing-help-icon{display:grid;place-items:center;flex:0 0 22px;height:22px;border:1px solid #8bb2b9;border-radius:50%;color:#679da8;font-size:12px}.billing-help strong{font-size:12px}.billing-help p{margin:5px 0 0;color:#83979c;font-size:12px;line-height:1.7}
.billing-payment-modal{position:fixed;inset:0;z-index:30;display:grid;place-items:center}.billing-payment-backdrop{position:absolute;inset:0;background:rgba(25,45,52,.28);backdrop-filter:blur(2px)}.billing-payment-dialog{position:relative;width:min(420px,calc(100vw - 32px));padding:30px;border-radius:20px;background:#fff;box-shadow:0 24px 70px rgba(25,45,52,.22);text-align:center}.billing-payment-close{position:absolute;right:16px;top:12px;border:0;background:none;color:#94a2a5;font-size:24px;cursor:pointer}.billing-payment-dialog h2{margin:10px 0 4px}.billing-payment-dialog p{margin:0;color:#89999e;font-size:12px}.billing-payment-amount{margin:20px 0;font-size:34px;font-weight:700;color:#294956}.billing-payment-amount small{font-size:12px;font-weight:400;color:#89999e}.billing-qr-placeholder{display:grid;place-items:center;width:178px;height:178px;margin:0 auto;border:1px dashed #a9c7cb;border-radius:12px;background:repeating-linear-gradient(45deg,#f6fbfb,#f6fbfb 5px,#eef7f7 5px,#eef7f7 10px);color:#578f99}.billing-qr-placeholder strong{font-size:15px}.billing-qr-placeholder small{font-size:10px;color:#8fa3a7}.billing-payment-note{margin-top:18px;color:#a0adaf;font-size:11px}
@media(max-width:760px){.billing-summary-grid,.billing-plan-grid,.billing-lower-grid{grid-template-columns:1fr}.billing-hero{padding:24px}.billing-hero-mark{width:58px;height:58px;font-size:28px}.billing-price-row{display:block}.billing-price-row small{display:block;margin-top:5px}}
.profile-services-card{grid-column:1/-1}.profile-service-account{color:#8b9a9e;font-size:11px}.profile-service-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.profile-service-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px;border:1px solid #edf1f2;border-radius:12px;background:#fbfcfc}.profile-service-item>div{display:flex;align-items:center;gap:10px}.profile-service-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#e7f3f5;color:#548f9c;font-size:13px;font-weight:700}.profile-service-icon.is-teal{background:#f3eae3;color:#b0785f}.profile-service-item strong,.profile-service-item small{display:block}.profile-service-item strong{font-size:13px;color:#314d57}.profile-service-item small{margin-top:4px;color:#93a1a5;font-size:11px}.profile-service-state{color:#6f9b88;font-size:11px}.profile-service-buy{padding:7px 11px;border:1px solid #82aeb6;border-radius:7px;background:#fff;color:#548f9c;font-size:11px;cursor:pointer}.profile-service-history{display:flex;align-items:center;justify-content:space-between;margin-top:16px;padding-top:14px;border-top:1px solid #edf1f2;color:#74868b;font-size:12px}@media(max-width:720px){.profile-services-card{grid-column:auto}.profile-service-grid{grid-template-columns:1fr}.profile-service-account{display:none}}
.account-popover{position:fixed;left:16px;bottom:82px;z-index:25;width:292px;padding:10px;border:1px solid rgba(215,226,229,.95);border-radius:16px;background:rgba(255,255,255,.96);box-shadow:0 18px 44px rgba(31,58,68,.18),0 2px 8px rgba(31,58,68,.06);backdrop-filter:blur(18px);opacity:0;visibility:hidden;transform:translateY(8px) scale(.98);transform-origin:left bottom;transition:opacity .16s ease,transform .16s ease,visibility .16s ease}.account-popover.is-open{opacity:1;visibility:visible;transform:translateY(0) scale(1)}.account-popover-head{display:flex;align-items:center;gap:10px;padding:7px 8px 10px}.account-popover-avatar{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#8ABCD1;color:#1A3540;font-size:13px;font-weight:700}.account-popover-head strong,.account-popover-head small{display:block}.account-popover-head strong{color:#263f49;font-size:13px}.account-popover-head small{max-width:208px;margin-top:2px;overflow:hidden;color:#91a0a4;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.account-popover-divider{height:1px;margin:2px 7px;background:#edf1f2}.account-popover-item{display:flex;align-items:center;gap:10px;width:100%;min-height:39px;padding:0 9px;border:0;border-radius:9px;background:transparent;color:#415b64;font:inherit;font-size:13px;text-align:left;cursor:pointer}.account-popover-item:hover{background:#f1f7f8;color:#294956}.account-popover-icon{display:grid;place-items:center;width:20px;color:#7c9da5;font-size:16px}.account-popover-arrow{margin-left:auto;color:#a2b0b3;font-size:19px}.account-popover-item.is-danger{color:#a86f66}.account-popover-item.is-danger .account-popover-icon{color:#c18377}@media(max-width:700px){.account-popover{left:12px;bottom:76px;width:calc(100vw - 24px);max-width:292px}}
.account-popover-head{border-radius:10px}.account-popover-head-meta{flex:1;min-width:0;padding:2px 4px;border-radius:8px;cursor:pointer}.account-popover-head-meta:hover{background:#f1f7f8}.account-popover-avatar{flex:0 0 auto;padding:0;border:0;cursor:pointer;overflow:hidden}.account-popover-avatar img{display:block;width:100%;height:100%;object-fit:cover;border-radius:50%}.account-popover-avatar.has-image{background:transparent;box-shadow:0 0 0 1px rgba(138,188,209,.45)}.avatar-preview-overlay{align-items:center;justify-content:center;padding:32px}.avatar-preview-dialog{position:relative;max-width:min(92vw,440px);max-height:min(92vh,440px);padding:0;border-radius:16px;background:#fff;box-shadow:0 24px 70px rgba(15,23,42,.28);overflow:hidden}.avatar-preview-dialog img{display:block;width:100%;max-height:min(92vh,440px);object-fit:contain;background:#f3f6f7}.avatar-preview-close{position:absolute;top:8px;right:8px;z-index:1;background:rgba(255,255,255,.92);box-shadow:0 2px 8px rgba(15,23,42,.12)}
.account-popover-item.is-current{background:#eef5f8;color:#1f2a30;box-shadow:inset 3px 0 0 #e9ad5f}
.workspace-shell .organization-page{max-width:520px;margin:0}
.security-group{overflow:hidden;border:1px solid #e3eaec;border-radius:12px;background:#fff;box-shadow:0 1px 2px rgba(31,42,48,.08)}
.security-group+.security-group{margin-top:20px}
.security-row{display:grid;grid-template-columns:112px 1fr;gap:16px;align-items:center;min-height:56px;padding:10px 20px}
.security-row+.security-row{border-top:1px solid #e3eaec}
.security-row label{font-size:14px;color:#1f2a30}
.security-row input{width:100%;height:36px;padding:0 12px;border:1px solid #d3dbe0;border-radius:8px;background:#fff;color:#1f2a30;font:inherit;font-size:14px}
.security-row input:focus{outline:none;border-color:#5a94a8;box-shadow:0 0 0 3px rgba(66,126,148,.16)}
.security-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:12px 20px;border-top:1px solid #e3eaec;background:#fbfcfd}
.security-message{min-height:18px;margin-right:auto;color:#15803d;font-size:13px}
.security-message.is-error{color:#8a2524}
.security-save{height:36px;padding:0 16px;border:1px solid #3a7088;border-radius:8px;background:#427e94;color:#fff;font:600 13px/1 inherit;cursor:pointer}
.security-save:hover{background:#3a7088}
.security-save:disabled{opacity:.55;cursor:not-allowed}
.security-deactivate{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:64px;padding:14px 20px}
.security-deactivate strong{font-size:14px;font-weight:600;color:#1f2a30}
.security-deactivate-btn{height:36px;padding:0 14px;border:1px solid #ead2ce;border-radius:8px;background:transparent;color:#8a2524;font:600 13px inherit;cursor:pointer}
.security-deactivate-btn:hover{background:#f5eded}
.security-modal{position:fixed;inset:0;z-index:40;display:grid;place-items:center;background:rgba(31,42,48,.28)}
.security-modal[hidden]{display:none!important}
.security-modal-dialog{width:min(380px,calc(100vw - 32px));padding:24px 24px 18px;border-radius:16px;background:#fff;box-shadow:0 24px 70px rgba(25,45,52,.22)}
.security-modal-dialog h2{margin:0 0 8px;color:#1f2a30;font-size:17px;letter-spacing:-.02em}
.security-modal-dialog p{margin:0 0 16px;color:#55636d;font-size:14px;line-height:1.5}
.security-modal-field{display:grid;gap:8px;margin:0 0 16px;color:#1f2a30;font-size:14px}
.security-modal-field input{height:36px;padding:0 12px;border:1px solid #d3dbe0;border-radius:8px;background:#fff;color:#1f2a30;font:inherit;font-size:14px}
.security-modal-field input:focus{outline:none;border-color:#5a94a8;box-shadow:0 0 0 3px rgba(66,126,148,.16)}
.security-modal-error{margin:-8px 0 16px!important;color:#8a2524!important}
.security-modal-actions{display:flex;justify-content:flex-end;gap:8px}
.security-modal-cancel{height:36px;padding:0 14px;border:1px solid #d3dbe0;border-radius:8px;background:#fff;font:600 13px inherit;cursor:pointer}
.security-modal-confirm{height:36px;padding:0 14px;border:0;border-radius:8px;background:#8a2524;color:#fff;font:600 13px inherit;cursor:pointer}
.security-modal-confirm:disabled{opacity:.55;cursor:not-allowed}
@media(max-width:720px){.security-row{grid-template-columns:1fr;gap:6px;padding:12px 16px}.security-deactivate{flex-direction:column;align-items:stretch}.security-deactivate-btn{width:100%}}
.plan-summary-head-actions{display:flex;align-items:center;gap:12px;margin-left:auto}.plan-summary-head-actions .secondary-button{white-space:nowrap}

/* Quick aggregate action: it opens the existing calculation picker in place
   and inserts SUM([field]) after the user chooses a numeric field. */
.legacy-module-page.plans-workflow-page .mapping-calculation-quick-tools{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  min-height:36px;
  margin-top:2px;
}
.legacy-module-page.plans-workflow-page .mapping-sum-field{
  display:inline-grid;
  place-items:center;
  width:34px;
  min-width:34px;
  height:34px;
  padding:0;
  border:1px solid rgba(138,37,36,.18);
  border-radius:8px;
  background:#fff;
  color:#8a2524;
  cursor:pointer;
  transition:background-color .15s,border-color .15s,color .15s,box-shadow .15s;
}
.legacy-module-page.plans-workflow-page .mapping-sum-field .fi{
  font-size:16px;
}
.legacy-module-page.plans-workflow-page .mapping-sum-field:hover,
.legacy-module-page.plans-workflow-page .mapping-sum-field:focus-visible{
  border-color:#8a2524;
  background:#fbf3f1;
  box-shadow:0 0 0 3px rgba(138,37,36,.1);
  outline:0;
}

/* Keep the picker attached to its trigger while the page scrolls. */
.legacy-module-page.plans-workflow-page .calculation-variable-wrap{
  position:relative;
  width:100%;
  min-width:0;
  overflow:visible !important;
}
.legacy-module-page.plans-workflow-page .calculation-variable-panel{
  position:absolute !important;
  top:calc(100% + 6px) !important;
  left:0 !important;
  right:auto !important;
  z-index:10001;
}
.legacy-module-page.plans-workflow-page .calculation-variable-panel.is-submenu-left{
  left:auto !important;
  right:0 !important;
}

/* The formula cascade is mounted on body, so keep its compact layout
   unscoped just like the source-field cascade. */
.calculation-variable-panel{
  display:block !important;
  width:184px !important;
  max-width:none !important;
  max-height:330px !important;
  overflow:visible !important;
  border:1px solid #dfe6ea !important;
  border-radius:10px !important;
  background:#fff !important;
  box-shadow:0 10px 28px rgba(31,53,66,.15) !important;
}
.calculation-variable-panel[hidden]{display:none !important}
.calculation-variable-panel .calculation-variable-categories{
  width:100%;max-height:330px;box-sizing:border-box;overflow-y:auto;padding:5px;border:0;background:#fff;border-radius:10px;
}
.calculation-variable-panel .calculation-variable-items,
.calculation-variable-panel .calculation-variable-fields{
  position:absolute;top:0;width:282px;max-height:330px;box-sizing:border-box;overflow-y:auto;padding:5px;border:1px solid #dfe6ea;border-radius:10px;background:#fff;box-shadow:0 10px 28px rgba(31,53,66,.15);
}
.calculation-variable-panel .calculation-variable-items{left:calc(100% + 6px)}
.calculation-variable-panel .calculation-variable-fields{left:calc(100% + 294px);width:236px}
.calculation-variable-panel.is-submenu-left .calculation-variable-items{left:auto;right:calc(100% + 6px)}
.calculation-variable-panel.is-submenu-left .calculation-variable-fields{left:auto;right:calc(100% + 294px)}
.calculation-variable-panel .calculation-variable-category,
.calculation-variable-panel .calculation-variable-item{
  display:flex;align-items:center;justify-content:space-between;gap:7px;width:100%;min-height:36px;box-sizing:border-box;padding:0 9px;border:0;border-radius:7px;background:transparent;font:inherit;font-size:13px;text-align:left;cursor:pointer;white-space:nowrap;overflow:hidden;
}
.calculation-variable-panel .calculation-variable-category.blue{color:#397f96}
.calculation-variable-panel .calculation-variable-category.brown{color:#8a5a3c}
.calculation-variable-panel .calculation-variable-category:hover,
.calculation-variable-panel .calculation-variable-category.is-active{background:#eaf4f7;color:#3f7f96;font-weight:600}
.calculation-variable-panel .calculation-variable-category.brown:hover,
.calculation-variable-panel .calculation-variable-category.brown.is-active{background:#f6eee8;color:#8a5a3c}
.calculation-variable-panel .calculation-variable-category span:first-of-type{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:#edf1f3;color:#8a9aa2;font-size:10px;font-weight:600}
.calculation-variable-panel .calculation-variable-category-chevron{min-width:0 !important;height:auto !important;padding:0 !important;border-radius:0 !important;background:transparent !important;color:#94a4ab !important;font-size:18px !important;line-height:1 !important;font-weight:400 !important}
.calculation-variable-panel .calculation-variable-category:hover .calculation-variable-category-chevron,
.calculation-variable-panel .calculation-variable-category.is-active .calculation-variable-category-chevron{color:#397f96 !important}
.calculation-variable-panel .calculation-variable-category-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.calculation-variable-panel .calculation-variable-category-meta{display:inline-flex;align-items:center;justify-content:flex-end;gap:8px;min-width:48px;margin-left:auto;flex:0 0 auto}
.calculation-variable-panel .calculation-variable-category-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:#edf1f3;color:#8a9aa2;font-size:10px;font-weight:600;line-height:20px}
.calculation-variable-panel .calculation-variable-category:hover .calculation-variable-category-count,
.calculation-variable-panel .calculation-variable-category.is-active .calculation-variable-category-count{background:#e8f3f8;color:#5a94a8}
.calculation-variable-panel .calculation-variable-item{padding:0 12px;color:#26343c;font-weight:500;text-overflow:ellipsis}
.calculation-variable-panel .calculation-variable-item:hover,
.calculation-variable-panel .calculation-variable-item.is-active{background:#e6f2f6;color:#326f86}
.calculation-variable-panel .calculation-variable-fields .calculation-variable-field{color:#593a28}
.calculation-variable-panel .calculation-variable-chevron{flex:0 0 auto;color:#9aaab1;font-size:18px;line-height:1}
.calculation-variable-panel .calculation-variable-empty{display:block;padding:18px 12px;color:#9fb0b8;font-size:12px}
@media(max-width:900px){
  .calculation-variable-panel .calculation-variable-items{width:240px}
  .calculation-variable-panel .calculation-variable-fields{left:calc(100% + 252px);width:210px}
  .calculation-variable-panel.is-submenu-left .calculation-variable-fields{right:calc(100% + 252px)}
}
@media(max-width:600px){
  .calculation-variable-panel{width:min(184px,calc(100vw - 24px)) !important}
  .calculation-variable-panel .calculation-variable-items,
  .calculation-variable-panel .calculation-variable-fields{position:relative;left:auto;right:auto;top:auto;width:100%;max-height:160px;border:0;border-top:1px solid #eef2f4;border-radius:0;box-shadow:none}
}

/* 自定义计算区域在宽屏下保留更舒展的编辑宽度；移动端仍回到容器宽度。 */
@media(min-width:901px){
  .legacy-module-page.plans-workflow-page .mapping-calculation-tools{
    width:120%;
    max-width:calc(100% + 180px);
    box-sizing:border-box;
  }
  .legacy-module-page.plans-workflow-page .mapping-table td:nth-child(4){overflow:visible;}
}
@media(max-width:600px){
  .legacy-module-page.plans-workflow-page .calculation-variable-panel{width:min(184px,calc(100vw - 24px)) !important}
  .legacy-module-page.plans-workflow-page .calculation-variable-panel .calculation-variable-items,
  .legacy-module-page.plans-workflow-page .calculation-variable-panel .calculation-variable-fields{position:relative;left:auto;right:auto;top:auto;width:100%;max-height:160px;border:0;border-top:1px solid #eef2f4;border-radius:0;box-shadow:none}
}

.workspace-shell .tasks-page{
  margin:-24px -30px -44px;
  min-height:calc(100vh - 104px);
  background:linear-gradient(180deg,#f3f8fa 0%,var(--tp-bg) 38%,#fbfcfd 100%);
  padding:32px 40px 40px;
  max-width:100%;
}

/* ── 页头（直接铺在页面背景上） ── */
.tp-page-head{
  display:flex;align-items:flex-start;justify-content:space-between;gap:28px;
  margin-bottom:20px;
}
.tp-page-head-main{min-width:0;flex:1}
.tp-eyebrow{
  margin:0 0 8px;color:var(--tp-primary-deep);font-size:12px;font-weight:700;
  letter-spacing:.08em;text-transform:uppercase;
}
.tp-hero-title-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.tp-title{
  font-size:30px;font-weight:700;color:var(--tp-text);
  margin:0;letter-spacing:-.03em;line-height:1.1;
}
.tp-hero-pill{
  display:inline-flex;align-items:center;height:26px;padding:0 10px;
  border-radius:999px;background:var(--tp-accent-soft);color:#92400e;
  font-size:12px;font-weight:700;
}
.tp-hero-desc{margin:10px 0 0;color:var(--tp-text-tert);font-size:13px;line-height:1.6}
.tp-stat-grid{display:flex;gap:24px;flex-shrink:0;padding-top:6px}
.tp-stat{text-align:center}
.tp-stat strong{display:block;color:var(--tp-text);font-size:24px;font-weight:700;line-height:1.1}
.tp-stat span{display:block;margin-top:4px;color:var(--tp-text-tert);font-size:12px}

/* ── 主按钮（秋波蓝渐变） ── */
.tp-btn-primary{
  display:inline-flex;align-items:center;gap:6px;
  height:38px;padding:0 18px;
  border:1px solid #7ab5be;border-radius:var(--tp-radius-sm);
  background:var(--tp-primary-grad);
  color:#1f3a44;font-size:13px;font-weight:700;font-family:inherit;
  cursor:pointer;transition:all .18s ease;white-space:nowrap;
  box-shadow:0 2px 6px rgba(90,148,168,.25);
}
.tp-btn-primary:hover{
  background:linear-gradient(180deg,#8ABCD1,#6FA8B8);
  color:#173b45;
  transform:translateY(-1px);
  box-shadow:0 4px 10px rgba(90,148,168,.3);
}
.tp-btn-primary:active{transform:translateY(0);box-shadow:0 1px 3px rgba(90,148,168,.2)}

.tp-btn-secondary{
  display:inline-flex;align-items:center;gap:6px;
  height:38px;padding:0 16px;
  border:1px solid var(--tp-gray-4);border-radius:var(--tp-radius-sm);
  background:#fff;color:var(--tp-text-sec);font-size:13px;font-weight:600;font-family:inherit;
  cursor:pointer;transition:all .18s ease;white-space:nowrap;
}
.tp-btn-secondary:hover{background:#fff;border-color:var(--tp-primary);color:var(--tp-primary-deep)}

/* ── 文字按钮 ── */
.tp-btn-text{
  display:inline-flex;align-items:center;gap:4px;
  padding:5px 10px;border:none;border-radius:6px;
  background:transparent;color:var(--tp-primary-deep);
  font-size:13px;font-family:inherit;
  cursor:pointer;transition:background .15s;white-space:nowrap;
}
.tp-btn-text:hover{background:var(--tp-primary-faint)}
.tp-btn-text-danger{color:var(--tp-danger)}
.tp-btn-text-danger:hover{background:var(--tp-danger-soft)}

/* ── 工具栏 ── */
.tp-toolbar{
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  margin-bottom:0;padding:0 0 10px;
  border-bottom:1px solid var(--tp-gray-4);
}
.tp-toolbar-right{
  display:flex;align-items:center;gap:10px;flex-shrink:0;
}
.tp-filter-bar{display:flex;flex-wrap:wrap;gap:8px;flex:1;min-width:0}
.tp-chip{
  height:32px;padding:0 14px;border:1px solid var(--tp-gray-4);border-radius:var(--tp-radius-sm);
  background:#fff;color:var(--tp-text-sec);font:inherit;font-size:12px;font-weight:600;
  cursor:pointer;transition:all .15s ease;
}
.tp-chip:hover{border-color:var(--tp-primary);color:var(--tp-primary-deep);background:var(--tp-primary-faint)}
.tp-chip.is-active{
  border-color:var(--tp-primary);background:var(--tp-primary-soft);
  color:var(--tp-primary-deep);box-shadow:inset 0 0 0 1px rgba(138,189,209,.25);
}
.tp-search-group{display:flex;align-items:center;gap:8px}
.tp-search{position:relative;width:280px;max-width:42vw}
.tp-search-icon{
  position:absolute;left:12px;top:50%;transform:translateY(-50%);
  color:var(--tp-text-tert);pointer-events:none;
}
.tp-search-input{
  width:100%;height:38px;padding:0 14px 0 36px;
  border:1px solid var(--tp-gray-4);border-radius:var(--tp-radius-sm);
  background:var(--tp-card);font-size:13px;font-family:inherit;
  color:var(--tp-text);outline:none;
  transition:border-color .18s,box-shadow .18s,background .18s;
  box-sizing:border-box;
}
.tp-search-input::placeholder{color:var(--tp-gray-2)}
.tp-search-input:focus{
  border-color:var(--tp-primary);
  box-shadow:0 0 0 3px rgba(138,189,209,.2);
  background:#fff;
}
.tp-btn-search{
  height:38px;padding:0 16px;border:1px solid var(--tp-primary);border-radius:var(--tp-radius-sm);
  background:var(--tp-primary-soft);color:var(--tp-primary-deep);
  font:inherit;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap;
  transition:all .15s ease;
}
.tp-btn-search:hover{background:var(--tp-primary-faint);border-color:var(--tp-primary-deep)}

/* ── 任务列表（行直接铺在页面背景上） ── */
.tasks-page > .tp-row{
  display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;
  padding:10px 0 10px 14px;
  border-bottom:1px solid var(--tp-gray-5);
  transition:background .12s ease;
  position:relative;
}
.tasks-page > .tp-row:first-of-type{padding-top:10px}
.tasks-page > .tp-row:last-child{border-bottom:none}
.tasks-page > .tp-row:hover{background:rgba(255,255,255,.45)}
.tasks-page > .tp-row.is-active{
  background:linear-gradient(90deg,rgba(221,236,240,.75) 0%,rgba(255,255,255,.2) 100%);
}
.tasks-page > .tp-row.is-active::before{
  content:"";position:absolute;left:0;top:8px;bottom:8px;width:3px;
  background:var(--tp-accent);border-radius:0 2px 2px 0;
}
.tp-row-icon{
  width:42px;height:42px;display:grid;place-items:center;
  border-radius:12px;flex-shrink:0;
}
.tp-type-matching{color:#3f7486;background:#eef5f8}
.tp-type-invoice{color:#1d4ed8;background:#eff6ff}
.tp-type-legal{color:#92400e;background:#fff7df}
.tp-row-main{min-width:0}
.tp-row-top{display:flex;align-items:center;gap:10px;margin-bottom:6px}
.tp-row-name{
  margin:0;font-size:15px;font-weight:600;color:var(--tp-text);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:520px;
}
.tp-badge{
  display:inline-flex;align-items:center;
  padding:2px 9px;border-radius:999px;
  font-size:11px;font-weight:700;white-space:nowrap;
  letter-spacing:.01em;
}
.tp-badge-active{
  background:var(--tp-accent-soft);
  color:#a16207;
}
.tp-row-meta{
  display:flex;align-items:center;gap:8px;flex-wrap:wrap;
  font-size:12px;color:var(--tp-text-tert);
}
.tp-meta-chip{
  display:inline-flex;align-items:center;height:auto;padding:0;
  border-radius:0;font-size:12px;font-weight:500;
  background:transparent;border:none;
}
.tp-meta-chip-module{background:transparent;color:var(--tp-text-tert)}
.tp-meta-chip-type{background:transparent;color:var(--tp-text-tert);border:none}
.tp-meta-chip-retention{background:#fff7ed;color:#c2410c;border:1px solid #fed7aa}
.recognition-original-retention-note{
  margin:0 0 12px;padding:10px 12px;border-radius:10px;
  background:#fff7ed;color:#9a3412;border:1px solid #fed7aa;font-size:13px;line-height:1.5;
}
.legacy-module-page > .recognition-original-retention-note{margin:0 0 16px}
.tp-row-company{
  max-width:240px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.tp-row-time{margin-left:auto;color:var(--tp-gray-2);font-size:11px;white-space:nowrap}
.tp-row-actions{
  display:grid;
  grid-template-columns:32px 32px 108px;
  gap:8px;
  align-items:center;
  flex-shrink:0;
}
.tp-btn-icon{
  width:32px;height:32px;padding:0;box-sizing:border-box;
  display:inline-flex;align-items:center;justify-content:center;
  border:1px solid var(--tp-gray-5);border-radius:var(--tp-radius-sm);
  background:#fff;color:var(--tp-text-tert);line-height:0;
  cursor:pointer;transition:all .15s ease;
}
.tp-btn-icon svg,.tp-btn-icon img{display:block;width:16px;height:16px;flex:none;object-fit:contain}
.tp-btn-icon:hover{background:var(--tp-primary-faint);color:var(--tp-primary-deep);border-color:var(--tp-primary-soft)}
.tp-btn-icon-danger:hover{background:var(--tp-danger-soft);color:var(--tp-danger);border-color:#f0d8d8}
.tp-btn-go{
  display:inline-flex;align-items:center;justify-content:center;gap:6px;
  width:108px;height:32px;padding:0;box-sizing:border-box;
  border:1px solid var(--tp-gray-5);border-radius:var(--tp-radius-sm);
  background:#fff;color:var(--tp-text);
  font-size:12px;font-weight:600;font-family:inherit;line-height:1;
  cursor:pointer;transition:all .15s;white-space:nowrap;
}
.tp-btn-go:hover{
  background:var(--tp-primary-faint);
  border-color:var(--tp-primary-soft);
  color:var(--tp-primary-deep);
}
.tp-btn-go.is-primary{
  border-color:#7ab5be;background:var(--tp-primary-grad);color:#1f3a44;font-weight:700;
  box-shadow:0 2px 6px rgba(90,148,168,.22);
}
.tp-btn-go.is-primary:hover{
  background:linear-gradient(180deg,#8ABCD1,#6FA8B8);
  color:#173b45;
}
.tp-btn-go svg{display:block;width:12px;height:12px;flex:none;transition:transform .15s}
.tp-btn-go:hover svg{transform:translateX(2px)}

/* ── 空状态 ── */
.tp-empty{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  margin-top:20px;padding:72px 0;color:var(--tp-text-tert);text-align:center;
}
.tp-empty-icon{
  width:72px;height:72px;display:grid;place-items:center;margin-bottom:18px;
  border-radius:20px;background:var(--tp-primary-soft);color:var(--tp-primary-deep);
}
.tp-empty h3{font-size:18px;font-weight:600;color:var(--tp-text);margin:0 0 8px}
.tp-empty p{font-size:13px;color:var(--tp-text-tert);margin:0 0 18px;max-width:360px;line-height:1.7}

/* ── 加载/错误 ── */
.tp-loading,.tp-error{
  display:flex;align-items:center;justify-content:center;
  padding:80px;color:var(--tp-text-tert);font-size:14px;
}

/* ========================================================
   台账方案列表 · 与任务页一致的扁平工作台风格
   ======================================================== */
.workspace-shell .plans-page{
  margin:-24px -30px -44px;
  min-height:calc(100vh - 104px);
  background:linear-gradient(180deg,#f3f8fa 0%,var(--tp-bg) 38%,#fbfcfd 100%);
  padding:32px 40px 40px;
  max-width:100%;
}
.plans-loading{
  display:flex;align-items:center;justify-content:center;
  min-height:240px;color:var(--tp-text-tert);font-size:14px;
}
.plans-page > .plans-row{
  display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;
  padding:16px 0;border-bottom:1px solid var(--tp-gray-5);
  transition:background .12s ease;
}
.plans-page > .plans-row:first-of-type{padding-top:20px}
.plans-page > .plans-row:last-child{border-bottom:none}
.plans-page > .plans-row:hover{background:rgba(255,255,255,.45)}
.plans-row-icon{
  width:42px;height:42px;display:grid;place-items:center;
  border-radius:12px;flex-shrink:0;
}
.plans-type-matching{color:#3f7486;background:#eef5f8}
.plans-type-litigation{color:#7c3aed;background:#f5f3ff}
.plans-type-invoice{color:#1d4ed8;background:#eff6ff}
.plans-row-main{min-width:0}
.plans-row-top{display:flex;align-items:center;gap:10px;margin-bottom:6px;flex-wrap:wrap}
.plans-row-name{
  margin:0;font-size:15px;font-weight:600;color:var(--tp-text);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:520px;
}
.plans-meta-chip{
  display:inline-flex;align-items:center;height:22px;padding:0 8px;
  border-radius:999px;background:var(--tp-primary-faint);color:var(--tp-primary-deep);
  font-size:11px;font-weight:600;
}
.plans-row-meta{
  display:flex;align-items:center;gap:8px;flex-wrap:wrap;
  font-size:12px;color:var(--tp-text-tert);
}
.plans-row-time{margin-left:auto;color:var(--tp-gray-2);font-size:11px;white-space:nowrap}
.plans-row-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}
.plans-empty{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  margin-top:20px;padding:72px 0;text-align:center;
}
.plans-empty-icon{
  width:72px;height:72px;display:grid;place-items:center;margin-bottom:18px;
  border-radius:20px;background:var(--tp-primary-soft);color:var(--tp-primary-deep);
}
.plans-empty h3{font-size:18px;font-weight:600;color:var(--tp-text);margin:0 0 8px}
.plans-empty p{font-size:13px;color:var(--tp-text-tert);margin:0 0 18px;max-width:360px;line-height:1.7}
@media(max-width:900px){
  .workspace-shell .plans-page{padding:24px 20px 32px}
  .plans-page > .plans-row{grid-template-columns:auto minmax(0,1fr);padding:14px 0}
  .plans-page > .plans-row .plans-row-actions{grid-column:2;justify-content:flex-end;margin-top:4px}
  .plans-row-name{max-width:220px}
  .plans-row-time{margin-left:0}
}
@media(max-width:560px){
  .workspace-shell .plans-page{padding:20px 16px 28px}
  .plans-row-time{display:none}
}

/* ========================================================
   新建/编辑台账方案工作流 · 扁平风格
   ======================================================== */
.plans-page.plans-workflow-page .template-plan-setup,
.plans-page.plans-workflow-page .template-upload-surface{
  margin:0;border:0;border-radius:0;background:transparent;box-shadow:none;
}
.plans-workflow-head{
  display:flex;align-items:flex-start;justify-content:space-between;gap:20px;
  margin-bottom:36px;padding-bottom:28px;border-bottom:1px solid var(--tp-gray-4);
}
.plans-page.plans-workflow-page .tp-hero-desc{
  margin-top:10px;color:var(--tp-text-sec);font-size:13px;line-height:1.7;
}
.plans-workflow-head-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}
.plans-workflow-steps{
  display:flex;flex-wrap:wrap;gap:8px;margin-top:16px;
}
.plans-workflow-step{
  display:inline-flex;align-items:center;height:30px;padding:0 12px;
  border:1px solid var(--tp-gray-4);border-radius:999px;
  background:#fff;color:var(--tp-text-tert);font-size:12px;font-weight:600;
}
.plans-workflow-step.is-active{
  border-color:var(--tp-primary);background:var(--tp-primary-soft);color:var(--tp-primary-deep);
}
.plans-workflow-section{margin-top:36px}
.plans-workflow-section:first-of-type{margin-top:0}
.plans-workflow-section#templateUploadSurface{margin-top:20px}
.plans-workflow-stepmeta{
  display:flex;align-items:center;justify-content:flex-start;gap:10px;
  margin-bottom:20px;
}
.plans-workflow-section-title{
  margin:0 0 20px;color:var(--tp-text);font-size:16px;font-weight:700;
}
.plans-workflow-section-head{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  margin-bottom:20px;
}
.plans-workflow-section-head .plans-workflow-section-title{margin:0}
.plans-workflow-form{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 24px;max-width:920px;
}
.plans-scope-field{grid-column:1/-1;border:0;margin:0;padding:0;min-width:0}
.plans-scope-field legend{margin-bottom:8px;font-size:13px;font-weight:600;color:var(--tp-text)}
.plans-scope-option{display:flex;align-items:flex-start;gap:10px;margin:0 0 8px;padding:10px 12px;border:1px solid var(--tp-gray-4);border-radius:10px;background:#fff;cursor:pointer}
.plans-scope-option:has(input:checked){border-color:var(--tp-primary);background:var(--tp-primary-faint)}
.plans-scope-option input{margin-top:3px}
.plans-scope-option span{display:grid;gap:2px}
.plans-scope-option b{font-size:13px;color:var(--tp-text)}
.plans-scope-option em{font-style:normal;font-size:12px;color:var(--tp-text-tert)}
.plans-field > span{font-size:13px;font-weight:600;color:var(--tp-text)}
.plans-field .req{color:var(--tp-danger);margin-left:2px}
.plans-workflow-next{display:flex;margin:24px 0 0 auto}
.plans-workflow-upload{max-width:920px}
.plans-workflow-upload .template-upload-progress{margin-top:14px}
.plans-upload-bar{
  display:flex;align-items:center;gap:16px;padding:18px 20px;
  border:1.5px dashed var(--tp-gray-4);border-radius:var(--tp-radius);
  background:linear-gradient(180deg,#fcfeff,#f4f9fb);cursor:pointer;
  transition:border-color .15s,background .15s;
}
.plans-upload-bar:hover:not(.locked){border-color:var(--tp-primary);background:#f7fbfc}
.plans-upload-bar.locked{opacity:.62;cursor:not-allowed}
.plans-upload-bar.drag{border-color:var(--tp-primary);background:#eef5f8}
.plans-upload-bar.busy{opacity:.72;pointer-events:none}
.plans-upload-bar-icon{
  width:44px;height:44px;display:grid;place-items:center;flex-shrink:0;
  border-radius:12px;background:var(--tp-primary-soft);color:var(--tp-primary-deep);
}
.plans-upload-bar-copy{flex:1;min-width:0}
.plans-upload-bar-copy .upload-bar-title{color:var(--tp-text);font-size:14px;font-weight:600}
.plans-upload-bar-copy .upload-bar-sub{margin-top:4px;color:var(--tp-text-tert);font-size:12px;line-height:1.5}
.plans-upload-note{margin-top:14px;color:var(--tp-text-sec);font-size:13px;line-height:1.6}
.plans-upload-note[hidden]{display:none!important}
.plans-status-pill{
  display:inline-flex;align-items:center;height:26px;padding:0 10px;border-radius:999px;
  font-size:12px;font-weight:600;white-space:nowrap;
}
.plans-status-pill.is-warn{background:var(--tp-accent-soft);color:#92400e}
.plans-status-pill.is-ready{background:var(--tp-primary-soft);color:var(--tp-primary-deep)}
.plans-form-msg{min-height:20px;margin-top:16px;color:var(--tp-danger);font-size:13px}
.plans-default-template-row{
  display:flex;align-items:center;gap:12px;margin-top:14px;flex-wrap:wrap;
}
.plans-default-template-note{color:var(--tp-text-tert);font-size:12px;line-height:1.5;}
.plans-page.plans-workflow-page #templateUploadSurface #uploadStepStatus{display:inline-flex!important}
.plans-page.plans-workflow-page #templateUploadSurface .template-locked-note{display:block!important}
.plans-page.plans-workflow-page #templateUploadSurface .upload-bar-sub{display:block!important}
.plans-page.plans-workflow-page #templateUploadSurface .template-upload-head>button{display:none!important}
.plans-workflow-next[hidden],.plans-workflow-section[hidden]{display:none!important}
@media(max-width:760px){
  .plans-workflow-head{flex-direction:column;align-items:stretch}
  .plans-workflow-form{grid-template-columns:1fr}
  .plans-upload-bar{flex-direction:column;align-items:stretch}
}

/* ── 表单 ── */
.tp-form{max-width:540px;margin:0 auto;padding:36px 40px 60px}
.tp-form-head{margin-bottom:24px}
.tp-form-head .tp-btn-text{padding:4px 8px;margin:-4px -8px 12px;font-size:13px}
.tp-form-head h2{
  font-size:22px;font-weight:700;color:var(--tp-text);
  margin:0;letter-spacing:-.02em;
}
.tp-form-body{
  background:var(--tp-card);
  border:1px solid var(--tp-gray-5);
  border-radius:var(--tp-radius);
  padding:28px;
  display:flex;flex-direction:column;gap:18px;
  box-shadow:var(--tp-shadow-sm);
}
.tp-field{display:flex;flex-direction:column;gap:6px}
.tp-field > span{font-size:13px;font-weight:600;color:var(--tp-text)}
.tp-field .req{color:var(--tp-danger);margin-left:2px}
.tp-input,.tp-select{
  height:38px;padding:0 14px;
  border:1px solid var(--tp-gray-4);border-radius:var(--tp-radius-sm);
  background:#fff;font-size:14px;font-family:inherit;
  color:var(--tp-text);outline:none;
  transition:border-color .18s,box-shadow .18s;
  box-sizing:border-box;width:100%;
}
.tp-input:focus,.tp-select:focus{
  border-color:var(--tp-primary);
  box-shadow:0 0 0 3px rgba(138,189,209,.2);
}
.tp-input::placeholder{color:var(--tp-gray-2)}
.tp-input[readonly]{background:var(--tp-bg);color:var(--tp-text-tert);cursor:default}
.tp-input-readonly{background:var(--tp-bg);color:var(--tp-text-tert);display:flex;align-items:center}
.tp-select{
  appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2371808D' d='M6 8L2 4h8z'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 14px center;
  padding-right:36px;cursor:pointer;
}
.tp-form-msg{font-size:12px;color:var(--tp-danger);min-height:18px}
.tp-form-actions{
  display:flex;justify-content:flex-end;gap:10px;
  margin-top:4px;padding-top:18px;border-top:1px solid #F0F4F6;
}

/* ── 企业搜索下拉 ── */
.tp-form .enterprise-picker{position:relative}
.tp-form .enterprise-suggestions{
  position:absolute;z-index:20;top:calc(100% + 4px);left:0;right:0;
  max-height:220px;overflow-y:auto;
  background:#fff;border:1px solid var(--tp-gray-4);border-radius:var(--tp-radius-sm);
  box-shadow:var(--tp-shadow-md);padding:4px;
}
.tp-form .enterprise-suggestion{
  display:flex;flex-direction:column;gap:2px;
  width:100%;padding:9px 12px;border:none;border-radius:6px;
  background:transparent;text-align:left;cursor:pointer;font:inherit;
}
.tp-form .enterprise-suggestion:hover{background:var(--tp-primary-faint)}

/* ===== 台账方案编辑页 · 苹果风格优化 ===== */
/* 使用双类选择器提升特异性，确保覆盖旧样式 */

/* 整体页面容器 */
.legacy-module-page.plans-workflow-page{
  max-width:1200px;
  margin:0 auto;
  padding:0 24px 40px;
  width:auto;
  min-width:0;
}

/* 顶部工具栏 */
.legacy-module-page.plans-workflow-page .template-workflow-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:24px 0 20px;
  margin:0 0 20px 0;
  border-bottom:1px solid rgba(0,0,0,.06);
  background:transparent;
}
.legacy-module-page.plans-workflow-page .template-workflow-toolbar strong{
  font-size:22px !important;
  font-weight:600 !important;
  color:#1d1d1f !important;
  letter-spacing:-.01em !important;
}
.legacy-module-page.plans-workflow-page .template-workflow-toolbar .secondary-button{
  height:36px;
  padding:0 16px;
  font-size:13px;
  border-radius:10px;
  background:rgba(0,0,0,.04);
  border:none;
  color:#1d1d1f;
  font-weight:500;
  transition:background .15s ease;
}
.legacy-module-page.plans-workflow-page .template-workflow-toolbar .secondary-button:hover{
  background:rgba(0,0,0,.08);
}

/* 方案基本信息卡片 */
.legacy-module-page.plans-workflow-page .plan-summary-surface{
  margin:0 0 24px 0;
  padding:20px 24px;
  background:linear-gradient(135deg,#f5fafb 0%,#eef4f7 100%);
  border-radius:16px;
  border:1px solid rgba(90,148,168,.12);
}
.legacy-module-page.plans-workflow-page .template-plan-setup-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.legacy-module-page.plans-workflow-page .template-plan-setup-title{
  font-size:15px;
  font-weight:600;
  color:#1d1d1f;
  margin:0 0 4px 0;
}
.legacy-module-page.plans-workflow-page .template-plan-setup-note{
  font-size:13px;
  color:#6e6e73;
  line-height:1.5;
}
.legacy-module-page.plans-workflow-page .plan-summary-surface .status{
  display:inline-flex !important;
  align-items:center;
  gap:6px;
  padding:6px 14px;
  font-size:12px;
  font-weight:500;
  border-radius:999px;
  background:rgba(53,166,111,.12);
  color:#248a57;
  border:none;
}
.legacy-module-page.plans-workflow-page .plan-summary-surface .status::before{
  content:"";
  width:6px;
  height:6px;
  border-radius:50%;
  background:#35a66f;
}

/* 字段映射主卡片 */
.legacy-module-page.plans-workflow-page .template-mapping-surface{
  background:#fff !important;
  border-radius:18px !important;
  border:1px solid rgba(0,0,0,.06) !important;
  box-shadow:0 1px 3px rgba(0,0,0,.04), 0 4px 16px rgba(0,0,0,.03) !important;
  overflow:hidden !important;
  margin:0 0 24px 0 !important;
  width:auto !important;
  min-width:0 !important;
  max-width:none !important;
}
.legacy-module-page.plans-workflow-page .panel-heading{
  padding:24px 28px 20px !important;
  border-bottom:1px solid rgba(0,0,0,.05) !important;
  background:#fafafa !important;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
}
.legacy-module-page.plans-workflow-page .panel-heading h2{
  font-size:18px !important;
  font-weight:600 !important;
  color:#1d1d1f !important;
  letter-spacing:-.01em !important;
  margin:0 0 6px 0 !important;
}
.legacy-module-page.plans-workflow-page .panel-note{
  font-size:13px;
  color:#6e6e73;
  margin:0;
  line-height:1.5;
}

/* 状态标签徽章 */
.legacy-module-page.plans-workflow-page .panel-heading .status-tag.success{
  display:inline-flex;
  align-items:center;
  padding:5px 14px;
  font-size:12px;
  font-weight:500;
  border-radius:999px;
  background:rgba(53,166,111,.1);
  color:#248a57;
  border:none;
  white-space:nowrap;
}

/* 模块选择器 */
.legacy-module-page.plans-workflow-page .capability-picker{
  margin:20px 28px;
  padding:18px 20px;
  background:#f5f5f7;
  border-radius:14px;
  border:none;
}
.legacy-module-page.plans-workflow-page .capability-picker .form-label-line{
  font-size:13px;
  font-weight:600;
  color:#1d1d1f;
  margin:0 0 12px 0;
  display:block;
}
.legacy-module-page.plans-workflow-page .capability-picker details{
  border:none;
  background:transparent;
}
.legacy-module-page.plans-workflow-page .capability-picker summary{
  list-style:none;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:10px 14px;
  background:#fff;
  border-radius:10px;
  font-size:13px;
  font-weight:500;
  color:#1d1d1f;
  border:1px solid rgba(0,0,0,.06);
  transition:border-color .15s ease;
}
.legacy-module-page.plans-workflow-page .capability-picker summary:hover{
  border-color:rgba(0,0,0,.12);
}
.legacy-module-page.plans-workflow-page .capability-picker summary::-webkit-details-marker{display:none;}
.legacy-module-page.plans-workflow-page .capability-picker summary span:last-child{
  font-size:11px;
  color:#86868b;
  transition:transform .2s ease;
}
.legacy-module-page.plans-workflow-page .capability-picker details[open] summary span:last-child{
  transform:rotate(180deg);
}
.legacy-module-page.plans-workflow-page .capability-options{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(220px,1fr));
  gap:10px;
  margin-top:14px;
}
.legacy-module-page.plans-workflow-page .plan-module-option{
  display:flex !important;
  align-items:flex-start;
  gap:10px;
  padding:14px !important;
  border:1px solid rgba(0,0,0,.08) !important;
  border-radius:12px !important;
  background:#fff !important;
  transition:all .18s ease;
}
.legacy-module-page.plans-workflow-page .plan-module-option:hover{
  border-color:rgba(90,148,168,.3) !important;
  box-shadow:0 2px 8px rgba(90,148,168,.08);
}
.legacy-module-page.plans-workflow-page .plan-module-option:has(input:checked){
  border-color:rgba(90,148,168,.5) !important;
  background:#f0f7f9 !important;
  box-shadow:0 0 0 3px rgba(90,148,168,.12);
}
.legacy-module-page.plans-workflow-page .plan-module-option input{
  margin-top:2px;
  accent-color:#5a94a8;
}
.legacy-module-page.plans-workflow-page .plan-module-option b{
  font-size:13px;
  font-weight:600;
  color:#1d1d1f;
}
.legacy-module-page.plans-workflow-page .plan-module-option em{
  font-size:11.5px;
  color:#6e6e73;
  font-style:normal;
  line-height:1.5;
  margin-top:3px;
}

/* 结构设置区域 */
.legacy-module-page.plans-workflow-page .template-structure-grid--litigation{
  grid-template-columns:minmax(320px,456px) minmax(0,1fr) !important;
  align-items:start !important;
}
.legacy-module-page.plans-workflow-page .template-structure-grid--litigation .template-structure-platform-note{
  margin:0;
  font-size:12px;
  line-height:1.5;
  color:#6b7280;
  font-weight:400;
}
.legacy-module-page.plans-workflow-page .template-structure-grid{
  display:grid;
  grid-template-columns:minmax(320px,456px) 104px 104px auto;
  align-items:end;
  justify-content:start;
  gap:16px;
  padding:18px 28px;
  border-bottom:1px solid rgba(0,0,0,.05);
  background:#fff;
}
.legacy-module-page.plans-workflow-page .template-structure-grid label{
  display:flex;
  flex-direction:column;
  gap:8px;
  font-size:13px;
  font-weight:500;
  color:#1d1d1f;
}
.legacy-module-page.plans-workflow-page .template-structure-grid .form-label-line{
  display:inline-flex;
  align-items:center;
  gap:3px;
  min-height:18px;
  white-space:nowrap;
  line-height:1.25;
}
.legacy-module-page.plans-workflow-page .template-structure-grid .req{
  display:inline;
  flex:0 0 auto;
  margin:0;
}
.legacy-module-page.plans-workflow-page .template-structure-grid .form-select{
  height:40px;
  padding:0 36px 0 14px;
  border:1px solid rgba(0,0,0,.1);
  border-radius:10px;
  background:#fff;
  font-size:13px;
  color:#1d1d1f;
  transition:border-color .15s ease, box-shadow .15s ease;
}
.legacy-module-page.plans-workflow-page .template-structure-grid .form-select:focus{
  outline:none;
  border-color:#5a94a8;
  box-shadow:0 0 0 4px rgba(90,148,168,.12);
}
.legacy-module-page.plans-workflow-page .template-structure-number .form-input{
  width:96px;
  height:40px;
  padding:0 12px;
  border:1px solid rgba(0,0,0,.1);
  border-radius:10px;
  font-size:14px;
  font-weight:500;
  text-align:center;
  transition:border-color .15s ease, box-shadow .15s ease;
}
.legacy-module-page.plans-workflow-page .template-structure-number .form-input:focus{
  outline:none;
  border-color:#5a94a8;
  box-shadow:0 0 0 4px rgba(90,148,168,.12);
}

/* 映射指南 */
.legacy-module-page.plans-workflow-page .mapping-guide{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin:20px 28px 0;
  padding:0;
  counter-reset:guide-step;
}
.legacy-module-page.plans-workflow-page .mapping-guide > div{
  display:flex;
  align-items:flex-start;
  gap:10px;
  padding:14px 16px;
  border:none;
  border-radius:12px;
  background:#f5f5f7;
  counter-increment:guide-step;
}
.legacy-module-page.plans-workflow-page .mapping-guide > div::before{
  content:counter(guide-step);
  flex:0 0 auto;
  width:24px;
  height:24px;
  display:inline-grid;
  place-items:center;
  border-radius:50%;
  background:#8ABCD1;
  color:#1A3540;
  font-size:12px;
  font-weight:600;
  box-shadow:0 1px 3px rgba(90,148,168,.3);
}
.legacy-module-page.plans-workflow-page .mapping-guide b{
  display:block;
  font-size:13px;
  font-weight:600;
  color:#1d1d1f;
  margin:0 0 3px 0;
}
.legacy-module-page.plans-workflow-page .mapping-guide span{
  font-size:12px;
  color:#6e6e73;
  line-height:1.5;
}

/* 字段映射表格 */
.legacy-module-page.plans-workflow-page .table-scroll{
  margin:16px 28px 0 !important;
  border-radius:12px;
  border:1px solid rgba(0,0,0,.06);
  overflow-x:auto !important;
  overflow-y:visible;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:thin;
  scrollbar-color:rgba(0,0,0,.15) transparent;
  position:relative;
}
.legacy-module-page.plans-workflow-page .table-scroll::-webkit-scrollbar{
  height:8px;
}
.legacy-module-page.plans-workflow-page .table-scroll::-webkit-scrollbar-track{
  background:transparent;
}
.legacy-module-page.plans-workflow-page .table-scroll::-webkit-scrollbar-thumb{
  background:rgba(0,0,0,.12);
  border-radius:4px;
}
.legacy-module-page.plans-workflow-page .table-scroll::-webkit-scrollbar-thumb:hover{
  background:rgba(0,0,0,.2);
}
.legacy-module-page.plans-workflow-page .mapping-table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
}
.legacy-module-page.plans-workflow-page .mapping-table thead th{
  padding:14px 20px !important;
  background:#fafafa !important;
  border-bottom:1px solid rgba(0,0,0,.06) !important;
  color:#6e6e73 !important;
  font-size:12px !important;
  font-weight:500 !important;
  letter-spacing:.02em !important;
  text-transform:none !important;
  white-space:nowrap;
}
.legacy-module-page.plans-workflow-page .mapping-table tbody tr{
  height:auto !important;
  transition:background-color .15s ease;
}
.legacy-module-page.plans-workflow-page .mapping-table tbody td{
  padding:18px 20px !important;
  border-bottom:1px solid rgba(0,0,0,.04) !important;
  background:#fff !important;
  vertical-align:middle !important;
}
.legacy-module-page.plans-workflow-page .mapping-table tbody tr:last-child td{
  border-bottom:none !important;
}
.legacy-module-page.plans-workflow-page .mapping-table tbody tr:hover td{
  background:#f9fafb !important;
}
.legacy-module-page.plans-workflow-page .mapping-table tbody tr:nth-child(even) td{
  background:#fcfcfd !important;
}
.legacy-module-page.plans-workflow-page .mapping-table tbody tr:nth-child(even):hover td{
  background:#f5f7fa !important;
}

/* 开关按钮品牌色 */
.legacy-module-page.plans-workflow-page .mapping-toggle{
  width:40px !important;
  min-width:40px !important;
  height:24px !important;
  border-radius:999px !important;
  background:#d1d1d6 !important;
  box-shadow:none !important;
  transition:background-color .2s ease !important;
}
.legacy-module-page.plans-workflow-page .mapping-toggle::after{
  top:2px !important;
  left:2px !important;
  width:20px !important;
  height:20px !important;
  border-radius:50% !important;
  background:#fff !important;
  box-shadow:0 2px 4px rgba(0,0,0,.15),0 1px 2px rgba(0,0,0,.1) !important;
  transition:transform .2s cubic-bezier(.4,0,.2,1) !important;
}
.legacy-module-page.plans-workflow-page .mapping-toggle.is-enabled{
  background:#5a94a8 !important;
  box-shadow:none !important;
}
.legacy-module-page.plans-workflow-page .mapping-toggle.is-enabled::after{
  transform:translateX(16px) !important;
}
.legacy-module-page.plans-workflow-page .mapping-toggle:hover{
  box-shadow:none !important;
}
.legacy-module-page.plans-workflow-page .mapping-toggle.is-enabled:hover{
  background:#4a8397 !important;
}
.legacy-module-page.plans-workflow-page .mapping-toggle.is-disabled:hover{
  background:#c1c1c6 !important;
  box-shadow:none !important;
}

/* 启用列 */
.legacy-module-page.plans-workflow-page .mapping-table th:first-child{
  width:56px !important;
  text-align:center;
}
.legacy-module-page.plans-workflow-page .mapping-table td:first-child{
  text-align:center;
}
.legacy-module-page.plans-workflow-page .mapping-table .map-enabled{
  width:18px;
  height:18px;
  accent-color:#5a94a8;
  cursor:pointer;
}

/* Excel列标 */
.legacy-module-page.plans-workflow-page .mapping-table th:nth-child(2){
  width:80px !important;
  text-align:center;
}
.legacy-module-page.plans-workflow-page .mapping-table td:nth-child(2){
  text-align:center;
}
.legacy-module-page.plans-workflow-page .mapping-column-letter{
  display:inline-grid !important;
  place-items:center;
  min-width:32px !important;
  height:28px !important;
  border:none !important;
  border-radius:8px !important;
  background:#f0f0f3 !important;
  color:#1d1d1f !important;
  font-size:12px !important;
  font-weight:600 !important;
  font-family:"SF Mono","Monaco","Consolas",monospace !important;
}

/* 目标字段列 */
.legacy-module-page.plans-workflow-page .mapping-table th:nth-child(3){
  width:25% !important;
}
.legacy-module-page.plans-workflow-page .mapping-table td:nth-child(3){
  padding-right:20px !important;
}
.legacy-module-page.plans-workflow-page .mapping-enterprise-field{
  padding-top:0 !important;
  font-size:14px !important;
  font-weight:500 !important;
  color:#1d1d1f !important;
  line-height:1.4 !important;
}

/* 数据来源下拉 */
.legacy-module-page.plans-workflow-page .mapping-table th:nth-child(4){
  width:auto !important;
}
.legacy-module-page.plans-workflow-page .mapping-table td:nth-child(4){
  padding-left:12px !important;
  padding-right:18px !important;
}
.legacy-module-page.plans-workflow-page .mapping-table .map-source{
  height:40px !important;
  padding:0 36px 0 14px !important;
  border:1px solid rgba(0,0,0,.1) !important;
  border-radius:10px !important;
  background-color:#fff !important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%231d1d1f' d='M6 8.5L1.5 4h9z'/%3E%3C/svg%3E") !important;
  background-repeat:no-repeat !important;
  background-position:right 12px center !important;
  background-size:12px !important;
  color:#1d1d1f !important;
  font-size:13px !important;
  font-weight:400 !important;
  -webkit-appearance:none !important;
  appearance:none !important;
  box-shadow:none !important;
  transition:border-color .15s ease, box-shadow .15s ease !important;
  cursor:pointer;
}
.legacy-module-page.plans-workflow-page .mapping-table .map-source:hover{
  border-color:rgba(0,0,0,.2) !important;
}
.legacy-module-page.plans-workflow-page .mapping-table .map-source:focus{
  border-color:#5a94a8 !important;
  box-shadow:0 0 0 4px rgba(90,148,168,.12) !important;
  outline:0 !important;
}
.legacy-module-page.plans-workflow-page .mapping-source-tools .formula-toggle{display:inline-flex;align-items:center;gap:4px;height:28px;padding:0 10px;border:1px solid transparent;border-radius:6px;background:transparent;color:#8a949b;font-size:12.5px;font-weight:500;cursor:pointer;transition:all .15s ease;font-family:inherit;line-height:1;flex-shrink:0}
.legacy-module-page.plans-workflow-page .mapping-source-tools .formula-toggle::before{content:'ƒx';font-family:"SF Mono",Menlo,Consolas,monospace;font-size:12px;font-weight:600}
.legacy-module-page.plans-workflow-page .mapping-source-tools .formula-toggle:hover{color:#5a94a8;background:#f4f9fb}
.legacy-module-page.plans-workflow-page .mapping-source-tools .formula-toggle.is-active{color:#5a94a8;background:#eef5f8;font-weight:600}
.legacy-module-page.plans-workflow-page .mapping-source-tools .formula-toggle.is-active::before{color:#5a94a8}
.legacy-module-page.plans-workflow-page .mapping-source-tools .mapping-field-transform{display:inline-flex;align-items:center;gap:6px}
.legacy-module-page.plans-workflow-page .mapping-source-tools .mapping-field-transform[hidden]{display:none !important}
.legacy-module-page.plans-workflow-page .mapping-source-tools .formula-sep{color:#c5d0d5;font-size:13px;user-select:none}
/* 级联选择器 */
.legacy-module-page.plans-workflow-page .map-source-wrap{position:relative;width:100%}
.legacy-module-page.plans-workflow-page .map-source-wrap .map-source{display:none !important;position:absolute;opacity:0;pointer-events:none;width:1px;height:1px;padding:0;border:0}
.legacy-module-page.plans-workflow-page .map-source-wrap.is-formula-mode .cascade-trigger{display:none !important}
.legacy-module-page.plans-workflow-page .map-source-wrap.is-formula-mode .cascade-trigger .cascade-value{color:#5a94a8;font-weight:500}
.legacy-module-page.plans-workflow-page .cascade-trigger{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;height:40px;padding:0 36px 0 14px;border:1px solid rgba(0,0,0,.1);border-radius:10px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%231d1d1f' d='M6 8.5L1.5 4h9z'/%3E%3C/svg%3E") no-repeat right 12px center / 12px;color:#1d1d1f;font-size:13px;font-weight:400;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:inherit}
.legacy-module-page.plans-workflow-page .cascade-trigger:hover{border-color:rgba(0,0,0,.2)}
.legacy-module-page.plans-workflow-page .cascade-trigger.is-open{border-color:#5a94a8;box-shadow:0 0 0 4px rgba(90,148,168,.12)}
.legacy-module-page.plans-workflow-page .cascade-trigger .cascade-placeholder{color:#8a949b}
.legacy-module-page.plans-workflow-page .cascade-trigger .cascade-value{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.legacy-module-page.plans-workflow-page .cascade-panel{position:fixed !important;top:0;left:0;z-index:10000;display:none;width:184px;max-height:min(360px,calc(100vh - 24px));border:1px solid #dfe6ea;border-radius:10px;background:#fff;box-shadow:0 10px 28px rgba(31,53,66,.15);overflow:visible;isolation:isolate}
.legacy-module-page.plans-workflow-page .cascade-panel.is-open{display:block}
.legacy-module-page.plans-workflow-page .cascade-panel.is-right-aligned{left:auto;right:0}
.legacy-module-page.plans-workflow-page .cascade-categories{width:100%;max-height:inherit;border:0;background:#fff;overflow-y:auto;padding:5px;border-radius:10px}
.legacy-module-page.plans-workflow-page .cascade-cat{display:flex;align-items:center;justify-content:space-between;gap:7px;min-height:36px;padding:0 9px;border-radius:7px;font-size:13px;color:#44535c;cursor:pointer;transition:background .12s ease,color .12s ease;border-left:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.legacy-module-page.plans-workflow-page .cascade-cat:hover{background:#eef5f8;color:#1f3542}
.legacy-module-page.plans-workflow-page .cascade-cat.is-active{background:#eaf4f7;color:#3f7f96;font-weight:600;border-left-color:transparent}
.legacy-module-page.plans-workflow-page .cascade-cat .cascade-cat-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;font-size:10px;color:#8a9aa2;background:#edf1f3;padding:0 5px;border-radius:999px;font-weight:600;flex-shrink:0}
.legacy-module-page.plans-workflow-page .cascade-cat.is-active .cascade-cat-count{background:#e8f3f8;color:#5a94a8}
.legacy-module-page.plans-workflow-page .cascade-items{position:absolute;left:calc(100% + 6px);top:0;width:282px;max-height:360px;overflow-y:auto;padding:5px;border:1px solid #dfe6ea;border-radius:10px;background:#fff;box-shadow:0 10px 28px rgba(31,53,66,.15)}
.legacy-module-page.plans-workflow-page .cascade-panel.is-submenu-left .cascade-items{left:auto;right:calc(100% + 6px)}
.legacy-module-page.plans-workflow-page .cascade-empty{padding:40px 24px;text-align:center;color:#9fb0b8;font-size:13px}
.legacy-module-page.plans-workflow-page .cascade-item{display:flex;align-items:center;min-height:36px;padding:0 12px;border-radius:7px;cursor:pointer;transition:background .12s ease;color:#26343c;border-left:0}
.legacy-module-page.plans-workflow-page .cascade-item:hover{background:#f2f7f9;border-left-color:transparent}
.legacy-module-page.plans-workflow-page .cascade-item.is-selected{background:#e6f2f6;color:#326f86;border-left-color:transparent}
.legacy-module-page.plans-workflow-page .cascade-item .cascade-item-label{font-size:13px;color:inherit;font-weight:500;line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.legacy-module-page.plans-workflow-page .cascade-top-item{border-bottom:1px solid #eef2f4;padding-bottom:8px;margin-bottom:8px}
.legacy-module-page.plans-workflow-page .cascade-top-item .cascade-item{border-radius:0}
@media(max-width:900px){
  .legacy-module-page.plans-workflow-page .cascade-panel{width:184px;max-height:360px}
  .legacy-module-page.plans-workflow-page .cascade-categories{width:100%}
  .legacy-module-page.plans-workflow-page .cascade-cat{padding:10px 14px;font-size:13px}
  .legacy-module-page.plans-workflow-page .cascade-item{padding:9px 16px}
  .legacy-module-page.plans-workflow-page .cascade-item .cascade-item-label{font-size:13.5px}
}

/* 隐藏匹配建议列 */
.legacy-module-page.plans-workflow-page .mapping-table th:last-child,
.legacy-module-page.plans-workflow-page .mapping-table td:last-child{
  display:none !important;
}

/* 高级工具区域 */
.legacy-module-page.plans-workflow-page .mapping-advanced-tools{
  gap:10px !important;
  margin-top:12px !important;
  padding-top:12px;
  border-top:1px dashed rgba(0,0,0,.08);
}
.legacy-module-page.plans-workflow-page .mapping-source-tools{
  padding:12px !important;
  border:1px solid rgba(0,0,0,.06) !important;
  border-radius:10px !important;
  background:#fafafa !important;
}
.legacy-module-page.plans-workflow-page .mapping-tool-label{
  font-size:11px !important;
  font-weight:600 !important;
  color:#86868b !important;
  letter-spacing:.03em !important;
  text-transform:uppercase !important;
}
.legacy-module-page.plans-workflow-page .mapping-source-tools .map-transform{
  width:auto !important;
  min-width:140px !important;
  height:32px !important;
  border:1px solid rgba(0,0,0,.1) !important;
  border-radius:8px !important;
  background:#fff !important;
  font-size:12px !important;
}
.legacy-module-page.plans-workflow-page .map-transform-length{
  height:32px !important;
  width:56px !important;
  border-radius:8px !important;
  border:1px solid rgba(0,0,0,.1) !important;
  text-align:center;
  font-size:12px !important;
}
.legacy-module-page.plans-workflow-page .mapping-source-tools .map-transform-text{
  width:160px !important;
  height:32px !important;
  border-radius:8px !important;
  border:1px solid rgba(0,0,0,.1) !important;
  font-size:12px !important;
}
.legacy-module-page.plans-workflow-page .mapping-calculation-tools{
  padding:12px !important;
  border:1px solid #dce6ea !important;
  border-radius:10px !important;
  background:#fff !important;
  box-shadow:0 1px 2px rgba(31,53,66,.035) !important;
}
.legacy-module-page.plans-workflow-page .mapping-calculation-tools .map-calculation-variable{
  height:38px !important;
  border:1px solid #cfdde2 !important;
  border-radius:8px !important;
  background:#fff !important;
  font-size:13px !important;
}
.legacy-module-page.plans-workflow-page .mapping-formula-row{
  gap:8px !important;
  margin-top:8px !important;
}
.legacy-module-page.plans-workflow-page .map-calculation-expression{
  min-height:76px !important;
  padding:11px 12px !important;
  border:1px solid #cfdde2 !important;
  border-radius:8px !important;
  background:#fff !important;
  font-family:"SF Mono","Monaco","Consolas",monospace !important;
  font-size:11.5px !important;
  line-height:1.6 !important;
  resize:vertical;
}
.legacy-module-page.plans-workflow-page .map-test-formula{
  height:38px !important;
  padding:0 14px !important;
  border-radius:8px !important;
  font-size:12px !important;
  background:#f2f7f9 !important;
  color:#3f788b !important;
  border:1px solid #d5e3e8 !important;
  font-weight:500 !important;
}
.legacy-module-page.plans-workflow-page .map-test-formula:hover{
  background:#e7f2f5 !important;
}
.legacy-module-page.plans-workflow-page .mapping-calculation-settings{
  margin-top:10px !important;
  padding-top:10px !important;
  border-top:1px solid #e8eef1 !important;
  display:flex;
  gap:20px;
}
.legacy-module-page.plans-workflow-page .mapping-calculation-settings label{
  display:flex;
  align-items:center;
  gap:8px;
  font-size:12px;
  color:#6e6e73;
}
.legacy-module-page.plans-workflow-page .mapping-calculation-settings .form-input,
.legacy-module-page.plans-workflow-page .mapping-calculation-settings .form-select{
  height:30px;
  padding:0 8px;
  border:1px solid rgba(0,0,0,.1);
  border-radius:6px;
  font-size:12px;
  background:#fff;
}

/* 引用工作表工具 */
.legacy-module-page.plans-workflow-page .mapping-reference-tools{
  padding:12px !important;
  border:1px solid rgba(90,148,168,.15) !important;
  border-radius:10px !important;
  background:#f2f8fa !important;
}
.legacy-module-page.plans-workflow-page .mapping-reference-tools label{
  font-size:11px !important;
  font-weight:500 !important;
  color:#5a94a8 !important;
}
.legacy-module-page.plans-workflow-page .mapping-reference-tools .form-select{
  height:34px !important;
  padding:0 10px !important;
  border:1px solid rgba(90,148,168,.2) !important;
  border-radius:8px !important;
  background:#fff !important;
  font-size:12px !important;
}

/* 底部操作栏 */
.legacy-module-page.plans-workflow-page .editor-actions{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:16px !important;
  padding:20px 28px !important;
  margin:20px 0 0 0 !important;
  background:#fff;
  border-radius:14px;
  border:1px solid rgba(0,0,0,.06);
  box-shadow:0 1px 3px rgba(0,0,0,.04);
}
.legacy-module-page.plans-workflow-page .editor-actions .form-message{
  margin:0 auto 0 0 !important;
  font-size:13px;
  color:#6e6e73;
}
.legacy-module-page.plans-workflow-page .editor-actions .secondary-button{
  height:40px;
  padding:0 20px;
  font-size:13px;
  border-radius:10px;
  background:rgba(0,0,0,.05);
  border:none;
  color:#1d1d1f;
  font-weight:500;
  transition:background .15s ease;
}
.legacy-module-page.plans-workflow-page .editor-actions .secondary-button:hover{
  background:rgba(0,0,0,.09);
}
.legacy-module-page.plans-workflow-page .editor-actions .primary-button{
  margin:0 !important;
  align-self:center !important;
  height:40px;
  padding:0 28px;
  font-size:13px;
  font-weight:600;
  border-radius:10px;
  background:#8ABCD1;
  border:1px solid #7ab5be;
  color:#1A3540;
  box-shadow:0 2px 8px rgba(90,148,168,.25);
  transition:transform .15s ease, box-shadow .15s ease;
}
.legacy-module-page.plans-workflow-page .editor-actions .primary-button:hover{
  transform:translateY(-1px);
  box-shadow:0 4px 12px rgba(90,148,168,.3);
}
.legacy-module-page.plans-workflow-page .editor-actions .primary-button:active{
  transform:translateY(0);
}

/* 响应式 */
@media(max-width:900px){
  .legacy-module-page.plans-workflow-page{padding:0 16px 32px !important;}
  .legacy-module-page.plans-workflow-page .template-workflow-toolbar{padding:20px 0 16px !important;}
  .legacy-module-page.plans-workflow-page .template-workflow-toolbar strong{font-size:19px !important;}
  .legacy-module-page.plans-workflow-page .plan-summary-surface{padding:16px 18px !important;}
  .legacy-module-page.plans-workflow-page .panel-heading{padding:20px 20px 16px !important;}
  .legacy-module-page.plans-workflow-page .panel-heading h2{font-size:16px !important;}
  .legacy-module-page.plans-workflow-page .capability-picker{margin:16px 20px !important;}
  .legacy-module-page.plans-workflow-page .capability-options{grid-template-columns:1fr !important;}
  .legacy-module-page.plans-workflow-page .template-structure-grid{grid-template-columns:minmax(220px,1fr) 90px 90px auto !important;gap:12px !important;padding:16px 20px !important;}
  .legacy-module-page.plans-workflow-page .template-structure-number .form-input{width:84px !important;}
  .legacy-module-page.plans-workflow-page .mapping-guide{grid-template-columns:1fr !important;margin:16px 20px 0 !important;}
  .legacy-module-page.plans-workflow-page .table-scroll{margin:14px 16px 0 !important;border-radius:12px !important;}
  .legacy-module-page.plans-workflow-page .mapping-table{min-width:680px !important;}
  .legacy-module-page.plans-workflow-page .mapping-table thead th{padding:12px 16px !important;font-size:11px !important;}
  .legacy-module-page.plans-workflow-page .mapping-table tbody td{padding:14px 16px !important;}
  .legacy-module-page.plans-workflow-page .mapping-table .map-source{height:36px !important;font-size:12px !important;}
  .legacy-module-page.plans-workflow-page .mapping-column-letter{min-width:28px !important;height:26px !important;font-size:11px !important;}
  .legacy-module-page.plans-workflow-page .mapping-enterprise-field{font-size:13px !important;}
  .legacy-module-page.plans-workflow-page .editor-actions{padding:16px 20px !important;flex-wrap:wrap !important;}
}
@media(max-width:600px){
  .legacy-module-page.plans-workflow-page{padding:0 12px 24px !important;}
  .legacy-module-page.plans-workflow-page .template-workflow-toolbar{flex-direction:column;align-items:flex-start;gap:12px;padding:16px 0 14px !important;}
  .legacy-module-page.plans-workflow-page .template-workflow-toolbar strong{font-size:17px !important;}
  .legacy-module-page.plans-workflow-page .plan-summary-surface{padding:14px 16px !important;margin-bottom:16px !important;}
  .legacy-module-page.plans-workflow-page .template-mapping-surface{margin-bottom:16px !important;border-radius:14px !important;}
  .legacy-module-page.plans-workflow-page .template-structure-grid{grid-template-columns:1fr 1fr !important;}
  .legacy-module-page.plans-workflow-page .template-structure-sheet{grid-column:1/-1;}
  .legacy-module-page.plans-workflow-page .panel-heading{padding:16px 16px 14px !important;}
  .legacy-module-page.plans-workflow-page .panel-heading h2{font-size:15px !important;}
  .legacy-module-page.plans-workflow-page .table-scroll{margin:12px 12px 0 !important;border-radius:10px !important;}
  .legacy-module-page.plans-workflow-page .mapping-table{min-width:600px !important;}
  .legacy-module-page.plans-workflow-page .mapping-table thead th{padding:10px 14px !important;}
  .legacy-module-page.plans-workflow-page .mapping-table tbody td{padding:12px 14px !important;}
  .legacy-module-page.plans-workflow-page .mapping-table .map-source{height:34px !important;}
  .legacy-module-page.plans-workflow-page .editor-actions{padding:14px 16px !important;gap:10px !important;}
  .legacy-module-page.plans-workflow-page .editor-actions .primary-button,
  .legacy-module-page.plans-workflow-page .editor-actions .secondary-button{flex:1;min-width:0;}
}
.tp-form .enterprise-suggestion strong{color:var(--tp-text);font-size:13px;font-weight:600}

/* 方案新建与编辑页：字段来源统一使用自定义级联面板，避免原生 select
   在表格行内展开后遮挡后续字段。面板挂在 body 下，因此这里不依赖页面根节点类名。 */
.mapping-table .map-source.is-cascade-native-source,
.mapping-table .map-source-wrap .map-source{display:none !important;position:absolute !important;width:1px !important;height:1px !important;opacity:0 !important;pointer-events:none !important;}
.map-source-wrap{position:relative;width:100%;}
.map-source-wrap .cascade-trigger{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;height:40px;padding:0 36px 0 14px;border:1px solid rgba(0,0,0,.1);border-radius:10px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%231d1d1f' d='M6 8.5L1.5 4h9z'/%3E%3C/svg%3E") no-repeat right 12px center / 12px;color:#1d1d1f;font-size:13px;font-weight:400;cursor:pointer;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:inherit;}
.map-source-wrap .cascade-trigger:hover{border-color:rgba(0,0,0,.2);}
.map-source-wrap .cascade-trigger.is-open{border-color:#5a94a8;box-shadow:0 0 0 4px rgba(90,148,168,.12);}
.map-source-wrap .cascade-value{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.cascade-panel{position:fixed !important;top:0;left:0;z-index:10000;display:none;width:184px;max-height:min(360px,calc(100vh - 24px));border:1px solid #dfe6ea;border-radius:10px;background:#fff;box-shadow:0 10px 28px rgba(31,53,66,.15);overflow:visible;isolation:isolate;}
.cascade-panel.is-open{display:block;}
.cascade-categories{width:100%;max-height:inherit;border:0;background:#fff;overflow-y:auto;padding:5px;border-radius:10px;}
.cascade-cat{display:flex;align-items:center;justify-content:space-between;gap:7px;min-height:36px;padding:0 9px;border-radius:7px;font-size:13px;color:#44535c;cursor:pointer;border-left:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.cascade-cat:hover{background:#eef5f8;color:#1f3542;}
.cascade-cat.is-active{background:#eaf4f7;color:#3f7f96;font-weight:600;border-left-color:transparent;}
.cascade-cat .cascade-cat-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;font-size:10px;color:#8a9aa2;background:#edf1f3;padding:0 5px;border-radius:999px;font-weight:600;flex-shrink:0;}
.cascade-items{position:absolute;left:calc(100% + 6px);top:0;width:282px;max-height:360px;overflow-y:auto;padding:5px;border:1px solid #dfe6ea;border-radius:10px;background:#fff;box-shadow:0 10px 28px rgba(31,53,66,.15);}
.cascade-panel.is-submenu-left .cascade-items{left:auto;right:calc(100% + 6px);}
.cascade-item{display:flex;align-items:center;min-height:36px;padding:0 12px;border-radius:7px;cursor:pointer;color:#26343c;border-left:0;}
.cascade-item:hover{background:#f2f7f9;border-left-color:transparent;}
.cascade-item.is-selected{background:#e6f2f6;color:#326f86;border-left-color:transparent;}
.cascade-item .cascade-item-label{font-size:13px;color:inherit;font-weight:500;line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.cascade-item .cascade-item-meta{display:none;}
.cascade-top-item{border-bottom:1px solid #eef2f4;padding-bottom:8px;margin-bottom:8px;}
@media(max-width:900px){.cascade-panel{width:184px;max-height:360px}.cascade-categories{width:100%}.cascade-cat{min-height:34px;padding:0 9px;font-size:12.5px}.cascade-item{min-height:34px;padding:0 10px}.cascade-item .cascade-item-label{font-size:12.5px;}}
@media(max-width:600px){.cascade-panel{width:calc(100vw - 24px);max-height:300px;overflow:hidden}.cascade-categories{display:flex;width:100%;overflow-x:auto;overflow-y:hidden;border-bottom:1px solid #edf1f3;border-radius:10px 10px 0 0}.cascade-cat{min-width:max-content}.cascade-items{position:static;width:100%;max-height:230px;border:0;border-radius:0 0 10px 10px;box-shadow:none}.cascade-panel.is-submenu-left .cascade-items{position:static}.cascade-item{padding:0 10px}.cascade-item .cascade-item-label{font-size:13px;}}

/* FX 面板沿当前字段行的原始结构向下展开：保留上方字段来源、字段处理和 fx
   同排布局，计算编辑区仅占据这一行下方的完整字段区域，不再漂移到行上方。 */
.legacy-module-page.plans-workflow-page .mapping-source-layout:has(.map-source-wrap.is-formula-mode) .mapping-source-tools{
  grid-column:2 !important;
  justify-content:flex-start !important;
}
.legacy-module-page.plans-workflow-page .mapping-source-layout .map-source-wrap.is-formula-mode .cascade-trigger{
  display:flex !important;
}
.legacy-module-page.plans-workflow-page .mapping-source-layout .mapping-calculation-tools{
  grid-column:1 / -1 !important;
  width:100%;
  box-sizing:border-box;
  margin-top:0;
}
.tp-form .enterprise-suggestion span{color:var(--tp-text-tert);font-size:11px}
.tp-form .enterprise-suggestion-empty,.tp-form .enterprise-suggestion-loading{
  padding:12px;text-align:center;color:var(--tp-text-tert);font-size:12px;
}
.tp-form .enterprise-selection-hint{margin-top:5px;color:var(--tp-text-tert);font-size:11px}

/* ── 侧栏（浅色白底，与空间页一致） ── */
.workspace-shell .sidebar{
  background:var(--tp-card);
  color:var(--tp-text);
  border-right:1px solid var(--tp-gray-4);
  box-shadow:none;
}
.workspace-shell .logo{border-bottom:1px solid var(--tp-gray-5)}
.workspace-shell .logo-icon{
  background:var(--tp-primary-faint);
  border:.5px solid var(--tp-gray-4);
  box-shadow:var(--tp-shadow-sm);
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
  color:var(--tp-primary-deep);
  position:relative;
}
.workspace-shell .logo-icon::after{display:none}
.workspace-shell .logo-icon img{display:block;width:29px;height:29px;object-fit:contain}
.workspace-shell .logo h1{color:var(--tp-text)}
.workspace-shell .logo p{color:var(--tp-text-sec)}
.workspace-shell .nav-group-title{
  color:var(--tp-text-sec);
  font-size:11px;
  font-weight:600;
  border-bottom:0;
}
.workspace-shell .nav-section-label{
  color:var(--tp-text-sec);
  font-size:11px;
  font-weight:600;
  letter-spacing:.06em;
}
.workspace-shell .nav-task-type-label{
  border-left-color:var(--tp-primary-deep);
  color:var(--tp-text);
  background:var(--tp-primary-faint);
  border-radius:var(--tp-radius-sm);
  font-size:11px;
  font-weight:500;
}
.workspace-shell .nav-item{
  color:var(--tp-text);
  font-weight:500;
  border-radius:var(--tp-radius-sm);
  transition:background .15s ease,color .15s ease;
}
.workspace-shell .nav-item:hover{
  background:var(--tp-primary-faint);
  color:var(--tp-text);
}
.workspace-shell .nav-item.active{
  background:var(--tp-primary-soft);
  color:var(--tp-primary-deep);
  font-weight:600;
  box-shadow:none;
}
.workspace-shell .nav-item.active:before{
  background:var(--tp-accent);
  border-radius:0 2px 2px 0;
  top:8px;bottom:8px;
  width:2px;
}
.workspace-shell .nav-item .icon{color:var(--tp-text-sec)}
.workspace-shell .nav-item:hover .icon{color:var(--tp-primary-deep)}
.workspace-shell .nav-item.active .icon{color:var(--tp-primary-deep)}
.workspace-shell .user-info strong{color:var(--tp-text)}
.workspace-shell .user-info small{color:var(--tp-text-sec)}
.workspace-shell .user-avatar{
  background:var(--tp-primary-faint);
  color:var(--tp-primary-deep);
  font-weight:600;
  border:.5px solid var(--tp-gray-4);
}
.workspace-shell .sidebar-rail{
  position:relative;
  flex:0 0 auto;
  display:flex;
  align-items:stretch;
  z-index:20;
}
.workspace-shell .sidebar-collapse{
  position:absolute;
  top:72px;
  right:0;
  z-index:21;
  width:18px;
  height:44px;
  padding:0;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid var(--tp-seal,#593A28);
  border-left:0;
  border-radius:0 8px 8px 0;
  background:var(--tp-card);
  color:var(--tp-seal,#593A28);
  cursor:pointer;
  transform:translateX(100%);
}
.workspace-shell .sidebar-collapse:hover{
  color:var(--tp-seal,#593A28);
  background:#f3ebe4;
}
.workspace-shell.is-sidebar-collapsed .sidebar-rail{
  width:0;
  min-width:0;
  flex:0 0 0;
  overflow:visible;
}
.workspace-shell.is-sidebar-collapsed .sidebar{
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  transform:translateX(-100%);
  pointer-events:none;
}
.workspace-shell.is-sidebar-collapsed .sidebar-collapse{
  right:auto;
  left:0;
  transform:none;
  border-left:1px solid var(--tp-seal,#593A28);
  pointer-events:auto;
}
.workspace-shell.is-sidebar-collapsed .sidebar-collapse svg{
  transform:rotate(180deg);
}
.workspace-shell .sidebar{
  transition:transform .28s cubic-bezier(.2,.7,.3,1);
}
@media (prefers-reduced-motion:reduce){
  .workspace-shell .sidebar{transition:none}
}
.workspace-shell .sidebar-footer{border-top:1px solid var(--tp-gray-5)}
.workspace-shell .user-profile-entry{
  border-radius:var(--tp-radius-sm);
  padding:6px 10px!important;
  margin:0!important;
  transition:background .15s ease;
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
}
.workspace-shell .user-profile-entry:hover,
.workspace-shell .user-profile-entry.is-active{background:var(--tp-primary-faint)}
.workspace-shell .user-profile-entry strong{color:var(--tp-text)}
.workspace-shell .user-profile-entry small{color:var(--tp-text-sec)}
.workspace-shell .nav-item.has-submenu::after{color:var(--tp-text-sec)}

/* ── 顶栏（毛玻璃） ── */
.workspace-shell .topbar{
  background:rgba(255,255,255,.78);
  backdrop-filter:saturate(180%) blur(20px);
  -webkit-backdrop-filter:saturate(180%) blur(20px);
  border-bottom-color:var(--tp-gray-5);
}
.workspace-shell .topbar-title{color:var(--tp-text);font-weight:600}
.workspace-shell .icon-btn{
  border-radius:8px;transition:background .15s;
  color:var(--tp-text-tert);
  font-family:"Segoe Fluent Icons","Segoe MDL2 Assets",sans-serif;
}
.workspace-shell .icon-btn:hover{background:var(--tp-primary-faint);color:var(--tp-primary-deep)}
.workspace-shell .status-yellow{
  background:var(--tp-accent-soft);
  border-color:transparent;
  color:#A16207;
}

/* ── 内容区背景 ── */
.workspace-shell .content{background:var(--tp-bg)}
.workspace-shell .main{background:var(--tp-bg)}

/* ── 响应式 ── */
@media(max-width:900px){
  .workspace-shell .tasks-page{padding:24px 20px 32px}
  .tp-page-head{flex-direction:column;gap:16px}
  .tp-stat-grid{width:100%;justify-content:space-between;padding-top:0}
  .tp-title{font-size:26px}
  .tp-toolbar{flex-direction:column;align-items:stretch}
  .tp-toolbar-right{width:100%;flex-wrap:wrap}
  .tp-search-group{flex:1;min-width:0}
  .tp-search{width:auto;flex:1;max-width:none}
  .tasks-page > .tp-row.is-active::before{left:0}
  .tasks-page > .tp-row{grid-template-columns:minmax(0,1fr);padding:10px 0 10px 14px}
  .tasks-page > .tp-row .tp-row-actions{grid-column:1;justify-self:end;margin-top:4px}
  .tp-row-name{max-width:220px}
  .tp-row-company{max-width:140px}
  .tp-row-time{margin-left:0}
  .tp-form{padding:28px 20px 40px}
  .tp-form-body{padding:20px}
}
@media(max-width:560px){
  .workspace-shell .tasks-page{padding:20px 16px 28px}
  .tp-toolbar-right{flex-direction:column;align-items:stretch}
  .tp-search-group{width:100%}
  .tp-btn-primary{width:100%;justify-content:center}
  .tasks-page > .tp-row.is-active::before{left:0}
  .tp-row-company{display:none}
  .tp-btn-icon{display:none}
  .tp-row-actions{grid-template-columns:108px}
}

/* Ledger mapping editor: compact, balanced geometry and restrained brand palette. */
@media(min-width:901px){
  .legacy-module-page.plans-workflow-page .table-scroll{
    overflow-x:hidden !important;
  }
  .legacy-module-page.plans-workflow-page .mapping-table{
    width:100% !important;
    min-width:0 !important;
    table-layout:fixed !important;
  }
}
.legacy-module-page.plans-workflow-page .mapping-table thead th{
  padding:12px 14px !important;
}
.legacy-module-page.plans-workflow-page .mapping-table tbody td{
  padding:14px !important;
}
.legacy-module-page.plans-workflow-page .mapping-table th:first-child{
  width:58px !important;
}
.legacy-module-page.plans-workflow-page .mapping-table th:nth-child(2){
  width:68px !important;
}
.legacy-module-page.plans-workflow-page .mapping-table th:nth-child(3){
  width:220px !important;
}
.legacy-module-page.plans-workflow-page .mapping-table th:nth-child(4){
  width:auto !important;
}
.legacy-module-page.plans-workflow-page .mapping-table td:nth-child(3){
  padding-right:14px !important;
}
.legacy-module-page.plans-workflow-page .mapping-table td:nth-child(4){
  padding-left:10px !important;
  padding-right:14px !important;
}
.legacy-module-page.plans-workflow-page .mapping-enterprise-field{
  overflow:hidden !important;
  color:#593a28 !important;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.legacy-module-page.plans-workflow-page .mapping-column-letter{
  border:1px solid rgba(233,173,95,.38) !important;
  background:#fff8ee !important;
  color:#593a28 !important;
}
.legacy-module-page.plans-workflow-page .mapping-toggle{
  background:#8a2524 !important;
}
.legacy-module-page.plans-workflow-page .mapping-toggle.is-enabled{
  background:#8abcd1 !important;
}
.legacy-module-page.plans-workflow-page .mapping-toggle.is-enabled:hover{
  background:#6faabd !important;
}
.legacy-module-page.plans-workflow-page .mapping-toggle.is-disabled:hover{
  background:#74201f !important;
}
.legacy-module-page.plans-workflow-page .mapping-advanced-tools{
  gap:7px !important;
  margin-top:8px !important;
  padding-top:8px !important;
  border-top:1px solid rgba(199,165,156,.26) !important;
}
.legacy-module-page.plans-workflow-page .mapping-source-tools{
  display:flex !important;
  align-items:center !important;
  flex-wrap:wrap !important;
  gap:7px !important;
  min-height:36px !important;
  padding:6px 8px !important;
  border:1px solid rgba(199,165,156,.24) !important;
  border-radius:9px !important;
  background:#fcfaf9 !important;
}
.legacy-module-page.plans-workflow-page .mapping-source-tools .mapping-field-transform{
  display:flex;
  align-items:center;
  flex:0 1 auto;
  gap:6px;
  min-width:0;
}
.legacy-module-page.plans-workflow-page .mapping-source-tools .map-transform{
  width:152px !important;
  min-width:132px !important;
  height:32px !important;
  border-color:rgba(89,58,40,.16) !important;
}
.legacy-module-page.plans-workflow-page .mapping-source-tools .formula-sep{
  order:2;
  color:#c7a59c !important;
}
.legacy-module-page.plans-workflow-page .mapping-source-tools .formula-toggle{
  order:3;
  display:inline-grid !important;
  place-items:center;
  width:32px;
  min-width:32px;
  height:30px;
  padding:0 !important;
  border:1px solid rgba(138,37,36,.14);
  border-radius:8px;
  background:#fff;
  color:#593a28;
  font-family:"SF Mono",Menlo,Consolas,monospace;
  font-size:12px;
  font-weight:700;
  line-height:1;
}
.legacy-module-page.plans-workflow-page .mapping-source-tools .formula-toggle::before{
  content:none !important;
}
.legacy-module-page.plans-workflow-page .mapping-source-tools .formula-toggle:hover{
  border-color:rgba(138,37,36,.28);
  background:#fbf3f1;
  color:#8a2524;
}
.legacy-module-page.plans-workflow-page .mapping-source-tools .formula-toggle.is-active{
  border-color:#8a2524;
  background:#8a2524;
  color:#fff;
}
.legacy-module-page.plans-workflow-page .mapping-tool-label{
  color:#593a28 !important;
  text-transform:none !important;
}
.legacy-module-page.plans-workflow-page .mapping-calculation-tools{
  border-color:rgba(199,165,156,.34) !important;
  background:#fdfafa !important;
}
.legacy-module-page.plans-workflow-page .cascade-trigger:focus,
.legacy-module-page.plans-workflow-page .cascade-trigger.is-open{
  border-color:#8abcd1 !important;
  box-shadow:0 0 0 3px rgba(138,188,209,.2) !important;
}
@media(max-width:900px){
  .legacy-module-page.plans-workflow-page .mapping-table th:nth-child(3){width:190px !important;}
  .legacy-module-page.plans-workflow-page .mapping-source-tools .mapping-field-transform{flex-wrap:wrap;}
}

/* Mapping source, field processing and formula action share one compact row. */
.legacy-module-page.plans-workflow-page .mapping-source-layout{
  display:grid;
  grid-template-columns:minmax(240px,50%) max-content;
  align-items:start;
  justify-content:start;
  column-gap:8px;
  row-gap:8px;
  width:100%;
  min-width:0;
}
.legacy-module-page.plans-workflow-page .mapping-source-layout>.map-source-wrap{
  grid-column:1;
  min-width:0;
}
.legacy-module-page.plans-workflow-page .mapping-source-layout>.mapping-advanced-tools{
  display:contents !important;
}
.legacy-module-page.plans-workflow-page .mapping-source-layout .mapping-source-meta{
  display:none !important;
}
.legacy-module-page.plans-workflow-page .mapping-source-layout .mapping-source-meta.ll-fill-guide{
  display:flex !important;
  flex-direction:column;
  align-items:flex-start;
  gap:6px;
  grid-column:1;
  width:100%;
  min-width:0;
  margin-top:2px;
  padding:8px 10px;
  border:1px solid #e4eef2;
  border-radius:8px;
  background:#f7fbfd;
  color:#445660;
  font-size:12px;
  line-height:1.55;
  min-height:0;
  position:relative;
  z-index:0;
}
.plans-workflow-page .mapping-table tbody tr:has(.ll-fill-guide),
.plans-workflow-page .mapping-table td:has(.ll-fill-guide){
  height:auto !important;
  overflow:visible;
  vertical-align:top;
}
.legacy-module-page.plans-workflow-page .mapping-source-layout .ll-fill-copy{
  display:grid;
  gap:4px;
  min-width:0;
}
.legacy-module-page.plans-workflow-page .mapping-source-layout .ll-fill-copy strong{
  color:#2a6b82;
  font-size:11px;
  font-weight:700;
  letter-spacing:.04em;
}
.legacy-module-page.plans-workflow-page .mapping-source-layout .ll-fill-copy p{margin:0}
.legacy-module-page.plans-workflow-page .mapping-source-layout .ll-fill-allowed,
.legacy-module-page.plans-workflow-page .mapping-source-layout .ll-fill-example{
  display:block;
  color:#5f7684;
  font-size:11px;
}
.legacy-module-page.plans-workflow-page .cascade-panel.ll-fill-cascade .cascade-items{
  width:360px;
  max-height:420px;
}
.legacy-module-page.plans-workflow-page .cascade-panel.ll-fill-cascade .cascade-item{
  flex-direction:row;
  align-items:center;
  justify-content:flex-start;
  gap:8px;
  min-height:36px;
  padding:0 12px;
}
.legacy-module-page.plans-workflow-page .cascade-panel.ll-fill-cascade .cascade-item-label{
  white-space:nowrap;
}
.legacy-module-page.plans-workflow-page .cascade-panel.ll-fill-cascade .cascade-item-meta{
  display:none;
}
.legacy-module-page.plans-workflow-page .cascade-panel.is-litigation-ref-mode.ll-fill-cascade .cascade-item-meta{
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin-left:auto;
  font-size:11px;
  color:#5f7684;
}
.legacy-module-page.plans-workflow-page .cascade-panel.is-litigation-ref-mode .cascade-ref-sheet.is-active{
  background:#e6f2f6;
  color:#326f86;
}
.legacy-module-page.plans-workflow-page .cascade-panel.is-litigation-ref-mode .cascade-ref-count{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:20px;
  height:20px;
  padding:0 5px;
  border-radius:999px;
  background:#edf1f3;
  font-size:10px;
  font-weight:600;
}
.legacy-module-page.plans-workflow-page .cascade-panel.is-litigation-ref-mode .cascade-ref-chevron{
  color:#9aaab1;
  font-size:16px;
  line-height:1;
}
/** 引用其他表：三级浮层与公式变量级联一致（一级 184px | 二级右侧 | 三级在二级右侧；具体 left 由 JS 锚定二级） */
.cascade-panel.is-litigation-ref-mode .cascade-ref-fields,
.legacy-module-page.plans-workflow-page .cascade-panel.is-litigation-ref-mode .cascade-ref-fields{
  position:absolute;
  top:0;
  left:calc(100% + 294px);
  width:236px;
  max-height:360px;
  overflow-y:auto;
  padding:5px;
  border:1px solid #dfe6ea;
  border-radius:10px;
  background:#fff;
  box-shadow:0 10px 28px rgba(31,53,66,.15);
  box-sizing:border-box;
}
.legacy-module-page.plans-workflow-page .cascade-panel.is-litigation-ref-mode.ll-fill-cascade .cascade-ref-fields{
  left:calc(100% + 372px);
  max-height:420px;
}
.legacy-module-page.plans-workflow-page .cascade-panel.is-litigation-ref-mode.is-submenu-left .cascade-ref-fields{
  left:auto;
  right:calc(100% + 294px);
}
.legacy-module-page.plans-workflow-page .cascade-panel.is-litigation-ref-mode.ll-fill-cascade.is-submenu-left .cascade-ref-fields{
  right:calc(100% + 372px);
}
@media(max-width:900px){
  .legacy-module-page.plans-workflow-page .cascade-panel.is-litigation-ref-mode .cascade-ref-fields{
    left:calc(100% + 252px);
    width:210px;
  }
  .legacy-module-page.plans-workflow-page .cascade-panel.is-litigation-ref-mode.ll-fill-cascade .cascade-ref-fields{
    left:calc(100% + 312px);
  }
  .legacy-module-page.plans-workflow-page .cascade-panel.is-litigation-ref-mode.is-submenu-left .cascade-ref-fields{
    right:calc(100% + 252px);
  }
  .legacy-module-page.plans-workflow-page .cascade-panel.is-litigation-ref-mode.ll-fill-cascade.is-submenu-left .cascade-ref-fields{
    right:calc(100% + 312px);
  }
}
@media(max-width:600px){
  .legacy-module-page.plans-workflow-page .cascade-panel.is-litigation-ref-mode .cascade-ref-fields{
    position:relative;
    left:auto;
    right:auto;
    top:auto;
    width:100%;
    max-height:160px;
    margin-top:6px;
    border:1px solid #dfe6ea;
    border-radius:10px;
    box-shadow:none;
  }
}
/** 诉讼方案：手填/选择本列时仅保留左侧分类，不展示右侧说明区 */
.legacy-module-page.plans-workflow-page .cascade-panel.is-litigation-row-scoped .cascade-items.is-row-scoped-hint{
  display:none;
}
.legacy-module-page.plans-workflow-page .cascade-panel .cascade-cat.is-row-scoped{
  cursor:pointer;
}
.cascade-field-tip{
  position:fixed;
  z-index:10002;
  box-sizing:border-box;
  width:min(320px,calc(100vw - 24px));
  max-width:min(320px,calc(100vw - 24px));
  padding:10px 12px;
  border:1px solid #dfe6ea;
  border-left:3px solid #3a8fb7;
  border-radius:10px;
  background:#fff;
  box-shadow:0 10px 28px rgba(31,53,66,.16);
  color:#445660;
  font-size:12px;
  line-height:1.5;
  pointer-events:none;
}
.cascade-field-tip[hidden]{display:none !important}
.cascade-field-tip strong{display:block;margin:0 0 4px;color:#1f3542;font-size:12px}
.cascade-field-tip p{margin:0;white-space:normal}
.legacy-module-page.plans-workflow-page .mapping-source-layout .mapping-source-tools{
  grid-column:2;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start;
  flex-wrap:nowrap !important;
  gap:6px !important;
  width:auto;
  min-width:0;
  min-height:40px !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
}
.legacy-module-page.plans-workflow-page .mapping-source-layout .source-tools-leading-sep,
.legacy-module-page.plans-workflow-page .mapping-source-layout .formula-sep{
  flex:0 0 auto;
  color:#c7a59c;
  font-size:13px;
  line-height:1;
  user-select:none;
}
.legacy-module-page.plans-workflow-page .mapping-source-layout .mapping-field-transform{
  flex:0 1 auto;
  min-width:0;
}
.legacy-module-page.plans-workflow-page .mapping-source-layout .mapping-tool-label{
  display:none !important;
}
.legacy-module-page.plans-workflow-page .mapping-source-layout .map-transform{
  width:150px !important;
  min-width:120px !important;
  max-width:150px;
  height:40px !important;
  padding:0 32px 0 11px !important;
  border-color:rgba(89,58,40,.16) !important;
  border-radius:10px !important;
  background-color:#fff !important;
  color:#593a28;
  text-overflow:ellipsis;
}
.legacy-module-page.plans-workflow-page .mapping-source-layout .formula-toggle{
  flex:0 0 34px;
  width:34px;
  min-width:34px;
  height:40px;
}
.legacy-module-page.plans-workflow-page .mapping-source-layout .mapping-calculation-tools,
.legacy-module-page.plans-workflow-page .mapping-source-layout>.mapping-reference-tools{
  grid-column:1/-1;
  min-width:0;
}
.legacy-module-page.plans-workflow-page .mapping-source-layout:has(.map-source-wrap.is-formula-mode) .mapping-source-tools{
  grid-column:1/-1;
  justify-content:flex-end;
}
@media(max-width:1180px){
  .legacy-module-page.plans-workflow-page .mapping-source-layout{
    grid-template-columns:minmax(220px,50%) max-content;
  }
  .legacy-module-page.plans-workflow-page .mapping-source-layout .map-transform{
    width:138px !important;
  }
}
@media(max-width:900px){
  .legacy-module-page.plans-workflow-page .mapping-source-layout{
    grid-template-columns:1fr;
  }
  .legacy-module-page.plans-workflow-page .mapping-source-layout>.map-source-wrap,
  .legacy-module-page.plans-workflow-page .mapping-source-layout .mapping-source-tools,
  .legacy-module-page.plans-workflow-page .mapping-source-layout .mapping-calculation-tools,
  .legacy-module-page.plans-workflow-page .mapping-source-layout>.mapping-reference-tools{
    grid-column:1;
  }
}

/* Final overrides for the compact three-level calculation picker and formula editor. */
.legacy-module-page.plans-workflow-page .calculation-variable-panel{
  grid-template-columns:184px 282px 236px !important;
  max-width:calc(100vw - 24px);
  overflow:hidden;
}
.legacy-module-page.plans-workflow-page .calculation-variable-categories,
.legacy-module-page.plans-workflow-page .calculation-variable-items,
.legacy-module-page.plans-workflow-page .calculation-variable-fields{
  min-width:0;
  max-height:320px;
  overflow-y:auto;
  overflow-x:hidden;
}
.legacy-module-page.plans-workflow-page .calculation-variable-category{
  display:flex !important;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  width:100%;
  min-height:40px;
  padding:0 12px !important;
  border:0 !important;
  border-radius:8px !important;
  background:transparent !important;
  box-shadow:none !important;
}
.legacy-module-page.plans-workflow-page .calculation-variable-category:hover,
.legacy-module-page.plans-workflow-page .calculation-variable-category.is-active{
  background:transparent !important;
  box-shadow:inset 2px 0 0 currentColor !important;
}
.legacy-module-page.plans-workflow-page .calculation-variable-category-label{
  min-width:0;
  overflow:hidden;
  color:#3b5560 !important;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.legacy-module-page.plans-workflow-page .calculation-variable-category-meta,
.legacy-module-page.plans-workflow-page .calculation-variable-child-meta{
  display:inline-flex !important;
  align-items:center;
  flex:0 0 auto;
  gap:8px;
}
.legacy-module-page.plans-workflow-page .calculation-variable-category-count,
.legacy-module-page.plans-workflow-page .calculation-variable-child-count{
  display:inline-grid !important;
  place-items:center;
  min-width:22px;
  height:22px;
  padding:0 5px;
  border:1px solid #e7eef0;
  border-radius:11px;
  background:transparent !important;
  color:#82949a !important;
  font-size:11px;
  line-height:1;
}
.legacy-module-page.plans-workflow-page .calculation-variable-category-chevron,
.legacy-module-page.plans-workflow-page .calculation-variable-chevron{
  color:#9aabb0 !important;
  font-size:18px;
  line-height:1;
}
.legacy-module-page.plans-workflow-page .calculation-variable-child{
  display:flex !important;
  align-items:center;
  justify-content:space-between;
  width:100%;
  min-height:40px;
  padding:0 12px !important;
  border:0 !important;
  border-radius:8px !important;
  background:transparent !important;
  color:#314c58 !important;
  text-align:left;
}
.legacy-module-page.plans-workflow-page .calculation-variable-child:hover,
.legacy-module-page.plans-workflow-page .calculation-variable-child.is-active{
  background:#f1f7f8 !important;
}
.legacy-module-page.plans-workflow-page .calculation-variable-field{
  display:block !important;
  width:100%;
  min-height:38px;
  padding:0 14px !important;
  border:0 !important;
  border-radius:8px !important;
  background:transparent !important;
  color:#294956 !important;
  text-align:left;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.legacy-module-page.plans-workflow-page .calculation-variable-field:hover{
  background:#edf6f7 !important;
}
.legacy-module-page.plans-workflow-page .mapping-source-layout .mapping-calculation-tools{
  width:100% !important;
  max-width:none !important;
  box-sizing:border-box;
}
.legacy-module-page.plans-workflow-page .mapping-source-layout .mapping-formula-row{
  display:block !important;
  width:100%;
}
.legacy-module-page.plans-workflow-page .mapping-source-layout .map-calculation-expression{
  display:block;
  width:100% !important;
  min-width:0;
  box-sizing:border-box;
}
.legacy-module-page.plans-workflow-page .mapping-source-layout .mapping-calculation-settings{
  display:flex !important;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:10px;
  width:100%;
}
.legacy-module-page.plans-workflow-page .mapping-source-layout .map-test-formula-separator{
  color:#c7a59c;
  user-select:none;
}
.legacy-module-page.plans-workflow-page .mapping-source-layout .map-test-formula{
  flex:0 0 auto;
  margin:0;
}

/* 发票识别页：主列表 + 上传弹窗 */
.app.workspace-shell:has(.invoice-recognition-page) .main{overflow:hidden}
.app.workspace-shell:has(.invoice-recognition-page) .content{overflow:auto;min-width:0;min-height:0}
.legacy-module-page.invoice-recognition-page{min-height:100%;margin:0;padding:0;background:transparent;overflow:visible}
.invoice-recognition-page .invoice-page-head{position:sticky;top:0;z-index:3;background:var(--tp-bg,#f6f8f9)}
.invoice-recognition-page .invoice-list-panel,.invoice-recognition-page .invoice-list-panel .table-scroll{overflow:visible}
.invoice-page-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 8px}
.invoice-page-actions,.invoice-page-tools{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.invoice-page-plan-field{display:inline-flex;align-items:center;gap:8px}
.invoice-page-plan-field>span{font-size:13px;color:#6b7280;white-space:nowrap}
.invoice-page-plan-field .form-select{width:min(220px,36vw);min-height:36px;padding:0 10px;border-radius:10px;font-size:13px}
.invoice-page-tools .form-select{width:132px;min-height:36px;padding:0 10px;border-radius:10px;font-size:13px}
.invoice-search-group{display:inline-flex;align-items:center;overflow:hidden;border:1px solid #d7e2e8;border-radius:10px;background:#fff}
.invoice-search-group .invoice-page-search{width:220px;min-height:34px;padding:0 12px;border:0;border-radius:0;box-shadow:none;font-size:13px}
.invoice-search-group .invoice-page-search:focus{outline:0}
.invoice-search-group .secondary-button{height:36px;padding:0 14px;border:0;border-left:1px solid #edf1f3;border-radius:0;background:transparent;color:#3f6f82}
.invoice-search-group .secondary-button:hover{background:#f5fafb}
.invoice-delete-button{height:36px;padding:0 12px;border:0;border-radius:10px;background:transparent;color:#b45353;font-size:13px;cursor:pointer}
.invoice-delete-button:disabled{color:#c9b4b1;cursor:default}
.invoice-delete-button:not(:disabled):hover{background:#fff5f4}
.invoice-batch-action-button.is-hidden{display:none}
.invoice-page-notice{margin:0 0 10px;padding:10px 14px;border:1px solid #d7e2e8;border-radius:10px;background:#f7fafc;color:#1f2a30;font-size:13px;line-height:1.5}
.invoice-page-notice.is-error{border-color:#f0c8c4;background:#fff5f4;color:#b45353}
.invoice-list-panel{border:0;background:transparent;overflow:visible}
.invoice-list-panel .table-scroll{overflow:visible}
.invoice-grid-table{width:100%;min-width:1280px;border-collapse:separate;border-spacing:0;background:transparent;color:#1f2a30;font-size:13px}
.invoice-grid-table thead th{position:sticky;top:0;z-index:1;padding:12px 16px 12px 0;border-bottom:1px solid var(--td-border);background:#f6f8f9;color:#1f2a30;font-size:12px;font-weight:600;letter-spacing:.01em;text-align:left;white-space:nowrap;vertical-align:middle}
.invoice-grid-table thead th:first-child,.invoice-grid-table tbody td:first-child{padding-left:4px}
.invoice-grid-table tbody td{padding:16px 16px 16px 0;border-bottom:1px solid var(--td-border-soft);vertical-align:top;background:transparent;color:#1f2a30}
.invoice-grid-table tbody tr:hover td{background:var(--td-primary-soft)}
.invoice-grid-table .col-select{width:36px}
.invoice-grid-table .col-index{width:206px;text-align:center;white-space:nowrap}
.invoice-grid-table .col-party{min-width:214px;max-width:274px}
.invoice-grid-table .col-tax-id{min-width:172px;max-width:212px}
.invoice-grid-table .col-amount{width:128px;white-space:nowrap}
.invoice-grid-table .col-content{min-width:172px;max-width:308px}
.invoice-grid-table .col-date{width:104px;white-space:nowrap;color:#1f2a30}
.invoice-grid-table .col-type{min-width:102px;max-width:132px;white-space:normal;color:#1f2a30}
.invoice-grid-table .col-category{width:92px;white-space:nowrap}
.invoice-grid-table .col-remark{width:52px;text-align:right}
.invoice-sort-button{display:inline-flex;align-items:center;gap:5px;margin:0;padding:0;border:0;background:transparent;color:inherit;font:inherit;font-weight:600;cursor:pointer}
.invoice-sort-button:hover,.invoice-sort-button.is-active{color:#2f7185}
.invoice-sort-icon{position:relative;width:8px;height:12px;opacity:.45}
.invoice-sort-icon::before,.invoice-sort-icon::after{content:"";position:absolute;left:0;border-left:4px solid transparent;border-right:4px solid transparent}
.invoice-sort-icon::before{top:0;border-bottom:4px solid currentColor}
.invoice-sort-icon::after{bottom:0;border-top:4px solid currentColor}
.invoice-index-cell{display:grid;gap:3px;justify-items:center}
.invoice-index-no{font-size:11px;color:#1f2a30;text-align:center}
.invoice-index-code{display:block;color:#1f2a30;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12.5px;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:.01em;white-space:nowrap}
.invoice-party-cell,.invoice-tax-cell{display:grid;gap:10px}
.invoice-stacked{display:grid;gap:2px}
.invoice-stacked-main{font-size:13px;line-height:1.4;color:#1f2a30}
.invoice-stacked-main.is-secondary{font-weight:400;color:#6b7280}
.invoice-stacked-sub{font-size:12px;line-height:1.4;color:#6b7280;font-variant-numeric:tabular-nums}
.invoice-tax-id{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;letter-spacing:.01em}
.invoice-amount-total{font-variant-numeric:tabular-nums;font-weight:650}
.invoice-content-text{display:block;white-space:normal;word-break:break-word;color:#1f2a30;line-height:1.5}
.invoice-category-button{padding:0;border:0;background:transparent;color:#1f2a30;font:inherit;font-size:13px;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.invoice-category-button:hover{color:var(--td-primary-darker)}
.invoice-view-link{padding:0;border:0;background:transparent;color:#1f2a30;font:inherit;font-size:13px;cursor:pointer}
.invoice-view-link:hover{color:var(--td-primary-darker);text-decoration:underline}
.invoice-upload-modal{width:min(760px,100%)}
.invoice-plan-row{margin-bottom:12px}
.invoice-plan-row label{display:grid;gap:6px;font-size:12px;color:#6b7280}
.invoice-upload-dropzone{display:flex;align-items:center;gap:14px;padding:18px;border:1px dashed #d1d5db;border-radius:12px;background:#fbfcfe;cursor:pointer}
.invoice-upload-dropzone:hover,.invoice-upload-dropzone.drag{border-color:#1a56db;background:#f7faff}
.invoice-upload-dropzone.busy{opacity:.68;pointer-events:none}
.invoice-modal-queue{margin-top:14px;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden}
.invoice-modal-queue-head{display:flex;align-items:center;gap:10px;padding:10px 12px;border-bottom:1px solid #edf1f3;background:#f8fafc}
.invoice-modal-queue-head strong{font-size:12px;color:#374151}
.invoice-modal-queue-head span{margin-right:auto;color:#6b7280;font-size:11px}
.invoice-upload-modal .batch-progress-box{margin-top:14px}
.invoice-upload-modal .batch-progress-box:not(.show){display:none}
.invoice-category-modal{width:min(560px,100%);color:#1f2a30}
.invoice-category-modal .modal-header{align-items:center}
.invoice-export-modal{width:min(520px,100%);color:#1f2a30}
.invoice-export-options{display:grid;gap:10px}
.invoice-export-option{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border:1px solid var(--td-border);border-radius:10px;background:#fff;cursor:pointer}
.invoice-export-option:has(input:checked){border-color:var(--td-primary);background:var(--td-primary-faint)}
.invoice-export-option input{margin-top:3px;accent-color:var(--td-primary-deep)}
.invoice-export-option-copy{display:grid;gap:4px}
.invoice-export-option-copy b{font-size:13px;color:#1f2a30}
.invoice-export-option-copy small{font-size:12px;line-height:1.55;color:#6b7280}
.invoice-export-plan-field{display:grid;gap:8px;margin-top:14px;font-size:13px;font-weight:600;color:#1f2a30}
.invoice-export-plan-field[hidden]{display:none!important}
.invoice-category-head-actions{display:flex;align-items:center;gap:8px}
.invoice-category-add{height:32px;padding:0 12px;border:1px solid var(--td-border);border-radius:999px;background:#fff;color:#1f2a30;font:inherit;font-size:12px;cursor:pointer}
.invoice-category-add:hover{border-color:var(--td-primary-deep);background:var(--td-primary-faint)}
.invoice-category-table-wrap{max-height:360px;overflow:auto;border:1px solid var(--td-border);border-radius:10px}
.invoice-category-table{width:100%;border-collapse:collapse;font-size:13px;color:#1f2a30}
.invoice-category-table th{padding:10px 14px;background:#f6f8f9;border-bottom:1px solid var(--td-border);text-align:left;font-weight:600}
.invoice-category-table td{padding:10px 14px;border-bottom:1px solid var(--td-border-soft);color:#1f2a30}
.invoice-category-table tr:hover td{background:var(--td-primary-faint)}
.invoice-category-table tr.is-group td{background:#fafcfd;font-weight:600}
.invoice-category-table tr.is-child td:first-child{padding-left:36px}
.invoice-category-folder{display:inline-flex;align-items:center;gap:8px}
.invoice-category-folder::before{content:"";width:14px;height:12px;border-radius:2px 2px 1px 1px;background:#e9ad5f;box-shadow:0 1px 0 #d49a4a}
.invoice-category-name{display:flex;align-items:center;gap:8px;cursor:pointer}
.invoice-category-name input{accent-color:var(--td-primary-deep)}
.invoice-category-empty{color:#1f2a30}
.invoice-category-remove{width:22px;height:22px;border:0;border-radius:50%;background:#d7e2e8;color:#1f2a30;font-size:14px;line-height:1;cursor:pointer}
.invoice-category-remove:hover{background:#c5d4da}
.invoice-category-selected{display:flex;align-items:center;gap:8px;padding:12px 22px;background:#f4f8fa;color:#1f2a30;font-size:13px}
.invoice-category-pill{display:inline-flex;align-items:center;height:26px;padding:0 10px;border:1px solid var(--td-border);border-radius:999px;background:#fff;color:#1f2a30}
.invoice-column-modal{width:min(720px,100%);color:#1f2a30}
.invoice-column-modal-body{display:grid;grid-template-columns:168px minmax(0,1fr);gap:0;min-height:360px;border:1px solid var(--td-border);border-radius:12px;overflow:hidden}
.invoice-column-nav{display:flex;flex-direction:column;gap:0;padding:10px 0;background:#f7fafc;border-right:1px solid var(--td-border)}
.invoice-column-nav-item{display:flex;align-items:center;gap:8px;width:100%;min-height:42px;padding:0 16px;border:0;background:transparent;color:#6b7280;font:inherit;font-size:13px;text-align:left;cursor:default}
.invoice-column-nav-item.is-active{background:#eef6ff;color:#1f2a30;font-weight:600}
.invoice-column-panel{padding:0;background:#fff}
.invoice-column-table-wrap{max-height:360px;overflow:auto}
.invoice-column-table{width:100%;border-collapse:collapse;font-size:13px;color:#1f2a30}
.invoice-column-table th{padding:12px 16px;background:#f6f8f9;border-bottom:1px solid var(--td-border);text-align:left;font-weight:600}
.invoice-column-table td{padding:12px 16px;border-bottom:1px solid var(--td-border-soft);color:#1f2a30}
.invoice-column-table tr.is-mandatory td{background:#fffdf5}
.invoice-column-table input[type=checkbox]{accent-color:var(--td-primary-deep)}
@media(max-width:900px){
  .invoice-page-head{flex-direction:column;align-items:flex-start}
  .invoice-page-tools{width:100%}
}

.workspace-shell .workspace-task-status{
  display:inline-flex;
  align-items:center;
  gap:8px;
  max-width:min(460px,40vw);
  padding:9px 16px;
  border:1px solid #f0c96b;
  border-radius:10px;
  background:linear-gradient(180deg,#fffbeb 0%,#fff7df 100%);
  box-shadow:0 1px 2px rgba(161,98,7,.08);
  color:#92400e;
  font-size:13px;
  font-weight:600;
  white-space:nowrap;
  overflow:hidden;
}
.workspace-shell .workspace-task-status.is-empty{
  border-color:#d7e2e8;
  background:#f8fafc;
  color:#64748b;
  box-shadow:none;
}
.workspace-shell .workspace-task-status-label{
  flex:0 0 auto;
  color:#b7791f;
  font-size:12px;
  font-weight:700;
  letter-spacing:.02em;
}
.workspace-shell .workspace-task-status.is-empty .workspace-task-status-label{color:#64748b}
.workspace-shell .workspace-task-status-name{
  overflow:hidden;
  text-overflow:ellipsis;
  font-size:14px;
  font-weight:700;
  color:#78350f;
}
.workspace-shell .workspace-task-status.is-empty .workspace-task-status-name{color:#475569;font-weight:600}

/* ========================================================
   企业/个人空间 · 简洁工作台风格
   ======================================================== */
.space-drive-page{margin:-24px -30px -44px;min-height:calc(100vh - 104px);background:var(--space-page-bg,var(--tp-bg,#f6f8f9))}
.space-drive-shell{
  --space-accent:#5a94a8;
  --space-accent-deep:#3f7486;
  --space-accent-soft:#eef5f8;
  --space-accent-border:#8abcd1;
  --space-accent-grad:#8ABCD1;
  --space-page-bg:linear-gradient(180deg,#f3f8fa 0%,#f6f8f9 42%,#fbfcfd 100%);
  --space-panel-accent:#8abcd1;
  max-width:1120px;margin:0 auto;padding:32px 40px 48px;color:var(--tp-text,#1f2a30)
}
.space-drive-shell.is-enterprise{
  --space-accent:#c88b2e;
  --space-accent-deep:#92400e;
  --space-accent-soft:#fff7df;
  --space-accent-border:#f0c96b;
  --space-accent-grad:linear-gradient(180deg,#f5d78e,#e9ad5f);
  --space-page-bg:linear-gradient(180deg,#fffaf0 0%,#f8f6f2 42%,#fbfcfd 100%);
  --space-panel-accent:#e9ad5f;
}
.space-drive-shell.is-personal{
  --space-accent:#5a94a8;
  --space-accent-deep:#3f7486;
  --space-accent-soft:#eef5f8;
  --space-accent-border:#8abcd1;
  --space-accent-grad:#8ABCD1;
  --space-page-bg:linear-gradient(180deg,#f3f8fa 0%,#f6f8f9 42%,#fbfcfd 100%);
  --space-panel-accent:#8abcd1;
}
.space-drive-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:20px;padding:20px 22px;border:1px solid var(--space-accent-border);border-radius:var(--tp-radius,12px);background:linear-gradient(135deg,var(--space-accent-soft) 0%,#fff 72%);box-shadow:var(--tp-shadow-sm,0 1px 3px rgba(31,42,48,.04))}
.space-drive-hero-main{min-width:0;flex:1}
.space-drive-title-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.space-drive-scope-badge{display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:24px;padding:0 10px;border-radius:999px;background:var(--space-accent);color:#1A3540;font-size:12px;font-weight:700;letter-spacing:.04em;box-shadow:0 1px 3px rgba(31,42,48,.12)}
.space-drive-shell.is-enterprise .space-drive-scope-badge{color:#7c4a12}
.space-drive-back-btn{display:inline-flex;align-items:center;height:32px;margin-bottom:12px;padding:0 10px;border:1px solid var(--space-accent-border);border-radius:var(--tp-radius-sm,8px);background:#fff;color:var(--space-accent-deep);font:inherit;font-size:12px;font-weight:600;cursor:pointer}
.space-drive-back-btn:hover{border-color:var(--space-accent);color:var(--space-accent-deep)}
.space-drive-hero-copy h1{margin:0;font-size:28px;font-weight:700;letter-spacing:-.02em;color:var(--tp-text,#1f2a30);max-width:min(720px,100%);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.space-drive-hero-copy p{margin:8px 0 0;color:var(--tp-text-tert,#71808d);font-size:13px;line-height:1.6}
.space-drive-hero-stats{display:flex;flex-wrap:wrap;gap:10px 18px;margin-top:14px;color:var(--tp-text-sec,#55636d);font-size:13px}
.space-drive-hero-stats strong{color:var(--space-accent-deep);font-weight:700}
.space-drive-scope-switch{display:inline-flex;gap:4px;padding:4px;border:1px solid var(--space-accent-border);border-radius:var(--tp-radius,12px);background:rgba(255,255,255,.88);box-shadow:var(--tp-shadow-sm,0 1px 3px rgba(31,42,48,.04))}
.space-drive-scope-btn{height:36px;padding:0 16px;border:0;border-radius:var(--tp-radius-sm,8px);background:transparent;color:var(--tp-text-tert,#71808d);font:inherit;font-size:13px;font-weight:600;cursor:pointer;transition:all .15s ease}
.space-drive-scope-btn:hover{color:var(--space-accent-deep);background:var(--space-accent-soft)}
.space-drive-scope-btn.is-active.is-personal-scope{background:#8ABCD1;color:#1A3540;box-shadow:0 2px 6px rgba(90,148,168,.22)}
.space-drive-scope-btn.is-active.is-enterprise-scope{background:linear-gradient(180deg,#f5d78e,#e9ad5f);color:#7c4a12;box-shadow:0 2px 6px rgba(233,173,95,.28)}
.space-drive-scope-btn:disabled{opacity:.45;cursor:not-allowed}
.space-drive-scope-note{margin:0;color:var(--tp-text-tert,#71808d);font-size:12px;line-height:1.6}
.space-drive-loading,.space-drive-error{padding:48px 24px;text-align:center;color:var(--tp-text-tert,#71808d)}
.space-drive-error h2{margin:0 0 8px;color:var(--tp-text,#1f2a30);font-size:18px}
.space-drive-error p{margin:0 0 16px;color:var(--tp-danger,#8a2524)}
.space-drive-shell.is-library{max-width:1360px}
.space-drive-panel{border:1px solid var(--tp-gray-4,#d3dbe0);border-top:3px solid var(--space-panel-accent);border-radius:var(--tp-radius,12px);background:#fff;box-shadow:var(--tp-shadow-sm,0 1px 3px rgba(31,42,48,.04));overflow:hidden}
.space-drive-panel.has-tree-sidebar{display:flex;align-items:stretch;min-height:620px}
.space-drive-panel-main{position:relative;flex:1;min-width:0;display:flex;flex-direction:column}
.space-drive-tree-sidebar{width:300px;flex:none;border-right:1px solid var(--tp-gray-5,#dce7eb);background:linear-gradient(180deg,#fcfdfe 0%,#f7f9fb 100%);overflow:auto}
.space-drive-tree-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:14px 12px 10px 16px;border-bottom:1px solid rgba(211,219,224,.7)}
.space-drive-tree-toolbar-title{color:var(--tp-text,#1f2a30);font-size:13px;font-weight:700}
.space-drive-tree-toolbar-btn{width:28px;height:28px;border:1px solid var(--tp-gray-4,#d3dbe0);border-radius:8px;background:#fff;color:var(--space-accent-deep);font-size:18px;line-height:1;cursor:pointer}
.space-drive-tree-toolbar-btn:hover{border-color:var(--space-accent-border);background:var(--space-accent-soft)}
.space-drive-tree-toolbar-btn:disabled{opacity:.45;cursor:not-allowed}
.space-drive-tree{margin:0;padding:8px 0 12px;list-style:none}
.space-drive-tree-children{margin:0;padding:0 0 0 16px;list-style:none}
.space-drive-tree-item-wrap{list-style:none}
.space-drive-tree-row{display:flex;align-items:center;gap:4px;margin:1px 10px;padding:2px 4px;border-radius:10px;transition:background-color .15s ease,box-shadow .15s ease}
.space-drive-tree-row:hover{background:rgba(255,255,255,.88)}
.space-drive-tree-row.is-active{background:#fff;box-shadow:inset 0 0 0 1px var(--space-accent-border),0 1px 2px rgba(31,42,48,.04)}
.space-drive-tree-toggle{width:18px;height:28px;flex:none;border:0;background:transparent;cursor:pointer;position:relative;border-radius:6px}
.space-drive-tree-toggle:hover{background:rgba(31,42,48,.05)}
.space-drive-tree-toggle.is-spacer{visibility:hidden;pointer-events:none}
.space-drive-tree-toggle::before{content:'';display:block;width:0;height:0;margin:10px auto;border-top:4px solid transparent;border-bottom:4px solid transparent;border-left:5px solid #8a98a3;transition:transform .15s ease}
.space-drive-tree-toggle.is-expanded::before{transform:rotate(90deg)}
.space-drive-tree-item{display:flex;align-items:center;gap:8px;min-width:0;flex:1;border:0;background:transparent;padding:5px 4px;text-align:left;font:inherit;font-size:13px;color:var(--tp-text,#1f2a30);cursor:pointer}
.space-drive-tree-row.is-active .space-drive-tree-item{color:var(--space-accent-deep);font-weight:600}
.space-drive-tree-icon{width:18px;height:18px;flex:none}
.space-drive-tree-icon img{display:block;width:100%;height:100%;object-fit:contain}
.space-drive-tree-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.space-drive-tree-count{min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:#eef2f5;color:var(--tp-text-tert,#71808d);font-size:11px;font-weight:600;line-height:18px;text-align:center;font-variant-numeric:tabular-nums}
.space-drive-tree-row.is-active .space-drive-tree-count{background:var(--space-accent-soft);color:var(--space-accent-deep)}
.space-drive-tree-menu-btn{width:24px;height:24px;flex:none;border:0;border-radius:6px;background:transparent;color:var(--tp-text-tert,#71808d);font-size:16px;line-height:1;cursor:pointer;opacity:0;transition:opacity .15s ease,background-color .15s ease}
.space-drive-tree-row:hover .space-drive-tree-menu-btn,.space-drive-tree-row:focus-within .space-drive-tree-menu-btn,.space-drive-tree-row.is-active .space-drive-tree-menu-btn{opacity:1}
.space-drive-tree-menu-btn:hover{background:rgba(31,42,48,.06);color:var(--tp-text,#1f2a30)}
.space-drive-tree-tag{display:inline-flex;align-items:center;margin-left:6px;padding:0 6px;border-radius:999px;background:#fde68a;color:#92400e;font-size:10px;font-weight:700;vertical-align:middle}
.space-drive-tree-tag.is-system{background:#e8edf1;color:#5f6d78}
.space-drive-path-bar{min-width:0;flex:1}
.space-drive-path-breadcrumb{display:flex;align-items:center;gap:4px;min-width:0;overflow:auto;white-space:nowrap}
.space-drive-path-crumb{border:0;background:transparent;color:var(--tp-text-tert,#71808d);font:inherit;font-size:14px;font-weight:500;cursor:pointer;padding:0}
.space-drive-path-crumb:hover{color:var(--space-accent-deep);text-decoration:underline}
.space-drive-path-crumb.is-current{color:var(--tp-text,#1f2a30);font-weight:700;cursor:default;text-decoration:none}
.space-drive-path-sep{color:var(--tp-gray-3,#c5cdd1);font-size:12px}
.space-drive-path-meta{margin:4px 0 0;color:var(--tp-text-tert,#71808d);font-size:12px}
.space-drive-folder-section{border-bottom:1px solid var(--tp-gray-5,#dce7eb);background:#fcfdfe}
.space-drive-folder-section-head{display:flex;align-items:center;gap:8px;padding:12px 20px 8px;color:var(--tp-text-sec,#55636d);font-size:12px;font-weight:600;letter-spacing:.02em}
.space-drive-folder-section-head small{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:#eef2f5;color:var(--tp-text-tert,#71808d);font-size:11px}
.space-drive-folder-list{display:grid;gap:0}
.space-drive-folder-list-row{display:flex;align-items:center;gap:12px;width:100%;padding:12px 20px;border:0;border-bottom:1px solid #f1f5f7;background:transparent;text-align:left;cursor:pointer;transition:background-color .15s ease;overflow:hidden}
.space-drive-folder-list-row:hover{background:#f8fbfd}
.space-drive-folder-list-icon{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;flex:none;overflow:hidden}
.space-drive-folder-list-icon img{display:block;width:100%;height:100%;object-fit:contain}
.space-drive-folder-list-copy{min-width:0;flex:1}
.space-drive-folder-list-copy strong,.space-drive-folder-list-copy small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.space-drive-folder-list-copy strong{color:var(--tp-text,#1f2a30);font-size:14px}
.space-drive-folder-list-copy small{margin-top:3px;color:var(--tp-text-tert,#71808d);font-size:12px}
.space-drive-folder-list-enter{color:var(--tp-gray-2,#9aa4ab);font-size:18px;line-height:1}
.space-drive-folder-list-actions{display:flex;gap:4px;opacity:0;transition:opacity .15s ease}
.space-drive-folder-list-row:hover .space-drive-folder-list-actions,.space-drive-folder-list-row:focus-within .space-drive-folder-list-actions{opacity:1}
.space-drive-file-section-head{display:flex;align-items:center;gap:8px;padding:14px 20px 8px;border-top:1px solid var(--tp-gray-5,#dce7eb);color:var(--tp-text-sec,#55636d);font-size:12px;font-weight:600;letter-spacing:.02em;background:#fff}
.space-drive-file-section-head small{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:#eef2f5;color:var(--tp-text-tert,#71808d);font-size:11px}
.space-drive-folder-tag.is-system{background:#e8edf1;color:#5f6d78}
.space-drive-folder-menu{position:fixed;z-index:1300;min-width:168px;padding:6px;border:1px solid var(--tp-gray-4,#d3dbe0);border-radius:12px;background:#fff;box-shadow:0 12px 32px rgba(31,42,48,.12)}
.space-drive-folder-menu-item{display:block;width:100%;padding:9px 12px;border:0;border-radius:8px;background:transparent;color:var(--tp-text,#1f2a30);font:inherit;font-size:13px;text-align:left;cursor:pointer}
.space-drive-folder-menu-item:hover{background:#f4f7f9}
.space-drive-folder-menu-item.is-danger{color:var(--tp-danger,#8a2524)}
.space-drive-folder-menu-item.is-danger:hover{background:#fff5f5}
.space-drive-folder-menu-item.is-disabled,.space-drive-folder-menu-item:disabled{opacity:.45;cursor:not-allowed}
.space-drive-folder-menu-item.is-disabled:hover,.space-drive-folder-menu-item:disabled:hover{background:transparent}
.space-drive-list-tree-indent{display:inline-block;flex:none;height:36px;margin-right:2px}
.space-drive-library-list .space-drive-file-main{align-items:center}
.space-drive-input{width:100%;height:40px;padding:0 12px;border:1px solid var(--tp-gray-4,#d3dbe0);border-radius:10px;background:#fff;font:inherit;font-size:14px;color:var(--tp-text,#1f2a30)}
.space-drive-input:focus{outline:none;border-color:var(--space-accent-border);box-shadow:0 0 0 3px rgba(138,188,209,.18)}
.space-drive-folder-dialog{width:min(420px,100%)}
.space-drive-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 20px;border-bottom:1px solid var(--tp-gray-5,#dce7eb);background:#fbfcfd}
.space-drive-section-title h2{margin:0;color:var(--tp-text,#1f2a30);font-size:15px;font-weight:600}
.space-drive-section-title span{display:block;margin-top:4px;color:var(--tp-text-tert,#71808d);font-size:12px}
.space-drive-breadcrumb{display:flex;align-items:center;gap:6px;min-width:0;flex:1;overflow:auto;white-space:nowrap}
.space-drive-crumb{display:inline-flex;align-items:center;gap:4px;border:0;background:transparent;color:var(--tp-text-tert,#71808d);font:inherit;font-size:13px;cursor:pointer;padding:0}
.space-drive-crumb:hover{color:var(--space-accent-deep);text-decoration:underline}
.space-drive-crumb.is-current{display:inline-flex;align-items:center;gap:4px;color:var(--tp-text,#1f2a30);font-weight:600;cursor:default;text-decoration:none}
.space-drive-crumb-sep{color:var(--tp-gray-3,#c5cdd1);font-size:12px}
.space-drive-toolbar-actions{display:flex;align-items:center;gap:8px;flex:none;flex-wrap:wrap;justify-content:flex-end}
.space-drive-upload-menu{min-width:220px}
.space-drive-upload-menu-hint{margin:6px 8px 4px;padding:8px 10px;border-radius:8px;background:var(--space-accent-soft,#edf5f7);color:var(--space-accent-deep,#5a94a8);font-size:11.5px;line-height:1.45}
.space-drive-drop-hint{display:none;position:absolute;inset:12px;z-index:20;place-items:center;gap:6px;border:2px dashed var(--space-accent-border,#8abcd1);border-radius:14px;background:rgba(237,245,247,.92);color:var(--space-accent-deep,#377180);text-align:center;pointer-events:none}
.space-drive-panel-main.is-drop-active .space-drive-drop-hint{display:grid}
.space-drive-drop-hint strong{font-size:16px;font-weight:700;color:var(--tp-text,#1A3540)}
.space-drive-drop-hint span{font-size:12.5px;max-width:280px;line-height:1.5}
.space-drive-view-toggle{display:inline-flex;padding:3px;border:1px solid var(--tp-gray-4,#d3dbe0);border-radius:var(--tp-radius-sm,8px);background:#fff}
.space-drive-view-btn{width:32px;height:32px;border:0;border-radius:6px;background:transparent;color:var(--tp-text-tert,#71808d);font-size:14px;cursor:pointer}
.space-drive-view-btn.is-active{background:var(--space-accent-soft);color:var(--space-accent-deep)}
.space-drive-primary-btn,.space-drive-secondary-btn{height:36px;padding:0 14px;border-radius:var(--tp-radius-sm,8px);font:inherit;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap}
.space-drive-primary-btn{border:1px solid var(--space-accent-border);background:var(--space-accent-grad);color:var(--space-accent-deep);box-shadow:0 2px 6px rgba(31,42,48,.08)}
.space-drive-shell.is-personal .space-drive-primary-btn{color:#1f3a44}
.space-drive-shell.is-enterprise .space-drive-primary-btn{color:#7c4a12}
.space-drive-primary-btn:hover{filter:brightness(.97)}
.space-drive-primary-btn:disabled{opacity:.6;cursor:not-allowed}
.space-drive-secondary-btn{border:1px solid var(--tp-gray-4,#d3dbe0);background:#fff;color:var(--tp-text-sec,#55636d)}
.space-drive-secondary-btn:hover{background:#f8fafc;border-color:var(--space-accent-border);color:var(--space-accent-deep)}
.space-drive-secondary-btn.is-danger{color:var(--tp-danger,#8a2524);border-color:#efc2c2}
.space-drive-secondary-btn.is-danger:hover{background:#fff5f5;border-color:#e08f8f;color:var(--tp-danger,#8a2524)}
.space-drive-message{margin:0 20px;padding:10px 12px;border-radius:var(--tp-radius-sm,8px);background:var(--space-accent-soft);color:var(--space-accent-deep);font-size:13px}
.space-drive-folder-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;padding:16px 20px 8px}
.space-drive-folder-card{position:relative;display:flex;align-items:center;gap:12px;width:100%;padding:12px 14px 12px 40px;border:1px solid var(--tp-gray-5,#dce7eb);border-radius:var(--tp-radius-sm,10px);background:#fff;text-align:left;cursor:pointer;transition:border-color .15s,box-shadow .15s}
.space-drive-folder-card:hover{border-color:var(--space-accent-border);box-shadow:var(--tp-shadow-sm,0 1px 3px rgba(31,42,48,.04))}
.space-drive-folder-card.is-selected{border-color:var(--space-accent-border);background:#f8fbff}
.space-drive-folder-icon,.space-drive-crumb-icon{display:inline-flex;align-items:center;justify-content:center;flex:none;overflow:hidden}
.space-drive-folder-icon{width:36px;height:36px}
.space-drive-folder-icon img,.space-drive-crumb-icon img{display:block;width:100%;height:100%;object-fit:contain}
.space-drive-crumb-icon{width:16px;height:16px;vertical-align:middle}
.space-drive-folder-meta{min-width:0;flex:1}
.space-drive-folder-meta strong,.space-drive-folder-meta small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.space-drive-folder-meta strong{color:var(--tp-text,#1f2a30);font-size:14px}
.space-drive-folder-meta small{margin-top:3px;color:var(--tp-text-tert,#71808d);font-size:12px}
.space-drive-shared-badge{display:inline-flex;align-items:center;margin-left:8px;padding:0 6px;border-radius:999px;background:#e0f2fe;color:#0369a1;font-size:11px;font-weight:700;vertical-align:middle}
.space-drive-shared-badge.is-mirror{background:#fef3c7;color:#b45309}
.space-drive-folder-tag{display:inline-flex;align-items:center;margin-left:6px;padding:0 6px;border-radius:999px;background:#fde68a;color:#92400e;font-size:11px;font-weight:700;vertical-align:middle}
.space-drive-toolbar.has-zone-tabs{align-items:center;min-height:52px;padding:8px 20px 0;border-bottom:0;background:#fff}
.space-drive-toolbar.has-zone-tabs .space-drive-toolbar-actions{padding-bottom:8px}
.space-drive-zone-tabs{display:flex;align-items:center;gap:0;min-width:0;height:36px}
.space-drive-zone-tab{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:96px;height:36px;padding:0 16px;border:0;border-bottom:2px solid transparent;margin-bottom:0;background:transparent;color:var(--tp-text-tert,#71808d);font:inherit;font-size:14px;font-weight:500;white-space:nowrap;cursor:pointer;transition:color .15s ease,border-color .15s ease}
.space-drive-zone-tab:hover{color:var(--tp-text,#1f2a30)}
.space-drive-zone-tab.is-active{color:var(--space-accent-deep);border-bottom-color:var(--space-accent-deep)}
.space-drive-zone-tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:20px;padding:0 6px;border-radius:999px;background:#f1f5f7;color:var(--tp-text-sec,#55636d);font-size:12px;font-weight:600;line-height:1;font-variant-numeric:tabular-nums}
.space-drive-zone-tab.is-active .space-drive-zone-tab-count{background:var(--space-accent-soft);color:var(--space-accent-deep)}
.space-drive-enterprise-body{display:flex;flex-direction:column;min-height:280px;padding:0}
.space-drive-zone-folder-slot{flex:none}
.space-drive-zone-folder-grid{padding-top:12px;padding-bottom:4px}
.space-drive-zone-file-list{flex:1;border-top:1px solid var(--tp-gray-5,#dce7eb)}
.space-drive-zone-file-list .space-drive-file-list-head,
.space-drive-zone-file-list .space-drive-file-row.is-enterprise{gap:12px;padding:0 20px}
.space-drive-zone-file-list .space-drive-file-list-head{min-height:40px;align-items:center;background:#fafbfc;border-bottom:1px solid var(--tp-gray-5,#dce7eb);color:var(--tp-text-tert,#71808d);font-size:12px;font-weight:500}
.space-drive-zone-file-list .space-drive-file-row.is-enterprise{min-height:56px;padding-top:10px;padding-bottom:10px}
.space-drive-zone-file-list .space-drive-file-list-head-name{display:flex;align-items:center;gap:12px;min-width:0}
.space-drive-zone-file-list .space-drive-file-list-head-name::before{content:'';display:block;width:36px;flex:none}
.space-drive-zone-file-list .space-drive-file-list-head-uploader,
.space-drive-zone-file-list .space-drive-file-list-head-time{padding-left:2px}
.space-drive-zone-file-list .space-drive-file-list-head-actions{padding-right:4px}
.space-drive-empty-compact{flex:1;display:flex;align-items:center;justify-content:center;padding:48px 24px}
.space-drive-folder-actions{display:flex;gap:4px;opacity:0;transition:opacity .15s}
.space-drive-folder-card:hover .space-drive-folder-actions,.space-drive-folder-card:focus-within .space-drive-folder-actions{opacity:1}
.space-drive-icon-btn{width:28px;height:28px;border:1px solid var(--tp-gray-4,#d3dbe0);border-radius:6px;background:#fff;color:var(--tp-text-tert,#71808d);font-size:13px;cursor:pointer}
.space-drive-icon-btn.is-danger{color:var(--tp-danger,#8a2524)}
.space-drive-file-list{border-top:1px solid var(--tp-gray-5,#dce7eb);width:100%;overflow:hidden}
.space-drive-library-list .space-drive-folder-row{cursor:pointer;transition:background-color .15s ease}
.space-drive-library-list .space-drive-folder-row:hover{background:#f8fbfd}
.space-drive-library-list .space-drive-folder-row .space-drive-file-icon{background:transparent}
.space-drive-library-grid{border-top:1px solid var(--tp-gray-5,#dce7eb)}
.space-drive-file-list-head,
.space-drive-file-row{display:grid;align-items:center;gap:16px;padding:14px 20px}
.space-drive-file-list.is-enterprise .space-drive-file-list-head,
.space-drive-file-list.is-enterprise .space-drive-file-row.is-enterprise{grid-template-columns:52px minmax(0,1fr) 120px 168px 120px}
.space-drive-file-list.is-personal .space-drive-file-list-head,
.space-drive-file-list.is-personal .space-drive-file-row.is-personal{grid-template-columns:52px minmax(0,1fr) 100px 120px}
.space-drive-file-list-head.has-selection,
.space-drive-file-list.is-enterprise .space-drive-file-list-head.has-selection,
.space-drive-file-list.is-enterprise .space-drive-file-row.is-enterprise:has(.space-drive-file-check),
.space-drive-file-list.is-personal .space-drive-file-list-head.has-selection,
.space-drive-file-list.is-personal .space-drive-file-row.is-personal:has(.space-drive-file-check){grid-template-columns:36px 52px minmax(0,1fr) 100px 120px}
.space-drive-file-list.is-enterprise .space-drive-file-list-head.has-selection,
.space-drive-file-list.is-enterprise .space-drive-file-row.is-enterprise:has(.space-drive-file-check){grid-template-columns:36px 52px minmax(0,1fr) 120px 168px 120px}
.space-drive-file-check,.space-drive-file-card-check{display:flex;align-items:center;justify-content:center}
.space-drive-file-check input,.space-drive-file-card-check input{width:16px;height:16px;cursor:pointer}
.space-drive-file-row.is-selected,.space-drive-file-card.is-selected{background:#f8fbff}
.space-drive-file-card{padding-top:36px}
.space-drive-select{height:36px;padding:0 10px;border:1px solid var(--tp-gray-4,#d3dbe0);border-radius:var(--tp-radius-sm,8px);background:#fff;font:inherit;color:var(--tp-text,#1f2a30)}
.space-drive-form-field{display:grid;gap:6px;color:var(--tp-text-sec,#55636d);font-size:13px}
.space-drive-share-target{margin:0;color:var(--tp-text-sec,#55636d);font-size:13px}
.space-drive-file-card-check{position:absolute;top:10px;left:10px;z-index:1}
.space-drive-file-list-head{padding:10px 20px;border-bottom:1px solid var(--tp-gray-5,#dce7eb);background:#fbfcfd;color:var(--tp-text-tert,#71808d);font-size:12px;font-weight:600}
.space-drive-file-list-head-index,
.space-drive-file-index{color:var(--tp-text-tert,#71808d);font-size:13px;font-weight:600;font-variant-numeric:tabular-nums;text-align:center}
.space-drive-file-index{align-self:center}
.space-drive-file-list-head-actions{text-align:right}
.space-drive-file-row{border-bottom:1px solid #f1f5f7}
.space-drive-file-row:last-child{border-bottom:0}
.space-drive-file-main{display:flex;align-items:center;gap:12px;min-width:0;overflow:hidden}
.space-drive-file-icon,.space-drive-file-card-icon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;flex:none;border-radius:10px;background:#f8fafb;overflow:hidden}
.space-drive-file-card-icon{width:40px;height:40px}
.space-drive-file-icon img,.space-drive-file-card-icon img{display:block;width:100%;height:100%;object-fit:contain}
.space-drive-file-copy{min-width:0;flex:1;overflow:hidden}
.space-drive-file-copy strong,.space-drive-file-copy small{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.space-drive-file-copy strong{color:var(--tp-text,#1f2a30);font-size:14px}
.space-drive-file-copy small{margin-top:4px;color:var(--tp-text-tert,#71808d);font-size:12px}
.space-drive-file-status{color:#167245;font-size:12px;white-space:nowrap}
.space-drive-file-actions{display:flex;flex:none;gap:8px;align-items:center;justify-content:flex-end}
.space-drive-file-row.is-enterprise .space-drive-file-uploader,
.space-drive-file-row.is-enterprise .space-drive-file-time{overflow:hidden;color:var(--tp-text-sec,#55636d);font-size:13px;text-overflow:ellipsis;white-space:nowrap}
.space-drive-file-row.is-enterprise .space-drive-file-time{color:var(--tp-text-tert,#71808d);font-variant-numeric:tabular-nums}
.space-drive-text-btn{border:0;background:transparent;color:var(--space-accent-deep);font:inherit;font-size:13px;font-weight:600;cursor:pointer;padding:0}
.space-drive-text-btn.is-danger{color:var(--tp-danger,#8a2524)}
.space-drive-muted{color:var(--tp-gray-2,#9aa4ab);font-size:12px}
.space-drive-file-card-meta{display:grid;gap:4px;color:var(--tp-text-tert,#71808d);font-size:12px}
.space-drive-file-card-meta span,.space-drive-file-card-meta time{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.space-drive-file-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;padding:16px 20px 20px;border-top:1px solid var(--tp-gray-5,#dce7eb)}
.space-drive-file-card-actions{display:flex;gap:8px;align-items:center}
.space-drive-file-card{position:relative}
.space-drive-file-card-index{position:absolute;top:10px;right:10px;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:var(--space-accent-soft);color:var(--space-accent-deep);font-size:11px;font-weight:700;line-height:22px;text-align:center}
.space-drive-file-card strong,.space-drive-file-card small{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.space-drive-file-card strong{color:var(--tp-text,#1f2a30);font-size:14px}
.space-drive-file-card small{color:var(--tp-text-tert,#71808d);font-size:12px}
.space-drive-empty{padding:56px 24px;text-align:center;color:var(--tp-text-tert,#71808d)}
.space-drive-empty-icon{font-size:34px;margin-bottom:10px}
.space-drive-empty strong{display:block;color:var(--tp-text-sec,#55636d);font-size:16px}
.space-drive-empty p{margin:8px 0 0;font-size:13px}
.space-drive-more{padding:0 20px 18px;text-align:center}
.space-drive-import-overlay{position:fixed;inset:0;z-index:1200;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(31,42,48,.42)}
.space-drive-import-dialog{width:min(640px,100%);max-height:min(80vh,720px);display:grid;grid-template-rows:auto 1fr auto;gap:16px;padding:20px;border-radius:var(--tp-radius,16px);background:#fff;box-shadow:var(--tp-shadow-md,0 4px 12px rgba(31,42,48,.06))}
.space-drive-import-head h2{margin:0 0 6px;color:var(--tp-text,#1f2a30);font-size:18px}
.space-drive-import-head p{margin:0;color:var(--tp-text-tert,#71808d);font-size:13px;line-height:1.6}
.space-drive-import-list{display:grid;gap:8px;overflow:auto;padding-right:4px}
.space-drive-import-item{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border:1px solid var(--tp-gray-5,#dce7eb);border-radius:var(--tp-radius-sm,8px);background:#fbfcfd}
.space-drive-import-item strong,.space-drive-import-item small{display:block}
.space-drive-import-item strong{color:var(--tp-text,#1f2a30);font-size:14px}
.space-drive-import-item small{margin-top:4px;color:var(--tp-text-tert,#71808d);font-size:12px}
.space-drive-import-actions{display:flex;justify-content:flex-end;gap:8px}
@media(max-width:900px){
  .space-drive-shell{padding:24px 20px 40px}
  .space-drive-hero{display:block}
  .space-drive-scope-switch{width:100%;margin-top:14px}
  .space-drive-scope-btn{flex:1}
  .space-drive-panel.has-tree-sidebar{display:block;min-height:0}
  .space-drive-tree-sidebar{width:auto;max-height:240px;border-right:0;border-bottom:1px solid var(--tp-gray-5,#dce7eb)}
  .space-drive-toolbar{display:block}
  .space-drive-toolbar-actions{margin-top:14px;justify-content:flex-start}
  .space-drive-file-list.is-enterprise .space-drive-file-list-head,
  .space-drive-file-list.is-personal .space-drive-file-list-head{display:none}
  .space-drive-file-list.is-enterprise .space-drive-file-row.is-enterprise,
  .space-drive-file-list.is-personal .space-drive-file-row.is-personal{grid-template-columns:40px 1fr;gap:8px}
  .space-drive-file-list .space-drive-file-index{grid-row:1;align-self:start;padding-top:2px}
  .space-drive-file-list .space-drive-file-main{grid-column:2}
  .space-drive-file-list .space-drive-file-uploader,
  .space-drive-file-list .space-drive-file-time,
  .space-drive-file-list .space-drive-file-status,
  .space-drive-file-list .space-drive-file-actions{grid-column:2;margin-left:0}
}

/* ── 原力引擎产品官网（与工作台暖青/湖水蓝·清爽高质感商务风格统一） ── */
.marketing-site.oai-theme{
  min-height:100vh;
  background:#f6f8f9;
  color:#1f2a30;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  overflow-x:hidden;
  position:relative;
  letter-spacing:-0.01em;
}

/* 顶部环境湖水蓝柔光 */
.oai-ambient-glow{
  position:absolute;
  top:-220px;
  left:50%;
  transform:translateX(-50%);
  width:1000px;
  height:580px;
  background:radial-gradient(ellipse at center, rgba(168,212,220,0.45) 0%, rgba(138,189,209,0.2) 45%, transparent 70%);
  filter:blur(60px);
  pointer-events:none;
  z-index:0;
}

/* 导航 */
.oai-header{
  position:sticky;
  top:0;
  z-index:100;
  height:68px;
  border-bottom:1px solid rgba(90,148,168,0.18);
  background:rgba(255,255,255,0.85);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
}
.oai-header-inner{
  max-width:1200px;
  margin:0 auto;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 28px;
}
.oai-brand{
  display:flex;
  align-items:center;
  gap:12px;
  text-decoration:none;
}
.oai-brand-mark{
  width:34px;
  height:34px;
  border-radius:10px;
  background:linear-gradient(135deg, #8abcd1 0%, #5a94a8 100%);
  border:1px solid rgba(255,255,255,0.6);
  box-shadow:0 2px 8px rgba(31,58,68,0.12);
  display:flex;
  align-items:center;
  justify-content:center;
}
.oai-brand-mark svg{
  width:18px;
  height:18px;
}
.oai-brand-name{
  font-size:17px;
  font-weight:700;
  color:#1a3540;
  letter-spacing:0.02em;
}
.oai-nav{
  display:flex;
  align-items:center;
  gap:28px;
}
.oai-nav a{
  color:#4b5b65;
  font-size:14px;
  font-weight:500;
  text-decoration:none;
  transition:color .15s ease;
}
.oai-nav a:hover{
  color:#1a3540;
}
.oai-header-actions{
  display:flex;
  align-items:center;
  gap:14px;
}
.oai-nav-toggle{
  display:none;
  align-items:center;
  justify-content:center;
  width:38px;
  height:38px;
  padding:0;
  border:1px solid #d3e1e6;
  border-radius:8px;
  background:#fff;
  color:#1a3540;
  cursor:pointer;
  flex:0 0 38px;
}
.oai-nav-toggle svg{
  width:18px;
  height:18px;
}
.oai-btn-text-short{
  display:none;
}

/* 按钮规范 */
.oai-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  height:38px;
  padding:0 18px;
  border-radius:8px;
  font-size:13.5px;
  font-weight:600;
  text-decoration:none;
  transition:all .18s ease;
  white-space:nowrap;
  cursor:pointer;
  border:none;
}
.oai-btn-xl{
  height:48px;
  padding:0 26px;
  font-size:15px;
  border-radius:10px;
}
.oai-btn-primary{
  background:#8ABCD1;
  color:#1a3540;
  border:1px solid #7ab5be;
  box-shadow:0 3px 12px rgba(138,189,209,0.35), inset 0 1px 0 rgba(255,255,255,0.4);
}
.oai-btn-primary:hover{
  filter:brightness(1.04);
  transform:translateY(-1px);
  box-shadow:0 6px 18px rgba(138,189,209,0.45), inset 0 1px 0 rgba(255,255,255,0.5);
}
.oai-btn-ghost{
  background:transparent;
  color:#455a64;
}
.oai-btn-ghost:hover{
  color:#1a3540;
  background:rgba(138,189,209,0.15);
}
.oai-btn-glass{
  background:#fff;
  color:#1a3540;
  border:1px solid #d3e1e6;
  box-shadow:0 1px 3px rgba(31,58,68,0.05);
}
.oai-btn-glass:hover{
  background:#f4f9fb;
  border-color:#8abcd1;
}
.oai-btn-sm{
  height:30px;
  padding:0 12px;
  font-size:12px;
  border-radius:6px;
  background:rgba(138,189,209,0.18);
  color:#1a3540;
  border:1px solid #8abcd1;
  cursor:pointer;
}

/* 英雄区 */
.oai-hero{
  position:relative;
  z-index:1;
  padding:96px 28px 72px;
  text-align:center;
}
.oai-hero-inner{
  max-width:920px;
  margin:0 auto;
}
.oai-badge{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:6px 16px;
  border-radius:999px;
  background:rgba(138,189,209,0.18);
  border:1px solid rgba(90,148,168,0.3);
  color:#234b57;
  font-size:13px;
  font-weight:600;
  margin-bottom:28px;
}
.oai-badge-dot{
  width:7px;
  height:7px;
  border-radius:50%;
  background:#e9ad5f;
  box-shadow:0 0 8px #e9ad5f;
}
.oai-hero-title{
  font-size:clamp(40px, 6vw, 68px);
  line-height:1.08;
  font-weight:800;
  letter-spacing:-0.035em;
  margin:0 0 24px 0;
  color:#1a3540;
}
.oai-gradient-text{
  background:linear-gradient(135deg, #1a3540 10%, #367385 60%, #c97f26 100%);
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
}
.oai-hero-desc{
  font-size:clamp(16px, 2vw, 19px);
  line-height:1.68;
  color:#556872;
  max-width:740px;
  margin:0 auto 38px;
}
.oai-hero-cta{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:16px;
  flex-wrap:wrap;
  margin-bottom:64px;
}
.oai-hero-stats{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:32px;
  padding:18px 36px;
  border-radius:18px;
  background:#fff;
  border:1px solid #dce8ec;
  box-shadow:0 8px 24px rgba(31,58,68,0.06);
}
.oai-stat-item{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:4px;
}
.oai-stat-item strong{
  font-size:22px;
  font-weight:700;
  color:#1a3540;
  letter-spacing:-0.02em;
}
.oai-stat-item span{
  font-size:12px;
  color:#6c7d86;
}
.oai-stat-divider{
  width:1px;
  height:32px;
  background:#e1ebef;
}

/* 通用 Section 头 */
.oai-section{
  max-width:1200px;
  margin:0 auto;
  padding:100px 28px;
  position:relative;
  z-index:1;
}
.oai-section-header{
  max-width:760px;
  margin:0 auto 52px;
  text-align:center;
}
.oai-section-tag{
  color:#437f90;
  font-size:12px;
  font-weight:700;
  letter-spacing:0.12em;
  text-transform:uppercase;
  margin-bottom:12px;
}
.oai-section-title{
  font-size:clamp(28px, 4vw, 42px);
  line-height:1.18;
  font-weight:700;
  letter-spacing:-0.025em;
  color:#1a3540;
  margin:0 0 16px 0;
}
.oai-section-sub{
  font-size:16px;
  line-height:1.68;
  color:#556872;
  margin:0;
}

/* 交互演示器 (Interactive Showcase) */
.oai-interactive-showcase{
  background:#fff;
  border:1px solid #dce8ec;
  border-radius:20px;
  padding:20px;
  box-shadow:0 20px 60px rgba(31,58,68,0.08);
}
.oai-demo-tabs{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:8px;
  margin-bottom:20px;
}
.oai-demo-tab{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  height:44px;
  padding:0 14px;
  border-radius:10px;
  background:#f4f8fa;
  border:1px solid #e2ecef;
  color:#556872;
  font-size:13.5px;
  font-weight:500;
  cursor:pointer;
  transition:all .15s ease;
}
.oai-demo-tab:hover{
  background:#edf5f8;
  color:#1a3540;
}
.oai-demo-tab.is-active{
  background:rgba(155,212,219,0.3);
  border-color:#8abcd1;
  color:#163f4b;
  font-weight:600;
}
.oai-workspace-monitor{
  border:1px solid #dce8ec;
  border-radius:14px;
  background:#f8fafc;
  box-shadow:inset 0 1px 3px rgba(31,58,68,0.02);
  overflow:hidden;
}
.oai-monitor-chrome{
  height:40px;
  background:#edf3f6;
  border-bottom:1px solid #dce8ec;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0 18px;
}
.oai-monitor-dots{
  display:flex;
  gap:7px;
}
.oai-monitor-dots span{
  width:10px;
  height:10px;
  border-radius:50%;
}
.oai-monitor-dots span:nth-child(1){ background:#ef4444; }
.oai-monitor-dots span:nth-child(2){ background:#f59e0b; }
.oai-monitor-dots span:nth-child(3){ background:#10b981; }
.oai-monitor-title{
  color:#437f90;
  font-size:12.5px;
  font-weight:600;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  letter-spacing:0.02em;
}
.oai-live-indicator{
  font-size:11px;
  color:#059669;
  font-weight:700;
  letter-spacing:0.04em;
  background:#ecfdf5;
  border:1px solid #a7f3d0;
  padding:2px 8px;
  border-radius:4px;
}
.oai-monitor-viewport{
  min-height:360px;
  padding:24px;
}
.oai-demo-panel{
  display:none;
}
.oai-demo-panel.is-active{
  display:block;
  animation:oai-fade-in .25s ease-out;
}
@keyframes oai-fade-in{
  from{opacity:0;transform:translateY(6px)}
  to{opacity:1;transform:translateY(0)}
}

/* 模拟单据提取 (Extraction) · 清爽工作台质感 */
.oai-sim-grid{
  display:grid;
  grid-template-columns:1fr 1.2fr;
  gap:20px;
  align-items:stretch;
}
.oai-sim-doc{
  border:1px solid #dce8ec;
  border-radius:10px;
  background:#fff;
  padding:18px;
  box-shadow:0 2px 8px rgba(31,58,68,0.03);
}
.oai-sim-doc-header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:14px;
  padding-bottom:10px;
  border-bottom:1px solid #edf2f5;
}
.oai-sim-pill{
  font-size:12.5px;
  color:#1a3540;
  font-weight:700;
}
.oai-sim-status.is-ok{
  color:#059669;
  font-size:11px;
  font-weight:600;
  background:#ecfdf5;
  border:1px solid #a7f3d0;
  padding:2px 8px;
  border-radius:4px;
}
.oai-sim-doc-line{
  font-size:12.5px;
  color:#556872;
  margin-bottom:8px;
  padding:6px 10px;
  border-radius:6px;
  background:#f9fbfd;
  border:1px solid #eef4f7;
}
.oai-sim-doc-line.hl-field{
  background:#f2f8fa;
  border-left:3px solid #8abcd1;
  border-color:#e0eff3;
  color:#163f4b;
}
.oai-sim-doc-line strong{
  color:#1a3540;
}
.oai-sim-doc-box{
  margin-top:14px;
  border:1px dashed #cbdfe6;
  border-radius:8px;
  padding:12px;
  background:#f6fafc;
  font-size:12px;
  color:#556872;
  display:grid;
  gap:5px;
}
.oai-sim-extractor{
  border:1px solid #dce8ec;
  border-radius:10px;
  background:#fff;
  padding:18px;
  box-shadow:0 2px 8px rgba(31,58,68,0.03);
}
.oai-sim-col-title{
  font-size:13px;
  font-weight:700;
  color:#1a3540;
  margin-bottom:14px;
}
.oai-sim-table{
  display:grid;
  gap:8px;
}
.oai-st-row{
  display:grid;
  grid-template-columns:120px 1fr 70px;
  align-items:center;
  font-size:12.5px;
  padding:9px 12px;
  background:#f9fbfd;
  border:1px solid #eef4f7;
  border-radius:6px;
  color:#1a3540;
}
.oai-st-head{
  background:#edf3f6;
  border-color:#e2ecef;
  color:#6c7d86;
  font-weight:600;
}
.oai-st-row code{
  color:#245b6a;
  background:#eaf4f7;
  padding:2px 6px;
  border-radius:4px;
  font-family:monospace;
}
.oai-score{
  color:#059669;
  text-align:right;
  font-size:11.5px;
  font-weight:600;
}

/* 模拟勾稽 (Matching) · 清爽工作台质感 */
.oai-sim-matching-view{
  display:flex;
  flex-direction:column;
  gap:16px;
}
.oai-match-head{
  padding:12px 16px;
  border-radius:8px;
  background:#ecfdf5;
  border:1px solid #a7f3d0;
}
.oai-match-summary{
  display:flex;
  align-items:center;
  gap:12px;
  font-size:12.5px;
  color:#065f46;
  font-weight:500;
}
.oai-match-badge{
  font-size:11px;
  font-weight:700;
  padding:2px 8px;
  border-radius:4px;
  background:#10b981;
  color:#fff;
}
.oai-match-columns{
  display:grid;
  grid-template-columns:1fr 140px 1fr;
  gap:14px;
  align-items:center;
}
.oai-match-card{
  border:1px solid #dce8ec;
  border-radius:10px;
  padding:16px;
  background:#fff;
  box-shadow:0 2px 8px rgba(31,58,68,0.03);
}
.oai-mc-title{
  font-size:12px;
  color:#6c7d86;
  font-weight:600;
  margin-bottom:10px;
}
.oai-mc-item{
  padding:10px 12px;
  border-radius:6px;
  background:#f9fbfd;
  border:1px solid #eef4f7;
  margin-bottom:8px;
}
.oai-mc-item:last-child{
  margin-bottom:0;
}
.oai-mc-item.is-linked{
  border-left:3px solid #8abcd1;
  background:#f2f8fa;
}
.oai-mc-item strong{
  display:block;
  font-size:13px;
  color:#1a3540;
}
.oai-mc-item small{
  display:block;
  font-size:11.5px;
  color:#6c7d86;
  margin-top:2px;
}
.oai-match-link-indicator{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:6px;
}
.oai-match-link-indicator span{
  font-size:11.5px;
  color:#437f90;
  font-weight:700;
}

/* 模拟台账网格 (Ledger Grid) · 清爽工作台质感 */
.oai-sim-ledger-view{
  border:1px solid #dce8ec;
  border-radius:10px;
  overflow:hidden;
  background:#fff;
  box-shadow:0 2px 8px rgba(31,58,68,0.03);
}
.oai-ledger-topbar,
.oai-lg-toolbar{
  height:42px;
  background:#edf3f6;
  border-bottom:1px solid #dce8ec;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 16px;
}
.oai-ledger-tag,
.oai-lg-toolbar span{
  font-size:12.5px;
  color:#316674;
  font-weight:600;
}
.oai-ledger-grid-preview,
.oai-lg-table{
  display:grid;
  gap:1px;
  background:#edf2f5;
}
.oai-lg-row{
  display:grid;
  grid-template-columns:80px 140px 140px 120px 120px 90px;
  background:#fff;
  padding:10px 16px;
  font-size:12.5px;
  color:#1a3540;
  align-items:center;
}
.oai-lg-head{
  background:#f9fbfd;
  color:#6c7d86;
  font-weight:600;
}
.oai-tag-success{
  color:#059669;
  font-size:11.5px;
  font-weight:600;
  background:#ecfdf5;
  border:1px solid #a7f3d0;
  padding:2px 8px;
  border-radius:4px;
  text-align:center;
}

/* 模拟法务审查 (Legal Review) · 清爽工作台质感 */
.oai-sim-legal-view{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}
.oai-legal-pane{
  border:1px solid #dce8ec;
  border-radius:10px;
  padding:18px;
  background:#fff;
  box-shadow:0 2px 8px rgba(31,58,68,0.03);
}
.oai-legal-pane h4{
  margin:0 0 12px 0;
  font-size:13.5px;
  font-weight:700;
  color:#1a3540;
}
.oai-legal-clause{
  font-size:12.5px;
  line-height:1.65;
  color:#556872;
}
.oai-legal-clause.hl-risk{
  background:#fef2f2;
  border-left:3px solid #ef4444;
  padding:10px 12px;
  color:#991b1b;
  border-radius:0 6px 6px 0;
}
.oai-risk-badge{
  display:inline-block;
  font-size:11px;
  font-weight:700;
  color:#dc2626;
  background:#fee2e2;
  padding:3px 8px;
  border-radius:4px;
  margin-bottom:10px;
}
.oai-risk-desc{
  font-size:12.5px;
  line-height:1.6;
  color:#475569;
  margin:0;
}

/* 便当盒栅格 (Bento Grid) */
.oai-bento-grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:20px;
}
.oai-card{
  background:#fff;
  border:1px solid #dce8ec;
  border-radius:18px;
  padding:32px 28px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  box-shadow:0 4px 18px rgba(31,58,68,0.04);
  transition:border-color .2s ease,transform .2s ease,box-shadow .2s ease;
}
.oai-card:hover{
  border-color:#8abcd1;
  transform:translateY(-2px);
  box-shadow:0 10px 28px rgba(31,58,68,0.08);
}
.oai-card-wide{
  grid-column:span 2;
}
.oai-card-tag{
  display:inline-block;
  font-size:11.5px;
  font-weight:700;
  color:#3b7e90;
  letter-spacing:0.06em;
  text-transform:uppercase;
  margin-bottom:12px;
}
.oai-card h3{
  font-size:20px;
  font-weight:700;
  color:#1a3540;
  letter-spacing:-0.02em;
  margin:0 0 12px 0;
  line-height:1.3;
}
.oai-card p{
  font-size:14px;
  line-height:1.65;
  color:#556872;
  margin:0;
}
.doc-glow-visual{
  margin-top:24px;
  padding:14px;
  background:#f4f8fa;
  border:1px solid #e1ebef;
  border-radius:10px;
}
.oai-chip-flow{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.oai-chip{
  font-size:12px;
  color:#234b57;
  padding:5px 12px;
  background:#fff;
  border-radius:999px;
  border:1px solid #d0e1e6;
  font-weight:500;
}
.oai-card-metric{
  margin-top:24px;
  display:flex;
  align-items:baseline;
  gap:10px;
}
.oai-metric-num{
  font-size:36px;
  font-weight:800;
  color:#1a3540;
  letter-spacing:-0.03em;
}
.oai-metric-label{
  font-size:13px;
  color:#6c7d86;
}

/* 业务流水线 (Pipeline) */
.oai-pipeline-track{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:40px 32px;
  background:#fff;
  border:1px solid #dce8ec;
  border-radius:20px;
  box-shadow:0 8px 24px rgba(31,58,68,0.05);
}
.oai-pipe-step{
  flex:1;
  display:flex;
  flex-direction:column;
  gap:8px;
}
.oai-pipe-num{
  font-size:12px;
  font-weight:700;
  color:#437f90;
  font-family:monospace;
}
.oai-pipe-step h4{
  font-size:16px;
  font-weight:700;
  color:#1a3540;
  margin:0;
}
.oai-pipe-step p{
  font-size:12.5px;
  line-height:1.5;
  color:#6c7d86;
  margin:0;
}
.oai-pipe-arrow{
  font-size:20px;
  color:#9ab5bf;
  font-weight:300;
}

/* 场景方案 (Solutions) */
.oai-solutions-grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:24px;
}
.oai-sol-card{
  background:#fff;
  border:1px solid #dce8ec;
  border-radius:18px;
  padding:36px 30px;
  box-shadow:0 4px 18px rgba(31,58,68,0.04);
  transition:border-color .2s,box-shadow .2s;
}
.oai-sol-card:hover{
  border-color:#8abcd1;
  box-shadow:0 10px 28px rgba(31,58,68,0.08);
}
.oai-sol-icon{
  font-size:32px;
  margin-bottom:16px;
}
.oai-sol-card h3{
  font-size:19px;
  font-weight:700;
  color:#1a3540;
  margin:0 0 12px 0;
}
.oai-sol-card p{
  font-size:14px;
  line-height:1.68;
  color:#556872;
  margin:0;
}

/* 底部 CTA 卡片 */
.oai-cta-section{
  max-width:1200px;
  margin:0 auto;
  padding:0 28px 100px;
}
.oai-cta-box{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(90,148,168,0.3);
  border-radius:24px;
  background:linear-gradient(135deg, #A8D4DC 0%, #8ABCD1 55%, #7AB5BE 100%);
  padding:72px 32px;
  text-align:center;
  box-shadow:0 16px 40px rgba(90,148,168,0.22);
}
.oai-cta-glow{
  position:absolute;
  top:-120px;
  left:50%;
  transform:translateX(-50%);
  width:600px;
  height:300px;
  background:radial-gradient(circle, rgba(255,255,255,0.4) 0%, transparent 70%);
  filter:blur(50px);
  pointer-events:none;
}
.oai-cta-box h2{
  font-size:clamp(28px, 4vw, 44px);
  font-weight:800;
  color:#1a3540;
  margin:0 0 16px 0;
  letter-spacing:-0.03em;
}
.oai-cta-box p{
  font-size:16px;
  color:rgba(26,53,64,0.85);
  max-width:580px;
  margin:0 auto 36px;
  line-height:1.6;
}
.oai-cta-box .oai-hero-cta{
  margin-bottom:0;
}
.oai-cta-box .oai-btn-primary{
  background:#1a3540;
  color:#fff;
  border-color:#1a3540;
  box-shadow:0 4px 14px rgba(26,53,64,0.3);
}
.oai-cta-box .oai-btn-primary:hover{
  background:#264855;
}
.oai-cta-box .oai-btn-glass{
  background:rgba(255,255,255,0.85);
  color:#1a3540;
  border-color:rgba(255,255,255,0.9);
}

/* Footer */
.oai-footer{
  border-top:1px solid #e1eaed;
  background:#fff;
  padding:72px 28px 48px;
}
.oai-footer-inner{
  max-width:1200px;
  margin:0 auto;
}
.oai-footer-top{
  display:grid;
  grid-template-columns:1.5fr 3fr;
  gap:48px;
  margin-bottom:56px;
}
.oai-footer-logo{
  font-size:18px;
  font-weight:700;
  color:#1a3540;
  letter-spacing:0.02em;
  display:block;
  margin-bottom:12px;
}
.oai-footer-brand p{
  font-size:13.5px;
  color:#6c7d86;
  max-width:280px;
  line-height:1.6;
  margin:0;
}
.oai-footer-links{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:24px;
}
.oai-link-group{
  display:flex;
  flex-direction:column;
  gap:12px;
}
.oai-link-group strong{
  font-size:13px;
  color:#1a3540;
  margin-bottom:4px;
}
.oai-link-group a{
  font-size:13px;
  color:#6c7d86;
  text-decoration:none;
  transition:color .15s ease;
}
.oai-link-group a:hover{
  color:#1a3540;
}
.oai-footer-bottom{
  padding-top:28px;
  border-top:1px solid #eaf0f3;
  text-align:center;
}
.oai-footer-bottom p{
  font-size:12px;
  color:#8a99a2;
  margin:0;
}

/* 响应式断点适配（Google Workspace / Material 3 移动体验极简标准） */
@media(max-width:1024px){
  .oai-bento-grid{grid-template-columns:1fr;gap:16px;}
  .oai-card-wide{grid-column:span 1;}
  .oai-demo-tabs{grid-template-columns:repeat(2, 1fr);}
  .oai-pipeline-track{flex-direction:column;align-items:flex-start;gap:20px;}
  .oai-pipe-arrow{display:none;}
  .oai-solutions-grid{grid-template-columns:1fr;}
  .oai-footer-top{grid-template-columns:1fr;}
  .oai-section{padding:72px 24px;}
}
@media(max-width:768px){
  /* 页面底色与全局文字清晰度 */
  .marketing-site.oai-theme{
    background:#f8fafb;
    -webkit-font-smoothing:antialiased;
  }
  .oai-ambient-glow{
    top:-140px;
    width:360px;
    height:360px;
    filter:blur(50px);
    opacity:0.6;
  }

  /* 顶栏：极度轻量，呼吸感清晰，单手可控 */
  .oai-header{
    height:56px;
    min-height:56px;
    background:rgba(255,255,255,0.94);
    backdrop-filter:blur(16px);
    -webkit-backdrop-filter:blur(16px);
    border-bottom:1px solid #e7eff2;
  }
  .oai-header-inner{
    position:relative;
    flex-wrap:wrap;
    gap:8px 10px;
    padding:0 16px;
    height:56px;
    align-content:center;
  }
  .oai-brand{
    min-width:0;
    flex:1 1 auto;
    gap:9px;
  }
  .oai-brand-mark{
    width:28px;
    height:28px;
    border-radius:7px;
  }
  .oai-brand-mark svg{
    width:15px;
    height:15px;
  }
  .oai-brand-name{
    font-size:15px;
    font-weight:700;
    color:#1a3540;
  }
  .oai-header-actions{
    gap:6px;
    flex:0 0 auto;
    margin-left:auto;
  }
  .oai-header-actions .oai-btn{
    height:32px;
    padding:0 11px;
    font-size:12px;
    border-radius:7px;
    font-weight:600;
  }
  .oai-btn-text-full{display:none;}
  .oai-btn-text-short{display:inline;}
  .oai-nav-toggle{
    display:inline-flex;
    width:32px;
    height:32px;
    border-radius:7px;
    flex:0 0 32px;
    border:1px solid #dce8ec;
    background:#ffffff;
    color:#2a4550;
  }
  .oai-nav{
    display:none;
    order:3;
    flex:1 1 100%;
    flex-direction:column;
    align-items:stretch;
    gap:2px;
    margin:8px 0 0 0;
    padding:6px;
    border:1px solid #dce8ec;
    border-radius:12px;
    background:#fff;
    box-shadow:0 8px 24px rgba(26,53,64,0.08);
  }
  .oai-header.is-menu-open{
    height:auto;
    padding-bottom:10px;
  }
  .oai-header.is-menu-open .oai-nav{display:flex;}
  .oai-nav a{
    padding:10px 14px;
    border-radius:8px;
    font-size:13.5px;
    color:#3a4d57;
    font-weight:500;
  }
  .oai-nav a:hover{
    background:#f0f6f8;
    color:#1a3540;
  }

  /* Hero 区：Google 留白呼吸感，大标题 + 核心行动按钮，拒绝多余文字 */
  .oai-hero{
    padding:32px 18px 20px;
    text-align:left;
  }
  .oai-hero-inner{
    max-width:100%;
    margin:0;
  }
  .oai-hero-title{
    font-size:clamp(25px, 7vw, 30px);
    line-height:1.24;
    letter-spacing:-0.025em;
    font-weight:800;
    margin:0 0 10px 0;
    color:#162b33;
  }
  .oai-hero-desc{
    font-size:13.5px;
    line-height:1.6;
    color:#5a6d77;
    max-width:100%;
    margin:0 0 18px 0;
    text-align:left;
  }
  .oai-hero-cta{
    display:flex;
    align-items:center;
    gap:10px;
    margin:0;
  }
  .oai-hero-cta .oai-btn{
    height:42px;
    padding:0 20px;
    font-size:13.5px;
    font-weight:700;
    border-radius:999px;
  }
  .oai-hero-cta .oai-btn-primary{
    box-shadow:0 3px 12px rgba(138,189,209,0.38);
  }
  .oai-hero-cta .oai-btn-glass{
    background:#ffffff;
    border:1px solid #d0dfe4;
  }

  /* 彻底隐藏移动端所有重复、啰嗦的装饰性元素与副标题 */
  .oai-hero-stats,
  .oai-section-tag,
  .oai-section-sub,
  .oai-card-tag,
  .doc-glow-visual,
  .oai-sim-doc,
  .oai-sim-col-title,
  .oai-monitor-chrome{
    display:none !important;
  }

  /* 通用 Section 头：极致精炼，只保留核心大标题，去除套话 */
  .oai-section{
    padding:28px 18px;
  }
  .oai-section-header{
    margin:0 0 14px 0;
    text-align:left;
    max-width:100%;
  }
  .oai-section-title{
    font-size:clamp(19px, 5.5vw, 22px);
    line-height:1.25;
    letter-spacing:-0.02em;
    color:#1a3540;
    margin:0;
    font-weight:800;
  }

  /* 工作台演示器：Google Material 扁平极简无框视窗 */
  .oai-interactive-showcase{
    padding:8px;
    border-radius:14px;
    border:1px solid #e1ebef;
    box-shadow:0 2px 10px rgba(26,53,64,0.03);
    background:#ffffff;
  }
  .oai-demo-tabs{
    display:flex;
    flex-wrap:nowrap;
    gap:6px;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    margin-bottom:8px;
    padding:2px 2px 4px 2px;
  }
  .oai-demo-tabs::-webkit-scrollbar{display:none;}
  .oai-demo-tab{
    flex:0 0 auto;
    height:30px;
    min-height:30px;
    padding:0 12px;
    border-radius:999px;
    background:#f2f7f9;
    border:1px solid #dfe9ed;
    color:#4a606b;
    font-size:12px;
    font-weight:600;
    white-space:nowrap;
    cursor:pointer;
    transition:all .15s ease;
  }
  .oai-demo-tab.is-active{
    background:#8ABCD1;
    border-color:#7ab5be;
    color:#163f4b;
    font-weight:700;
    box-shadow:0 2px 6px rgba(138,189,209,0.3);
  }
  .oai-workspace-monitor{
    border-radius:8px;
    border:1px solid #e6eff2;
    overflow:hidden;
    background:#fafcfd;
  }
  .oai-monitor-viewport{
    min-height:0;
    padding:8px;
  }

  /* 模拟单据提取：两列极简结果预览，去除重复状态文字 */
  .oai-sim-grid{
    grid-template-columns:1fr;
    gap:0;
  }
  .oai-sim-extractor{
    padding:6px;
    border-radius:6px;
    border:1px solid #e8f0f3;
    background:#ffffff;
  }
  .oai-sim-table{
    gap:3px;
  }
  .oai-st-row{
    grid-template-columns:84px 1fr;
    padding:6px 10px;
    font-size:11.5px;
    border-radius:4px;
    align-items:center;
  }
  .oai-st-row span:last-child{
    display:none; /* 隐藏重复的“已就绪”状态列，精简视界 */
  }
  .oai-st-row code{
    font-size:11px;
    padding:2px 6px;
    font-weight:600;
  }

  /* 自动核对面板：纵向流式连接 */
  .oai-sim-matching-view{
    gap:6px;
  }
  .oai-match-head{
    padding:5px 8px;
    border-radius:5px;
  }
  .oai-match-summary{
    font-size:11px;
    flex-direction:row;
    align-items:center;
    gap:6px;
  }
  .oai-match-badge{
    font-size:10px;
    padding:1px 5px;
  }
  .oai-match-columns{
    grid-template-columns:1fr;
    gap:6px;
  }
  .oai-match-card{
    padding:8px 10px;
    border-radius:6px;
    border:1px solid #e1ebef;
  }
  .oai-mc-title{
    font-size:10.5px;
    margin-bottom:4px;
  }
  .oai-mc-item{
    padding:5px 8px;
    margin-bottom:3px;
    border-radius:4px;
  }
  .oai-mc-item strong{
    font-size:11px;
  }
  .oai-mc-item small{
    font-size:10px;
  }
  .oai-match-link-indicator{
    flex-direction:row;
    justify-content:center;
    align-items:center;
    padding:1px 0;
    gap:4px;
  }
  .oai-match-link-indicator span{
    font-size:10px;
    color:#437f90;
    font-weight:700;
  }
  .oai-match-link-indicator svg{
    transform:rotate(90deg);
    width:14px;
    height:14px;
  }

  /* 台账生成：横滑网格整洁不乱 */
  .oai-ledger-topbar{
    height:auto;
    min-height:30px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:4px 6px;
    gap:6px;
  }
  .oai-ledger-tag{
    font-size:10.5px;
  }
  .oai-btn-sm{
    height:24px;
    padding:0 8px;
    font-size:10.5px;
    border-radius:4px;
  }
  .oai-ledger-grid-preview{
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    border-radius:5px;
    border:1px solid #e1ebef;
  }
  .oai-lg-row{
    min-width:520px;
    grid-template-columns:40px 96px 106px 86px 86px 66px;
    padding:5px 8px;
    font-size:10.5px;
  }

  /* 合同审查面板 */
  .oai-sim-legal-view{
    grid-template-columns:1fr;
    gap:6px;
  }
  .oai-legal-pane{
    padding:8px 10px;
    border-radius:6px;
    border:1px solid #e1ebef;
  }
  .oai-legal-pane h4{
    font-size:11px;
    margin-bottom:4px;
  }
  .oai-legal-clause{
    font-size:10.5px;
    line-height:1.5;
  }
  .oai-legal-clause.hl-risk{
    padding:6px 8px;
  }
  .oai-risk-badge{
    font-size:9.5px;
    padding:1px 4px;
    margin-bottom:3px;
  }
  .oai-risk-desc{
    font-size:10.5px;
    line-height:1.45;
  }

  /* 能力便当盒：2列极简精致磁贴，彻底去除冗余标签，只留精髓 */
  .oai-bento-grid{
    display:grid;
    grid-template-columns:repeat(2, 1fr);
    gap:8px;
  }
  .oai-card{
    padding:12px 10px;
    border-radius:10px;
    border:1px solid #e4edf0;
    background:#ffffff;
    box-shadow:0 1px 3px rgba(26,53,64,0.02);
  }
  .oai-card.oai-card-wide{
    grid-column:span 2;
  }
  .oai-card h3{
    font-size:13.5px;
    line-height:1.3;
    margin:0 0 3px 0;
    color:#1a3540;
    font-weight:700;
  }
  .oai-card p{
    font-size:11px;
    line-height:1.45;
    color:#637782;
    margin:0;
  }

  /* 五步流程：Google 极简胶囊步骤流，彻底隐藏冗余描述文字 */
  .oai-pipeline-track{
    display:flex;
    flex-direction:row;
    flex-wrap:nowrap;
    gap:6px;
    padding:6px;
    border-radius:12px;
    border:1px solid #e1ebef;
    background:#ffffff;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    box-shadow:0 1px 3px rgba(26,53,64,0.02);
  }
  .oai-pipeline-track::-webkit-scrollbar{display:none;}
  .oai-pipe-arrow{
    display:flex;
    align-items:center;
    color:#a5bdc5;
    font-size:11px;
    flex:0 0 auto;
  }
  .oai-pipe-step{
    position:relative;
    display:inline-flex;
    flex-direction:row;
    align-items:center;
    gap:5px;
    padding:6px 9px;
    background:#f4f9fb;
    border-radius:8px;
    flex:0 0 auto;
    white-space:nowrap;
  }
  .oai-pipe-step::before{display:none;}
  .oai-pipe-num{
    position:static;
    width:18px;
    height:18px;
    border-radius:50%;
    background:#8ABCD1;
    color:#1A3540;
    font-size:9.5px;
    font-weight:700;
    display:flex;
    align-items:center;
    justify-content:center;
    border:none;
  }
  .oai-pipe-step h4{
    font-size:11.5px;
    font-weight:700;
    color:#1a3540;
    margin:0;
  }
  .oai-pipe-step p{
    display:none !important; /* 隐藏长篇解释文字，只留纯净步骤 */
  }

  /* 适用场景卡片：紧凑横排，去除多余内边距 */
  .oai-solutions-grid{
    display:flex;
    flex-direction:column;
    gap:8px;
  }
  .oai-sol-card{
    padding:10px 12px;
    border-radius:10px;
    border:1px solid #e1ebef;
    background:#ffffff;
    box-shadow:0 1px 3px rgba(26,53,64,0.02);
    display:flex;
    align-items:center;
    gap:10px;
  }
  .oai-sol-icon{
    font-size:18px;
    margin-bottom:0;
    flex:0 0 32px;
    width:32px;
    height:32px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:#f2f8fa;
    border-radius:7px;
    border:1px solid #e1ebef;
  }
  .oai-sol-card h3{
    font-size:13px;
    margin-bottom:2px;
    color:#1a3540;
    font-weight:700;
  }
  .oai-sol-card p{
    font-size:11px;
    line-height:1.45;
    color:#637782;
    margin:0;
  }

  /* 页脚：Material 扁平规范，间距分明 */
  .oai-footer{
    padding:24px 18px 18px;
    background:#ffffff;
    border-top:1px solid #e6eff2;
  }
  .oai-footer-top{
    display:flex;
    flex-direction:column;
    gap:12px;
    margin-bottom:14px;
  }
  .oai-footer-logo{
    font-size:15px;
    margin-bottom:2px;
  }
  .oai-footer-brand p{
    font-size:11px;
    max-width:100%;
    margin:0;
    color:#73858f;
  }
  .oai-footer-links{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:10px 6px;
  }
  .oai-link-group strong{
    font-size:11.5px;
    margin-bottom:4px;
    color:#1a3540;
  }
  .oai-link-group a{
    font-size:10.5px;
    padding:2px 0;
    color:#6c7d86;
  }
  .oai-footer-bottom{
    padding-top:12px;
    border-top:1px solid #eef3f5;
  }
  .oai-footer-bottom p{
    font-size:10px;
    color:#8e9fa8;
    line-height:1.5;
  }
}
@media(max-width:480px){
  .oai-header-inner{padding:0 12px;}
  .oai-header-actions .oai-btn-ghost{padding:0 6px;}
  .oai-hero{padding:26px 14px 16px;}
  .oai-hero-title{font-size:clamp(23px, 6.8vw, 27px);}
  .oai-hero-cta{flex-wrap:wrap;}
  .oai-section{padding:24px 14px;}
  .oai-bento-grid{grid-template-columns:repeat(2, 1fr);}
  .oai-card.oai-card-wide{grid-column:span 2;}
}

/* ── 原力引擎认证页体系（登录 / 注册 / 找回密码 · 与工作台色彩风格高度一致） ── */
.oai-auth-page{
  min-height:100vh;
  background:#f6f8f9;
  color:#1f2a30;
  position:relative;
  display:flex;
  flex-direction:column;
  overflow-x:hidden;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  letter-spacing:-0.01em;
}
.oai-auth-topbar{
  position:relative;
  z-index:10;
  height:68px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 clamp(20px, 4vw, 48px);
  border-bottom:1px solid rgba(90,148,168,0.18);
  background:rgba(255,255,255,0.88);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
}
.oai-auth-brand{
  display:flex;
  align-items:center;
  gap:12px;
  text-decoration:none;
}
.oai-auth-brand-name{
  font-size:16px;
  font-weight:700;
  color:#1a3540;
  letter-spacing:0.02em;
}
.oai-auth-switch-link{
  display:inline-flex;
  align-items:center;
  gap:6px;
  color:#437f90;
  font-size:13.5px;
  font-weight:600;
  text-decoration:none;
  padding:6px 14px;
  border-radius:8px;
  background:#fff;
  border:1px solid #d3e1e6;
  transition:all .15s ease;
  box-shadow:0 1px 3px rgba(31,58,68,0.04);
}
.oai-auth-switch-link span{
  color:#e9ad5f;
  transition:transform .15s ease;
}
.oai-auth-switch-link:hover{
  background:#edf5f8;
  color:#1a3540;
  border-color:#8abcd1;
}
.oai-auth-switch-link:hover span{
  transform:translateX(2px);
}
.oai-auth-main{
  position:relative;
  z-index:2;
  flex:1;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:40px 20px 60px;
}
.oai-auth-card{
  width:100%;
  max-width:410px;
  background:#fff;
  border:1px solid #dce8ec;
  border-radius:20px;
  padding:40px 36px 32px;
  box-shadow:0 12px 36px rgba(31,58,68,0.08);
  animation:oai-fade-in .25s ease-out;
}
.oai-auth-card--register{
  max-width:460px;
}
.oai-auth-badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:4px 12px;
  border-radius:999px;
  background:rgba(138,189,209,0.18);
  border:1px solid rgba(90,148,168,0.28);
  color:#234b57;
  font-size:12px;
  font-weight:600;
  margin-bottom:18px;
}
.oai-auth-title{
  font-size:24px;
  font-weight:700;
  color:#1a3540;
  letter-spacing:-0.02em;
  margin:0 0 8px 0;
}
.oai-auth-sub{
  font-size:13.5px;
  line-height:1.6;
  color:#6c7d86;
  margin:0 0 24px 0;
}
.oai-field{
  display:block;
  margin-bottom:16px;
}
.oai-field-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:12px;
  min-width:0;
}
.oai-field-grid > .oai-field{
  min-width:0;
  max-width:100%;
}
.oai-field-label{
  display:block;
  font-size:12.5px;
  font-weight:600;
  color:#1a3540;
  margin-bottom:6px;
}
.oai-input-wrap{
  position:relative;
  display:flex;
  align-items:center;
  width:100%;
  min-width:0;
  height:44px;
  background:#fbfcfd;
  border:1.5px solid #dce4e8;
  border-radius:10px;
  transition:border-color .15s ease, box-shadow .15s ease, background .15s ease;
}
.oai-input-wrap:focus-within{
  border-color:#8abcd1;
  background:#fff;
  box-shadow:0 0 0 3px rgba(138,189,209,0.2);
}
.oai-input-wrap.is-invalid{
  border-color:#ef4444;
  box-shadow:0 0 0 3px rgba(239,68,68,0.15);
  background:#fff;
}
.oai-input-icon{
  flex-shrink:0;
  width:18px;
  height:18px;
  margin:0 10px 0 12px;
  color:#8a99a2;
  display:flex;
  align-items:center;
  justify-content:center;
  transition:color .15s ease;
}
.oai-input-wrap:focus-within .oai-input-icon{
  color:#437f90;
}
.oai-input-wrap input{
  flex:1;
  min-width:0;
  width:100%;
  height:100%;
  border:none;
  outline:none;
  background:transparent;
  font-size:13.5px;
  color:#1a3540;
  padding:0 12px 0 0;
}
.oai-input-wrap input::placeholder{
  color:#9ab0ba;
}
.oai-pwd-toggle{
  background:none;
  border:none;
  padding:0 12px;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#8a99a2;
  cursor:pointer;
  transition:color .15s ease;
}
.oai-pwd-toggle:hover{
  color:#1a3540;
}
.oai-field-error{
  display:none;
  margin-top:5px;
  font-size:11.5px;
  color:#dc2626;
}
.oai-field.is-invalid .oai-field-error{
  display:block;
}
.oai-code-row{
  display:flex;
  gap:10px;
}
.oai-code-row .oai-input-wrap{
  flex:1;
  min-width:0;
}
.oai-code-btn{
  flex-shrink:0;
  height:44px;
  padding:0 14px;
  border-radius:10px;
  background:#f4f9fb;
  border:1px solid #c9dce4;
  color:#234b57;
  font-size:12.5px;
  font-weight:600;
  cursor:pointer;
  white-space:nowrap;
  transition:all .15s ease;
}
.oai-code-btn:hover:not(:disabled){
  background:#eef6f9;
  border-color:#8abcd1;
  color:#1a3540;
}
.oai-code-btn:disabled{
  opacity:0.6;
  cursor:not-allowed;
  border-color:#e2ecf0;
  background:#f6f8f9;
  color:#9ab0ba;
}
.oai-auth-helpers{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin:4px 0 20px;
  font-size:12.5px;
}
.oai-remember{
  display:inline-flex;
  align-items:center;
  gap:6px;
  color:#556872;
  cursor:pointer;
  user-select:none;
}
.oai-remember input{
  accent-color:#8abcd1;
  width:14px;
  height:14px;
  cursor:pointer;
}
.oai-auth-link{
  color:#437f90;
  text-decoration:none;
  font-weight:500;
  transition:color .15s ease;
}
.oai-auth-link:hover{
  color:#1a3540;
  text-decoration:underline;
}
.oai-auth-submit{
  position:relative;
  width:100%;
  height:46px;
  border:1px solid #7ab5be;
  border-radius:10px;
  background:#8ABCD1;
  color:#1a3540;
  font-size:15px;
  font-weight:600;
  letter-spacing:0.01em;
  box-shadow:0 3px 12px rgba(138,189,209,0.35), inset 0 1px 0 rgba(255,255,255,0.4);
  cursor:pointer;
  transition:all .15s ease;
  overflow:hidden;
}
.oai-auth-submit:hover:not(:disabled){
  filter:brightness(1.04);
  transform:translateY(-1px);
  box-shadow:0 6px 18px rgba(138,189,209,0.45), inset 0 1px 0 rgba(255,255,255,0.5);
}
.oai-auth-submit:active:not(:disabled){
  transform:translateY(0);
}
.oai-auth-submit:disabled{
  background:#d5e4e8;
  color:#8a9fa6;
  border-color:#c8d9de;
  cursor:not-allowed;
  transform:none;
  box-shadow:none;
}
.oai-auth-submit .btn-text{
  display:inline-block;
  transition:opacity .15s ease;
}
.oai-auth-submit .btn-spinner{
  position:absolute;
  top:50%;
  left:50%;
  width:20px;
  height:20px;
  transform:translate(-50%,-50%);
  opacity:0;
  pointer-events:none;
}
.oai-auth-submit .btn-spinner::before{
  content:"";
  display:block;
  width:100%;
  height:100%;
  border-radius:50%;
  border:2.5px solid rgba(26,53,64,0.2);
  border-top-color:#1a3540;
  animation:login-spin .8s linear infinite;
}
.oai-auth-submit.is-loading .btn-text{
  opacity:0;
}
.oai-auth-submit.is-loading .btn-spinner{
  opacity:1;
}
.oai-form-message{
  margin-top:14px;
  font-size:12.5px;
  color:#dc2626;
  text-align:center;
  min-height:18px;
  line-height:1.5;
}
.oai-form-message.is-success{
  color:#16a34a;
}
.oai-auth-bottom-links{
  display:flex;
  justify-content:space-between;
  gap:12px;
  margin-top:16px;
  padding-top:14px;
  border-top:1px solid #eaf0f3;
  font-size:12.5px;
}
.oai-auth-bottom-center{
  justify-content:center;
  align-items:center;
  gap:8px;
  color:#6c7d86;
}
.oai-auth-link-bold{
  color:#234b57;
  text-decoration:none;
  font-weight:700;
  transition:all .15s ease;
}
.oai-auth-link-bold:hover{
  color:#1a3540;
  text-decoration:underline;
}
.oai-auth-footer{
  margin-top:32px;
  padding-top:18px;
  border-top:1px solid #eef3f5;
  text-align:center;
}
.oai-auth-footer p{
  margin:0;
  font-size:11px;
  color:#8a99a2;
  line-height:1.6;
}

@media(max-width:480px){
  .oai-auth-card{
    padding:32px 24px;
  }
  .oai-field-grid{
    grid-template-columns:1fr;
    gap:0;
  }
}

/* ===== Commercial contract review workspace ===== */
.cr-page{--cr-ink:#17212b;--cr-muted:#3d4f5c;--cr-line:#e3e9ed;--cr-soft:#f5f8f9;--cr-brand:#8ABCD1;--cr-brand-deep:#7AB5BE;--cr-on-brand:#1A3540;--cr-teal:var(--cr-brand);--cr-teal-dark:var(--cr-brand-deep);--cr-blue:#315fcb;--cr-amber:#b86e22;--cr-red:#b33b38;max-width:1440px;margin:0 auto;color:var(--cr-ink)}
.cr-page button,.cr-page input,.cr-page select{font:inherit}.cr-page button{cursor:pointer}.cr-page button:disabled{cursor:not-allowed;opacity:.46}
.cr-page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:24px}.cr-page-header h1{margin:7px 0 5px;font-size:28px;line-height:1.22;letter-spacing:-.025em;color:var(--cr-ink)}.cr-page-header p{margin:0;color:var(--cr-muted);font-size:13px}.cr-breadcrumb{display:flex;align-items:center;gap:18px;color:#8a97a3;font-size:11px}.cr-breadcrumb span+span{position:relative}.cr-breadcrumb span+span::before{content:"";position:absolute;left:-10px;top:50%;width:3px;height:3px;border-radius:50%;background:#aeb8bf}
.cr-header-state{display:flex;align-items:center;gap:10px;min-width:142px;padding:10px 13px;border:1px solid var(--cr-line);border-radius:12px;background:#fff;box-shadow:0 4px 14px rgba(31,53,66,.04)}.cr-header-state i{width:9px;height:9px;border-radius:50%;background:#d19a51;box-shadow:0 0 0 4px rgba(209,154,81,.14)}.cr-header-state.is-completed i{background:#3f9470;box-shadow:0 0 0 4px rgba(63,148,112,.13)}.cr-header-state.is-failed i{background:#c35652;box-shadow:0 0 0 4px rgba(195,86,82,.12)}.cr-header-state span{display:grid}.cr-header-state small{color:#8b97a2;font-size:10px}.cr-header-state b{margin-top:1px;font-size:12px;color:#32414b}
.cr-workflow{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));margin-bottom:24px;border:1px solid var(--cr-line);border-radius:14px;background:#fff;overflow:hidden;box-shadow:0 5px 18px rgba(31,53,66,.035)}.cr-workflow.cr-workflow-compact{grid-template-columns:repeat(2,minmax(0,1fr))}.cr-workflow-item{position:relative;display:flex;align-items:center;gap:10px;min-width:0;padding:13px 14px;color:#687584;text-decoration:none;border-right:1px solid #edf1f3;transition:background .16s,color .16s}.cr-workflow-item:last-child{border-right:0}.cr-workflow-item:hover{background:#f7fafb}.cr-workflow-item.is-current{background:#eef6f7;color:#245966}.cr-workflow-item.is-current::after{content:"";position:absolute;left:14px;right:14px;bottom:0;height:2px;border-radius:2px;background:#4a8a98}.cr-workflow-index{display:grid;place-items:center;min-width:30px;height:30px;border:1px solid #d9e2e6;border-radius:9px;background:#f8fafb;color:#82909b;font-size:10px;font-weight:700}.cr-workflow-item.is-current .cr-workflow-index,.cr-workflow-item.is-complete .cr-workflow-index{border-color:#a9ccd2;background:#dfeff1;color:#2e6a77}.cr-workflow-item.is-attention .cr-workflow-index{border-color:#efd4ad;background:#fff7e9;color:#a66320}.cr-workflow-item>span:last-child{display:grid;min-width:0}.cr-workflow-item b{font-size:12px;white-space:nowrap}.cr-workflow-item small{margin-top:2px;color:#96a1aa;font-size:9px}
.cr-stage-content{padding-bottom:76px}.cr-stage-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin:0 0 19px}.cr-stage-heading h2{margin:5px 0 7px;color:var(--cr-ink);font-size:24px;line-height:1.3;letter-spacing:-.018em}.cr-stage-heading p{max-width:720px;margin:0;color:var(--cr-muted);font-size:13px;line-height:1.7}.cr-step-label,.cr-section-kicker{display:block;color:#4a8490;font-size:10px;font-weight:750;letter-spacing:.1em;text-transform:uppercase}.cr-section-kicker{margin-bottom:4px}
.cr-panel{border:1px solid var(--cr-line);border-radius:15px;background:#fff;box-shadow:0 5px 18px rgba(31,53,66,.04)}.cr-panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.cr-panel-heading h3{margin:2px 0 0;color:#202c35;font-size:16px;line-height:1.4}.cr-panel-heading p{max-width:660px;margin:5px 0 0;color:#7c8994;font-size:12px;line-height:1.6}
.cr-button{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 15px;border:1px solid transparent;border-radius:9px;background:#fff;color:#374650;font-size:12px;font-weight:650;white-space:nowrap;transition:transform .14s,box-shadow .14s,background .14s,border-color .14s}.cr-button:hover:not(:disabled){transform:translateY(-1px)}.cr-button-primary{border-color:#7ab5be;background:#8ABCD1;color:#1A3540;box-shadow:0 4px 14px rgba(90,148,168,.22)}.cr-button-primary:hover:not(:disabled){border-color:#7ab5be;background:#7AB5BE;color:#1A3540}.cr-page .cr-button-primary,.cr-page .cr-button-primary:hover:not(:disabled){color:#1A3540}.cr-button-secondary{border-color:#bfd1d7;color:#326f7c;background:#fff}.cr-button-secondary:hover:not(:disabled){background:#f0f7f8}.cr-button-quiet{border-color:#e0e7ea;background:#f8fafb;color:#53616c}.cr-button-large{min-height:44px;padding:0 22px;font-size:13px}.cr-button-block{width:100%;margin-top:18px}
.cr-overview-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(350px,.85fr);gap:18px;align-items:start}.cr-overview-side-column{display:grid;gap:18px}.cr-overview-side-actions{margin-top:18px}.cr-project-hub{padding:24px;background:linear-gradient(145deg,#f7fbfb 0%,#eef6f7 58%,#f7f9f5 100%)}.cr-project-hub-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:20px}.cr-project-hub-head h2{margin:8px 0 10px;color:#18353d;font-size:24px;line-height:1.35;letter-spacing:-.03em}.cr-project-hub-head p{max-width:720px;margin:0;color:#60747b;font-size:13px;line-height:1.75}.cr-project-hub .cr-trust-row{margin-top:16px}.cr-trust-row{display:flex;flex-wrap:wrap;gap:8px}.cr-trust-row span{padding:5px 9px;border:1px solid rgba(85,133,142,.16);border-radius:999px;background:rgba(255,255,255,.58);color:#5d747a;font-size:10px}.cr-project-list{display:grid;gap:10px}.cr-project-empty,.cr-project-flow-note{padding:18px;border:1px dashed #c9d8dc;border-radius:12px;background:rgba(255,255,255,.55);text-align:center}.cr-project-empty b,.cr-project-flow-note b{font-size:12px}.cr-project-empty span,.cr-project-flow-note p{margin:6px 0 0;color:#7b8990;font-size:11px;line-height:1.6}.cr-project-flow-note{margin-top:14px;text-align:left}.cr-project-flow-note>span{display:block;color:#4a8490;font-size:10px;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.cr-project-row{border:1px solid #d5e3e6;border-radius:14px;background:#fff;box-shadow:0 4px 14px rgba(44,90,100,.04);overflow:hidden}.cr-project-row.is-active{border-color:#8eb5bf;box-shadow:0 0 0 2px rgba(92,145,155,.08)}.cr-project-row-head{display:grid;grid-template-columns:auto minmax(180px,1.1fr) minmax(0,1.2fr) auto;gap:12px;align-items:end;padding:14px 16px}.cr-project-expand{display:grid;place-items:center;width:34px;height:34px;margin-bottom:2px;border:1px solid #d5e2e6;border-radius:9px;background:#f8fafb;color:#4f7f8a;cursor:pointer}.cr-project-expand-icon{display:block;width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);transition:transform .16s}.cr-project-row.is-expanded .cr-project-expand-icon{transform:rotate(-135deg) translateY(2px)}.cr-project-name-field{display:grid;gap:5px;color:#6d7b84;font-size:10px}.cr-project-name-field .cr-input{height:38px}.cr-project-main-slot{display:grid;gap:6px;min-width:0}.cr-project-main-label{overflow:hidden;color:#6f7d84;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.cr-project-row-body{border-top:1px solid #e7edef;background:#f9fbfc}.cr-project-row-body-inner{padding:14px 16px 16px 62px}.cr-project-attachments-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.cr-project-attachments-head b{font-size:16px;color:#17212b}.cr-project-attachments-head small{display:block;margin-top:4px;color:#87939c;font-size:10px;line-height:1.55}.cr-project-attachments-list{display:grid;gap:8px}.cr-project-attachment-item{display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px 10px;border:1px solid #e3eaec;border-radius:9px;background:#fff}.cr-project-attachment-item img{width:22px;height:22px}.cr-project-attachment-item span{overflow:hidden;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.cr-project-attachment-item em{color:#6f8a74;font-size:10px;font-style:normal}.cr-hero{min-height:333px;padding:42px 44px;border:1px solid #cfdee2;border-radius:18px;background:linear-gradient(145deg,#f7fbfb 0%,#eef6f7 58%,#f7f9f5 100%);box-shadow:0 12px 32px rgba(44,90,100,.07)}.cr-hero h2{margin:13px 0 14px;color:#18353d;font-size:31px;line-height:1.34;letter-spacing:-.035em}.cr-hero>p{max-width:650px;margin:0;color:#60747b;font-size:14px;line-height:1.8}.cr-hero-actions{display:flex;gap:10px;margin-top:26px}
.cr-overview-status{padding:24px}.cr-status-pill{padding:5px 9px;border-radius:999px;background:#e8f3ee;color:#38775d;font-size:10px}.cr-metric-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:22px}.cr-metric-grid>div{padding:14px 12px;border:1px solid #e8edef;border-radius:11px;background:#fafcfc}.cr-metric-grid span{display:block;color:#87939c;font-size:10px}.cr-metric-grid strong{font-size:22px;line-height:1.5;color:#22313a}.cr-metric-grid small{margin-left:3px;color:#91a0aa;font-size:10px}.cr-risk-meter{margin-top:22px}.cr-risk-meter>div:first-child{display:flex;justify-content:space-between;color:#77858f;font-size:10px}.cr-risk-meter>div:last-child{display:flex;height:6px;margin-top:8px;border-radius:99px;background:#edf1f3;overflow:hidden}.cr-risk-meter i{display:block;height:100%}.cr-risk-meter .high{background:#bd554f}.cr-risk-meter .medium{background:#d99c46}.cr-risk-meter .low{background:#5d9a7c}.cr-current-file{display:flex;align-items:center;gap:12px;margin-top:24px;padding-top:20px;border-top:1px solid #edf1f3}.cr-current-file img{width:32px;height:32px}.cr-current-file span{display:grid;min-width:0}.cr-current-file small{color:#8a96a0;font-size:10px}.cr-current-file b{overflow:hidden;margin-top:2px;color:#34434d;font-size:12px;text-overflow:ellipsis;white-space:nowrap}
.cr-overview-flow,.cr-recent-card{padding:24px}.cr-process-list{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:20px}.cr-process-list>div{min-height:116px;padding:13px;border:1px solid #e6ecee;border-radius:11px;background:#fbfcfc}.cr-process-list>div>span{color:#4d8793;font-size:10px;font-weight:750}.cr-process-list p{display:grid;margin:17px 0 0}.cr-process-list b{font-size:12px}.cr-process-list small{margin-top:5px;color:#7d8992;font-size:10px;line-height:1.55}.cr-run-card{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:18px;padding:17px;border:1px solid #dce9e3;border-radius:12px;background:#f5faf7}.cr-run-card>div{display:grid;min-width:0}.cr-run-card>div>span{color:#4a8567;font-size:10px}.cr-run-card b{overflow:hidden;margin:3px 0;color:#2f3f48;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.cr-run-card small{color:#87939d;font-size:10px}.cr-run-card>strong{color:#317158;font-size:13px;white-space:nowrap}.cr-run-card.is-failed{border-color:#edd8d6;background:#fff8f7}.cr-run-card.is-failed>div>span,.cr-run-card.is-failed>strong{color:#ad4541}
.cr-stage-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:18px}.cr-stage-main{display:grid;align-content:start;gap:16px;min-width:0}.cr-stage-main>.cr-stage-heading{margin-bottom:2px}.cr-stage-aside{display:grid;align-content:start;gap:16px}.cr-sticky-card{position:sticky;top:0;padding:22px}.cr-sticky-card h3{margin:5px 0 11px;font-size:16px}.cr-sticky-card>p{margin:14px 0 0;color:#6f7d87;font-size:12px;line-height:1.7}.cr-storage-path{display:grid;gap:0;margin-top:16px;border:1px solid #e1e8ea;border-radius:10px;background:#fafcfc;overflow:hidden}.cr-storage-path span{position:relative;padding:8px 12px 8px 25px;border-bottom:1px solid #edf1f2;color:#5c6c76;font-size:11px}.cr-storage-path span:last-child{border-bottom:0;font-weight:700;color:#326c78}.cr-storage-path span::before{content:"";position:absolute;left:12px;top:50%;width:5px;height:5px;border:1px solid #8aa1aa;border-radius:2px;transform:translateY(-50%)}
.cr-upload-panel,.cr-form-panel,.cr-analysis-card,.cr-deliverable-panel,.cr-warning-panel{padding:22px}.cr-file-list{display:grid;gap:8px;margin-top:18px}.cr-file-card{display:grid;grid-template-columns:36px minmax(0,1fr) auto auto;align-items:center;gap:12px;min-height:64px;padding:10px 12px;border:1px solid #e5ebed;border-radius:11px;background:#fbfcfc}.cr-file-card.is-selected{border-color:#93bec6;background:#f2f8f9;box-shadow:0 0 0 2px rgba(92,145,155,.08)}.cr-file-card>img{width:34px;height:34px}.cr-file-card>div{display:grid;min-width:0}.cr-file-card>div b{overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.cr-file-card>div span{margin-top:3px;color:#89959e;font-size:10px}.cr-file-select,.cr-file-role,.cr-file-locked,.cr-icon-button{padding:5px 8px;border:1px solid #dce5e8;border-radius:7px;background:#fff;color:#59707a;font-size:10px}.cr-file-select[aria-current=true]{border-color:#a9ccd2;background:#e6f2f3;color:#326b77;font-weight:700}.cr-file-role{border-color:transparent;background:#edf2f4}.cr-file-locked{border-color:#dce8e1;background:#eef7f1;color:#4d7d64}.cr-icon-button{color:#9d4b48}.cr-dropzone{display:grid;place-items:center;min-height:120px;width:100%;border:1px dashed #b9cbd0;border-radius:12px;background:#f9fbfb;color:#3e6d77}.cr-dropzone:hover{border-color:#79a9b3;background:#f3f9fa}.cr-dropzone b{font-size:13px}.cr-dropzone span{margin-top:5px;color:#8a979f;font-size:10px}
.cr-empty-compact,.cr-empty-large{display:grid;place-items:center;min-height:92px;padding:20px;border:1px dashed #d8e1e4;border-radius:11px;background:#fbfcfc;text-align:center}.cr-empty-compact b,.cr-empty-large b{font-size:12px}.cr-empty-compact span,.cr-empty-large span{margin-top:5px;color:#8b969f;font-size:10px}.cr-empty-large{min-height:260px}.cr-empty-large .cr-button{margin-top:18px}.cr-check-card{padding:20px}.cr-check-card h3{margin:0 0 10px;font-size:14px}.cr-check-row{display:flex;align-items:center;gap:10px;padding:10px 0;border-top:1px solid #edf1f2}.cr-check-row i{width:9px;height:9px;border:2px solid #bcc8ce;border-radius:50%}.cr-check-row.is-ready i{border-color:#579274;background:#579274;box-shadow:inset 0 0 0 2px #fff}.cr-check-row p{display:grid;margin:0}.cr-check-row b{font-size:11px}.cr-check-row small{margin-top:2px;color:#87949d;font-size:9px}
.cr-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:18px}.cr-form-grid label{display:grid;gap:6px;color:#4f5f69;font-size:11px}.cr-form-grid label>span{font-weight:650}.cr-form-grid small{color:#8d98a0;font-size:9px}.cr-input,.cr-select{width:100%;height:42px;padding:0 12px;border:1px solid #d5dfe3;border-radius:9px;background:#fff;color:#263640;font-size:12px;outline:none}.cr-input:focus,.cr-select:focus{border-color:#76a8b2;box-shadow:0 0 0 3px rgba(82,143,155,.12)}.cr-choice-grid{display:grid;gap:10px;margin-top:18px}.cr-scope-grid{grid-template-columns:repeat(3,1fr)}.cr-depth-grid{grid-template-columns:repeat(2,1fr)}.cr-choice-card{position:relative;display:block;cursor:pointer}.cr-choice-card input{position:absolute;opacity:0;pointer-events:none}.cr-choice-card>span{display:grid;min-height:88px;padding:15px;border:1px solid #dfe7e9;border-radius:11px;background:#fbfcfc;transition:border .15s,background .15s,box-shadow .15s}.cr-choice-card b{font-size:12px}.cr-choice-card small{margin-top:6px;color:#7e8b94;font-size:10px;line-height:1.55}.cr-choice-card input:checked+span{border-color:#82b0b9;background:#f0f7f8;box-shadow:0 0 0 2px rgba(80,142,154,.09)}.cr-choice-card em{position:absolute;right:10px;top:10px;padding:3px 6px;border-radius:999px;background:#e8f1f2;color:#3d7580;font-size:8px;font-style:normal}.cr-chip-grid{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.cr-chip-grid label{cursor:pointer}.cr-chip-grid input{position:absolute;opacity:0}.cr-chip-grid span{display:block;padding:7px 11px;border:1px solid #dce5e8;border-radius:999px;background:#fff;color:#667680;font-size:10px}.cr-chip-grid input:checked+span{border-color:#90b9c1;background:#eaf4f5;color:#316c78;font-weight:650}.cr-note-list{display:grid;gap:8px;margin-top:18px}.cr-note-list span{padding:9px 11px;border-radius:8px;background:#f5f8f9;color:#65757e;font-size:10px}
.cr-analysis-top{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding-bottom:20px;border-bottom:1px solid #edf1f2}.cr-analysis-top h3{margin:5px 0;font-size:18px}.cr-analysis-top p{margin:0;color:#7c8992;font-size:11px}.cr-readiness{padding:6px 9px;border-radius:999px;background:#f7eee2;color:#a36a2d;font-size:10px}.cr-readiness.is-ready{background:#e8f3ed;color:#39775d}.cr-analysis-pipeline{display:grid;margin-top:8px}.cr-analysis-pipeline>div{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:13px;padding:14px 3px;border-bottom:1px solid #edf1f2}.cr-analysis-pipeline>div>span{display:grid;place-items:center;width:32px;height:32px;border:1px solid #dbe4e7;border-radius:9px;background:#f7f9fa;color:#8a969f;font-size:10px}.cr-analysis-pipeline p{display:grid;margin:0}.cr-analysis-pipeline b{font-size:12px}.cr-analysis-pipeline small{margin-top:3px;color:#89959e;font-size:10px}.cr-analysis-pipeline em{color:#98a2a9;font-size:10px;font-style:normal}.cr-analysis-pipeline .is-active>span{border-color:#73a7b1;background:#e9f4f5;color:#326e7a}.cr-analysis-pipeline .is-active em{color:#347683;font-weight:700}.cr-analysis-pipeline .is-complete>span{border-color:#8ebda8;background:#edf7f1;color:#397458}.cr-analysis-pipeline .is-complete em{color:#4b8467}.cr-analysis-action{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:22px}.cr-analysis-action>div{display:grid}.cr-analysis-action b{font-size:12px}.cr-analysis-action span{margin-top:3px;color:#8b969e;font-size:10px}.cr-summary-list{display:grid;margin:13px 0 0}.cr-summary-list>div{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid #edf1f2}.cr-summary-list dt{color:#83909a;font-size:10px}.cr-summary-list dd{margin:0;color:#43525c;font-size:10px;font-weight:650;text-align:right}
.cr-inline-alert{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 20px;border:1px solid #dbe7e1;border-radius:13px;background:#f5faf7}.cr-inline-alert>div{display:grid}.cr-inline-alert b{font-size:12px}.cr-inline-alert p{margin:4px 0 0;color:#74817a;font-size:11px}.cr-inline-alert.is-error{border-color:#edd6d4;background:#fff8f7}.cr-inline-alert.is-error b{color:#a84340}.cr-inline-alert.is-error p{color:#8b6361}.cr-page>.cr-inline-alert{margin-top:32px}
.cr-risk-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:16px}.cr-risk-summary>div{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border:1px solid #e2e9eb;border-radius:11px;background:#fff}.cr-risk-summary span{color:#78858e;font-size:10px}.cr-risk-summary strong{font-size:20px}.cr-risk-summary .is-high strong{color:#b74743}.cr-risk-summary .is-medium strong{color:#bc762a}.cr-risk-summary .is-low strong{color:#4c8769}.cr-risk-workbench{overflow:hidden}.cr-risk-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border-bottom:1px solid #e7edef;background:#fafcfc}.cr-filter-group{display:flex;gap:4px}.cr-filter-group button{padding:6px 10px;border:0;border-radius:7px;background:transparent;color:#73818b;font-size:10px}.cr-filter-group button.is-active{background:#e8f2f4;color:#316c78;font-weight:700}.cr-search{display:flex;align-items:center;gap:8px}.cr-search span{color:#83909a;font-size:10px}.cr-search input{width:240px;height:32px;padding:0 10px;border:1px solid #d8e2e5;border-radius:8px;background:#fff;font-size:10px;outline:none}.cr-search input:focus{border-color:#83adb5}.cr-risk-list{display:grid}.cr-risk-item{display:grid;grid-template-columns:44px minmax(0,1fr);gap:15px;padding:20px;border-bottom:1px solid #e9eef0}.cr-risk-item:last-child{border-bottom:0}.cr-risk-item[hidden]{display:none}.cr-risk-index{color:#9aa4ab;font-size:11px;font-weight:700}.cr-risk-content{min-width:0}.cr-risk-meta{display:flex;align-items:center;gap:8px;color:#7d8992;font-size:10px}.cr-risk-meta b{color:#52616b;font-size:10px}.cr-risk-badge{padding:4px 7px;border-radius:999px;font-size:9px}.cr-risk-badge.is-high{background:#fbeceb;color:#ad403c}.cr-risk-badge.is-medium{background:#fff3e2;color:#a8641d}.cr-risk-badge.is-low{background:#eaf5ee;color:#39785b}.cr-risk-content blockquote{margin:13px 0 0;padding:9px 11px;border-left:2px solid #b6c7cc;background:#f7f9fa;color:#65737c;font-size:10px;line-height:1.6}.cr-risk-content h3{margin:12px 0 0;color:#283740;font-size:13px;line-height:1.65}.cr-suggestion{margin-top:13px;padding:12px 13px;border-radius:9px;background:#f6f9f9}.cr-suggestion span{color:#397581;font-size:9px;font-weight:750}.cr-suggestion p{margin:4px 0 0;color:#53636d;font-size:11px;line-height:1.7}
.cr-completion-banner{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 26px;border:1px solid #b9d7c8;border-radius:15px;background:#f1f8f4}.cr-completion-banner>div{display:grid}.cr-completion-banner span{color:#4b8567;font-size:10px;font-weight:700}.cr-completion-banner h3{margin:5px 0;color:#274838;font-size:18px}.cr-completion-banner p{margin:0;color:#6f8077;font-size:11px}.cr-completion-banner>strong{display:grid;place-items:center;width:62px;height:62px;border-radius:16px;background:#fff;color:#39775a;font-size:24px;box-shadow:0 5px 15px rgba(51,112,83,.09)}.cr-output-list{display:grid;gap:9px;margin-top:18px}.cr-output-list article{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px;border:1px solid #e3e9eb;border-radius:11px;background:#fbfcfc}.cr-output-list img{width:34px;height:34px}.cr-output-list article>div{display:grid;min-width:0}.cr-output-list b{overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.cr-output-list span{margin-top:3px;color:#87949d;font-size:10px}.cr-warning-panel p{margin:11px 0 0;padding:9px 11px;border-radius:8px;background:#fff8eb;color:#846137;font-size:10px}
.cr-stage-footer{position:fixed;right:32px;bottom:18px;z-index:6;display:flex;align-items:center;justify-content:space-between;gap:26px;width:min(880px,calc(100vw - 304px));min-height:56px;padding:8px 10px 8px 16px;border:1px solid rgba(210,221,225,.9);border-radius:14px;background:rgba(255,255,255,.92);box-shadow:0 14px 40px rgba(31,53,66,.14);backdrop-filter:blur(16px)}.cr-stage-footer>span{overflow:hidden;color:#64737d;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.cr-stage-footer>div{display:flex;gap:8px}.cr-page-loading{display:grid;place-items:center;min-height:420px;text-align:center}.cr-page-loading span{width:28px;height:28px;border:3px solid #dbe6e8;border-top-color:#4a8490;border-radius:50%;animation:cr-spin .8s linear infinite}.cr-page-loading b{margin-top:15px;font-size:13px}.cr-page-loading small{margin-top:-18px;color:#8b979f;font-size:10px}@keyframes cr-spin{to{transform:rotate(360deg)}}
.cr-overview-full{display:block}.cr-overview-full .cr-project-workbench{width:100%}.cr-project-workbench{padding:20px 22px 22px}
.cr-table-body{display:inline-flex;align-items:center;gap:6px;min-width:0;max-width:100%}.cr-table-body.is-empty{justify-content:flex-start}.cr-table-body .cr-table-filename,.cr-table-body .cr-project-main-btn{text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}.cr-table-body.is-uploading .cr-table-filename{color:#965d14;font-weight:600}.cr-table-filename{flex:0 1 auto;min-width:0;max-width:calc(100% - 46px);overflow:hidden;color:#17212b;font-size:12.5px;font-weight:550;text-overflow:ellipsis;white-space:nowrap}.cr-col-name{width:210px;min-width:180px;max-width:230px}.cr-col-name .cr-project-name{width:100%;min-width:140px;max-width:220px;height:36px;color:#17212b}.cr-col-body{width:320px;min-width:280px;max-width:440px}.cr-table-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:1px solid #dce5e8;border-radius:8px;background:#fff;flex:0 0 auto}.cr-table-icon-btn:hover:not(:disabled){background:#f5f8f9;border-color:#c5d4d9}.cr-table-icon-btn:disabled{opacity:.38;cursor:not-allowed}.cr-table-icon-btn img{width:18px;height:18px;display:block}.cr-col-icon{width:64px;text-align:center;vertical-align:middle;padding:12px 8px}.cr-project-table thead th.cr-col-icon{text-align:center;vertical-align:bottom;padding-bottom:11px}.cr-project-table tbody td.cr-col-icon{text-align:center}.cr-col-icon .cr-table-icon-btn{margin:0 auto}.cr-toolbar-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;padding:0;border:1px solid #dce5e8;border-radius:9px;background:#fff}.cr-toolbar-icon-btn[hidden]{display:none!important}.cr-toolbar-icon-btn:disabled{opacity:.38;cursor:not-allowed}.cr-toolbar-icon-btn:hover:not(:disabled){background:#fff5f5;border-color:#d8b4b4}.cr-toolbar-icon-btn img{width:18px;height:18px;display:block}.cr-col-action-icon{width:46px;padding:12px 4px;text-align:center;vertical-align:middle;white-space:nowrap}.cr-project-table thead th.cr-col-action-icon{text-align:center;padding:10px 4px;color:#17212b}.cr-col-action-icon .cr-table-icon-btn{display:flex;margin:0 auto}.cr-table-icon-btn-badge{position:relative;overflow:visible}.cr-icon-badge{position:absolute;right:-5px;bottom:-5px;min-width:14px;height:14px;padding:0 3px;border:1px solid #fff;border-radius:999px;background:#c45c4a;color:#fff;font-size:9px;font-weight:700;line-height:12px;text-align:center;pointer-events:none}.cr-settings-custom-badge{position:absolute;right:-2px;top:-2px;width:8px;height:8px;border:1.5px solid #fff;border-radius:999px;background:#1f6470;pointer-events:none;box-shadow:0 1px 2px rgba(15,23,42,.12)}.cr-project-settings.is-customized:not(.is-active){border-color:#9ec4cf;background:#f3f9fa}.cr-project-settings.is-customized:not(.is-active):hover:not(:disabled){border-color:#7eb5c3;background:#eaf4f6}.cr-table-icon-btn.is-archive-locked:disabled{opacity:1;cursor:not-allowed;background:#f7f7f7;border-color:#e3e3e3}.cr-project-attachments-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.cr-project-attachments-title{display:flex;align-items:center;gap:10px;min-width:0}.cr-attachment-upload-progress{color:#17212b;font-size:14px;font-weight:600;white-space:nowrap}.cr-project-attachments-list{display:grid;gap:8px}.cr-project-attachment-item{display:grid;grid-template-columns:28px 28px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 12px;border:1px solid #e5ebed;border-radius:9px;background:#fff}.cr-attachment-index{color:#17212b;font-size:15px;font-weight:700;text-align:center}.cr-attachment-name{overflow:hidden;color:#17212b;font-size:15px;text-overflow:ellipsis;white-space:nowrap}.cr-button-text{border:0;background:transparent;padding:0 4px;min-height:auto;color:#17212b;font-size:12px;font-weight:600;box-shadow:none}.cr-button-text:hover:not(:disabled){background:transparent;color:#0f171e;transform:none}.cr-project-main-btn{flex:0 0 auto}.cr-col-result{width:104px;padding:12px 6px;text-align:center;vertical-align:middle;white-space:nowrap}.cr-project-table thead th.cr-col-result{text-align:center;padding:10px 6px;color:#17212b}.cr-project-result-btn{display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:2px 6px;border:0;background:transparent;color:#1f6470;font-size:12px;font-weight:600;text-decoration:underline;text-underline-offset:3px;cursor:pointer;transition:all .14s ease}.cr-project-result-btn:hover{color:#0f3b43;background:rgba(138,188,209,0.18);border-radius:5px}.cr-result-count{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:#8ABCD1;color:#1A3540;font-size:10px;font-weight:700;line-height:1}cr-preview-file-name{overflow:hidden;color:#6d7c86;font-size:11px;text-overflow:ellipsis;white-space:nowrap;max-width:420px}.cr-project-preview-body{display:grid;gap:10px}.cr-preview-summary{display:grid;gap:12px;margin:0;padding:14px 16px;border:1px solid #e8ecef;border-radius:9px;background:#fff}.cr-preview-summary>div{display:grid;gap:6px;min-width:0}.cr-preview-summary dt{margin:0;color:#17212b;font-size:14px;font-weight:600}.cr-preview-summary dd{margin:0;color:#17212b;font-size:15px;line-height:1.75;word-break:break-word}.cr-preview-loading{color:#17212b;font-size:15px;line-height:1.75;padding:2px 0}.cr-preview-warning-list{margin:0;padding:0;list-style:none;display:grid;gap:6px}.cr-preview-warning-list li{padding:8px 10px;border-radius:8px;background:#fff8eb;color:#8a6535;font-size:11px;line-height:1.55}.cr-project-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px;flex-wrap:wrap}.cr-project-toolbar-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.cr-project-toolbar-review{flex:0 0 auto;margin-left:auto}.cr-project-toolbar-review.is-blocked{opacity:.82;box-shadow:none}.cr-project-table-wrap{border:1px solid var(--cr-line);border-radius:12px;overflow:hidden;background:#fff}.cr-project-table-wrap.is-empty{border-style:dashed;background:#fbfcfc}.cr-project-table{width:100%;border-collapse:collapse;font-size:11px}.cr-project-table thead th{padding:10px 8px;border-bottom:1px solid #e7edef;background:#f8fafb;color:#17212b;font-size:10px;font-weight:700;text-align:left;white-space:nowrap}.cr-project-table tbody td{padding:12px 8px;border-bottom:1px solid #eef2f4;vertical-align:middle}.cr-project-table tbody tr:last-child td{border-bottom:0}.cr-project-table-row.is-active td{background:#f3f9fa}.cr-project-table-row.is-expanded td{border-bottom-color:transparent}.cr-col-check{width:38px}.cr-col-index{width:46px;color:#17212b;font-weight:700}.cr-table-main{display:flex;align-items:center;gap:8px;min-width:0}.cr-table-main img{width:24px;height:24px;flex:0 0 auto}.cr-table-main span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:180px}.cr-col-status{width:130px;min-width:125px;white-space:nowrap}.cr-row-status-wrap{display:inline-flex;align-items:center;gap:6px}.cr-row-status{display:inline-flex;align-items:center;padding:4px 9px;border-radius:999px;font-size:10px;font-weight:700;white-space:nowrap;line-height:1.2}.cr-row-status.is-pending{background:#f4ece6;color:#593A28}.cr-row-status.is-preview-pending{background:#fdf3e7;color:#965d14}.cr-row-status.is-settings{background:#edf5f8;color:#2b6478}.cr-row-status.is-ready{background:#e8f4ed;color:#286849}.cr-row-status.is-running{background:#8ABCD1;color:#1A3540}.cr-row-status.is-done{background:#e4f0ea;color:#236544}.cr-row-status.is-failed{background:#fbeceb;color:#ad403c}.cr-project-expand-row td{padding:0;background:#f8fafb}.cr-project-expand-inner{padding:16px 18px 18px 68px;color:#17212b;font-size:15px;line-height:1.75}.cr-project-expand-inner .cr-expand-head-title,.cr-project-expand-inner .cr-project-attachments-head>b{color:#17212b;font-size:16px;font-weight:600;line-height:1.5}.cr-project-expand-inner .cr-icon-button,.cr-project-expand-inner .cr-button.cr-button-secondary,.cr-project-expand-inner .legal-review-file-delete{font-size:14px;color:#17212b}.cr-project-expand-inner .cr-empty-compact b,.cr-project-expand-inner .cr-empty-compact span{color:#17212b;font-size:15px;line-height:1.7}.cr-project-table-row.is-expanded td,.cr-project-table-row.is-preview-expanded td,.cr-project-table-row.is-settings-expanded td{border-bottom-color:transparent}.cr-table-icon-btn.cr-project-expand.is-active,.cr-table-icon-btn.cr-project-preview.is-active,.cr-table-icon-btn.cr-project-settings.is-active{border-color:#90b9c1;background:#eaf4f5}
/* ===== Project Table Layout Tweaks ===== */
.cr-project-table{font-size:13px;color:#17212b!important}
.cr-project-table thead th{text-align:center;vertical-align:middle;font-size:13px;font-weight:600;color:#17212b!important}
.cr-project-table tbody td{font-size:13px;color:#17212b!important;vertical-align:middle}
.cr-project-table thead th.cr-col-check,.cr-project-table tbody td.cr-col-check{text-align:center}
.cr-project-table thead th.cr-col-index,.cr-project-table tbody td.cr-col-index{text-align:center;font-weight:600;color:#17212b!important}
.cr-project-table thead th.cr-col-name,.cr-project-table tbody td.cr-col-name{text-align:center}
.cr-project-table{table-layout:auto;width:100%}
.cr-project-table .cr-col-body{width:auto!important;min-width:0!important;max-width:none!important}
.cr-project-table thead th.cr-col-body,.cr-project-table tbody td.cr-col-body{text-align:center;vertical-align:middle;width:1%;white-space:nowrap;padding:12px 0 12px 8px}
.cr-project-table tbody td.cr-col-body{text-align:left;padding-right:0}
.cr-project-table tbody td.cr-col-body .cr-table-body{justify-content:flex-start;margin:0;width:auto;max-width:none}
.cr-col-body .cr-table-body{display:inline-flex;align-items:center;gap:6px}
.cr-table-filename{flex:0 1 auto;max-width:min(432px,40vw);min-width:0;font-size:13px;font-weight:500;color:#17212b!important}
.cr-table-body .cr-project-main-btn,.cr-project-table .cr-button-text{font-size:13px;font-weight:500;color:#17212b!important}
.cr-table-body .cr-project-main-btn:hover:not(:disabled),.cr-project-table .cr-button-text:hover:not(:disabled){color:#17212b!important}
.cr-col-attach{width:40px;min-width:40px;max-width:40px;padding:12px 2px 12px 4px!important;text-align:center;vertical-align:middle}
.cr-project-table thead th.cr-col-attach{padding:10px 2px 10px 4px!important}
.cr-project-table thead th.cr-col-body+.cr-col-attach,.cr-project-table tbody td.cr-col-body+.cr-col-attach{border-left:0}
.cr-col-attach .cr-table-icon-btn{margin:0 auto}
.cr-col-preview-settings{width:138px;min-width:138px;max-width:138px;padding:12px 2px!important;text-align:center;white-space:nowrap;vertical-align:middle}
.cr-project-table thead th.cr-col-preview-settings span{display:inline-block;margin:0 1px;font-size:11px}
.cr-col-preview-settings .cr-table-icon-btn{display:inline-flex;vertical-align:middle;margin:0 1px}
.cr-project-review.is-running img{animation:cr-review-pulse 1.2s ease-in-out infinite}
.cr-project-review.is-disabled{opacity:.45;cursor:not-allowed}
.cr-project-review.is-rerun:not(.is-disabled):not(.is-running){opacity:1}
@keyframes cr-review-pulse{0%,100%{opacity:1}50%{opacity:.55}}
.cr-col-archive{width:52px;min-width:52px;padding:12px 4px;text-align:center}
.cr-project-table thead th.cr-col-archive,.cr-project-table tbody td.cr-col-archive{text-align:center}
.cr-col-archive .cr-table-icon-btn{margin:0 auto}
.cr-col-result,.cr-col-status{text-align:center}
.cr-project-table thead th.cr-col-result,.cr-project-table thead th.cr-col-status{text-align:center}
.cr-project-result-btn{font-size:13px;font-weight:500;color:#9aa4ab!important;text-decoration:underline;text-underline-offset:3px}
.cr-project-result-btn:disabled,.cr-project-table .cr-project-result-btn:disabled{color:#9aa4ab!important;cursor:not-allowed;opacity:.9}
.cr-project-result-btn.is-viewable,.cr-project-table .cr-project-result-btn.is-viewable{color:var(--tp-danger,#8A2524)!important;font-weight:600}
.cr-project-table .cr-project-result-btn.is-viewable:hover:not(:disabled),.cr-project-result-btn.is-viewable:hover:not(:disabled){background:transparent;color:#6d1e1d!important}
.cr-result-count{display:none!important}
.cr-scheme-annotate-parts-block{margin-top:4px}
.cr-scheme-annotate-parts-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;margin-top:8px}
.cr-scheme-annotate-parts-hint{margin:8px 0 0;font-size:11px;color:#64748b;line-height:1.4}
.cr-row-status-wrap{justify-content:center;flex-direction:column;align-items:center;gap:4px}
.cr-row-status-note{margin:0;max-width:220px;color:#965d14;font-size:11px;line-height:1.35;text-align:center}
.cr-result-failure-banner{margin:0 0 14px}
.cr-project-table .cr-row-status{padding:0;border-radius:0;background:transparent!important;font-size:13px;font-weight:500;color:#17212b!important;line-height:1.4}
.cr-project-table .cr-row-status.is-running{color:#1f6470!important;font-weight:700!important}
.cr-project-table .cr-row-status.is-failed{color:#ad403c!important}
.cr-row-status-note.is-running{color:#1f6470!important}
.cr-project-table .cr-col-name .cr-project-name{display:block;margin:0 auto;font-size:13px;color:#17212b!important;text-align:center}
.cr-project-toolbar{width:100%;align-items:center}
.cr-project-toolbar-actions{flex:1 1 auto;min-width:0}
.cr-project-toolbar>.cr-project-toolbar-review{flex:0 0 auto;margin-left:12px}
.cr-project-table thead th.cr-col-result,.cr-project-table thead th.cr-col-status,.cr-project-table thead th.cr-col-preview-settings,.cr-project-table thead th.cr-col-archive{color:#17212b!important}
.cr-table-body.is-uploading .cr-table-filename{color:#17212b!important}
.cr-scheme-badge{display:none!important}
.cr-project-toolbar>.cr-project-toolbar-review[hidden]{display:none!important}
.cr-project-toolbar>.cr-project-toolbar-review{color:#1A3540!important;font-weight:700;min-width:72px;font-size:13px}
.cr-project-toolbar>.cr-project-toolbar-review:not(:disabled){background:#8ABCD1;border-color:#7ab5be;color:#1A3540!important}
.cr-project-toolbar>.cr-project-toolbar-review.is-blocked:not(:disabled){opacity:1;color:#1A3540!important;background:#8ABCD1}
.cr-project-toolbar>.cr-project-toolbar-review:disabled{opacity:.55;color:#4a5f68!important}
.cr-project-table-wrap.is-empty .cr-project-table{margin-bottom:0}
.cr-project-table-wrap.is-empty .cr-project-empty{margin:0;border:none;border-top:1px solid #e7edef;border-radius:0;background:#fbfcfc}
.cr-project-table-wrap.is-empty .cr-project-empty span{color:#3d4f5c!important;font-size:13px}
.cr-create-project-wrap{display:flex;flex-direction:column;align-items:flex-start;gap:5px;margin-right:4px}
.cr-create-project-hint{font-size:11px;line-height:1.45;color:#5d747a;max-width:520px}
.cr-project-attachments-hint{margin:0 0 10px;color:#5d747a;font-size:13px;line-height:1.65}
.cr-project-expand-inner .cr-project-attachments-hint{color:#3d4f5c;font-size:13px}
.cr-project-attachment-item{grid-template-columns:28px 28px minmax(0,1fr) auto auto}
.cr-attachment-size{flex:0 0 auto;color:#5d747a;font-size:13px;font-variant-numeric:tabular-nums;white-space:nowrap}
.cr-project-expand-inner .cr-attachment-size{color:#5d747a;font-size:13px}
.cr-project-toolbar #createLegalProject.is-drop-target{box-shadow:0 0 0 2px #fff,0 0 0 4px #7ab5be}
.cr-project-attachments{
  display:grid;
  gap:12px;
}
.cr-project-attachments.is-drop-target,
.cr-file-list[data-attachment-dropzone].is-drop-target{
  outline:2px solid #7ab5be;
  outline-offset:4px;
  border-radius:12px;
  background:rgba(122,181,190,.08);
}
button.cr-empty-compact{
  width:100%;
  margin:0;
  cursor:pointer;
  font:inherit;
  color:inherit;
}
button.cr-empty-compact:hover,
button.cr-empty-compact:focus-visible{
  border-color:#7ab5be;
  background:#f3fafb;
}
.cr-project-toolbar #createLegalProject.is-importing{opacity:.7;pointer-events:none}
/* 工作台的正文与附件视作连续的文件操作区：正文居中，附件紧贴正文右侧。 */
.cr-project-table{table-layout:fixed}
.cr-project-table .cr-col-body{width:260px!important;min-width:260px!important;max-width:260px!important;padding:12px 8px!important;text-align:center!important}
.cr-project-table thead th.cr-col-body{padding:10px 8px!important;text-align:center!important}
.cr-project-table tbody td.cr-col-body .cr-table-body{display:flex;width:100%;justify-content:center;margin:0 auto}
.cr-project-table .cr-col-attach{width:44px;min-width:44px;max-width:44px;padding:12px 0!important;text-align:left!important}
.cr-project-table thead th.cr-col-attach{padding:10px 0!important;text-align:left!important}
.cr-project-table .cr-col-attach .cr-table-icon-btn{margin:0}
/* ===== Contract review readability (正文对比度) ===== */
.cr-page .cr-workflow-item{color:#3d4f5c!important}
.cr-page .cr-workflow-item b{color:#17212b!important;font-size:13px;font-weight:650}
.cr-page .cr-workflow-item small{color:#3d4f5c!important;font-size:11px!important}
.cr-page .cr-workflow-item.is-current{color:#1a3540!important}
.cr-page .cr-workflow-index{color:#44525c!important;font-size:11px!important}
.cr-page .cr-step-label,.cr-page .cr-section-kicker{color:#2d5f6c!important;font-size:11px!important}
.cr-page .cr-stage-heading p,.cr-page .cr-panel-heading p{color:#3d4f5c!important;font-size:13px!important}
.cr-page .cr-risk-summary span{color:#3d4f5c!important;font-size:12px!important;font-weight:600}
.cr-page .cr-risk-summary strong{color:#17212b}
.cr-page .cr-filter-group button{color:#3d4f5c!important;font-size:12px!important;font-weight:600}
.cr-page .cr-filter-group button.is-active{color:#1a3540!important}
.cr-page .cr-search span{color:#3d4f5c!important;font-size:12px!important;font-weight:600}
.cr-page .cr-search input{color:#17212b!important;font-size:12px!important}
.cr-page .cr-search input::placeholder{color:#5c6d78!important;opacity:1}
.cr-page .cr-risk-index{color:#44525c!important;font-size:12px!important;font-weight:700}
.cr-page .cr-risk-meta{color:#3d4f5c!important;font-size:12px!important}
.cr-page .cr-risk-meta b{color:#17212b!important;font-size:12px!important;font-weight:650}
.cr-page .cr-risk-content blockquote{color:#3d4f5c!important;font-size:12px!important;line-height:1.65;background:#f3f6f8;border-left-color:#8aa1aa}
.cr-page .cr-risk-content h3{color:#17212b!important;font-size:14px!important;font-weight:600}
.cr-page .cr-suggestion{background:#f0f4f6;border:1px solid #e2e9eb}
.cr-page .cr-suggestion span{color:#1a3540!important;font-size:11px!important;font-weight:700}
.cr-page .cr-suggestion p{color:#17212b!important;font-size:13px!important;line-height:1.75}
.cr-page .cr-stage-footer>span{color:#3d4f5c!important;font-size:12px!important}
.cr-page .cr-summary-list dt{color:#3d4f5c!important;font-size:11px!important}
.cr-page .cr-summary-list dd{color:#17212b!important;font-size:12px!important}
.cr-page .cr-analysis-top p,.cr-page .cr-analysis-pipeline small,.cr-page .cr-analysis-action span{color:#3d4f5c!important;font-size:12px!important}
.cr-page .cr-analysis-pipeline>div>span,.cr-page .cr-analysis-pipeline em{color:#44525c!important;font-size:11px!important}
.cr-page .cr-sticky-card>p,.cr-page .cr-check-row small{color:#3d4f5c!important;font-size:11px!important}
.cr-page .cr-file-card>div span,.cr-page .cr-empty-compact span,.cr-page .cr-empty-large span{color:#3d4f5c!important;font-size:12px!important}
.cr-page .cr-form-grid label{color:#3d4f5c!important}
.cr-page .cr-form-grid small,.cr-page .cr-choice-card small{color:#44525c!important;font-size:11px!important}
.cr-page .cr-chip-grid span{color:#3d4f5c!important;font-size:11px!important}
.cr-page .cr-output-list span{color:#3d4f5c!important;font-size:11px!important}
/* ===== Project Expand Settings: Clean, Apple/Google & Codex Style ===== */
.cr-project-expand-row td{padding:0;background:#f8fafb}
.cr-project-expand-inner{padding:14px 20px 20px 56px}
.cr-settings-panel{
  display:flex;
  flex-direction:column;
  background:#ffffff;
  border:1px solid #dce8ec;
  border-top:3px solid #593A28; /* 麝香褐顶部品牌线 */
  border-radius:14px;
  box-shadow:0 8px 24px -4px rgba(26,53,64,0.06), 0 2px 6px -1px rgba(26,53,64,0.03);
  overflow:hidden;
}

/* 顶部操作条与标题 */
.cr-settings-panel-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:12px 18px;
  background:#fafcfd;
  border-bottom:1px solid #edf3f5;
}
.cr-settings-header-left{
  display:flex;
  align-items:center;
  gap:10px;
}
.cr-settings-panel-title{
  font-size:14px;
  font-weight:700;
  color:#1A3540;
  letter-spacing:-0.01em;
}
.cr-settings-state-pill{
  display:inline-flex;
  align-items:center;
  height:20px;
  padding:0 8px;
  border-radius:999px;
  font-size:11px;
  font-weight:600;
  background:#eef4f6;
  color:#4a6d79;
}
.cr-settings-state-pill.is-inherited{
  background:rgba(138,188,209,0.18); /* 秋波蓝 */
  color:#235868;
}
.cr-settings-state-pill.is-customized{
  background:rgba(233,173,95,0.2); /* 黄琉璃 */
  color:#7c4e12;
}
.cr-expand-settings-actions{
  display:flex;
  align-items:center;
  gap:8px;
  margin-left:auto;
}
.cr-settings-action-btn{
  min-height:30px!important;
  height:30px!important;
  padding:0 12px!important;
  font-size:12px!important;
  font-weight:600!important;
  border-radius:7px!important;
}
.cr-settings-save-btn{
  background:#8ABCD1!important;
  color:#1A3540!important;
  border:1px solid #7ab5be!important;
  box-shadow:0 1px 4px rgba(90,148,168,0.25)!important;
}
.cr-settings-save-btn:hover:not(:disabled){
  background:#7ab5be!important;
}

/* 设置面板内容主体布局 */
.cr-settings-panel-body{
  padding:18px 20px 22px;
  display:flex;
  flex-direction:column;
  gap:20px;
}
.cr-settings-grid-main{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(0,0.8fr) minmax(0,0.9fr) auto;
  gap:16px;
  align-items:end;
}
.cr-settings-field{
  display:flex;
  flex-direction:column;
  gap:6px;
  min-width:0;
}
.cr-settings-label{
  font-size:12px;
  font-weight:600;
  color:#455964;
  letter-spacing:0.01em;
}
.cr-settings-input,
.cr-settings-select{
  width:100%;
  height:36px;
  padding:0 10px;
  border:1.5px solid #dbe6ea;
  border-radius:8px;
  background:#ffffff;
  color:#1A3540;
  font-size:13px;
  outline:none;
  box-sizing:border-box;
  transition:border-color .15s ease, box-shadow .15s ease;
}
.cr-settings-input:focus,
.cr-settings-select:focus{
  border-color:#8ABCD1;
  box-shadow:0 0 0 3px rgba(138,188,209,0.22);
}
.cr-settings-field-depth{
  min-width:130px;
}
.cr-settings-segmented{
  display:inline-flex;
  align-items:center;
  height:36px;
  background:#edf4f6;
  padding:3px;
  border-radius:8px;
  border:1px solid #dce7eb;
  gap:2px;
  box-sizing:border-box;
}
.cr-settings-segment{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:54px;
  height:100%;
  border-radius:6px;
  color:#5d727d;
  font-size:12.5px;
  font-weight:500;
  cursor:pointer;
  user-select:none;
}
.cr-settings-segment input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.cr-settings-segment span{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  height:100%;
  padding:0 12px;
  border-radius:6px;
  transition:all .14s ease;
}
.cr-settings-segment.is-active span,
.cr-settings-segment:has(input:checked) span{
  background:#ffffff;
  color:#1A3540;
  font-weight:700;
  box-shadow:0 1px 4px rgba(26,53,64,0.08);
}

/* 审核范围与批注部分 */
.cr-settings-scope-section{
  display:flex;
  flex-direction:column;
  gap:12px;
  padding-top:16px;
  border-top:1px solid #edf3f5;
}
.cr-settings-scope{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
}
.cr-settings-scope-item{
  display:inline-flex;
  align-items:center;
  gap:8px;
  height:38px;
  padding:0 12px;
  border:1.5px solid #dbe6ea;
  border-radius:10px;
  background:#ffffff;
  color:#1A3540;
  font-size:13px;
  font-weight:600;
  cursor:pointer;
  user-select:none;
  transition:all .15s ease;
}
.cr-settings-scope-item input[type=checkbox]{
  accent-color:#5A94A8;
  width:15px;
  height:15px;
  margin:0;
  cursor:pointer;
}
.cr-settings-scope-item:hover{
  border-color:#b4cdd5;
  background:#f9fcfd;
}
.cr-settings-scope-item:has(input:checked){
  border-color:#8ABCD1; /* 秋波蓝 */
  background:#edf6f8;
  box-shadow:0 1px 4px rgba(90,148,168,0.1);
}

/* 制度库路径卡片（紧凑模式） */
.cr-compliance-library{
  display:grid;
  gap:10px;
  margin-top:4px;
  padding:12px 14px;
  border:1px solid #e1ebed;
  border-radius:10px;
  background:#fbfdfe;
}
.cr-compliance-library-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.cr-compliance-library-title{
  font-size:12px;
  font-weight:700;
  color:#37515c;
}
.cr-compliance-library-options{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.cr-compliance-library-option{
  display:flex;
  align-items:center;
  gap:10px;
  padding:8px 12px;
  border:1.5px solid #dce5e8;
  border-radius:8px;
  background:#ffffff;
  cursor:pointer;
  transition:all .14s ease;
}
.cr-compliance-library-option.is-active{
  border-color:#8ABCD1;
  background:#f4f9fb;
}
.cr-compliance-opt-name{
  font-size:12.5px;
  font-weight:600;
  color:#1A3540;
  white-space:nowrap;
}
.cr-compliance-opt-name small{
  color:#6c828c;
  font-weight:500;
  margin-left:4px;
}
.cr-compliance-library-option .cr-compliance-folder-path{
  margin-top:0;
  margin-left:auto;
}
.cr-compliance-library-actions{
  display:flex;
  gap:8px;
}

/* 参照审核制度列表（类似 CODEX 的紧凑精美条目） */
.cr-compliance-policy-selection{
  display:grid;
  gap:10px;
  margin-top:4px;
  padding:12px 14px;
  border:1px solid #e1ebed;
  border-radius:10px;
  background:#fbfdfe;
}
.cr-compliance-policy-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:6px;
}
.cr-compliance-policy-list{
  display:grid;
  gap:6px;
}
.cr-compliance-policy-item{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  height:36px;
  padding:0 12px;
  border:1px solid #e4edf0;
  border-left:3px solid #8ABCD1; /* 秋波蓝条 */
  border-radius:7px;
  background:#ffffff;
  transition:all .12s ease;
}
.cr-compliance-policy-item:hover{
  border-color:#c8dbe0;
  background:#f6fafb;
}
.cr-compliance-policy-meta{
  display:flex;
  align-items:baseline;
  gap:8px;
  min-width:0;
  flex:1;
}
.cr-policy-item-name{
  font-size:12.5px;
  font-weight:600;
  color:#1A3540;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.cr-policy-item-path{
  font-size:11px;
  color:#738892;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  flex-shrink:1;
}
.cr-policy-remove-btn{
  height:24px!important;
  min-height:24px!important;
  padding:0 8px!important;
  font-size:11px!important;
  color:#8a4d4b!important;
  border:1px solid #ebd9d8!important;
  background:#fff8f8!important;
  border-radius:5px!important;
  flex-shrink:0;
}
.cr-policy-remove-btn:hover{
  background:#faeaea!important;
  color:#8A2524!important;
}

@media(max-width:960px){
  .cr-settings-grid-main{grid-template-columns:1fr 1fr}
  .cr-compliance-library-options{grid-template-columns:1fr}
}
@media(max-width:600px){
  .cr-settings-grid-main{grid-template-columns:1fr}
  .cr-settings-header-left{flex-direction:column;align-items:flex-start}
}.cr-settings-drawer{position:fixed;inset:0;z-index:30}.cr-settings-drawer[hidden]{display:none}.cr-settings-drawer-backdrop{position:absolute;inset:0;border:0;background:rgba(20,32,40,.34);cursor:pointer}.cr-settings-drawer-panel{position:absolute;top:0;right:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto;width:min(480px,100vw);height:100%;background:#fff;box-shadow:-12px 0 40px rgba(31,53,66,.12)}.cr-settings-drawer-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:20px 20px 12px;border-bottom:1px solid #e7edef}.cr-settings-drawer-head h3{margin:4px 0 0;font-size:17px}.cr-settings-drawer-head p{margin:6px 0 0;color:#7b8994;font-size:11px}.cr-settings-drawer-body{overflow:auto;padding:16px 20px;display:grid;gap:14px;align-content:start}.cr-settings-drawer-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 20px 18px;border-top:1px solid #e7edef}.cr-settings-drawer-foot>span{color:#7d8b95;font-size:10px}.cr-settings-drawer-foot>div{display:flex;gap:8px}.cr-drawer-form-grid{display:grid;gap:12px}.cr-drawer-form-grid label{display:grid;gap:6px;font-size:10px;color:#5d6c76}.cr-drawer-scope-grid,.cr-drawer-focus{display:flex;flex-wrap:wrap;gap:8px}.cr-drawer-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border:1px solid #dfe7ea;border-radius:999px;background:#fbfcfc;font-size:10px;cursor:pointer}.cr-drawer-depth{display:flex;gap:10px}.cr-drawer-depth label{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border:1px solid #dfe7ea;border-radius:9px;font-size:10px;cursor:pointer}.cr-drawer-insight{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border:1px solid #d5e5df;border-radius:10px;background:#f5faf7}.cr-drawer-insight small{display:block;color:#6f827a;font-size:9px}.cr-drawer-insight b{display:block;margin-top:2px;font-size:11px}.cr-drawer-insight span{display:block;margin-top:2px;color:#7b8d86;font-size:10px}.cr-drawer-insight-actions{display:flex;gap:6px}
@media(max-width:1180px){.cr-workflow-item{padding:11px 9px}.cr-workflow-item small{display:none}.cr-overview-grid{grid-template-columns:1fr}.cr-process-list{grid-template-columns:repeat(5,1fr)}.cr-stage-layout{grid-template-columns:minmax(0,1fr) 270px}.cr-stage-footer{width:calc(100vw - 286px)}}
@media(max-width:900px){.cr-page-header{align-items:flex-start}.cr-header-state{display:none}.cr-workflow{grid-template-columns:repeat(3,1fr)}.cr-workflow-item:nth-child(3){border-right:0}.cr-workflow-item:nth-child(-n+3){border-bottom:1px solid #edf1f3}.cr-overview-grid,.cr-stage-layout{grid-template-columns:1fr}.cr-project-row-head{grid-template-columns:1fr;align-items:stretch}.cr-project-row-body-inner{padding-left:16px}.cr-stage-aside{grid-row:auto}.cr-sticky-card{position:static}.cr-process-list{grid-template-columns:repeat(2,1fr)}.cr-scope-grid{grid-template-columns:1fr}.cr-stage-footer{left:16px;right:16px;width:auto}.cr-search input{width:180px}}
@media(max-width:620px){.cr-page-header h1{font-size:23px}.cr-workflow{grid-template-columns:repeat(2,1fr)}.cr-workflow-item:nth-child(2n){border-right:0}.cr-workflow-item:nth-child(-n+4){border-bottom:1px solid #edf1f3}.cr-hero{min-height:0;padding:28px 22px}.cr-hero h2{font-size:25px}.cr-process-list,.cr-form-grid,.cr-depth-grid,.cr-risk-summary{grid-template-columns:1fr}.cr-metric-grid{grid-template-columns:repeat(3,1fr)}.cr-file-card{grid-template-columns:34px minmax(0,1fr) auto}.cr-file-card .cr-icon-button,.cr-file-card .cr-file-locked{grid-column:2/4;justify-self:start}.cr-risk-toolbar,.cr-analysis-action,.cr-inline-alert{align-items:stretch;flex-direction:column}.cr-risk-toolbar{display:grid}.cr-search{display:grid}.cr-search input{width:100%}.cr-filter-group{overflow:auto}.cr-risk-item{grid-template-columns:1fr}.cr-risk-index{display:none}.cr-stage-footer{bottom:8px}.cr-stage-footer>span{display:none}.cr-stage-footer>div{width:100%}.cr-stage-footer .cr-button{flex:1}}

/* 审核结果工作台：旧版定位已迁移至末尾统一苹果/谷歌现代规范模块 */

/* Quick intake: compact signals on the batch workbench and a confirm-first settings card. */
.cr-project-insight{display:grid;grid-template-columns:auto minmax(0,1fr);gap:3px 8px;align-items:center;padding:7px 8px;border:1px solid #dce8ea;border-radius:8px;background:#f8fbfb}.cr-project-insight>span{grid-row:1/3;padding:3px 6px;border-radius:999px;background:#eef2f3;color:#71818a;font-size:9px;font-weight:700}.cr-project-insight b,.cr-project-insight small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cr-project-insight b{font-size:10px;color:#45616b}.cr-project-insight small{color:#788991;font-size:9px}.cr-project-insight.is-ready{border-color:#c9dfd2;background:#f5faf7}.cr-project-insight.is-ready>span{background:#e4f3e9;color:#397459}.cr-project-insight.is-review{border-color:#eadcbf;background:#fffaf1}.cr-project-insight.is-review>span{background:#faefd9;color:#93601f}.cr-project-insight.is-failed>span{background:#fbe8e7;color:#ad4541}
.cr-quick-start{grid-column:2;justify-self:start;padding:0;border:0;background:transparent;color:#397b87;font-size:9px;font-weight:700;text-decoration:underline;text-underline-offset:2px}.cr-quick-start:hover{color:#245e69}.cr-quick-start:disabled{cursor:wait;opacity:.65}
.cr-fill-reminder-panel{margin:0 0 16px;padding:16px 18px;border:1px solid #e8d4b8;border-radius:12px;background:#fff9f0}.cr-fill-reminder-head h3{margin:4px 0 2px;font-size:15px;color:#6b4a1f}.cr-fill-reminder-head p{margin:0;font-size:11px;line-height:1.55;color:#8a7355}.cr-fill-reminder-list{margin:12px 0 0;padding:0 0 0 18px;color:#5c4020;font-size:12px;line-height:1.7}.cr-fill-reminder-list li{margin:2px 0}.cr-result-page>.cr-fill-reminder-panel{margin:0 20px 12px;border-radius:10px}
.cr-insight-panel{padding:20px;border-color:#c9dfd2;background:linear-gradient(125deg,#f4faf6,#f8fbfb)}.cr-insight-panel.is-pending{border-color:#e6d9b8;background:#fffaf1}.cr-insight-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.cr-insight-panel h3{margin:5px 0 3px;font-size:16px;color:#26403a}.cr-insight-panel p{margin:0;color:#6c7f79;font-size:11px;line-height:1.6}.cr-confidence{padding:5px 8px;border-radius:999px;background:#e2f0e7;color:#39755a;font-size:10px;font-weight:700;white-space:nowrap}.cr-insight-summary{display:grid;grid-template-columns:180px minmax(0,1fr);gap:14px;margin-top:16px;padding-top:14px;border-top:1px solid rgba(112,155,132,.18)}.cr-insight-summary>div{display:grid;gap:4px}.cr-insight-summary small{color:#7a8d86;font-size:9px}.cr-insight-summary b{overflow:hidden;color:#3c534c;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.cr-insight-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:15px}.cr-insight-actions>span{color:#70827c;font-size:10px}@media(max-width:620px){.cr-insight-summary{grid-template-columns:1fr}.cr-insight-panel-head{align-items:stretch;flex-direction:column}.cr-confidence{align-self:flex-start}}

/* ===== Task Scheme Settings: Apple & Google Redesign (秋波蓝品牌视觉) ===== */
.cr-task-scheme-layout{display:block;width:100%;padding:4px 0 64px}
.cr-task-scheme-container{max-width:880px;margin:0 auto}
.cr-scheme-header{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:22px}
.cr-scheme-kicker{display:inline-block;color:#5a94a8;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px}
.cr-scheme-title{margin:0 0 6px;font-size:26px;font-weight:700;color:#1A3540;letter-spacing:-.02em;line-height:1.25}
.cr-scheme-subtitle{margin:0;color:#4a5c66;font-size:13px;line-height:1.6}
.cr-scheme-header-btns{display:flex;align-items:center;gap:12px;flex-shrink:0}
.cr-scheme-message-label{font-size:13px;font-weight:600;white-space:nowrap}
.cr-scheme-primary-btn{background:#8ABCD1!important;color:#1A3540!important;border:1px solid #7ab5be!important;font-weight:700!important;box-shadow:0 4px 14px rgba(90,148,168,.22)!important;transition:all .16s ease!important;padding:0 20px!important;min-height:38px!important;border-radius:10px!important}
.cr-scheme-primary-btn:hover:not(:disabled){background:linear-gradient(135deg,#8abcd1 0%,#7ab5be 100%)!important;box-shadow:0 6px 18px rgba(90,148,168,.3)!important;transform:translateY(-1px)!important}

.cr-task-scheme-panel{background:#ffffff;border:1px solid #dde7ea;border-radius:18px;box-shadow:0 4px 24px -2px rgba(26,53,64,.05),0 1px 3px rgba(26,53,64,.03);overflow:hidden;padding:0!important}
.cr-task-scheme-panel .cr-settings-panel-body{padding:28px 32px 32px;display:flex;flex-direction:column;gap:32px}

.cr-scheme-group{display:flex;flex-direction:column;gap:16px;padding-bottom:28px;border-bottom:1px solid #edf2f4}
.cr-scheme-group:last-of-type{border-bottom:0;padding-bottom:0}
.cr-scheme-group-header{display:flex;align-items:flex-start;gap:14px}
.cr-scheme-group-tag{display:grid;place-items:center;width:26px;height:26px;border-radius:8px;background:#edf5f7;color:#5a94a8;font-size:11px;font-weight:700;flex-shrink:0;margin-top:1px}
.cr-scheme-group-title{margin:0;font-size:16px;font-weight:700;color:#1A3540;line-height:1.35}
.cr-scheme-group-desc{margin:3px 0 0;color:#5b6e78;font-size:12px;line-height:1.5}

.cr-scheme-positions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.cr-scheme-position-card{position:relative;display:flex;align-items:center;gap:14px;padding:16px 18px;border:1.5px solid #dde5e8;border-radius:14px;background:#ffffff;cursor:pointer;user-select:none;transition:all .16s ease}
.cr-scheme-position-card input{position:absolute;opacity:0;pointer-events:none}
.cr-scheme-position-card:hover{border-color:#9ac2cc;background:#fbfdfd}
.cr-scheme-position-card.is-active{border-color:#5a94a8;background:linear-gradient(135deg,#f3f8fa 0%,#ffffff 100%);box-shadow:0 0 0 3px rgba(90,148,168,.14),0 4px 12px rgba(26,53,64,.04)}
.cr-scheme-card-icon-box{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#f0f6f8;color:#5a94a8;flex-shrink:0;transition:all .16s ease}
.cr-scheme-position-card.is-active .cr-scheme-card-icon-box{background:#e8f4f7;color:#1A3540;box-shadow:inset 0 0 0 1px rgba(90,148,168,.2)}
.cr-scheme-icon{width:22px;height:22px}
.cr-scheme-card-info{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}
.cr-scheme-badge{display:inline-flex;align-items:center;width:fit-content;padding:2px 7px;border-radius:6px;background:#eaf4f6;color:#377180;font-size:11px;font-weight:600}
.cr-scheme-badge.is-personal{background:#f5f0eb;color:#7a5433}
.cr-scheme-entity-name{font-size:14px;font-weight:700;color:#1A3540;line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cr-scheme-check-circle{width:18px;height:18px;border-radius:50%;border:1.5px solid #c8d7dc;display:grid;place-items:center;flex-shrink:0;transition:all .16s ease}
.cr-scheme-position-card.is-active .cr-scheme-check-circle{border-color:#5a94a8;background:#5a94a8}
.cr-scheme-position-card.is-active .cr-scheme-check-circle::after{content:"";width:6px;height:6px;border-radius:50%;background:#ffffff}

.cr-scheme-select-wrapper{position:relative;max-width:420px}
.cr-scheme-select-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);width:18px;height:18px;color:#738792;pointer-events:none}
.cr-scheme-select-control{width:100%;height:44px;padding:0 36px 0 42px;border:1.5px solid #dde5e8;border-radius:12px;background-color:#ffffff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%235a94a8' stroke-width='2'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:16px;appearance:none;-webkit-appearance:none;font-size:14px;font-weight:600;color:#1A3540;transition:all .16s ease}
.cr-scheme-select-control:focus{border-color:#5a94a8;box-shadow:0 0 0 3px rgba(90,148,168,.16);outline:none}

.cr-scheme-rules-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:24px;align-items:start}
.cr-scheme-rule-block{display:flex;flex-direction:column;gap:10px}
.cr-scheme-rule-label{font-size:12px;font-weight:700;color:#4a5c66;letter-spacing:.02em}
.cr-scheme-scope-cards{display:flex;flex-direction:column;gap:8px}
.cr-scheme-scope-item{position:relative;display:flex;align-items:center;padding:8px 14px;border:1.5px solid #dde5e8;border-radius:12px;background:#ffffff;user-select:none;transition:all .16s ease;min-height:50px}
.cr-scheme-scope-checkbox{position:absolute;opacity:0;pointer-events:none;width:0;height:0;margin:0}
.cr-scheme-scope-item:hover{border-color:#9ac2cc;background:#fbfdfd}
.cr-scheme-scope-item.is-checked{border-color:#5a94a8;background:#f2f8fa;box-shadow:0 1px 4px rgba(26,53,64,.04)}
.cr-scheme-scope-trigger{display:flex;align-items:center;gap:10px;cursor:pointer;flex-shrink:0}
.cr-scheme-scope-icon-wrap{display:grid;place-items:center;width:32px;height:32px;border-radius:8px;background:#edf5f7;color:#5a94a8;flex-shrink:0;transition:all .14s ease}
.cr-scheme-scope-icon-wrap svg{width:16px;height:16px}
.cr-scheme-scope-item.is-checked .cr-scheme-scope-icon-wrap{background:#e8f4f7;color:#1A3540}
.cr-scheme-scope-text{display:flex;flex-direction:column;gap:1px;min-width:0;margin-right:8px}
.cr-scheme-scope-text strong{font-size:14px;font-weight:700;color:#1A3540;line-height:1.3;white-space:nowrap}
.cr-scheme-checkbox-square-wrap{display:flex;align-items:center;cursor:pointer;margin-left:8px}
.cr-scheme-checkbox-square{width:18px;height:18px;border-radius:5px;border:1.5px solid #c8d7dc;display:grid;place-items:center;flex-shrink:0;transition:all .16s ease;background:#ffffff}
.cr-scheme-scope-item.is-checked .cr-scheme-checkbox-square{border-color:#5a94a8;background:#5a94a8}
.cr-scheme-scope-item.is-checked .cr-scheme-checkbox-square::after{content:"";display:block;width:4.5px;height:8px;border-right:2px solid #ffffff;border-bottom:2px solid #ffffff;transform:rotate(45deg) translate(-0.5px,-1px)}

.cr-scope-annotation-style{display:flex;align-items:center;gap:8px;margin-left:auto;flex-shrink:0;position:relative}

/* 颜色选择器：精致小巧色标 + 行内可直接编辑 HEX 输入框 */
.cr-color-picker-widget{position:relative;display:inline-flex;align-items:center;gap:6px}
.cr-color-swatch-btn{width:22px;height:22px;border-radius:50%;border:2px solid #ffffff;box-shadow:0 0 0 1px rgba(26,53,64,0.18),0 1px 3px rgba(0,0,0,0.1);cursor:pointer;flex-shrink:0;padding:0;outline:none;transition:transform .14s ease,box-shadow .14s ease;display:block}
.cr-color-swatch-btn:hover{transform:scale(1.14);box-shadow:0 0 0 1.5px #5a94a8,0 2px 6px rgba(26,53,64,0.18)}
.cr-color-swatch-btn[aria-expanded="true"]{transform:scale(1.14);box-shadow:0 0 0 2px #5a94a8,0 2px 6px rgba(26,53,64,0.22)}

.cr-color-hex-box{display:inline-flex;align-items:center;width:78px;height:28px;background:#ffffff;border:1.5px solid #cce0e5;border-radius:6px;padding:0 6px;transition:all .14s ease;box-sizing:border-box}
.cr-color-hex-box:hover{border-color:#8abcd1;background:#fafdfd}
.cr-color-hex-box:focus-within{border-color:#5a94a8;box-shadow:0 0 0 2.5px rgba(90,148,168,0.2);background:#ffffff}
.cr-color-hex-prefix{font-size:12px;font-weight:700;color:#5a94a8;user-select:none;margin-right:2px;flex-shrink:0}
.cr-color-inline-input{display:block!important;width:54px!important;height:24px!important;line-height:24px!important;border:0!important;outline:none!important;padding:0!important;margin:0!important;background:transparent!important;font-size:12px!important;font-weight:700!important;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace!important;text-transform:uppercase!important;color:#1A3540!important;letter-spacing:.04em!important;opacity:1!important;pointer-events:auto!important;position:static!important}

/* 预设调色盘气泡菜单 */
.cr-color-popover-menu{position:absolute;left:0;top:calc(100% + 6px);z-index:100;min-width:150px;background:#ffffff;border:1px solid #d5e4e8;border-radius:12px;box-shadow:0 12px 30px rgba(26,53,64,0.16),0 2px 6px rgba(26,53,64,0.06);padding:8px;animation:crFadeIn .14s ease-out}
.cr-color-popover-title{font-size:11px;font-weight:700;color:#5a94a8;margin-bottom:6px;padding:0 4px}
.cr-color-preset-grid{display:flex;flex-direction:column;gap:2px}
.cr-color-preset-pill{display:flex;align-items:center;gap:8px;width:100%;height:28px;padding:0 8px;border:0;border-radius:6px;background:transparent;font-size:12px;font-weight:600;color:#1A3540;cursor:pointer;text-align:left;transition:background .12s ease}
.cr-color-preset-pill:hover{background:#f0f6f8;color:#377180}
.cr-color-preset-pill.is-selected{background:#edf6f8;color:#235562;font-weight:700}
.cr-color-preset-pill.is-selected::after{content:"✓";margin-left:auto;font-size:12px;font-weight:800;color:#5a94a8}
.cr-color-dot{width:13px;height:13px;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(0,0,0,0.1);flex-shrink:0}
.cr-color-dot.is-white{border:1px solid #cbd5e1}
.cr-color-item-name{flex:1;min-width:0}

/* 批注字体选择器 */
.cr-scope-style-font{height:28px;min-width:76px;padding:0 6px;border:1.5px solid #cce0e5;border-radius:6px;font-size:12px;font-weight:600;color:#1A3540;background:#ffffff;outline:none;cursor:pointer;transition:all .14s ease}
.cr-scope-style-font:hover{border-color:#9abec8}
.cr-scope-style-font:focus{border-color:#5a94a8;box-shadow:0 0 0 2.5px rgba(90,148,168,0.18)}

.cr-scheme-reviewer-field{display:flex;flex-direction:column;gap:8px;margin-top:4px;max-width:420px}
.cr-scheme-reviewer-input{height:42px;border:1.5px solid #dde5e8;border-radius:12px;padding:0 14px;font-size:14px;font-weight:600;color:#1A3540}
.cr-scheme-reviewer-input:focus{border-color:#5a94a8;box-shadow:0 0 0 3px rgba(90,148,168,.16);outline:none}
.cr-compliance-folder-path{display:flex;align-items:center;gap:8px;margin-top:8px;flex-wrap:wrap}
.cr-compliance-folder-path-label{flex:1;min-width:0;font-size:11px;color:#5d717a;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* 任务方案：双栏设置工作区（五色品牌体系） */
.cr-task-scheme-layout{
  --scheme-blue:#8ABCD1;
  --scheme-blue-deep:#5A94A8;
  --scheme-gold:#E9AD5F;
  --scheme-brown:#593A28;
  --scheme-rouge:#C7A59C;
  --scheme-red:#8A2524;
  --scheme-ink:#1F2A30;
  --scheme-muted:#647580;
  --scheme-line:#DCE5E9;
  width:100%;padding:18px 0 64px;color:var(--scheme-ink)
}
.cr-task-scheme-container{width:min(100%,1540px);max-width:none;margin:0 auto}
.cr-scheme-header{align-items:center;margin:0 0 16px;padding:0 2px}
.cr-scheme-title{margin:0;color:#172B36;font-size:32px;font-weight:720;letter-spacing:-.035em;line-height:1.15}
.cr-scheme-card-info{min-width:0;flex:1}
.cr-scheme-entity-sub{display:block;margin-top:2px;color:#6a7b84;font-size:12px;font-weight:500;line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cr-scheme-custom-position,.cr-settings-custom{display:none;align-items:center;gap:8px;margin-top:12px}
.cr-scheme-custom-position.is-open,.cr-settings-custom.is-open{display:flex}
.cr-scheme-custom-position .cr-settings-custom-input,.cr-settings-custom-input{flex:1;min-width:0}
.cr-scheme-header-btns{align-self:flex-start}
.cr-scheme-primary-btn{min-height:44px!important;padding:0 22px!important;border:1px solid var(--scheme-blue-deep)!important;border-radius:9px!important;background:var(--scheme-blue)!important;color:#17343F!important;box-shadow:none!important;font-size:14px!important}
.cr-scheme-primary-btn:hover:not(:disabled){background:#7FB2C5!important;box-shadow:none!important;transform:none!important}
.cr-scheme-primary-btn:focus-visible{outline:3px solid rgba(199,165,156,.32);outline-offset:2px}
.cr-scheme-message-label{font-size:13px}

.cr-scheme-columns{display:grid!important;grid-template-columns:minmax(420px,.82fr) minmax(620px,1.38fr);gap:18px!important;align-items:stretch;padding:0!important}
.cr-task-scheme-panel{min-width:0;padding:0!important;border:1px solid var(--scheme-line)!important;border-radius:10px!important;background:#fff!important;box-shadow:none!important;overflow:visible}
.cr-scheme-basic-panel,.cr-scheme-review-panel{display:flex;flex-direction:column}
.cr-scheme-basic-panel>.cr-scheme-section:first-child{min-height:372px}
.cr-scheme-section{padding:26px 28px}
.cr-scheme-section+.cr-scheme-section{border-top:1px solid #E5EBEE}
.cr-scheme-section-title{margin:0 0 24px;padding-bottom:14px;border-bottom:1px solid var(--scheme-line);color:#172B36;font-size:18px;font-weight:720;letter-spacing:-.01em}
.cr-scheme-field-stack{display:grid;gap:10px}
.cr-scheme-rule-label{color:#30444F;font-size:14px;font-weight:650;letter-spacing:0}

.cr-scheme-positions{grid-template-columns:minmax(0,1.25fr) minmax(160px,.75fr);gap:10px}
.cr-scheme-position-card{min-height:66px;gap:12px;padding:12px 14px;border:1px solid #D7E1E5;border-radius:9px;box-shadow:none}
.cr-scheme-position-card:hover{border-color:#9CBFC8;background:#F9FCFC}
.cr-scheme-position-card.is-active{border-color:var(--scheme-blue-deep);background:#F1F8FA;box-shadow:inset 0 0 0 1px rgba(90,148,168,.08)}
.cr-scheme-card-icon-box{width:36px;height:36px;border-radius:8px;background:#F0F6F8;color:var(--scheme-blue-deep)}
.cr-scheme-icon{width:19px;height:19px}
.cr-scheme-entity-name{display:-webkit-box;overflow:hidden;color:#20343E;font-size:14px;font-weight:650;line-height:1.35;white-space:normal;text-overflow:ellipsis;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.cr-scheme-check-circle{width:17px;height:17px}
.cr-scheme-position-card.is-active .cr-scheme-check-circle{border-color:var(--scheme-blue-deep);background:var(--scheme-blue-deep)}
.cr-scheme-reviewer-field{max-width:none;margin-top:24px;gap:9px}
.cr-scheme-reviewer-input{height:44px;border:1px solid #D7E1E5;border-radius:8px;padding:0 14px;color:var(--scheme-ink);font-size:15px;font-weight:500}
.cr-scheme-reviewer-input:focus{border-color:var(--scheme-blue-deep);box-shadow:0 0 0 3px rgba(138,188,209,.22)}

.cr-scheme-contract-section{flex:1;margin-top:0}
.cr-scheme-select-wrapper{max-width:none}
.cr-scheme-select-control{height:48px;padding:0 40px 0 15px;border:1px solid #D7E1E5;border-radius:8px;background-color:#fff;font-size:15px;font-weight:550;color:var(--scheme-ink)}
.cr-scheme-select-control:focus{border-color:var(--scheme-blue-deep);box-shadow:0 0 0 3px rgba(138,188,209,.22)}
.cr-scheme-specialty-note{margin-top:4px;padding:8px 10px;border-left:3px solid var(--scheme-gold);background:#FFFAF1;color:var(--scheme-brown);font-size:12px}

.cr-scheme-review-panel .cr-scheme-section:first-child{flex:0 0 auto}
.cr-scheme-rules-grid{grid-template-columns:minmax(420px,1.45fr) minmax(260px,.85fr);gap:30px}
.cr-scheme-rule-block{gap:12px}
.cr-scheme-depth-block{padding-left:30px;border-left:1px solid var(--scheme-line)}
.cr-scheme-scope-cards{gap:8px}
.cr-scheme-scope-item{min-height:52px;padding:7px 10px;border:1px solid #D7E1E5;border-radius:8px;background:#fff;box-shadow:none}
.cr-scheme-scope-item:hover{border-color:#A9C7CF;background:#FAFCFD}
.cr-scheme-scope-item.is-checked{border-color:#A5C9D3;background:#F4F9FA;box-shadow:none}
.cr-scheme-scope-icon-wrap{width:32px;height:32px;margin-right:9px;border-radius:7px;background:#EDF5F7;color:#315D69}
.cr-scheme-scope-name{min-width:82px;color:#20343E;font-size:14px;font-weight:650;white-space:nowrap}
.cr-scope-annotation-style{gap:7px;margin-left:auto}
.cr-color-swatch-btn{width:20px;height:20px}
.cr-color-hex-box{width:76px;height:30px;border:1px solid #CCDCE1;border-radius:6px}
.cr-scope-style-font{height:30px;min-width:82px;border:1px solid #CCDCE1;border-radius:6px;font-size:13px}
.cr-scheme-checkbox-square-wrap{margin-left:6px}
.cr-scheme-checkbox-square{width:18px;height:18px;border-radius:5px}
.cr-scheme-scope-item.is-checked .cr-scheme-checkbox-square{border-color:var(--scheme-blue-deep);background:var(--scheme-blue-deep)}
.cr-scheme-segmented-control{display:grid;grid-template-columns:1fr 1fr;width:100%;height:44px;padding:3px;border:1px solid #D7E1E5;border-radius:8px;background:#F2F6F7}
.cr-scheme-segmented-control .cr-settings-segment{min-width:0;border:0;border-radius:6px;background:transparent;color:#60737E;font-size:14px}
.cr-scheme-segmented-control .cr-settings-segment.is-active{background:#fff;color:#17343F;box-shadow:0 1px 3px rgba(31,42,48,.09),inset 0 0 0 1px var(--scheme-blue)}

.cr-scheme-compliance-section{margin-top:auto}
.cr-scheme-compliance-box{display:block!important;margin:0;padding:0;border:0!important;border-radius:0;background:transparent!important;box-shadow:none!important}
.cr-scheme-compliance-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:16px;padding-bottom:14px;border-bottom:1px solid var(--scheme-line)}
.cr-scheme-compliance-title{margin:0;color:#172B36;font-size:18px;font-weight:720}
.cr-compliance-library-actions{gap:8px}
.cr-scheme-btn-sm{height:38px!important;padding:0 14px!important;border-radius:8px!important;font-size:13px!important}
.cr-scheme-compliance-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.cr-scheme-compliance-opt{min-height:94px;padding:14px;border:1px solid #D7E1E5;border-radius:9px;background:#fff;box-shadow:none}
.cr-scheme-compliance-opt:hover{border-color:#A9C7CF;background:#FAFCFD}
.cr-scheme-compliance-opt.is-active{border-color:var(--scheme-blue-deep);background:#F1F8FA;box-shadow:inset 0 0 0 1px rgba(90,148,168,.08)}
.cr-scheme-comp-icon{width:36px;height:36px;border-radius:8px;background:#EDF5F7;color:var(--scheme-blue-deep)}
.cr-scheme-comp-details b{color:#20343E;font-size:14px}
.cr-scheme-comp-details small{margin-top:3px;color:var(--scheme-muted);font-size:12px}
.cr-scheme-radio-ring{width:17px;height:17px}
.cr-scheme-compliance-opt.is-active .cr-scheme-radio-ring{border-color:var(--scheme-blue-deep);background:var(--scheme-blue-deep)}
.cr-compliance-folder-path{margin-top:8px;gap:7px}
.cr-compliance-folder-path-label{font-size:12px}

@media(max-width:1180px){
  .cr-scheme-columns{grid-template-columns:1fr!important}
  .cr-scheme-contract-section{margin-top:0}
  .cr-scheme-basic-panel>.cr-scheme-section:first-child{min-height:0}
  .cr-task-scheme-container{width:min(100%,920px)}
}
@media(max-width:720px){
  .cr-task-scheme-layout{padding-top:8px}
  .cr-scheme-header{align-items:flex-start}
  .cr-scheme-title{font-size:26px}
  .cr-scheme-section{padding:22px 18px}
  .cr-scheme-positions,.cr-scheme-rules-grid,.cr-scheme-compliance-options{grid-template-columns:1fr}
  .cr-scheme-depth-block{padding:18px 0 0;border-top:1px solid var(--scheme-line);border-left:0}
  .cr-scheme-scope-item{flex-wrap:wrap}
  .cr-scope-annotation-style{order:3;width:calc(100% - 42px);margin:6px 0 0 41px}
  .cr-scheme-checkbox-square-wrap{margin-left:auto}
  .cr-scheme-compliance-head{align-items:flex-start;flex-direction:column}
}

/* 合规管理制度文件夹选择弹窗 (秋波蓝品牌视觉体系 + 高度细腻现代设计) */
.cr-folder-modal-overlay{position:fixed;inset:0;z-index:1200;display:grid;place-items:center;background:rgba(20,35,43,.36);backdrop-filter:blur(10px);padding:24px;animation:crFadeIn .18s ease-out}
.cr-folder-modal-card{width:min(560px,94vw);max-height:min(76vh,560px);display:flex;flex-direction:column;background:#fff;border:1px solid #e2eaed;border-radius:20px;box-shadow:0 24px 72px rgba(20,35,43,.22);overflow:hidden;animation:crScaleUp .2s cubic-bezier(.16,1,.3,1)}
.cr-folder-modal-header{display:flex;align-items:center;justify-content:space-between;padding:18px 20px 16px;background:#fff;color:#18333d;border-bottom:1px solid #edf2f3}
.cr-folder-modal-header-text{display:flex;align-items:center;gap:10px}
.cr-folder-modal-header-icon{width:30px;height:30px;border-radius:9px;background:#eaf6f8;color:#367c8d;display:grid;place-items:center;flex-shrink:0}
.cr-folder-modal-header-icon svg{width:20px;height:20px}
.cr-folder-modal-title{margin:0;font-size:16px;font-weight:700;color:#18333d;letter-spacing:-.02em}
.cr-folder-scope-pill{display:inline-flex;align-items:center;padding:3px 8px;border-radius:999px;background:#f2f6f7;color:#64808a;font-size:11px;font-weight:600;border:1px solid #e1ebed}
.cr-folder-modal-close{width:32px;height:32px;border:0;border-radius:50%;background:#f3f6f7;color:#68818a;cursor:pointer;display:grid;place-items:center;transition:all .14s ease}
.cr-folder-modal-close:hover{background:#e7f0f2;color:#18333d;transform:none}
.cr-folder-modal-close svg{width:15px;height:15px}

.cr-folder-modal-nav{display:flex;align-items:center;gap:8px;padding:8px 16px;min-height:42px;background:#f2f8fa;border-bottom:1px solid #dde9ec}
.cr-folder-modal-back{width:28px;height:28px;border:1px solid #c7dfe5;border-radius:6px;background:#ffffff;color:#5a94a8;cursor:pointer;display:grid;place-items:center;flex-shrink:0;transition:all .14s ease}
.cr-folder-modal-back:hover{background:#e4f2f5;border-color:#5a94a8;color:#1A3540}
.cr-folder-modal-back svg{width:15px;height:15px}
.cr-folder-modal-breadcrumbs{display:flex;align-items:center;gap:4px;flex:1;min-width:0;overflow-x:auto;scrollbar-width:none}
.cr-folder-crumb{display:inline-flex;align-items:center;gap:4px;border:1px solid #cde0e5;background:#ffffff;padding:3px 8px;border-radius:6px;font-size:12px;font-weight:600;color:#377180;cursor:pointer;white-space:nowrap;transition:all .14s ease}
.cr-folder-crumb:hover{background:#eaf4f7;border-color:#5a94a8}
.cr-folder-crumb.is-current{background:#e0f0f4;border-color:#8abcd1;color:#1A3540;font-weight:700;cursor:default}
.cr-crumb-icon{font-size:12px}
.cr-folder-crumb-sep{color:#879fa8;font-size:12px;font-weight:700;margin:0 1px}

.cr-folder-modal-body{flex:1;overflow-y:auto;min-height:220px;max-height:340px;background:#fff;padding:14px 16px}
.cr-folder-modal-list{display:flex;flex-direction:column;gap:8px}
.cr-folder-return{align-self:flex-start;border:0;background:transparent;color:#4a8291;font:inherit;font-size:12px;font-weight:600;padding:2px 2px 8px;cursor:pointer}
.cr-folder-return:hover{color:#18333d;text-decoration:underline}
.cr-folder-row{display:flex;align-items:center;gap:12px;width:100%;padding:11px 12px;border:1px solid #e8eff1;border-radius:12px;background:#fff;text-align:left;cursor:pointer;transition:border-color .14s ease,background .14s ease;position:relative}
.cr-folder-row:hover{border-color:#9ac7d1;background:#fbfefe}
.cr-folder-row.is-selected{border-color:#5b9bac;background:#eff8fa;box-shadow:inset 0 0 0 1px rgba(91,155,172,.08)}
.cr-folder-row-icon{width:34px;height:34px;border-radius:8px;background:#edf6f8;color:#5a94a8;display:grid;place-items:center;flex-shrink:0;transition:all .14s ease}
.cr-folder-row-icon svg{width:18px;height:18px}
.cr-folder-row.is-selected .cr-folder-row-icon{background:#e8f4f7;color:#1A3540;box-shadow:inset 0 0 0 1px rgba(90,148,168,.22)}
.cr-folder-row-info{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}
.cr-folder-row-name{font-size:13.5px;font-weight:700;color:#1A3540;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cr-folder-row-sub{font-size:11px;color:#768f99;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cr-folder-row-enter{display:inline-flex;align-items:center;gap:3px;height:26px;padding:0 8px;border-radius:6px;background:#edf5f7;color:#377180;font-size:11.5px;font-weight:600;cursor:pointer;flex-shrink:0;border:1px solid #c8dfe5;transition:all .14s ease}
.cr-folder-row-enter:hover{background:#d7ebf0;color:#1A3540;border-color:#8abcd1}
.cr-folder-row-enter svg{width:13px;height:13px}
.cr-folder-row-radio{width:18px;height:18px;border-radius:50%;border:1.5px solid #bdced3;flex-shrink:0;display:grid;place-items:center;transition:all .14s ease;background:#ffffff}
.cr-folder-row-radio.is-checked{border-color:#5a94a8;background:#5a94a8}
.cr-folder-row-radio.is-checked .cr-radio-inner{width:6px;height:6px;border-radius:50%;background:#ffffff;display:block}

.cr-folder-empty{padding:40px 20px;text-align:center;color:#738792}
.cr-folder-empty p{margin:0 0 4px;font-size:13.5px;font-weight:600;color:#1A3540}
.cr-folder-empty span{font-size:11.5px}

.cr-folder-modal-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;border-top:1px solid #edf2f3;background:#fff}
.cr-folder-modal-current{display:flex;align-items:center;gap:6px;min-width:0;flex:1}
.cr-folder-modal-current-lbl{font-size:12px;font-weight:600;color:#6e8690;flex-shrink:0}
.cr-folder-modal-current-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 9px;border-radius:6px;background:#eaf4f7;border:1px solid #c2dfe6;font-size:12px;font-weight:700;color:#235562;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:230px}
.cr-folder-chip-icon{font-size:12px}
.cr-folder-chip-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cr-folder-modal-footer-btns{display:flex;align-items:center;gap:10px;flex-shrink:0}
.cr-folder-btn-cancel{height:34px;padding:0 14px;border:1.5px solid #d0e0e5;border-radius:8px;background:#ffffff;font-size:12.5px;font-weight:600;color:#58717d;cursor:pointer;transition:all .14s ease}
.cr-folder-btn-cancel:hover{background:#f1f7f9;border-color:#b5ced5;color:#1A3540}
.cr-folder-btn-confirm{height:36px;padding:0 17px;border:1px solid #7ab5be;border-radius:9px;background:#8ABCD1;color:#1A3540;font-size:12.5px;font-weight:700;cursor:pointer;box-shadow:0 2px 8px rgba(90,148,168,.2);transition:all .14s ease}
.cr-folder-btn-confirm:hover{background:linear-gradient(180deg,#8abcd1,#7ab5be);box-shadow:0 4px 12px rgba(90,148,168,.28);transform:translateY(-1px)}

/* ==========================================================================
   合规制度选择弹窗：现代操作系统级资源管理器 (Apple & Google 水准 + 五色规范)
   秋波蓝 #8ABCD1 / 黄琉璃 #E9AD5F / 麝香褐 #593A28 / 肉红 #C7A59C / 椒红 #8A2524
   ========================================================================== */
.cr-compliance-policy-modal-card{
  width:min(980px,96vw);
  height:min(86vh,720px);
  max-height:min(86vh,720px);
  display:flex;
  flex-direction:column;
  border-radius:18px;
  border:1px solid #dce7eb;
  background:#ffffff;
  box-shadow:0 24px 64px -12px rgba(26,53,64,0.18),0 8px 24px -4px rgba(26,53,64,0.08);
  border-top:3px solid #593A28; /* 麝香褐顶部精致镶边 */
  overflow:hidden;
}
.cr-compliance-policy-modal-card .cr-folder-modal-header{
  flex:0 0 auto;
  border-bottom:1px solid #e3edf0;
  background:linear-gradient(180deg,#ffffff 0%,#f9fbfc 100%);
}
.cr-compliance-policy-explorer{
  display:grid;
  grid-template-columns:270px 1fr;
  flex:1 1 0;
  min-height:0;
  height:0; /* 强制网格容器遵循父级高度分配，激活内部各区域 overflow-y 滚动 */
  border-top:1px solid #e5eff2;
  border-bottom:1px solid #e5eff2;
  background:#f9fbfc;
}
.cr-compliance-policy-explorer-tree-wrap{
  display:flex;
  flex-direction:column;
  min-width:0;
  height:100%;
  min-height:0;
  border-right:1px solid #e3edf0;
  background:#f4f8fa;
}
.cr-compliance-policy-explorer-tree{
  flex:1 1 0;
  min-height:0;
  height:0;
  overflow-y:auto;
  overflow-x:hidden;
  padding:10px 8px;
}
.cr-compliance-policy-explorer-main{
  display:flex;
  flex-direction:column;
  min-width:0;
  height:100%;
  min-height:0;
  background:#ffffff;
}
.cr-compliance-policy-explorer-toolbar{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  gap:12px;
  height:44px;
  padding:0 18px;
  background:#fafcfd;
  border-bottom:1px solid #e8f0f3;
}
.cr-compliance-policy-explorer-path{
  font-size:12.5px;
  font-weight:600;
  color:#1A3540;
  line-height:1.4;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  display:flex;
  align-items:center;
  gap:6px;
}
.cr-compliance-policy-explorer-files-head{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  gap:10px;
  height:34px;
  padding:0 16px;
  background:#f6fafb;
  border-bottom:1px solid #e9f1f3;
  font-size:11.5px;
  font-weight:700;
  color:#6b828c;
  letter-spacing:.02em;
}
.cr-explorer-col-check{
  width:20px;
  flex-shrink:0;
}
.cr-explorer-col-name{
  flex:1;
  min-width:0;
}
.cr-compliance-policy-explorer-files{
  flex:1 1 0;
  min-height:0;
  height:0;
  overflow-y:auto;
  overflow-x:hidden;
  padding:4px 0;
}

/* ── 文件夹树节点（精准层级对齐与平滑视觉） ── */
.cr-explorer-tree-node{
  display:flex;
  flex-direction:column;
}
.cr-explorer-tree-row{
  display:flex;
  align-items:center;
  gap:2px;
  width:100%;
  height:32px;
  border-radius:7px;
  padding-left:calc(4px + var(--tree-depth,0) * 16px);
  padding-right:6px;
  box-sizing:border-box;
  transition:background .12s cubic-bezier(.2,0,0,1);
}
.cr-explorer-tree-row:hover{
  background:rgba(138,188,209,0.14);
}
.cr-explorer-tree-row.is-selected{
  background:rgba(138,188,209,0.26);
  border-left:3px solid #8ABCD1; /* 秋波蓝高亮指示条 */
}
.cr-explorer-tree-toggle,.cr-explorer-tree-spacer{
  width:18px;
  height:18px;
  flex-shrink:0;
  display:grid;
  place-items:center;
}
.cr-explorer-tree-toggle{
  border:0;
  border-radius:4px;
  background:transparent;
  color:#668694;
  cursor:pointer;
  padding:0;
  display:grid;
  place-items:center;
  transition:transform .16s ease,color .14s ease,background .12s ease;
}
.cr-explorer-tree-toggle:hover{
  background:rgba(90,148,168,0.15);
  color:#1A3540;
}
.cr-explorer-tree-toggle.is-expanded svg{
  transform:rotate(90deg);
}
.cr-explorer-tree-toggle svg{
  transition:transform .15s ease;
}
.cr-explorer-tree-item{
  display:flex;
  align-items:center;
  gap:7px;
  flex:1;
  min-width:0;
  height:100%;
  border:0;
  background:transparent;
  padding:0 4px;
  font:inherit;
  text-align:left;
  cursor:pointer;
  color:#1A3540;
}
.cr-explorer-tree-icon{
  width:18px;
  height:18px;
  display:grid;
  place-items:center;
  flex-shrink:0;
}
.cr-folder-icon-img{
  width:18px;
  height:18px;
  object-fit:contain;
  display:block;
}
.cr-explorer-tree-name{
  flex:1;
  min-width:0;
  font-size:12.5px;
  font-weight:500;
  color:#1A3540;
  line-height:1.2;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.cr-explorer-tree-row.is-selected .cr-explorer-tree-name{
  font-weight:700;
  color:#1A3540;
}
.cr-explorer-tree-badge{
  flex-shrink:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:18px;
  height:18px;
  padding:0 5px;
  border-radius:999px;
  background:#8ABCD1; /* 秋波蓝主色 */
  color:#1A3540; /* 墨底字 */
  font-size:11px;
  font-weight:700;
  line-height:1;
  box-shadow:0 1px 3px rgba(26,53,64,0.12);
  margin-left:auto;
}

/* ── 右侧展示的子文件夹行（对齐 Windows Explorer） ── */
.cr-explorer-folder-row{
  display:flex;
  align-items:center;
  gap:10px;
  height:38px;
  padding:0 16px;
  box-sizing:border-box;
  cursor:pointer;
  border-bottom:1px solid #f2f7f9;
  background:#ffffff;
  transition:background .12s ease;
}
.cr-explorer-folder-row:hover{
  background:rgba(233,173,95,0.09); /* 黄琉璃微柔辅色底 */
}
.cr-explorer-folder-name{
  flex:1;
  min-width:0;
  font-size:13px;
  font-weight:600;
  color:#1A3540;
  line-height:1.4;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.cr-explorer-folder-tag{
  font-size:11px;
  font-weight:600;
  color:#593A28; /* 麝香褐文字 */
  background:rgba(233,173,95,0.2); /* 黄琉璃柔底 */
  border:1px solid rgba(233,173,95,0.45);
  padding:1px 7px;
  border-radius:4px;
}

/* ── 文件列表项（精致现代表格行） ── */
.cr-explorer-file-row{
  display:flex;
  align-items:center;
  gap:10px;
  height:38px;
  padding:0 16px;
  box-sizing:border-box;
  cursor:pointer;
  border-bottom:1px solid #f2f7f9;
  transition:background .12s ease;
}
.cr-explorer-file-row:hover{
  background:#f4f9fb;
}
.cr-explorer-file-row.is-checked{
  background:#edf6f8;
  border-left:3px solid #8ABCD1; /* 秋波蓝勾选指示条 */
}
.cr-explorer-file-check{
  width:20px;
  display:grid;
  place-items:center;
  flex-shrink:0;
}
.cr-explorer-file-row input[type=checkbox]{
  width:15px;
  height:15px;
  margin:0;
  accent-color:#5A94A8;
  cursor:pointer;
  border-radius:4px;
}
.cr-explorer-file-icon{
  width:20px;
  height:20px;
  display:grid;
  place-items:center;
  flex-shrink:0;
}
.cr-explorer-file-icon img{
  width:18px;
  height:18px;
  object-fit:contain;
}
.cr-explorer-file-name{
  flex:1;
  min-width:0;
  font-size:13px;
  font-weight:500;
  color:#1A3540;
  line-height:1.4;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.cr-explorer-file-row.is-checked .cr-explorer-file-name{
  color:#1A3540;
  font-weight:600;
}

/* ── 底部栏与按钮的系统五色搭配 ── */
.cr-compliance-policy-modal-card .cr-folder-modal-footer{
  flex-shrink:0;
  background:#ffffff;
  border-top:1px solid #e3edf0;
}
.cr-compliance-policy-modal-card .cr-folder-modal-current-chip{
  background:#edf6f8;
  border:1px solid #8ABCD1; /* 秋波蓝边框 */
  color:#1A3540;
}
.cr-compliance-policy-modal-card .cr-folder-btn-confirm{
  background:#8ABCD1; /* 秋波蓝主色 */
  color:#1A3540;
  border:1px solid #7ab5be;
  box-shadow:0 2px 8px rgba(138,188,209,0.35);
}
.cr-compliance-policy-modal-card .cr-folder-btn-confirm:hover{
  background:linear-gradient(180deg,#8ABCD1,#7ab5be);
  box-shadow:0 4px 12px rgba(90,148,168,0.28);
}
.cr-compliance-policy-modal-card .cr-folder-scope-pill{
  background:rgba(199,165,156,0.18); /* 肉红柔底 */
  color:#593A28; /* 麝香褐深字 */
  border:1px solid rgba(199,165,156,0.5);
}

.cr-compliance-policy-empty{
  padding:48px 20px;
  text-align:center;
  color:#738c97;
  font-size:13px;
  line-height:1.6;
}

@media (max-width:720px){
  .cr-compliance-policy-modal-card{width:96vw;height:88vh}
  .cr-compliance-policy-explorer{grid-template-columns:1fr;grid-template-rows:200px 1fr}
  .cr-compliance-policy-explorer-tree-wrap{border-right:0;border-bottom:1px solid #e3edf0}
}

.cr-settings-scope-item .cr-scope-annotation-style{margin-left:10px}

@keyframes crScaleUp{from{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}
@keyframes crFadeIn{from{opacity:0}to{opacity:1}}

.cr-scheme-depth-switch{display:flex;flex-direction:column;gap:12px}
.cr-scheme-specialty-note{display:flex;align-items:center;gap:10px;margin-top:10px;padding:9px 12px;border:1px solid #d8e9ed;border-radius:9px;background:#f3fafb;color:#55717b;font-size:11px;line-height:1.5}
.cr-scheme-specialty-note[hidden]{display:none!important}
.cr-scheme-specialty-note strong{color:#2e7180;font-size:11px}
.cr-scheme-specialty-note span{color:#718991}
.cr-scheme-segmented-control{width:100%!important;max-width:100%!important;background:#edf3f5!important;border:1px solid #dce6e9!important;border-radius:10px!important;padding:4px!important;display:grid!important;grid-template-columns:1fr 1fr;gap:4px}
.cr-scheme-segmented-control .cr-settings-segment{min-width:0!important;border-radius:7px!important}
.cr-scheme-segmented-control .cr-settings-segment span{font-size:13.5px!important;font-weight:600!important;padding:7px 0!important;color:#556770}
.cr-scheme-segmented-control .cr-settings-segment.is-active span{background:#ffffff!important;color:#1A3540!important;box-shadow:0 2px 6px rgba(26,53,64,.08)!important}
.cr-scheme-depth-explanation{font-size:12px;color:#5a6e78;line-height:1.6;padding:10px 12px;border-radius:10px;background:#f7fafb;border:1px solid #e7eff2}

.cr-scheme-compliance-box{margin-top:16px;padding:18px 20px!important;border:1.5px solid #d2e4e9!important;border-radius:14px!important;background:linear-gradient(135deg,#f7fbfb 0%,#ffffff 100%)!important;box-shadow:0 2px 8px rgba(90,148,168,.05)}
.cr-scheme-compliance-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px;flex-wrap:wrap}
.cr-scheme-compliance-title{margin:0;font-size:14px;font-weight:700;color:#1A3540}
.cr-scheme-compliance-desc{margin:3px 0 0;font-size:12px;color:#556972}
.cr-scheme-btn-sm{min-height:32px!important;height:32px!important;padding:0 12px!important;font-size:12px!important;border-radius:8px!important}
.cr-scheme-compliance-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.cr-scheme-compliance-opt{position:relative;display:flex;align-items:center;gap:12px;padding:12px 14px!important;border:1.5px solid #dde5e8!important;border-radius:12px!important;background:#ffffff!important;cursor:pointer;transition:all .16s ease}
.cr-scheme-compliance-opt input{position:absolute;opacity:0;pointer-events:none}
.cr-scheme-compliance-opt:hover{border-color:#9ac2cc!important}
.cr-scheme-compliance-opt.is-active{border-color:#5a94a8!important;background:#edf6f8!important;box-shadow:0 0 0 2px rgba(90,148,168,.12)}
.cr-scheme-comp-icon{display:grid;place-items:center;width:32px;height:32px;border-radius:8px;background:#eaf3f5;color:#5a94a8;flex-shrink:0}
.cr-scheme-comp-icon svg{width:17px;height:17px}
.cr-scheme-comp-details{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}
.cr-scheme-comp-details b{font-size:13px;font-weight:700;color:#1A3540}
.cr-scheme-comp-details small{font-size:11px;color:#5d717a}
.cr-scheme-radio-ring{width:16px;height:16px;border-radius:50%;border:1.5px solid #c8d7dc;display:grid;place-items:center;flex-shrink:0}
.cr-scheme-compliance-opt.is-active .cr-scheme-radio-ring{border-color:#5a94a8;background:#5a94a8}
.cr-scheme-compliance-opt.is-active .cr-scheme-radio-ring::after{content:"";width:6px;height:6px;border-radius:50%;background:#ffffff}

.cr-scheme-card-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 32px;background:#f7fafb;border-top:1px solid #e7eff2}
.cr-scheme-footer-note{flex:1;min-width:0}
.cr-scheme-message-label{font-size:13px;font-weight:600;color:#1A3540}
.cr-scheme-footer-action-btns{display:flex;align-items:center;gap:10px;flex-shrink:0}

@media(max-width:768px){
  .cr-scheme-header{flex-direction:column;align-items:flex-start;gap:14px}
  .cr-scheme-positions,.cr-scheme-rules-grid,.cr-scheme-compliance-options{grid-template-columns:1fr}
  .cr-task-scheme-panel .cr-settings-panel-body{padding:20px 18px 16px}
  .cr-scheme-card-footer{padding:14px 18px;flex-direction:column;align-items:stretch}
  .cr-scheme-footer-action-btns{justify-content:flex-end}
}

/* 双栏任务方案最终覆盖：置于历史样式之后，确保与选定效果图一致。 */
.cr-scheme-review-panel .cr-scheme-specialty-note{margin-top:4px}
.cr-scheme-basic-panel .cr-scheme-specialty-note{display:flex;margin-top:4px;padding:8px 10px;border:0;border-left:3px solid var(--scheme-gold);border-radius:0;background:#FFFAF1;color:var(--scheme-brown)}
.cr-scheme-basic-panel .cr-scheme-specialty-note strong{color:var(--scheme-brown);font-size:12px}
.cr-scheme-enhanced-section{padding-top:22px;padding-bottom:24px}
.cr-scheme-enhanced-card{display:flex;align-items:center;gap:12px;padding:14px 15px;border:1px solid #d9e5e9;border-radius:12px;background:#fbfdfe;cursor:pointer;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease}
.cr-scheme-enhanced-card.is-checked{border-color:#5a94a8;background:#f0f8fa;box-shadow:0 4px 14px rgba(55,113,128,.1)}
.cr-scheme-enhanced-card input{position:absolute;opacity:0;pointer-events:none}
.cr-scheme-enhanced-icon{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;background:#e8f3f6;color:#397b8d;font-size:20px;flex:0 0 auto}
.cr-scheme-enhanced-copy{display:grid;gap:4px;min-width:0;flex:1}
.cr-scheme-enhanced-copy strong{color:#17303b;font-size:14px;font-weight:700}
.cr-scheme-enhanced-copy small{color:#71848c;font-size:12px;line-height:1.5}
.cr-scheme-enhanced-card .cr-scheme-checkbox-square{margin-left:auto}
.cr-scheme-enhanced-card.is-checked .cr-scheme-checkbox-square{border-color:#5a94a8;background:#5a94a8}
.cr-scheme-enhanced-card.is-checked .cr-scheme-checkbox-square::after{content:"";display:block;width:4.5px;height:8px;border-right:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(45deg) translate(-.5px,-1px)}
.cr-scheme-enhanced-hint{margin:9px 0 0;color:#8b6a27;font-size:12px;line-height:1.5}
.cr-scheme-review-panel .cr-scheme-segmented-control{height:44px!important;padding:3px!important;border:1px solid #D7E1E5!important;border-radius:8px!important;background:#F2F6F7!important;gap:3px}
.cr-scheme-review-panel .cr-scheme-segmented-control .cr-settings-segment{border-radius:6px!important}
.cr-scheme-review-panel .cr-scheme-segmented-control .cr-settings-segment span{height:36px;padding:0!important;display:grid;place-items:center;font-size:14px!important}
.cr-scheme-review-panel .cr-scheme-segmented-control .cr-settings-segment.is-active span{box-shadow:0 1px 3px rgba(31,42,48,.09),inset 0 0 0 1px var(--scheme-blue)!important}
.cr-scheme-review-panel .cr-scheme-compliance-box{display:block!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
.cr-scheme-review-panel .cr-scheme-compliance-head{margin-bottom:16px;padding-bottom:14px;border-bottom:1px solid var(--scheme-line);flex-wrap:nowrap}
.cr-scheme-review-panel .cr-scheme-compliance-title{font-size:18px;color:#172B36}

/* ===== 默认任务方案：分段工作台（方案二） ===== */
.cr-task-scheme-layout{
  --scheme-blue:#8ABCD1;
  --scheme-blue-deep:#5A94A8;
  --scheme-gold:#E9AD5F;
  --scheme-brown:#593A28;
  --scheme-red:#8A2524;
  --scheme-ink:#182D38;
  --scheme-muted:#687B86;
  --scheme-line:#DCE6EA;
  padding:12px 0 46px;
}
.cr-task-scheme-container{width:min(100%,1460px);margin:0 auto}
.cr-task-scheme-layout .cr-scheme-header{min-height:70px;margin:0;padding:0 22px 16px;align-items:center}
.cr-task-scheme-layout .cr-scheme-title{font-size:28px;font-weight:750;letter-spacing:-.035em;color:#162D38}
.cr-task-scheme-layout .cr-scheme-subtitle{margin:7px 0 0;color:#617580;font-size:13px;line-height:1.45}
.cr-scheme-save-state{display:flex;align-items:center;gap:8px;color:#667A84;font-size:12px;font-weight:550}
.cr-scheme-save-dot{width:17px;height:17px;border-radius:50%;background:#239B76;position:relative;box-shadow:0 0 0 3px rgba(35,155,118,.09)}
.cr-scheme-save-dot::after{content:"";position:absolute;left:5px;top:3px;width:5px;height:8px;border-right:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(45deg)}

.cr-scheme-workspace-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:calc(100% - 372px);border:1px solid var(--scheme-line);border-bottom:0;background:#fff}
.cr-scheme-workspace-tab{position:relative;display:flex;align-items:center;justify-content:center;gap:12px;height:72px;padding:0 18px;border:0;border-right:1px solid #E4ECEF;background:#fff;color:#334C58;font:inherit;font-size:15px;font-weight:680;cursor:pointer;transition:background .16s ease,color .16s ease}
.cr-scheme-workspace-tab:last-child{border-right:0}
.cr-scheme-workspace-tab img{width:23px;height:23px;opacity:.82}
.cr-scheme-workspace-tab:hover{background:#F8FBFC;color:#1E4B59}
.cr-scheme-workspace-tab.is-active{background:#FFF9F0;color:#8D4D18}
.cr-scheme-workspace-tab.is-active::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:#C16B20}
.cr-scheme-workspace-tab.is-active img{filter:sepia(.8) saturate(2.5) hue-rotate(342deg) brightness(.72)}
.cr-scheme-workspace-tab:focus-visible{z-index:1;outline:3px solid rgba(138,188,209,.45);outline-offset:-3px}

.cr-scheme-workspace-tabs{position:relative;z-index:2}
.cr-scheme-columns.cr-scheme-workspace{display:grid!important;grid-template-columns:minmax(0,1fr) 372px!important;gap:0!important;align-items:stretch!important;padding:0!important;border:1px solid var(--scheme-line);border-top:0;background:#F6F9FA}
.cr-scheme-workspace-main{display:flex;flex-direction:column;min-width:0;padding:18px;background:#F3F7F8;border-top:1px solid var(--scheme-line)}
.cr-scheme-workspace-panel{min-height:0;height:auto;border:0!important;border-radius:5px!important;background:#fff!important;box-shadow:0 3px 14px rgba(32,61,73,.035)!important;overflow:visible!important}
.cr-scheme-workspace-panel[hidden]{display:none!important}
.cr-scheme-workspace-panel[data-scheme-panel="review"]{min-height:500px}
.cr-scheme-workspace-panel[data-scheme-panel="review"].is-active:has(+ .cr-scheme-workspace-panel[data-scheme-panel="library"].is-active){border-radius:5px 5px 0 0!important;box-shadow:0 3px 14px rgba(32,61,73,.035)!important}
.cr-scheme-workspace-panel[data-scheme-panel="library"].is-active{min-height:310px;border-top:1px solid #E3EAED!important;border-radius:0 0 5px 5px!important;box-shadow:0 3px 14px rgba(32,61,73,.035)!important}
.cr-scheme-workspace-panel>.cr-scheme-section{padding:28px 30px}
.cr-scheme-workspace-panel .cr-scheme-section-title{margin:0 0 28px;padding-bottom:20px;font-size:20px;font-weight:740;color:#17313D}
.cr-scheme-workspace-panel .cr-scheme-section-title::after{content:"";display:block;width:34px;height:2px;margin-top:18px;background:var(--scheme-brown);border-radius:2px}
.cr-scheme-workspace-panel .cr-scheme-rules-grid{grid-template-columns:minmax(430px,1.25fr) minmax(250px,.75fr);gap:34px}
.cr-scheme-workspace-panel .cr-scheme-depth-block{padding-left:34px}
.cr-scheme-workspace-panel .cr-scheme-scope-item{min-height:62px;padding:10px 14px;border-radius:9px}
.cr-scheme-workspace-panel .cr-scheme-scope-icon-wrap{width:36px;height:36px}
.cr-scheme-workspace-panel .cr-scheme-scope-name{min-width:92px;font-size:15px}
.cr-scheme-workspace-panel .cr-scheme-rule-label{font-size:14px;color:#2A434F}
.cr-scheme-workspace-panel .cr-scheme-annotate-parts-block{grid-column:1/-1;margin-top:8px;padding-top:26px;border-top:1px solid #E5ECEF}
.cr-scheme-workspace-panel .cr-scheme-annotate-parts-hint{display:none}
.cr-scheme-workspace-panel .cr-scheme-reviewer-input,.cr-scheme-workspace-panel .cr-scheme-select-control{max-width:620px}
.cr-scheme-basic-panel .cr-scheme-section-hero{min-height:340px}
.cr-scheme-basic-panel .cr-scheme-contract-section{min-height:260px}
.cr-scheme-basic-panel .cr-scheme-positions{max-width:720px;grid-template-columns:repeat(2,minmax(0,1fr))}
.cr-scheme-basic-panel .cr-scheme-reviewer-field{max-width:620px}

.cr-scheme-summary{position:relative;z-index:1;display:flex;flex-direction:column;min-width:0;min-height:calc(100% + 73px);margin-top:-73px;padding:28px 26px 26px;border-top:1px solid var(--scheme-line);border-left:1px solid var(--scheme-line);background:#FBFCFC}
.cr-scheme-summary-head{padding:0 2px 20px;border-bottom:1px solid var(--scheme-line)}
.cr-scheme-summary-head h3{margin:0;color:#172D38;font-size:20px;font-weight:750;letter-spacing:-.02em}
.cr-scheme-summary-list{display:grid;gap:0}
.cr-scheme-summary-item{padding:22px 0;border-bottom:1px solid #E4EBEE}
.cr-scheme-summary-label{display:grid;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:9px;color:#243E49}
.cr-scheme-summary-label>img{width:20px;height:20px}
.cr-scheme-summary-label strong{font-size:13px;font-weight:720}
.cr-scheme-summary-label button{display:inline-flex;align-items:center;gap:5px;padding:3px 2px;border:0;background:transparent;color:#4F8DA0;font:inherit;font-size:12px;font-weight:650;cursor:pointer}
.cr-scheme-summary-label button:hover{color:#2D6676}
.cr-scheme-summary-label button img{width:16px;height:16px}
.cr-scheme-summary-value{display:grid;gap:4px;margin-top:12px;padding:13px 14px;border:1px solid #D8E2E6;border-radius:8px;background:#fff}
.cr-scheme-summary-value b{overflow:hidden;color:#213944;font-size:14px;font-weight:700;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}
.cr-scheme-summary-value span{overflow:hidden;color:#6A7D86;font-size:11px;line-height:1.45;text-overflow:ellipsis;white-space:nowrap}
.cr-scheme-summary-enhanced{grid-template-columns:minmax(0,1fr) auto;align-items:center;background:#F0F8FA;border-color:#CFE2E7}
.cr-scheme-summary-enhanced span{padding:4px 8px;border-radius:999px;background:#E7ECEE;color:#60747E;font-weight:700}
.cr-scheme-summary-enhanced span.is-enabled{background:#DDF1F4;color:#357588}
.cr-scheme-summary>.cr-scheme-primary-btn{width:100%;min-height:50px!important;margin-top:auto;border-radius:7px!important;background:#5A9EB5!important;border-color:#5A94A8!important;color:#fff!important;font-size:15px!important}
.cr-scheme-summary>.cr-scheme-primary-btn:hover{background:#4E8EA3!important}

.cr-scheme-workspace-panel .cr-scheme-compliance-section{min-height:664px}
.cr-scheme-workspace-panel .cr-scheme-compliance-box{display:block!important}
.cr-scheme-workspace-panel .cr-scheme-compliance-head{margin:0 0 24px;padding:0 0 20px}
.cr-scheme-workspace-panel .cr-scheme-compliance-title{font-size:20px}
.cr-scheme-workspace-panel .cr-scheme-compliance-options{grid-template-columns:1fr;gap:12px}
.cr-scheme-workspace-panel .cr-scheme-compliance-opt{min-height:112px;padding:18px!important}
.cr-scheme-workspace-panel .cr-scheme-comp-icon{width:44px;height:44px}
.cr-scheme-workspace-panel .cr-scheme-comp-details b{font-size:15px}
.cr-scheme-library-disabled{min-height:560px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:#647983;text-align:center}
.cr-scheme-library-disabled[hidden]{display:none!important}
.cr-scheme-library-disabled strong{color:#263F4A;font-size:16px}
.cr-scheme-library-disabled span{max-width:420px;font-size:13px;line-height:1.6}
.cr-scheme-library-disabled .cr-button{margin-top:8px}

.cr-scheme-workspace-panel .cr-scheme-enhanced-section{min-height:664px}
.cr-scheme-workspace-panel .cr-scheme-enhanced-card{min-height:86px;padding:18px 20px;border-radius:10px;background:#fff}
.cr-scheme-workspace-panel .cr-scheme-enhanced-icon{width:42px;height:42px}
.cr-scheme-workspace-panel .cr-scheme-enhanced-icon img{width:21px;height:21px}
.cr-scheme-workspace-panel .cr-scheme-enhanced-copy strong{font-size:15px}
.cr-scheme-switch{position:relative;width:44px;height:24px;margin-left:auto;border-radius:999px;background:#CCD8DC;transition:background .16s ease;flex:0 0 auto}
.cr-scheme-switch::after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(23,48,59,.25);transition:transform .16s ease}
.cr-scheme-enhanced-card.is-checked .cr-scheme-switch{background:#5A94A8}
.cr-scheme-enhanced-card.is-checked .cr-scheme-switch::after{transform:translateX(20px)}

@media(max-width:1180px){
  .cr-scheme-workspace-tabs{width:100%}
  .cr-scheme-columns.cr-scheme-workspace{grid-template-columns:minmax(0,1fr) 320px!important}
  .cr-scheme-workspace-panel .cr-scheme-rules-grid{grid-template-columns:1fr}
  .cr-scheme-workspace-panel .cr-scheme-depth-block{padding:22px 0 0;border-left:0;border-top:1px solid var(--scheme-line)}
}
@media(max-width:900px){
  .cr-scheme-columns.cr-scheme-workspace{grid-template-columns:1fr!important}
  .cr-scheme-summary{border-top:1px solid var(--scheme-line);border-left:0}
  .cr-scheme-summary-list{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:22px}
  .cr-scheme-summary>.cr-scheme-primary-btn{margin-top:24px}
}
@media(max-width:640px){
  .cr-task-scheme-layout .cr-scheme-header{align-items:flex-start;padding-inline:14px}
  .cr-scheme-save-state{display:none}
  .cr-scheme-workspace-tabs{overflow-x:auto;grid-template-columns:repeat(4,minmax(118px,1fr))}
  .cr-scheme-workspace-tab{height:60px;font-size:13px}
  .cr-scheme-workspace-main{padding:8px}
  .cr-scheme-workspace-panel>.cr-scheme-section{padding:22px 18px}
  .cr-scheme-workspace-panel .cr-scheme-positions{grid-template-columns:1fr}
  .cr-scheme-summary{padding:22px 18px}
  .cr-scheme-summary-list{grid-template-columns:1fr}
}
.cr-scheme-review-panel .cr-scheme-btn-sm{height:38px!important;min-height:38px!important;padding:0 14px!important;font-size:13px!important}
.cr-scheme-review-panel .cr-scheme-compliance-options{gap:10px}
.cr-scheme-review-panel .cr-scheme-compliance-opt{min-height:94px;padding:14px!important;border:1px solid #D7E1E5!important;border-radius:9px!important;box-shadow:none}
.cr-scheme-review-panel .cr-scheme-compliance-opt.is-active{border-color:var(--scheme-blue-deep)!important;background:#F1F8FA!important;box-shadow:inset 0 0 0 1px rgba(90,148,168,.08)}
.cr-scheme-review-panel .cr-scheme-comp-icon{width:36px;height:36px}
.cr-scheme-review-panel .cr-scheme-comp-details b{font-size:14px;color:#20343E}
.cr-scheme-review-panel .cr-scheme-comp-details small{font-size:12px}
.cr-scheme-review-panel .cr-scheme-radio-ring{width:17px;height:17px}

@media(max-width:720px){
  .cr-scheme-review-panel .cr-scheme-compliance-head{align-items:flex-start;flex-direction:column;flex-wrap:wrap}
}
/* =========================================================================
   法律审查 · 审查结果与风险复核 (Apple & Google 极简设计规范与秋波蓝品牌视觉)
   ========================================================================= */

/* 宿主视口弹性铺满与滚动锁定 */
.content.legal-review-result-content {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 0 !important;
  height: calc(100vh - 64px) !important;
  max-height: calc(100vh - 64px) !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: #f8fafc !important;
}

.content.legal-review-result-content.legal-review-result-with-footer {
  height: calc(100vh - 64px - 40px) !important;
  max-height: calc(100vh - 64px - 40px) !important;
  flex: 1 1 auto !important;
}

.content.legal-review-result-content.legal-review-archive-content {
  height: calc(100vh - 64px - 30px) !important;
  max-height: calc(100vh - 64px - 30px) !important;
  flex: 1 1 auto !important;
  width: 100% !important;
  min-width: 0 !important;
  align-self: stretch !important;
  background: #fff !important;
}

/* 设置页是可读写的长表单：恢复页面级纵向滚动，并移除审核结果页专用的固定视口裁剪。 */
.content.legal-review-result-content.legal-review-settings-content {
  display: block !important;
  flex: 1 1 auto !important;
  height: auto !important;
  max-height: none !important;
  min-height: 0 !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  padding: 24px 30px 44px !important;
  background: #fff !important;
}

.content.legal-review-result-content.legal-review-settings-content > .cr-page.cr-settings-page {
  display: block !important;
  flex: none !important;
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  max-height: none !important;
  min-height: 0 !important;
  overflow: visible !important;
  background: #fff !important;
}

.content.legal-review-result-content.legal-review-settings-content .cr-settings-page > .cr-stage-content {
  display: block !important;
  flex: none !important;
  height: auto !important;
  max-height: none !important;
  min-height: 0 !important;
  overflow: visible !important;
  padding: 0 !important;
  background: #fff !important;
}

.legal-review-archive-main {
  background: #fff !important;
}

.cr-page.cr-archive-host {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  align-self: stretch !important;
}

/* 审核结果工作台使用父级全部宽度，避免 .cr-page 的 1440px 上限造成右侧空白。 */
.content.legal-review-result-content > .cr-page.cr-result-page {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  align-self: stretch !important;
}

.content.legal-review-result-content > .cr-page,
.content.legal-review-result-content .cr-stage-content {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 0 !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  height: 100% !important;
  min-height: 0 !important;
  max-height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: #f8fafc !important;
}

/* 审核结果页嵌套在 .cr-stage-content 中，内层 .cr-page 的默认 1440px
   上限也必须解除，否则大屏右侧会留下整块空白。 */
.content.legal-review-result-content .cr-result-page {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  align-self: stretch !important;
}

/* 结果页全屏主框架 */
.cr-result-page {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 0 !important;
  height: 100% !important;
  min-height: 0 !important;
  max-height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: #ffffff !important;
  color: #1A3540 !important;
}

.cr-result-page.is-list-layout .cr-result-risk-row,
.cr-result-page.is-list-layout .cr-result-document-clause,
.cr-result-page.is-list-layout .cr-result-document-line {
  border-radius: 0 !important;
  box-shadow: none !important;
}

/* 顶部操作与合同标题栏 (Apple 极简质感) */
.cr-result-header {
  flex: 0 0 58px !important;
  height: 58px !important;
  min-height: 58px !important;
  box-sizing: border-box !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 0 24px !important;
  background: #ffffff !important;
  border-bottom: 1px solid #e2e8f0 !important;
  z-index: 10;
}

.cr-result-header-left {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  min-width: 0 !important;
}

.cr-result-header-title {
  margin: 0 !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  color: #1A3540 !important;
  letter-spacing: -0.01em !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.cr-result-header-badge {
  display: inline-flex !important;
  align-items: center !important;
  height: 24px !important;
  padding: 0 10px !important;
  border-radius: 999px !important;
  background: #eaf3f5 !important;
  color: #276575 !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  white-space: nowrap !important;
}

.cr-basis-modal {
  width: min(720px, 100%) !important;
}

.cr-basis-modal-body {
  display: flex !important;
  flex-direction: column !important;
  gap: 18px !important;
  max-height: min(62vh, 520px) !important;
  overflow: auto !important;
}

.cr-basis-lead {
  margin: 0 0 4px !important;
  font-size: 12px !important;
  color: #64748b !important;
  line-height: 1.5 !important;
}

.cr-basis-section h4 {
  margin: 0 0 10px !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  color: #1a3540 !important;
}

.cr-basis-list {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
}

.cr-basis-list li {
  padding: 10px 12px !important;
  border-radius: 8px !important;
  background: #f6f9fa !important;
  border: 1px solid #e3eaec !important;
  font-size: 13px !important;
  color: #334155 !important;
  line-height: 1.55 !important;
}

.cr-basis-list li b {
  display: block !important;
  margin-bottom: 4px !important;
  font-size: 13px !important;
  color: #0f172a !important;
}

.cr-basis-list li p {
  margin: 0 !important;
  font-size: 12px !important;
  color: #475569 !important;
  line-height: 1.65 !important;
  white-space: pre-wrap !important;
}

.cr-basis-notes li {
  background: #fff !important;
}

.cr-result-header-actions {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  flex-shrink: 0 !important;
}

.cr-result-header-actions .cr-button {
  height: 34px !important;
  padding: 0 14px !important;
  border-radius: 8px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  white-space: nowrap !important;
  transition: all 0.16s ease !important;
  cursor: pointer !important;
}

.cr-result-header-actions .cr-button-primary {
  background: #1A3540 !important;
  color: #ffffff !important;
  border: 1px solid #1A3540 !important;
  box-shadow: 0 1px 3px rgba(26,53,64,0.15) !important;
}

.cr-result-header-actions .cr-button-primary:hover:not(:disabled) {
  background: #2a4c5a !important;
  border-color: #2a4c5a !important;
  transform: translateY(-1px) !important;
}

.cr-result-header-actions .cr-button-secondary {
  background: #ffffff !important;
  color: #334155 !important;
  border: 1px solid #cbd5e1 !important;
}

.cr-result-header-actions .cr-button-secondary:hover:not(:disabled) {
  background: #f8fafc !important;
  border-color: #94a3b8 !important;
  color: #0f172a !important;
}

/* 三栏工作区网格 (无重叠、带1px自然分隔线) */
.cr-result-layout {
  display: grid !important;
  grid-template-columns: 390px minmax(420px, 1fr) 410px !important;
  flex: 1 1 0 !important;
  min-height: 0 !important;
  height: calc(100% - 58px) !important;
  max-height: calc(100% - 58px) !important;
  overflow: hidden !important;
  background: #e2e8f0 !important;
  gap: 1px !important;
}

/* 栏目容器架构：每个纵栏自成 flex 体系 */
.cr-result-list-pane,
.cr-result-document-pane,
.cr-result-detail-pane {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  min-height: 0 !important;
  max-height: 100% !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
  background: #ffffff !important;
}

/* 隐藏老式浮动底部工具栏 */
.cr-result-footer {
  display: none !important;
}

/* ---------- 1. 左栏：风险列表栏 ---------- */
.cr-result-list-toolbar {
  flex: 0 0 auto !important;
  padding: 12px 16px !important;
  background: #ffffff !important;
  border-bottom: 1px solid #f1f5f9 !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  box-sizing: border-box !important;
}

/* 苹果风格 Segmented Control 筛选切换 */
.cr-result-filters {
  display: inline-flex !important;
  align-items: center !important;
  background: #f1f5f9 !important;
  padding: 3px !important;
  border-radius: 8px !important;
  gap: 2px !important;
}

.cr-result-filters button {
  height: 28px !important;
  padding: 0 10px !important;
  border: 0 !important;
  border-radius: 6px !important;
  background: transparent !important;
  color: #475569 !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: all 0.15s ease !important;
  white-space: nowrap !important;
}

.cr-result-filters button.is-active {
  background: #ffffff !important;
  color: #1A3540 !important;
  box-shadow: 0 1px 3px rgba(0,0,0,0.08) !important;
}

.cr-result-search {
  flex: 1 !important;
  min-width: 0 !important;
  height: 34px !important;
  padding: 0 12px !important;
  border: 1.5px solid #e2e8f0 !important;
  border-radius: 8px !important;
  background: #f8fafc !important;
  color: #1e293b !important;
  font-size: 12.5px !important;
  font-weight: 500 !important;
  outline: none !important;
  transition: all 0.16s ease !important;
}

.cr-result-search:focus {
  background: #ffffff !important;
  border-color: #5a94a8 !important;
  box-shadow: 0 0 0 3px rgba(90,148,168,0.14) !important;
}

.cr-result-batch {
  flex: 0 0 auto !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 8px 16px !important;
  border-bottom: 1px solid #e8edf0 !important;
  background: #f8fafc !important;
  box-sizing: border-box !important;
  flex-wrap: wrap !important;
}

.cr-result-batch-all {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  color: #475569 !important;
  cursor: pointer !important;
  user-select: none !important;
}

.cr-result-batch-summary {
  flex: 1 1 auto !important;
  min-width: 72px !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  color: #64748b !important;
}

.cr-result-batch-btn {
  height: 30px !important;
  padding: 0 10px !important;
  font-size: 12px !important;
}

.cr-result-risk-check {
  width: 16px !important;
  height: 16px !important;
  margin: 0 !important;
  cursor: pointer !important;
  accent-color: #5a94a8 !important;
}

/* 风险列表：表格式列表行（非卡片） */
.cr-result-risk-list {
  flex: 1 1 0 !important;
  min-height: 0 !important;
  height: auto !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  display: block !important;
  background: #ffffff !important;
  border-top: 1px solid #e2e8f0 !important;
}

.cr-result-risk-row {
  display: grid !important;
  grid-template-columns: 32px 28px minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 8px !important;
  width: 100% !important;
  min-height: 56px !important;
  padding: 10px 14px !important;
  margin: 0 !important;
  border: 0 !important;
  border-bottom: 1px solid #e8edf0 !important;
  border-radius: 0 !important;
  background: #ffffff !important;
  text-align: left !important;
  color: #1e293b !important;
  cursor: pointer !important;
  box-sizing: border-box !important;
  box-shadow: none !important;
  transition: background 0.12s ease !important;
}

.cr-result-risk-row:hover {
  background: #f8fafc !important;
}

.cr-result-risk-row.is-selected {
  background: #edf6f8 !important;
  box-shadow: inset 3px 0 0 #5a94a8 !important;
}

.cr-result-risk-row[hidden] {
  display: none !important;
}

.cr-result-risk-index {
  color: #64748b !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  font-variant-numeric: tabular-nums !important;
}

/* 风险等级徽标 (高清晰对比度) */
.cr-result-risk-level {
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  padding: 2.5px 7px !important;
  border-radius: 6px !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  white-space: nowrap !important;
}

.cr-result-risk-level i {
  width: 6px !important;
  height: 6px !important;
  border-radius: 50% !important;
  flex-shrink: 0 !important;
}

.cr-result-risk-level.is-high {
  background: #fef2f2 !important;
  color: #b91c1c !important;
}
.cr-result-risk-level.is-high i { background: #ef4444 !important; }

.cr-result-risk-level.is-medium {
  background: #fffbeb !important;
  color: #b45309 !important;
}
.cr-result-risk-level.is-medium i { background: #f59e0b !important; }

.cr-result-risk-level.is-low {
  background: #f0fdf4 !important;
  color: #15803d !important;
}
.cr-result-risk-level.is-low i { background: #22c55e !important; }

.cr-result-risk-title {
  min-width: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 2px !important;
}

.cr-result-risk-title b {
  display: block !important;
  font-size: 13.5px !important;
  font-weight: 600 !important;
  color: #1A3540 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  line-height: 1.35 !important;
}

.cr-result-risk-title small {
  display: block !important;
  color: #1A3540 !important;
  font-size: 11.5px !important;
  line-height: 1.35 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.cr-result-risk-clause {
  display: none !important;
}

.cr-result-risk-state {
  justify-self: end !important;
  padding: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #64748b !important;
  font-size: 10.5px !important;
  font-weight: 600 !important;
  white-space: nowrap !important;
}

.cr-result-risk-state.is-accepted,
.cr-result-risk-state.is-done.is-accepted {
  color: #166534 !important;
}

.cr-result-risk-state.is-dismissed,
.cr-result-risk-state.is-done.is-dismissed {
  color: #dc2626 !important;
}

.cr-result-list-footer {
  display: none !important;
}

/* ---------- 2. 中栏：合同正文栏 ---------- */
.cr-result-document-top {
  flex: 0 0 50px !important;
  height: 50px !important;
  min-height: 50px !important;
  box-sizing: border-box !important;
  padding: 0 28px !important;
  border-bottom: 1px solid #f1f5f9 !important;
  background: #ffffff !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
}

.cr-result-document-top span {
  font-size: 12px !important;
  font-weight: 600 !important;
  color: #64748b !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
}

.cr-result-document-top b {
  font-size: 13.5px !important;
  font-weight: 600 !important;
  color: #1A3540 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  max-width: 380px !important;
}

.cr-result-document-scroll {
  flex: 1 1 0 !important;
  min-height: 0 !important;
  height: auto !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  padding: 24px 36px 48px !important;
  box-sizing: border-box !important;
  scroll-behavior: smooth !important;
  background: #ffffff !important;
}

.cr-result-document-title {
  padding: 8px 0 24px !important;
  text-align: center !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  color: #0f172a !important;
  letter-spacing: 0.01em !important;
}

.cr-result-document-body {
  max-width: none !important;
  margin: 0 !important;
}

.cr-result-document-list {
  border-top: 1px solid #e8edf0 !important;
}

.cr-result-document-line {
  margin: 0 !important;
  padding: 10px 16px !important;
  color: #1A3540 !important;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif !important;
  font-size: 14px !important;
  line-height: 1.75 !important;
  white-space: pre-wrap !important;
  overflow-wrap: anywhere !important;
  border-bottom: 1px solid #eef2f4 !important;
  border-radius: 0 !important;
  transition: background 0.12s ease !important;
}

.cr-result-document-line.is-heading {
  margin-top: 18px !important;
  margin-bottom: 6px !important;
  color: #0f172a !important;
  font-size: 16px !important;
  font-weight: 700 !important;
}

.cr-result-document-line.is-risk-line {
  border-left: 3px solid transparent !important;
}

.cr-result-document-line.is-highlighted {
  border-left-color: #5a94a8 !important;
  background: #edf6f8 !important;
  color: #0f172a !important;
  font-weight: 500 !important;
}

.cr-result-document-spacer {
  height: 10px !important;
}

.cr-result-document-clause {
  margin: 0 !important;
  padding: 12px 16px !important;
  border-radius: 0 !important;
  border: 0 !important;
  border-bottom: 1px solid #eef2f4 !important;
  border-left: 3px solid transparent !important;
  background: #ffffff !important;
  color: #1A3540 !important;
  font-size: 14px !important;
  line-height: 1.75 !important;
}

.cr-result-document-clause.is-highlighted {
  border-left-color: #5a94a8 !important;
  background: #edf6f8 !important;
}

.cr-result-document-clause b {
  display: block !important;
  margin-bottom: 4px !important;
  font-size: 14.5px !important;
  color: #1A3540 !important;
}

.cr-result-document-clause p {
  margin: 0 !important;
  color: #1A3540 !important;
}

/* ---------- 3. 右栏：详情与决策栏 ---------- */
.cr-result-detail-head {
  flex: 0 0 auto !important;
  padding: 18px 24px !important;
  border-bottom: 1px solid #f1f5f9 !important;
  background: #ffffff !important;
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 14px !important;
  box-sizing: border-box !important;
}

.cr-result-detail-head-left {
  display: flex !important;
  align-items: flex-start !important;
  gap: 12px !important;
  min-width: 0 !important;
}

.cr-result-detail-index {
  font-size: 20px !important;
  font-weight: 800 !important;
  color: #5a94a8 !important;
  line-height: 1.1 !important;
  font-variant-numeric: tabular-nums !important;
}

.cr-result-detail-title {
  display: flex !important;
  align-items: center !important;
  flex-wrap: nowrap !important;
  gap: 10px !important;
  min-width: 0 !important;
  margin: 0 !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  color: #1A3540 !important;
  line-height: 1.35 !important;
}

.cr-result-detail-title [data-risk-detail-title] {
  flex: 0 1 auto !important;
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.cr-result-detail-head h2 {
  margin: 0 !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  color: #1A3540 !important;
  line-height: 1.3 !important;
}

.cr-result-detail-type {
  display: inline-flex !important;
  align-items: center !important;
  height: 22px !important;
  padding: 0 8px !important;
  border-radius: 4px !important;
  background: #f1f5f9 !important;
  color: #475569 !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
}

.cr-result-detail-head p {
  display: none !important;
}

.cr-risk-badge {
  display: inline-flex !important;
  align-items: center !important;
  padding: 3px 10px !important;
  border-radius: 999px !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  white-space: nowrap !important;
}

.cr-risk-badge.is-high {
  background: #fef2f2 !important;
  color: #b91c1c !important;
  border: 1px solid rgba(185,28,28,0.2) !important;
}

.cr-risk-badge.is-medium {
  background: #fffbeb !important;
  color: #b45309 !important;
  border: 1px solid rgba(180,83,9,0.2) !important;
}

.cr-risk-badge.is-low {
  background: #f0fdf4 !important;
  color: #15803d !important;
  border: 1px solid rgba(21,128,61,0.2) !important;
}

.cr-result-detail-scroll {
  flex: 1 1 0 !important;
  min-height: 0 !important;
  height: auto !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  padding: 18px 24px 44px !important;
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 18px !important;
  background: #ffffff !important;
}

.cr-result-detail-section {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  padding: 0 0 16px !important;
  border-bottom: 1px solid #f1f5f9 !important;
}

.cr-result-detail-section h3 {
  margin: 0 !important;
  font-size: 12.5px !important;
  font-weight: 700 !important;
  color: #475569 !important;
  letter-spacing: 0.02em !important;
  text-transform: uppercase !important;
}

.cr-result-detail-section > p {
  margin: 0 !important;
  font-size: 14px !important;
  line-height: 1.75 !important;
  color: #1e293b !important;
}

.cr-result-detail-section > p[data-risk-detail-description] {
  color: var(--tp-danger, #8A2524) !important;
}

/* 建议修改文本框 —— 尺寸减少50%，紧凑舒适，呼吸感好 */
.cr-result-detail-section textarea[data-risk-detail-suggestion] {
  width: 100% !important;
  height: 140px !important;
  min-height: 120px !important;
  max-height: 200px !important;
  box-sizing: border-box !important;
  padding: 12px 14px !important;
  border: 1.5px solid #cbd5e1 !important;
  border-radius: 10px !important;
  background: #f8fafc !important;
  color: #1e293b !important;
  font-size: 13.5px !important;
  line-height: 1.65 !important;
  resize: vertical !important;
  overflow-y: auto !important;
  outline: none !important;
  transition: all 0.16s ease !important;
}

.cr-result-detail-section textarea[data-risk-detail-suggestion]:focus {
  background: #ffffff !important;
  border-color: #5a94a8 !important;
  box-shadow: 0 0 0 3px rgba(90,148,168,0.14) !important;
}

.cr-result-annotate-parts {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 10px 14px !important;
  margin-top: 10px !important;
  padding-top: 10px !important;
  border-top: 1px solid #eef2f4 !important;
}

.cr-result-annotate-parts-label {
  font-size: 11px !important;
  font-weight: 650 !important;
  color: #64748b !important;
}

.cr-result-annotate-part {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  font-size: 12px !important;
  color: #334155 !important;
  cursor: pointer !important;
  user-select: none !important;
}

.cr-result-annotate-part input {
  width: 14px !important;
  height: 14px !important;
  margin: 0 !important;
  accent-color: #5a94a8 !important;
}

/* 极简规范的参考依据卡片 */
.cr-result-basis {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  padding: 10px 0 !important;
  border: 0 !important;
  border-top: 1px solid #eef2f4 !important;
  border-radius: 0 !important;
  background: transparent !important;
}

.cr-result-basis-info {
  display: flex !important;
  flex-direction: column !important;
  gap: 2px !important;
  min-width: 0 !important;
}

.cr-result-basis-tag {
  font-size: 12px !important;
  font-weight: 700 !important;
  color: #1A3540 !important;
}

.cr-result-basis-desc {
  font-size: 11.5px !important;
  color: #64748b !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.cr-result-basis .cr-button-text {
  flex-shrink: 0 !important;
  padding: 0 6px !important;
  border: 0 !important;
  background: transparent !important;
  color: #5a94a8 !important;
  font-size: 12.5px !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  transition: color 0.15s ease !important;
}

.cr-result-basis .cr-button-text:hover {
  color: #1A3540 !important;
  text-decoration: underline !important;
}

/* 处置操作按钮组 (精致三键排列) */
.cr-result-detail-actions {
  display: grid !important;
  grid-template-columns: 1.4fr 1fr 1fr !important;
  gap: 10px !important;
  padding-top: 6px !important;
}

.cr-result-detail-actions .cr-button {
  height: 38px !important;
  border-radius: 8px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: all 0.16s ease !important;
}

.cr-result-detail-actions .cr-button-primary {
  background: #1A3540 !important;
  color: #ffffff !important;
  border: 1px solid #1A3540 !important;
  box-shadow: 0 2px 6px rgba(26,53,64,0.15) !important;
}

.cr-result-detail-actions .cr-button-primary:hover {
  background: #2a4c5a !important;
  transform: translateY(-1px) !important;
}

.cr-result-detail-actions .cr-button-secondary {
  background: #ffffff !important;
  color: #334155 !important;
  border: 1.5px solid #cbd5e1 !important;
}

.cr-result-detail-actions .cr-button-secondary:hover {
  background: #f8fafc !important;
  border-color: #94a3b8 !important;
  color: #0f172a !important;
}

/* 成果归档工作台：与审核工作台共用白底、青色主色和细分隔线。 */
.la-page{width:100%;height:100%;min-height:0;flex:1 1 0;background:#fff;color:#172b3a;display:flex;flex-direction:column;overflow:hidden}
.la-page [hidden]{display:none !important}
.la-heading{height:112px;flex:0 0 112px;padding:20px 30px 16px;border-bottom:1px solid #e4ebef;display:flex;align-items:flex-end;justify-content:space-between;gap:24px}.la-heading h1{margin:0;font-size:29px;line-height:1.2;letter-spacing:-.02em;color:#152a3b}
.la-filters{display:flex;gap:14px;align-items:center}.la-search,.la-select{height:44px;border:1px solid #d8e3e8;border-radius:9px;background:#fff;display:flex;align-items:center;gap:10px;padding:0 13px;color:#5f7684}.la-search{width:268px}.la-search:focus-within,.la-select:focus-within{border-color:#51a4bf;box-shadow:0 0 0 3px rgba(81,164,191,.12)}.la-search input,.la-select select{border:0;outline:0;background:transparent;color:#304858;font:inherit}.la-search input{min-width:0;width:100%}.la-select{width:155px}.la-select select{appearance:none;flex:1}.la-select .la-icon:last-child{width:14px}.la-icon{width:18px;height:18px;flex:0 0 auto;object-fit:contain}
.la-workspace{min-height:0;flex:1;display:grid;grid-template-columns:minmax(580px,45.5%) minmax(0,1fr)}.la-ledger{min-width:0;min-height:0;border-right:1px solid #dbe5ea;display:flex;flex-direction:column}.la-ledger-toolbar{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 28px;border-bottom:1px solid #e8eef1;background:#fbfcfd;font-size:13px;color:#425b6b}.la-ledger-toolbar .la-danger{height:34px;padding:0 14px;border:1px solid #d4a8a5;border-radius:8px;background:#fff;color:#8a2524;font:600 13px inherit;cursor:pointer}.la-ledger-toolbar .la-danger:hover{background:#f5eded}.la-ledger-scroll{min-height:0;flex:1;overflow:auto;outline:none}.la-table{width:100%;border-collapse:collapse;table-layout:fixed}.la-table th{height:56px;padding:0 28px;text-align:left;color:#425b6b;font-size:13px;font-weight:600;background:#fbfcfd;border-bottom:1px solid #e1e9ed;white-space:nowrap}.la-table td{height:73px;padding:0 28px;border-bottom:1px solid #e8eef1;color:#385061;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.la-table tr{transition:background .16s ease}.la-table tbody tr:hover,.la-table tbody tr.is-selected{background:#eff9fc}.la-table tbody tr.is-selected{box-shadow:inset 3px 0 #42a4be}.la-table th:nth-child(n),.la-table td:nth-child(n){vertical-align:middle}.la-select-col{width:44px}.la-index-col{width:52px}.la-check-cell,.la-index-cell{padding-left:16px!important;padding-right:8px!important;text-align:center;color:#687b85;font-variant-numeric:tabular-nums}.la-check-cell input{width:16px;height:16px;accent-color:#427e94;cursor:pointer}.la-project-col{width:24%}.la-source-col{width:24%}.la-date-col{width:16%}.la-risk-col{width:9%}.la-result-col{width:16%}.la-project-button{border:0;background:none;padding:0;color:#203b4d;font:600 14px inherit;text-align:left;white-space:normal;cursor:pointer}.la-project-button:hover{text-decoration:underline;text-underline-offset:3px}.la-sort{border:0;background:none;padding:0;color:inherit;font:inherit;display:inline-flex;align-items:center;gap:6px;cursor:pointer}.la-sort .la-icon{width:14px;height:14px}.la-risk-number{color:#eb741f!important;font-weight:600}.la-badge{display:inline-flex;align-items:center;height:28px;padding:0 11px;border-radius:7px;font-size:13px;font-weight:600}.la-badge-completed{color:#258457;background:#e0f4e7}.la-badge-risks{color:#c4681b;background:#fff0dc}.la-badge-unknown{color:#687b85;background:#edf1f3}.la-count{flex:0 0 43px;padding:13px 28px;color:#7b909b;font-size:12px;border-top:1px solid #e8eef1}.la-empty{min-height:245px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:#71848e;font-size:13px;text-align:center;padding:28px}.la-empty b{font-size:15px;color:#385364}.la-empty span{max-width:275px;line-height:1.6}.la-empty a,.la-text-button{border:0;background:none;color:#1b88aa;cursor:pointer;font:inherit;text-decoration:underline;text-underline-offset:3px}.la-empty.compact{min-height:100px}
.la-detail{min-width:0;min-height:0;overflow:auto;display:flex;flex-direction:column;background:#fff}.la-detail-bar{padding:23px 30px 20px;border-bottom:1px solid #e3eaee}.la-breadcrumb{margin-bottom:26px;color:#8298a4;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.la-project-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.la-title-block{display:flex;align-items:center;gap:13px;min-width:0}.la-title-block h2{margin:0;color:#152a3b;font-size:23px;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.la-version{padding:5px 10px;border-radius:6px;background:#edf6ff;border:1px solid #c9e0fa;color:#2b88c6;font-size:13px;font-weight:600}.la-summary{display:flex;gap:46px;margin-top:14px;color:#6d838f;font-size:14px}.la-actions{display:flex;gap:12px;align-items:center;flex:0 0 auto}.la-primary,.la-secondary,.la-more{height:42px;border-radius:8px;padding:0 17px;border:1px solid #c8dbe2;background:#fff;color:#315666;font:600 14px inherit;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px}.la-primary{border-color:#6fb5cb;background:#77b9ce;color:#fff;box-shadow:0 4px 12px rgba(80,154,179,.13)}.la-primary:hover{background:#61a9c0}.la-primary:disabled{opacity:.5;cursor:not-allowed}.la-more{width:50px;padding:0;background:#fff}.la-more:hover,.la-secondary:hover{background:#f1f8fa}.la-menu-wrap{position:relative}.la-menu{position:absolute;z-index:10;right:0;top:49px;min-width:175px;padding:7px;background:#fff;border:1px solid #dce7eb;border-radius:9px;box-shadow:0 12px 32px rgba(37,70,85,.15)}.la-menu button{width:100%;height:38px;border:0;border-radius:6px;background:none;display:flex;align-items:center;gap:10px;padding:0 10px;color:#314b59;font:inherit;text-align:left;cursor:pointer}.la-menu button:hover{background:#f0f8fa}.la-menu button:disabled{color:#a4b2b8;cursor:not-allowed}.la-menu .la-icon{width:17px;height:17px}.la-detail-body{padding:0 30px 48px}.la-files{padding-top:24px}.la-files h3,.la-info h3{margin:0 0 16px;color:#1d3545;font-size:19px}.la-file-table{width:100%;border-collapse:collapse;table-layout:fixed}.la-file-table th{height:43px;background:#f8fafb;color:#58707d;font-size:13px;font-weight:600;text-align:left;border-top:1px solid #e0e9ed;border-bottom:1px solid #e0e9ed;padding:0 20px}.la-file-table td{height:55px;padding:0 20px;border-bottom:1px solid #e8eef1;color:#48616f;font-size:14px}.la-file-table th:nth-child(1),.la-file-table td:nth-child(1){width:51%}.la-file-table th:nth-child(2),.la-file-table td:nth-child(2){width:18%}.la-file-table th:nth-child(3),.la-file-table td:nth-child(3){width:31%}.la-filename{display:flex;align-items:center;gap:12px;min-width:0}.la-filename span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.la-file-icon{width:25px;height:25px;object-fit:contain;flex:0 0 auto}.la-file-actions{display:flex;align-items:center;gap:14px}.la-file-actions button{border:0;background:none;padding:0;color:#688391;font:inherit;cursor:pointer;display:inline-flex;align-items:center;gap:7px}.la-file-actions button:hover{color:#1384a5}.la-file-actions .la-icon{width:18px;height:18px}.la-action-divider{height:18px;border-left:1px solid #dce6e9}.la-info{padding-top:34px}.la-info h3{padding-bottom:14px;border-bottom:1px solid #e0e9ed}.la-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.la-info dl{margin:0}.la-info dl>div{display:grid;grid-template-columns:90px minmax(0,1fr);gap:12px;margin:0 0 17px}.la-info dt{color:#718894;font-size:13px}.la-info dd{margin:0;color:#304c5b;font-size:14px;line-height:1.5;word-break:break-all}.la-info dd .la-badge{margin-top:-5px}.la-mobile-back{display:none}.la-notice{position:fixed;z-index:40;right:28px;bottom:24px;padding:12px 17px;background:#214657;color:#fff;border-radius:8px;box-shadow:0 8px 24px rgba(27,63,78,.2);font-size:14px}.la-notice.is-error{background:#b54a40}
.la-dialog{width:min(640px,calc(100vw - 34px));max-height:calc(100vh - 50px);padding:0;border:1px solid #d7e4e8;border-radius:12px;background:#fff;color:#243d4d;box-shadow:0 20px 70px rgba(19,52,69,.2)}.la-dialog::backdrop{background:rgba(16,40,52,.32)}.la-dialog header{height:64px;padding:0 22px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e4ecef}.la-dialog h2{margin:0;font-size:18px}.la-dialog-close{width:34px;height:34px;border:0;background:none;cursor:pointer}.la-dialog-body{max-height:calc(100vh - 190px);overflow:auto;padding:22px}.la-dialog footer{display:flex;justify-content:flex-end;gap:10px;padding:14px 22px;border-top:1px solid #e4ecef}.la-dialog-error{margin:0;padding:0 22px 14px;color:#b34f45}.la-dialog-field{display:flex;align-items:center;justify-content:space-between;gap:20px}.la-dialog-field select{min-width:260px;height:40px;border:1px solid #ccdce2;border-radius:7px;padding:0 10px;background:#fff;color:#294654}.la-share-files{border:1px solid #e1ebee;border-radius:8px;margin:20px 0 10px;padding:14px}.la-share-files legend{padding:0 6px;color:#718893;font-size:13px}.la-share-files label{display:flex;align-items:center;gap:10px;padding:8px}.la-share-files input{accent-color:#258eae}.la-dialog-note{color:#758991;font-size:13px}.la-preview-dialog{width:min(860px,calc(100vw - 34px))}.la-preview-dialog .la-dialog-body{min-height:220px}.la-preview-state{min-height:200px;display:grid;place-content:center;text-align:center;color:#72858e}.la-document-text{max-height:55vh;overflow:auto;white-space:pre-wrap;line-height:1.8;color:#304957;font-size:15px}.la-preview-label{margin-bottom:10px;color:#7a909a;font-size:12px}.la-pdf-preview{display:block;width:100%;height:65vh;border:0}.la-image-preview{display:block;max-width:100%;max-height:65vh;margin:0 auto}
@media(max-width:920px){.la-heading{height:auto;min-height:140px;align-items:flex-start;flex-direction:column}.la-filters{width:100%}.la-workspace{grid-template-columns:1fr}.la-detail{display:none}.la-page.show-detail .la-ledger{display:none}.la-page.show-detail .la-detail{display:flex}.la-mobile-back{display:inline-flex;align-items:center;gap:6px;border:0;background:none;color:#378ba8;padding:0;margin:0 0 18px;font:inherit;cursor:pointer}.la-project-heading{align-items:flex-start;flex-direction:column}.la-actions{width:100%;justify-content:flex-end}}
@media(max-width:700px){.la-heading{padding:20px 16px 16px}.la-heading h1{font-size:25px}.la-filters{flex-wrap:wrap;gap:8px}.la-search{width:100%}.la-select{flex:1;min-width:135px}.la-table th,.la-table td{padding-left:16px;padding-right:16px}.la-detail-bar,.la-detail-body{padding-left:16px;padding-right:16px}.la-summary{gap:18px;flex-wrap:wrap}.la-info-grid{grid-template-columns:1fr;gap:0}.la-file-table th,.la-file-table td{padding-left:10px;padding-right:10px}.la-file-actions{gap:7px}.la-file-actions button{font-size:0}.la-file-actions button .la-icon{width:19px;height:19px}.la-dialog-field{align-items:flex-start;flex-direction:column}.la-dialog-field select{width:100%;min-width:0}}

.ll-page .la-heading{height:auto;min-height:112px;align-items:flex-end;flex-wrap:wrap}
.ll-page .la-filters{flex-wrap:wrap;justify-content:flex-end}
.ll-title-area{display:flex;flex-direction:column;gap:5px}.ll-title-area span{color:#71848e;font-size:12px}
.ll-stats{display:grid;grid-template-columns:repeat(7,minmax(100px,1fr));gap:1px;border-bottom:1px solid #e4ebef;background:#e4ebef}
.ll-stats>div{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:12px 20px;background:#fff}.ll-stats span{color:#71848e;font-size:12px}.ll-stats b{color:#203b4d;font-size:17px;font-variant-numeric:tabular-nums}
.ll-table{table-layout:auto;min-width:980px}
.ll-table th,.ll-table td{padding-left:14px;padding-right:14px;font-size:13px}
.ll-table tr.ll-owner-block-start td{border-top:2px solid #b7d8e2}.ll-row-owner{display:block;margin-top:4px;color:#4c879a;font-size:11px}.ll-owner-badge{padding:4px 8px;border-radius:6px;background:#edf6f8;color:#39758a;font-size:12px}.ll-readonly{color:#71848e;font-size:12px}
.ll-stage{max-width:140px;height:32px;border:1px solid #d8e3e8;border-radius:8px;background:#fff;color:#304858}
.ll-deadline{font-variant-numeric:tabular-nums}
.ll-deadline-upcoming{color:#c4681b;font-weight:600}
.ll-deadline-overdue{color:#b54a40;font-weight:600}
.ll-deadline-done{color:#258457}
.ll-tabs{display:flex;gap:8px;margin-top:16px}
.ll-tabs button{height:34px;padding:0 12px;border:0;border-radius:8px;background:transparent;color:#5f7684;cursor:pointer;font:600 13px inherit}
.ll-tabs button.is-active{background:#eff9fc;color:#1b6f88}
.ll-case-no{color:#5f7684;font-size:13px;font-weight:600}
.ll-form,.ll-create-form{display:flex;flex-direction:column;gap:14px;padding-top:8px}
.ll-form fieldset{display:flex;flex-direction:column;gap:14px;margin:0;padding:0;border:0}.ll-form fieldset:disabled{opacity:.78}
.ll-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px}
.ll-span-2{grid-column:1 / -1}
.ll-check{display:flex;align-items:center;gap:8px}
.ll-party-row,.ll-node,.ll-upload-bar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:8px}
.ll-party-row input,.ll-party-row select,.ll-node input,.ll-upload-bar select{height:36px;border:1px solid #d8e3e8;border-radius:8px;padding:0 10px;min-width:0;flex:1}
.ll-hint{margin:0 0 12px;color:#71848e;font-size:13px;line-height:1.6}
.ll-create-actions{display:flex;justify-content:flex-end;gap:10px}
.la-danger-text{border:0;background:none;color:#8a2524;font:600 13px inherit;cursor:pointer}
.la-danger-text:disabled{opacity:.45;cursor:not-allowed}
.ll-page .la-primary input{display:none}
.ll-collaboration-dialog header{height:auto;min-height:64px;padding-block:12px}.ll-collaboration-dialog header p{margin:4px 0 0;color:#71848e;font-size:12px;font-weight:400}.ll-collaboration-list{display:flex;flex-direction:column;gap:6px}.ll-collaboration-row{display:grid;grid-template-columns:minmax(0,1fr) 110px 70px;align-items:center;gap:10px;padding:10px;border:1px solid #e1e9ed;border-radius:8px}.ll-collaboration-row label{display:flex;align-items:center;gap:8px}.ll-collaboration-row em{padding:2px 6px;border-radius:5px;background:#edf6f8;color:#39758a;font-size:11px;font-style:normal}.ll-collaboration-row>div{display:flex;gap:4px}.ll-collaboration-row>div button{width:30px;height:30px;border:1px solid #d8e3e8;border-radius:6px;background:#fff;cursor:pointer}
@media(max-width:920px){.ll-stats{grid-template-columns:repeat(2,1fr)}.ll-collaboration-row{grid-template-columns:1fr}.ll-collaboration-row>div{justify-content:flex-end}}

.ll-ledger-page [hidden],.ll-ledger-page .is-hidden{display:none !important}
.ll-ledger-page #llSaveWorkbook.is-dirty{border-color:#42a4be;color:#1b6f88;font-weight:600}
.ll-ledger-page #llSaveWorkbook.is-dirty:not(:disabled):hover{background:#eef7fa}
.ll-ledger-page .invoice-grid-table{min-width:0}
.ll-ledger-page .invoice-grid-table .col-index{width:56px;min-width:56px;text-align:center;white-space:nowrap;color:#5f7684;font-variant-numeric:tabular-nums}
.ll-ledger-page .ll-case-table{table-layout:fixed;min-width:960px;border-collapse:collapse}
.ll-ledger-page .ll-case-table.invoice-grid-table thead th,
.ll-ledger-page .ll-case-table.invoice-grid-table tbody td{padding:10px 12px;border-right:none}
.ll-ledger-page .ll-case-table.invoice-grid-table thead th:first-child,
.ll-ledger-page .ll-case-table.invoice-grid-table tbody td:first-child{padding-left:12px}
.ll-ledger-page .ll-case-table.invoice-grid-table thead th:first-child,
.ll-ledger-page .ll-case-table.invoice-grid-table tbody td:first-child{padding-left:10px}
.ll-ledger-page .ll-case-table .col-insert{width:26px;min-width:26px;max-width:26px;padding:0;vertical-align:middle;text-align:center}
.ll-ledger-page .ll-case-table .col-insert .ll-insert-slot{display:flex;align-items:center;justify-content:center;width:22px;margin:0 auto;min-height:22px}
.ll-ledger-page .ll-case-table .col-select{width:36px;min-width:36px;max-width:36px;padding-left:2px;padding-right:6px;text-align:center;vertical-align:middle}
.ll-ledger-page .ll-case-table .col-index{width:48px;min-width:48px;max-width:48px;text-align:center;padding-left:4px;padding-right:4px}
.ll-ledger-page .ll-case-table thead .col-insert{padding:0;border:0}
.ll-ledger-page .ll-case-table thead .col-select{padding-left:2px;padding-right:6px;text-align:center}
.ll-ledger-page .ll-case-table .ll-row-insert-btn{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:22px;height:22px;padding:0;border:1px solid #c5d6de;border-radius:999px;background:#fff;color:#42a4be;font:600 15px/1 inherit;cursor:pointer;box-shadow:0 1px 2px rgba(31,53,66,.06)}
.ll-ledger-page .ll-case-table .ll-row-insert-btn:hover{border-color:#42a4be;background:#eef7fa;color:#1b6f88}
.ll-ledger-page .ll-case-table .col-remark{width:72px;min-width:72px;max-width:72px;text-align:center;white-space:nowrap}
.ll-ledger-page .ll-case-table .ll-col-header{position:relative;padding-right:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ll-ledger-page .ll-case-table .ll-col-header--detail{white-space:nowrap}
.ll-ledger-page .ll-case-table .ll-col-label{display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;vertical-align:middle}
.ll-ledger-page .ll-case-table .ll-col-resizer{position:absolute;top:0;right:0;width:8px;height:100%;cursor:col-resize;z-index:2}
.ll-ledger-page .ll-case-table .ll-col-resizer::after{content:"";position:absolute;top:20%;bottom:20%;right:3px;width:1px;background:#d0dde3;opacity:.85}
.ll-ledger-page .ll-case-table .ll-col-resizer:hover::after{background:#42a4be;opacity:1}
.ll-ledger-page .ll-case-table tbody td.ll-data-cell{vertical-align:middle;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:0}
.ll-ledger-page .ll-case-table tbody td.ll-data-cell.ll-cell-wrap{white-space:normal;word-break:break-word;overflow:visible;text-overflow:unset;line-height:1.45}
.ll-ledger-page .ll-case-table tbody td.ll-data-cell .ll-progress-link{max-width:100%}
.ll-ledger-page .ll-case-table .ll-cell-inplace-stage{cursor:pointer}
.ll-ledger-page .ll-case-table td.ll-data-cell:has(.ll-cell-inplace-stage){cursor:pointer}
.ll-ledger-page .ll-case-table tbody td.ll-data-cell .invoice-view-link{display:inline;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:inherit}
.ll-ledger-page .ll-case-table .ll-cell-inplace{display:block;width:100%;min-height:1.35em;cursor:text;outline:none;color:inherit;font:inherit;font-size:12px;line-height:1.35;white-space:inherit;word-break:inherit}
.ll-ledger-page .ll-case-table td.ll-data-cell:has(.ll-cell-inplace){cursor:text}
.ll-ledger-page .ll-case-table td.ll-data-cell:has(.ll-cell-inplace.is-editing){overflow:visible;text-overflow:unset;white-space:normal}
.ll-ledger-page .ll-case-table .ll-cell-inplace.is-editing{min-height:1.35em;padding:0 2px;border-radius:4px;box-shadow:inset 0 0 0 1px #42a4be;background:#fff;white-space:pre-wrap;word-break:break-word}
.ll-ledger-page .ll-case-table .ll-cell-inplace-select{display:block;width:100%;margin:0;padding:0;border:0;background:transparent;color:inherit;font:inherit;font-size:12px;line-height:1.35;cursor:pointer;outline:none}
body.ll-col-resizing{cursor:col-resize;user-select:none}
.ll-column-layout-modal .ll-column-layout-hint{margin:0 0 10px;padding:0 16px;color:#71848e;font-size:12px;line-height:1.55}
.ll-column-layout-table th:nth-child(3),.ll-column-layout-table td:nth-child(3){width:96px}
.ll-column-layout-table .ll-col-width-input{width:72px;height:32px;padding:0 8px}
.ll-column-layout-actions{padding:10px 16px 4px}
.ll-ledger-page .ll-grid-table tbody td{vertical-align:middle}
.ll-ledger-page .ll-grid-table tbody tr.is-selected td{background:var(--td-primary-soft,#eef7fa)}
.ll-sheet-tabs{display:flex;flex-wrap:wrap;gap:2px;margin:4px 0 10px;border-bottom:1px solid var(--td-border,#e4ebef)}
.ll-sheet-tabs button{height:36px;padding:0 14px;border:0;border-bottom:2px solid transparent;background:transparent;color:#5f7684;font:600 13px inherit;cursor:pointer;margin-bottom:-1px}
.ll-sheet-tabs button:hover{color:#1f3542}
.ll-sheet-tabs button.is-active{color:#1b6f88;border-bottom-color:#42a4be}
.ll-detail-drawer{position:fixed;top:56px;right:0;bottom:30px;z-index:12;width:min(720px,100vw);display:none;flex-direction:column;background:#fff;border-left:1px solid #e3eaee;box-shadow:-16px 0 40px rgba(23,43,58,.12);overflow:auto}
.ll-detail-drawer.is-open{display:flex}
.ll-detail-drawer[hidden]{display:none !important}
.ll-drawer-close{position:absolute;top:10px;right:12px;z-index:2;width:32px;height:32px;border:0;border-radius:8px;background:transparent;color:#5f7684;font-size:22px;line-height:1;cursor:pointer}
.ll-drawer-close:hover{background:#f1f8fa;color:#1f3542}
.ll-detail-drawer .la-mobile-back{display:inline-flex;align-items:center;gap:6px;border:0;background:none;color:#378ba8;padding:0;margin:0 0 12px;font:inherit;cursor:pointer}
.ll-detail-drawer .la-detail-bar{padding:20px 48px 16px 24px}
.ll-detail-drawer .la-detail-body{padding:0 24px 40px}
.ll-detail-drawer .ll-create-form{padding:0 24px 32px}
@media(max-width:720px){.ll-detail-drawer{width:100vw;bottom:0}}

.ll-progress-link{max-width:280px;border:0;background:none;color:#197da2;font:inherit;text-align:left;cursor:pointer;padding:0;display:inline-flex;align-items:center;gap:6px}
.ll-progress-link small{color:#71848e;font-size:11px;font-weight:600}
.ll-progress-link.is-empty{color:#8a9aa3}
.ll-progress-link:hover{text-decoration:underline}
.ll-progress-dialog{width:min(640px,92vw)}
.ll-progress-dialog header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.ll-progress-dialog header p{margin:4px 0 0;color:#71848e;font-size:12px}
.ll-progress-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px;max-height:48vh;overflow:auto}
.ll-progress-list li{display:grid;grid-template-columns:88px minmax(0,1fr) auto;gap:10px;padding:10px;border:1px solid #e1e9ed;border-radius:8px}
.ll-progress-list time{color:#5f7380;font-size:12px}
.ll-progress-list p{margin:0;line-height:1.55;white-space:pre-wrap}
.ll-progress-add{display:grid;grid-template-columns:140px minmax(0,1fr) auto;gap:8px;margin-top:12px;align-items:start}
.ll-progress-add textarea{min-height:64px;padding:8px 10px;border:1px solid #d8e3e8;border-radius:8px;font:inherit}
@media(max-width:720px){.ll-progress-list li,.ll-progress-add{grid-template-columns:1fr}}
.ll-plan-page .ll-plan-sub{margin:6px 0 0;color:#71848e;font-size:13px}
.ll-plan-host{display:flex;flex-direction:column;gap:12px}
.ll-plan-list{display:flex;flex-direction:column;gap:10px}
.ll-plan-card{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border:1px solid #e1e9ed;border-radius:10px;background:#fff}
.ll-plan-meta{color:#71848e;font-size:12px}
.ll-plan-active{margin-left:8px;padding:2px 8px;border-radius:999px;background:#e8f6ee;color:#27815b;font-size:11px;font-weight:600}
.ll-plan-actions{display:flex;gap:8px;flex-wrap:wrap}
.ll-plan-editor{display:flex;flex-direction:column;gap:14px;max-width:960px}
.ll-internal-no-dialog{width:min(760px,94vw);max-height:calc(100vh - 40px);z-index:11000}
.ll-internal-no-dialog .la-dialog-body{max-height:calc(100vh - 180px)}
.ll-internal-no-dialog .ll-internal-no-rule{margin:0;padding:0;border:0;background:transparent}
.ll-internal-no-dialog .ll-internal-no-rule h3{display:none}
.legacy-module-page.plans-workflow-page .cascade-panel .cascade-item.is-action .cascade-item-label{color:#2a6b82}
.legacy-module-page.plans-workflow-page .cascade-panel .cascade-item.is-action .cascade-item-meta{color:#5a94a8}
.ll-internal-no-rule h3{margin:0 0 6px;font-size:14px;color:#1f3542}
.ll-internal-no-rule h4{margin:12px 0 8px;font-size:12px;color:#3d5866}
.ll-internal-no-rule>p{margin:0 0 12px;color:#5f7684;font-size:12px;line-height:1.55}
.ll-no-parts{list-style:none;margin:0 0 12px;padding:0;display:flex;flex-direction:column;gap:8px}
.ll-no-part{display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid #dce8ed;border-radius:8px;background:#fff}
.ll-no-part-label{display:flex;align-items:center;gap:8px;flex:0 0 auto;color:#2a4450;font-size:13px;font-weight:600;white-space:nowrap}
.ll-no-part-extra{flex:1;min-width:0}
.ll-no-part-hint{color:#71848e;font-size:12px;font-weight:500}
.ll-no-move{border:0;background:#eef6f9;border-radius:6px;width:28px;height:28px;flex:0 0 28px;cursor:pointer;color:#2a6b82}
.ll-no-move:disabled{opacity:.35;cursor:default}
.ll-no-type-codes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0 0 8px}
.ll-no-type-codes label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:#526571;font-weight:600}
.ll-internal-no-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px 12px}
.ll-internal-no-grid label{display:flex;flex-direction:column;gap:6px;color:#526571;font-size:12px;font-weight:600}
.ll-internal-no-note{grid-column:span 2}
.ll-internal-no-preview{margin-top:10px;color:#2a6b82;font-size:13px;font-weight:600}
@media(max-width:920px){.ll-internal-no-grid,.ll-no-type-codes{grid-template-columns:1fr 1fr}}
.ll-plan-editor label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:#526571}
.ll-plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.ll-plan-checks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
@media(max-width:920px){.ll-plan-grid,.ll-plan-checks{grid-template-columns:1fr}}

/* 成果归档台账：白底、低密度、表格 + 详情抽屉 */
.cr-archive-page{min-height:calc(100vh - 86px);background:#fff;color:#17212b;padding:30px 30px 46px}
.cr-archive-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:24px}
.cr-archive-toolbar h1{margin:4px 0 0;font-size:30px;letter-spacing:-.02em;color:#15212b}
.cr-archive-filters{display:flex;align-items:center;gap:10px}
.cr-archive-search{display:flex;align-items:center;gap:9px;width:250px;height:40px;padding:0 13px;border:1px solid #d8e1e5;border-radius:9px;background:#fff}
.cr-archive-search:focus-within{border-color:#73b9ca;box-shadow:0 0 0 3px rgba(115,185,202,.14)}
.cr-archive-search input{width:100%;border:0;outline:0;font:inherit;color:#24323b;background:transparent}
.cr-archive-filters select{height:40px;padding:0 30px 0 12px;border:1px solid #d8e1e5;border-radius:9px;background:#fff;color:#33434c;font:inherit}
.cr-archive-layout{display:grid;grid-template-columns:minmax(0,1fr) 385px;gap:28px;align-items:start}
.cr-archive-table-card{min-width:0;border:1px solid #e1e8eb;border-radius:12px;background:#fff;overflow:hidden}
.cr-archive-table-scroll{overflow:auto}
.cr-archive-table{width:100%;min-width:940px;border-collapse:collapse;font-size:14px}
.cr-archive-table th{height:52px;padding:0 14px;text-align:left;background:#f7fafb;color:#526571;font-size:13px;font-weight:600;white-space:nowrap;border-bottom:1px solid #e4eaed}
.cr-archive-table td{height:72px;padding:0 14px;border-bottom:1px solid #edf1f2;color:#43525b;white-space:nowrap}
.cr-archive-table tbody tr{cursor:pointer}
.cr-archive-table tbody tr:hover td,.cr-archive-table tbody tr.is-selected td{background:#f1f8fa}
.cr-archive-table td:first-child,.cr-archive-table th:first-child{width:34px;padding-left:16px;padding-right:0}
.cr-archive-table td:nth-child(2){color:#1b2a33}
.cr-archive-table td:nth-child(2) b{font-weight:600}
.cr-archive-table input{accent-color:#2b9ab5}
.cr-archive-status,.cr-archive-risk{display:inline-flex;align-items:center;border-radius:999px;padding:4px 9px;font-size:12px;font-weight:600}
.cr-archive-status.is-done{color:#27815b;background:#e8f6ee}.cr-archive-risk.is-high{color:#b44d3f;background:#fff0ed}.cr-archive-risk.is-medium{color:#a86e18;background:#fff6df}.cr-archive-risk.is-low{color:#27815b;background:#e8f6ee}
.cr-archive-link{border:0;background:none;color:#197da2;cursor:pointer;font:inherit;padding:6px 4px}.cr-archive-link:hover{text-decoration:underline}
.cr-archive-icon-button{width:30px;height:30px;margin-left:4px;border:1px solid #dbe5e8;border-radius:7px;background:#fff;color:#526771;cursor:pointer}.cr-archive-icon-button:hover{background:#edf8fa;color:#167d98}
.cr-archive-table-footer{padding:14px 16px;color:#70818b;font-size:13px}
.cr-archive-detail{position:sticky;top:22px;min-height:560px;padding:0 0 12px 27px;border-left:1px solid #e4eaed;background:#fff}.cr-archive-detail.is-hidden{display:none}
.cr-archive-detail-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.cr-archive-detail h2{margin:6px 0 0;font-size:22px;line-height:1.35;color:#18252e}.cr-archive-close{width:32px;height:32px;border:0;background:transparent;color:#62747e;cursor:pointer;font-size:17px}.cr-archive-close:hover{background:#f1f6f7;border-radius:8px}
.cr-archive-meta{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:25px 0 22px;padding-bottom:21px;border-bottom:1px solid #e5ecee}.cr-archive-meta div{display:flex;flex-direction:column;gap:5px}.cr-archive-meta span,.cr-archive-file span,.cr-archive-file small{color:#74858d;font-size:12px}.cr-archive-meta b{font-size:14px;color:#25353e;font-weight:500}.cr-archive-meta-wide{grid-column:1/-1}.cr-archive-meta-wide b{line-height:1.5;word-break:break-all}
.cr-archive-files h3{margin:0 0 10px;font-size:16px;color:#263640}.cr-archive-file{display:flex;align-items:center;gap:11px;padding:12px 0;border-bottom:1px solid #edf1f2}.cr-archive-file img{width:28px;height:28px;object-fit:contain}.cr-archive-file>div{min-width:0;display:flex;flex:1;flex-direction:column;gap:3px}.cr-archive-file b,.cr-archive-file span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cr-archive-file b{font-size:14px;color:#263640}.cr-archive-file button{width:30px;height:30px;border:0;background:transparent;color:#61737d;cursor:pointer}.cr-archive-file button:hover{color:#1483a0}
.cr-archive-primary{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;height:44px;margin-top:22px;border:0;border-radius:8px;background:#1687bd;color:#fff;font:600 15px inherit;cursor:pointer}.cr-archive-primary:hover{background:#0f739f}
.cr-archive-more{display:flex;flex-direction:column;gap:3px;margin-top:25px}.cr-archive-more>span{margin-bottom:5px;color:#60727b;font-size:13px}.cr-archive-more button{display:flex;align-items:center;gap:10px;height:34px;padding:0;border:0;background:transparent;color:#38515d;text-align:left;font:inherit;cursor:pointer}.cr-archive-more button:hover{color:#1582a0}.cr-ms-icon{font-family:'Segoe MDL2 Assets';font-weight:normal;font-style:normal;line-height:1}
.cr-archive-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:280px;gap:10px;color:#6c7d86;text-align:center}.cr-archive-empty .cr-ms-icon{font-size:30px;color:#9bb2bb}.cr-archive-empty b{font-size:16px;color:#30424b}.cr-archive-empty p{max-width:300px;margin:0;line-height:1.6;font-size:13px}
@media(max-width:1180px){.cr-archive-layout{grid-template-columns:1fr}.cr-archive-detail{position:relative;top:auto;border-left:0;border-top:1px solid #e4eaed;padding:26px 0 0}.cr-archive-toolbar{align-items:flex-start;flex-direction:column}.cr-archive-filters{width:100%}}
@media(max-width:680px){.cr-archive-page{padding:20px 14px 32px}.cr-archive-filters{align-items:stretch;flex-wrap:wrap}.cr-archive-search{flex:1;min-width:220px}.cr-archive-filters select{flex:1}}

/* 合同审核工作台：附件、预览、设置、审核标题与操作图标采用同一列网格。 */
.cr-project-table .cr-col-attach {
  width: 48px !important;
  min-width: 48px !important;
  max-width: 48px !important;
  padding-inline: 8px !important;
  text-align: center !important;
}
.cr-project-table .cr-col-preview-settings {
  width: 128px !important;
  min-width: 128px !important;
  max-width: 128px !important;
  padding-inline: 8px !important;
  text-align: center !important;
}
.cr-project-column-label {
  display: block;
  width: 32px;
  margin: 0 auto;
  text-align: center;
}
.cr-project-action-headings,
.cr-project-action-icons {
  display: grid;
  grid-template-columns: repeat(3, 32px);
  justify-content: center;
  align-items: center;
  column-gap: 8px;
}
.cr-project-action-headings span {
  display: block !important;
  margin: 0 !important;
  text-align: center;
  white-space: nowrap;
}
.cr-project-action-icons .cr-table-icon-btn {
  margin: 0 !important;
}
.cr-project-review.is-disabled img { opacity: .72; }

/* 将附件与项目操作合并为一个连续操作带，避免拆列后产生视觉留白。 */
.cr-project-table .cr-col-project-actions {
  width: 168px !important;
  min-width: 168px !important;
  max-width: 168px !important;
  padding-inline: 8px !important;
  text-align: center !important;
}
.cr-project-table .cr-col-project-actions .cr-project-action-headings,
.cr-project-table .cr-col-project-actions .cr-project-action-icons {
  grid-template-columns: repeat(4, 32px);
  column-gap: 8px;
}

.cr-preview-type-block {
  display: block;
  gap: 6px;
  line-height: 1.55;
}

.cr-preview-type-series {
  font-weight: 600;
  color: #17212b;
}

.cr-preview-type-sep {
  color: #8a9aa5;
  font-weight: 400;
  white-space: pre;
}

.cr-preview-type-specific {
  font-weight: 550;
  color: #2f4858;
}

.cr-preview-type-analysis {
  margin: 0;
  font-size: 12.5px;
  color: #5c6b76;
}

.cr-settings-contract-type-hint {
  margin: 6px 0 0;
  font-size: 12px;
  color: #5c6b76;
  line-height: 1.45;
}

.cr-settings-contract-type-hint strong {
  font-weight: 600;
  color: #2f4858;
}

/* ============================================================
   团队空间 (Team Space) 页面 — 极简无沉赘 Apple / Vercel 规范
   ============================================================ */
.enterprise-space-page {
  max-width: 1140px !important;
  margin: 0 auto !important;
  padding: 16px 0 40px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 20px !important;
}

/* 极简无边框 Header */
.enterprise-space-clean-head {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 16px !important;
  padding: 0 4px !important;
}

.enterprise-space-head-info {
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
}

.enterprise-space-head-info h1 {
  margin: 0 !important;
  color: var(--td-text, #1F2A30) !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  letter-spacing: -0.02em !important;
}

.enterprise-space-head-meta {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  color: var(--td-text-2, #55636D) !important;
  font-size: 13px !important;
}

.enterprise-space-head-meta code {
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace !important;
  font-size: 12px !important;
  color: #475569 !important;
  background: #F1F5F9 !important;
  padding: 1px 6px !important;
  border-radius: 4px !important;
  border: 1px solid #E2E8F0 !important;
}

.enterprise-meta-dot {
  color: #CBD5E1 !important;
}

.enterprise-space-head-actions {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
}

.enterprise-space-head-actions .secondary-button,
.enterprise-space-head-actions .danger-button {
  height: 34px !important;
  padding: 0 14px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  border-radius: 7px !important;
}

/* 归档提示 */
.enterprise-archived-notice {
  padding: 8px 12px !important;
  border-radius: 8px !important;
  background: #F8FAFC !important;
  border: 1px solid #E2E8F0 !important;
  color: var(--td-text-2, #55636D) !important;
  font-size: 12px !important;
}

/* 主 Surface 单一卡片 */
.enterprise-main-surface {
  padding: 22px 24px !important;
  border: 1px solid var(--td-border, #DCE7EB) !important;
  border-radius: 14px !important;
  background: #FFFFFF !important;
  box-shadow: 0 1px 3px rgba(31, 42, 48, 0.03) !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 16px !important;
}

.enterprise-surface-header {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
}

.enterprise-surface-title {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
}

.enterprise-surface-title h2 {
  margin: 0 !important;
  color: var(--td-text, #1F2A30) !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  letter-spacing: -0.01em !important;
}

.enterprise-member-count {
  padding: 2px 8px !important;
  border-radius: 999px !important;
  background: var(--td-primary-faint, #EEF5F8) !important;
  color: var(--td-primary-deep, #5A94A8) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
}

.enterprise-surface-actions {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
}

.enterprise-surface-actions .primary-button,
.enterprise-surface-actions .secondary-button {
  height: 34px !important;
  padding: 0 14px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  border-radius: 7px !important;
}

.enterprise-member-filters {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  flex-wrap: wrap !important;
}

.enterprise-member-batch-bar {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin-left: auto !important;
  font-size: 13px !important;
  color: var(--td-text-2, #55636D) !important;
}

.enterprise-member-batch-bar[hidden] {
  display: none !important;
}

.enterprise-member-select-col {
  width: 36px !important;
  min-width: 36px !important;
  padding-left: 8px !important;
  padding-right: 4px !important;
  text-align: center !important;
  vertical-align: middle !important;
}

.enterprise-member-select-col input[type="checkbox"] {
  width: 15px !important;
  height: 15px !important;
  margin: 0 !important;
  cursor: pointer !important;
  accent-color: var(--td-primary-deep, #5A94A8) !important;
}

.enterprise-member-filters input,
.enterprise-member-filters select {
  box-sizing: border-box !important;
  height: 36px !important;
  border: 1px solid #CBDDE2 !important;
  border-radius: 7px !important;
  background: #FFFFFF !important;
  color: var(--td-text, #1F2A30) !important;
  font: 13px/1 inherit !important;
  outline: none !important;
  transition: border-color 0.18s ease, box-shadow 0.18s ease !important;
}

.enterprise-member-keyword-group {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}

.enterprise-member-keyword-group input[data-member-filter="keyword"] {
  width: 260px !important;
  padding: 0 12px !important;
}

.enterprise-member-filters [data-member-filter-confirm] {
  height: 36px !important;
  min-height: 36px !important;
  padding: 0 16px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  border-radius: 7px !important;
  white-space: nowrap !important;
}

.enterprise-member-filters input {
  width: 260px !important;
  padding: 0 12px !important;
}

.enterprise-member-filters select {
  min-width: 150px !important;
  padding: 0 28px 0 10px !important;
}

.enterprise-member-filters input:focus,
.enterprise-member-filters select:focus {
  border-color: var(--td-primary-deep, #5A94A8) !important;
  box-shadow: 0 0 0 3px rgba(90, 148, 168, 0.12) !important;
}

/* 高密度成员表格 */
.enterprise-members-table,
.enterprise-seats-table {
  width: 100% !important;
  border-collapse: collapse !important;
}

.enterprise-members-table th,
.enterprise-seats-table th {
  height: 38px !important;
  background: #F8FAFC !important;
  color: var(--td-text-2, #55636D) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  text-align: left !important;
  padding: 0 14px !important;
  border-bottom: 1px solid #E2E8F0 !important;
  white-space: nowrap !important;
}

.enterprise-members-table td,
.enterprise-seats-table td {
  height: 52px !important;
  color: var(--td-text, #1F2A30) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  padding: 0 14px !important;
  border-bottom: 1px solid #EDF2F4 !important;
  vertical-align: middle !important;
  white-space: nowrap !important;
}

.enterprise-members-table tr:last-child td,
.enterprise-seats-table tr:last-child td {
  border-bottom: none !important;
}

.enterprise-member-cell {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
}

.enterprise-member-info {
  display: flex !important;
  flex-direction: column !important;
  gap: 1px !important;
}

.enterprise-member-info strong {
  font-size: 13px !important;
  color: var(--td-text, #1F2A30) !important;
}

.enterprise-member-info small {
  font-size: 12px !important;
  color: var(--td-text-2, #55636D) !important;
}

.enterprise-members-table code {
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace !important;
  font-size: 12px !important;
  color: #475569 !important;
}

.enterprise-members-table .enterprise-request-avatar {
  flex: 0 0 32px !important;
  width: 32px !important;
  height: 32px !important;
  overflow: hidden !important;
}

.enterprise-members-table .enterprise-request-avatar.has-image,
.enterprise-members-table .enterprise-request-avatar:has(img) {
  background: transparent !important;
}

.enterprise-members-table .enterprise-request-avatar img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

.enterprise-request-avatar--fetch {
  position: relative !important;
}

.enterprise-request-avatar--fetch .enterprise-request-avatar-fallback {
  display: grid !important;
  place-items: center !important;
  width: 100% !important;
  height: 100% !important;
}

.enterprise-request-avatar--fetch img {
  display: none !important;
}

.enterprise-request-avatar--fetch.has-image .enterprise-request-avatar-fallback {
  display: none !important;
}

.enterprise-request-avatar--fetch.has-image img {
  display: block !important;
}

.enterprise-role-tag {
  display: inline !important;
  padding: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: var(--td-text, #1F2A30) !important;
}

.enterprise-role-tag.is-super_admin,
.enterprise-role-tag.is-owner {
  color: var(--td-primary-deep, #5A94A8) !important;
}

.enterprise-role-tag.is-enterprise_admin {
  color: var(--td-text, #1F2A30) !important;
}

.enterprise-role-tag.is-member {
  color: var(--td-text-2, #55636D) !important;
}

.enterprise-seat-tag {
  display: inline-flex !important;
  align-items: center !important;
  gap: 2px !important;
  padding: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  border: 0 !important;
  color: var(--td-text, #1F2A30) !important;
  font-size: 13px !important;
  font-weight: 400 !important;
}

.enterprise-seat-revoke {
  border: 0 !important;
  background: transparent !important;
  color: #991B1B !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  padding: 0 2px !important;
  line-height: 1 !important;
}

.enterprise-seat-empty {
  color: #94A3B8 !important;
  font-size: 12px !important;
}

.enterprise-table-actions .secondary-button,
.enterprise-table-actions .danger-button {
  height: 30px !important;
  min-height: 30px !important;
  padding: 0 10px !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  border-radius: 6px !important;
}

.enterprise-surface-divider {
  height: 1px !important;
  background: #EDF2F4 !important;
  margin: 10px 0 !important;
}

.enterprise-seat-usage {
  font-weight: 600 !important;
  color: var(--td-primary-deep, #5A94A8) !important;
}

.enterprise-seats-table select {
  height: 32px !important;
  padding: 0 10px !important;
  border: 1px solid #CBDDE2 !important;
  border-radius: 6px !important;
  background: #FFFFFF !important;
  color: var(--td-text, #1F2A30) !important;
  font: inherit !important;
  font-size: 13px !important;
  outline: none !important;
}

.enterprise-seats-table .enterprise-assign-btn {
  height: 32px !important;
  padding: 0 12px !important;
  font-size: 12px !important;
  border-radius: 6px !important;
}

/* “+ 添加成员” Apple 风格独立弹窗 Modal */
.enterprise-add-member-modal {
  width: min(480px, 92vw) !important;
  border-radius: 14px !important;
  overflow: hidden !important;
}

.enterprise-add-member-modal .modal-header {
  padding: 20px 24px 16px !important;
  border-bottom: 1px solid #EDF2F4 !important;
}

.enterprise-add-member-modal .modal-header h3 {
  margin: 0 !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  color: var(--td-text, #1F2A30) !important;
}

.enterprise-add-member-modal .modal-subtitle {
  margin: 4px 0 0 !important;
  color: var(--td-text-2, #55636D) !important;
  font-size: 13px !important;
}

.enterprise-add-member-modal .modal-body {
  padding: 20px 24px !important;
}

.enterprise-add-member-modal .organization-form label {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  color: var(--td-text, #1F2A30) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
}

.enterprise-add-member-modal .organization-form input {
  height: 42px !important;
  padding: 0 14px !important;
  border: 1px solid #CBDDE2 !important;
  border-radius: 9px !important;
  font: inherit !important;
  font-size: 14px !important;
  outline: none !important;
}

.enterprise-add-member-modal .organization-form input:focus {
  border-color: var(--td-primary-deep, #5A94A8) !important;
  box-shadow: 0 0 0 3px rgba(90, 148, 168, 0.15) !important;
}

.modal-form-status {
  min-height: 24px !important;
  margin-top: 10px !important;
  font-size: 13px !important;
  color: var(--td-primary-deep, #5A94A8) !important;
}

.modal-footer-actions {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 10px !important;
  margin-top: 16px !important;
}

.modal-footer-actions .primary-button {
  height: 38px !important;
  padding: 0 18px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  border-radius: 8px !important;
  background: var(--td-primary, #8ABCD1) !important;
  border: 1px solid var(--td-primary-deep, #5A94A8) !important;
  color: #1A3540 !important;
  box-shadow: 0 2px 6px rgba(138, 189, 209, 0.30) !important;
}

.modal-footer-actions .primary-button:hover {
  background: var(--td-primary-deep, #5A94A8) !important;
  color: #FFFFFF !important;
}

.modal-footer-actions .secondary-button {
  height: 38px !important;
  padding: 0 18px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  border-radius: 8px !important;
  background: #FFFFFF !important;
  border: 1px solid #CBDDE2 !important;
  color: var(--td-text, #1F2A30) !important;
}


.enterprise-space-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding-bottom: 4px;
}

.enterprise-space-title-group h1 {
  margin: 0;
  color: var(--td-text, #1F2A30);
  font-size: 24px;
  font-weight: 700;
  letter-spacing: -0.025em;
}

.enterprise-space-title-group p {
  margin: 4px 0 0;
  color: var(--td-text-2, #55636D);
  font-size: 13px;
  font-weight: 500;
}

.enterprise-space-page .organization-card {
  padding: 24px 28px !important;
  border: 1px solid var(--td-border, #DCE7EB) !important;
  border-radius: 16px !important;
  background: #FFFFFF !important;
  box-shadow: 0 1px 3px rgba(31, 42, 48, 0.04), 0 4px 14px rgba(31, 42, 48, 0.03) !important;
  margin-top: 0 !important;
}

.enterprise-space-page .organization-card-heading {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
  margin-bottom: 20px !important;
  padding-bottom: 14px !important;
  border-bottom: 1px solid #EDF2F4 !important;
}

.enterprise-space-page .organization-card-heading h2 {
  margin: 0 !important;
  color: var(--td-text, #1F2A30) !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  letter-spacing: -0.01em !important;
}

.enterprise-space-page .organization-card-heading strong {
  padding: 4px 12px !important;
  border-radius: 999px !important;
  background: var(--td-primary-faint, #EEF5F8) !important;
  color: var(--td-primary-deep, #5A94A8) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
}

.enterprise-space-page .organization-card-heading span {
  display: none !important;
}

.enterprise-space-page .current-enterprise-row {
  display: flex !important;
  flex-direction: column !important;
  gap: 18px !important;
  padding: 22px 24px !important;
  border: 1px solid #E2E8F0 !important;
  border-radius: 14px !important;
  background: #FAFCFD !important;
  box-shadow: none !important;
}

.current-enterprise-name-header {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

.current-enterprise-name-header strong {
  color: var(--td-text, #1F2A30);
  font-size: 18px;
  font-weight: 700;
  letter-spacing: -0.01em;
}

.current-enterprise-badge {
  display: inline-flex;
  align-items: center;
  padding: 3px 10px;
  border-radius: 999px;
  background: var(--td-primary-soft, #DDECF0);
  color: var(--td-primary-deep, #5A94A8);
  font-size: 12px;
  font-weight: 600;
}

.current-enterprise-public-id {
  display: inline-flex;
  align-items: center;
  padding: 3px 9px;
  border-radius: 6px;
  background: #EDF2F7;
  border: 1px solid #E2E8F0;
  color: #4A5568;
  font-family: ui-monospace, SFMono-Regular, SF Pro Text, Menlo, monospace;
  font-size: 12px;
  font-weight: 600;
}

.enterprise-space-page .current-enterprise-row-meta {
  display: flex !important;
  align-items: center !important;
  gap: 32px !important;
  flex-wrap: wrap !important;
}

.enterprise-space-page .current-enterprise-row-meta > div {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}

.enterprise-space-page .current-enterprise-row-meta span {
  color: var(--td-text-2, #55636D) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
}

.enterprise-space-page .current-enterprise-row-meta strong {
  color: var(--td-text, #1F2A30) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
}

.enterprise-space-page .current-enterprise-actions {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  flex-wrap: wrap !important;
  justify-content: flex-end !important;
  padding-top: 16px !important;
  border-top: 1px solid #EDF2F4 !important;
}

.enterprise-space-page .current-enterprise-actions .secondary-button,
.enterprise-space-page .current-enterprise-actions .danger-button {
  height: 36px !important;
  padding: 0 16px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  border-radius: 8px !important;
}

.enterprise-admin-contacts {
  margin-top: 24px !important;
  padding-top: 20px !important;
  border-top: 1px solid #EDF2F4 !important;
}

.enterprise-admin-contact-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)) !important;
  gap: 12px !important;
}

.enterprise-admin-contact {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 14px 16px !important;
  border: 1px solid #E2E8F0 !important;
  border-radius: 12px !important;
  background: #FFFFFF !important;
  transition: border-color 0.15s ease, box-shadow 0.15s ease !important;
}

.enterprise-admin-contact:hover {
  border-color: var(--td-primary, #8ABCD1) !important;
  box-shadow: 0 4px 12px rgba(90, 148, 168, 0.08) !important;
}

.enterprise-admin-contact .enterprise-request-avatar {
  width: 40px !important;
  height: 40px !important;
  flex: 0 0 40px !important;
  border-radius: 50% !important;
  background: var(--td-primary-soft, #DDECF0) !important;
  color: var(--td-primary-deep, #5A94A8) !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  display: grid !important;
  place-items: center !important;
}

.enterprise-admin-contact > div:nth-child(2) {
  display: flex !important;
  flex-direction: column !important;
  gap: 2px !important;
  min-width: 0 !important;
  flex: 1 !important;
}

.enterprise-admin-contact strong {
  color: var(--td-text, #1F2A30) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.enterprise-admin-role-tag {
  display: inline-block !important;
  color: var(--td-primary-deep, #5A94A8) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
}

.enterprise-admin-contact-details {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-end !important;
  gap: 2px !important;
  color: var(--td-text-2, #55636D) !important;
  font-size: 12px !important;
  text-align: right !important;
}

.enterprise-admin-contact-details span {
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  max-width: 150px !important;
}

.enterprise-management-section {
  display: flex !important;
  flex-direction: column !important;
  gap: 22px !important;
  margin-top: 0 !important;
}

.enterprise-space-page .organization-invite-form {
  display: flex !important;
  align-items: flex-end !important;
  gap: 12px !important;
  max-width: 600px !important;
  margin-bottom: 20px !important;
}

.enterprise-space-page .organization-invite-form > label {
  flex: 1 !important;
  min-width: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
  color: var(--td-text, #1F2A30) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
}

.enterprise-space-page .organization-invite-form input {
  height: 40px !important;
  padding: 0 14px !important;
  border: 1px solid #CBDDE2 !important;
  border-radius: 9px !important;
  background: #FFFFFF !important;
  color: var(--td-text, #1F2A30) !important;
  font: inherit !important;
  font-size: 13px !important;
  outline: none !important;
  transition: border-color 0.18s ease, box-shadow 0.18s ease !important;
}

.enterprise-space-page .organization-invite-form input:focus {
  border-color: var(--td-primary-deep, #5A94A8) !important;
  box-shadow: 0 0 0 3px rgba(90, 148, 168, 0.15) !important;
}

.enterprise-space-page .organization-invite-actions .secondary-button {
  height: 40px !important;
  padding: 0 20px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  border-radius: 9px !important;
}

.enterprise-request-toolbar {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  margin: 16px 0 12px !important;
  padding: 10px 14px !important;
  background: #F8FAFC !important;
  border-radius: 8px !important;
  border: 1px solid #E2E8F0 !important;
}

.enterprise-request-toolbar label {
  font-size: 13px !important;
  font-weight: 600 !important;
  color: var(--td-text, #1F2A30) !important;
}

.enterprise-space-page .enterprise-member-filters {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  margin: 0 0 16px !important;
}

.enterprise-space-page .enterprise-member-filters input,
.enterprise-space-page .enterprise-member-filters select {
  box-sizing: border-box !important;
  height: 38px !important;
  border: 1px solid #CBDDE2 !important;
  border-radius: 8px !important;
  background: #FFFFFF !important;
  color: var(--td-text, #1F2A30) !important;
  font: 13px/1 inherit !important;
  outline: none !important;
  transition: border-color 0.18s ease, box-shadow 0.18s ease !important;
}

.enterprise-space-page .enterprise-member-filters input {
  width: 280px !important;
  padding: 0 12px !important;
}

.enterprise-space-page .enterprise-member-filters select {
  min-width: 160px !important;
  padding: 0 28px 0 12px !important;
}

.enterprise-space-page .enterprise-member-filters input:focus,
.enterprise-space-page .enterprise-member-filters select:focus {
  border-color: var(--td-primary-deep, #5A94A8) !important;
  box-shadow: 0 0 0 3px rgba(90, 148, 168, 0.15) !important;
}

.enterprise-space-page .enterprise-member-filters [data-member-filter-confirm] {
  height: 38px !important;
  padding: 0 16px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  border-radius: 8px !important;
}

.enterprise-space-page .organization-members-table {
  width: 100% !important;
  border-collapse: collapse !important;
}

.enterprise-space-page .organization-members-table th {
  height: 42px !important;
  background: #F8FAFC !important;
  color: var(--td-text-2, #55636D) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  text-align: left !important;
  padding: 0 16px !important;
  border-bottom: 1px solid #E2E8F0 !important;
  white-space: nowrap !important;
}

.enterprise-space-page .organization-members-table td {
  height: 56px !important;
  color: var(--td-text, #1F2A30) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  padding: 0 16px !important;
  border-bottom: 1px solid #EDF2F4 !important;
  vertical-align: middle !important;
  white-space: nowrap !important;
}

.enterprise-space-page .organization-members-table tr:last-child td {
  border-bottom: none !important;
}

.enterprise-space-page .organization-members-table .secondary-button,
.enterprise-space-page .organization-members-table .danger-button {
  height: 32px !important;
  min-height: 32px !important;
  padding: 0 12px !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  border-radius: 7px !important;
}

.enterprise-space-page .organization-members-table select {
  height: 34px !important;
  padding: 0 10px !important;
  border: 1px solid #CBDDE2 !important;
  border-radius: 7px !important;
  background: #FFFFFF !important;
  color: var(--td-text, #1F2A30) !important;
  font: inherit !important;
  font-size: 13px !important;
  outline: none !important;
}

.enterprise-space-page .organization-members-table select:focus {
  border-color: var(--td-primary-deep, #5A94A8) !important;
}

.enterprise-table-pager {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 12px !important;
  padding-top: 16px !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: var(--td-text-2, #55636D) !important;
}

.enterprise-table-pager button {
  height: 32px !important;
  padding: 0 12px !important;
  font-size: 12px !important;
}

.cr-preview-party-list{margin:0;padding-left:18px;display:grid;gap:4px}
.cr-preview-party-list li{color:#1f2a30;line-height:1.55}
.cr-preview-party-relation{margin:6px 0 0;color:#5c6b73;font-size:13px;line-height:1.55}
.cr-preview-ownership-hint{margin:8px 0 0;color:#965d14;font-size:12px;line-height:1.5}
.cr-preview-soe-note{margin:8px 0 0;color:#8a2524;font-size:12px;line-height:1.45}

.integrations-page{max-width:920px;margin:0 auto;padding:8px 0 48px}
.integrations-page-inner{display:grid;gap:20px}
.integrations-banner{padding:14px 16px;border-radius:12px;background:#fff7e8;border:1px solid #f0dfbf;display:grid;gap:4px}
.integrations-banner.is-warning strong{color:#8a5a00}
.integrations-card{padding:20px;border-radius:16px;border:1px solid #e3eaee;background:#fff;box-shadow:0 8px 24px rgba(31,42,48,.04)}
.integrations-card h2{margin:0;font-size:18px}
.integrations-card-note{margin:6px 0 0;color:#6b7d86;font-size:13px;line-height:1.5}
.integrations-card-readonly{background:linear-gradient(180deg,#fff 0%,#fbfdfe 100%)}
.integrations-managed-row{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:12px;background:#f5fafb;border:1px solid #d8e9ed;color:#38515b}
.integrations-managed-row>div{display:grid;gap:3px;flex:1;min-width:0}
.integrations-managed-row strong{font-size:14px;color:#1f2a30}
.integrations-managed-row span{font-size:12px;color:#6b7d86}
.integrations-managed-icon{display:grid!important;place-items:center;width:30px;height:30px;border-radius:9px;background:#dceff2;color:#1f6470;font-size:20px;line-height:1}
.integrations-managed-lock{white-space:nowrap;padding:5px 9px;border-radius:999px;background:#fff;border:1px solid #d7e5e9;color:#55727a!important}
.integrations-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}
.integrations-pill{padding:4px 10px;border-radius:999px;font-size:12px;font-weight:600;white-space:nowrap}
.integrations-pill.is-ready{background:#e7f6ef;color:#1f6b45}
.integrations-pill.is-pending{background:#eef3f7;color:#55636d}
.integrations-pill.is-disabled{background:#f3f4f6;color:#7a8790}
.integrations-pill.is-platform_off{background:#fdeeee;color:#9a3030}
.integrations-inline-row{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:16px 20px;margin-bottom:4px}
.integrations-note{margin:0 0 12px;font-size:12px;line-height:1.55;color:#6b7d86}
.integrations-card .integrations-inline-field{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:center;margin:0;font-size:13px;color:#55636d;white-space:nowrap}
.integrations-card label{display:grid;gap:6px;margin-bottom:12px;font-size:13px;color:#55636d}
@media (max-width:860px){
  .integrations-inline-row{grid-template-columns:1fr}
  .integrations-card .integrations-inline-field{white-space:normal}
}
.integrations-input{width:100%;padding:10px 12px;border:1px solid #d7e0e6;border-radius:10px;font-size:14px}
.integrations-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:8px}
.integrations-button{padding:9px 14px;border-radius:10px;border:1px solid #cfd9df;background:#fff;color:#1f2a30;font-size:13px;cursor:pointer}
.integrations-button.is-primary{background:#1f6470;border-color:#1f6470;color:#fff}
.integrations-button:disabled{opacity:.55;cursor:not-allowed}
.integrations-message{flex:1;min-width:160px;font-size:13px;color:#1f6470}
.integrations-message.is-error{color:#b42318}
.integrations-advanced{margin-top:8px}
.integrations-advanced-grid{display:grid;gap:10px;margin-top:12px}
.integrations-inspection{margin-top:12px;padding-top:12px;border-top:1px solid #edf2f5;display:grid;gap:8px}
.integrations-inspection-row{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;font-size:13px}
.integrations-inspection-row small{grid-column:1/-1;color:#7a8790}
.integrations-inspection-row .is-ok{color:#1f6b45;font-weight:600}
.integrations-inspection-row .is-fail{color:#b42318;font-weight:600}
.integrations-loading,.integrations-error{padding:24px;color:#5c6b73}

/* 订单中心：横向订阅台账与顶部版本书签 */
.billing-page-container{
  --billing-ink:#1f2a30;
  --billing-muted:#657582;
  --billing-line:#dce7ed;
  --billing-blue:#8abcd1;
  --billing-blue-deep:#5a94a8;
  --billing-gold:#e9ad5f;
  --billing-brown:#593a28;
  width:100%;max-width:1302px;margin:0 auto;padding:6px 34px 88px;
  color:var(--billing-ink);
}
.workspace-shell:has(.billing-page-container) .sidebar{width:186px;flex-basis:186px}
.workspace-shell:has(.billing-page-container) .logo{grid-template-columns:38px minmax(0,1fr);column-gap:10px;padding:18px 16px 16px}
.workspace-shell:has(.billing-page-container) .logo-icon{width:38px;height:38px}
.workspace-shell:has(.billing-page-container) .logo-icon img{width:31px;height:31px}
.workspace-shell:has(.billing-page-container) .logo h1{font-size:16px}
.workspace-shell:has(.billing-page-container) .logo p{font-size:10px}
.workspace-shell:has(.billing-page-container) .nav{padding:18px 10px 0}
.workspace-shell:has(.billing-page-container) .nav-item{gap:11px;padding:11px 12px;font-size:14px}
.workspace-shell:has(.billing-page-container) .nav-section-label,
.workspace-shell:has(.billing-page-container) .nav-task-type-label{padding-left:12px;padding-right:12px;font-size:10px}
.workspace-shell:has(.billing-page-container) .sidebar-footer{padding:14px 12px}
.workspace-shell:has(.billing-page-container) .topbar-title{display:none}
.billing-page-container .billing-header{justify-content:flex-start;align-items:center;margin-bottom:30px;padding:0;border:0}
.billing-page-container .billing-header-main{flex:1 1 auto}
.billing-page-container .billing-heading-row{display:flex;align-items:center;gap:96px}
.billing-page-container .billing-title{margin:0 0 6px;color:var(--billing-brown);font-size:40px;font-weight:760;line-height:1.12;letter-spacing:-.04em}
.billing-page-container .billing-subtitle{color:var(--billing-muted);font-size:14px;line-height:1.55}
.billing-page-container .billing-mode-segmented{padding:4px;border-color:var(--billing-line);background:#f9fbfc;box-shadow:none}
.billing-page-container .billing-segmented-btn{height:44px;padding:0 22px;color:#617181;font-size:15px}
.billing-page-container .billing-segmented-btn.is-active{color:var(--billing-ink);box-shadow:0 1px 5px rgba(37,66,78,.1)}
.billing-page-container .billing-segmented-btn.is-active svg,
.billing-page-container .billing-segmented-btn.is-active.is-enterprise svg{color:#267898}
.billing-page-container .billing-modules-grid{grid-template-columns:minmax(0,1fr);gap:48px;margin:0 0 28px}
.billing-page-container .billing-module-card{
  display:grid;grid-template-columns:minmax(0,1fr) auto;
  grid-template-areas:"heading purchase" "features features";
  align-items:center;align-content:center;gap:18px 28px;min-height:146px;padding:18px 22px 17px;
  border:1px solid #cddfea;border-radius:11px;background:#fff;
  box-shadow:0 8px 24px rgba(45,75,92,.04);
}
.billing-page-container .billing-module-card:hover,
.billing-page-container .billing-module-card.is-active{background:#fff;border-color:#bbd5e3;box-shadow:0 5px 18px rgba(45,75,92,.055)}
.billing-page-container .billing-module-card.is-legal[data-active-tier="plus"],
.billing-page-container .billing-module-card.is-legal[data-active-tier="plus"]:hover{border-color:#e5ae61}
.billing-page-container .billing-module-top{grid-area:heading;justify-content:flex-start;gap:16px;margin:0;flex-wrap:wrap}
.billing-page-container .billing-module-title-box{order:0;gap:16px;flex:0 1 auto}
.billing-page-container .billing-module-avatar{width:68px;height:68px;border-radius:12px}
.billing-page-container .billing-module-avatar svg{width:34px;height:34px}
.billing-page-container .billing-module-card.is-finance .billing-module-avatar{background:#edf5ff;color:#2468b5}
.billing-page-container .billing-module-card.is-legal .billing-module-avatar{background:#fff5e9;color:#956129}
.billing-page-container .billing-module-card.is-general .billing-module-avatar{background:#eef5f8;color:#427e94}
.billing-page-container .billing-module-highlight{display:inline-block;margin-left:8px;padding:2px 8px;border-radius:999px;background:#eef5f8;border:1px solid #cfe0e8;color:#427e94;font-size:11px;font-weight:600;vertical-align:middle}
.billing-page-container .billing-module-empty{margin:0;padding:32px;border:1px dashed #d3dbe0;border-radius:14px;background:#fff;color:#5b6770;text-align:center}
.billing-page-container .billing-module-name{color:#111c2b;font-size:22px;font-weight:730;letter-spacing:-.02em;white-space:nowrap}
.billing-page-container .billing-module-top>.billing-badge{
  order:1;height:28px;margin-left:8px;padding:0 12px;
  border-radius:999px;font-size:12px;font-weight:680;line-height:26px;
}
.billing-page-container .billing-module-top>.billing-badge::before{
  content:"";width:6px;height:6px;border-radius:50%;background:currentColor;flex:none;
}
.billing-page-container .billing-module-validity{order:2;flex:0 1 auto;margin:0 0 0 2px;padding-left:22px;border-left:1px solid #cbd8de;color:#15709a!important;font-size:13px;font-weight:680;text-align:left;line-height:22px}
.billing-page-container .billing-module-top>[hidden]{display:none!important}
.billing-page-container .billing-module-card[data-active-tier="base"] [data-tier-indicator="plus"],
.billing-page-container .billing-module-card[data-active-tier="plus"] [data-tier-indicator="base"]{display:none!important}
.billing-page-container .billing-tier-panel.is-active{display:contents}
.billing-page-container .billing-tier-panel:not(.is-active){display:none}
.billing-page-container .billing-module-features{grid-area:features;justify-content:flex-start;gap:10px 54px;margin:0;padding:0;border:0}
.billing-page-container .billing-module-feature{gap:9px;color:#586877;font-size:14px;line-height:1.45}
.billing-page-container .billing-module-feature svg{width:16px;height:16px;color:#0b9b75;flex:0 0 16px}
.billing-page-container .billing-module-bottom{grid-area:purchase;justify-self:end;gap:36px;margin:0;white-space:nowrap}
.billing-page-container .billing-module-price strong{color:#111827;font-size:27px;font-weight:760}
.billing-page-container .billing-module-price span{color:#687888;font-size:13px}
.billing-page-container .billing-module-actions .billing-btn{min-width:192px;height:49px;border-radius:9px;font-size:14px}
.billing-page-container .billing-btn-primary,
.billing-page-container .billing-btn-success{background:var(--billing-blue-deep);border-color:var(--billing-blue-deep);color:#fff}
.billing-page-container .billing-btn-primary:hover,
.billing-page-container .billing-btn-success:hover{background:#427e94;border-color:#427e94;color:#fff}
.billing-page-container .billing-module-card.is-legal[data-active-tier="plus"] .billing-btn-primary,
.billing-page-container .billing-module-card.is-legal[data-active-tier="plus"] .billing-btn-success{background:var(--billing-gold);border-color:var(--billing-gold);color:var(--billing-brown)}
.billing-page-container .billing-module-card.is-legal[data-active-tier="plus"] .billing-btn-primary:hover,
.billing-page-container .billing-module-card.is-legal[data-active-tier="plus"] .billing-btn-success:hover{background:#dda04e;border-color:#dda04e}
.billing-page-container .billing-tier-switch{
  top:-35px;left:0;height:36px;align-items:flex-end;gap:0;isolation:isolate;z-index:4;
}
.billing-page-container .billing-tier-btn{
  --tier-accent:#8abcd1;
  top:0;height:34px;min-width:96px;padding:6px 18px 7px;
  border:1px solid #d3e0e7;border-bottom-color:var(--tier-card-accent,#8abcd1);border-radius:11px 11px 0 0;
  background:#edf3f6;color:#5d6f7d;font-size:12px;line-height:20px;
  box-shadow:inset 0 -1px 0 rgba(70,105,120,.035);transform:translateY(1px);z-index:1;
}
.billing-page-container .billing-tier-btn[data-legal-tier="plus"]{--tier-accent:#e5ae61;min-width:138px}
.billing-page-container .billing-tier-btn+.billing-tier-btn{margin-left:-1px}
.billing-page-container .billing-tier-btn span{margin-left:6px;color:inherit;font-size:11px;font-weight:680}
.billing-page-container .billing-tier-btn.is-active{
  top:0;height:36px;z-index:3;margin:0 0 -1px;padding-top:7px;padding-bottom:9px;
  transform:none;border:1px solid var(--tier-accent);border-bottom:0;border-radius:12px 12px 0 0;background:#fff;
  color:#335c70;box-shadow:none;
}
.billing-page-container .billing-tier-btn[data-legal-tier="base"].is-active{margin-left:0}
.billing-page-container .billing-tier-btn[data-legal-tier="plus"].is-active{margin-left:-10px}
.billing-page-container .billing-tier-btn.is-active::before,
.billing-page-container .billing-tier-btn.is-active::after{display:none}
.billing-page-container .billing-tier-btn[data-legal-tier="plus"].is-active{color:#805225}
.billing-page-container .billing-module-card.is-legal[data-active-tier="plus"]{--tier-card-accent:#e5ae61}
.billing-page-container .billing-tier-btn:not(.is-active):hover{background:#f4f7f9;color:#405767}
.billing-page-container .billing-module-card.is-legal[data-active-tier="plus"]{background:linear-gradient(180deg,#fffefa 0%,#fff 100%)}
.billing-page-container .billing-module-card.is-legal .billing-badge.is-active,
.billing-page-container .billing-module-card.is-finance .billing-badge.is-active{background:#effbf6;border-color:#9ee4c7;color:#16805d}
.billing-page-container .billing-module-card .billing-badge.is-inactive{background:#f2f5f7;border-color:#dce4e8;color:#70808b}
.billing-page-container .billing-orders-panel{border-color:#d5e3eb;border-radius:11px;box-shadow:0 8px 24px rgba(45,75,92,.035)}
.billing-page-container .billing-orders-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"title actions" "filters actions";gap:15px 16px;padding:20px 22px 16px;background:#fff;border:0}
.billing-page-container .billing-orders-title{grid-area:title;margin:0;color:#111c2b;font-size:20px;font-weight:730}
.billing-page-container .billing-orders-panel{scroll-margin-bottom:28px}
.billing-page-container .billing-filter-tabs{grid-area:filters;flex-wrap:wrap;gap:2px}
.billing-page-container .billing-filter-tab{height:30px;padding:0 10px;color:#607080}
.billing-page-container .billing-filter-tab.is-active{border-color:#c5dae8;color:#30485e;box-shadow:none}
.billing-page-container .billing-filter-tab span{background:#f1f5f7;color:#677985}
.billing-page-container .billing-filter-tab.is-active span{background:#e8f3f8;color:#3c7991}
.billing-page-container .billing-orders-toolbar-actions{grid-area:actions;align-self:end}
.billing-page-container .billing-orders-count{display:none}
.billing-page-container .billing-table-responsive{padding:0 20px 16px}
.billing-page-container .billing-table{min-width:700px}
.billing-page-container .billing-table th{height:42px;padding:0 12px;background:#f8fafb;color:#596a79;font-size:12px;border-color:#e7eef2}
.billing-page-container .billing-table td{height:46px;padding:8px 12px;color:#35495b;font-size:12px;border-color:#e9eff2}
.billing-page-container .billing-order-no{font-size:11px}
.billing-page-container .billing-order-amount{font-size:12px}
.billing-page-container .billing-action-del{color:#8a2524}
.billing-page-container .billing-order-version{display:inline-flex;padding:2px 8px;border-radius:5px;background:#eef2f4;color:#5c6b73;font-size:10px}
.billing-page-container .billing-order-version.is-plus{background:#fff3df;color:#9a682d}
.billing-page-container .billing-order-seat{font-variant-numeric:tabular-nums}
.billing-page-container .billing-table .billing-badge{padding:0;border:0;background:transparent}
.billing-page-container .billing-action-link{height:28px;padding:0 5px;border:0;background:transparent;color:#397f9d;font:inherit;font-size:11px;cursor:pointer}
.billing-page-container .billing-action-link:hover{color:#245f79;text-decoration:underline}
.billing-modal-overlay.billing-purchase-overlay{align-items:flex-end;justify-content:flex-end;padding:24px 24px 70px;background:rgba(35,56,68,.07);backdrop-filter:none}
.billing-purchase-overlay .billing-dialog{box-sizing:border-box;width:min(456px,calc(100vw - 32px));max-height:calc(100vh - 94px);padding:24px 26px 26px;border-color:#d5e0e7;border-radius:13px;box-shadow:0 14px 40px rgba(30,54,67,.17)}
.billing-purchase-overlay .billing-dialog-header{margin-bottom:20px}
.billing-purchase-overlay .billing-dialog-tag{display:none}
.billing-purchase-overlay .billing-dialog-title{margin:2px 34px 5px 0;color:#3d2b27;font-size:19px}
.billing-purchase-overlay .billing-dialog-desc{display:none}
.billing-purchase-overlay .billing-dialog-close{top:17px;right:17px;background:transparent;color:#71818d}
.billing-purchase-overlay .billing-form-group{margin-bottom:22px}
.billing-purchase-overlay .billing-form-label{color:#283846;font-size:13px}
.billing-purchase-overlay .billing-form-label .billing-stepper{margin:0}
.billing-purchase-overlay .billing-stepper{width:auto;justify-content:flex-end;gap:0}
.billing-purchase-overlay .billing-stepper-btn{width:34px;height:34px;border-radius:7px;background:#fff;font-size:17px}
.billing-purchase-overlay .billing-stepper-input{flex:0 0 54px;width:54px;height:34px;border-radius:0;font-size:14px}
.billing-purchase-overlay .billing-stepper-btn:first-child{border-radius:7px 0 0 7px}
.billing-purchase-overlay .billing-stepper-btn:last-child{border-radius:0 7px 7px 0}
.billing-purchase-overlay .billing-seat-chips{margin-top:10px}
.billing-purchase-overlay .billing-chip{height:32px;border-radius:7px;background:#fff}
.billing-purchase-overlay .billing-chip.is-active{border-color:#70aecd;background:#edf6fb;color:#316e88}
.billing-purchase-overlay .billing-cycle-row{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px;color:#283846;font-size:13px}
.billing-purchase-overlay .billing-cycle-row select{width:230px;height:36px;padding:0 12px;border:1px solid #d5e0e7;border-radius:8px;background:#fff;color:#334756;font:inherit;font-size:12px}
.billing-purchase-overlay .billing-summary-box{margin:18px 0 22px;padding:16px 0;border:0;border-top:1px solid #e2e9ed;border-bottom:1px solid #e2e9ed;border-radius:0;background:#fff}
.billing-purchase-overlay .billing-summary-row{margin:0 0 9px;color:#4b5d69}
.billing-purchase-overlay .billing-summary-row:last-child{margin-top:12px;padding-top:12px;border-color:#e2e9ed}
.billing-purchase-overlay .billing-summary-row.is-total strong{color:#3d2b27;font-size:23px}
.billing-purchase-overlay .billing-dialog-actions{display:grid;grid-template-columns:112px minmax(0,1fr);gap:12px}
.billing-purchase-overlay .billing-dialog-actions .billing-btn{width:100%}
.billing-purchase-overlay .billing-btn-primary{background:#5a94a8;border-color:#5a94a8;color:#fff}
.billing-purchase-overlay .billing-btn-primary:hover{background:#427e94;border-color:#427e94}
@media(max-width:1100px){
  .billing-page-container .billing-module-card{grid-template-columns:1fr;grid-template-areas:"heading" "features" "purchase";gap:16px}
  .billing-page-container .billing-module-bottom{justify-self:stretch;justify-content:space-between}
}
@media(max-width:680px){
  .billing-page-container{max-width:none;margin:0 auto;padding:24px 16px 60px}
  .billing-page-container .billing-header{display:block;margin-bottom:36px}
  .billing-page-container .billing-heading-row{display:block}
  .billing-page-container .billing-title{font-size:27px}
  .billing-page-container .billing-mode-segmented{margin-top:16px;width:100%}
  .billing-page-container .billing-modules-grid{gap:48px}
  .billing-page-container .billing-module-card{padding:18px 16px}
  .billing-page-container .billing-module-top{gap:10px}
  .billing-page-container .billing-module-avatar{width:44px;height:44px}
  .billing-page-container .billing-module-name{font-size:16px}
  .billing-page-container .billing-module-validity{width:100%;margin-left:54px;padding-left:0;border:0}
  .billing-page-container .billing-module-feature{width:100%}
  .billing-page-container .billing-module-bottom{gap:12px;flex-wrap:wrap}
  .billing-page-container .billing-module-actions{flex:1 1 100%}
  .billing-page-container .billing-module-actions .billing-btn{width:100%}
  .billing-page-container .billing-orders-toolbar{grid-template-columns:1fr;grid-template-areas:"title" "filters" "actions"}
  .billing-page-container .billing-orders-toolbar-actions{justify-self:end}
  .billing-page-container .billing-table-responsive{padding:0 10px 10px}
  .billing-modal-overlay.billing-purchase-overlay{align-items:flex-end;padding:0}
  .billing-purchase-overlay .billing-dialog{width:100%;max-height:90vh;border-radius:16px 16px 0 0}
}
