/* v2.0: task-oriented layout. Color roles remain in design/tokens.json. */
[hidden]{display:none!important}
:root{--ux-sidebar:216px;--ux-space:24px}
body{font-size:14px}
h1{font-size:26px;letter-spacing:0;font-weight:650}h2{font-size:19px}h3{font-size:16px}
.shell{grid-template-columns:var(--ux-sidebar) minmax(0,1fr)}
.sidebar{width:var(--ux-sidebar);padding:18px 12px 10px;overflow:hidden}
.brand{padding:0 7px 16px;grid-template-columns:40px 1fr;gap:10px}
.brand-logo{width:40px;height:40px}.brand-title{font-size:19px}.brand-caption{letter-spacing:1px}
.sidebar-create{margin:0 4px 10px;flex-shrink:0}.sidebar-create>.btn{width:100%;min-height:42px;font-weight:650}
.sidebar-nav{padding:0 3px 8px;scrollbar-width:thin}
.sidebar .nav-btn{min-height:38px;padding:8px 10px;margin:1px 0;gap:10px;font-size:13px;border-radius:6px}
.nav-btn>span:not(.count){flex:1}.nav-btn svg{width:16px;height:16px}
.nav-btn.active:after{top:10px;bottom:10px;width:2px}.nav-btn.active:before{display:none}
.nav-label,.sidebar-nav .nav-label{margin:12px 10px 4px;font-size:11px;letter-spacing:1px}
.nav-group-toggle{font-size:11px;letter-spacing:1px;min-height:28px;margin:6px 10px 2px;width:calc(100% - 20px);font-weight:500;color:var(--yx-muted)}
.nav-group-toggle span{margin-left:auto}
.sidebar .nav-bottom{margin-top:4px;padding:8px 4px 0;flex-shrink:0}
.nav-support{display:flex;justify-content:space-between;align-items:center;gap:6px;font-size:11px;min-height:32px}
.nav-support a{display:flex;gap:5px;align-items:center;color:var(--yx-muted)}.nav-support a:hover{color:var(--yx-primary)}
.sidebar .personal-entry{width:100%;padding:8px;border:0;margin:3px 0 0;min-height:52px;border-radius:6px;gap:9px;background:var(--yx-subtle-surface)}
.personal-entry .grow{text-align:left}.user-name{color:var(--yx-text)}.user-role{font-size:11px}.avatar{flex-shrink:0}
.topbar{height:60px;padding:0 28px;backdrop-filter:none;gap:16px}
.top-actions{gap:12px}.workspace-hint{font-size:12px;color:var(--yx-muted)}.topbar .workspace{min-height:36px;padding:6px 10px}
.topbar .mobile-start{display:none}.breadcrumb{font-size:13px;white-space:nowrap}.breadcrumb b{font-weight:600}
.main{max-width:1680px;padding:26px 28px 40px;outline:0}.page-heading{margin-bottom:20px;align-items:center}
.subtitle{font-size:13px;line-height:1.6;max-width:850px;margin-top:5px}.work-date{font-size:13px;color:var(--yx-muted)}
.btn{min-height:42px;padding:9px 14px}.btn.small{min-height:36px;padding:6px 10px;font-size:13px}.icon-btn{min-height:40px;min-width:40px;height:40px}
.surface,.product-card,.stat{border-radius:8px;box-shadow:none}
.stats{gap:0;border:1px solid var(--line);border-radius:8px;background:var(--yx-surface);margin-bottom:20px;overflow:hidden}
.stat{border:0;border-radius:0;border-right:1px solid var(--line);padding:14px 18px;gap:12px}.stat:last-child{border:0}.stat-value{font-size:23px;margin:0}.stat-icon{padding:9px;border-radius:6px}.stat-icon svg{height:18px;width:18px}.stat-foot{font-size:11px}
.toolbar{padding:16px 20px;gap:12px}.search{width:360px}.search input{font-size:13px}.filters{gap:8px}.filters select{max-width:240px}
.tabs{gap:24px;padding:0 20px;overflow-x:auto;white-space:nowrap}.tab{padding:14px 0 12px;min-height:44px}
th{font-size:12px;font-weight:500;white-space:nowrap;padding:12px 18px}td{font-size:13px;padding:14px 18px;vertical-align:middle;line-height:1.55}
td .name,.link-name{font-size:14px}.sub{font-size:12px;line-height:1.55;margin-top:3px}.code{font-variant-numeric:tabular-nums;letter-spacing:.2px}
.customer-icon{width:34px;height:34px;border-radius:6px;flex-shrink:0}.customer-cell{gap:10px}.table-foot{padding:12px 20px;font-size:12px}
.table-wrap{scrollbar-width:thin}.table-wrap table{min-width:660px}.history-table table{min-width:500px}
.notice,.intro-strip{font-size:13px;border-radius:6px;padding:12px 14px;line-height:1.7}.intro-strip{margin-bottom:20px}
.empty{padding:38px 20px}.empty-icon{margin-bottom:12px}.empty h3{font-size:16px}.empty p{font-size:13px;max-width:540px;margin:8px auto 18px}
.page-notes{font-size:11px}.overview-filters{gap:12px;padding:0 20px 16px}.overview-filters label{font-size:12px}
.overview-table th:first-child{width:22%}.overview-coop{grid-template-columns:minmax(150px,1.4fr) minmax(105px,1fr) minmax(85px,.7fr);gap:12px}.overview-coop b{font-size:13px}.overview-coop>div{font-size:13px}
.work-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--line);border-radius:8px;background:var(--yx-surface);margin-bottom:22px;overflow:hidden}
.work-metric{text-align:left;padding:18px 20px;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:7px;min-width:0}
.work-metric:last-child{border:0}.work-metric:hover{background:var(--yx-hover)}.work-metric>span{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--yx-muted);font-size:13px}.work-metric svg{width:15px;opacity:.7}
.work-metric strong{font-size:30px;line-height:1.3;font-weight:650;font-variant-numeric:tabular-nums}.work-metric strong small{margin-left:7px;font-weight:400}.work-metric>small{color:var(--yx-muted);font-size:11px}
.work-grid{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:20px;align-items:start}.work-aside{display:grid;gap:20px}
.surface-head{padding:16px 20px}.surface-head h2{font-size:17px}.surface-head .sub{margin:3px 0 0}
.work-item{padding:16px 20px;display:flex;align-items:center;gap:16px;border-bottom:1px solid var(--line)}.work-item:last-child{border-bottom:0}.work-item:hover{background:var(--yx-row-hover)}
.work-item-main{min-width:0;flex:1}.work-item-main>.link-name{font-weight:600;text-align:left}.work-item-main>small{display:block;font-size:11px;color:var(--yx-muted);margin-top:6px}.work-item-end{display:flex;align-items:flex-end;flex-direction:column;gap:5px}
.quick-path{display:flex;align-items:center;width:100%;gap:12px;text-align:left;padding:16px 20px;border-bottom:1px solid var(--line)}.quick-path:last-child{border:0}.quick-path:hover{background:var(--yx-hover)}.quick-path>svg:first-child{color:var(--yx-primary)}.quick-path>span{flex:1}.quick-path b{display:block;font-size:13px;font-weight:600}.quick-path small{display:block;font-size:11px;color:var(--yx-muted);margin-top:4px}
.work-guide{padding:18px 20px;border:1px solid var(--line);border-radius:8px;background:var(--yx-subtle-surface)}.work-guide .eyebrow{font-size:11px;color:var(--yx-muted)}.work-guide h3{margin:6px 0 12px;font-size:15px}.work-guide ol{padding-left:20px;color:var(--yx-muted);font-size:12px;line-height:2.1;margin:0 0 14px}.work-guide a{font-size:12px;display:inline-flex;gap:6px;align-items:center}
.queue-tabs{padding:10px 14px;display:flex;gap:4px;flex-wrap:wrap;border-bottom:1px solid var(--line)}.queue-tab{font-size:13px;padding:10px 12px;min-height:40px;display:flex;gap:8px;align-items:center;border-radius:6px;color:var(--yx-muted)}.queue-tab b{font-size:11px;font-weight:500}.queue-tab.active{background:var(--yx-selected);color:var(--yx-primary);font-weight:600}.queue-tab:hover{background:var(--yx-hover)}
.work-table td:first-child{width:27%}.work-table td:nth-child(2){width:25%}.work-table td:last-child{white-space:nowrap}
.product-grid{gap:18px;grid-template-columns:repeat(2,minmax(0,1fr))}.product-card{padding:20px;display:flex;flex-direction:column}.product-top{gap:12px}.product-top h3{font-size:16px}.product-icon{width:44px;height:44px;font-size:14px;border-radius:8px}.product-desc{margin:16px 0;font-size:13px;line-height:1.65;min-height:0}.product-mode{margin-top:auto;padding-top:16px}.product-mode .list-count{font-size:11px}
.agent-filters{gap:8px;margin-bottom:16px}.agent-filter{padding:10px 14px;min-height:44px;border-radius:6px;font-size:13px}.agent-filter b{font-size:16px}.agent-filter svg{width:18px;height:18px}
.company-row{padding:18px 20px;gap:20px}.company-row h3{font-size:14px}.company-identity{gap:10px}.company-controls{gap:8px}.company-controls .sub{font-size:11px}
/* Complex records open as centered workspaces. Lists remain in the background. */
.drawer{inset:20px;margin:auto;width:min(1160px,calc(100vw - 48px));height:calc(100dvh - 40px);max-height:calc(100dvh - 40px);max-width:calc(100vw - 48px);border:1px solid var(--line);border-radius:12px}
.modal{border:1px solid var(--line);border-radius:12px;max-height:calc(100dvh - 40px);max-width:880px;width:calc(100vw - 48px)}
.modal.wide{max-width:1160px}.modal-head,.drawer .modal-head{padding:12px 20px;min-height:66px;gap:12px}.modal-head h2{font-size:18px}.dialog-title{gap:12px}.dialog-title>.btn{font-size:12px;color:var(--yx-muted);padding-left:0}
.modal-body,.drawer .modal-body{padding:20px 24px 24px}.modal-head{z-index:6}.modal-body input,.modal-body select{font-size:14px}
.detail-header{margin-bottom:16px;gap:12px}.detail-header h2{font-size:22px}.detail-header .sub{font-size:12px}.detail-data{gap:16px 24px}.detail-data>div{padding:8px 0}.detail-data dt{font-size:12px}.detail-data dd{font-size:14px;margin-top:5px}
.record-tabs,.policy-nav{display:flex;align-items:center;gap:18px;border-bottom:1px solid var(--line);margin:20px 0;overflow-x:auto;white-space:nowrap;scrollbar-width:thin}.record-tab{min-height:44px;display:inline-flex;align-items:center;gap:6px;font-size:13px;border-bottom:2px solid transparent;padding:10px 3px;color:var(--yx-muted)}.record-tab.active{border-color:var(--yx-primary);color:var(--yx-primary);font-weight:650}.record-tab span{font-size:11px;background:var(--yx-subtle-surface);border-radius:4px;padding:0 5px}.record-tab:hover{color:var(--yx-primary)}
.record-dialog [data-record-pane]{min-height:260px}.record-dialog .detail-section{margin-top:0}.record-dialog .related-matters{padding-top:0}
.policy-section{margin-top:18px;padding-top:18px}.policy-workspace>.policy-section{margin-top:0;border-top:0;padding-top:0}.policy-nav{margin:12px 0 20px;gap:20px}.policy-nav .record-tab{white-space:normal;text-align:left}.policy-section>.section-title{margin-bottom:12px}.policy-section>.sub{margin-bottom:14px}.policy-section .detail-data{margin-top:16px}.policy-dialog .policy-workspace .detail-data{grid-template-columns:repeat(2,minmax(0,1fr))}
.form-grid{gap:18px 22px}.form-grid label{font-size:13px;line-height:1.55;gap:6px}.full{grid-column:1/-1}.form-actions{padding:14px 0 0;gap:10px}
.agent-form-section{padding-bottom:16px}.agent-policy-table{gap:14px}.agent-product-policy{border-radius:8px}.agent-base-values dt{line-height:1.6}.agent-form-section>h3{margin-bottom:16px}.grade-note{padding:10px 12px;background:var(--yx-subtle-surface);border-radius:6px}.grade-note .sub{margin-top:7px}
/* The business rail shows actual workflow state; the side rail only switches content. */
.process-track{display:flex;list-style:none;padding:0;margin:0 0 20px;gap:0;border:1px solid var(--line);border-radius:6px;overflow:hidden;background:var(--yx-subtle-surface)}
.process-track li{flex:1;display:flex;align-items:center;justify-content:center;gap:7px;padding:10px 8px;color:var(--yx-muted);font-size:11px;white-space:nowrap;position:relative}.process-track li+li{border-left:1px solid var(--line)}.process-track li>span{display:grid;place-items:center;width:19px;height:19px;flex-shrink:0;border:1px solid var(--line);border-radius:50%;font-size:10px}.process-track li.current{background:var(--yx-selected);color:var(--yx-primary);font-weight:600}.process-track li.current>span{background:var(--yx-primary);color:var(--yx-on-primary);border-color:var(--yx-primary)}.process-track li.done>span{color:var(--yx-success);border-color:var(--yx-success)}.process-track svg{width:12px;height:12px}
.drawer.case-dialog{width:min(1360px,calc(100vw - 40px));max-width:calc(100vw - 40px)}
.case-dialog .modal-body{display:grid;grid-template-columns:160px minmax(0,1fr);gap:0 24px;padding:20px 24px 0}
.case-dialog .detail-header,.case-dialog .process-track,.case-dialog .form-actions,.case-dialog .form-error{grid-column:1/-1}
.case-dialog .case-nav{grid-column:1;grid-row:3/5;align-self:start;position:sticky;top:88px;display:flex;flex-direction:column;gap:5px;border:0;padding:0;margin:0 0 20px}
.case-nav .business-step{padding:12px;min-height:60px;gap:0;flex:none;border:0;border-left:2px solid transparent;border-radius:0 6px 6px 0;background:none;text-align:left}.case-nav .business-step>span{display:none}.case-nav .business-step.active{background:var(--yx-selected);border-left-color:var(--yx-primary)}.case-nav .business-step b{font-size:13px}.case-nav .business-step small{font-size:11px;margin-top:5px;white-space:normal}
.case-dialog .case-stage-note{grid-column:2;margin:0 0 18px;display:flex;gap:10px;align-items:baseline;flex-wrap:wrap;padding:12px 14px;border:0;border-radius:6px;background:var(--yx-subtle-surface)}.case-stage-note b{font-size:13px}.case-stage-note span{font-size:12px}
.case-dialog .case-pane{grid-column:2;grid-row:4;min-height:280px;margin:0 0 20px;min-width:0}.case-dialog .form-actions{margin:0 -24px;padding:12px 24px;position:sticky;bottom:0;border-top:1px solid var(--line);z-index:5;gap:8px}
.case-dialog .term-columns{grid-template-columns:minmax(0,1fr) 235px;gap:18px}.case-dialog .term-summary{padding:14px}.case-dialog .quote-grid{grid-template-columns:1fr 1fr;gap:14px}.case-dialog .quote-cell strong{font-size:20px}
.case-dialog .task{padding:16px;gap:14px;border-radius:6px}.case-dialog .task-title{font-size:14px}.case-dialog .task-note{font-size:12px}
/* Intake keeps three stable steps, with contracts in their own visible tab. */
.intake-dialog{width:min(1360px,calc(100vw - 48px));max-width:1360px!important;max-height:calc(100dvh - 32px)}
.intake-dialog .modal-body{padding:18px 24px 0}.intake-dialog .modal-head{padding:12px 24px}.intake-dialog .business-nav{margin:0 0 18px;padding:0 0 16px;border-bottom:1px solid var(--line);gap:12px;grid-template-columns:repeat(3,minmax(0,1fr))}.intake-dialog .business-step{padding:12px 16px;min-height:60px;gap:12px;border-radius:6px;border:1px solid var(--line)}.intake-dialog .business-step b{font-size:14px}.intake-dialog .business-step small{font-size:11px;margin-top:3px}.business-step>span{width:25px;height:25px;min-width:25px;font-size:12px}
.intake-key-fields{padding:18px;background:var(--yx-subtle-surface);border:1px solid var(--line);border-radius:8px}.intake-key-fields label{font-size:14px;font-weight:600}.intake-key-fields select{font-weight:400}.intake-guidance{padding:12px 0;color:var(--yx-muted);font-size:12px}.choice-grid{gap:10px}.choice{border-radius:6px;padding:16px;min-height:68px;gap:12px}.choice small{font-size:12px}.choice>span{font-size:14px}.choice input[type=checkbox]{width:18px;height:18px;flex-shrink:0}
.intake-header{grid-template-columns:1fr minmax(260px,1.3fr);gap:20px;margin-bottom:12px;padding:0}.intake-header .eyebrow{font-size:12px}.intake-header .sub{margin-top:4px}.intake-header label{font-size:12px}.intake-header input{min-height:40px;font-size:13px}
.intake-tabs{margin:0 0 16px;gap:22px}.intake-contract{border:0;padding:0;margin:0;min-height:310px}.software-tabs{padding:0 0 12px;margin-bottom:0;gap:8px;border:0}.software-tab{padding:8px 10px;gap:8px;min-height:38px;font-size:13px;border-radius:5px}.software-tab small{font-size:11px}.software-tab>span{width:20px;height:20px;font-size:11px}
.term-box.compact-term{border:1px solid var(--line);border-radius:8px;overflow:visible;padding:0;margin:0}.term-tabs{padding:0 18px;gap:22px;background:var(--yx-subtle-surface);border-radius:8px 8px 0 0}.term-tab{min-height:44px;font-size:13px;padding:12px 0}.term-columns{grid-template-columns:minmax(0,1fr) 280px;gap:22px;padding:18px}.term-editor{min-width:0}.term-summary{margin:0;align-self:start;padding:16px;border-radius:6px;background:var(--yx-subtle-surface);border:1px solid var(--line)}.summary-title{font-size:13px}.quote-grid{gap:16px 12px;margin-top:16px}.quote-cell strong{font-size:23px;line-height:1.4;letter-spacing:0}.quote-cell small{font-size:11px;line-height:1.5}.quote-basis{font-size:11px;margin-top:16px;padding-top:12px}.quote-slot .notice{font-size:12px;line-height:1.65;margin-top:14px}
.term-editor .form-grid{gap:14px 18px}.term-editor label{font-size:13px}.term-editor .auto-person{padding:10px 12px;border-radius:6px}.pricing-fields{margin-top:14px}.price-origin{margin:14px 0 0}.exception-section{margin-top:14px}.allocation-panel{margin-top:14px;border-radius:6px;padding:14px}.allocation-row{gap:14px;margin-top:14px}.allocation-remaining{font-size:12px;padding:10px}.factory-reference b{font-size:22px}
.intake-dialog .form-actions{margin:18px -24px 0;padding:12px 24px;position:sticky;bottom:0;z-index:5}.intake-dialog .form-actions .left{margin-right:auto}.review-header{padding:14px 16px;background:var(--yx-subtle-surface);border-radius:6px;margin-bottom:16px}.review-items article{padding:16px;border-radius:6px}.review-values{gap:14px 22px}.review-values dt{font-size:12px}.review-values dd{font-size:14px}
.contract-remediation{padding:16px;border-radius:8px}.contract-remediation td{font-size:13px;line-height:1.7}.contract-fields th:first-child{width:145px}.contract-fields th:last-child{width:100px}.contract-attachments .list-row{gap:12px}.contract-attachments a{word-break:break-all}
.form-error:empty{display:none}.input-error{font-size:12px}.field-hint{vertical-align:middle}.help-popover{z-index:10;max-width:min(340px,calc(100vw - 64px))}.form-error:not(:empty){padding:12px 14px;border-radius:6px}
.auth-card{padding:32px;border-radius:12px}.auth-brand{font-size:20px}.auth-page{min-height:100dvh}.auth-card h1{font-size:25px}.auth-card .btn.primary{min-height:46px}
.role-status-tabs{gap:6px}.role-permissions{margin-top:20px}.role-permission-grid{gap:12px}.approval-row{padding:18px 0}.approval-meta{font-size:12px}.approval-row .section-title h3{font-size:15px}
@media(min-width:1500px){.product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.work-grid{grid-template-columns:minmax(0,1fr) 320px}}
@media(max-width:1100px){:root{--ux-sidebar:200px}.main{padding:24px 22px}.topbar{padding:0 22px}.work-grid{grid-template-columns:minmax(0,1fr) 245px;gap:16px}.work-metric{padding:15px}.work-metric>small{line-height:1.5;min-height:32px}.case-dialog .modal-body{grid-template-columns:140px minmax(0,1fr);gap:0 18px}.case-dialog .term-columns,.term-columns{grid-template-columns:minmax(0,1fr)}.term-summary{position:static;display:block}.quote-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.case-dialog .quote-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.quote-basis{margin-top:10px}.work-item{padding:14px 16px}.workspace-hint{display:none}.process-track li{font-size:10px;gap:4px;padding:9px 5px}}
@media(max-width:900px){.work-grid{grid-template-columns:1fr}.work-aside{grid-template-columns:1fr 1fr}.work-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.work-metric:nth-child(2){border-right:0}.work-metric:nth-child(-n+2){border-bottom:1px solid var(--line)}.work-metric>small{min-height:0}.company-row{grid-template-columns:1fr}.product-grid{grid-template-columns:1fr}.case-dialog .process-track{overflow-x:auto}.process-track li{min-width:100px}.intake-dialog .business-step small{display:none}}
@media(max-width:760px){.shell{display:block}.sidebar{width:228px;transform:translateX(-100%);transition:transform 160ms ease}.sidebar.open{transform:translateX(0)}.sidebar .nav-btn{min-height:42px}.page{width:100%;margin:0}.mobile-menu{display:inline-grid}.mobile-scrim{position:fixed;inset:0;background:var(--yx-overlay);z-index:19;width:100%;height:100%;border:0;display:none}.mobile-scrim.show{display:block}.topbar{height:auto;min-height:62px;display:flex;flex-wrap:wrap;padding:10px 14px;gap:8px;position:sticky}.breadcrumb{display:flex;gap:8px;flex:1}.breadcrumb>span,.breadcrumb>svg{display:none}.breadcrumb b{font-size:13px}.top-actions{display:flex;gap:8px}.top-actions .workspace{max-width:112px;font-size:11px}.topbar .mobile-start{display:inline-flex;min-height:40px;font-size:12px;padding:7px 9px}.topbar .mobile-start svg{display:none}.main{padding:20px 14px 30px}h1{font-size:23px}.page-heading{gap:12px;flex-wrap:wrap;margin-bottom:16px}.subtitle{font-size:12px}.work-date{font-size:12px}.work-metrics{margin-bottom:16px}.work-metric strong{font-size:27px}.work-metric{padding:14px}.work-metric>span{font-size:12px}.work-aside{grid-template-columns:1fr}.work-guide{display:none}.work-item{gap:10px}.work-item-main small{font-size:11px}.surface-head{padding:14px 16px}.surface-head h2{font-size:16px}.work-item-end .btn{font-size:12px}.stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:0}.stat{padding:12px;display:block}.stat-icon,.stat-foot{display:none}.stat-label{font-size:11px}.stat-value{font-size:22px}.toolbar{padding:14px;flex-wrap:wrap;gap:10px}.search{width:100%}.filters{width:100%;justify-content:space-between;flex-wrap:wrap}.filters select{max-width:100%}.overview-filters{grid-template-columns:1fr 1fr;padding:0 14px 14px;gap:10px}.status-legend{gap:5px;flex-wrap:wrap}.status-legend .badge{font-size:11px}.queue-tabs{flex-wrap:nowrap;overflow-x:auto;padding:8px;gap:4px}.queue-tab{flex-shrink:0;min-height:44px}.agent-filters{flex-wrap:wrap;gap:6px}.agent-filter{flex:1;padding:10px;font-size:12px;justify-content:center}.agent-filter svg{display:none}.product-grid{grid-template-columns:1fr;gap:14px}.product-card{padding:18px}.btn.small,.record-tab,.term-tab,.software-tab,.pager button,.nav-support a{min-height:44px}.nav-support a{font-size:11px}.page-notes{flex-direction:column;gap:5px}.drawer,.drawer.case-dialog{inset:0;margin:0;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;border-radius:0;border:0}.modal,.modal.wide,.intake-dialog{width:100vw;max-width:100vw!important;max-height:100dvh;border-radius:0;margin:auto;border:0}.modal-head,.drawer .modal-head,.intake-dialog .modal-head{padding:10px 14px;min-height:62px;flex-wrap:nowrap}.modal-head h2{font-size:16px}.dialog-title{flex-wrap:wrap;gap:2px 10px}.dialog-title .btn{min-height:28px;padding:0;font-size:11px}.modal-body,.drawer .modal-body,.intake-dialog .modal-body{padding:16px 14px}.detail-header h2{font-size:19px}.detail-header .actions{width:100%}.detail-data{grid-template-columns:1fr 1fr;gap:12px}.record-tabs,.policy-nav{margin:16px 0;gap:15px}.record-tab{flex-shrink:0;font-size:12px}.record-tabs .record-tab{white-space:nowrap}.policy-nav .record-tab{max-width:160px}.policy-dialog .policy-workspace .detail-data{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr;gap:14px}.form-grid>.full{grid-column:1}.case-dialog .modal-body{display:block;padding:16px 14px 0}.case-dialog .case-nav{position:static;flex-direction:row;overflow-x:auto;gap:4px;padding-bottom:10px;margin-bottom:12px}.case-nav .business-step{min-height:44px;flex-shrink:0;padding:10px 12px;border:0;border-bottom:2px solid transparent;border-radius:4px}.case-nav .business-step small{display:none}.case-nav .business-step.active{border-bottom-color:var(--yx-primary);border-left:0}.case-nav .business-step b{font-size:12px}.case-dialog .case-pane{min-height:220px}.case-dialog .case-stage-note{padding:10px 12px;gap:5px}.case-dialog .form-actions,.intake-dialog .form-actions{margin:16px -14px -16px;padding:10px 14px calc(10px + env(safe-area-inset-bottom));gap:7px;flex-wrap:wrap}.case-dialog .form-actions .btn,.intake-dialog .form-actions .btn{font-size:12px;padding:8px 10px;min-height:44px}.intake-dialog .business-nav{gap:5px;margin-bottom:14px;padding-bottom:14px}.intake-dialog .business-step{padding:9px 7px;min-height:48px;gap:7px}.intake-dialog .business-step b{font-size:12px}.business-step>span{width:20px;height:20px;min-width:20px;font-size:11px}.intake-key-fields{padding:14px}.choice-grid{grid-template-columns:1fr}.intake-header{display:block}.intake-header>div{display:none}.intake-header input{margin-top:4px}.software-tabs{overflow-x:auto;flex-wrap:nowrap}.software-tab{flex-shrink:0}.software-tab small{display:none}.term-tabs{gap:20px;padding:0 14px}.term-columns,.case-dialog .term-columns{padding:14px;gap:16px;display:block}.term-summary{margin-top:16px;padding:14px}.quote-grid,.case-dialog .quote-grid{grid-template-columns:1fr 1fr;gap:14px}.quote-cell strong{font-size:21px}.term-editor .form-grid{grid-template-columns:1fr;gap:14px}.allocation-row{grid-template-columns:minmax(0,1fr) 105px;gap:10px}.allocation-panel{padding:12px}.allocation-row label{font-size:12px}.allocation-row input,.allocation-row select{padding:9px 7px}.pricing-table table{min-width:680px}.tms-prices table{min-width:500px}.review-values{grid-template-columns:1fr 1fr;gap:14px}.review-header{grid-template-columns:1fr;gap:10px}.contract-attachments .list-row{flex-wrap:wrap}.form-actions{flex-wrap:wrap}.agent-policy-table{grid-template-columns:1fr}.agent-base-values dt{max-width:65%}.company-controls{flex-wrap:wrap}.process-track{margin-bottom:14px}.auth-page{padding:28px 16px}.auth-brand{font-size:17px}.auth-card{padding:24px;max-width:100%}.auth-card h1{font-size:23px}}
@media(prefers-reduced-motion:reduce){.sidebar,button{transition:none!important}}
.price-filter{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:14px 0}.price-filter label{display:flex;align-items:center;gap:12px;font-size:12px}.price-filter select{min-width:180px;min-height:36px}.price-filter .sub{margin:0}.agent-tabs{margin:0}.agent-dialog [data-agent-pane]{min-height:260px}.agent-dialog .agent-account-section>summary{display:none}.agent-dialog .agent-account-section{border:0;padding:0}.case-dialog .case-stage-note{align-self:start}.case-nav .business-step{min-height:53px;padding:9px 12px}
.intake-dialog .intake-header{display:block;margin:0 0 8px}.intake-header>div{display:none}.intake-header label{display:flex;align-items:center;gap:14px;white-space:nowrap}.intake-header input{flex:1;min-width:0}.intake-dialog .business-nav{padding-bottom:12px;margin-bottom:12px}.intake-dialog .business-step{min-height:54px;padding:9px 14px}.intake-dialog .intake-tabs{margin-bottom:10px}.intake-dialog .software-tabs{margin-bottom:10px}.intake-dialog .software-tab{padding:8px 12px;min-height:38px}.intake-dialog .term-columns{padding:16px;gap:20px}.intake-dialog .term-tabs{min-height:44px}.intake-dialog .term-tab{padding:10px 0}.intake-dialog .term-editor .form-grid{gap:14px 18px}.intake-dialog .price-origin{margin-top:12px}
@media(min-width:761px) and (max-height:800px){.sidebar{padding-top:12px}.brand{padding-bottom:12px}.sidebar .nav-btn{min-height:34px;padding-top:6px;padding-bottom:6px}.nav-label,.sidebar-nav .nav-label{margin-top:6px;margin-bottom:2px}.nav-group-toggle{min-height:24px;margin-top:2px}.sidebar-create{margin-bottom:6px}.sidebar .personal-entry{min-height:46px}.nav-support{min-height:26px}}
@media(max-width:760px){.price-filter{flex-wrap:wrap;gap:8px}.price-filter label{width:100%;justify-content:space-between}.price-filter select{min-width:160px}.case-nav .business-step{min-height:44px}.agent-tabs{gap:16px}.agent-dialog [data-agent-pane]{min-height:220px}}
.unsaved-dialog{max-width:440px!important;height:auto!important;inset:0;margin:auto}.unsaved-dialog .modal-body{padding:20px}.unsaved-dialog p{font-size:14px;line-height:1.8;margin:0}.unsaved-dialog .form-actions{margin-top:20px}.unsaved-dialog::backdrop{background:var(--yx-overlay)}
.skip-link{position:fixed;top:8px;left:12px;z-index:1000;transform:translateY(-160%);background:var(--yx-primary);color:var(--yx-on-primary);padding:12px 16px;border-radius:6px}.skip-link:focus{transform:translateY(0)}.intake-header label{flex-direction:row}.intake-header input{width:100%}.price-filter label{flex-direction:row}
@media(max-width:760px){.intake-header label{flex-direction:column;align-items:stretch;gap:4px;white-space:normal}.intake-header input{width:100%;flex:auto;margin:0}.intake-dialog .business-step{padding:9px 7px}.price-filter label{flex-direction:row}}

