/* Bangkok Crown Estates v1 — Material (MUI-style) theme layer.
   Load LAST on every page, after the page's own CSS. Light theme is the default;
   [data-theme="dark"] on <html> switches tokens (set by ui/ui-kit.js).
   Document canvases / print geometry are not restyled: only screen UI is targeted. */
@import url('https://fonts.googleapis.com/css2?family=Prompt:wght@300;400;500;600;700&display=swap');

:root{
 --ui-font:'Prompt','Noto Sans Thai',system-ui,sans-serif;
 --ui-primary:#1976d2;--ui-primary-dark:#1565c0;--ui-primary-light:#42a5f5;--ui-on-primary:#fff;
 --ui-primary-soft:rgba(25,118,210,.10);--ui-primary-soft-2:rgba(25,118,210,.18);
 --ui-bg:#f3f6fb;--ui-paper:#fff;--ui-paper-2:#f7f9fc;--ui-paper-3:#eef2f8;
 --ui-text:#16202f;--ui-text-2:#4f5d72;--ui-text-3:#7a879a;
 --ui-divider:#e3e8f0;--ui-outline:#c4cedb;--ui-hover:rgba(25,118,210,.06);
 --ui-success:#2e7d32;--ui-success-soft:#e8f5e9;--ui-error:#d32f2f;--ui-error-soft:#fdecea;
 --ui-warning:#ed6c02;--ui-warning-soft:#fff4e5;--ui-info:#0288d1;--ui-info-soft:#e5f6fd;
 --ui-violet:#6a4bb5;--ui-violet-soft:#f1ecfb;
 --ui-radius:10px;--ui-radius-sm:8px;--ui-radius-lg:16px;
 --ui-shadow-1:0 1px 2px rgba(16,24,40,.06),0 1px 3px rgba(16,24,40,.08);
 --ui-shadow-2:0 2px 4px -1px rgba(16,24,40,.08),0 4px 10px rgba(16,24,40,.08);
 --ui-shadow-8:0 5px 5px -3px rgba(16,24,40,.12),0 8px 18px 1px rgba(16,24,40,.12),0 3px 22px 2px rgba(16,24,40,.08);
 --ui-shadow-24:0 11px 15px -7px rgba(16,24,40,.2),0 24px 38px 3px rgba(16,24,40,.14),0 9px 46px 8px rgba(16,24,40,.12);
 --ui-appbar:linear-gradient(135deg,#1565c0 0%,#1976d2 55%,#1e88e5 100%);--ui-on-appbar:#fff;
 --ui-chevron:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234f5d72' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
 --ui-nav-h:66px;--ui-safe-b:env(safe-area-inset-bottom,0px);
}
html[data-theme="dark"]{
 --ui-primary:#64b5f6;--ui-primary-dark:#42a5f5;--ui-primary-light:#90caf9;--ui-on-primary:#0b1726;
 --ui-primary-soft:rgba(100,181,246,.14);--ui-primary-soft-2:rgba(100,181,246,.24);
 --ui-bg:#0b1220;--ui-paper:#121b2c;--ui-paper-2:#172235;--ui-paper-3:#1d2a41;
 --ui-text:#e7edf6;--ui-text-2:#aab6c8;--ui-text-3:#7f8ca1;
 --ui-divider:#25324a;--ui-outline:#3a4a66;--ui-hover:rgba(100,181,246,.08);
 --ui-success:#66bb6a;--ui-success-soft:rgba(102,187,106,.14);--ui-error:#f47067;--ui-error-soft:rgba(244,112,103,.14);
 --ui-warning:#ffa726;--ui-warning-soft:rgba(255,167,38,.14);--ui-info:#4fc3f7;--ui-info-soft:rgba(79,195,247,.14);
 --ui-violet:#b39ddb;--ui-violet-soft:rgba(179,157,219,.14);
 --ui-shadow-1:0 1px 2px rgba(0,0,0,.4),0 1px 3px rgba(0,0,0,.3);
 --ui-shadow-2:0 2px 6px rgba(0,0,0,.4);
 --ui-shadow-8:0 8px 24px rgba(0,0,0,.5);
 --ui-shadow-24:0 24px 60px rgba(0,0,0,.6);
 --ui-appbar:linear-gradient(135deg,#0f1b30 0%,#13233d 100%);--ui-on-appbar:#e7edf6;
 --ui-chevron:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23aab6c8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
 color-scheme:dark;
}

@media screen{
/* ---------- Base ---------- */
html[data-theme] body{
 --teal:var(--ui-primary);--nav:var(--ui-paper);--ink:var(--ui-text);--muted:var(--ui-text-2);--line:var(--ui-divider);--surface:var(--ui-bg);
 font-family:var(--ui-font);background:var(--ui-bg);color:var(--ui-text);-webkit-font-smoothing:antialiased;
}
html[data-theme] :is(button,input,select,textarea,.button){font-family:var(--ui-font)}
html[data-theme] :is(h1,h2,h3){font-family:var(--ui-font);color:var(--ui-text);letter-spacing:-.01em}
html[data-theme] h1{font-weight:600}
html[data-theme] a{color:var(--ui-primary)}
html[data-theme] ::selection{background:var(--ui-primary-soft-2)}
html[data-theme] *{scrollbar-color:var(--ui-outline) transparent}
html[data-theme] :is(.muted,.help){color:var(--ui-text-2)}
html[data-theme] .bce-readable-workspace :is(.muted,.help,.page-head p,.card-head p,.metric label,.metric small,.pagination,.empty,.plain-row>span,.code-label,.back-link,.task-row small,.fact span,.file-row small,.lookup-results small,.script-list small,.action-box p,.entry-message small,.loading,.login-card p,.mobile-gate p,td small){color:var(--ui-text-2)}
html[data-theme] .bce-readable-workspace :is(.eyebrow,.document-tools label,.field>span,.csv-map label){color:var(--ui-text-2)}
html[data-theme] .eyebrow{color:var(--ui-primary);letter-spacing:.08em;text-transform:uppercase;font-weight:600}

/* ---------- Buttons (MUI Button) ---------- */
html[data-theme] :is(button,a.button):not(.ui-option):not(.table-link){
 border-radius:var(--ui-radius-sm);border:1px solid var(--ui-outline);background:var(--ui-paper);color:var(--ui-text);
 font-weight:500;letter-spacing:.01em;transition:background .18s,box-shadow .18s,border-color .18s,color .18s,transform .08s;
}
html[data-theme] :is(button,a.button):not(.ui-option):not(.table-link):hover{background:var(--ui-hover);border-color:var(--ui-primary);color:var(--ui-primary);text-decoration:none}
html[data-theme] :is(button,a.button):not(:disabled):active{transform:scale(.98)}
html[data-theme] :is(.primary,button.primary,a.primary,a.button.primary){
 background:var(--ui-primary);border-color:var(--ui-primary);color:var(--ui-on-primary);box-shadow:0 3px 1px -2px rgba(25,118,210,.2),0 2px 2px rgba(25,118,210,.14),0 1px 5px rgba(25,118,210,.12);
}
html[data-theme] :is(.primary,button.primary,a.primary):hover{background:var(--ui-primary-dark);border-color:var(--ui-primary-dark);color:var(--ui-on-primary);box-shadow:var(--ui-shadow-2)}
html[data-theme] :is(button,a.button).danger{color:var(--ui-error);border-color:color-mix(in srgb,var(--ui-error) 45%,transparent);background:var(--ui-paper)}
html[data-theme] :is(button,a.button).danger:hover{background:var(--ui-error-soft);border-color:var(--ui-error);color:var(--ui-error)}
html[data-theme] button:disabled{opacity:.42;box-shadow:none}
html[data-theme] :is(button,a,input,select,textarea):focus-visible{outline:2px solid var(--ui-primary-light);outline-offset:2px}
.ui-ripple-host{position:relative;overflow:hidden}
.ui-ripple{position:absolute;border-radius:50%;background:currentColor;opacity:.22;transform:scale(0);animation:ui-ripple .5s ease-out forwards;pointer-events:none}
@keyframes ui-ripple{to{transform:scale(2.6);opacity:0}}

/* ---------- Text fields (MUI Outlined) ---------- */
html[data-theme] :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):not([type=color]),select,textarea){
 background-color:var(--ui-paper);color:var(--ui-text);border:1px solid var(--ui-outline);border-radius:var(--ui-radius-sm);
 transition:border-color .16s,box-shadow .16s,background-color .16s;
}
html[data-theme] :is(input:not([type=checkbox]):not([type=radio]),select,textarea):hover:not(:disabled){border-color:var(--ui-text-2)}
html[data-theme] :is(input:not([type=checkbox]):not([type=radio]),select,textarea):focus{outline:0;border-color:var(--ui-primary);box-shadow:inset 0 0 0 1px var(--ui-primary)}
html[data-theme] :is(input,textarea)::placeholder{color:var(--ui-text-3)}
html[data-theme] :is(input,select,textarea):disabled{background-color:var(--ui-paper-2);color:var(--ui-text-3)}
html[data-theme] :is(input[type=checkbox],input[type=radio]){accent-color:var(--ui-primary)}
html[data-theme] .field>span{font-weight:500}
html[data-theme] :is(.top-search,.filters .search,.search) input{border:0!important;box-shadow:none!important;background:transparent!important}

/* ---------- Select (styled trigger; menu drawn by ui-kit.js) ---------- */
html[data-theme] select:not([multiple]):not([size]){
 -webkit-appearance:none;appearance:none;cursor:pointer;
 background-image:var(--ui-chevron);background-repeat:no-repeat;background-position:right 10px center;background-size:18px;padding-right:36px!important;
 text-overflow:ellipsis;
}
html.ui-ready[data-theme] select:not([multiple]):not([size]):not([data-native]):not(.ui-native){pointer-events:none}
html[data-theme] select.ui-open{border-color:var(--ui-primary);box-shadow:inset 0 0 0 1px var(--ui-primary)}
html[data-theme] .status-input{border-radius:16px!important;border-color:transparent!important;background-color:var(--ui-primary-soft)!important;color:var(--ui-primary)!important;font-weight:500}

.ui-menu{position:fixed;z-index:2147483000;background:var(--ui-paper);color:var(--ui-text);border:1px solid var(--ui-divider);border-radius:12px;box-shadow:var(--ui-shadow-8);
 display:flex;flex-direction:column;overflow:hidden;font-family:var(--ui-font);font-size:14px;animation:ui-pop .14s ease-out;transform-origin:top center}
.ui-menu.up{transform-origin:bottom center}
.ui-menu.leaving{opacity:0;transition:opacity .12s}
.ui-menu-list{overflow:auto;padding:6px;overscroll-behavior:contain}
.ui-option{display:flex;align-items:center;gap:10px;justify-content:space-between;padding:9px 12px;border-radius:8px;cursor:pointer;line-height:1.45;min-height:40px;user-select:none}
.ui-option span{flex:1;min-width:0;overflow-wrap:anywhere}
.ui-option svg{width:18px;height:18px;flex:none;color:var(--ui-primary)}
.ui-option.active{background:var(--ui-hover)}
.ui-option.selected{background:var(--ui-primary-soft);color:var(--ui-primary);font-weight:500}
.ui-option.selected.active{background:var(--ui-primary-soft-2)}
.ui-option[aria-disabled]{opacity:.45;cursor:default}
.ui-menu-group{padding:10px 12px 4px;font-size:11px;font-weight:600;letter-spacing:.06em;color:var(--ui-text-3);text-transform:uppercase}
.ui-menu-empty{padding:14px;margin:0;color:var(--ui-text-3);text-align:center}
.ui-menu-search{display:flex;align-items:center;gap:8px;margin:8px 8px 2px;padding:0 10px;border:1px solid var(--ui-outline);border-radius:8px;background:var(--ui-paper-2)}
.ui-menu-search svg{width:16px;height:16px;color:var(--ui-text-3);flex:none}
.ui-menu-search input{border:0!important;background:transparent!important;box-shadow:none!important;min-height:38px!important;padding:6px 0!important;font:inherit;color:inherit;width:100%;outline:0}
.ui-menu-sheet{left:0!important;right:0;bottom:0!important;top:auto!important;max-height:72dvh!important;border-radius:20px 20px 0 0;border:0;padding-bottom:var(--ui-safe-b);animation:ui-sheet .22s cubic-bezier(.2,.8,.2,1)}
.ui-menu-sheet.leaving{transform:translateY(100%);transition:transform .15s ease-in}
.ui-menu-sheet .ui-option{min-height:48px;font-size:15px;padding:12px 14px}
.ui-menu-head{padding:8px 16px 6px;text-align:center}
.ui-menu-head i{display:block;width:40px;height:4px;border-radius:4px;background:var(--ui-outline);margin:0 auto 10px}
.ui-menu-head b{font-weight:600;font-size:15px}
.ui-menu-backdrop{position:fixed;inset:0;z-index:2147482999;background:rgba(9,16,30,.45);animation:ui-fade .2s}
.ui-menu-backdrop.leaving{opacity:0;transition:opacity .15s}
@keyframes ui-pop{from{opacity:0;transform:scale(.96) translateY(-4px)}}
@keyframes ui-sheet{from{transform:translateY(100%)}}
@keyframes ui-fade{from{opacity:0}}

/* ---------- Surfaces (MUI Paper / Card) ---------- */
html[data-theme] :is(.card,.metric,.action-box,.login-card,.photo-tile,.document-host,.mobile-gate>div){
 background:var(--ui-paper);border:1px solid var(--ui-divider);border-radius:var(--ui-radius-lg);box-shadow:var(--ui-shadow-1);color:var(--ui-text);
}
html[data-theme] .card-head{border-color:var(--ui-divider)}
html[data-theme] .metric{transition:box-shadow .2s,transform .2s}
html[data-theme] .metric:hover{box-shadow:var(--ui-shadow-2);transform:translateY(-1px)}
html[data-theme] .metric .icon{background:var(--ui-primary-soft);color:var(--ui-primary);border-radius:12px;width:40px;height:40px;padding:9px}
html[data-theme] .metric strong{font-weight:600;color:var(--ui-text)}
html[data-theme] .lookup-results{background:var(--ui-paper);border-color:var(--ui-divider);border-radius:12px;box-shadow:var(--ui-shadow-8)}
html[data-theme] .lookup-results button{background:transparent;border:0;border-radius:8px}
html[data-theme] :is(.notice){background:var(--ui-info-soft);color:var(--ui-text);border:0;border-left:4px solid var(--ui-info)}
html[data-theme] .notice.warning{background:var(--ui-warning-soft);border-left-color:var(--ui-warning)}
html[data-theme] .upload-zone{background:var(--ui-paper-2);border:2px dashed var(--ui-outline);border-radius:12px;color:var(--ui-text-2)}
html[data-theme] .upload-zone:hover{border-color:var(--ui-primary);background:var(--ui-primary-soft);color:var(--ui-primary)}
html[data-theme] :is(.split-amounts,.thumb,.gallery-main){background:var(--ui-paper-2)}
html[data-theme] .script-list button.active{background:var(--ui-primary-soft);border-left-color:var(--ui-primary)}
html[data-theme] .progress{background:var(--ui-paper-3)}
html[data-theme] .spinner{border-color:var(--ui-primary-soft-2);border-top-color:var(--ui-primary)}
html[data-theme] .note-paper{background:var(--ui-paper);border-radius:12px}

/* ---------- Tabs (MUI Tabs) ---------- */
html[data-theme] .tabs{background:var(--ui-paper);border-color:var(--ui-divider)}
html[data-theme] .tabs :is(button,a){background:transparent!important;border:0!important;border-radius:0!important;color:var(--ui-text-2)!important;font-weight:500;transform:none!important}
html[data-theme] .tabs :is(button,a):hover{color:var(--ui-primary)!important;background:var(--ui-hover)!important}
html[data-theme] .tabs .active{color:var(--ui-primary)!important;box-shadow:inset 0 -3px var(--ui-primary)!important;font-weight:600}

/* ---------- Tables ---------- */
html[data-theme] th,html[data-theme] .bce-readable-workspace th{background:var(--ui-paper-2);color:var(--ui-text-2);border-color:var(--ui-divider);font-weight:600}
html[data-theme] td{border-color:var(--ui-divider)}
html[data-theme] tbody tr{transition:background .12s}
html[data-theme] tbody tr:hover{background:var(--ui-hover)}
html[data-theme] .table-link{color:var(--ui-text)}
html[data-theme] .table-link:hover{color:var(--ui-primary)}

/* ---------- Chips (badges) ---------- */
html[data-theme] .badge,html[data-theme] .bce-readable-workspace .badge{border-radius:16px;padding:3px 10px;font-weight:500;background:var(--ui-paper-3);color:var(--ui-text-2)}
html[data-theme] .bce-readable-workspace .badge:is(.available,.paid,.active,.done),html[data-theme] .badge:is(.available,.paid,.active,.done){background:var(--ui-success-soft);color:var(--ui-success)}
html[data-theme] .bce-readable-workspace .badge:is(.reserved,.pending,.review),html[data-theme] .badge:is(.reserved,.pending,.review){background:var(--ui-warning-soft);color:var(--ui-warning)}
html[data-theme] .bce-readable-workspace .badge:is(.tenanted,.signed),html[data-theme] .badge:is(.tenanted,.signed){background:var(--ui-info-soft);color:var(--ui-info)}
html[data-theme] .bce-readable-workspace .badge:is(.sold,.ended),html[data-theme] .badge:is(.sold,.ended){background:var(--ui-violet-soft);color:var(--ui-violet)}
html[data-theme] .bce-readable-workspace .badge:is(.overdue,.failed,.cancelled),html[data-theme] .badge:is(.overdue,.failed,.cancelled){background:var(--ui-error-soft);color:var(--ui-error)}

/* ---------- Dialogs (MUI Dialog) ---------- */
html[data-theme] dialog:not(.ui-modal){background:var(--ui-paper);color:var(--ui-text);border-radius:20px;box-shadow:var(--ui-shadow-24);border:0}
html[data-theme] dialog::backdrop{background:rgba(9,16,30,.5);backdrop-filter:blur(3px)}
html[data-theme] dialog[open]:not(.ui-modal){animation:ui-dialog .2s cubic-bezier(.2,.8,.2,1)}
@keyframes ui-dialog{from{opacity:0;transform:translateY(12px) scale(.98)}}
html[data-theme] .dialog-head{border-color:var(--ui-divider)}
html[data-theme] .dialog-head h2{font-size:18px;font-weight:600}
html[data-theme] .dialog-head button{border:0!important;background:transparent;border-radius:50%!important;width:38px;height:38px;padding:0}
html[data-theme] .dialog-foot{background:var(--ui-paper-2);border-color:var(--ui-divider)}
html[data-theme] .dialog-foot #form-error{color:var(--ui-error)}

/* Confirm / alert / prompt modal (ui-kit.js) */
.ui-modal{border:0;padding:0;background:transparent;max-width:min(440px,calc(100vw - 32px));width:100%;overflow:visible;color:var(--ui-text);font-family:var(--ui-font)}
.ui-modal::backdrop{background:rgba(9,16,30,.55);backdrop-filter:blur(3px);animation:ui-fade .2s}
.ui-modal[open]{animation:ui-dialog .22s cubic-bezier(.2,.8,.2,1)}
.ui-modal.leaving{opacity:0;transform:scale(.97);transition:opacity .14s,transform .14s}
.ui-modal-card{background:var(--ui-paper);border-radius:20px;box-shadow:var(--ui-shadow-24);padding:28px 24px 20px;text-align:center;display:block;max-height:none}
.ui-modal-icon{width:56px;height:56px;margin:0 auto 14px;border-radius:50%;display:grid;place-items:center;background:var(--ui-primary-soft);color:var(--ui-primary)}
.ui-modal-icon svg{width:28px;height:28px}
.ui-modal-danger .ui-modal-icon{background:var(--ui-error-soft);color:var(--ui-error)}
.ui-modal-warning .ui-modal-icon{background:var(--ui-warning-soft);color:var(--ui-warning)}
.ui-modal-success .ui-modal-icon{background:var(--ui-success-soft);color:var(--ui-success)}
.ui-modal-title{font-size:19px;font-weight:600;margin:0 0 8px;line-height:1.45;color:var(--ui-text)}
.ui-modal-message{margin:0;color:var(--ui-text-2);font-size:14.5px;line-height:1.75;white-space:pre-line;overflow-wrap:anywhere}
.ui-modal-field{display:block;text-align:left;margin-top:16px;font-size:13px;color:var(--ui-text-2)}
.ui-modal-field span:empty{display:none}
.ui-modal-field :is(input,textarea){width:100%;margin-top:6px;font:inherit;font-size:15px;padding:11px 14px;min-height:46px;color:var(--ui-text);background:var(--ui-paper);border:1px solid var(--ui-outline);border-radius:10px;box-sizing:border-box}
.ui-modal-field :is(input,textarea):focus{outline:0;border-color:var(--ui-primary);box-shadow:inset 0 0 0 1px var(--ui-primary)}
.ui-modal-error{display:block;color:var(--ui-error);margin-top:6px}
.ui-modal-actions{display:flex;gap:10px;justify-content:center;margin-top:24px}
.ui-modal-actions .ui-btn{flex:1;max-width:190px}
.ui-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 18px;border-radius:10px!important;font:inherit;font-weight:500;font-size:15px;cursor:pointer;border:1px solid transparent!important;transition:background .16s,box-shadow .16s}
.ui-btn-primary{background:var(--ui-primary)!important;color:var(--ui-on-primary)!important;box-shadow:var(--ui-shadow-2)}
.ui-btn-primary:hover{background:var(--ui-primary-dark)!important}
.ui-btn-danger{background:var(--ui-error)!important;color:#fff!important;box-shadow:var(--ui-shadow-2)}
.ui-btn-danger:hover{filter:brightness(.92)}
.ui-btn-text{background:var(--ui-paper-3)!important;color:var(--ui-text)!important}
.ui-btn-text:hover{background:var(--ui-hover)!important;color:var(--ui-primary)!important}

/* ---------- Toasts (MUI Snackbar + Alert) ---------- */
.ui-toasts{position:fixed;z-index:2147483600;top:16px;right:16px;display:flex;flex-direction:column;gap:10px;width:min(380px,calc(100vw - 32px));pointer-events:none;font-family:var(--ui-font)}
.ui-toast{--c:var(--ui-info);--s:var(--ui-info-soft);pointer-events:auto;position:relative;overflow:hidden;display:flex;align-items:flex-start;gap:12px;padding:13px 12px 15px 14px;border-radius:14px;
 background:var(--ui-paper);color:var(--ui-text);box-shadow:var(--ui-shadow-8);border:1px solid var(--ui-divider);border-left:5px solid var(--c);animation:ui-toast-in .28s cubic-bezier(.2,.8,.2,1)}
.ui-toast-success{--c:var(--ui-success);--s:var(--ui-success-soft)}
.ui-toast-error{--c:var(--ui-error);--s:var(--ui-error-soft)}
.ui-toast-warning{--c:var(--ui-warning);--s:var(--ui-warning-soft)}
.ui-toast-icon{flex:none;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--s);color:var(--c)}
.ui-toast-icon svg{width:19px;height:19px}
.ui-toast-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px;font-size:13.5px;line-height:1.6}
.ui-toast-text b{font-weight:600;color:var(--c);font-size:13px}
.ui-toast-text span{overflow-wrap:anywhere;white-space:pre-line}
.ui-toast-close{flex:none;border:0!important;background:transparent!important;color:var(--ui-text-3)!important;width:28px;height:28px;min-height:0!important;padding:4px!important;border-radius:50%!important;cursor:pointer;display:grid;place-items:center}
.ui-toast-close:hover{background:var(--ui-hover)!important;color:var(--ui-text)!important}
.ui-toast-close svg{width:16px;height:16px}
.ui-toast-bar{position:absolute;left:0;bottom:0;height:3px;width:100%;background:var(--c);opacity:.5;transform-origin:left;animation:ui-toast-bar var(--ui-toast-ms,4s) linear forwards}
.ui-toast.paused .ui-toast-bar{animation-play-state:paused}
.ui-toast.leaving{opacity:0;transform:translateX(24px);transition:opacity .2s,transform .2s}
@keyframes ui-toast-in{from{opacity:0;transform:translateX(30px)}}
@keyframes ui-toast-bar{to{transform:scaleX(0)}}
/* Legacy toast nodes are replaced by ui-kit toasts. */
#crm-toast,#toast,#lf-toast{display:none!important}

