/* EstateScale UI Kit layer. Load LAST on every page.
   Light mode follows "Web UI Elements Kit" (cream, coral, forest green, Plus Jakarta Sans).
   Dark mode follows "UI Kit for Web Design" (ink, violet, Inter).
   Everything is token driven; documents, paper sheets and print output are never touched. */

@media screen {

/* ---------- 1. Tokens ---------- */
html[data-estate-theme=shared]{
  color-scheme:light;
  --k-bg:#F6F1E9; --k-bg-2:#FAF7F2; --k-surface:#FFFFFF; --k-surface-2:#F5EFE6; --k-surface-3:#EBE3D7;
  --k-border:#DDD4C7; --k-border-strong:#C7BCAD;
  --k-text:#23382F; --k-text-2:#4A5A52; --k-muted:#666C67; --k-input-border:#8F8576;
  --k-primary:#C23C13; --k-primary-text:#C23C13; --k-primary-hover:#A8350F; --k-primary-fill:#FF6433; --k-primary-soft:#FFF2ED; --k-primary-soft-2:#FFE2D7; --k-on-primary:#FFFFFF;
  --k-accent:#2F483D; --k-accent-hover:#23382F; --k-accent-soft:#E4EBE6; --k-accent-light:#A9C2B2; --k-on-accent:#FFFFFF;
  --k-chrome:#2F483D; --k-chrome-2:#3A5648; --k-chrome-text:#F6F1E9; --k-chrome-muted:#B9C8BF;
  --k-success:#2A6A49; --k-warning:#8F5700; --k-danger:#B3321F; --k-info:#2F6F9A;
  --k-track:#E5DDD2; --k-focus:#FF6433;
  --k-shadow-sm:0 1px 2px rgba(47,72,61,.06),0 1px 3px rgba(47,72,61,.05);
  --k-shadow:0 6px 20px rgba(47,72,61,.08);
  --k-shadow-lg:0 20px 50px rgba(47,72,61,.16);
  --k-font:'Plus Jakarta Sans',Inter,ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;
  --k-r-sm:8px; --k-r:12px; --k-r-lg:16px; --k-r-pill:999px;
}
html[data-estate-theme=shared][data-es-color-mode=dark]{
  color-scheme:dark;
  --k-bg:#18181F; --k-bg-2:#14141A; --k-surface:#1F1F27; --k-surface-2:#252530; --k-surface-3:#2E2E3D;
  --k-border:#2E2E3D; --k-border-strong:#3B3B4F;
  --k-text:#F1F0F7; --k-text-2:#DEDDE8; --k-muted:#9A98AF; --k-input-border:#6A6A86;
  --k-primary:#7440EE; --k-primary-text:#B596FE; --k-primary-hover:#8352FD; --k-primary-fill:#8352FD; --k-primary-soft:#2D254B; --k-primary-soft-2:#3A2F66; --k-on-primary:#FFFFFF;
  --k-accent:#9E76FE; --k-accent-hover:#B596FE; --k-accent-soft:#2D254B; --k-accent-light:#9E76FE; --k-on-accent:#18181F;
  --k-chrome:#14141A; --k-chrome-2:#1F1F27; --k-chrome-text:#F1F0F7; --k-chrome-muted:#9A98AF;
  --k-success:#4ADE99; --k-warning:#FBBF24; --k-danger:#F87171; --k-info:#7DB8FF;
  --k-track:#282836; --k-focus:#9E76FE;
  --k-shadow-sm:0 1px 2px rgba(0,0,0,.35);
  --k-shadow:0 8px 24px rgba(0,0,0,.35);
  --k-shadow-lg:0 24px 60px rgba(0,0,0,.55);
  --k-font:Inter,ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;
}

/* ---------- 2. Map kit tokens onto the app's existing token names ---------- */
html[data-estate-theme=shared]{
  --es-primary:var(--k-primary)!important; --es-primary-hover:var(--k-primary-hover)!important; --es-primary-soft:var(--k-primary-soft)!important;
  --es-primary-ink:var(--k-on-primary)!important; --es-secondary:var(--k-accent)!important; --es-focus:var(--k-focus)!important; --es-selected:var(--k-primary)!important;
  --es-canvas:var(--k-bg)!important; --es-surface:var(--k-surface)!important; --es-surface-muted:var(--k-surface-2)!important;
  --es-text:var(--k-text)!important; --es-text-muted:var(--k-muted)!important; --es-border:var(--k-border)!important;
  --es-chrome:var(--k-surface)!important; --es-chrome-text:var(--k-text)!important; --es-shadow:var(--k-shadow-sm)!important;
  --es-radius-control:var(--k-r-sm)!important; --es-radius-panel:var(--k-r)!important; --es-sans:var(--k-font)!important;
  --es-paper:var(--k-bg)!important; --es-white:var(--k-surface)!important; --es-ink:var(--k-text)!important; --es-muted:var(--k-muted)!important;
  --es-line:var(--k-border)!important; --es-green:var(--k-primary)!important; --es-copper:var(--k-primary)!important; --es-soft:var(--k-primary-soft)!important;
  --bg:var(--k-bg)!important; --page:var(--k-bg)!important; --panel:var(--k-surface)!important; --card:var(--k-surface)!important; --card-bg:var(--k-surface)!important;
  --surface:var(--k-surface)!important; --surface-alt:var(--k-surface-2)!important; --desk:var(--k-surface-2)!important;
  --ink:var(--k-text)!important; --text:var(--k-text)!important; --muted:var(--k-muted)!important;
  --line:var(--k-border)!important; --line2:var(--k-border)!important; --border:var(--k-border)!important; --brand-200:var(--k-border)!important;
  --accent:var(--k-primary)!important; --accent-dark:var(--k-primary-hover)!important; --accent-soft:var(--k-primary-soft)!important; --accent-ink:var(--k-on-primary)!important;
  --primary:var(--k-primary)!important; --primary-hover:var(--k-primary-hover)!important; --hover:var(--k-primary-soft)!important; --teal:var(--k-primary)!important;
  --shadow:var(--k-shadow-sm)!important; --ui:var(--k-font)!important;
  --acc-ink:var(--k-text)!important; --acc-muted:var(--k-muted)!important; --acc-line:var(--k-border)!important; --acc-blue:var(--k-primary)!important;
  --tally-teal:var(--k-primary)!important; --tally-dark:var(--k-chrome)!important; --tally-gold:var(--k-primary)!important; --tally-accent:var(--k-primary-soft)!important;
}

/* ---------- 3. Base typography and rhythm ---------- */
html[data-estate-theme=shared] body{font-family:var(--k-font)!important;background:var(--k-bg)!important;color:var(--k-text)!important;font-size:14px;line-height:1.55;letter-spacing:-.003em;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
html[data-estate-theme=shared] :is(h1,h2,h3,h4){font-family:var(--k-font)!important;color:var(--k-text);letter-spacing:-.022em;line-height:1.2;font-weight:700;text-wrap:balance}
html[data-estate-theme=shared] h1{font-size:clamp(1.65rem,1.2rem + 1.4vw,2.35rem);font-weight:800;letter-spacing:-.03em}
html[data-estate-theme=shared] h2{font-size:clamp(1.3rem,1.05rem + .8vw,1.7rem)}
html[data-estate-theme=shared] h3{font-size:1.08rem}
html[data-estate-theme=shared] p{text-wrap:pretty}
html[data-estate-theme=shared] :is(.text-xs,.text-\[11px\]){line-height:1.45}
html[data-estate-theme=shared] ::selection{background:var(--k-primary-soft-2);color:var(--k-text)}
html[data-estate-theme=shared] a:not([class]){color:var(--k-primary-text);text-underline-offset:3px}
html[data-estate-theme=shared] :is(button,a,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid var(--k-focus)!important;outline-offset:2px!important;border-radius:inherit}
html[data-estate-theme=shared] ::-webkit-scrollbar{width:10px;height:10px}
html[data-estate-theme=shared] ::-webkit-scrollbar-thumb{background:var(--k-border-strong);border-radius:99px;border:2px solid transparent;background-clip:content-box}
html[data-estate-theme=shared] ::-webkit-scrollbar-track{background:transparent}

/* ---------- 4. Brand utilities re-pointed to the kit (Tailwind-style classes used across the app) ---------- */
html[data-estate-theme=shared]{
  --kb-50:var(--k-primary-soft); --kb-100:var(--k-primary-soft); --kb-200:var(--k-border); --kb-300:var(--k-border-strong);
  --kb-400:var(--k-primary-fill); --kb-500:var(--k-primary-fill); --kb-600:var(--k-primary); --kb-700:var(--k-primary-hover); --kb-800:var(--k-accent); --kb-900:var(--k-accent-hover); --kb-950:var(--k-chrome);
}
html[data-estate-theme=shared] :is(.bg-brand-50,.bg-brand-100){background-color:var(--k-primary-soft)!important}
html[data-estate-theme=shared] :is(.bg-brand-50\/20,.bg-brand-50\/40,.bg-brand-50\/50,.bg-brand-50\/60,.bg-brand-50\/70,.bg-brand-50\/80){background-color:color-mix(in srgb,var(--k-primary-soft) 70%,transparent)!important}
html[data-estate-theme=shared] .bg-brand-200{background-color:var(--k-primary-soft-2)!important}
html[data-estate-theme=shared] :is(.bg-brand-400,.bg-brand-500){background-color:var(--k-primary-fill)!important}
html[data-estate-theme=shared] :is(.bg-brand-500\/10,.bg-brand-500\/20){background-color:color-mix(in srgb,var(--k-primary-fill) 16%,transparent)!important}
html[data-estate-theme=shared] .bg-brand-600{background-color:var(--k-primary)!important;color:var(--k-on-primary)}
html[data-estate-theme=shared] .bg-brand-700{background-color:var(--k-primary-hover)!important}
html[data-estate-theme=shared] :is(.bg-brand-800,.bg-brand-900){background-color:var(--k-accent)!important}
html[data-estate-theme=shared] :is(.bg-brand-950,.bg-brand-950\/70){background-color:var(--k-chrome)!important}
html[data-estate-theme=shared] :is(.hover\:bg-brand-100:hover,.hover\:bg-brand-50:hover){background-color:var(--k-primary-soft)!important}
html[data-estate-theme=shared] .hover\:bg-brand-700:hover{background-color:var(--k-primary-hover)!important}
html[data-estate-theme=shared] :is(.border-brand-50,.border-brand-100,.border-brand-200,.border-brand-300){border-color:var(--k-border)!important}
html[data-estate-theme=shared] :is(.border-brand-400,.border-brand-500,.border-brand-600,.border-brand-700,.border-brand-800){border-color:var(--k-primary)!important}
html[data-estate-theme=shared] :is(.text-brand-100,.text-brand-200,.text-brand-300){color:var(--k-primary-soft-2)!important}
html[data-estate-theme=shared] :is(.text-brand-400,.text-brand-600,.text-brand-700){color:var(--k-primary-text)!important}
html[data-estate-theme=shared] :is(.text-brand-800,.text-brand-900){color:var(--k-accent)!important}
html[data-estate-theme=shared] :is(.focus\:ring-brand-500:focus,.ring-brand-200,.ring-brand-500\/20){--tw-ring-color:color-mix(in srgb,var(--k-focus) 40%,transparent)!important}
html[data-estate-theme=shared] .bg-blue-600,html[data-estate-theme=shared] .bg-indigo-600{background-color:var(--k-primary)!important}

/* Dark mode: flip the light-only neutrals used by utility classes */
html[data-estate-theme=shared][data-es-color-mode=dark] :is(.bg-white,.bg-white\/95,.bg-white\/90):not(.es-preserve-document):not(.es-preserve-document *):not(#paperSheet *):not(.a4 *):not(.page-sheet *):not(.office-document *){background-color:var(--k-surface)!important}
html[data-estate-theme=shared][data-es-color-mode=dark] :is(.bg-slate-50,.bg-slate-100,.bg-gray-50,.bg-gray-100):not(.es-preserve-document *):not(.a4 *):not(#paperSheet *){background-color:var(--k-surface-2)!important}
html[data-estate-theme=shared][data-es-color-mode=dark] :is(.bg-slate-200,.bg-gray-200){background-color:var(--k-surface-3)!important}
html[data-estate-theme=shared][data-es-color-mode=dark] :is(.text-slate-900,.text-slate-800,.text-gray-900,.text-gray-800,.text-black){color:var(--k-text)!important}
html[data-estate-theme=shared][data-es-color-mode=dark] :is(.text-slate-700,.text-slate-600,.text-gray-700,.text-gray-600){color:var(--k-text-2)!important}
html[data-estate-theme=shared][data-es-color-mode=dark] :is(.text-slate-500,.text-slate-400,.text-gray-500,.text-gray-400){color:var(--k-muted)!important}
html[data-estate-theme=shared][data-es-color-mode=dark] :is(.border-slate-100,.border-slate-200,.border-slate-300,.border-gray-100,.border-gray-200,.border-gray-300){border-color:var(--k-border)!important}
html[data-estate-theme=shared][data-es-color-mode=dark] :is(.divide-slate-100>*+*,.divide-slate-200>*+*){border-color:var(--k-border)!important}

/* Status colours: soft tinted chips that work in both modes */
html[data-estate-theme=shared] :is(.bg-emerald-50,.bg-emerald-100,.bg-green-50,.bg-green-100){background-color:color-mix(in srgb,var(--k-success) 14%,transparent)!important}
html[data-estate-theme=shared] :is(.text-emerald-600,.text-emerald-700,.text-emerald-800,.text-green-600,.text-green-700){color:var(--k-success)!important}
html[data-estate-theme=shared] :is(.bg-amber-50,.bg-amber-100,.bg-yellow-50,.bg-yellow-100){background-color:color-mix(in srgb,var(--k-warning) 16%,transparent)!important}
html[data-estate-theme=shared] :is(.text-amber-600,.text-amber-700,.text-amber-800,.text-yellow-700){color:var(--k-warning)!important}
html[data-estate-theme=shared] :is(.bg-red-50,.bg-rose-50,.bg-rose-100){background-color:color-mix(in srgb,var(--k-danger) 13%,transparent)!important}
html[data-estate-theme=shared] :is(.text-red-600,.text-red-700,.text-rose-600,.text-rose-700){color:var(--k-danger)!important}
html[data-estate-theme=shared] :is(.bg-emerald-500,.bg-emerald-600,.bg-green-600){background-color:var(--k-success)!important}
html[data-estate-theme=shared] :is(.bg-rose-500,.bg-rose-600,.bg-red-600,.bg-red-700,.bg-rose-700){background-color:var(--k-danger)!important}

/* ---------- 5. App shell: sidebar, header, content frame ---------- */
html[data-estate-theme=shared] #top-header,
html[data-estate-theme=shared] #product-header{background:color-mix(in srgb,var(--k-surface) 88%,transparent)!important;backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid var(--k-border)!important;box-shadow:none!important;color:var(--k-text)!important}
html[data-estate-theme=shared] #main-content{max-width:1480px!important;padding-inline:clamp(14px,2.2vw,32px)!important;padding-block:clamp(14px,2vw,28px)!important;gap:clamp(14px,1.6vw,22px)!important}
html[data-estate-theme=shared] #workspace-function-rail,html[data-estate-theme=shared] .function-rail{background:var(--k-surface)!important;border:1px solid var(--k-border)!important;border-radius:var(--k-r)!important}

/* ---------- 6. Buttons (kit: big/small, solid + outline + forest) ---------- */
html[data-estate-theme=shared] :is(.es-btn,.btn,.button,.primary-btn,button.primary,.cal-primary,a.btn){display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:9px 18px;border-radius:var(--k-r-sm);border:1.5px solid var(--k-primary);background:var(--k-primary);color:var(--k-on-primary);font-weight:700;font-size:13.5px;letter-spacing:-.005em;text-decoration:none;box-shadow:none;transition:background-color .15s,border-color .15s,transform .1s,box-shadow .15s}
html[data-estate-theme=shared] :is(.es-btn,.btn,.button,.primary-btn,button.primary,.cal-primary,a.btn):hover{background:var(--k-primary-hover);border-color:var(--k-primary-hover);filter:none}
html[data-estate-theme=shared] :is(.es-btn,.btn,.button,.primary-btn,button.primary,.cal-primary,a.btn):active{transform:translateY(1px)}
html[data-estate-theme=shared] :is(.es-btn.secondary,.btn.secondary,.btn-secondary,.secondary-btn,button.secondary,.btn-outline){background:transparent;color:var(--k-primary-text);border-color:var(--k-primary)}
html[data-estate-theme=shared] :is(.es-btn.secondary,.btn.secondary,.btn-secondary,.secondary-btn,button.secondary,.btn-outline):hover{background:var(--k-primary-soft);color:var(--k-primary-text)}
html[data-estate-theme=shared] :is(.btn-dark,.btn-forest,.es-btn.dark){background:var(--k-accent);border-color:var(--k-accent);color:var(--k-on-accent)}
html[data-estate-theme=shared] :is(.btn-dark,.btn-forest,.es-btn.dark):hover{background:var(--k-accent-hover);border-color:var(--k-accent-hover)}
html[data-estate-theme=shared] :is(.btn-sm,.small,.es-btn.sm){min-height:32px;padding:5px 14px;font-size:12.5px;border-radius:var(--k-r-pill)}
html[data-estate-theme=shared] button:disabled,html[data-estate-theme=shared] .es-btn[disabled]{background:var(--k-surface-3)!important;border-color:var(--k-border)!important;color:var(--k-muted)!important;box-shadow:none!important;opacity:1!important}
/* Tailwind-built action buttons keep their markup but gain kit shape and weight */
html[data-estate-theme=shared] button.bg-brand-600,html[data-estate-theme=shared] a.bg-brand-600{border-radius:var(--k-r-sm);font-weight:700;letter-spacing:-.005em;box-shadow:none}
html[data-estate-theme=shared] button.bg-brand-600:hover,html[data-estate-theme=shared] a.bg-brand-600:hover{background-color:var(--k-primary-hover)!important}
html[data-estate-theme=shared] :is(button,a).font-bold{letter-spacing:-.005em}

/* ---------- 7. Inputs, selects, search, toggles, checkboxes ---------- */
html[data-estate-theme=shared] :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=hidden]):not([type=file]),select,textarea):not(.es-preserve-document *):not(.a4 *):not(#paperSheet *):not(#printRoot *):not(#sheet *):not([contenteditable] *){min-height:42px;background:var(--k-surface)!important;color:var(--k-text)!important;border:1.5px solid var(--k-input-border)!important;border-radius:var(--k-r-sm)!important;padding:9px 13px;font-size:14px;line-height:1.4;box-shadow:none;transition:border-color .15s,box-shadow .15s}
html[data-estate-theme=shared] textarea{min-height:92px}
html[data-estate-theme=shared] :is(input,select,textarea)::placeholder{color:var(--k-muted);opacity:.85}
html[data-estate-theme=shared] :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=hidden]):not([type=file]),select,textarea):hover:not(:disabled){border-color:var(--k-border-strong)!important}
html[data-estate-theme=shared] :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=hidden]):not([type=file]),select,textarea):focus{border-color:var(--k-primary)!important;box-shadow:0 0 0 4px color-mix(in srgb,var(--k-focus) 22%,transparent)!important;outline:none!important}
html[data-estate-theme=shared] :is(input,select,textarea):disabled{background:var(--k-surface-2)!important;color:var(--k-muted)!important;cursor:not-allowed}
html[data-estate-theme=shared] :is(input,select,textarea)[aria-invalid=true],html[data-estate-theme=shared] :is(input,select,textarea).error{border-color:var(--k-danger)!important}
html[data-estate-theme=shared] select{appearance:none;-webkit-appearance:none;padding-right:38px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23797F7A' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right 13px center!important}
html[data-estate-theme=shared] :is(input[type=search],.search-input,[role=searchbox]){border-radius:var(--k-r-pill)!important;padding-inline:18px}
html[data-estate-theme=shared] label{font-weight:600;font-size:12.5px;color:var(--k-text-2)}
html[data-estate-theme=shared] :is(input[type=checkbox],input[type=radio],input[type=range]){accent-color:var(--k-primary)}
html[data-estate-theme=shared] input[type=checkbox]{width:18px;height:18px;border-radius:5px}
html[data-estate-theme=shared] input[type=radio]{width:18px;height:18px}
html[data-estate-theme=shared] input[type=file]{border:1.5px dashed var(--k-border-strong)!important;border-radius:var(--k-r)!important;background:var(--k-surface-2)!important;padding:14px}

/* ---------- 8. Cards, panels, dialogs, drawers ---------- */
html[data-estate-theme=shared] :is(.rounded-xl,.rounded-2xl):is(.bg-white,.border):not(button):not(input):not(select):not(textarea):not(.es-preserve-document *){border-color:var(--k-border)}
html[data-estate-theme=shared] :is(.es-settings-card,.pipeline-card,.project-card,.property-card,.office-card,.card,.panel,.kpi,.stat-card,.crm-card,.dash-card,.widget){background:var(--k-surface)!important;border:1px solid var(--k-border)!important;border-radius:var(--k-r)!important;box-shadow:var(--k-shadow-sm)!important;color:var(--k-text)}
html[data-estate-theme=shared] :is(.es-settings-card,.pipeline-card,.project-card,.property-card,.office-card,.card,.crm-card,.dash-card):hover{border-color:var(--k-border-strong)!important}
html[data-estate-theme=shared] :is(dialog,.product-dialog,.es-transfer-dialog,.modal,[role=dialog]):not(.es-preserve-document){background:var(--k-surface)!important;color:var(--k-text)!important;border:1px solid var(--k-border)!important;border-radius:var(--k-r-lg)!important;box-shadow:var(--k-shadow-lg)!important}
html[data-estate-theme=shared] dialog::backdrop{background:color-mix(in srgb,var(--k-chrome) 62%,transparent);backdrop-filter:blur(4px)}
html[data-estate-theme=shared] .shadow-sm{box-shadow:var(--k-shadow-sm)!important}
html[data-estate-theme=shared] :is(.shadow-md,.shadow-lg,.shadow-xl,.shadow-2xl){box-shadow:var(--k-shadow)!important}

/* ---------- 9. Tabs and pills (kit: filled active tab, muted siblings) ---------- */
html[data-estate-theme=shared] :is(.function-tab,.cal-tabs button,[role=tab],.tab,.submodule-tab,.sub-tab){border-radius:var(--k-r-pill);border:1px solid var(--k-border);background:var(--k-surface);color:var(--k-text-2);font-weight:600;font-size:13px;padding:7px 16px;transition:background-color .15s,color .15s,border-color .15s}
html[data-estate-theme=shared] :is(.function-tab,.cal-tabs button,[role=tab],.tab,.submodule-tab,.sub-tab):hover{background:var(--k-primary-soft)!important;color:var(--k-primary-text)!important;border-color:var(--k-primary)!important}
html[data-estate-theme=shared] :is(.function-tab[aria-current=page],.cal-tabs [aria-pressed=true],[role=tab][aria-selected=true],.tab.active,.tab.is-active,.submodule-tab.active,.sub-tab.active){background:var(--k-primary)!important;color:#fff!important;border-color:var(--k-primary)!important}
html[data-estate-theme=shared] .function-glyph{background:var(--k-primary-soft)!important;color:var(--k-primary-text)!important;border-radius:var(--k-r-sm)}
html[data-estate-theme=shared] .function-tab[aria-current=page] .function-glyph{background:rgba(255,255,255,.2)!important;color:#fff!important}

/* ---------- 10. Tables and data lists ---------- */
html[data-estate-theme=shared] table:not(.es-preserve-document *):not(.a4 *):not(#paperSheet *):not(#printRoot *):not(#sheet *){border-collapse:separate;border-spacing:0;width:100%;font-size:13.5px;font-variant-numeric:tabular-nums}
html[data-estate-theme=shared] :is(th):not(.a4 *):not(#paperSheet *):not(#printRoot *):not(#sheet *){background:var(--k-surface-2)!important;color:var(--k-muted)!important;font-weight:700;font-size:12px;letter-spacing:.02em;text-align:left;padding:11px 14px;border-bottom:1px solid var(--k-border)!important;position:sticky;top:0}
html[data-estate-theme=shared] td:not(.a4 *):not(#paperSheet *):not(#printRoot *):not(#sheet *){padding:12px 14px;border-bottom:1px solid var(--k-border)!important;color:var(--k-text)}
html[data-estate-theme=shared] tbody tr:hover td:not(.a4 *):not(#paperSheet *):not(#sheet *){background:var(--k-primary-soft)}
html[data-estate-theme=shared] tbody tr:last-child td{border-bottom:0!important}

/* ---------- 11. Badges, chips, alerts, tooltips, progress ---------- */
html[data-estate-theme=shared] :is(.badge,.chip,.pill,.tag,.es-settings-chip,.status){display:inline-flex;align-items:center;gap:6px;padding:3px 11px;border-radius:var(--k-r-pill);background:var(--k-primary-soft)!important;color:var(--k-primary-text)!important;font-weight:700;font-size:12px;line-height:1.5;border:0}
html[data-estate-theme=shared] :is(.alert,.notice,.toast,#toast,.es-toast,[role=alert],[role=status]):not(.sr-only){border-radius:var(--k-r-sm);border:1px solid var(--k-border);background:var(--k-surface);color:var(--k-text);box-shadow:var(--k-shadow);font-weight:600}
html[data-estate-theme=shared] :is(.alert-success,.toast-success,.notice-success){background:var(--k-accent)!important;color:var(--k-on-accent)!important;border-color:var(--k-accent)!important}
html[data-estate-theme=shared] :is(.alert-warning,.toast-warning,.notice-warning,.alert-error,.toast-error){background:var(--k-primary)!important;color:#fff!important;border-color:var(--k-primary)!important}
html[data-estate-theme=shared] :is(progress,.progress){accent-color:var(--k-primary)}
html[data-estate-theme=shared] :is(.progress,.progress-track,.es-progress){background:var(--k-track)!important;border-radius:var(--k-r-pill);overflow:hidden}
html[data-estate-theme=shared] :is(.progress-bar,.progress>span,.es-progress>span){background:var(--k-primary)!important;border-radius:var(--k-r-pill)}

/* Toggle switch component (add class .es-switch to a checkbox for the kit toggle) */
html[data-estate-theme=shared] input.es-switch{appearance:none;-webkit-appearance:none;width:46px;height:26px;border-radius:99px;background:var(--k-track);border:0!important;position:relative;cursor:pointer;transition:background-color .2s;min-height:0!important;padding:0!important}
html[data-estate-theme=shared] input.es-switch::after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.3);transition:transform .2s}
html[data-estate-theme=shared] input.es-switch:checked{background:var(--k-primary)}
html[data-estate-theme=shared] input.es-switch:checked::after{transform:translateX(20px)}

/* ---------- 12. Theme toggle, floating AI launcher, avatars ---------- */
.es-theme-toggle{border-radius:var(--k-r-pill)!important;border:1.5px solid var(--k-border)!important;background:var(--k-surface)!important;color:var(--k-text)!important;font-family:var(--k-font)!important;font-weight:700!important}
.es-theme-toggle:hover{border-color:var(--k-primary)!important;background:var(--k-primary-soft)!important;color:var(--k-primary-text)!important}
html[data-estate-theme=shared] #es-ai-panel{background:var(--k-surface)!important;color:var(--k-text)!important;border:1px solid var(--k-border)!important;border-radius:var(--k-r-lg)!important;box-shadow:var(--k-shadow-lg)!important}
html[data-estate-theme=shared] #es-ai-launch{background:var(--k-surface)!important;border:2px solid var(--k-primary)!important;box-shadow:0 8px 24px color-mix(in srgb,var(--k-primary) 35%,transparent)!important}
html[data-estate-theme=shared] :is(.avatar,.es-avatar,.user-avatar){border-radius:50%;background:var(--k-accent);color:var(--k-on-accent);font-weight:700}

/* ---------- 13. Public home page ---------- */
html[data-estate-theme=shared] :is(.site-header,header.site-header){background:color-mix(in srgb,var(--k-bg) 86%,transparent)!important;backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid var(--k-border)!important}
html[data-estate-theme=shared] :is(.hero,.home-hero,section.hero){background:radial-gradient(1100px 420px at 85% -10%,color-mix(in srgb,var(--k-primary-fill) 16%,transparent),transparent 60%),var(--k-bg)!important}
html[data-estate-theme=shared] :is(.site-footer,footer.site-footer){background:var(--k-chrome)!important;color:var(--k-chrome-text)!important}

/* ---------- 14. Responsive proportions ---------- */
@media (max-width:1023px){
  html[data-estate-theme=shared] #main-content{padding-inline:12px!important}
  html[data-estate-theme=shared] body{font-size:14.5px}
}
@media (max-width:640px){
  html[data-estate-theme=shared] :is(input,select,textarea){font-size:16px!important}
  html[data-estate-theme=shared] :is(.es-btn,.btn,button.bg-brand-600){min-height:44px}
}
@media (min-width:1700px){html[data-estate-theme=shared] #main-content{max-width:1640px!important}}


/* =====================================================================
   LAYOUT V2 - restructured app shell (sidebar, header, stage, overview, login)
   Selectors use the shell's existing ids/classes; no script depends on this layer.
   ===================================================================== */
html[data-estate-theme=shared] #product-shell{--nav-width:264px;background:var(--k-bg)!important;gap:0;grid-template-rows:72px minmax(0,1fr)!important}
html[data-estate-theme=shared] #product-shell.is-collapsed{--nav-width:72px}

/* --- Header: slim command bar with breadcrumb, wide search pill and round actions --- */
html[data-estate-theme=shared] #product-header{height:72px;padding:0 clamp(14px,2.2vw,32px)!important;gap:16px;display:flex;align-items:center;background:transparent!important;border:0!important;backdrop-filter:none}
html[data-estate-theme=shared] #product-header .header-path{display:flex;align-items:center;gap:10px;flex:1 1 auto;min-width:0;font-size:13px;color:var(--k-muted)}
html[data-estate-theme=shared] #product-header .header-path strong{margin-left:0;font-size:clamp(17px,1.1rem + .3vw,21px);font-weight:800;letter-spacing:-.025em;color:var(--k-text)}
html[data-estate-theme=shared] #product-header .header-path>span:first-child{display:none}
html[data-estate-theme=shared] #product-header .header-tools{display:flex;align-items:center;gap:10px;margin-left:auto}
html[data-estate-theme=shared] #product-header .command-trigger{width:clamp(220px,32vw,440px);height:44px;border:1.5px solid var(--k-border);border-radius:99px;background:var(--k-surface);color:var(--k-muted);padding:0 8px 0 16px;font-size:13.5px;font-weight:500;transition:border-color .15s,box-shadow .15s}
html[data-estate-theme=shared] #product-header .command-trigger:hover{border-color:var(--k-primary);box-shadow:0 0 0 4px color-mix(in srgb,var(--k-focus) 16%,transparent)}
html[data-estate-theme=shared] #product-header .command-trigger .es-icon{color:var(--k-primary-text);width:18px;height:18px}
html[data-estate-theme=shared] #product-header .command-trigger kbd{display:inline-block!important;margin-left:auto;padding:4px 9px;border-radius:99px;background:var(--k-surface-2);color:var(--k-muted);font:600 11px/1 var(--k-font)}
html[data-estate-theme=shared] #product-header .shell-icon{width:44px;height:44px;border-radius:50%;border:1.5px solid var(--k-border);background:var(--k-surface);color:var(--k-text-2);transition:border-color .15s,color .15s,background-color .15s}
html[data-estate-theme=shared] #product-header .shell-icon:hover{border-color:var(--k-primary);color:var(--k-primary-text);background:var(--k-primary-soft)}
html[data-estate-theme=shared] .bell-count{background:var(--k-primary)!important;color:#fff!important;border:2px solid var(--k-bg);font-weight:800}
@media (max-width:1023px){
  html[data-estate-theme=shared] #product-shell{grid-template-rows:64px minmax(0,1fr)!important}
  html[data-estate-theme=shared] #product-header{height:64px}
  html[data-estate-theme=shared] #product-header .command-trigger{width:44px;padding:0;justify-content:center}
  html[data-estate-theme=shared] #product-header .command-trigger>span,html[data-estate-theme=shared] #product-header .command-trigger kbd{display:none!important}
}

/* --- Stage: centered reading column, comfortable gutters --- */
html[data-estate-theme=shared] #content-stage{background:transparent}
html[data-estate-theme=shared] #workspace-overview,html[data-estate-theme=shared] #office-page{width:100%;max-width:1320px;margin-inline:auto;padding:8px clamp(16px,3.2vw,48px) 48px!important}
html[data-estate-theme=shared] .page-intro{align-items:flex-end;margin-bottom:24px}
html[data-estate-theme=shared] .page-intro h1{font-size:clamp(28px,1.5rem + 1.6vw,42px);letter-spacing:-.035em;font-weight:800;line-height:1.1;margin:6px 0 10px}
html[data-estate-theme=shared] .page-intro p{font-size:14.5px;line-height:1.65;color:var(--k-muted);max-width:60ch}
html[data-estate-theme=shared] .es-overline{font-size:12.5px;font-weight:700;letter-spacing:.01em;text-transform:none;color:var(--k-primary-text)}
html[data-estate-theme=shared] .date-chip{border:1.5px solid var(--k-border);background:var(--k-surface);color:var(--k-text-2);border-radius:99px;padding:9px 16px;font-size:12.5px;font-weight:600}

/* --- Function rail: scrolling pill strip under the header --- */
html[data-estate-theme=shared] #product-shell #workspace-function-rail{background:transparent!important;border:0!important;border-bottom:1px solid var(--k-border)!important;border-radius:0!important;padding:6px clamp(14px,2.2vw,32px)!important;min-height:0}
html[data-estate-theme=shared] #product-shell #workspace-function-rail .function-tabs{display:flex;gap:8px;overflow-x:auto;scrollbar-width:thin;padding:4px 0 6px;min-height:0}
html[data-estate-theme=shared] #product-shell #workspace-function-rail .function-tab{flex:0 0 auto;min-height:42px!important;padding:5px 16px 5px 6px!important;gap:10px!important;border-radius:99px!important;font-size:13px!important;font-weight:600;white-space:nowrap}

/* --- Overview: hero banner + responsive workspace cards --- */
html[data-estate-theme=shared] .overview-banner{position:relative;overflow:hidden;isolation:isolate;border-radius:24px;padding:clamp(22px,3vw,36px) clamp(22px,3.4vw,44px);margin-bottom:28px;color:var(--k-chrome-text);background:linear-gradient(135deg,var(--k-chrome) 0%,var(--k-chrome-2) 100%)!important;border:1px solid color-mix(in srgb,var(--k-chrome-text) 10%,transparent)}
html[data-estate-theme=shared] .overview-banner::before{content:"";position:absolute;inset:-40% -10% auto auto;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--k-primary-fill) 55%,transparent),transparent 65%);z-index:-1}
html[data-estate-theme=shared] .overview-banner h2{font-size:clamp(20px,1.1rem + .9vw,28px);font-weight:800;letter-spacing:-.03em;color:var(--k-chrome-text)}
html[data-estate-theme=shared] .overview-banner p{font-size:14px;color:var(--k-chrome-muted);max-width:56ch}
html[data-estate-theme=shared] .overview-banner .es-overline{color:var(--k-accent-light)}
html[data-estate-theme=shared] .overview-banner .es-btn{background:var(--k-primary);border-color:var(--k-primary);color:#fff;white-space:nowrap}
html[data-estate-theme=shared] #workspace-overview .suite-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,290px),1fr))!important;gap:18px}
html[data-estate-theme=shared] #workspace-overview .suite-card{padding:24px!important;border:1px solid var(--k-border);border-radius:20px;background:var(--k-surface);color:var(--k-text);box-shadow:var(--k-shadow-sm);transition:border-color .18s,box-shadow .18s,transform .18s}
html[data-estate-theme=shared] #workspace-overview .suite-card:hover{border-color:var(--k-primary);box-shadow:var(--k-shadow);transform:translateY(-2px)}
html[data-estate-theme=shared] .card-icon{width:52px;height:52px;border-radius:16px;margin-bottom:22px;background:var(--k-primary-soft);color:var(--k-primary-text)}
html[data-estate-theme=shared] .suite-card h2{font-size:18px;font-weight:800;letter-spacing:-.02em;color:var(--k-text);margin-bottom:8px}
html[data-estate-theme=shared] .suite-card p{font-size:13.5px;line-height:1.6;color:var(--k-muted)}
html[data-estate-theme=shared] .card-foot{border-top:1px solid var(--k-border);padding-top:16px;margin-top:20px;font-size:13px;font-weight:700;color:var(--k-primary-text);align-items:center}
html[data-estate-theme=shared] .suite-card:hover .card-icon{background:var(--k-primary);color:#fff}
html[data-estate-theme=shared] .overview-footer{font-size:12.5px;color:var(--k-muted);align-items:center}
html[data-estate-theme=shared] .overview-footer a{color:var(--k-primary-text);font-weight:700;text-decoration:none}
html[data-estate-theme=shared] .office-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:16px}

/* --- Login: split screen, story panel + access cards --- */
html[data-estate-theme=shared] .login-grid{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);background:var(--k-bg)!important}
html[data-estate-theme=shared] .login-story{position:relative;overflow:hidden;isolation:isolate;background:linear-gradient(160deg,var(--k-chrome),var(--k-chrome-2))!important;color:var(--k-chrome-text)}
html[data-estate-theme=shared] .login-story::after{content:"";position:absolute;right:-18%;bottom:-22%;width:620px;height:620px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--k-primary-fill) 50%,transparent),transparent 65%);z-index:-1}
html[data-estate-theme=shared] .login-story h1{font-size:clamp(38px,2rem + 3vw,68px);letter-spacing:-.04em;font-weight:800;line-height:1.04;color:var(--k-chrome-text)}
html[data-estate-theme=shared] .login-story p{color:var(--k-chrome-muted);font-size:15.5px;line-height:1.7}
html[data-estate-theme=shared] .login-story .es-overline{color:var(--k-accent-light)!important}
html[data-estate-theme=shared] .login-story footer{letter-spacing:.04em;color:var(--k-chrome-muted)}
html[data-estate-theme=shared] .login-access{max-width:620px;width:100%;justify-self:center}
html[data-estate-theme=shared] .login-access h2{font-size:clamp(28px,1.4rem + 1.2vw,38px);font-weight:800;letter-spacing:-.035em}
html[data-estate-theme=shared] .login-access p{font-size:14.5px;color:var(--k-muted)}
html[data-estate-theme=shared] .login-choice{padding:18px 20px;border:1.5px solid var(--k-border);border-radius:18px;background:var(--k-surface);color:var(--k-text);transition:border-color .15s,box-shadow .15s,transform .15s}
html[data-estate-theme=shared] .login-choice:hover{border-color:var(--k-primary);box-shadow:var(--k-shadow);transform:translateY(-1px)}
html[data-estate-theme=shared] .login-choice b{font-size:15px;font-weight:800;color:var(--k-text)}
html[data-estate-theme=shared] .login-choice small{font-size:12.5px;color:var(--k-muted)}
@media (max-width:860px){html[data-estate-theme=shared] .login-grid{grid-template-columns:1fr}html[data-estate-theme=shared] .login-story{min-height:46vh}}

/* --- Leads workspace (legacy view inside the shell): clearer two-pane proportions --- */
html[data-estate-theme=shared] #controls-bar{border-radius:20px!important;padding:12px!important;background:var(--k-surface)!important;border:1px solid var(--k-border)!important;box-shadow:var(--k-shadow-sm)}
html[data-estate-theme=shared] #view-leads{gap:20px}
html[data-estate-theme=shared] #lead-list-container>*{border-radius:16px}
html[data-estate-theme=shared] #detail-panel{border-radius:20px;background:var(--k-surface)!important;border:1px solid var(--k-border)!important}


/* =====================================================================
   ACCOUNTING MODULE LAYOUT - header, ledger-group sidebar, view panels, tables, KPIs, modals
   Scoped to the module; printed reports (.pr-page) and voucher engines are untouched.
   ===================================================================== */
html[data-estate-module=accounting] body{background:var(--k-bg)!important;font-family:var(--k-font)!important}
html[data-estate-module=accounting] body>header{min-height:68px!important;padding:10px clamp(14px,2vw,28px)!important;background:var(--k-surface)!important;border-bottom:1px solid var(--k-border)!important;box-shadow:none!important;gap:16px}
html[data-estate-module=accounting] body>header h1{font-size:18px!important;font-weight:800!important;letter-spacing:-.025em;color:var(--k-text)!important}
html[data-estate-module=accounting] body>header h1+p{font-size:12px!important;color:var(--k-muted)!important}
html[data-estate-module=accounting] body>header>div:first-of-type>div:first-child{background:var(--k-primary)!important;color:#fff!important;border-radius:14px!important;padding:9px 14px!important;font-size:14px!important;font-weight:800;letter-spacing:-.01em}
html[data-estate-module=accounting] body>header>div:first-of-type>div:first-child *{color:#fff!important}
html[data-estate-module=accounting] body>header .text-amber-300,html[data-estate-module=accounting] body>header .hotkey-underline{color:var(--k-primary-text)!important}
html[data-estate-module=accounting] body>header select,html[data-estate-module=accounting] #companySelector{background:var(--k-surface)!important;color:var(--k-text)!important;border:1.5px solid var(--k-border)!important;border-radius:99px!important;padding:8px 16px!important;font-size:13px!important;font-weight:700}
html[data-estate-module=accounting] body>header button:not(.mobile-menu-btn){background:var(--k-surface)!important;color:var(--k-text-2)!important;border:1.5px solid var(--k-border)!important;border-radius:99px!important;min-height:40px;padding-inline:14px!important;font-weight:700}
html[data-estate-module=accounting] body>header button:not(.mobile-menu-btn):hover{border-color:var(--k-primary)!important;color:var(--k-primary-text)!important;background:var(--k-primary-soft)!important}
html[data-estate-module=accounting] body>header button[onclick*=stopAccounting]{background:color-mix(in srgb,var(--k-danger) 12%,transparent)!important;color:var(--k-danger)!important;border-color:color-mix(in srgb,var(--k-danger) 40%,transparent)!important}
html[data-estate-module=accounting] #appModeBadge{background:var(--k-primary-soft)!important;color:var(--k-primary-text)!important;border-radius:99px!important;padding:3px 10px!important;font:700 11px/1.5 var(--k-font)!important}

/* sidebar */
html[data-estate-module=accounting] #appSidebar{width:296px!important;background:var(--k-surface)!important;color:var(--k-text-2)!important;border-right:1px solid var(--k-border)!important}
html[data-estate-module=accounting] #appSidebar nav{padding:14px 12px!important}
html[data-estate-module=accounting] #appSidebar nav>div:first-child{font-size:12px!important;letter-spacing:.01em!important;text-transform:none!important;color:var(--k-muted)!important;font-weight:700}
html[data-estate-module=accounting] #appSidebar nav>.gw-grp>summary,html[data-estate-module=accounting] body #appSidebar nav>.gw-grp>summary{background:transparent!important;color:var(--k-muted)!important;font-size:12px!important;font-weight:700!important;letter-spacing:.01em!important;padding:12px 10px 6px!important}
html[data-estate-module=accounting] body #appSidebar .gw-leaf,html[data-estate-module=accounting] body #appSidebar .gw-grp .gw-grp>summary{min-height:42px;padding:8px 12px!important;border-radius:12px!important;color:var(--k-text-2)!important;font-size:13.5px!important;font-weight:600;gap:11px}
html[data-estate-module=accounting] body #appSidebar .gw-leaf:hover,html[data-estate-module=accounting] body #appSidebar .gw-grp .gw-grp>summary:hover{background:var(--k-surface-2)!important;color:var(--k-text)!important}
html[data-estate-module=accounting] body #appSidebar .gw-leaf.acc-active,html[data-estate-module=accounting] body #appSidebar .gw-grp .gw-grp>summary.acc-active{background:var(--k-primary-soft)!important;color:var(--k-primary-text)!important;font-weight:800!important;position:relative;box-shadow:none!important}
html[data-estate-module=accounting] body #appSidebar .gw-leaf.acc-active::before{content:"";position:absolute;left:-12px;top:9px;bottom:9px;width:4px;border-radius:0 4px 4px 0;background:var(--k-primary)}
html[data-estate-module=accounting] body #appSidebar .gw-leaf .acc-icon,html[data-estate-module=accounting] body #appSidebar .gw-grp .gw-grp>summary .acc-icon{color:var(--k-muted)!important;width:20px;height:20px}
html[data-estate-module=accounting] body #appSidebar .gw-leaf.acc-active .acc-icon{color:var(--k-primary-text)!important}
html[data-estate-module=accounting] body #appSidebar .gw-sub{margin-left:20px!important;padding-left:8px!important;border-left:1.5px solid var(--k-border)!important}
html[data-estate-module=accounting] body #appSidebar .gw-leaf .float-right{background:var(--k-surface-2)!important;color:var(--k-muted)!important;border-radius:6px;font-weight:700}
html[data-estate-module=accounting] body #appSidebar #recentTxnBox{background:var(--k-surface-2)!important;border:1px solid var(--k-border)!important;border-radius:16px!important}

/* main area and view panels */
html[data-estate-module=accounting] main{background:var(--k-bg)!important;padding:clamp(14px,2vw,28px)!important}
html[data-estate-module=accounting] .view-panel{max-width:1480px;width:100%;margin-inline:auto;gap:18px}
html[data-estate-module=accounting] .view-panel>div:first-child{background:var(--k-surface)!important;border:1px solid var(--k-border)!important;border-radius:18px!important;padding:16px 20px!important;box-shadow:var(--k-shadow-sm)!important}
html[data-estate-module=accounting] .view-panel h2{font-size:clamp(20px,1.1rem + .6vw,26px)!important;font-weight:800!important;letter-spacing:-.03em!important;color:var(--k-text)!important;display:flex;align-items:center;gap:12px}
html[data-estate-module=accounting] .view-panel h2 i{background:var(--k-primary-soft)!important;color:var(--k-primary-text)!important;width:40px;height:40px;border-radius:12px}
html[data-estate-module=accounting] .view-panel h2+p{color:var(--k-muted)!important;font-size:13.5px}
html[data-estate-module=accounting] .view-panel .bg-white,html[data-estate-module=accounting] .gw-card{background:var(--k-surface)!important;border:1px solid var(--k-border)!important;border-radius:18px!important;box-shadow:var(--k-shadow-sm)!important}
html[data-estate-module=accounting] .gw-card{padding:20px!important}
html[data-estate-module=accounting] .gw-card h4{color:var(--k-text)!important;font-size:15px!important;font-weight:800;letter-spacing:-.015em}
html[data-estate-module=accounting] .gw-link{border-radius:12px!important;padding:10px 12px!important;color:var(--k-text-2)}
html[data-estate-module=accounting] .gw-link:hover{background:var(--k-primary-soft)!important;color:var(--k-primary-text)!important}
html[data-estate-module=accounting] .view-panel button{border-radius:var(--k-r-sm)!important;font-weight:700}
html[data-estate-module=accounting] .view-panel button.bg-brand-700,html[data-estate-module=accounting] .view-panel button.bg-brand-800,html[data-estate-module=accounting] .view-panel button.bg-brand-600{background:var(--k-primary)!important;color:#fff!important}
html[data-estate-module=accounting] .view-panel button.bg-brand-700:hover,html[data-estate-module=accounting] .view-panel button.bg-brand-800:hover{background:var(--k-primary-hover)!important}

/* KPIs */
html[data-estate-module=accounting] .gw-kpi{background:var(--k-surface)!important;border:1px solid var(--k-border)!important;border-radius:18px!important;padding:18px 20px!important;box-shadow:var(--k-shadow-sm)}
html[data-estate-module=accounting] .gw-kpi b{font-family:var(--k-font)!important;font-variant-numeric:tabular-nums;font-size:clamp(20px,1.1rem + .8vw,28px)!important;font-weight:800;letter-spacing:-.03em;color:var(--k-text)!important;margin-bottom:4px}
html[data-estate-module=accounting] .gw-kpi span{font-size:12.5px!important;text-transform:none!important;font-weight:600!important;color:var(--k-muted)!important}

/* tables */
html[data-estate-module=accounting] .view-panel table,html[data-estate-module=accounting] .gw-t{font-size:13.5px!important;font-variant-numeric:tabular-nums;border-collapse:separate;border-spacing:0}
html[data-estate-module=accounting] .view-panel table thead,html[data-estate-module=accounting] .gw-t th,html[data-estate-module=accounting] .view-panel table th{background:var(--k-surface-2)!important}
html[data-estate-module=accounting] .view-panel table th,html[data-estate-module=accounting] .gw-t th{padding:12px 14px!important;font-size:12px!important;letter-spacing:.01em!important;text-transform:none!important;font-weight:700!important;color:var(--k-muted)!important;border-bottom:1px solid var(--k-border)!important}
html[data-estate-module=accounting] .view-panel table td,html[data-estate-module=accounting] .gw-t td{padding:12px 14px!important;border-color:var(--k-border)!important;color:var(--k-text)}
html[data-estate-module=accounting] .view-panel table tbody tr:hover,html[data-estate-module=accounting] .gw-t tbody tr:hover{background:var(--k-primary-soft)!important}
html[data-estate-module=accounting] .gw-t tfoot td{background:var(--k-surface-2)!important;border-top:1.5px solid var(--k-border-strong)!important;font-weight:800}
html[data-estate-module=accounting] .gw-t .r,html[data-estate-module=accounting] .view-panel table td.text-right{font-family:var(--k-font);font-variant-numeric:tabular-nums}
html[data-estate-module=accounting] .view-panel .es-tw,html[data-estate-module=accounting] .view-panel .overflow-x-auto,html[data-estate-module=accounting] .view-panel .overflow-auto{border-radius:16px;border:1px solid var(--k-border);background:var(--k-surface)}

/* modals, toast */
html[data-estate-module=accounting] #voucherModal>div,html[data-estate-module=accounting] .fixed.inset-0>div[class*=max-w]{background:var(--k-surface)!important;color:var(--k-text)!important;border:1px solid var(--k-border)!important;border-radius:22px!important;box-shadow:var(--k-shadow-lg)!important}
html[data-estate-module=accounting] .fixed.inset-0.bg-black\/50,html[data-estate-module=accounting] .fixed.inset-0[class*=bg-black]{backdrop-filter:blur(4px)}
html[data-estate-module=accounting] #toastMessage{background:var(--k-accent)!important;color:var(--k-on-accent)!important;border:0!important;border-radius:16px!important;box-shadow:var(--k-shadow-lg)!important;font-weight:700}
html[data-estate-module=accounting] #toastMessage *{color:inherit!important}
@media (max-width:1023px){html[data-estate-module=accounting] #appSidebar{width:min(320px,88vw)!important}html[data-estate-module=accounting] body>header{min-height:60px!important}}


/* =====================================================================
   SITE MANAGEMENT MODULE LAYOUT
   ===================================================================== */
html[data-estate-module=site] body{background:var(--k-bg)!important;color:var(--k-text)!important;font-family:var(--k-font)!important;font-size:14px}
html[data-estate-module=site] header{height:72px!important;padding:10px clamp(14px,2vw,28px)!important;background:var(--k-surface)!important;border-bottom:1px solid var(--k-border)!important}
html[data-estate-module=site] .brand-mark{background:var(--k-primary)!important;color:#fff!important;border-radius:12px!important;width:40px;height:40px;box-shadow:none!important}
html[data-estate-module=site] .brand strong{font-size:17px!important;font-weight:800!important;letter-spacing:-.025em;color:var(--k-text)}
html[data-estate-module=site] .brand small{color:var(--k-muted)!important;font-size:12px}
html[data-estate-module=site] .workspace label{font-size:12px;font-weight:700;color:var(--k-muted)!important}
html[data-estate-module=site] .workspace select{border-radius:99px!important;padding:8px 14px!important;font-weight:700;font-size:13px}
html[data-estate-module=site] .user-avatar{background:var(--k-accent)!important;color:var(--k-on-accent)!important;width:38px;height:38px;font-size:12px}
html[data-estate-module=site] .identity{color:var(--k-text)}html[data-estate-module=site] #sync{color:var(--k-success)!important}
html[data-estate-module=site] .layout{grid-template-columns:264px minmax(0,1fr)!important;gap:0}
html[data-estate-module=site] main{padding:clamp(16px,2.4vw,32px)!important;max-width:1560px;width:100%}
html[data-estate-module=site] .heading h1{font-size:clamp(24px,1.3rem + 1vw,34px)!important;font-weight:800;letter-spacing:-.035em;line-height:1.12;color:var(--k-text)}
html[data-estate-module=site] .heading p{color:var(--k-muted)!important;font-size:14px}
html[data-estate-module=site] .tools{gap:12px;margin-bottom:22px}
html[data-estate-module=site] .tools input{border-radius:99px!important;padding-inline:20px!important;max-width:480px}
html[data-estate-module=site] .tools select{border-radius:99px!important;max-width:200px}
html[data-estate-module=site] :is(.primary,button.primary){background:var(--k-primary)!important;border:1.5px solid var(--k-primary)!important;color:#fff!important;border-radius:var(--k-r-sm)!important;font-weight:700;padding:9px 18px}
html[data-estate-module=site] :is(.primary,button.primary):hover{background:var(--k-primary-hover)!important;border-color:var(--k-primary-hover)!important}
html[data-estate-module=site] :is(button,.button):not(.primary):not(.nav-group button){border-radius:var(--k-r-sm);background:var(--k-surface);border:1.5px solid var(--k-border);color:var(--k-text-2);font-weight:600}
html[data-estate-module=site] :is(button,.button):not(.primary):not(.nav-group button):hover{background:var(--k-primary-soft);border-color:var(--k-primary);color:var(--k-primary-text)}
html[data-estate-module=site] .stats{gap:18px!important;margin-bottom:24px}
html[data-estate-module=site] :is(.stat,.panel,.project-card,.project-workspace){background:var(--k-surface)!important;border:1px solid var(--k-border)!important;border-radius:20px!important;box-shadow:var(--k-shadow-sm)!important;color:var(--k-text)}
html[data-estate-module=site] .stat{padding:22px!important}
html[data-estate-module=site] .stat span{font-size:13px!important;font-weight:600;color:var(--k-muted)!important}
html[data-estate-module=site] .stat strong{font-size:clamp(24px,1.3rem + .9vw,32px)!important;font-weight:800;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
html[data-estate-module=site] .stat small{color:var(--k-muted)!important;font-size:12px!important}
html[data-estate-module=site] .panel{padding:24px!important}
html[data-estate-module=site] .panel-heading h2,html[data-estate-module=site] h2{font-size:18px;font-weight:800;letter-spacing:-.02em;color:var(--k-text)}
html[data-estate-module=site] .eyebrow{font-size:12px!important;letter-spacing:.01em!important;text-transform:none;color:var(--k-primary-text)!important;font-weight:700}
html[data-estate-module=site] .project-tabs button.selected{color:var(--k-primary-text)!important;border-bottom-color:var(--k-primary)!important}
html[data-estate-module=site] .project-subtabs{background:var(--k-surface-2)!important}
html[data-estate-module=site] .project-subtabs button.selected{background:var(--k-primary-soft)!important;color:var(--k-primary-text)!important}
html[data-estate-module=site] .project-name{color:var(--k-primary-text)!important}
html[data-estate-module=site] .table-wrap{border:1px solid var(--k-border);border-radius:16px;background:var(--k-surface)}
html[data-estate-module=site] table{font-size:13.5px!important;font-variant-numeric:tabular-nums;border-collapse:separate!important;border-spacing:0}
html[data-estate-module=site] th{background:var(--k-surface-2)!important;color:var(--k-muted)!important;font-size:12px;font-weight:700!important;padding:12px 14px!important;border-bottom:1px solid var(--k-border)}
html[data-estate-module=site] td{padding:13px 14px!important;border-bottom:1px solid var(--k-border)!important;color:var(--k-text)}
html[data-estate-module=site] tr:hover td{background:var(--k-primary-soft)!important}
html[data-estate-module=site] .badge{border-radius:99px!important;padding:3px 11px!important;background:var(--k-primary-soft)!important;color:var(--k-primary-text)!important;font-weight:700;font-size:12px!important}
html[data-estate-module=site] .badge.green{background:color-mix(in srgb,var(--k-success) 15%,transparent)!important;color:var(--k-success)!important}
html[data-estate-module=site] .badge.red{background:color-mix(in srgb,var(--k-danger) 14%,transparent)!important;color:var(--k-danger)!important}
html[data-estate-module=site] #modal{background:color-mix(in srgb,var(--k-chrome) 62%,transparent)!important;backdrop-filter:blur(4px)}
html[data-estate-module=site] #dialog{background:var(--k-surface)!important;color:var(--k-text);border:1px solid var(--k-border);border-radius:24px!important;box-shadow:var(--k-shadow-lg)!important;padding:28px!important}
html[data-estate-module=site] .dialog-head{border-color:var(--k-border)!important}
html[data-estate-module=site] .form-grid label{font-size:13px;font-weight:700;color:var(--k-text-2)}
html[data-estate-module=site] .toast{background:var(--k-accent)!important;color:var(--k-on-accent)!important;border-radius:16px!important;font-weight:700;box-shadow:var(--k-shadow-lg)!important}
html[data-estate-module=site] .toast.bad{background:var(--k-danger)!important;color:#fff!important}
html[data-estate-module=site] .feed{border-color:var(--k-border)!important}html[data-estate-module=site] .feed span{color:var(--k-muted)!important}
@media (max-width:1023px){html[data-estate-module=site] .layout{grid-template-columns:1fr!important}html[data-estate-module=site] aside{margin:0;border-radius:0}}

/* =====================================================================
   BANK / LOANDESK MODULE LAYOUT
   ===================================================================== */
html[data-estate-module=bank] body{background:var(--k-bg)!important;color:var(--k-text)!important;font-family:var(--k-font)!important}
html[data-estate-module=bank] body>header{background:var(--k-surface)!important;color:var(--k-text)!important;border-bottom:1px solid var(--k-border)!important;box-shadow:none!important}
html[data-estate-module=bank] body>header :is(h1,.text-white){color:var(--k-text)!important;font-weight:800;letter-spacing:-.025em}
html[data-estate-module=bank] body>header :is(p,.text-slate-400){color:var(--k-muted)!important}
html[data-estate-module=bank] body>header .bg-indigo-600{background:var(--k-primary)!important;border-radius:14px!important}
html[data-estate-module=bank] body>header button{background:var(--k-surface)!important;color:var(--k-text-2)!important;border:1.5px solid var(--k-border)!important;border-radius:99px!important;padding:8px 16px!important;font-weight:700}
html[data-estate-module=bank] body>header button:hover{border-color:var(--k-primary)!important;color:var(--k-primary-text)!important;background:var(--k-primary-soft)!important}
html[data-estate-module=bank] body>header .bg-emerald-500\/10{background:color-mix(in srgb,var(--k-success) 14%,transparent)!important;color:var(--k-success)!important;border-color:color-mix(in srgb,var(--k-success) 30%,transparent)!important}
html[data-estate-module=bank] body>header .bg-emerald-500\/10 *{color:inherit}
html[data-estate-module=bank] .bank-local-navigation{background:var(--k-bg)!important;border:0!important;box-shadow:none!important;top:64px}
html[data-estate-module=bank] .bank-local-navigation nav{gap:8px;padding:10px 0}
html[data-estate-module=bank] .bank-local-navigation nav.space-x-8>*+*{margin-left:0!important}
html[data-estate-module=bank] .tab-btn{border-radius:99px!important;border:1.5px solid var(--k-border)!important;background:var(--k-surface);padding:9px 18px!important;margin:0!important;font-size:13.5px!important;font-weight:700;color:var(--k-text-2)!important;transition:background-color .15s,color .15s,border-color .15s}
html[data-estate-module=bank] .tab-btn:hover{border-color:var(--k-primary)!important;color:var(--k-primary-text)!important}
html[data-estate-module=bank] .tab-btn.text-indigo-600,html[data-estate-module=bank] .tab-btn.border-indigo-600{background:var(--k-primary)!important;border-color:var(--k-primary)!important;color:#fff!important}
html[data-estate-module=bank] .tab-btn.text-indigo-600 *{color:#fff!important}
html[data-estate-module=bank] :is(.bg-indigo-600,.bg-indigo-500,.bg-indigo-700){background-color:var(--k-primary)!important;color:#fff}
html[data-estate-module=bank] :is(.hover\:bg-indigo-700:hover,.hover\:bg-indigo-500:hover){background-color:var(--k-primary-hover)!important}
html[data-estate-module=bank] :is(.text-indigo-600,.text-indigo-700,.text-indigo-500){color:var(--k-primary-text)!important}
html[data-estate-module=bank] :is(.bg-indigo-50,.bg-indigo-100){background-color:var(--k-primary-soft)!important}
html[data-estate-module=bank] :is(.border-indigo-200,.border-indigo-300,.border-indigo-500,.border-indigo-600){border-color:var(--k-primary)!important}
html[data-estate-module=bank] :is(.focus\:ring-indigo-500:focus,.focus\:border-indigo-500:focus){--tw-ring-color:color-mix(in srgb,var(--k-focus) 40%,transparent)!important;border-color:var(--k-primary)!important}
html[data-estate-module=bank] main :is(.rounded-lg,.rounded-xl,.rounded-md):is(.bg-white,.border){border-radius:18px}
html[data-estate-module=bank] main .bg-white{background:var(--k-surface)!important;border-color:var(--k-border)!important;box-shadow:var(--k-shadow-sm)!important}
html[data-estate-module=bank] main :is(h2,h3){letter-spacing:-.02em;font-weight:800;color:var(--k-text)}
html[data-estate-module=bank] main table{font-size:13.5px;font-variant-numeric:tabular-nums}
html[data-estate-module=bank] main thead,html[data-estate-module=bank] main th{background:var(--k-surface-2)!important;color:var(--k-muted)!important;font-size:12px!important;text-transform:none!important;letter-spacing:.01em!important;font-weight:700!important}
html[data-estate-module=bank] main th{padding:12px 16px!important;border-bottom:1px solid var(--k-border)!important}
html[data-estate-module=bank] main td{padding:13px 16px!important;border-color:var(--k-border)!important}
html[data-estate-module=bank] main tbody tr:hover{background:var(--k-primary-soft)!important}
html[data-estate-module=bank] main :is(.divide-y>*+*,.divide-slate-100>*+*,.divide-slate-200>*+*){border-color:var(--k-border)!important}
html[data-estate-module=bank] .fixed.inset-0>div{background:var(--k-surface)!important;color:var(--k-text)!important;border:1px solid var(--k-border);border-radius:22px!important;box-shadow:var(--k-shadow-lg)!important}


/* =====================================================================
   DOCVAULT MODULE LAYOUT
   ===================================================================== */
html[data-estate-module=docvault] body{background:var(--k-bg)!important;color:var(--k-text)!important;font-family:var(--k-font)!important}
html[data-estate-module=docvault] body>header{height:68px!important;padding-inline:clamp(14px,2vw,28px)!important;background:var(--k-surface)!important;border-bottom:1px solid var(--k-border)!important}
html[data-estate-module=docvault] body>header .bg-gradient-to-tr{background:var(--k-primary)!important;border-radius:14px!important;width:40px!important;height:40px!important;box-shadow:none!important}
html[data-estate-module=docvault] body>header :is(.text-slate-900,.font-bold.text-base){color:var(--k-text)!important;font-weight:800!important;letter-spacing:-.025em;font-size:17px!important}
html[data-estate-module=docvault] body>header .text-\[10px\]{text-transform:none!important;letter-spacing:.01em!important;font-size:12px!important;color:var(--k-muted)!important;font-weight:600!important}
html[data-estate-module=docvault] #globalSearchInput{height:44px;border-radius:99px!important;background:var(--k-surface-2)!important;border:1.5px solid var(--k-border)!important;font-size:13.5px!important;padding-left:44px!important;padding-right:40px!important}
html[data-estate-module=docvault] #globalSearchInput:focus{border-color:var(--k-primary)!important;background:var(--k-surface)!important}
html[data-estate-module=docvault] body>header .es-search-wrap i{left:18px!important;color:var(--k-primary-text)!important}
html[data-estate-module=docvault] body>header button:not(#btnRegister){width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%!important;border:1.5px solid var(--k-border);background:var(--k-surface);color:var(--k-text-2)!important;padding:0!important}
html[data-estate-module=docvault] body>header button:not(#btnRegister):hover{border-color:var(--k-primary);color:var(--k-primary-text)!important;background:var(--k-primary-soft)!important}
html[data-estate-module=docvault] #btnRegister{background:var(--k-primary)!important;color:#fff!important;border-radius:99px!important;padding:10px 18px!important;font-size:13px!important;font-weight:700!important;box-shadow:none!important}
html[data-estate-module=docvault] #btnRegister:hover{background:var(--k-primary-hover)!important}
html[data-estate-module=docvault] body>header .bg-slate-100{background:var(--k-surface-2)!important;border-radius:99px!important;padding:4px 14px 4px 4px!important}
html[data-estate-module=docvault] #userAvatar{background:var(--k-accent)!important;color:var(--k-on-accent)!important;border-radius:50%!important;width:30px!important;height:30px!important}
html[data-estate-module=docvault] #sidebar{width:280px!important;background:var(--k-surface)!important;border-right:1px solid var(--k-border)!important}
html[data-estate-module=docvault] #sidebar .text-\[11px\]{text-transform:none!important;letter-spacing:.01em!important;font-size:12px!important;font-weight:700!important;color:var(--k-muted)!important}
html[data-estate-module=docvault] #sidebar button{min-height:42px;padding:8px 12px!important;border-radius:12px!important;font-size:13.5px!important;font-weight:600!important;color:var(--k-text-2)!important}
html[data-estate-module=docvault] #sidebar button:hover{background:var(--k-surface-2)!important;color:var(--k-text)!important}
html[data-estate-module=docvault] #sidebar .nav-item.bg-sky-50,html[data-estate-module=docvault] #sidebar .nav-item.text-sky-700{background:var(--k-primary-soft)!important;color:var(--k-primary-text)!important;font-weight:800!important}
html[data-estate-module=docvault] #sidebar :is(.bg-sky-100,.text-sky-700) {color:var(--k-primary-text)!important}
html[data-estate-module=docvault] #sidebar .bg-sky-100{background:var(--k-primary)!important;color:#fff!important}
html[data-estate-module=docvault] main{background:var(--k-bg)!important}
html[data-estate-module=docvault] main>div:first-child{background:var(--k-surface)!important;border-color:var(--k-border)!important;padding:18px clamp(16px,2vw,28px) 12px!important}
html[data-estate-module=docvault] main :is(button,select):not(.p-1\.5){border-radius:var(--k-r-sm)!important}
html[data-estate-module=docvault] main :is(.bg-white).rounded-xl,html[data-estate-module=docvault] main :is(.bg-white).rounded-lg,html[data-estate-module=docvault] main .fp-card,html[data-estate-module=docvault] main [class*="card"]{border-radius:18px}
html[data-estate-module=docvault] main .bg-white{background:var(--k-surface)!important;border-color:var(--k-border)!important}
html[data-estate-module=docvault] main .bg-white:is(.rounded-xl,.rounded-2xl,.rounded-lg):hover{border-color:var(--k-primary)!important;box-shadow:var(--k-shadow)!important}
html[data-estate-module=docvault] .fp-row.active{background:var(--k-primary-soft)!important}
html[data-estate-module=docvault] :is(.bg-sky-50,.bg-sky-100,.bg-indigo-50,.bg-indigo-100){background-color:var(--k-primary-soft)!important}
html[data-estate-module=docvault] :is(.bg-sky-500,.bg-sky-600,.bg-sky-700,.bg-indigo-500,.bg-indigo-600,.bg-indigo-700){background-color:var(--k-primary)!important;color:#fff}
html[data-estate-module=docvault] :is(.hover\:bg-sky-700:hover,.hover\:bg-indigo-700:hover){background-color:var(--k-primary-hover)!important}
html[data-estate-module=docvault] :is(.text-sky-500,.text-sky-600,.text-sky-700,.text-indigo-500,.text-indigo-600,.text-indigo-700){color:var(--k-primary-text)!important}
html[data-estate-module=docvault] :is(.border-sky-200,.border-sky-500,.border-sky-600,.border-indigo-200,.border-indigo-500,.border-indigo-600){border-color:var(--k-primary)!important}
html[data-estate-module=docvault] table{font-size:13.5px;font-variant-numeric:tabular-nums}
html[data-estate-module=docvault] :is(thead,th){background:var(--k-surface-2)!important;color:var(--k-muted)!important;text-transform:none!important;letter-spacing:.01em!important;font-size:12px!important;font-weight:700!important}
html[data-estate-module=docvault] td{border-color:var(--k-border)!important}
html[data-estate-module=docvault] tbody tr:hover{background:var(--k-primary-soft)!important}
html[data-estate-module=docvault] .fixed.inset-0>div{background:var(--k-surface)!important;color:var(--k-text)!important;border:1px solid var(--k-border);border-radius:24px!important;box-shadow:var(--k-shadow-lg)!important}
html[data-estate-module=docvault] :is(#auditDrawer,.fixed.right-0){background:var(--k-surface)!important;border-color:var(--k-border)!important}
@media (max-width:1023px){html[data-estate-module=docvault] #sidebar{width:min(300px,88vw)!important}}

/* =====================================================================
   PATRA MODULE LAYOUT (editor sheet #paperSheet / .a4-sheet is never restyled)
   ===================================================================== */
html[data-estate-module=patra] body{background:var(--k-bg)!important;color:var(--k-text)!important;font-family:var(--k-font)!important}
html[data-estate-module=patra] body>header{height:68px!important;padding-inline:clamp(14px,2vw,28px)!important;background:var(--k-surface)!important;border-bottom:1px solid var(--k-border)!important;backdrop-filter:none}
html[data-estate-module=patra] body>header .bg-gradient-to-tr{background:var(--k-primary)!important;border-radius:14px!important;width:40px!important;height:40px!important;box-shadow:none!important}
html[data-estate-module=patra] body>header :is(.text-white,.font-bold){color:var(--k-text)!important;font-weight:800!important;letter-spacing:-.025em;font-size:17px!important}
html[data-estate-module=patra] body>header .text-indigo-400{color:var(--k-primary-text)!important}
html[data-estate-module=patra] body>header .uppercase{text-transform:none!important;letter-spacing:.01em!important;font-size:12px!important;background:var(--k-primary-soft)!important;color:var(--k-primary-text)!important;border:0!important;font-weight:700!important;padding:3px 11px!important}
html[data-estate-module=patra] #quickPromptInput{height:46px;border-radius:99px!important;background:var(--k-surface-2)!important;color:var(--k-text)!important;border:1.5px solid var(--k-border)!important;font-size:13.5px!important;box-shadow:none!important}
html[data-estate-module=patra] #quickPromptInput:focus{border-color:var(--k-primary)!important;background:var(--k-surface)!important;box-shadow:0 0 0 4px color-mix(in srgb,var(--k-focus) 20%,transparent)!important}
html[data-estate-module=patra] body>header :is(.bg-gradient-to-r,button[onclick^=handleQuickPrompt]){background:var(--k-primary)!important;border-radius:99px!important;padding:8px 18px!important;font-weight:700!important;box-shadow:none!important}
html[data-estate-module=patra] body>header button[onclick*=toggleHistoryDrawer]{background:var(--k-surface)!important;color:var(--k-text-2)!important;border:1.5px solid var(--k-border)!important;border-radius:99px!important;padding:9px 16px!important;font-weight:700!important}
html[data-estate-module=patra] body>header button[onclick*=toggleHistoryDrawer]:hover{border-color:var(--k-primary)!important;color:var(--k-primary-text)!important;background:var(--k-primary-soft)!important}
html[data-estate-module=patra] main>aside{background:var(--k-surface)!important;border-right:1px solid var(--k-border)!important}
html[data-estate-module=patra] main>aside>div:first-child{background:transparent!important;border-color:var(--k-border)!important;padding:12px 16px 0!important;gap:6px!important}
html[data-estate-module=patra] main>aside button[id^=tabBtn]{border-radius:99px!important;border:1.5px solid var(--k-border)!important;padding:8px 16px!important;font-size:13px!important;font-weight:700!important;background:var(--k-surface)!important;color:var(--k-text-2)!important;margin-bottom:10px}
html[data-estate-module=patra] main>aside button[id^=tabBtn].border-indigo-500,html[data-estate-module=patra] main>aside button[id^=tabBtn].text-indigo-400{background:var(--k-primary)!important;border-color:var(--k-primary)!important;color:#fff!important}
html[data-estate-module=patra] #editorContainer{background:var(--k-surface-3)!important}
html[data-estate-module=patra] :is(.bg-indigo-500,.bg-indigo-600,.bg-brand-600,.bg-brand-500):not(#paperSheet *){background-color:var(--k-primary)!important;color:#fff}
html[data-estate-module=patra] :is(.text-indigo-300,.text-indigo-400,.text-indigo-500,.text-indigo-600,.text-brand-500,.text-brand-600):not(#paperSheet *){color:var(--k-primary-text)!important}
html[data-estate-module=patra] :is(.border-indigo-500,.border-indigo-600,.focus\:border-indigo-500:focus):not(#paperSheet *){border-color:var(--k-primary)!important}
html[data-estate-module=patra] :is(.bg-indigo-500\/10,.bg-indigo-500\/20,.bg-indigo-500\/30,.bg-indigo-600\/10,.bg-indigo-600\/20):not(#paperSheet *){background-color:var(--k-primary-soft)!important}
html[data-estate-module=patra] main>aside :is(input,select,textarea){border-radius:var(--k-r-sm)!important}
html[data-estate-module=patra] :is(#historyDrawer,.fixed.right-0):not(#paperSheet *){background:var(--k-surface)!important;border-color:var(--k-border)!important;color:var(--k-text)}
html[data-estate-module=patra] .fixed.inset-0>div:not(#paperSheet *){background:var(--k-surface)!important;color:var(--k-text)!important;border:1px solid var(--k-border);border-radius:24px!important;box-shadow:var(--k-shadow-lg)!important}


/* =====================================================================
   LEGAL MODULE LAYOUT (document pages .a4, .desk and print output are never restyled)
   ===================================================================== */
html[data-estate-module=legal][data-estate-theme=shared]{--bg:var(--k-surface)!important;--panel:var(--k-surface)!important;--page:var(--k-bg)!important;--accent-soft:var(--k-primary-soft)!important;--hover:var(--k-primary-soft)!important;--line2:var(--k-border)!important;--ok:var(--k-success)!important;--warn:var(--k-warning)!important;--bad:var(--k-danger)!important;--okbg:color-mix(in srgb,var(--k-success) 14%,transparent)!important;--warnbg:color-mix(in srgb,var(--k-warning) 16%,transparent)!important;--badbg:color-mix(in srgb,var(--k-danger) 13%,transparent)!important;--g-ws:var(--k-primary)!important;--g-calc:var(--k-accent)!important;--g-draft:var(--k-primary)!important;--g-sys:var(--k-muted)!important;--g-ws-bg:var(--k-primary-soft)!important;--g-calc-bg:var(--k-accent-soft)!important;--g-draft-bg:var(--k-primary-soft)!important;--g-sys-bg:var(--k-surface-2)!important}
html[data-estate-module=legal] body{background:var(--k-bg)!important;font-family:var(--k-font)!important;font-size:14px}
html[data-estate-module=legal] .app{grid-template-columns:264px minmax(0,1fr);background:var(--k-bg)}
html[data-estate-module=legal] .app.col{grid-template-columns:72px minmax(0,1fr)}
html[data-estate-module=legal] .top{height:72px;padding:0 clamp(14px,2.2vw,32px)!important;background:transparent!important;border-bottom:0!important;gap:14px!important}
html[data-estate-module=legal] .top .search{max-width:480px!important}
html[data-estate-module=legal] .top .search input{height:44px!important;border-radius:99px!important;padding-inline:44px 70px!important;background:var(--k-surface)!important}
html[data-estate-module=legal] .view{padding:8px clamp(16px,3vw,44px) 56px!important}
html[data-estate-module=legal] h1{font-size:clamp(26px,1.3rem + 1.2vw,36px)!important;font-weight:800;letter-spacing:-.035em;line-height:1.12}
html[data-estate-module=legal] h2{font-size:17px!important;font-weight:800;letter-spacing:-.02em}
html[data-estate-module=legal] .sub{font-size:14.5px;line-height:1.6;max-width:62ch}
html[data-estate-module=legal] .crumb{font-size:13px!important;font-weight:600}
html[data-estate-module=legal] .btn{min-height:40px;padding:8px 18px!important;border-radius:var(--k-r-sm)!important;border:1.5px solid var(--k-border)!important;background:var(--k-surface)!important;color:var(--k-text-2)!important;font-weight:700}
html[data-estate-module=legal] .btn:hover{border-color:var(--k-primary)!important;color:var(--k-primary-text)!important;background:var(--k-primary-soft)!important}
html[data-estate-module=legal] .btn.primary{background:var(--k-primary)!important;border-color:var(--k-primary)!important;color:#fff!important}
html[data-estate-module=legal] .btn.primary:hover{background:var(--k-primary-hover)!important;border-color:var(--k-primary-hover)!important}
html[data-estate-module=legal] .btn.danger{color:var(--k-danger)!important;border-color:color-mix(in srgb,var(--k-danger) 45%,transparent)!important}
html[data-estate-module=legal] .btn.sm{min-height:32px;padding:4px 14px!important;border-radius:99px!important}
html[data-estate-module=legal] .card,html[data-estate-module=legal] .sec,html[data-estate-module=legal] .tile,html[data-estate-module=legal] .modal,html[data-estate-module=legal] .hero{border:1px solid var(--k-border)!important;border-radius:20px!important;background:var(--k-surface)!important;box-shadow:var(--k-shadow-sm)!important}
html[data-estate-module=legal] .card{padding:20px 22px!important}
html[data-estate-module=legal] .stat b{font-size:clamp(24px,1.3rem + .8vw,32px)!important;font-weight:800;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
html[data-estate-module=legal] .stat span{font-size:13px!important;font-weight:600}
html[data-estate-module=legal] .sec>header{padding:14px 20px!important;font-weight:800;font-size:15px;letter-spacing:-.015em;border-color:var(--k-border)!important}
html[data-estate-module=legal] .sec>div.body{padding:18px 20px!important}
html[data-estate-module=legal] .hero{padding:24px 28px!important;background:linear-gradient(135deg,var(--k-primary-soft),var(--k-surface) 72%)!important}
html[data-estate-module=legal] .hero h2{font-size:clamp(20px,1.1rem + .6vw,26px)!important;letter-spacing:-.03em}
html[data-estate-module=legal] .tile{padding:16px 18px!important;gap:14px!important;transition:border-color .15s,box-shadow .15s,transform .15s}
html[data-estate-module=legal] .tile:hover{border-color:var(--k-primary)!important;box-shadow:var(--k-shadow)!important;transform:translateY(-2px)}
html[data-estate-module=legal] .tile .ic{width:44px!important;height:44px!important;border-radius:14px!important}
html[data-estate-module=legal] .chip,html[data-estate-module=legal] .badge{border-radius:99px!important;padding:3px 11px!important;font-weight:700;font-size:12px!important}
html[data-estate-module=legal] table.dt{font-size:13.5px!important;font-variant-numeric:tabular-nums;border-collapse:separate!important;border-spacing:0}
html[data-estate-module=legal] table.dt th{background:var(--k-surface-2)!important;color:var(--k-muted)!important;font-size:12px!important;font-weight:700!important;padding:12px 14px!important;border-bottom:1px solid var(--k-border)!important}
html[data-estate-module=legal] table.dt td{padding:12px 14px!important;border-bottom:1px solid var(--k-border)!important}
html[data-estate-module=legal] table.dt tr.click:hover td{background:var(--k-primary-soft)!important}
html[data-estate-module=legal] .tw{border:1px solid var(--k-border);border-radius:16px;background:var(--k-surface)}
html[data-estate-module=legal] .steps{gap:6px;flex-wrap:wrap}
html[data-estate-module=legal] .steps button{min-height:38px;padding:6px 16px!important;border-radius:99px!important;border:1.5px solid var(--k-border)!important;background:var(--k-surface)!important;color:var(--k-text-2)!important;font-weight:700!important;font-size:13px!important}
html[data-estate-module=legal] .steps button.on{background:var(--k-primary)!important;border-color:var(--k-primary)!important;color:#fff!important}
html[data-estate-module=legal] .steps button.done{border-color:var(--k-success)!important}
html[data-estate-module=legal] .modal-bg{background:color-mix(in srgb,var(--k-chrome) 62%,transparent)!important;backdrop-filter:blur(4px)}
html[data-estate-module=legal] .modal{padding:26px!important;border-radius:24px!important;box-shadow:var(--k-shadow-lg)!important}
html[data-estate-module=legal] .toast{background:var(--k-accent)!important;color:var(--k-on-accent)!important;border-radius:16px!important;padding:12px 20px!important;font-weight:700;box-shadow:var(--k-shadow-lg)}
html[data-estate-module=legal] .alert{border-radius:14px!important}
html[data-estate-module=legal] .ed .bar{background:var(--k-surface)!important;border-color:var(--k-border)!important}
@media (max-width:1023px){html[data-estate-module=legal] .app{grid-template-columns:1fr}html[data-estate-module=legal] .side{margin:0;border-radius:0}}

/* =====================================================================
   BOND MODULE LAYOUT (only the form column and toolbar; .page-sheet is never restyled)
   ===================================================================== */
html[data-estate-module=bond] body{background:var(--k-bg)!important;font-family:var(--k-font)!important}
html[data-estate-module=bond] .sidebar{width:500px;background:var(--k-surface)!important;border-right:1px solid var(--k-border)!important}
html[data-estate-module=bond] .sidebar-header{padding:20px 22px!important;background:var(--k-chrome)!important;color:var(--k-chrome-text)!important}
html[data-estate-module=bond] .sidebar-header h1{font-size:18px!important;font-weight:800;letter-spacing:-.025em;color:var(--k-chrome-text)}
html[data-estate-module=bond] .sidebar-header p{font-size:12.5px!important;color:var(--k-chrome-muted)!important}
html[data-estate-module=bond] .api-bar{background:var(--k-surface-2)!important;border-color:var(--k-border)!important;padding:14px 22px!important}
html[data-estate-module=bond] .form-container{padding:20px 22px!important;gap:16px!important}
html[data-estate-module=bond] label{text-transform:none!important;letter-spacing:0!important;font-size:12.5px!important;font-weight:700!important;color:var(--k-text-2)!important}
html[data-estate-module=bond] .bond-sample-note{background:var(--k-primary-soft);color:var(--k-primary-text);border-radius:12px;padding:10px 14px;font-size:12.5px;font-weight:600}
html[data-estate-module=bond] .actions{padding:16px 22px!important;background:var(--k-surface-2)!important;border-color:var(--k-border)!important;gap:10px!important}
html[data-estate-module=bond] .btn{border-radius:var(--k-r-sm)!important;min-height:42px;font-weight:700!important}
html[data-estate-module=bond] .btn-primary{background:var(--k-primary)!important;color:#fff!important}
html[data-estate-module=bond] .btn-primary:hover{background:var(--k-primary-hover)!important}
html[data-estate-module=bond] .btn-ai{background:var(--k-accent)!important;color:var(--k-on-accent)!important}
html[data-estate-module=bond] .btn-outline{background:var(--k-surface)!important;color:var(--k-text-2)!important;border:1.5px solid var(--k-border)!important}
html[data-estate-module=bond] .btn-outline:hover{border-color:var(--k-primary)!important;color:var(--k-primary-text)!important;background:var(--k-primary-soft)!important}
html[data-estate-module=bond] .preview-toolbar{background:var(--k-surface)!important;color:var(--k-text)!important;border:1px solid var(--k-border);border-radius:16px!important;padding:12px 20px!important;box-shadow:var(--k-shadow-sm)!important}
html[data-estate-module=bond] .loading-spinner{color:var(--k-primary-text)!important}
@media (max-width:900px){html[data-estate-module=bond] .sidebar{width:100%;min-width:0}}


/* =====================================================================
   SIDEBAR V3 - flush, full-height, calm. One look for the app shell, Legal and Site.
   ===================================================================== */
html[data-estate-theme=shared] #product-sidebar{background:var(--k-surface)!important;color:var(--k-text-2)!important;border-right:1px solid var(--k-border)!important;box-shadow:none!important;border-radius:0!important;margin:0!important;padding:0!important}
html[data-estate-theme=shared] #product-sidebar :is(a,button,span,strong,p,small){color:inherit}
html[data-estate-theme=shared] #product-sidebar .es-wordmark{display:flex;align-items:center;gap:12px;height:72px;padding:0 20px!important;border-bottom:1px solid var(--k-border);text-decoration:none;color:var(--k-text)!important;flex:none}
html[data-estate-theme=shared] #product-sidebar .es-mark{width:38px;height:38px;border-radius:11px;background:transparent!important;display:grid;place-items:center;flex:none;overflow:hidden}
html[data-estate-theme=shared] #product-sidebar .es-mark img{width:100%;height:100%;object-fit:contain}
html[data-estate-theme=shared] #product-sidebar .wordmark-name{font-size:14.5px;font-weight:800;letter-spacing:-.02em;line-height:1.2;color:var(--k-text)!important}
html[data-estate-theme=shared] #product-sidebar .sidebar-scroll{padding:10px 12px 12px!important;display:flex;flex-direction:column;gap:2px}
html[data-estate-theme=shared] #product-sidebar .nav-label{display:block!important;padding:18px 12px 6px;font-size:12px;font-weight:700;letter-spacing:.01em;text-transform:none;color:var(--k-muted)!important}
html[data-estate-theme=shared] #product-sidebar :is(.es-group-label,summary){text-transform:none!important;letter-spacing:.01em!important;font-size:12px!important;font-weight:700!important;color:var(--k-muted)!important;padding:16px 12px 6px!important}
html[data-estate-theme=shared] #product-sidebar :is(nav,.es-nav-section){display:flex;flex-direction:column;gap:2px;margin:0!important}
html[data-estate-theme=shared] #product-shell #product-sidebar .nav-item{position:relative;display:flex;align-items:center;gap:12px;width:100%;min-height:40px;padding:0 12px!important;border:0!important;border-radius:10px!important;background:transparent!important;color:var(--k-text-2)!important;font-size:13.5px;font-weight:600;letter-spacing:-.005em;text-align:left;box-shadow:none!important;transition:background-color .12s,color .12s}
html[data-estate-theme=shared] #product-sidebar .nav-item .es-icon{width:18px!important;height:18px!important;padding:0!important;background:transparent!important;border-radius:0!important;color:var(--k-muted);flex:none;transition:color .12s}
html[data-estate-theme=shared] #product-sidebar .nav-item>span:not(.es-count){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
html[data-estate-theme=shared] #product-shell #product-sidebar .nav-item:hover:not([aria-current=page]){background:var(--k-surface-2)!important;color:var(--k-text)!important}
html[data-estate-theme=shared] #product-sidebar .nav-item:hover:not([aria-current=page]) .es-icon{color:var(--k-text-2)}
html[data-estate-theme=shared] #product-shell #product-sidebar .nav-item[aria-current=page]{background:var(--k-primary-soft)!important;color:var(--k-primary-text)!important;font-weight:700}
html[data-estate-theme=shared] #product-shell #product-sidebar .nav-item[aria-current=page]::before{content:"";position:absolute;left:-12px;top:8px;bottom:8px;width:4px;border-radius:0 4px 4px 0;background:var(--k-primary-fill)}
html[data-estate-theme=shared] #product-sidebar .nav-item[aria-current=page] .es-icon{color:var(--k-primary-text)}
html[data-estate-theme=shared] #product-sidebar .es-count{margin-left:auto;min-width:22px;padding:1px 8px;border-radius:99px;background:var(--k-surface-3)!important;color:var(--k-text-2)!important;font-size:11.5px;font-weight:700;text-align:center}
html[data-estate-theme=shared] #product-sidebar .nav-item[aria-current=page] .es-count{background:var(--k-primary)!important;color:#fff!important}
html[data-estate-theme=shared] #product-sidebar .sidebar-footer{margin:0!important;padding:10px 12px 12px!important;border:0!important;border-top:1px solid var(--k-border)!important;border-radius:0;background:transparent!important;max-height:none!important;display:flex;flex-direction:column;gap:2px;flex:none}
html[data-estate-theme=shared] #product-sidebar .sidebar-footer .nav-item{min-height:38px;font-size:13px}
html[data-estate-theme=shared] #product-sidebar .sidebar-account{padding:6px 12px 8px;font-size:12px;font-weight:600;color:var(--k-muted)!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html[data-estate-theme=shared] #product-sidebar #collapse-nav .es-icon{transform:rotate(180deg)}
html[data-estate-theme=shared] #product-shell.is-collapsed #product-sidebar #collapse-nav .es-icon{transform:none}
html[data-estate-theme=shared] #product-sidebar :focus-visible{outline:2px solid var(--k-focus)!important;outline-offset:-2px!important}
html[data-estate-theme=shared] #product-sidebar .sidebar-scroll::-webkit-scrollbar{width:6px}
/* collapsed rail */
@media (min-width:1024px){
  html[data-estate-theme=shared] #product-shell.is-collapsed #product-sidebar .es-wordmark{justify-content:center;padding:0!important}
  html[data-estate-theme=shared] #product-shell.is-collapsed #product-sidebar :is(.wordmark-name,.nav-label,.sidebar-account,.es-count,.es-group-label,summary){display:none!important}
  html[data-estate-theme=shared] #product-shell.is-collapsed #product-sidebar .nav-item{justify-content:center;padding:0!important}
  html[data-estate-theme=shared] #product-shell.is-collapsed #product-sidebar .nav-item>span:not(.es-count){display:none!important}
  html[data-estate-theme=shared] #product-shell.is-collapsed #product-sidebar .nav-item[aria-current=page]::before{left:-12px}
  html[data-estate-theme=shared] #product-shell.is-collapsed .nav-item:is(:hover,:focus-visible)::after{left:80px;background:var(--k-text);color:var(--k-bg);border:0;border-radius:8px;font-weight:600;box-shadow:var(--k-shadow)}
}
@media (max-width:1023px){
  html[data-estate-theme=shared] #product-shell.menu-open #product-sidebar{box-shadow:var(--k-shadow-lg)!important}
}
/* header row lines up with the sidebar wordmark row */
html[data-estate-theme=shared] #product-header{border-bottom:1px solid var(--k-border)!important;background:var(--k-surface)!important}

/* ---- Legal sidebar ---- */
html[data-estate-module=legal] .side{background:var(--k-surface)!important;border-right:1px solid var(--k-border)!important;margin:0;border-radius:0;box-shadow:none}
html[data-estate-module=legal] .brand{height:72px;padding:0 20px!important;display:flex;flex-direction:column;justify-content:center;border-bottom:1px solid var(--k-border)!important}
html[data-estate-module=legal] .brand b{font-size:16px!important;font-weight:800;letter-spacing:-.02em!important}
html[data-estate-module=legal] .brand small{font-size:12px!important;margin-top:1px}
html[data-estate-module=legal] .nav{padding:10px 12px!important;gap:2px!important}
html[data-estate-module=legal] .nav .grp{text-transform:none!important;letter-spacing:.01em!important;font-size:12px!important;font-weight:700!important;color:var(--k-muted)!important;padding:16px 12px 6px!important}
html[data-estate-module=legal] .nav a{position:relative;min-height:40px;padding:0 12px!important;border-radius:10px!important;gap:12px!important;font-size:13.5px!important;font-weight:600;color:var(--k-text-2)!important}
html[data-estate-module=legal] .nav a:hover{background:var(--k-surface-2)!important;color:var(--k-text)!important}
html[data-estate-module=legal] .nav a .ic{width:20px!important;height:20px!important;border-radius:0!important;background:transparent!important;color:var(--k-muted)!important}
html[data-estate-module=legal] .nav a.on{background:var(--k-primary-soft)!important;color:var(--k-primary-text)!important;font-weight:700;box-shadow:none!important}
html[data-estate-module=legal] .nav a.on::before{content:"";position:absolute;left:-12px;top:8px;bottom:8px;width:4px;border-radius:0 4px 4px 0;background:var(--k-primary-fill)}
html[data-estate-module=legal] .nav a.on .ic{color:var(--k-primary-text)!important}
html[data-estate-module=legal] .nav a .cnt{background:var(--k-surface-3)!important;color:var(--k-text-2)!important;font-weight:700;border-radius:99px;padding:1px 8px}
html[data-estate-module=legal] .nav a.on .cnt{background:var(--k-primary)!important;color:#fff!important}
html[data-estate-module=legal] .sidefoot{border-top:1px solid var(--k-border)!important;padding:12px!important}
html[data-estate-module=legal] .app.col .nav a{justify-content:center!important;padding:0!important}
html[data-estate-module=legal] .app.col .brand{padding:0 8px!important;align-items:center}

/* ---- Site sidebar ---- */
html[data-estate-module=site] aside{margin:0!important;top:72px!important;height:calc(100vh - 72px)!important;border-radius:0!important;background:var(--k-surface)!important;color:var(--k-text-2)!important;border:0!important;border-right:1px solid var(--k-border)!important;box-shadow:none!important;padding:10px 12px!important}
html[data-estate-module=site] .nav-group{margin-bottom:4px}
html[data-estate-module=site] .nav-group small{text-transform:none!important;letter-spacing:.01em!important;font-size:12px!important;font-weight:700;color:var(--k-muted)!important;padding:16px 12px 6px!important}
html[data-estate-module=site] .nav-group button{position:relative;min-height:40px;padding:0 12px!important;border-radius:10px!important;border:0!important;background:transparent!important;color:var(--k-text-2)!important;font-size:13.5px!important;font-weight:600;gap:12px}
html[data-estate-module=site] .nav-group button:hover{background:var(--k-surface-2)!important;color:var(--k-text)!important}
html[data-estate-module=site] .nav-group button.active{background:var(--k-primary-soft)!important;color:var(--k-primary-text)!important;font-weight:700;box-shadow:none!important}
html[data-estate-module=site] .nav-group button.active::before{content:"";position:absolute;left:-12px;top:8px;bottom:8px;width:4px;border-radius:0 4px 4px 0;background:var(--k-primary-fill)}

html[data-estate-theme=shared] #sb{background:var(--k-surface)!important;color:var(--k-text-2)!important;border-right:1px solid var(--k-border)!important}
} /* /@media screen */

/* Paper, preview sheets and print always keep their document styling */
@media print{html[data-estate-theme=shared] body{background:#fff!important;color:#000!important}}