/* v2.1: confirmation owns its geometry, independent of business drawers. */
.nav-separator{height:1px;background:var(--yx-border);margin:12px 16px;pointer-events:none}
dialog.unsaved-dialog{position:fixed;inset:auto!important;top:50%!important;left:50%!important;transform:translate(-50%,-50%);margin:0!important;padding:0;border:1px solid var(--line);border-radius:12px;width:min(440px,calc(100vw - 32px))!important;max-width:calc(100vw - 32px)!important;height:fit-content!important;min-height:0!important;max-height:calc(100dvh - 32px);overflow:auto;box-sizing:border-box;box-shadow:0 24px 80px var(--yx-dialog-shadow)}
dialog.unsaved-dialog .modal-head{position:static;min-height:0;padding:18px 20px;display:block}
dialog.unsaved-dialog .modal-head h2{font-size:18px;margin:0}
dialog.unsaved-dialog .modal-body{display:block;padding:18px 20px}
dialog.unsaved-dialog .form-actions{position:static;margin:18px 0 0;padding:0;display:flex;justify-content:flex-end;flex-wrap:wrap;gap:10px}
dialog.unsaved-dialog .btn{white-space:normal;max-width:100%;flex:0 1 auto}
.learning-shell .topbar{border-bottom:3px solid var(--yx-primary)}
.learning-shell .workspace-hint{display:inline;color:var(--yx-primary);font-weight:600}
.learning-banner{padding:12px 14px;border:1px solid var(--yx-primary);color:var(--yx-text);background:var(--yx-subtle-surface);border-radius:8px;line-height:1.6;margin-bottom:16px}
@media(max-width:480px){dialog.unsaved-dialog .form-actions{flex-direction:column-reverse}dialog.unsaved-dialog .btn{width:100%}.learning-shell .workspace-hint{font-size:10px}}

