/* Task workspaces: one purpose at a time. Layout is independent of card styling. */
[hidden] { display: none !important; }
.task-layout { background: #fafbf8; }
.task-layout .task-shell { display: block; min-height: 100vh; }
.task-header { display: grid; grid-template-columns: 190px 1fr auto; align-items: center; min-height: 72px; padding: 0 40px; gap: 24px; border-bottom: 1px solid #e8ece4; }
.task-header .brand { height: auto; padding: 0; font-size: 14px; gap: 8px; }
.task-header .nav { display: flex; flex-direction: row; gap: 32px; justify-content: center; }
.task-header .nav a { min-height: 72px; padding: 0 4px; display: flex; align-items: center; color: #6a746b; box-shadow: none; border-bottom: 2px solid transparent; }
.task-header .nav a.active { border-bottom-color: var(--brand); color: var(--brand); background: transparent; }
.header-tools { display: flex; align-items: center; gap: 24px; }
.task-header .search-launch { width: auto; gap: 8px; min-height: 44px; }
.task-header .search-launch .key { font-size: 10px; }
.account-menu { position: relative; font-size: 12px; }
.account-menu>summary { cursor: pointer; list-style: none; display: flex; align-items: center; gap: 10px; min-height: 44px; }
.account-menu>div { position: absolute; right: 0; top: 100%; z-index: 30; width: 220px; padding: 12px; background: white; border: 1px solid var(--line); box-shadow: 0 8px 28px #29332e10; border-radius: 6px; }
.account-menu .btn { display: flex; width: 100%; justify-content: flex-start; min-height: 44px; }
.account-menu p { font-size: 11px; color: var(--muted); padding: 10px 14px; }
.task-layout .content { max-width: 1000px; margin: 0 auto; padding: 32px 40px 56px; }
.task-layout h1 { font-size: 23px; font-weight: 550; }
.task-layout .page-head { margin-bottom: 24px; align-items: center; }
.task-layout .page-head p { font-size: 12px; margin-top: 6px; }
.task-layout .btn { min-height: 40px; border: 1px solid #dce4d8; background: transparent; }
.task-layout .btn.primary { background: var(--brand); border-color: var(--brand); }
.task-layout .btn.ghost { border-color: transparent; }
.task-layout .btn.small { min-height: 36px; }
.task-layout .task-home-head, .task-layout .task-board, .practice-entry { max-width: 760px; margin-left: auto; margin-right: auto; }
.task-layout .task-board { display: block; }
.task-scope { display: flex; align-items: center; gap: 24px; min-height: 52px; border-bottom: 1px solid var(--line); }
.task-scope>a { font-size: 12px; text-decoration: none; color: var(--muted); min-height: 44px; display: flex; align-items: center; }
.task-scope>a[aria-current] { color: var(--brand); font-weight: 550; }
.today-controls { margin-left: auto; position: relative; }
.today-controls>summary { cursor: pointer; font-size: 12px; min-height: 44px; display: flex; align-items: center; color: var(--muted); }
.task-filter-panel { position: absolute; z-index: 10; right: 0; top: 100%; width: 360px; max-width: calc(100vw - 48px); padding: 20px; background: #fff; border: 1px solid var(--line); border-radius: 6px; box-shadow: 0 12px 32px #29332e12; }
.task-layout .task-filter-panel #today-filter { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.task-filter-panel label { display: grid; gap: 6px; font-size: 12px; color: var(--muted); }
.task-filter-panel input, .task-filter-panel select { width: 100%; min-height: 40px; border: 1px solid var(--line) !important; border-radius: 4px !important; padding: 8px !important; }
.task-filter-panel .guide-filters { display: grid; grid-template-columns: 1fr 1fr; padding: 16px 0 0; }
.task-filter-panel .guide-stats { display: flex; gap: 14px; flex-wrap: wrap; font-size: 11px; margin: 12px 0; }
.task-layout .task-row { display: grid; grid-template-columns: 20px minmax(0,1fr) auto; column-gap: 16px; padding: 22px 0; align-items: start; }
.task-order { color: #8c978b; font-size: 10px; padding-top: 5px; }
.task-layout .task-row>.btn { margin-top: 2px; min-height: 44px; min-width: 100px; }
.task-layout .guide-task-heading strong { font-size: 16px; font-weight: 550; }
.task-state { display: inline-flex; padding: 2px 7px; font-size: 10px; color: #5f705b; border-radius: 3px; background: #edf2e8; white-space: nowrap; }
.task-state.overdue { background: #f7eee8; color: #946046; }
.task-state.waiting { background: #eef0f4; color: #5e6d82; }
.task-layout .task-row .task-subject { font-size: 13px; color: #46534a; margin: 6px 0; overflow-wrap: anywhere; }
.task-layout .task-row .task-reason { font-size: 12px; color: var(--muted); margin: 0; }
.task-record-meta { font-size: 11px; color: var(--muted); margin-top: 10px; }
.task-record-meta summary { cursor: pointer; }
.task-record-meta .guide-meta { display: grid; gap: 4px; margin-top: 8px; }
.task-empty { padding: 48px 0 !important; }
.task-empty h2 { margin-bottom: 12px; }
.practice-entry { border-top: 1px solid var(--line); padding-top: 14px; margin-top: 24px; font-size: 11px; color: var(--muted); display: flex; align-items: center; gap: 12px; }
.practice-entry .btn { border-color: transparent; padding-left: 0; }
.purpose-tabs, .resource-purposes { display: flex; gap: 24px; border-bottom: 1px solid var(--line); margin-bottom: 20px; }
.task-layout .purpose-tabs .btn, .task-layout .resource-purposes .btn { border: 0; border-radius: 0; padding: 10px 0; border-bottom: 2px solid transparent; min-height: 48px; color: var(--muted); }
.purpose-tabs .btn.selected, .resource-purposes .btn.selected { color: var(--brand); border-bottom-color: var(--brand); }
.purpose-list>a, .purpose-choice { display: flex; align-items: center; justify-content: space-between; width: 100%; padding: 20px 0; border: 0; border-bottom: 1px solid var(--line); color: var(--text); background: transparent; text-decoration: none; text-align: left; cursor: pointer; gap: 20px; }
.purpose-list strong, .purpose-choice strong { font-size: 15px; font-weight: 550; }
.purpose-list small, .purpose-choice small { display: block; margin-top: 6px; font-size: 12px; color: var(--muted); }
.purpose-list>a>span:last-child { font-size: 12px; color: var(--brand); }
.purpose-choice { position: relative; display: block; padding-right: 24px; }
.purpose-choice>span { position: absolute; right: 0; top: 28px; color: var(--brand); }
.purpose-other { margin-top: 20px; font-size: 12px; color: var(--muted); }
.purpose-other summary { min-height: 44px; cursor: pointer; }
.purpose-secondary { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.purpose-help { display: block; margin-top: 24px; font-size: 12px; color: var(--brand); }
.collection-heading { display: flex; justify-content: space-between; margin-bottom: 20px; align-items: center; }
.collection-switch, .record-action-menu { position: relative; font-size: 12px; }
.collection-switch summary, .record-action-menu>summary { min-height: 44px; display: flex; align-items: center; cursor: pointer; color: var(--brand); }
.collection-switch>div, .record-action-menu>.actions { position: absolute; top: 100%; right: 0; z-index: 10; width: 260px; padding: 12px; background: white; border: 1px solid var(--line); border-radius: 6px; box-shadow: 0 8px 24px #29332e10; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.list-filter-drawer { margin-bottom: 16px; font-size: 12px; }
.list-filter-drawer>summary { cursor: pointer; padding: 12px 0; color: var(--muted); }
.compact-breadcrumb { margin-bottom: 10px; }
.task-layout .record-context h1 { font-size: 20px; font-weight: 500; max-width: 720px; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }
.task-layout .record-sections { gap: 24px; margin-bottom: 24px; padding-bottom: 0; }
.record-sections [role=tab] { background: transparent; border: 0; border-bottom: 2px solid transparent; padding: 12px 0; min-height: 48px; font-size: 12px; color: var(--muted); white-space: nowrap; cursor: pointer; }
.record-sections [aria-selected=true] { color: var(--brand); border-bottom-color: var(--brand); }
.record-workspace { max-width: 860px; }
.record-pane { scroll-margin-top: 20px; }
.record-identity { margin-bottom: 20px; font-size: 12px; color: var(--muted); }
.record-identity summary, .record-governance>summary { cursor: pointer; min-height: 44px; }
.task-layout .business-guide>.card-head { margin-bottom: 10px; }
.task-layout .guide-step-heading h3 { font-size: 20px; }
.task-layout .guide-intro { margin: 6px 0 14px; }
.task-layout .guide-check-count { font-size: 12px; margin-bottom: 14px; }
.task-layout .guide-check.is-focus { margin: 12px 0 20px; padding: 4px 0 4px 16px; }
.task-layout .guide-check.is-focus strong { font-size: 17px; }
.task-layout .guide-check.is-focus>.btn { min-width: 100px; }
.task-layout .guide-check p { max-width: 560px; }
.task-layout .guide-next { margin-top: 16px; padding-top: 16px; }
.team-dependency { color: var(--muted); font-size: 12px; margin: 16px 0; }
.team-dependency>summary { min-height: 44px; cursor: pointer; }
.team-dependency p { margin: 8px 0; }
.journey-label { float: none !important; }
.task-layout .library-grid { margin-bottom: 20px; }
.task-layout .library-group { display: block; padding: 0; border: 0; }
.task-layout .library-group>h2, .task-layout .library-group>p { display: none; }
.task-layout .library-links { display: block; }
.task-layout .library-links .btn { display: block; padding: 18px 0; border-bottom: 1px solid var(--line); min-height: 76px; }
.library-links .btn small { display: block; color: var(--muted); margin-top: 6px; font-size: 12px; }
.resource-technical { margin-top: 24px; color: var(--muted); font-size: 12px; }
.resource-technical>summary { cursor: pointer; padding: 12px 0; }
.template-more { display: flex; align-items: center; gap: 16px; color: var(--muted); font-size: 11px; margin-top: 16px; }
.task-layout .modal, .task-layout .modal.wide { width: min(700px,100%); }
.task-layout .modal .card-head { padding: 18px 24px 8px; }
.task-layout .modal-body { padding: 16px 24px 24px; }
.task-layout .form-direction { margin-bottom: 12px; }
.task-layout .form-direction>strong { font-size: 19px; }
.task-layout .form-direction>span { font-size: 11px; }
.form-save-note { font-size: 11px; color: var(--muted); margin-bottom: 16px; }
.form-save-note+.form-direction { margin-top: 0; }
.context-help { min-height: 54px; font-size: 12px; color: #65735f; padding: 10px 0 14px; line-height: 1.7; }
[data-task-form] .guide-field-help, [data-task-form] .secondary-form-help { display: none !important; }
.task-layout .guide-highlight { outline: 0; background: transparent; }
.task-layout .field.is-required>label::after { content: ' · 必填'; font-size: 10px; color: #927044; }
.task-layout .form-grid { gap: 18px 20px; }
.task-layout .modal .form-footer { padding: 14px 24px; }
.task-layout .modal .form-footer .btn { min-height: 44px; }
.line-costs { border-top: 1px solid var(--line); margin-top: 16px; }
.line-costs summary { min-height: 44px; padding: 10px 0; cursor: pointer; font-size: 12px; color: var(--muted); }
.line-costs>.form-grid { padding: 12px 0; }
.form-section-note { font-size: 12px; color: var(--muted); margin-bottom: 20px; }
.inline-party-trigger { margin-top: 6px; border: 0 !important; padding: 4px 0 !important; font-size: 11px !important; }
.inline-party { margin: 12px 0 0; border: 1px solid var(--line); padding: 14px; border-radius: 4px; min-width: 0; }
.inline-party legend { font-size: 12px; }
.inline-party label { display: grid; gap: 6px; font-size: 12px; margin-bottom: 12px; }
.inline-party-result { font-size: 11px; color: var(--muted); margin-bottom: 12px; }
.single-repair .modal-body { display: flex; flex-direction: column; }
.single-repair .modal-body>:not(.single-repair-work):not(.context-help), .single-repair #step-prev, .single-repair #step-next { display: none !important; }
.single-repair-work { order: 0; }
.single-repair .context-help { order: 1; min-height: 0; }
.single-repair-head { margin-bottom: 24px; }
.single-repair-head h3 { font-size: 20px; font-weight: 500; margin: 6px 0 10px; }
.single-repair-head p { font-size: 12px; color: var(--muted); }
.single-repair-head .eyebrow { font-size: 10px; color: var(--brand); }
.single-repair .repair-fields>#line-editors, .single-repair .repair-fields>#fee-editors { grid-column: 1/-1; width: 100%; }
.repair-expand { margin-top: 20px; border-color: transparent !important; padding-left: 0 !important; }
@media(max-width:760px){
 .task-header { grid-template-columns: 1fr auto; padding: 0 24px; gap: 0 16px; }
 .task-header .brand { min-height: 56px; }
 .task-header .nav { grid-column: 1/-1; grid-row: 2; justify-content: stretch; gap: 0; }
 .task-header .nav a { min-height: 48px; flex: 1; justify-content: center; }
 .header-tools { gap: 16px; }
 .task-header .search-launch .key { display: none; }
 .task-layout .content { padding: 24px; }
 .task-layout .task-row { grid-template-columns: 16px minmax(0,1fr); gap: 6px 12px; }
 .task-layout .task-row>.btn { grid-column: 2; justify-self: start; width: auto; margin: 8px 0 0; }
 .task-layout .guide-task-heading { gap: 8px; }
 .task-layout .guide-task-heading strong { font-size: 15px; }
 .task-layout .page-head { gap: 12px; }
 .task-layout .page-head .btn { min-width: 88px; }
 .task-scope { gap: 20px; }
 .practice-entry { display: block; }
 .practice-entry>span { display: block; margin-top: 4px; }
 .resource-purposes { display: grid; grid-template-columns: 1fr 1fr; gap: 0 20px; }
 .resource-purposes .btn { justify-content: flex-start; }
 .task-layout .modal-backdrop { padding: 12px; }
 .task-layout .modal .card-head { padding: 18px 20px 8px; }
 .task-layout .modal-body { padding: 12px 20px 20px; }
 .task-layout .modal .form-footer { padding: 12px 20px; }
 .task-layout .record-sections { gap: 20px; }
 .task-layout .record-context h1 { font-size: 19px; }
 .task-layout .record-context .page-head { align-items: flex-start; }
 .task-layout .btn, .task-layout .btn.small { min-height: 44px; }
 .task-layout .library-links .btn { min-height: 76px; }
 .template-more { display: block; }
}

.single-repair [type=submit] { background: var(--brand) !important; color: #fff !important; border-color: var(--brand) !important; }

.single-repair .repair-fields>.field:only-child { grid-column: 1/-1; }

.context-help { height: 64px; overflow-y: auto; flex-shrink: 0; }

.task-layout .guide-check.is-focus>.btn { min-height: 44px; }

.setup-contact { margin-bottom:24px; padding:16px 0; border-bottom:1px solid var(--line); } .setup-contact h2 { font-size:14px; } .setup-contact p { margin-top:8px; font-size:12px; color:var(--muted); }

.task-layout .library-links .btn { position:relative; border:0; border-bottom:1px solid var(--line); border-radius:0; padding-right:64px; } .resource-go { position:absolute; right:0; top:22px; font-size:11px; color:var(--brand); }
