/* Tenant component contract. Explicit classes; no utility-colour remapping. */
.ui-submit-bar{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding-block:12px;background:var(--erp-surface)}
@media(max-width:639px){.ui-submit-bar{position:sticky;bottom:0;z-index:10;border-block-start:1px solid var(--erp-border)}.ui-submit-bar .ui-button{width:100%}}
.tenant-ui :is(.erp-sidebar,.erp-topbar) [class*="text-[10px]"],.tenant-ui :is(.erp-sidebar,.erp-topbar) [class*="text-[9px]"]{font-size:13px;font-weight:500;letter-spacing:0;text-transform:none}
.tenant-ui .ui-workspace h1{font-size:28px;line-height:1.25;font-weight:600}.tenant-ui .ui-workspace :is(button,a)[class*="opacity-0"]{opacity:1}
.ui-modal-shell{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:transparent;color:var(--erp-text);overflow:hidden}.ui-modal-shell::backdrop{background:#0f172a80}.ui-modal-shell>div{max-height:100dvh;overflow:auto}.ui-modal-shell:not([open]){display:none}.ui-modal-shell[aria-label="Change subscription plan"][open]{display:flex;align-items:center;justify-content:center;padding:16px}.ui-modal-shell button{min-height:44px}html[dir=rtl] .ui-modal-shell .fixed.right-0{right:auto;left:0}
html[dir=rtl] .tenant-ui .erp-sidebar{left:auto;right:0;border-right:0;border-left:1px solid var(--erp-border)}
@media(min-width:768px){html[dir=rtl] .tenant-ui .erp-canvas.md\:pl-64{padding-left:0;padding-right:16rem}html[dir=rtl] .tenant-ui .erp-canvas.md\:pl-20{padding-left:0;padding-right:5rem}}
.tenant-ui .ui-workspace :is(input,select,textarea){max-width:100%}.tenant-ui .ui-workspace :is(label,button,a){overflow-wrap:anywhere}
.tenant-ui .ui-workspace .erp-tool-toggle{min-height:24px!important;width:44px!important;padding:0!important;overflow:visible}.tenant-ui .ui-workspace .erp-tool-toggle::before{content:"";position:absolute;inset:-10px 0}
@media(prefers-reduced-motion:reduce){.tenant-ui *, .tenant-ui *::before,.tenant-ui *::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
.tenant-ui{--erp-canvas:#f8fafc;--erp-surface:#fff;--erp-surface-muted:#f1f5f9;--erp-text:#0f172a;--erp-text-secondary:#475569;--erp-border:#cbd5e1;--erp-control-border:#64748b;--erp-primary:#0f766e;--erp-primary-hover:#115e59;--erp-selected-bg:#f0fdfa;--erp-info:#1d4ed8;--erp-info-bg:#eff6ff;--erp-success:#166534;--erp-success-bg:#f0fdf4;--erp-warning:#92400e;--erp-warning-bg:#fffbeb;--erp-danger:#b91c1c;--erp-danger-bg:#fef2f2;--erp-focus:#1d4ed8;--erp-brand:var(--erp-primary);--erp-brand-dark:var(--erp-primary-hover);--erp-ink:var(--erp-text);--erp-muted:var(--erp-text-secondary);--erp-line:var(--erp-border);--erp-radius:10px;font-size:16px;line-height:1.5;background:var(--erp-canvas);color:var(--erp-text)}
.tenant-ui :focus-visible{outline:2px solid var(--erp-focus);outline-offset:2px}.tenant-ui #erp-main{scroll-padding-block:24px}.tenant-ui [id]{scroll-margin-block:24px}
.ui-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-block-end:24px}.ui-heading>div{min-width:0}.ui-heading h1{font-size:28px;line-height:1.25;font-weight:600;overflow-wrap:anywhere;margin:0}.ui-heading p{font-size:15px;color:var(--erp-text-secondary);margin-block-start:8px;max-width:72ch}.ui-back{display:inline-block;margin-block-end:8px;color:var(--erp-primary);text-decoration:underline;text-underline-offset:3px}
.ui-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.ui-button{display:inline-flex;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:10px 16px;border:1px solid var(--erp-control-border);border-radius:8px;font-size:14px;font-weight:600;line-height:1.4;text-align:center;white-space:normal;transition:background-color 140ms,border-color 140ms;color:var(--erp-text);background:var(--erp-surface);text-decoration:none}.ui-button:hover{background:var(--erp-surface-muted)}.ui-button--primary{background:var(--erp-primary);color:white;border-color:var(--erp-primary)}.ui-button--primary:hover,.ui-button--primary:active{background:var(--erp-primary-hover);color:#fff}.ui-button--danger{background:var(--erp-danger);border-color:var(--erp-danger);color:#fff}.ui-button--danger:hover{background:#991b1b}.ui-button--tertiary{border-color:transparent;background:transparent;color:var(--erp-primary)}.ui-button:disabled{opacity:.7;cursor:not-allowed}.ui-button svg{width:20px;height:20px;flex:none}
.tenant-ui button.underline{min-height:44px;padding:9px 14px;border:1px solid var(--erp-control-border);border-radius:8px;background:var(--erp-surface);color:var(--erp-primary);font-weight:600;text-decoration:none}.tenant-ui button.underline:hover{background:var(--erp-surface-muted)}.tenant-ui button.underline[class*="text-red"]{border-color:#fecaca;background:var(--erp-danger-bg);color:var(--erp-danger)}
.ui-status{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border-radius:6px;font-size:13px;font-weight:500;line-height:1.4;white-space:normal;background:var(--erp-surface-muted);color:var(--erp-text-secondary)}.ui-status--info{color:var(--erp-info);background:var(--erp-info-bg)}.ui-status--success{color:var(--erp-success);background:var(--erp-success-bg)}.ui-status--warning{color:var(--erp-warning);background:var(--erp-warning-bg)}.ui-status--danger{color:var(--erp-danger);background:var(--erp-danger-bg)}
.ui-metric,.ui-record,.ui-panel{border:1px solid var(--erp-border);border-radius:10px;background:var(--erp-surface);padding:20px;min-width:0}.ui-metric h3{font-size:14px;font-weight:500}.ui-metric-value{font-size:28px;line-height:1.25;font-weight:600;margin-block:8px;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.ui-meta{font-size:13px;color:var(--erp-text-secondary);line-height:1.5}.ui-record-link{display:inline-block;min-height:36px;padding-block:8px;color:var(--erp-primary);text-decoration:underline;text-underline-offset:3px}.ui-record>header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.ui-record h3{font-size:16px;font-weight:600;overflow-wrap:anywhere}.ui-record footer{margin-block-start:16px}.ui-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-block:16px}.ui-facts dt{font-size:13px;color:var(--erp-text-secondary)}.ui-facts dd{font-size:15px;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.ui-table-region{width:100%;max-width:100%;overflow:auto;border:1px solid var(--erp-border);border-radius:10px;background:var(--erp-surface)}.ui-table-region table{width:100%;border-collapse:collapse}.ui-table-region th{font-size:14px;font-weight:600;text-align:start;background:var(--erp-surface-muted)}.ui-table-region :is(th,td){padding:12px 16px;border-block-end:1px solid var(--erp-border);vertical-align:top}.ui-table-region td{font-size:15px}.ui-table-region tr:last-child td{border-block-end:0}.ui-table-region tbody tr:hover{background:#f8fafc}.ui-number{text-align:end;font-variant-numeric:tabular-nums;unicode-bidi:isolate}.ui-scroll-hint{padding:12px 16px}
.ui-state{padding:20px;border:1px solid var(--erp-border);background:var(--erp-surface);border-radius:10px;margin-block-end:24px}.ui-state h2{font-size:18px;font-weight:600}.ui-state p{margin-block:8px}.ui-state--error{border-inline-start:4px solid var(--erp-danger);background:var(--erp-danger-bg);color:var(--erp-danger)}.ui-state a{text-decoration:underline}.ui-dialog{width:min(520px,calc(100% - 32px));max-height:calc(100dvh - 32px);border:1px solid var(--erp-border);border-radius:10px;padding:24px;color:var(--erp-text);background:white;overflow:auto}.ui-dialog::backdrop{background:#0f172a80}.ui-dialog h2{font-size:20px;font-weight:600}.ui-dialog p{margin-block:16px 24px}.ui-dialog .ui-actions{justify-content:flex-end}
.ui-form-section{padding:24px;background:var(--erp-surface);border:1px solid var(--erp-border);border-radius:10px}.ui-form-section h2,.ui-form-section h3{font-size:20px;font-weight:600;margin-block-end:16px}.ui-field{display:flex;flex-direction:column;gap:6px;min-width:0}.ui-field label{font-size:14px;font-weight:500}.ui-field :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea){font-size:16px;padding:10px 12px;min-height:44px;border:1px solid var(--erp-control-border);border-radius:8px;background:var(--erp-surface);color:var(--erp-text);width:100%}.ui-field [aria-invalid=true]{border-color:var(--erp-danger)}
@media(max-width:639px){.ui-heading{flex-direction:column;gap:16px}.ui-heading h1{font-size:24px}.ui-heading .ui-actions{width:100%}.ui-heading .ui-actions>*{flex:1 1 140px}.ui-form-section,.ui-panel,.ui-record,.ui-metric{padding:16px}.ui-button{min-height:48px;font-size:15px}.ui-metric-value{font-size:26px}.ui-dialog{width:100%;max-width:none;max-height:100dvh;margin:auto 0 0;border-radius:10px 10px 0 0;padding:20px}.ui-facts{grid-template-columns:1fr 1fr}}
@media(prefers-reduced-motion:reduce){.ui-button{transition:none}}
.ui-wrap{overflow-wrap:anywhere;white-space:normal}.ui-row-actions{display:flex;flex-wrap:wrap;gap:8px;opacity:1}.ui-row-actions :is(button,a){min-height:44px;min-width:44px}.ui-record-table{table-layout:auto}.ui-record-table td{white-space:normal;overflow-wrap:anywhere}.ui-record-table td:first-child{min-width:180px}.ui-record-table td:last-child{min-width:200px}.ui-record-table .ui-row-actions{justify-content:flex-start}
.ui-dashboard .dash-pulse{grid-template-columns:repeat(4,minmax(0,1fr))}.ui-dashboard .dash-head h1{font-size:28px;font-weight:600}.ui-dashboard :is(.dash-eyebrow,.dash-tag,.dash-pref-note){font-size:13px;letter-spacing:normal;text-transform:none}.ui-dashboard .dash-muted{font-size:14px}.ui-dashboard .dash-card{border-radius:10px;box-shadow:none}.ui-dashboard .dash-middle{grid-template-columns:minmax(260px,1fr) minmax(0,1.6fr)}.ui-dashboard .dash-value{font-size:28px;font-weight:600;overflow-wrap:anywhere}.ui-dashboard .dash-controls :is(input,select){font-size:16px;min-height:44px;border-color:var(--erp-control-border)}.ui-dashboard .dash-button{border-radius:8px;min-height:44px;font-weight:600}.ui-dashboard .dash-chart text{font-size:14px;fill:var(--erp-text-secondary)}
.ui-title{font-size:28px;font-weight:600;line-height:1.25}.ui-balance{display:flex;flex-direction:column;gap:4px;margin-block:12px}.ui-balance strong{font-size:18px;font-weight:600;overflow-wrap:anywhere}.ui-item-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-block-end:8px}.ui-item-toggle{display:none}.ui-invoice-form :is(input:not([type=checkbox]),select,textarea){font-size:16px;border-color:var(--erp-control-border);border-radius:8px}.ui-totals{color:var(--erp-text);background:var(--erp-surface);align-self:start}.ui-totals :is(.text-white,.text-gray-400,.text-gray-500){color:var(--erp-text-secondary)}.ui-totals>button[type=submit]{background:var(--erp-primary);color:#fff;border:1px solid var(--erp-primary);border-radius:8px;box-shadow:none}.ui-totals .text-4xl{font-size:28px;font-weight:600;color:var(--erp-text);overflow-wrap:anywhere}.ui-totals .flex{gap:12px;flex-wrap:wrap}
@media(max-width:639px){.ui-title{font-size:24px}.ui-item-toggle{display:inline-flex}.tenant-ui .ui-line-items tr{border-radius:10px;background:#fff}.tenant-ui .ui-line-items :is(input,select){min-height:48px}.ui-invoice-form .ui-totals{width:100%}}
@media(max-width:1023px){.ui-dashboard .dash-pulse{grid-template-columns:repeat(2,minmax(0,1fr))}.ui-dashboard .dash-middle{grid-template-columns:1fr}}@media(max-width:639px){.ui-dashboard .dash-pulse{grid-template-columns:1fr}.ui-dashboard .dash-head h1{font-size:24px}}
@media(max-width:639px){.tenant-ui .ui-table-region:has(>.ui-record-table){overflow:visible;border:0;background:transparent}.tenant-ui table.ui-record-table{display:block;min-width:0;width:100%}.ui-record-table>thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.ui-record-table>tbody{display:grid;gap:12px}.ui-record-table>tbody>tr{display:grid;grid-template-columns:minmax(0,1fr);border:1px solid var(--erp-border);border-radius:10px;background:var(--erp-surface);padding:16px;gap:12px}.tenant-ui .ui-record-table>tbody>tr>td{display:block;width:auto;min-width:0;padding:0;border:0;text-align:start;white-space:normal}.ui-record-table td[data-label]::before{content:attr(data-label);display:block;font-size:13px;font-weight:500;color:var(--erp-text-secondary);margin-block-end:4px}.ui-record-table td:first-child::before{display:none}.ui-record-table .ui-row-actions{border-block-start:1px solid var(--erp-border);padding-block-start:12px}.ui-record-table td>div{max-width:100%}.ui-record-table td[colspan]{text-align:center}}
/* Document comparisons become labeled records; financial totals retain their server strings. */
.ui-document-detail{overflow-wrap:anywhere}.ui-document-detail .ui-table-region{margin-block:24px}.ui-document-detail h1{font-size:28px;line-height:1.25}.ui-document-detail .flex{gap:16px;flex-wrap:wrap}.ui-document-detail td{font-variant-numeric:tabular-nums}
.ui-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.ui-form-grid label{display:flex;flex-direction:column;gap:6px;font-size:14px}.ui-form-grid :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea){width:100%;min-height:44px;font-size:16px;border:1px solid var(--erp-control-border);border-radius:8px;padding:10px 12px}.ui-form-grid button{justify-self:start;min-height:44px;padding:10px 16px;background:var(--erp-primary);color:white;border-radius:8px}
.ui-drawer{position:fixed;inset:0;width:100%;max-width:none;height:100dvh;max-height:none;margin:0;border:0;padding:0;background:transparent;color:var(--erp-text);overflow:hidden}.ui-drawer::backdrop{background:#0f172a80}.ui-drawer .fixed{inset-inline-end:0;inset-inline-start:auto}.ui-drawer form{font-size:16px}
.ui-kanban .crm-kanban-column{width:320px}.ui-kanban :is(select,button){min-height:44px;font-size:15px}.ui-kanban select{min-width:0}
@media(max-width:639px){.ui-document-detail{padding:16px}.ui-document-detail>div.bg-white{padding:16px}.ui-document-detail :is(.w-1\/2,.w-1\/3){width:100%}.ui-document-detail .min-w-\[200px\]{min-width:0;width:100%;text-align:start}.ui-document-detail .-mx-8{margin-inline:-16px;padding:16px}.ui-document-detail .-mb-8{margin-bottom:-16px}.ui-form-grid{grid-template-columns:minmax(0,1fr)}.ui-kanban{display:grid;grid-template-columns:minmax(0,1fr);overflow:visible}.ui-kanban .crm-kanban-column{width:100%}.ui-kanban .crm-kanban-card{cursor:default}.ui-drawer .max-w-md{max-width:100%}}
.ui-filter-panel{background:var(--erp-surface);border:1px solid var(--erp-border);border-radius:10px;margin-block-end:20px}.ui-filter-panel>summary{padding:14px 16px;min-height:48px;font-weight:600;cursor:pointer;color:var(--erp-primary)}.ui-filter-panel .erp-filters{border:0;margin:0}.ui-filter-panel :is(input,select){font-size:16px;min-height:44px;border-color:var(--erp-control-border)}.ui-catalog-form :is(input:not([type=checkbox]):not([type=radio]),select,textarea){font-size:16px;min-height:44px}.ui-catalog-form label:has(input[type=radio]):focus-within{outline:2px solid var(--erp-focus);outline-offset:2px}.ui-catalog-form>div.flex{flex-wrap:wrap}.tenant-ui .ui-drawer .bg-gray-900{background:var(--erp-surface-muted);color:var(--erp-text)}.tenant-ui .ui-drawer .bg-gray-900 :is(.text-white,.text-gray-400,.text-indigo-300){color:var(--erp-text-secondary)}
@media(prefers-reduced-motion:reduce){.tenant-ui .ui-drawer *,.tenant-ui .ui-line-items *{transition:none;animation:none}}
/* Opted-in workflow screens share control sizing without changing status colours. */
.tenant-ui .ui-workspace h1{font-size:28px;line-height:1.25;font-weight:600;overflow-wrap:anywhere}.tenant-ui .ui-workspace h3{font-size:18px;font-weight:600;line-height:1.4}.ui-workspace :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea){font-size:16px;min-height:44px;border-radius:8px;border-color:var(--erp-control-border);max-width:100%}.ui-workspace :is(button,a.inline-block){min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:8px;white-space:normal}.ui-workspace :is(td,th){overflow-wrap:anywhere}.ui-workspace .ui-table-region thead th{background:var(--erp-surface-muted);color:var(--erp-text-secondary)}.ui-workspace form{min-width:0}.ui-workspace form .flex{gap:12px;flex-wrap:wrap}.ui-workspace>div.flex{flex-wrap:wrap;gap:16px}
@media(max-width:639px){.tenant-ui .ui-workspace{padding:16px}.tenant-ui .ui-workspace h1{font-size:24px}.ui-workspace .ui-table-region{border:0}.ui-workspace .ui-record-table td{font-size:15px}.ui-workspace .ui-record-table .font-mono{font-variant-numeric:tabular-nums}.ui-workspace form button[type=submit]{min-height:48px}.ui-workspace .ui-table-region .ui-record-table>tbody>tr{margin:0}.ui-workspace .erp-document-items{min-width:0}}
@media(max-width:639px){.tenant-ui .ui-catalog-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.ui-catalog-metrics>div{padding:16px;gap:8px;align-items:flex-start;min-width:0}.ui-catalog-metrics>div:first-child{grid-column:1/-1}.ui-catalog-metrics>div:not(:first-child)>div:first-child{display:none}.ui-catalog-metrics p{overflow-wrap:anywhere}.ui-catalog-actions>*{flex:1 1 140px;min-height:48px}.ui-catalog-actions>button{flex-basis:100%}}
.ui-tabs{display:flex;flex-wrap:wrap;gap:8px}.ui-tabs button{margin:0}.ui-comparison-table{width:100%;min-width:0;border-collapse:collapse;table-layout:auto}.ui-comparison-table :is(th,td){padding:12px 16px;font-size:15px;vertical-align:top;overflow-wrap:anywhere}.ui-comparison-table .text-right{text-align:end;font-variant-numeric:tabular-nums}.ui-financial-region{max-width:100%;overflow:auto}.ui-workspace :is(.text-2xl,.text-3xl,.text-4xl){overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.ui-task-stage{display:flex;flex-direction:column;gap:8px}.ui-task-stage label{display:block}.ui-task-stage select{display:block}.ui-project-costs .ui-meta{color:#cbd5e1}
@media(max-width:639px){.ui-comparison-table :is(th,td){padding:10px 8px;font-size:15px}.ui-project-costs{grid-template-columns:minmax(0,1fr)}.ui-workspace .ui-tabs{width:100%}.ui-tabs button{flex:1 1 140px}.ui-workspace [x-show]>.flex.justify-between{flex-wrap:wrap;gap:12px}}

@media(min-width:640px){.ui-invoice-form .ui-item-toggle{display:none!important}}
.ui-invoice-form .ui-item-head{min-width:0}.ui-invoice-form .ui-item-toggle{white-space:nowrap;word-break:normal;flex-shrink:0}
.company-studio-grid{display:grid;grid-template-columns:minmax(210px,1fr) minmax(0,3fr);gap:32px}.company-studio-records{min-width:0}.company-studio-records .ui-record-table td:first-child{min-width:110px}.company-studio-records .ui-record-table td:last-child{min-width:100px}.company-studio-records .ui-record-table code{word-break:normal;overflow-wrap:normal}
@media(max-width:1023px){.company-studio-grid{grid-template-columns:minmax(0,1fr)}}
.tenant-ui .ui-workspace .text-gray-400{color:#64748b}.tenant-ui .ui-workspace .text-yellow-600{color:var(--erp-warning)}
.ui-dashboard .dash-brief strong{display:block}.ui-dashboard .dash-brief a{display:inline-block;margin-block:6px}
@media(min-width:640px){.erp-time-entries-unbilled .ui-record-table td:first-child{min-width:44px;width:44px}.erp-time-entries-unbilled .ui-record-table td:last-child{min-width:130px}.erp-time-entries-unbilled .ui-record-table :is(th,td):nth-child(2),.erp-time-entries-unbilled .ui-record-table :is(th,td):nth-child(4),.erp-time-entries-unbilled .ui-record-table :is(th,td):nth-child(5){white-space:nowrap;overflow-wrap:normal;font-variant-numeric:tabular-nums}}
@media(max-width:639px){.tenant-ui .ui-record-table td input[type=checkbox]{inline-size:24px;block-size:24px;vertical-align:middle}.tenant-ui .ui-record-table td[data-label="Select"]{min-height:44px;display:flex;align-items:center;gap:12px}.tenant-ui .ui-record-table td[data-label="Select"]::before{display:block;margin:0}.tenant-ui .ui-record-table td[data-label="Actions"] :is(a,button){min-height:44px;min-width:44px}}
@media(max-width:639px){.tenant-ui table.ui-summary-table,.tenant-ui .ui-summary-table tbody{display:block;width:100%;min-width:0}.tenant-ui .ui-summary-table tr{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:8px;border-block-end:1px solid var(--erp-border);padding:10px 12px}.tenant-ui .ui-summary-table td{display:block;min-width:0;max-width:100%;padding:0;text-align:start;overflow-wrap:anywhere}.tenant-ui .ui-summary-table td:last-child{margin-inline-start:auto;text-align:end;font-variant-numeric:tabular-nums}}
@media(max-width:639px){.tenant-ui .ui-record h3 a{display:inline-flex;align-items:center;min-height:44px}.tenant-ui .ui-record .ui-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.tenant-ui .ui-record .ui-facts dd{overflow-wrap:anywhere}}