/* v2.3: personal settings keep a readable, bounded width. */
dialog.modal.personal-dialog{max-width:680px;height:auto;min-height:0}
.personal-dialog .modal-body{padding:20px 24px}.profile-identity{display:flex;align-items:center;gap:14px;margin-bottom:18px}.profile-identity b{font-size:18px}.profile-identity p{margin:4px 0 0;color:var(--yx-muted);font-size:13px}.profile-identity .profile-avatar{width:44px;height:44px;flex:none}
.profile-tabs{margin:0 0 20px}.personal-dialog [data-profile-pane]{min-height:260px}.personal-dialog .profile-avatar-row{margin-top:20px;align-items:flex-start;gap:16px}.personal-dialog .profile-avatar-row>.profile-avatar{flex:none;width:72px;height:72px}.avatar-controls{min-width:0;flex:1}.avatar-controls input{width:100%;max-width:100%}.avatar-controls .btn{padding:6px 0;min-height:32px}.personal-dialog .policy-section{margin:0;padding:0;border:0}.profile-save-row{display:flex;align-items:center;gap:12px;margin-top:16px}.profile-save-status{font-size:13px;color:var(--yx-accent)}.profile-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid var(--line);padding-top:16px;margin-top:20px}
.contract-attachment{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}.contract-attachment>a{min-width:0;overflow-wrap:anywhere}.attachment-actions{display:flex;gap:8px;flex-wrap:wrap}.contract-upload-status:not(:empty){padding:10px 12px;background:var(--yx-subtle-surface);border-radius:6px;margin:10px 0}.contract-fields td:nth-child(2){max-width:640px}.contract-fields td{vertical-align:top}.contract-fields th:first-child{width:160px}.contract-fields th:last-child{width:110px}
@media(max-width:600px){dialog.modal.personal-dialog{width:calc(100vw - 20px);max-height:calc(100dvh - 20px)}.personal-dialog .modal-body{padding:16px}.personal-dialog .form-grid{grid-template-columns:1fr}.personal-dialog [data-profile-pane]{min-height:0}.contract-attachment{grid-template-columns:minmax(0,1fr)}.attachment-actions .btn{min-height:44px}.personal-dialog .profile-avatar-row{gap:12px}.profile-tabs{gap:4px}.profile-tabs .record-tab{padding:10px 8px;font-size:13px}}