/* ---------- Theme switch ---------- */
[data-theme-toggle]{display:inline-grid!important;place-items:center;width:40px;height:40px;min-height:0!important;padding:0!important;border-radius:50%!important;flex:none}
[data-theme-toggle] svg{width:20px;height:20px}
.ui-theme-fab{position:fixed;z-index:2147483500;left:16px;bottom:calc(16px + var(--ui-safe-b));width:46px!important;height:46px!important;background:var(--ui-paper)!important;color:var(--ui-primary)!important;border:1px solid var(--ui-divider)!important;box-shadow:var(--ui-shadow-8)}
@media print{.ui-theme-fab,.ui-toasts{display:none!important}}

/* ---------- Beat the !important rules in workspace-readability.css ---------- */
html[data-theme] :is(.bce-readable-workspace,.bce-readable-editor,.bce-readable-aux) :is(button.primary,.button.primary,.rd-footer .primary):not(:disabled){background:var(--ui-primary)!important;border-color:var(--ui-primary)!important;color:var(--ui-on-primary)!important}
html[data-theme] :is(.bce-readable-workspace,.bce-readable-editor,.bce-readable-aux) :is(button.primary,.button.primary,.rd-footer .primary):not(:disabled):hover{background:var(--ui-primary-dark)!important;border-color:var(--ui-primary-dark)!important}
html[data-theme] :is(.bce-readable-workspace,.bce-readable-editor,.bce-readable-aux) :is(button,input,textarea,select):disabled{color:var(--ui-text-3)!important;background-color:var(--ui-paper-2)!important;border-color:var(--ui-divider)!important}
html[data-theme] :is(.bce-readable-workspace,.bce-readable-editor,.bce-readable-aux) :is(input,textarea)::placeholder{color:var(--ui-text-3)!important}
html[data-theme] :is(.bce-readable-workspace,.bce-readable-editor,.bce-readable-aux) :is(input,select,textarea):focus-visible{outline:0!important;border-color:var(--ui-primary)!important}
html[data-theme="dark"] .bce-readable-editor :is(.small,.rd-lookup small,.rd-options small,.rd-template-choice small,.rd-progress p,.rd-live-preview-head p,.rd-live-caution,.rd-exact-empty,.rd-exact-page p){color:var(--ui-text-2)!important}
html[data-theme="dark"] .bce-readable-editor :is(.rd-section h3,.rd-live-preview-head b){color:var(--ui-text)!important}
html[data-theme="dark"] .bce-readable-editor .rd-section label{color:var(--ui-text-2)!important}
html[data-theme="dark"] .bce-readable-editor .rd-section :is(input:not([type=checkbox]):not([type=radio]):not([type=file]),select,textarea){color:var(--ui-text)!important;background-color:var(--ui-paper)!important;border-color:var(--ui-outline)!important}
html[data-theme="dark"] .bce-readable-workspace .calendar-event:is(.done,.completed,.cancelled){background:var(--ui-paper-3)!important;color:var(--ui-text-2)!important}

