/* Shared finishing rules for the customer interface. */
.work-overview-grid.single-module{grid-template-columns:minmax(0,1fr)}
:root{--muted:#647489}
.field>span{font-size:13px;color:#43556b;line-height:1.5}
.field input,.field select,.field textarea{font-size:14px}
.search-box{max-width:280px}.search-box input{font-size:13px;min-height:43px}
.data-table{font-size:14px}.data-table th{font-size:11px;color:#5d6f82;letter-spacing:.35px}.data-table .sub{font-size:12px;color:#65758a;line-height:1.55}
.data-table .amount-remaining{color:#996311;font-weight:700}
.btn{font-size:14px;min-height:44px}.btn.small{font-size:13px;min-height:38px}.text-btn{font-size:13px}.check{font-size:13px}.check input{width:17px;height:17px;flex:none}
.badge{font-size:11px;letter-spacing:.1px}.tab{font-size:13px;min-height:38px}.settings-nav button{font-size:13px;min-height:42px}.settings-nav button svg{flex:none}
.page-note,.image-hint,.image-status{font-size:12px;color:#627287;line-height:1.7}.inline-note{font-size:13px;line-height:1.65}
.table-footer{font-size:12px;color:#617186}.stat-top{font-size:13px}.stat-sub{font-size:12px;line-height:1.6}.stat-value{font-size:32px}
.activity b,.activity-document{font-size:13px!important}.activity-document{color:var(--ink)}.activity p{font-size:12px;color:#63748a}.activity-amount{font-size:14px}.activity-amount small{font-size:12px}.activity-amount .sub{display:block;color:var(--muted);font-size:11px;font-weight:500;margin-top:3px}
.balance span,.balance-total,.expense-category,.expense-total{font-size:13px}.small-grid .stock-teaser>.teaser-count{font-size:12px}.small-grid .stock-teaser>h2{font-size:15px}
.expense-categories-panel.is-empty .empty{padding:18px 0}.expense-categories-panel.is-empty .category-track{display:none}.expense-categories-panel.is-empty .expense-total{margin-top:16px}
.settings-content>.panel+.panel{margin-top:20px}.settings-content .panel h2{font-size:18px}.settings-content .panel>.page-note:first-of-type{margin-bottom:16px}
.settings-content .subscription-overview+.panel{margin-top:20px}.feature-list li,.plan-card p{font-size:13px}.subscription-valid span,.subscription-valid small{font-size:13px}.subscription-valid .badge{display:inline-flex;margin-top:5px}
.subscription-period small{font-size:12px;line-height:1.5}.subscription-period span{font-size:14px}.subscription-preview,.change-preview{border:1px solid var(--line);border-radius:9px;background:#f5f9fd;padding:16px;margin-top:20px}
.subscription-preview{display:flex;justify-content:space-between;gap:16px;align-items:center}.subscription-preview span{color:var(--muted);font-size:13px}.subscription-preview b{font-size:17px}
.change-preview{display:grid;gap:9px}.change-preview>div{display:flex;justify-content:space-between;gap:16px}.change-preview>div:last-child{border-top:1px solid var(--line);padding-top:10px}.change-preview span{font-size:13px}.change-preview b{font-size:15px;white-space:nowrap}
.list-filters{border:1px solid var(--line);background:white;border-radius:9px;padding:14px 18px;margin-bottom:20px}.list-filters summary{cursor:pointer;font-size:14px;font-weight:700}.list-filters form{margin-top:18px}.filter-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:16px}
.batch-controls{gap:12px}.batch-controls .btn{font-size:13px}.batch-controls .check{margin-right:auto}.export-count{margin-top:18px;font-size:14px;font-weight:700;color:var(--ink)}
.work-card .panel-head{margin-bottom:12px}.work-card .detail-buttons{padding-top:15px}.work-card h2,.customer-card h2{font-size:17px}.work-card-context,.job-meta>span,.job-note,.customer-card>p,.contact-lines>span,.contact-lines>a{font-size:13px}.work-card .job-note{margin-top:12px;padding:10px 12px}
.work-card,.customer-card{padding:21px}.work-card .detail-buttons,.customer-card .detail-buttons{gap:9px}.work-group-label{font-size:12px;font-weight:800;color:#64768a;margin:8px 0}.work-group-label.overdue-label{margin-top:16px;color:#b54c49}.task-title b{font-size:13px}.task-title small{font-size:12px}.quiet-empty{font-size:13px;padding:10px 0}
.attention-card{padding:21px}.attention-card-head{margin-bottom:13px}.attention-card-copy h2{font-size:16px}.attention-card-copy p{font-size:13px}.attention-card-action{padding-top:14px;margin-top:16px}
.document-extra-actions{margin-top:18px;border-top:1px solid var(--line);padding-top:14px}.document-extra-actions summary,.detail-history>summary{font-size:14px;font-weight:700;cursor:pointer}.document-extra-actions .detail-buttons{margin-top:14px}.detail-history h3{margin-top:16px}.detail-history p{font-size:12px;line-height:1.7}.detail-meta{font-size:13px}.detail-meta span{font-size:12px}.document-kind{font-size:13px}.document-totals{font-size:14px}
.document-items .data-table{font-size:13px}.document-items .data-table th{font-size:11px}
.section-caption h2{font-size:16px}.section-caption>.muted{font-size:12px}.item-line .field>span{font-size:12px}.radio-card,.payment-option{font-size:13px}.summary-card dl{font-size:13px}.summary-note{font-size:11px}.summary-card .summary-items{font-size:13px}
.info-hint{position:relative;display:inline-flex;vertical-align:middle;color:#6b7f94;margin-left:5px;cursor:help}.info-hint svg{width:16px;height:16px}.info-hint:focus{outline:2px solid var(--blue);outline-offset:3px}.info-hint:focus:after{content:attr(aria-label);position:absolute;top:23px;right:0;z-index:50;width:260px;max-width:70vw;background:var(--navy);color:white;border-radius:7px;padding:12px;font-size:12px;font-weight:500;line-height:1.6;white-space:normal}
.code-copy-row{display:flex;gap:10px;align-items:stretch}.code-copy-row input{min-width:0;flex:1}.code-copy-row .btn{flex:none;margin:0!important}.service-accountant-settings .page-note{font-size:12px}
.user-row-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.user-row-actions .btn{font-size:12px}.user-row-actions .icon-btn{flex:none}.settings-content .activity:has(.user-row-actions){grid-template-columns:auto minmax(0,1fr) auto auto}
.tip-total{font-size:24px}.tip-history-row{display:flex;align-items:center;gap:12px;padding:15px 0;border-bottom:1px solid var(--line)}.tip-history-row>div{flex:1}.tip-history-row p{font-size:12px;color:var(--muted);margin-top:4px}.tip-history-row.is-inactive{color:var(--muted)}.panel-foot{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-top:12px;font-size:12px}
.setup-company-review{padding-bottom:16px;margin-bottom:20px;border-bottom:1px solid var(--line)}.setup-company-review summary{cursor:pointer;font-weight:700;font-size:14px}.setup-company-review .fields{margin-top:18px}
.toast.toast-error{background:#a33639}.toast{font-size:14px}.future-service-card p,.future-service-url{font-size:13px}.future-service-card h3{font-size:17px}.service-message{font-size:14px}.service-ticket small{font-size:12px}
@media(max-width:1100px){.settings-content .activity:has(.user-row-actions){grid-template-columns:auto minmax(0,1fr) auto}.user-row-actions{grid-column:2/-1;justify-content:flex-end}}
@media(max-width:720px){
 .editor-layout{grid-template-columns:minmax(0,1fr)}.editor-main,.form-section,.summary-card{min-width:0;max-width:100%}.fields,.editor-layout .fields.three{grid-template-columns:repeat(2,minmax(0,1fr))}.field input,.field select{min-width:0}.payment-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.section-caption{flex-wrap:wrap}.section-caption>.muted{margin-left:0;font-size:11px}.customer-choice{min-width:0}.radio-card{min-width:0}
 .field input,.field select,.field textarea,.search-box input{font-size:16px}.field>span{font-size:12px}.btn,.btn.small{min-height:42px;font-size:13px}.text-btn{font-size:13px}.settings-nav button{font-size:12px;min-height:42px}.stat-top{font-size:11px}.stat-value{font-size:27px}.stat-sub{font-size:11px}.quick-actions .btn{font-size:12px}.badge{font-size:11px}
 .batch-controls{padding:14px;gap:9px}.batch-controls .check{width:100%;margin-right:0}.batch-controls .btn{white-space:normal;flex:1 1 calc(50% - 6px);min-width:0;padding:8px;font-size:12px}.list-filters .fields.three{grid-template-columns:1fr 1fr}.change-preview,.subscription-preview{font-size:13px}.subscription-preview{align-items:flex-start;flex-direction:column;gap:7px}
 .table-panel .data-wrap{overflow:visible}.table-panel .data-table,.table-panel .data-table tbody{display:block;width:100%;white-space:normal;min-width:0}.table-panel .data-table thead{display:none}.table-panel .data-table tbody{display:grid;gap:12px}.table-panel .data-table tbody tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:white}.table-panel .data-table td{display:flex;flex-direction:column;align-items:flex-start;text-align:left;min-width:0;padding:11px 13px;border:0;overflow-wrap:anywhere;font-size:14px}.table-panel .data-table td:before{content:attr(data-label);font-size:11px;font-weight:600;color:var(--muted);margin-bottom:5px}.table-panel .data-table td[data-label=""]:before{display:none}.table-panel .data-table .document-quick-action{grid-column:1/-1;flex-direction:row;align-items:center;justify-content:flex-end;border-top:1px solid var(--line);gap:8px}.table-panel .data-table .amount{font-size:16px}.table-panel .data-table .sub{font-size:12px}.table-panel .table-footer{padding:15px 10px}.table-panel .data-table tr[data-detail]>td:first-child{justify-content:center}.table-panel .data-table tr[data-detail]>td:first-child:before{display:none}.table-panel .panel-head{padding:18px}.table-panel .data-table .document-quick-action .btn{min-height:42px;font-size:13px}
 .work-card,.customer-card,.attention-card{padding:18px}.work-card .detail-buttons .btn{font-size:13px}.job-meta{flex-wrap:wrap}.attention-card-copy p{font-size:13px}.tip-history-row{flex-wrap:wrap}.tip-history-row>div{flex-basis:100%}.tip-history-row .btn{flex:1}.panel-foot{flex-wrap:wrap}.user-row-actions{justify-content:flex-start}.settings-content .activity:has(.user-row-actions){grid-template-columns:auto minmax(0,1fr)}.settings-content .activity:has(.user-row-actions)>.badge{grid-column:2}.user-row-actions{grid-column:2}
 .table-panel .data-table tr[data-detail]{position:relative}.table-panel .data-table tr[data-detail]>td:first-child{position:absolute;right:5px;top:5px;padding:8px;z-index:1;width:40px;min-height:42px}.table-panel .data-table tr[data-detail]>td:nth-child(2){grid-column:1/-1;padding-right:50px}
}
@media(max-width:380px){.list-filters .fields.three{grid-template-columns:1fr}.stat-top{font-size:10px}.stat-value{font-size:24px}.quick-actions .btn{font-size:11px}.code-copy-row{flex-wrap:wrap}.code-copy-row input{flex-basis:100%}}
.feature-badge{margin-left:10px;vertical-align:middle}.feature-locked .switch{opacity:.45}.feature-locked .switch input{cursor:not-allowed}.check-row>div{min-width:0}.check-row small{line-height:1.6}.feature-management .page-note{margin-bottom:0}.recurring-rules{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:20px}.recurring-rule{padding:20px;border:1px solid var(--line);border-radius:12px;min-width:0}.recurring-rule h3{font-size:16px}.recurring-rule .panel-head{align-items:flex-start;gap:12px;margin-bottom:15px}.recurring-rule .panel-head p{font-size:12px;color:var(--muted);margin-top:5px;overflow-wrap:anywhere}.recurring-items{display:grid;gap:9px;font-size:13px}.recurring-items>div{display:flex;justify-content:space-between;gap:15px}.recurring-items b{white-space:nowrap}.recurring-rule .detail-meta{margin:18px 0;font-size:13px;grid-template-columns:repeat(2,minmax(0,1fr))}.recurring-rule .detail-buttons{flex-wrap:wrap}.recurring-demo{border-top:1px solid var(--line);margin-top:20px;padding-top:16px}.recurring-history{margin-top:15px;font-size:13px}.recurring-history summary{cursor:pointer;font-weight:700}.recurring-history .text-btn{display:block;margin-top:9px}.recurring-payment{font-size:14px;font-weight:700;margin-bottom:15px}#recurring-custom-days[hidden]{display:none}.recurring-settings .panel-head,.feature-management .panel-head{flex-wrap:wrap;gap:15px}
@media(max-width:1050px){.recurring-rules{grid-template-columns:minmax(0,1fr)}}
@media(max-width:720px){.feature-badge{display:table;margin:6px 0 0}.recurring-rule{padding:16px}.recurring-settings .panel-head .btn,.feature-management .panel-head .btn{width:100%}.recurring-items>div{flex-wrap:wrap;gap:4px}.recurring-items span{width:100%}}