/* v2.4 可读提示与列表尾部 */
.issue-list{margin:10px 0 0;padding-left:1.5em;display:grid;gap:7px;line-height:1.65}.issue-list li{padding-left:4px;overflow-wrap:anywhere}.form-error:has(.issue-list){max-height:34vh;overflow:auto}.member-pagination{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 24px;flex-wrap:wrap}.page-position{padding:0 10px;white-space:nowrap}.member-pagination .pager{margin-left:auto}.demo-account-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.demo-account{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:4px;padding:14px!important}.demo-account small{font-weight:400}.training-start{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px;padding:16px 20px;background:var(--yx-subtle-surface);border:1px solid var(--yx-border);border-radius:10px}.training-scenarios{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}.training-scenarios article{padding:18px;border:1px solid var(--yx-border);border-radius:10px;background:var(--yx-surface)}.training-scenarios h3{font-size:16px;margin:0 0 10px}.training-scenarios p{font-size:13px;line-height:1.6;margin:8px 0 14px}@media(max-width:550px){.demo-account-grid{grid-template-columns:1fr}.training-start{align-items:flex-start;flex-direction:column}}

/* v2.6: the learning course is accessible before and after choosing a training role. */
.training-video-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.training-video-welcome{display:flex;align-items:center;gap:14px;padding:16px;margin:20px 0;text-decoration:none;color:var(--yx-text);background:var(--yx-subtle-surface);border:1px solid var(--yx-primary);border-radius:10px}.training-video-welcome b{color:var(--yx-primary);display:block}.training-video-welcome small{display:block;font-size:12px;line-height:1.7;margin-top:5px}.training-play{display:grid;place-items:center;width:40px;height:40px;flex-shrink:0;border-radius:50%;color:var(--yx-on-primary,#fff);background:var(--yx-primary)}.training-video-start .sub{margin:6px 0 0;line-height:1.7}.training-video-welcome:focus-visible{outline:3px solid var(--yx-primary);outline-offset:4px}
@media(max-width:760px){.training-video-start{align-items:flex-start;flex-direction:column}.training-video-actions{width:100%}.training-video-actions .btn{flex:1;justify-content:center}}

/* Login education stays separate from the formal account form. */
.auth-learning{width:min(560px,100%);margin:24px auto 0;padding:28px;border:1px solid var(--yx-border);border-radius:18px;background:var(--yx-surface)}
.auth-learning h2{font-size:22px;margin:8px 0}.auth-learning>p{color:var(--yx-muted);line-height:1.7;font-size:14px}.auth-learning-links{display:grid;gap:10px;margin-top:18px}.auth-learning-links>a{display:flex;align-items:center;gap:14px;padding:14px 12px;border:1px solid var(--yx-border);border-radius:12px;color:var(--yx-text);text-decoration:none}.auth-learning-links>a:hover{border-color:var(--yx-primary);background:var(--yx-surface-muted)}.auth-learning-links>a>span{font-size:13px;color:var(--yx-primary);font-weight:700}.auth-learning-links b,.auth-learning-links small{display:block}.auth-learning-links small{margin-top:5px;font-size:12px;line-height:1.5;color:var(--yx-muted)}.auth-learning-links i{margin-left:auto;font-style:normal}.learning-shell .workspace-hint{font-weight:700}

.auth-page:has(.auth-learning){display:grid;grid-template-columns:minmax(280px,400px) minmax(300px,440px);gap:24px;align-content:center;justify-content:center}.auth-page:has(.auth-learning) .auth-brand{grid-column:1/-1;justify-content:center;margin:0 0 8px}.auth-page:has(.auth-learning) .auth-card{width:100%;margin:0}.auth-learning{width:100%;margin:0;align-self:stretch}.auth-learning-links>a:hover{background:var(--yx-subtle-surface)}
@media(max-width:760px){.auth-page:has(.auth-learning){display:flex;justify-content:flex-start;gap:18px}.auth-page:has(.auth-learning) .auth-brand{margin:0 0 8px}.auth-learning{padding:22px;width:min(440px,100%)}}