/* ---------- Dark-mode coverage for page-specific light surfaces ---------- */
html[data-theme="dark"] :is(.calendar-weekdays,.calendar-agenda,.cm-panel,.cm-result,.cm-map-column,.cm-layer-controls,.cm-legend,.cm-line-legend,.cm-detail,.cm-placement,.document-flow .document-steps,.document-flow .document-flow-foot,#dashboard-quick-note .card-head,.dialog-foot){background:var(--ui-paper-2)!important;color:var(--ui-text)}
html[data-theme="dark"] :is(.calendar-day:hover,.agenda-event:hover,.cm-result:hover,.cm-result.selected,.cm-panel-tabs button.active){background:var(--ui-hover)!important}
html[data-theme="dark"] .calendar-day.outside-month{background:var(--ui-bg)!important}
html[data-theme="dark"] .calendar-day.is-selected{background:var(--ui-primary-soft)!important;box-shadow:inset 0 0 0 2px var(--ui-primary)!important}
html[data-theme="dark"] .calendar-event{background:var(--ui-primary-soft-2)!important;color:var(--ui-text)!important}
html[data-theme="dark"] .cm-loading{background:rgba(11,18,32,.88)!important;color:var(--ui-text-2)}
html[data-theme="dark"] .qn-body :is(input,textarea){background:var(--ui-paper)!important;color:var(--ui-text)!important;border-color:var(--ui-outline)!important}
html[data-theme="dark"] :is(.cm-label){background:var(--ui-paper)!important;color:var(--ui-text)!important}
/* Leaflet map tiles stay readable */
html[data-theme="dark"] .leaflet-container{background:#1b2537}
html[data-theme="dark"] .leaflet-bar a{background:var(--ui-paper);color:var(--ui-text);border-color:var(--ui-divider)}
}
